1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov/* -*- mode: C; c-basic-offset: 3; -*- */
2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include <stdio.h>    // fprintf
4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include <stdlib.h>   // exit
5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include "vtest.h"
6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define DEFOP(op,ukind) op, #op, ukind
8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov/* The opcodes appear in the same order here as in libvex_ir.h
10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   That is not necessary but helpful when supporting a new architecture.
11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov*/
12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovstatic irop_t irops[] = {
13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add8,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add16,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add64,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub8,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub16,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub64,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul8,    UNDEF_LEFT), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul16,   UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32,   UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul64,   UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Or8,     UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
26436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Or16,    UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
27436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Or32,    UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
28436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Or64,    UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
29436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_And8,    UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
30436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_And16,   UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
31436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_And32,   UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
32436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_And64,   UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
33436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Xor8,    UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
34436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Xor16,   UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
35436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Xor32,   UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
36436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Xor64,   UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
37436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl8,    UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
38436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl16,   UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
39436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl32,   UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
40436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl64,   UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 asserts
41436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr8,    UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32/64 assert
42436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr16,   UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32/64 assert
43436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr32,   UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
44436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr64,   UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 asserts
45436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar8,    UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32/64 assert
46436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar16,   UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32/64 assert
47436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar32,   UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
48436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar64,   UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 asserts
49436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ8,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
50436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ16, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
51436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
52436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ64, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
53436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNE8,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
54436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNE16, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
55436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNE32, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
56436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNE64, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
57436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Not8,       UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
58436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Not16,      UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
59436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Not32,      UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
60436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Not64,      UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
61436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpEQ8,  UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
62436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpEQ16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
63436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpEQ32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
64436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpEQ64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
65436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
66436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpNE8,  UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
67436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpNE16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
68436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpNE32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
69436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CasCmpNE64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
70436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExpCmpNE8,  UNDEF_UNKNOWN), }, // exact (expensive) equality
71436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExpCmpNE16, UNDEF_UNKNOWN), }, // exact (expensive) equality
72436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExpCmpNE32, UNDEF_UNKNOWN), }, // exact (expensive) equality
73436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExpCmpNE64, UNDEF_UNKNOWN), }, // exact (expensive) equality
74436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullS8,     UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
75436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullS16,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
76436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullS32,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
77436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  // s390 has signed multiplication of 64-bit values but the result
78436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  // is 64-bit (not 128-bit). So we cannot test this op standalone.
79436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullS64,    UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 =0, .mips64 = 1 }, // ppc32, mips assert
80436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullU8,     UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 =0, .mips64 = 0 },
81436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullU16,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 =0, .mips64 = 0 },
82436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullU32,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 =0, .mips64 = 1 }, // mips asserts
83436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullU64,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 =0, .mips64 = 1 }, // ppc32, mips assert
84436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz64,      UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 =0, .mips64 = 1 }, // ppc32 asserts
85436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz32,      UNDEF_ALL),  .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 =1, .mips64 = 1 },
86436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Ctz64,      UNDEF_ALL),  .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 =0, .mips64 = 0 },
87436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Ctz32,      UNDEF_ALL),  .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 =0, .mips64 = 0 },
88436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT32S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 =1, .mips64 = 1 },
89436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT64S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 =0, .mips64 = 1 }, // ppc, mips assert
90436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE32S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 =1, .mips64 = 1 },
91436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE64S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 =0, .mips64 = 1 }, // ppc, mips assert
92436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT32U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 =1, .mips64 = 1 },
93436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT64U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 =0, .mips64 = 1 }, // ppc32, mips assert
94436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE32U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 =1, .mips64 = 1 },
95436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE64U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 =0, .mips64 = 0 }, // ppc32 asserts
96436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ8,    UNDEF_ALL), },   // not supported by mc_translate
97436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ16,   UNDEF_ALL), },   // not supported by mc_translate
98436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ32,   UNDEF_ALL), },   // not supported by mc_translate
99436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ64,   UNDEF_ALL), },   // not supported by mc_translate
100436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpwNEZ32,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
101436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpwNEZ64,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
102436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Left8,      UNDEF_UNKNOWN), },  // not supported by mc_translate
103436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Left16,     UNDEF_UNKNOWN), },  // not supported by mc_translate
104436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Left32,     UNDEF_UNKNOWN), },  // not supported by mc_translate
105436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Left64,     UNDEF_UNKNOWN), },  // not supported by mc_translate
106436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32U,     UNDEF_UNKNOWN), },  // not supported by mc_translate
107436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpORD32U,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // support added in vbit-test
108436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpORD64U,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // support added in vbit-test
109436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpORD32S,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // support added in vbit-test
110436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpORD64S,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // support added in vbit-test
111436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivU32,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
112436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivS32,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
113436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivU64,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32 asserts
114436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivS64,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32 asserts
115436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivU64E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32 asserts
116436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivS64E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // ppc32 asserts
117436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivU32E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
118436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivS32E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
119436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  // On s390 the DivMod operations always appear in a certain context
120436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  // So they cannot be tested in isolation on that platform.
121436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivModU64to32,  UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
122436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivModS64to32,  UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
123436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivModU128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // mips asserts
124436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivModS128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // mips asserts
125436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivModS64to64,  UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
126436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8Uto16,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
127436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8Uto32,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
128436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8Uto64,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 assert
129436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16Uto32,   UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
130436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16Uto64,   UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 assert
131436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32Uto64,   UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
132436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8Sto16,    UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
133436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8Sto32,    UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
134436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8Sto64,    UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
135436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16Sto32,   UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
136436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16Sto64,   UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
137436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32Sto64,   UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
138436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64to8,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
139436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32to8,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
140436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64to16,    UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
141436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16to8,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
142436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16HIto8,   UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
143436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_8HLto16,   UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },  // ppc isel
144436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32to16,    UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
145436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32HIto16,  UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
146436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_16HLto32,  UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },  // ppc isel
147436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64to32,    UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
148436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64HIto32,  UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
149436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32HLto64,  UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
150436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_128to64,   UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
151436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_128HIto64, UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
152436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64HLto128, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
153436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Not1,      UNDEF_ALL),    .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
154436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32to1,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
155436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64to1,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32, mips assert
156436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Uto8,     UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
157436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Uto32,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
158436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Uto64,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // ppc32 assert
159436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Sto8,     UNDEF_ALL),    .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
160436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Sto16,    UNDEF_ALL), }, // not handled by mc_translate
161436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Sto32,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
162436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_1Sto64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
163436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AddF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
164436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SubF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
165436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
166436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
167436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AddF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
168436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SubF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
169436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
170436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
171436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AddF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
172436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
173436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
174436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
175436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NegF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
176436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AbsF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
177436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NegF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
178436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AbsF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
179436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SqrtF64,   UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
180436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SqrtF32,   UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
181436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
182436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 }, // mips asserts
183436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpF128,   UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
184436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toI16S, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
185436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
186436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
187436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toI64U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
188436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toI32U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
189436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
190436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
191436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64UtoF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 }, // mips asserts
192436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64UtoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
193436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
194436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
195436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
196436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 },
197436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toI32U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
198436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toI64U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
199436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
200436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 },
201436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toF64,  UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
202436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toF32,  UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 }, // mips asserts
203436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ReinterpF64asI64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
204436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ReinterpI64asF64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
205436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ReinterpF32asI32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1, .mips64 = 1 },
206436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  // ppc requires this op to show up in a specific context. So it cannot be
207436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  // tested standalone on that platform.
208436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ReinterpI32asF32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
209436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64HLtoF128, UNDEF_CONCAT),    .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
210436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128HItoF64, UNDEF_UPPER),     .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
211436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128LOtoF64, UNDEF_TRUNC), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
212436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AddF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
213436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SubF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
214436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
215436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
216436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NegF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
217436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AbsF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
218436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SqrtF128,      UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
219436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
220436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64StoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
221436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
222436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64UtoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
223436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toF128,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
224436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toF128,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
225436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toI32S,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
226436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toI64S,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
227436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toI32U,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
228436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toI64U,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
229436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toF64,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
230436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toF32,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
231436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AtanF64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
232436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Yl2xF64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
233436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Yl2xp1F64,     UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
234436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PRemF64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
235436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PRemC3210F64,  UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
236436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PRem1F64,      UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
237436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PRem1C3210F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
238436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ScaleF64,      UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
239436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SinF64,        UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
240436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CosF64,        UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
241436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_TanF64,        UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
242436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_2xm1F64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 0 },
243436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF64toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 },
244436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF32toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1, .mips64 = 1 },
245436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MAddF32,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 },
246436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MSubF32,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0, .mips64 = 1 },
247436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MAddF64,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
248436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MSubF64,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
249436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MAddF64r32,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
250436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MSubF64r32,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
251436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Est5FRSqrt,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
252436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF64toF64_NEAREST, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
253436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF64toF64_NegINF,  UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
254436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF64toF64_PosINF,  UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
255436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF64toF64_ZERO,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 },
256436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_TruncF64asF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 1 }, // mips asserts
257436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF64toF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0, .mips64 = 0 },
258436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
259436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 32-bit SIMD Integer ------------------ */
260436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd32S, UNDEF_UNKNOWN), },
261436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub32S, UNDEF_UNKNOWN), },
262436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add16x2, UNDEF_UNKNOWN), },
263436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub16x2, UNDEF_UNKNOWN), },
264436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Sx2, UNDEF_UNKNOWN), },
265436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Ux2, UNDEF_UNKNOWN), },
266436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Sx2, UNDEF_UNKNOWN), },
267436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Ux2, UNDEF_UNKNOWN), },
268436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HAdd16Ux2, UNDEF_UNKNOWN), },
269436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HAdd16Sx2, UNDEF_UNKNOWN), },
270436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HSub16Ux2, UNDEF_UNKNOWN), },
271436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HSub16Sx2, UNDEF_UNKNOWN), },
272436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add8x4, UNDEF_UNKNOWN), },
273436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub8x4, UNDEF_UNKNOWN), },
274436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Sx4, UNDEF_UNKNOWN), },
275436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Ux4, UNDEF_UNKNOWN), },
276436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Sx4, UNDEF_UNKNOWN), },
277436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Ux4, UNDEF_UNKNOWN), },
278436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HAdd8Ux4, UNDEF_UNKNOWN), },
279436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HAdd8Sx4, UNDEF_UNKNOWN), },
280436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HSub8Ux4, UNDEF_UNKNOWN), },
281436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_HSub8Sx4, UNDEF_UNKNOWN), },
282436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sad8Ux4, UNDEF_UNKNOWN), },
283436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ16x2, UNDEF_UNKNOWN), },
284436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ8x4, UNDEF_UNKNOWN), },
285436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 64-bit SIMD FP ------------------------ */
286436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoFx2, UNDEF_UNKNOWN), },
287436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoFx2, UNDEF_UNKNOWN), },
288436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_FtoI32Ux2_RZ, UNDEF_UNKNOWN), },
289436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_FtoI32Sx2_RZ, UNDEF_UNKNOWN), },
290436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32ToFixed32Ux2_RZ, UNDEF_UNKNOWN), },
291436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32ToFixed32Sx2_RZ, UNDEF_UNKNOWN), },
292436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Fixed32UToF32x2_RN, UNDEF_UNKNOWN), },
293436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Fixed32SToF32x2_RN, UNDEF_UNKNOWN), },
294436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Fx2, UNDEF_UNKNOWN), },
295436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Fx2, UNDEF_UNKNOWN), },
296436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax32Fx2, UNDEF_UNKNOWN), },
297436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin32Fx2, UNDEF_UNKNOWN), },
298436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32Fx2, UNDEF_UNKNOWN), },
299436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Fx2, UNDEF_UNKNOWN), },
300436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGE32Fx2, UNDEF_UNKNOWN), },
301436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip32Fx2, UNDEF_UNKNOWN), },
302436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recps32Fx2, UNDEF_UNKNOWN), },
303436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rsqrte32Fx2, UNDEF_UNKNOWN), },
304436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rsqrts32Fx2, UNDEF_UNKNOWN), },
305436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Neg32Fx2, UNDEF_UNKNOWN), },
306436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs32Fx2, UNDEF_UNKNOWN), },
307436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 64-bit SIMD Integer. ------------------ */
308436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ8x8, UNDEF_UNKNOWN), },
309436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ16x4, UNDEF_UNKNOWN), },
310436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ32x2, UNDEF_UNKNOWN), },
311436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add8x8, UNDEF_UNKNOWN), },
312436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add16x4, UNDEF_UNKNOWN), },
313436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32x2, UNDEF_UNKNOWN), },
314436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Ux8, UNDEF_UNKNOWN), },
315436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Ux4, UNDEF_UNKNOWN), },
316436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd32Ux2, UNDEF_UNKNOWN), },
317436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd64Ux1, UNDEF_UNKNOWN), },
318436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Sx8, UNDEF_UNKNOWN), },
319436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Sx4, UNDEF_UNKNOWN), },
320436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd32Sx2, UNDEF_UNKNOWN), },
321436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd64Sx1, UNDEF_UNKNOWN), },
322436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd8x8, UNDEF_UNKNOWN), },
323436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd16x4, UNDEF_UNKNOWN), },
324436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd32x2, UNDEF_UNKNOWN), },
325436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax8Sx8, UNDEF_UNKNOWN), },
326436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax16Sx4, UNDEF_UNKNOWN), },
327436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax32Sx2, UNDEF_UNKNOWN), },
328436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax8Ux8, UNDEF_UNKNOWN), },
329436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax16Ux4, UNDEF_UNKNOWN), },
330436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax32Ux2, UNDEF_UNKNOWN), },
331436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin8Sx8, UNDEF_UNKNOWN), },
332436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin16Sx4, UNDEF_UNKNOWN), },
333436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin32Sx2, UNDEF_UNKNOWN), },
334436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin8Ux8, UNDEF_UNKNOWN), },
335436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin16Ux4, UNDEF_UNKNOWN), },
336436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin32Ux2, UNDEF_UNKNOWN), },
337436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL8Ux8, UNDEF_UNKNOWN), },
338436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL16Ux4, UNDEF_UNKNOWN), },
339436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL32Ux2, UNDEF_UNKNOWN), },
340436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL8Sx8, UNDEF_UNKNOWN), },
341436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL16Sx4, UNDEF_UNKNOWN), },
342436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL32Sx2, UNDEF_UNKNOWN), },
343436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub8x8, UNDEF_UNKNOWN), },
344436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub16x4, UNDEF_UNKNOWN), },
345436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32x2, UNDEF_UNKNOWN), },
346436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Ux8, UNDEF_UNKNOWN), },
347436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Ux4, UNDEF_UNKNOWN), },
348436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub32Ux2, UNDEF_UNKNOWN), },
349436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub64Ux1, UNDEF_UNKNOWN), },
350436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Sx8, UNDEF_UNKNOWN), },
351436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Sx4, UNDEF_UNKNOWN), },
352436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub32Sx2, UNDEF_UNKNOWN), },
353436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub64Sx1, UNDEF_UNKNOWN), },
354436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs8x8, UNDEF_UNKNOWN), },
355436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs16x4, UNDEF_UNKNOWN), },
356436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs32x2, UNDEF_UNKNOWN), },
357436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul8x8, UNDEF_UNKNOWN), },
358436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul16x4, UNDEF_UNKNOWN), },
359436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32x2, UNDEF_UNKNOWN), },
360436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32Fx2, UNDEF_UNKNOWN), },
361436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi16Ux4, UNDEF_UNKNOWN), },
362436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi16Sx4, UNDEF_UNKNOWN), },
363436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMul8x8, UNDEF_UNKNOWN), },
364436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QDMulHi16Sx4, UNDEF_UNKNOWN), },
365436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QDMulHi32Sx2, UNDEF_UNKNOWN), },
366436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QRDMulHi16Sx4, UNDEF_UNKNOWN), },
367436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QRDMulHi32Sx2, UNDEF_UNKNOWN), },
368436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg8Ux8, UNDEF_UNKNOWN), },
369436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg16Ux4, UNDEF_UNKNOWN), },
370436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max8Sx8, UNDEF_UNKNOWN), },
371436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max16Sx4, UNDEF_UNKNOWN), },
372436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Sx2, UNDEF_UNKNOWN), },
373436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max8Ux8, UNDEF_UNKNOWN), },
374436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max16Ux4, UNDEF_UNKNOWN), },
375436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Ux2, UNDEF_UNKNOWN), },
376436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min8Sx8, UNDEF_UNKNOWN), },
377436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min16Sx4, UNDEF_UNKNOWN), },
378436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Sx2, UNDEF_UNKNOWN), },
379436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min8Ux8, UNDEF_UNKNOWN), },
380436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min16Ux4, UNDEF_UNKNOWN), },
381436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Ux2, UNDEF_UNKNOWN), },
382436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ8x8, UNDEF_UNKNOWN), },
383436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ16x4, UNDEF_UNKNOWN), },
384436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32x2, UNDEF_UNKNOWN), },
385436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT8Ux8, UNDEF_UNKNOWN), },
386436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT16Ux4, UNDEF_UNKNOWN), },
387436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Ux2, UNDEF_UNKNOWN), },
388436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT8Sx8, UNDEF_UNKNOWN), },
389436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT16Sx4, UNDEF_UNKNOWN), },
390436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Sx2, UNDEF_UNKNOWN), },
391436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cnt8x8, UNDEF_UNKNOWN), },
392436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz8Sx8, UNDEF_UNKNOWN), },
393436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz16Sx4, UNDEF_UNKNOWN), },
394436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz32Sx2, UNDEF_UNKNOWN), },
395436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cls8Sx8, UNDEF_UNKNOWN), },
396436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cls16Sx4, UNDEF_UNKNOWN), },
397436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cls32Sx2, UNDEF_UNKNOWN), },
398436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl8x8, UNDEF_UNKNOWN), },
399436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl16x4, UNDEF_UNKNOWN), },
400436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl32x2, UNDEF_UNKNOWN), },
401436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr8x8, UNDEF_UNKNOWN), },
402436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr16x4, UNDEF_UNKNOWN), },
403436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr32x2, UNDEF_UNKNOWN), },
404436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar8x8, UNDEF_UNKNOWN), },
405436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar16x4, UNDEF_UNKNOWN), },
406436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar32x2, UNDEF_UNKNOWN), },
407436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal8x8, UNDEF_UNKNOWN), },
408436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal16x4, UNDEF_UNKNOWN), },
409436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal32x2, UNDEF_UNKNOWN), },
410436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal64x1, UNDEF_UNKNOWN), },
411436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN8x8, UNDEF_UNKNOWN), },
412436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN16x4, UNDEF_UNKNOWN), },
413436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN32x2, UNDEF_UNKNOWN), },
414436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN8x8, UNDEF_UNKNOWN), },
415436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN16x4, UNDEF_UNKNOWN), },
416436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN32x2, UNDEF_UNKNOWN), },
417436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN8x8, UNDEF_UNKNOWN), },
418436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN16x4, UNDEF_UNKNOWN), },
419436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN32x2, UNDEF_UNKNOWN), },
420436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl8x8, UNDEF_UNKNOWN), },
421436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl16x4, UNDEF_UNKNOWN), },
422436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl32x2, UNDEF_UNKNOWN), },
423436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl64x1, UNDEF_UNKNOWN), },
424436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal8x8, UNDEF_UNKNOWN), },
425436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal16x4, UNDEF_UNKNOWN), },
426436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal32x2, UNDEF_UNKNOWN), },
427436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal64x1, UNDEF_UNKNOWN), },
428436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN8Sx8, UNDEF_UNKNOWN), },
429436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN16Sx4, UNDEF_UNKNOWN), },
430436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN32Sx2, UNDEF_UNKNOWN), },
431436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN64Sx1, UNDEF_UNKNOWN), },
432436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN8x8, UNDEF_UNKNOWN), },
433436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN16x4, UNDEF_UNKNOWN), },
434436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN32x2, UNDEF_UNKNOWN), },
435436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN64x1, UNDEF_UNKNOWN), },
436436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN8x8, UNDEF_UNKNOWN), },
437436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN16x4, UNDEF_UNKNOWN), },
438436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN32x2, UNDEF_UNKNOWN), },
439436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN64x1, UNDEF_UNKNOWN), },
440436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin16Sto8Ux8, UNDEF_UNKNOWN), },
441436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin16Sto8Sx8, UNDEF_UNKNOWN), },
442436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin32Sto16Sx4, UNDEF_UNKNOWN), },
443436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowBin16to8x8, UNDEF_UNKNOWN), },
444436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowBin32to16x4, UNDEF_UNKNOWN), },
445436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI8x8, UNDEF_UNKNOWN), },
446436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI16x4, UNDEF_UNKNOWN), },
447436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI32x2, UNDEF_UNKNOWN), },
448436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO8x8, UNDEF_UNKNOWN), },
449436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO16x4, UNDEF_UNKNOWN), },
450436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO32x2, UNDEF_UNKNOWN), },
451436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveOddLanes8x8, UNDEF_UNKNOWN), },
452436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveEvenLanes8x8, UNDEF_UNKNOWN), },
453436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveOddLanes16x4, UNDEF_UNKNOWN), },
454436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveEvenLanes16x4, UNDEF_UNKNOWN), },
455436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatOddLanes8x8, UNDEF_UNKNOWN), },
456436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatOddLanes16x4, UNDEF_UNKNOWN), },
457436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatEvenLanes8x8, UNDEF_UNKNOWN), },
458436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatEvenLanes16x4, UNDEF_UNKNOWN), },
459436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem8x8, UNDEF_UNKNOWN), },
460436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem16x4, UNDEF_UNKNOWN), },
461436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem32x2, UNDEF_UNKNOWN), },
462436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SetElem8x8, UNDEF_UNKNOWN), },
463436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SetElem16x4, UNDEF_UNKNOWN), },
464436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SetElem32x2, UNDEF_UNKNOWN), },
465436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Dup8x8, UNDEF_UNKNOWN), },
466436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Dup16x4, UNDEF_UNKNOWN), },
467436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Dup32x2, UNDEF_UNKNOWN), },
468436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Extract64, UNDEF_UNKNOWN), },
469436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse16_8x8, UNDEF_UNKNOWN), },
470436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse32_8x8, UNDEF_UNKNOWN), },
471436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse32_16x4, UNDEF_UNKNOWN), },
472436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse64_8x8, UNDEF_UNKNOWN), },
473436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse64_16x4, UNDEF_UNKNOWN), },
474436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse64_32x2, UNDEF_UNKNOWN), },
475436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Perm8x8, UNDEF_UNKNOWN), },
476436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetMSBs8x8, UNDEF_UNKNOWN), },
477436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip32x2, UNDEF_UNKNOWN), },
478436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rsqrte32x2, UNDEF_UNKNOWN), },
479436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ Decimal Floating Point ------------------ */
480436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AddD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
481436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SubD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
482436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
483436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
484436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AddD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
485436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SubD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
486436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
487436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DivD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
488436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlD64,                UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
489436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrD64,                UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
490436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlD128,               UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
491436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrD128,               UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
492436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D32toD64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
493436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toD128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
494436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
495436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
496436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64StoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
497436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64UtoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
498436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toD32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
499436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
500436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
501436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
502436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64StoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
503436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I64UtoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
504436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toI32S,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
505436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toI32U,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
506436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toI64S,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
507436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toI64U,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
508436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toI64S,            UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
509436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toI64U,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
510436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toI32S,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
511436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toI32U,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
512436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toD32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
513436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toD64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
514436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toD128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
515436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toD32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
516436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toD64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
517436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F64toD128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
518436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toD32,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
519436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
520436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F128toD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
521436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D32toF32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
522436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D32toF64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
523436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D32toF128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
524436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toF32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
525436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toF64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
526436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64toF128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
527436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toF32,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
528436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toF64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
529436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128toF128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
530436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundD64toInt,         UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
531436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundD128toInt,        UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
532436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
533436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
534436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpExpD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
535436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpExpD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
536436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QuantizeD64,           UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
537436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QuantizeD128,          UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
538436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SignificanceRoundD64,  UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
539436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SignificanceRoundD128, UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
540436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExtractExpD64,         UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
541436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExtractExpD128,        UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
542436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExtractSigD64,         UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
543436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExtractSigD128,        UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
544436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InsertExpD64,          UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
545436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InsertExpD128,         UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
546436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D64HLtoD128,           UNDEF_CONCAT), .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
547436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128HItoD64,           UNDEF_UPPER),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
548436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_D128LOtoD64,           UNDEF_TRUNC),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
549436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_DPBtoBCD,              UNDEF_ALL),    .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
550436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_BCDtoDPB,              UNDEF_ALL),    .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
551436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ReinterpI64asD64,      UNDEF_SAME),   .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
552436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ReinterpD64asI64,      UNDEF_SAME),   .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
553436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 128-bit SIMD FP. ------------------ */
554436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32Fx4, UNDEF_UNKNOWN), },
555436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32Fx4, UNDEF_UNKNOWN), },
556436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32Fx4, UNDEF_UNKNOWN), },
557436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Div32Fx4, UNDEF_UNKNOWN), },
558436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Fx4, UNDEF_UNKNOWN), },
559436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Fx4, UNDEF_UNKNOWN), },
560436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32Fx2, UNDEF_UNKNOWN), },
561436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32Fx2, UNDEF_UNKNOWN), },
562436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32Fx4, UNDEF_UNKNOWN), },
563436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT32Fx4, UNDEF_UNKNOWN), },
564436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE32Fx4, UNDEF_UNKNOWN), },
565436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpUN32Fx4, UNDEF_UNKNOWN), },
566436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Fx4, UNDEF_UNKNOWN), },
567436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGE32Fx4, UNDEF_UNKNOWN), },
568436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMax32Fx4, UNDEF_UNKNOWN), },
569436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwMin32Fx4, UNDEF_UNKNOWN), },
570436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs32Fx4, UNDEF_UNKNOWN), },
571436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sqrt32Fx4, UNDEF_UNKNOWN), },
572436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RSqrt32Fx4, UNDEF_UNKNOWN), },
573436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Neg32Fx4, UNDEF_UNKNOWN), },
574436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip32Fx4, UNDEF_UNKNOWN), },
575436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recps32Fx4, UNDEF_UNKNOWN), },
576436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rsqrte32Fx4, UNDEF_UNKNOWN), },
577436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rsqrts32Fx4, UNDEF_UNKNOWN), },
578436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32UtoFx4, UNDEF_UNKNOWN), },
579436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_I32StoFx4, UNDEF_UNKNOWN), },
580436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_FtoI32Ux4_RZ, UNDEF_UNKNOWN), },
581436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_FtoI32Sx4_RZ, UNDEF_UNKNOWN), },
582436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QFtoI32Ux4_RZ, UNDEF_UNKNOWN), },
583436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QFtoI32Sx4_RZ, UNDEF_UNKNOWN), },
584436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF32x4_RM, UNDEF_UNKNOWN), },
585436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF32x4_RP, UNDEF_UNKNOWN), },
586436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF32x4_RN, UNDEF_UNKNOWN), },
587436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RoundF32x4_RZ, UNDEF_UNKNOWN), },
588436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32ToFixed32Ux4_RZ, UNDEF_UNKNOWN), },
589436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32ToFixed32Sx4_RZ, UNDEF_UNKNOWN), },
590436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Fixed32UToF32x4_RN, UNDEF_UNKNOWN), },
591436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Fixed32SToF32x4_RN, UNDEF_UNKNOWN), },
592436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F32toF16x4, UNDEF_UNKNOWN), },
593436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_F16toF32x4, UNDEF_UNKNOWN), },
594436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32F0x4, UNDEF_UNKNOWN), },
595436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32F0x4, UNDEF_UNKNOWN), },
596436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32F0x4, UNDEF_UNKNOWN), },
597436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Div32F0x4, UNDEF_UNKNOWN), },
598436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32F0x4, UNDEF_UNKNOWN), },
599436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32F0x4, UNDEF_UNKNOWN), },
600436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32F0x4, UNDEF_UNKNOWN), },
601436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT32F0x4, UNDEF_UNKNOWN), },
602436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE32F0x4, UNDEF_UNKNOWN), },
603436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpUN32F0x4, UNDEF_UNKNOWN), },
604436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip32F0x4, UNDEF_UNKNOWN), },
605436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sqrt32F0x4, UNDEF_UNKNOWN), },
606436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RSqrt32F0x4, UNDEF_UNKNOWN), },
607436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add64Fx2, UNDEF_UNKNOWN), },
608436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub64Fx2, UNDEF_UNKNOWN), },
609436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul64Fx2, UNDEF_UNKNOWN), },
610436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Div64Fx2, UNDEF_UNKNOWN), },
611436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max64Fx2, UNDEF_UNKNOWN), },
612436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min64Fx2, UNDEF_UNKNOWN), },
613436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ64Fx2, UNDEF_UNKNOWN), },
614436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT64Fx2, UNDEF_UNKNOWN), },
615436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE64Fx2, UNDEF_UNKNOWN), },
616436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpUN64Fx2, UNDEF_UNKNOWN), },
617436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs64Fx2, UNDEF_UNKNOWN), },
618436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sqrt64Fx2, UNDEF_UNKNOWN), },
619436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RSqrt64Fx2, UNDEF_UNKNOWN), },
620436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Neg64Fx2, UNDEF_UNKNOWN), },
621436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip64Fx2, UNDEF_UNKNOWN), },
622436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add64F0x2, UNDEF_UNKNOWN), },
623436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub64F0x2, UNDEF_UNKNOWN), },
624436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul64F0x2, UNDEF_UNKNOWN), },
625436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Div64F0x2, UNDEF_UNKNOWN), },
626436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max64F0x2, UNDEF_UNKNOWN), },
627436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min64F0x2, UNDEF_UNKNOWN), },
628436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ64F0x2, UNDEF_UNKNOWN), },
629436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLT64F0x2, UNDEF_UNKNOWN), },
630436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpLE64F0x2, UNDEF_UNKNOWN), },
631436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpUN64F0x2, UNDEF_UNKNOWN), },
632436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip64F0x2, UNDEF_UNKNOWN), },
633436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sqrt64F0x2, UNDEF_UNKNOWN), },
634436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RSqrt64F0x2, UNDEF_UNKNOWN), },
635436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V128to64, UNDEF_UNKNOWN), },
636436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V128HIto64, UNDEF_UNKNOWN), },
637436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64HLtoV128, UNDEF_UNKNOWN), },
638436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64UtoV128, UNDEF_UNKNOWN), },
639436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SetV128lo64, UNDEF_UNKNOWN), },
640436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ZeroHI64ofV128, UNDEF_UNKNOWN) },
641436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ZeroHI96ofV128, UNDEF_UNKNOWN) },
642436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ZeroHI112ofV128, UNDEF_UNKNOWN) },
643436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ZeroHI120ofV128, UNDEF_UNKNOWN) },
644436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_32UtoV128, UNDEF_UNKNOWN), },
645436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V128to32, UNDEF_UNKNOWN), },
646436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SetV128lo32, UNDEF_UNKNOWN), },
647436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 128-bit SIMD Integer. ------------------ */
648436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NotV128, UNDEF_UNKNOWN), },
649436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AndV128, UNDEF_UNKNOWN), },
650436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_OrV128, UNDEF_UNKNOWN), },
651436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_XorV128, UNDEF_UNKNOWN), },
652436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlV128, UNDEF_UNKNOWN), },
653436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrV128, UNDEF_UNKNOWN), },
654436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ8x16, UNDEF_UNKNOWN), },
655436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ16x8, UNDEF_UNKNOWN), },
656436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ32x4, UNDEF_UNKNOWN), },
657436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ64x2, UNDEF_UNKNOWN), },
658436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add8x16, UNDEF_UNKNOWN), },
659436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add16x8, UNDEF_UNKNOWN), },
660436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32x4, UNDEF_UNKNOWN), },
661436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add64x2, UNDEF_UNKNOWN), },
662436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Ux16, UNDEF_UNKNOWN), },
663436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Ux8, UNDEF_UNKNOWN), },
664436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd32Ux4, UNDEF_UNKNOWN), },
665436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd64Ux2, UNDEF_UNKNOWN), },
666436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Sx16, UNDEF_UNKNOWN), },
667436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Sx8, UNDEF_UNKNOWN), },
668436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd32Sx4, UNDEF_UNKNOWN), },
669436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd64Sx2, UNDEF_UNKNOWN), },
670436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub8x16, UNDEF_UNKNOWN), },
671436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub16x8, UNDEF_UNKNOWN), },
672436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32x4, UNDEF_UNKNOWN), },
673436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub64x2, UNDEF_UNKNOWN), },
674436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Ux16, UNDEF_UNKNOWN), },
675436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Ux8, UNDEF_UNKNOWN), },
676436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub32Ux4, UNDEF_UNKNOWN), },
677436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub64Ux2, UNDEF_UNKNOWN), },
678436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Sx16, UNDEF_UNKNOWN), },
679436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Sx8, UNDEF_UNKNOWN), },
680436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub32Sx4, UNDEF_UNKNOWN), },
681436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub64Sx2, UNDEF_UNKNOWN), },
682436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul8x16, UNDEF_UNKNOWN), },
683436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul16x8, UNDEF_UNKNOWN), },
684436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32x4, UNDEF_UNKNOWN), },
685436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi16Ux8, UNDEF_UNKNOWN), },
686436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi32Ux4, UNDEF_UNKNOWN), },
687436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi16Sx8, UNDEF_UNKNOWN), },
688436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi32Sx4, UNDEF_UNKNOWN), },
689436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullEven8Ux16, UNDEF_UNKNOWN), },
690436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullEven16Ux8, UNDEF_UNKNOWN), },
691436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullEven32Ux4, UNDEF_UNKNOWN), },
692436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullEven8Sx16, UNDEF_UNKNOWN), },
693436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullEven16Sx8, UNDEF_UNKNOWN), },
694436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MullEven32Sx4, UNDEF_UNKNOWN), },
695436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mull8Ux8, UNDEF_UNKNOWN), },
696436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mull8Sx8, UNDEF_UNKNOWN), },
697436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mull16Ux4, UNDEF_UNKNOWN), },
698436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mull16Sx4, UNDEF_UNKNOWN), },
699436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mull32Ux2, UNDEF_UNKNOWN), },
700436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mull32Sx2, UNDEF_UNKNOWN), },
701436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QDMulHi16Sx8, UNDEF_UNKNOWN), },
702436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QDMulHi32Sx4, UNDEF_UNKNOWN), },
703436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QRDMulHi16Sx8, UNDEF_UNKNOWN), },
704436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QRDMulHi32Sx4, UNDEF_UNKNOWN), },
705436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QDMulLong16Sx4, UNDEF_UNKNOWN), },
706436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QDMulLong32Sx2, UNDEF_UNKNOWN), },
707436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMul8x16, UNDEF_UNKNOWN), },
708436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMull8x8, UNDEF_UNKNOWN), },
709436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd8x16, UNDEF_UNKNOWN), },
710436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd16x8, UNDEF_UNKNOWN), },
711436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd32x4, UNDEF_UNKNOWN), },
712436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAdd32Fx2, UNDEF_UNKNOWN), },
713436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL8Ux16, UNDEF_UNKNOWN), },
714436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL16Ux8, UNDEF_UNKNOWN), },
715436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL32Ux4, UNDEF_UNKNOWN), },
716436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL8Sx16, UNDEF_UNKNOWN), },
717436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL16Sx8, UNDEF_UNKNOWN), },
718436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwAddL32Sx4, UNDEF_UNKNOWN), },
719436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs8x16, UNDEF_UNKNOWN), },
720436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs16x8, UNDEF_UNKNOWN), },
721436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Abs32x4, UNDEF_UNKNOWN), },
722436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg8Ux16, UNDEF_UNKNOWN), },
723436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg16Ux8, UNDEF_UNKNOWN), },
724436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg32Ux4, UNDEF_UNKNOWN), },
725436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg8Sx16, UNDEF_UNKNOWN), },
726436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg16Sx8, UNDEF_UNKNOWN), },
727436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg32Sx4, UNDEF_UNKNOWN), },
728436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max8Sx16, UNDEF_UNKNOWN), },
729436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max16Sx8, UNDEF_UNKNOWN), },
730436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Sx4, UNDEF_UNKNOWN), },
731436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max64Sx2, UNDEF_UNKNOWN), },
732436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max8Ux16, UNDEF_UNKNOWN), },
733436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max16Ux8, UNDEF_UNKNOWN), },
734436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Ux4, UNDEF_UNKNOWN), },
735436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max64Ux2, UNDEF_UNKNOWN), },
736436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min8Sx16, UNDEF_UNKNOWN), },
737436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min16Sx8, UNDEF_UNKNOWN), },
738436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Sx4, UNDEF_UNKNOWN), },
739436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min64Sx2, UNDEF_UNKNOWN), },
740436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min8Ux16, UNDEF_UNKNOWN), },
741436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min16Ux8, UNDEF_UNKNOWN), },
742436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Ux4, UNDEF_UNKNOWN), },
743436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min64Ux2, UNDEF_UNKNOWN), },
744436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ8x16, UNDEF_UNKNOWN), },
745436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ16x8, UNDEF_UNKNOWN), },
746436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32x4, UNDEF_UNKNOWN), },
747436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ64x2, UNDEF_UNKNOWN), },
748436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT8Sx16, UNDEF_UNKNOWN), },
749436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT16Sx8, UNDEF_UNKNOWN), },
750436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Sx4, UNDEF_UNKNOWN), },
751436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT64Sx2, UNDEF_UNKNOWN), },
752436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT8Ux16, UNDEF_UNKNOWN), },
753436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT16Ux8, UNDEF_UNKNOWN), },
754436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Ux4, UNDEF_UNKNOWN), },
755436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT64Ux2, UNDEF_UNKNOWN), },
756436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cnt8x16, UNDEF_UNKNOWN), },
757436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz8Sx16, UNDEF_UNKNOWN), },
758436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz16Sx8, UNDEF_UNKNOWN), },
759436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz32Sx4, UNDEF_UNKNOWN), },
760436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Clz64x2, UNDEF_UNKNOWN), },
761436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cls8Sx16, UNDEF_UNKNOWN), },
762436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cls16Sx8, UNDEF_UNKNOWN), },
763436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Cls32Sx4, UNDEF_UNKNOWN), },
764436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN8x16, UNDEF_UNKNOWN), },
765436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN16x8, UNDEF_UNKNOWN), },
766436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN32x4, UNDEF_UNKNOWN), },
767436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN64x2, UNDEF_UNKNOWN), },
768436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN8x16, UNDEF_UNKNOWN), },
769436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN16x8, UNDEF_UNKNOWN), },
770436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN32x4, UNDEF_UNKNOWN), },
771436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN64x2, UNDEF_UNKNOWN), },
772436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN8x16, UNDEF_UNKNOWN), },
773436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN16x8, UNDEF_UNKNOWN), },
774436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN32x4, UNDEF_UNKNOWN), },
775436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN64x2, UNDEF_UNKNOWN), },
776436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl8x16, UNDEF_UNKNOWN), },
777436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl16x8, UNDEF_UNKNOWN), },
778436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl32x4, UNDEF_UNKNOWN), },
779436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shl64x2, UNDEF_UNKNOWN), },
780436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr8x16, UNDEF_UNKNOWN), },
781436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr16x8, UNDEF_UNKNOWN), },
782436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr32x4, UNDEF_UNKNOWN), },
783436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Shr64x2, UNDEF_UNKNOWN), },
784436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar8x16, UNDEF_UNKNOWN), },
785436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar16x8, UNDEF_UNKNOWN), },
786436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar32x4, UNDEF_UNKNOWN), },
787436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sar64x2, UNDEF_UNKNOWN), },
788436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal8x16, UNDEF_UNKNOWN), },
789436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal16x8, UNDEF_UNKNOWN), },
790436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal32x4, UNDEF_UNKNOWN), },
791436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sal64x2, UNDEF_UNKNOWN), },
792436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rol8x16, UNDEF_UNKNOWN), },
793436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rol16x8, UNDEF_UNKNOWN), },
794436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rol32x4, UNDEF_UNKNOWN), },
795436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rol64x2, UNDEF_UNKNOWN), },
796436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl8x16, UNDEF_UNKNOWN), },
797436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl16x8, UNDEF_UNKNOWN), },
798436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl32x4, UNDEF_UNKNOWN), },
799436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShl64x2, UNDEF_UNKNOWN), },
800436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal8x16, UNDEF_UNKNOWN), },
801436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal16x8, UNDEF_UNKNOWN), },
802436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal32x4, UNDEF_UNKNOWN), },
803436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSal64x2, UNDEF_UNKNOWN), },
804436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN8Sx16, UNDEF_UNKNOWN), },
805436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN16Sx8, UNDEF_UNKNOWN), },
806436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN32Sx4, UNDEF_UNKNOWN), },
807436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN64Sx2, UNDEF_UNKNOWN), },
808436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN8x16, UNDEF_UNKNOWN), },
809436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN16x8, UNDEF_UNKNOWN), },
810436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN32x4, UNDEF_UNKNOWN), },
811436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QShlN64x2, UNDEF_UNKNOWN), },
812436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN8x16, UNDEF_UNKNOWN), },
813436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN16x8, UNDEF_UNKNOWN), },
814436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN32x4, UNDEF_UNKNOWN), },
815436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSalN64x2, UNDEF_UNKNOWN), },
816436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin16Sto8Ux16, UNDEF_UNKNOWN), },
817436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin32Sto16Ux8, UNDEF_UNKNOWN), },
818436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin16Sto8Sx16, UNDEF_UNKNOWN), },
819436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin32Sto16Sx8, UNDEF_UNKNOWN), },
820436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin16Uto8Ux16, UNDEF_UNKNOWN), },
821436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin32Uto16Ux8, UNDEF_UNKNOWN), },
822436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowBin16to8x16, UNDEF_UNKNOWN), },
823436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowBin32to16x8, UNDEF_UNKNOWN), },
824436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowBin64to32x4, UNDEF_UNKNOWN), },
825436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowUn16to8x8, UNDEF_UNKNOWN), },
826436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowUn32to16x4, UNDEF_UNKNOWN), },
827436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NarrowUn64to32x2, UNDEF_UNKNOWN), },
828436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn16Sto8Sx8, UNDEF_UNKNOWN), },
829436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn32Sto16Sx4, UNDEF_UNKNOWN), },
830436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn64Sto32Sx2, UNDEF_UNKNOWN), },
831436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin64Sto32Sx4, UNDEF_UNKNOWN), },
832436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn16Sto8Ux8, UNDEF_UNKNOWN), },
833436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn32Sto16Ux4, UNDEF_UNKNOWN), },
834436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn64Sto32Ux2, UNDEF_UNKNOWN), },
835436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowBin64Uto32Ux4, UNDEF_UNKNOWN), },
836436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn16Uto8Ux8, UNDEF_UNKNOWN), },
837436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn32Uto16Ux4, UNDEF_UNKNOWN), },
838436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QNarrowUn64Uto32Ux2, UNDEF_UNKNOWN), },
839436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Widen8Uto16x8, UNDEF_UNKNOWN), },
840436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Widen16Uto32x4, UNDEF_UNKNOWN), },
841436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Widen32Uto64x2, UNDEF_UNKNOWN), },
842436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Widen8Sto16x8, UNDEF_UNKNOWN), },
843436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Widen16Sto32x4, UNDEF_UNKNOWN), },
844436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Widen32Sto64x2, UNDEF_UNKNOWN), },
845436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI8x16, UNDEF_UNKNOWN), },
846436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI16x8, UNDEF_UNKNOWN), },
847436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI32x4, UNDEF_UNKNOWN), },
848436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveHI64x2, UNDEF_UNKNOWN), },
849436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO8x16, UNDEF_UNKNOWN), },
850436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO16x8, UNDEF_UNKNOWN), },
851436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO32x4, UNDEF_UNKNOWN), },
852436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveLO64x2, UNDEF_UNKNOWN), },
853436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveOddLanes8x16, UNDEF_UNKNOWN), },
854436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveEvenLanes8x16, UNDEF_UNKNOWN), },
855436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveOddLanes16x8, UNDEF_UNKNOWN), },
856436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveEvenLanes16x8, UNDEF_UNKNOWN), },
857436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveOddLanes32x4, UNDEF_UNKNOWN), },
858436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_InterleaveEvenLanes32x4, UNDEF_UNKNOWN), },
859436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatOddLanes8x16, UNDEF_UNKNOWN), },
860436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatOddLanes16x8, UNDEF_UNKNOWN), },
861436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatOddLanes32x4, UNDEF_UNKNOWN), },
862436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatEvenLanes8x16, UNDEF_UNKNOWN), },
863436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatEvenLanes16x8, UNDEF_UNKNOWN), },
864436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CatEvenLanes32x4, UNDEF_UNKNOWN), },
865436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem8x16, UNDEF_UNKNOWN), },
866436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem16x8, UNDEF_UNKNOWN), },
867436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem32x4, UNDEF_UNKNOWN), },
868436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetElem64x2, UNDEF_UNKNOWN), },
869436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Dup8x16, UNDEF_UNKNOWN), },
870436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Dup16x8, UNDEF_UNKNOWN), },
871436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Dup32x4, UNDEF_UNKNOWN), },
872436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ExtractV128, UNDEF_UNKNOWN), },
873436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse16_8x16, UNDEF_UNKNOWN), },
874436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse32_8x16, UNDEF_UNKNOWN), },
875436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse32_16x8, UNDEF_UNKNOWN), },
876436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse64_8x16, UNDEF_UNKNOWN), },
877436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse64_16x8, UNDEF_UNKNOWN), },
878436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Reverse64_32x4, UNDEF_UNKNOWN), },
879436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Perm8x16, UNDEF_UNKNOWN), },
880436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Perm32x4, UNDEF_UNKNOWN), },
881436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_GetMSBs8x16, UNDEF_UNKNOWN), },
882436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip32x4, UNDEF_UNKNOWN), },
883436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Rsqrte32x4, UNDEF_UNKNOWN), },
884436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 256-bit SIMD Integer. ------------------ */
885436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V256to64_0, UNDEF_UNKNOWN), },
886436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V256to64_1, UNDEF_UNKNOWN), },
887436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V256to64_2, UNDEF_UNKNOWN), },
888436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V256to64_3, UNDEF_UNKNOWN), },
889436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_64x4toV256, UNDEF_UNKNOWN), },
890436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V256toV128_0, UNDEF_UNKNOWN), },
891436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V256toV128_1, UNDEF_UNKNOWN), },
892436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_V128HLtoV256, UNDEF_UNKNOWN), },
893436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_AndV256, UNDEF_UNKNOWN), },
894436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_OrV256,  UNDEF_UNKNOWN), },
895436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_XorV256, UNDEF_UNKNOWN), },
896436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NotV256, UNDEF_UNKNOWN), },
897436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* --------------- MISC (vector integer cmp != 0) -------------*/
898436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ8x32, UNDEF_UNKNOWN), },
899436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ16x16, UNDEF_UNKNOWN), },
900436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ32x8, UNDEF_UNKNOWN), },
901436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpNEZ64x4, UNDEF_UNKNOWN), },
902436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add8x32, UNDEF_UNKNOWN), },
903436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add16x16, UNDEF_UNKNOWN), },
904436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32x8, UNDEF_UNKNOWN), },
905436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add64x4, UNDEF_UNKNOWN), },
906436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub8x32, UNDEF_UNKNOWN), },
907436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub16x16, UNDEF_UNKNOWN), },
908436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32x8, UNDEF_UNKNOWN), },
909436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub64x4, UNDEF_UNKNOWN), },
910436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ8x32, UNDEF_UNKNOWN), },
911436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ16x16, UNDEF_UNKNOWN), },
912436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ32x8, UNDEF_UNKNOWN), },
913436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpEQ64x4, UNDEF_UNKNOWN), },
914436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT8Sx32, UNDEF_UNKNOWN), },
915436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT16Sx16, UNDEF_UNKNOWN), },
916436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT32Sx8, UNDEF_UNKNOWN), },
917436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CmpGT64Sx4, UNDEF_UNKNOWN), },
918436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN16x16, UNDEF_UNKNOWN), },
919436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN32x8, UNDEF_UNKNOWN), },
920436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShlN64x4, UNDEF_UNKNOWN), },
921436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN16x16, UNDEF_UNKNOWN), },
922436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN32x8, UNDEF_UNKNOWN), },
923436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_ShrN64x4, UNDEF_UNKNOWN), },
924436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN16x16, UNDEF_UNKNOWN), },
925436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SarN32x8, UNDEF_UNKNOWN), },
926436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max8Sx32, UNDEF_UNKNOWN), },
927436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max16Sx16, UNDEF_UNKNOWN), },
928436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Sx8, UNDEF_UNKNOWN), },
929436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max8Ux32, UNDEF_UNKNOWN), },
930436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max16Ux16, UNDEF_UNKNOWN), },
931436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Ux8, UNDEF_UNKNOWN), },
932436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min8Sx32, UNDEF_UNKNOWN), },
933436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min16Sx16, UNDEF_UNKNOWN), },
934436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Sx8, UNDEF_UNKNOWN), },
935436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min8Ux32, UNDEF_UNKNOWN), },
936436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min16Ux16, UNDEF_UNKNOWN), },
937436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Ux8, UNDEF_UNKNOWN), },
938436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul16x16, UNDEF_UNKNOWN), },
939436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32x8, UNDEF_UNKNOWN), },
940436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi16Ux16, UNDEF_UNKNOWN), },
941436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_MulHi16Sx16, UNDEF_UNKNOWN), },
942436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Ux32, UNDEF_UNKNOWN), },
943436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Ux16, UNDEF_UNKNOWN), },
944436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd8Sx32, UNDEF_UNKNOWN), },
945436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QAdd16Sx16, UNDEF_UNKNOWN), },
946436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Ux32, UNDEF_UNKNOWN), },
947436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Ux16, UNDEF_UNKNOWN), },
948436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub8Sx32, UNDEF_UNKNOWN), },
949436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_QSub16Sx16, UNDEF_UNKNOWN), },
950436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg8Ux32, UNDEF_UNKNOWN), },
951436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Avg16Ux16, UNDEF_UNKNOWN), },
952436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Perm32x8, UNDEF_UNKNOWN), },
953436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  /* ------------------ 256-bit SIMD FP. ------------------ */
954436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add64Fx4, UNDEF_UNKNOWN), },
955436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub64Fx4, UNDEF_UNKNOWN), },
956436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul64Fx4, UNDEF_UNKNOWN), },
957436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Div64Fx4, UNDEF_UNKNOWN), },
958436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Add32Fx8, UNDEF_UNKNOWN), },
959436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sub32Fx8, UNDEF_UNKNOWN), },
960436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Mul32Fx8, UNDEF_UNKNOWN), },
961436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Div32Fx8, UNDEF_UNKNOWN), },
962436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sqrt32Fx8, UNDEF_UNKNOWN), },
963436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Sqrt64Fx4, UNDEF_UNKNOWN), },
964436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_RSqrt32Fx8, UNDEF_UNKNOWN), },
965436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Recip32Fx8, UNDEF_UNKNOWN), },
966436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max32Fx8, UNDEF_UNKNOWN), },
967436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min32Fx8, UNDEF_UNKNOWN), },
968436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Max64Fx4, UNDEF_UNKNOWN), },
969436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_Min64Fx4, UNDEF_UNKNOWN), },
970436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_BCDAdd, UNDEF_UNKNOWN), },
971436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_BCDSub, UNDEF_UNKNOWN), },
972436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMulAdd8x16, UNDEF_UNKNOWN), },
973436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMulAdd16x8, UNDEF_UNKNOWN), },
974436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMulAdd32x4, UNDEF_UNKNOWN), },
975436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PolynomialMulAdd64x2, UNDEF_UNKNOWN), },
976436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CipherV128,   UNDEF_UNKNOWN), },
977436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CipherLV128,  UNDEF_UNKNOWN), },
978436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_CipherSV128,  UNDEF_UNKNOWN), },
979436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NCipherV128,  UNDEF_UNKNOWN), },
980436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_NCipherLV128, UNDEF_UNKNOWN), },
981436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SHA512, UNDEF_UNKNOWN), },
982436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_SHA256, UNDEF_UNKNOWN), },
983436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov  { DEFOP(Iop_PwBitMtxXpose64x2, UNDEF_UNKNOWN), },
984436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov};
985436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
986436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
987436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov/* Return a descriptor for OP, iff it exists and it is implemented
988436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   for the current architecture. */
989436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovirop_t *
990436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovget_irop(IROp op)
991436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov{
992436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   unsigned i;
993436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
994436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   for (i = 0; i < sizeof irops / sizeof *irops; ++i) {
995436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov      irop_t *p = irops + i;
996436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov      if (p->op == op) {
997436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __s390x__
998436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#define S390X_FEATURES "../../../tests/s390x_features"
999436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         switch (op) {
1000436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32StoD64:    // CDFTR
1001436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32StoD128:   // CXFTR
1002436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32UtoD64:    // CDLFTR
1003436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32UtoD128:   // CXLFTR
1004436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I64UtoD64:    // CDLGTR
1005436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I64UtoD128:   // CXLGTR
1006436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D64toI32S:    // CFDTR
1007436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D128toI32S:   // CFXTR
1008436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D64toI64U:    // CLGDTR
1009436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D64toI32U:    // CLFDTR
1010436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D128toI64U:   // CLGXTR
1011436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D128toI32U:   // CLFXTR
1012436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32UtoF32:
1013436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32UtoF64:
1014436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I32UtoF128:
1015436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I64UtoF32:
1016436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I64UtoF64:
1017436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_I64UtoF128:
1018436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F32toI32U:
1019436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F32toI64U:
1020436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F64toI32U:
1021436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F64toI64U:
1022436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F128toI32U:
1023436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F128toI64U: {
1024436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            int rc;
1025436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            /* These IROps require the floating point extension facility */
1026436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            rc = system(S390X_FEATURES " s390x-fpext");
1027436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            // s390x_features returns 1 if feature does not exist
1028436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            rc /= 256;
1029436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            if (rc != 0) return NULL;
1030436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         }
1031436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         /* PFPO Iops */
1032436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F32toD32:
1033436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F32toD64:
1034436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F32toD128:
1035436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F64toD32:
1036436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F64toD64:
1037436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F64toD128:
1038436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F128toD32:
1039436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F128toD64:
1040436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_F128toD128:
1041436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D32toF32:
1042436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D32toF64:
1043436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D32toF128:
1044436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D64toF32:
1045436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D64toF64:
1046436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D64toF128:
1047436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D128toF32:
1048436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D128toF64:
1049436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         case Iop_D128toF128: {
1050436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            int rc;
1051436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            /* These IROps require the Perform Floating Point Operation facility */
1052436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            rc = system(S390X_FEATURES " s390x-pfpo");
1053436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            // s390x_features returns 1 if feature does not exist
1054436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            rc /= 256;
1055436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov            if (rc != 0) return NULL;
1056436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         }
1057436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         }
1058436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->s390x ? p : NULL;
1059436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1060436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __x86_64__
1061436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->amd64 ? p : NULL;
1062436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1063436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __powerpc__
1064436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __powerpc64__
1065436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->ppc64 ? p : NULL;
1066436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#else
1067436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->ppc32 ? p : NULL;
1068436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1069436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1070436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __mips__
1071436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#if (__mips==64)
1072436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->mips64 ? p : NULL;
1073436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#else
1074436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->mips32 ? p : NULL;
1075436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1076436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1077436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __arm__
1078436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->arm ? p : NULL;
1079436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1080436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#ifdef __i386__
1081436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return p->x86 ? p : NULL;
1082436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#endif
1083436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov         return NULL;
1084436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov      }
1085436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   }
1086436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov
1087436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   fprintf(stderr, "unknown opcode %d\n", op);
1088436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov   exit(1);
1089436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov}
1090