Browse Source

Add enable_target_feature to ABM

gingerBill 3 years ago
parent
commit
4e49d24df9
1 changed files with 4 additions and 4 deletions
  1. 4 4
      core/simd/x86/abm.odin

+ 4 - 4
core/simd/x86/abm.odin

@@ -3,21 +3,21 @@ package simd_x86
 
 
 import "core:intrinsics"
 import "core:intrinsics"
 
 
-@(require_results)
+@(require_results, enable_target_feature="lzcnt")
 _lzcnt_u32 :: #force_inline proc "c" (x: u32) -> u32 {
 _lzcnt_u32 :: #force_inline proc "c" (x: u32) -> u32 {
 	return intrinsics.count_leading_zeros(x)
 	return intrinsics.count_leading_zeros(x)
 }
 }
-@(require_results)
+@(require_results, enable_target_feature="popcnt")
 _popcnt32 :: #force_inline proc "c" (x: u32) -> i32 {
 _popcnt32 :: #force_inline proc "c" (x: u32) -> i32 {
 	return i32(intrinsics.count_ones(x))
 	return i32(intrinsics.count_ones(x))
 }
 }
 
 
 when ODIN_ARCH == .amd64 {
 when ODIN_ARCH == .amd64 {
-	@(require_results)
+	@(require_results, enable_target_feature="lzcnt")
 	_lzcnt_u64 :: #force_inline proc "c" (x: u64) -> u64 {
 	_lzcnt_u64 :: #force_inline proc "c" (x: u64) -> u64 {
 		return intrinsics.count_leading_zeros(x)
 		return intrinsics.count_leading_zeros(x)
 	}
 	}
-	@(require_results)
+	@(require_results, enable_target_feature="popcnt")
 	_popcnt64 :: #force_inline proc "c" (x: u64) -> i32 {
 	_popcnt64 :: #force_inline proc "c" (x: u64) -> i32 {
 		return i32(intrinsics.count_ones(x))
 		return i32(intrinsics.count_ones(x))
 	}
 	}