From 1271b7e2814a93bca4a1e1350932b1a1df5a5653 Mon Sep 17 00:00:00 2001 From: usamoi Date: Sun, 26 Jan 2025 20:56:22 +0800 Subject: [PATCH] mark POPCNT intrinsics as safe Mark all POPCNT intrinsics as safe. `_mm_popcnt_u32` and `_mm_popcnt_u64` are missing. --- library/stdarch/crates/core_arch/src/x86/abm.rs | 2 +- library/stdarch/crates/core_arch/src/x86_64/abm.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/library/stdarch/crates/core_arch/src/x86/abm.rs b/library/stdarch/crates/core_arch/src/x86/abm.rs index 5519c83e1291..8c2eccd7b36c 100644 --- a/library/stdarch/crates/core_arch/src/x86/abm.rs +++ b/library/stdarch/crates/core_arch/src/x86/abm.rs @@ -40,7 +40,7 @@ pub unsafe fn _lzcnt_u32(x: u32) -> u32 { #[target_feature(enable = "popcnt")] #[cfg_attr(test, assert_instr(popcnt))] #[stable(feature = "simd_x86", since = "1.27.0")] -pub unsafe fn _popcnt32(x: i32) -> i32 { +pub fn _popcnt32(x: i32) -> i32 { x.count_ones() as i32 } diff --git a/library/stdarch/crates/core_arch/src/x86_64/abm.rs b/library/stdarch/crates/core_arch/src/x86_64/abm.rs index 764e903ed95d..dd41e7e32069 100644 --- a/library/stdarch/crates/core_arch/src/x86_64/abm.rs +++ b/library/stdarch/crates/core_arch/src/x86_64/abm.rs @@ -40,7 +40,7 @@ pub unsafe fn _lzcnt_u64(x: u64) -> u64 { #[target_feature(enable = "popcnt")] #[cfg_attr(test, assert_instr(popcnt))] #[stable(feature = "simd_x86", since = "1.27.0")] -pub unsafe fn _popcnt64(x: i64) -> i32 { +pub fn _popcnt64(x: i64) -> i32 { x.count_ones() as i32 }