about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift
diff options
context:
space:
mode:
authorsayantn <sayantn05@gmail.com>2025-06-05 20:41:41 +0530
committersayantn <sayantn05@gmail.com>2025-06-15 04:33:56 +0530
commit2ffa1dd392c1fe9c23a2f11f7b7a293a744c05ce (patch)
treea20686fc8920c7e96c8ef80abacc340caddc12cf /compiler/rustc_codegen_cranelift
parent2038405ff7020904c21c73331f9c3a3d27f75470 (diff)
downloadrust-2ffa1dd392c1fe9c23a2f11f7b7a293a744c05ce.tar.gz
rust-2ffa1dd392c1fe9c23a2f11f7b7a293a744c05ce.zip
Implement `simd_round_ties_even` for miri, cg_clif and cg_gcc
Diffstat (limited to 'compiler/rustc_codegen_cranelift')
-rw-r--r--compiler/rustc_codegen_cranelift/src/intrinsics/simd.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_cranelift/src/intrinsics/simd.rs b/compiler/rustc_codegen_cranelift/src/intrinsics/simd.rs
index 46a441488fa..f928ad8bc02 100644
--- a/compiler/rustc_codegen_cranelift/src/intrinsics/simd.rs
+++ b/compiler/rustc_codegen_cranelift/src/intrinsics/simd.rs
@@ -495,7 +495,8 @@ pub(super) fn codegen_simd_intrinsic_call<'tcx>(
         | sym::simd_flog
         | sym::simd_flog10
         | sym::simd_flog2
-        | sym::simd_round => {
+        | sym::simd_round
+        | sym::simd_round_ties_even => {
             intrinsic_args!(fx, args => (a); intrinsic);
 
             if !a.layout().ty.is_simd() {
@@ -526,6 +527,8 @@ pub(super) fn codegen_simd_intrinsic_call<'tcx>(
                     (sym::simd_flog2, types::F64) => "log2",
                     (sym::simd_round, types::F32) => "roundf",
                     (sym::simd_round, types::F64) => "round",
+                    (sym::simd_round_ties_even, types::F32) => "rintf",
+                    (sym::simd_round_ties_even, types::F64) => "rint",
                     _ => unreachable!("{:?}", intrinsic),
                 };
                 fx.lib_call(