From 3e95b6133a1969bf41a291bda9605ba1d0610bc8 Mon Sep 17 00:00:00 2001 From: Tobias Decking Date: Sun, 16 Jun 2024 14:49:43 +0200 Subject: [PATCH] Fix SSE2 sqrt --- library/stdarch/crates/core_arch/src/x86/sse2.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/stdarch/crates/core_arch/src/x86/sse2.rs b/library/stdarch/crates/core_arch/src/x86/sse2.rs index 3b3eab4b232e..70750e371de5 100644 --- a/library/stdarch/crates/core_arch/src/x86/sse2.rs +++ b/library/stdarch/crates/core_arch/src/x86/sse2.rs @@ -6,6 +6,7 @@ use stdarch_test::assert_instr; use crate::{ core_arch::{simd::*, x86::*}, intrinsics::simd::*, + intrinsics::sqrtf64, mem, ptr, }; @@ -1760,7 +1761,7 @@ pub unsafe fn _mm_mul_pd(a: __m128d, b: __m128d) -> __m128d { #[cfg_attr(test, assert_instr(sqrtsd))] #[stable(feature = "simd_x86", since = "1.27.0")] pub unsafe fn _mm_sqrt_sd(a: __m128d, b: __m128d) -> __m128d { - simd_insert!(a, 0, _mm_cvtsd_f64(b).sqrt()) + simd_insert!(a, 0, sqrtf64(_mm_cvtsd_f64(b))) } /// Returns a new vector with the square root of each of the values in `a`.