From 628831b7e17f879c6e79a3020e81bd704955463d Mon Sep 17 00:00:00 2001 From: Tobias Decking Date: Sun, 16 Jun 2024 14:48:30 +0200 Subject: [PATCH] Fix SSE sqrt --- library/stdarch/crates/core_arch/src/x86/sse.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/stdarch/crates/core_arch/src/x86/sse.rs b/library/stdarch/crates/core_arch/src/x86/sse.rs index abe52aafe31d..bee8291dcc22 100644 --- a/library/stdarch/crates/core_arch/src/x86/sse.rs +++ b/library/stdarch/crates/core_arch/src/x86/sse.rs @@ -3,6 +3,7 @@ use crate::{ core_arch::{simd::*, x86::*}, intrinsics::simd::*, + intrinsics::sqrtf32, mem, ptr, }; @@ -110,7 +111,7 @@ pub unsafe fn _mm_div_ps(a: __m128, b: __m128) -> __m128 { #[cfg_attr(test, assert_instr(sqrtss))] #[stable(feature = "simd_x86", since = "1.27.0")] pub unsafe fn _mm_sqrt_ss(a: __m128) -> __m128 { - simd_insert!(a, 0, _mm_cvtss_f32(a).sqrt()) + simd_insert!(a, 0, sqrtf32(_mm_cvtss_f32(a))) } /// Returns the square root of packed single-precision (32-bit) floating-point