From edc0a3470b7eff4c25fe39b0109cb5442a223c6c Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Sun, 19 Jul 2020 14:54:18 +0200 Subject: Implement simd_insert --- example/std_example.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'example') 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::from_str_radix("1000", 10).ok(); assert_eq!(u, None); -- cgit 1.4.1-3-g733a5