about summary refs log tree commit diff
path: root/example
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2020-07-19 14:54:18 +0200
committerbjorn3 <bjorn3@users.noreply.github.com>2020-07-19 14:54:18 +0200
commitedc0a3470b7eff4c25fe39b0109cb5442a223c6c (patch)
tree11a7b667ef0df336759ada597b86c60f79b2f50f /example
parent0b211be054ff4922e0edc2b989b1745fa4d59c68 (diff)
downloadrust-edc0a3470b7eff4c25fe39b0109cb5442a223c6c.tar.gz
rust-edc0a3470b7eff4c25fe39b0109cb5442a223c6c.zip
Implement simd_insert
Diffstat (limited to 'example')
-rw-r--r--example/std_example.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/example/std_example.rs b/example/std_example.rs
index e0af1ff912b..dee228a7d10 100644
--- a/example/std_example.rs
+++ b/example/std_example.rs
@@ -146,6 +146,7 @@ unsafe fn test_simd() {
 
     // FIXME(#666) implement `#[rustc_arg_required_const(..)]` support
     //test_mm_extract_epi8();
+    //test_mm_insert_epi16();
 
     let mask1 = _mm_movemask_epi8(dbg!(_mm_setr_epi8(255u8 as i8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)));
     assert_eq!(mask1, 1);
@@ -279,6 +280,14 @@ unsafe fn test_mm_extract_epi8() {
     assert_eq!(r2, 3);
 }
 
+#[target_feature(enable = "sse2")]
+unsafe fn test_mm_insert_epi16() {
+    let a = _mm_setr_epi16(0, 1, 2, 3, 4, 5, 6, 7);
+    let r = _mm_insert_epi16(a, 9, 0);
+    let e = _mm_setr_epi16(9, 1, 2, 3, 4, 5, 6, 7);
+    assert_eq_m128i(r, e);
+}
+
 fn test_checked_mul() {
     let u: Option<u8> = u8::from_str_radix("1000", 10).ok();
     assert_eq!(u, None);