From d35281efe6664fa06132fc68ba44d938a76cfac7 Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Fri, 11 Nov 2022 22:53:38 +0100 Subject: [PATCH] Add fallback for `round_ties_to_even` SSE4.1 path --- narcissus-maths/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/narcissus-maths/src/lib.rs b/narcissus-maths/src/lib.rs index 2e71ed0..e653a05 100644 --- a/narcissus-maths/src/lib.rs +++ b/narcissus-maths/src/lib.rs @@ -187,6 +187,10 @@ fn round_ties_to_even(x: f32) -> f32 { let x = _mm_round_ss::(x, x); std::arch::x86_64::_mm_cvtss_f32(x) } + + // Incorrect if the rounding mode is changed. + #[cfg(not(target_feature = "sse4.1"))] + x.round() } #[macro_export] -- 2.49.0