From 28314754864dd437a21067f53efce9c17b4bab49 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Thu, 17 May 2018 16:07:30 +0000 Subject: [PATCH] Check for the extended mnemonic It is what objdump produces usually. --- coresimd/powerpc64/vsx.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/coresimd/powerpc64/vsx.rs b/coresimd/powerpc64/vsx.rs index c0ba321226..8423521480 100644 --- a/coresimd/powerpc64/vsx.rs +++ b/coresimd/powerpc64/vsx.rs @@ -231,9 +231,11 @@ mod sealed { unsafe fn vec_xxpermdi(self, b: Self, dm: u8) -> Self; } + // xxpermdi has an big-endian bias and extended mnemonics #[inline] #[target_feature(enable = "vsx")] - #[cfg_attr(test, assert_instr(xxpermdi, dm = 0x0))] + #[cfg_attr(and(test, target_endian="little"), assert_instr(xxmrgld, dm = 0x0))] + #[cfg_attr(and(test, target_endian="big"), assert_instr(xxspltd, dm = 0x0))] unsafe fn xxpermdi(a: i64x2, b: i64x2, dm: u8) -> i64x2 { match dm & 0b11 { 0 => simd_shuffle2(a, b, [0b00, 0b10]),