aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-05-30 16:08:06 +0100
committergingerBill <bill@gingerbill.org>2022-05-30 16:08:06 +0100
commit4e49d24df980e3f4b853d62af01ed68cb2c622d2 (patch)
treee4eeda2071ad3bc584d2a53cb493bf97111e2ce8 /core
parent68222cb8ab1dc4a8581677cfeb872690d885f3ea (diff)
Add enable_target_feature to ABM
Diffstat (limited to 'core')
-rw-r--r--core/simd/x86/abm.odin8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/simd/x86/abm.odin b/core/simd/x86/abm.odin
index 5d7549ab3..79b806242 100644
--- a/core/simd/x86/abm.odin
+++ b/core/simd/x86/abm.odin
@@ -3,21 +3,21 @@ package simd_x86
import "core:intrinsics"
-@(require_results)
+@(require_results, enable_target_feature="lzcnt")
_lzcnt_u32 :: #force_inline proc "c" (x: u32) -> u32 {
return intrinsics.count_leading_zeros(x)
}
-@(require_results)
+@(require_results, enable_target_feature="popcnt")
_popcnt32 :: #force_inline proc "c" (x: u32) -> i32 {
return i32(intrinsics.count_ones(x))
}
when ODIN_ARCH == .amd64 {
- @(require_results)
+ @(require_results, enable_target_feature="lzcnt")
_lzcnt_u64 :: #force_inline proc "c" (x: u64) -> u64 {
return intrinsics.count_leading_zeros(x)
}
- @(require_results)
+ @(require_results, enable_target_feature="popcnt")
_popcnt64 :: #force_inline proc "c" (x: u64) -> i32 {
return i32(intrinsics.count_ones(x))
}