Skip to content

Commit 137d07d

Browse files
lu-zerognzlbg
authored andcommitted
Extend the xxpermdi coverage
1 parent 240cc23 commit 137d07d

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

coresimd/powerpc64/vsx.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -285,14 +285,23 @@ mod tests {
285285
use simd::*;
286286
use stdsimd_test::simd_test;
287287

288-
#[simd_test(enable = "vsx")]
289-
unsafe fn vec_xxpermdi_u62x2() {
290-
let a: vector_unsigned_long = u64x2::new(0, 1).into_bits();
291-
let b = u64x2::new(2, 3).into_bits();
288+
macro_rules! test_vec_xxpermdi {
289+
{$name:ident, $shorttype:ident, $longtype:ident, [$($a:expr),+], [$($b:expr),+], [$($c:expr),+], [$($d:expr),+]} => {
290+
#[simd_test(enable = "vsx")]
291+
unsafe fn $name() {
292+
let a: $longtype = $shorttype::new($($a),+, $($b),+).into_bits();
293+
let b = $shorttype::new($($c),+, $($d),+).into_bits();
292294

293-
assert_eq!(u64x2::new(0, 2), vec_xxpermdi(a, b, 0).into_bits());
294-
assert_eq!(u64x2::new(1, 2), vec_xxpermdi(a, b, 1).into_bits());
295-
assert_eq!(u64x2::new(0, 3), vec_xxpermdi(a, b, 2).into_bits());
296-
assert_eq!(u64x2::new(1, 3), vec_xxpermdi(a, b, 3).into_bits());
295+
assert_eq!($shorttype::new($($a),+, $($c),+), vec_xxpermdi(a, b, 0).into_bits());
296+
assert_eq!($shorttype::new($($b),+, $($c),+), vec_xxpermdi(a, b, 1).into_bits());
297+
assert_eq!($shorttype::new($($a),+, $($d),+), vec_xxpermdi(a, b, 2).into_bits());
298+
assert_eq!($shorttype::new($($b),+, $($d),+), vec_xxpermdi(a, b, 3).into_bits());
299+
}
300+
}
297301
}
302+
303+
test_vec_xxpermdi!{test_vec_xxpermdi_u64x2, u64x2, vector_unsigned_long, [0], [1], [2], [3]}
304+
test_vec_xxpermdi!{test_vec_xxpermdi_i64x2, i64x2, vector_signed_long, [0], [-1], [2], [-3]}
305+
test_vec_xxpermdi!{test_vec_xxpermdi_m64x2, m64x2, vector_bool_long, [false], [true], [false], [true]}
306+
test_vec_xxpermdi!{test_vec_xxpermdi_f64x2, f64x2, vector_double, [0.0], [1.0], [2.0], [3.0]}
298307
}

0 commit comments

Comments
 (0)