about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEduardo Sánchez Muñoz <eduardosm-dev@e64.io>2023-10-16 19:16:37 +0200
committerAmanieu d'Antras <amanieu@gmail.com>2023-10-30 00:00:49 +0100
commit46c6fee14ea4ce8125ae3e9870207d4d0ea00076 (patch)
treea2031d160110d472d41054a3fba81bfcb5b688c5
parent88cf1342261ea1c3cf8c3982832b013220870b6f (diff)
downloadrust-46c6fee14ea4ce8125ae3e9870207d4d0ea00076.tar.gz
rust-46c6fee14ea4ce8125ae3e9870207d4d0ea00076.zip
Extend _mm_insert_ps test to check zeroing priority over copying
-rw-r--r--library/stdarch/crates/core_arch/src/x86/sse41.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/library/stdarch/crates/core_arch/src/x86/sse41.rs b/library/stdarch/crates/core_arch/src/x86/sse41.rs
index 6d33238b08f..6f5a4fc2ec4 100644
--- a/library/stdarch/crates/core_arch/src/x86/sse41.rs
+++ b/library/stdarch/crates/core_arch/src/x86/sse41.rs
@@ -1294,6 +1294,13 @@ mod tests {
         let r = _mm_insert_ps::<0b11_00_1100>(a, b);
         let e = _mm_setr_ps(4.0, 1.0, 0.0, 0.0);
         assert_eq_m128(r, e);
+
+        // Zeroing takes precedence over copied value
+        let a = _mm_set1_ps(1.0);
+        let b = _mm_setr_ps(1.0, 2.0, 3.0, 4.0);
+        let r = _mm_insert_ps::<0b11_00_0001>(a, b);
+        let e = _mm_setr_ps(0.0, 1.0, 1.0, 1.0);
+        assert_eq_m128(r, e);
     }
 
     #[simd_test(enable = "sse4.1")]