Skip to content

Commit f7f708b

Browse files
authored
Merge pull request #5215 from RalfJung/swizzle-dyn
add std::simd swizzle_dyn test
2 parents 0fd5460 + 9139e12 commit f7f708b

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

tests/pass/intrinsics/portable-simd.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -765,6 +765,24 @@ fn simd_swizzle() {
765765
assert_eq!(simd_swizzle!(b, a, [3, 4]), f32x2::from_array([-4.0, 10.0]));
766766
}
767767

768+
fn simd_swizzle_dyn() {
769+
fn check_swizzle_dyn<const N: usize>() {
770+
assert_eq!(
771+
Simd::<u8, N>::default().swizzle_dyn(Simd::<u8, N>::default()),
772+
Simd::<u8, N>::default()
773+
);
774+
}
775+
776+
// This only covers the cases that are enabled by default, without `-Zbuild-std`.
777+
// But that's what our users are most likely to run anyway.
778+
check_swizzle_dyn::<8>();
779+
check_swizzle_dyn::<16>();
780+
check_swizzle_dyn::<24>();
781+
check_swizzle_dyn::<32>();
782+
check_swizzle_dyn::<48>();
783+
check_swizzle_dyn::<64>();
784+
}
785+
768786
fn simd_gather_scatter() {
769787
let mut vec: Vec<i16> = vec![10, 11, 12, 13, 14, 15, 16, 17, 18];
770788
let idxs = Simd::from_array([9, 3, 0, 17]);
@@ -1130,6 +1148,7 @@ fn main() {
11301148
simd_ops_non_pow2();
11311149
simd_cast();
11321150
simd_swizzle();
1151+
simd_swizzle_dyn();
11331152
simd_gather_scatter();
11341153
simd_round();
11351154
simd_intrinsics();

0 commit comments

Comments
 (0)