Enable V-bit testing on x86.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12916 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/memcheck/tests/vbit-test/irops.c b/memcheck/tests/vbit-test/irops.c
index 2a2711a..10492be 100644
--- a/memcheck/tests/vbit-test/irops.c
+++ b/memcheck/tests/vbit-test/irops.c
@@ -10,239 +10,239 @@
That is not necessary but helpful when supporting a new architecture.
*/
static const irop_t irops[] = {
- { DEFOP(Iop_Add8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Add16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Add32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Add64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_Sub8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_Sub16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_Sub32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Sub64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_Mul8, UNDEF_LEFT), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_Mul16, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_Mul32, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Mul64, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_Or8, UNDEF_OR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Or16, UNDEF_OR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Or32, UNDEF_OR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Or64, UNDEF_OR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_And8, UNDEF_AND), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_And16, UNDEF_AND), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_And32, UNDEF_AND), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_And64, UNDEF_AND), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_Xor8, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Xor16, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Xor32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Xor64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_Shl8, UNDEF_SHL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Shl16, UNDEF_SHL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Shl32, UNDEF_SHL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Shl64, UNDEF_SHL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_Shr8, UNDEF_SHR), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
- { DEFOP(Iop_Shr16, UNDEF_SHR), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
- { DEFOP(Iop_Shr32, UNDEF_SHR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Shr64, UNDEF_SHR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_Sar8, UNDEF_SAR), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
- { DEFOP(Iop_Sar16, UNDEF_SAR), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
- { DEFOP(Iop_Sar32, UNDEF_SAR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Sar64, UNDEF_SAR), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_CmpEQ8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CmpEQ16, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CmpEQ32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_CmpEQ64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_CmpNE8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CmpNE16, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CmpNE32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_CmpNE64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_Not8, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Not16, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Not32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Not64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_CasCmpEQ8, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpEQ16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpEQ32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpEQ64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpNE8, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpNE16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpNE32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CasCmpNE64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MullS8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MullS16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MullS32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Add8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Add16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Add32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Add64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Sub8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Sub16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Sub32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Sub64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_Mul8, UNDEF_LEFT), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_Mul16, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_Mul32, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Mul64, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_Or8, UNDEF_OR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Or16, UNDEF_OR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Or32, UNDEF_OR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Or64, UNDEF_OR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_And8, UNDEF_AND), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_And16, UNDEF_AND), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_And32, UNDEF_AND), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_And64, UNDEF_AND), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Xor8, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Xor16, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Xor32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Xor64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Shl8, UNDEF_SHL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Shl16, UNDEF_SHL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Shl32, UNDEF_SHL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Shl64, UNDEF_SHL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_Shr8, UNDEF_SHR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+ { DEFOP(Iop_Shr16, UNDEF_SHR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+ { DEFOP(Iop_Shr32, UNDEF_SHR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Shr64, UNDEF_SHR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_Sar8, UNDEF_SAR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+ { DEFOP(Iop_Sar16, UNDEF_SAR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+ { DEFOP(Iop_Sar32, UNDEF_SAR), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Sar64, UNDEF_SAR), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_CmpEQ8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CmpEQ16, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CmpEQ32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_CmpEQ64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_CmpNE8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CmpNE16, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CmpNE32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_CmpNE64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_Not8, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Not16, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Not32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Not64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_CasCmpEQ8, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpEQ16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpEQ32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpEQ64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpNE8, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpNE16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpNE32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CasCmpNE64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MullS8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MullS16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MullS32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
// s390 has signed multiplication of 64-bit values but the result
// is 64-bit (not 128-bit). So we cannot test this op standalone.
- { DEFOP(Iop_MullS64, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_MullU8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MullU16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MullU32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_MullU64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_Clz64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_Clz32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_Ctz64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_Ctz32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CmpLT32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_CmpLT64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc, mips assert
- { DEFOP(Iop_CmpLE32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_CmpLE64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc, mips assert
- { DEFOP(Iop_CmpLT32U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_CmpLT64U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_CmpLE32U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_CmpLE64U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_MullS64, UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_MullU8, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MullU16, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MullU32, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_MullU64, UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_Clz64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_Clz32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_Ctz64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_Ctz32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CmpLT32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_CmpLT64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc, mips assert
+ { DEFOP(Iop_CmpLE32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_CmpLE64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc, mips assert
+ { DEFOP(Iop_CmpLT32U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_CmpLT64U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_CmpLE32U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_CmpLE64U, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
{ DEFOP(Iop_CmpNEZ8, UNDEF_ALL), }, // not supported by mc_translate
{ DEFOP(Iop_CmpNEZ16, UNDEF_ALL), }, // not supported by mc_translate
{ DEFOP(Iop_CmpNEZ32, UNDEF_ALL), }, // not supported by mc_translate
{ DEFOP(Iop_CmpNEZ64, UNDEF_ALL), }, // not supported by mc_translate
- { DEFOP(Iop_CmpwNEZ32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_CmpwNEZ64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_CmpwNEZ32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_CmpwNEZ64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
{ DEFOP(Iop_Left8, UNDEF_UNKNOWN), }, // not supported by mc_translate
{ DEFOP(Iop_Left16, UNDEF_UNKNOWN), }, // not supported by mc_translate
{ DEFOP(Iop_Left32, UNDEF_UNKNOWN), }, // not supported by mc_translate
{ DEFOP(Iop_Left64, UNDEF_UNKNOWN), }, // not supported by mc_translate
{ DEFOP(Iop_Max32U, UNDEF_UNKNOWN), }, // not supported by mc_translate
- { DEFOP(Iop_CmpORD32U, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
- { DEFOP(Iop_CmpORD64U, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
- { DEFOP(Iop_CmpORD32S, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
- { DEFOP(Iop_CmpORD64S, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
- { DEFOP(Iop_DivU32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_DivS32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_DivU64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_DivS64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_DivU64E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_DivS64E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
- { DEFOP(Iop_DivU32E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_DivS32E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_CmpORD32U, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
+ { DEFOP(Iop_CmpORD64U, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
+ { DEFOP(Iop_CmpORD32S, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
+ { DEFOP(Iop_CmpORD64S, UNDEF_UNKNOWN), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // FIXME: add support in vbit-test
+ { DEFOP(Iop_DivU32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_DivS32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_DivU64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_DivS64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_DivU64E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_DivS64E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+ { DEFOP(Iop_DivU32E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_DivS32E, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
// On s390 the DivMod operations always appear in a certain context
// So they cannot be tested in isolation on that platform.
- { DEFOP(Iop_DivModU64to32, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_DivModS64to32, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_DivModU128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_DivModS128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_DivModS64to64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_8Uto16, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_8Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_8Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_16Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_16Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_32Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_8Sto16, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_8Sto32, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_8Sto64, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_16Sto32, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_16Sto64, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_32Sto64, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_64to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_32to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_64to16, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_16to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_16HIto8, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_8HLto16, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc isel
- { DEFOP(Iop_32to16, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
- { DEFOP(Iop_32HIto16, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_16HLto32, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc isel
- { DEFOP(Iop_64to32, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_64HIto32, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_32HLto64, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_128to64, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_128HIto64, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_64HLto128, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_Not1, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_32to1, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_64to1, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_1Uto8, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_1Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_1Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
- { DEFOP(Iop_1Sto8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_DivModU64to32, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_DivModS64to32, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_DivModU128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_DivModS128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_DivModS64to64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_8Uto16, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_8Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_8Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_16Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_16Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_32Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_8Sto16, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_8Sto32, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_8Sto64, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_16Sto32, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_16Sto64, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_32Sto64, UNDEF_SEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_64to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_32to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_64to16, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_16to8, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_16HIto8, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_8HLto16, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc isel
+ { DEFOP(Iop_32to16, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_32HIto16, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_16HLto32, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc isel
+ { DEFOP(Iop_64to32, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_64HIto32, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_32HLto64, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_128to64, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_128HIto64, UNDEF_UPPER), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_64HLto128, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_Not1, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_32to1, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_64to1, UNDEF_TRUNC), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_1Uto8, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_1Uto32, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_1Uto64, UNDEF_ZEXT), .s390x = 1, .amd64 = 1, .x86 = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+ { DEFOP(Iop_1Sto8, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
{ DEFOP(Iop_1Sto16, UNDEF_ALL), }, // not handled by mc_translate
- { DEFOP(Iop_1Sto32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_1Sto64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_AddF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_SubF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_MulF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_DivF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_AddF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_SubF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_MulF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_DivF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_AddF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_SubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_MulF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_DivF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_NegF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_AbsF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_NegF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_AbsF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_SqrtF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_SqrtF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_CmpF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_CmpF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_CmpF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F64toI16S, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F64toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_F64toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_F64toI64U, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_F64toI32U, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_I32StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_I64StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_I64UtoF64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_I64UtoF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_I32UtoF64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F32toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F32toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_I32StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_I64StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F32toF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_F64toF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_ReinterpF64asI64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_ReinterpI64asF64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_ReinterpF32asI32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+ { DEFOP(Iop_1Sto32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_1Sto64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_AddF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_SubF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_MulF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_DivF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_AddF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_SubF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_MulF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_DivF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_AddF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_SubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_MulF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_DivF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_NegF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_AbsF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_NegF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_AbsF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_SqrtF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_SqrtF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_CmpF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_CmpF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_CmpF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F64toI16S, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F64toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_F64toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_F64toI64U, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_F64toI32U, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_I32StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_I64StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_I64UtoF64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_I64UtoF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_I32UtoF64, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F32toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F32toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_I32StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_I64StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F32toF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_F64toF32, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_ReinterpF64asI64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_ReinterpI64asF64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_ReinterpF32asI32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
// ppc requires this op to show up in a specific context. So it cannot be
// tested standalone on that platform.
- { DEFOP(Iop_ReinterpI32asF32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_F64HLtoF128, UNDEF_CONCAT), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F128HItoF64, UNDEF_UPPER), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F128LOtoF64, UNDEF_TRUNC), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_AddF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_SubF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MulF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_DivF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_NegF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_AbsF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_SqrtF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_I32StoF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_I64StoF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F32toF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F64toF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F128toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F128toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F128toF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_F128toF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_AtanF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_Yl2xF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_Yl2xp1F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_PRemF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_PRemC3210F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_PRem1F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_PRem1C3210F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_ScaleF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_SinF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_CosF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_TanF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_2xm1F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_RoundF64toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_RoundF32toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
- { DEFOP(Iop_MAddF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MSubF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
- { DEFOP(Iop_MAddF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_MSubF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_MAddF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_MSubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_Est5FRSqrt, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_RoundF64toF64_NEAREST, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_RoundF64toF64_NegINF, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_RoundF64toF64_PosINF, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_RoundF64toF64_ZERO, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
- { DEFOP(Iop_TruncF64asF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
- { DEFOP(Iop_RoundF64toF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_ReinterpI32asF32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_F64HLtoF128, UNDEF_CONCAT), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F128HItoF64, UNDEF_UPPER), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F128LOtoF64, UNDEF_TRUNC), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_AddF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_SubF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MulF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_DivF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_NegF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_AbsF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_SqrtF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_I32StoF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_I64StoF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F32toF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F64toF128, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F128toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F128toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F128toF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_F128toF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_AtanF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_Yl2xF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_Yl2xp1F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_PRemF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_PRemC3210F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_PRem1F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_PRem1C3210F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_ScaleF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_SinF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_CosF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_TanF64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_2xm1F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_RoundF64toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_RoundF32toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+ { DEFOP(Iop_MAddF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MSubF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+ { DEFOP(Iop_MAddF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_MSubF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_MAddF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_MSubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_Est5FRSqrt, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_RoundF64toF64_NEAREST, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_RoundF64toF64_NegINF, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_RoundF64toF64_PosINF, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_RoundF64toF64_ZERO, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+ { DEFOP(Iop_TruncF64asF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+ { DEFOP(Iop_RoundF64toF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
/* ------------------ 32-bit SIMD Integer ------------------ */
{ DEFOP(Iop_QAdd32S, UNDEF_UNKNOWN), },