summaryrefslogtreecommitdiffstats
path: root/whichasm-0.01
diff options
context:
space:
mode:
authorAl Stone <ahs3@redhat.com>2012-11-26 12:23:58 -0700
committerAl Stone <ahs3@redhat.com>2012-11-26 12:23:58 -0700
commit419caba14d077aa6e1048bb92cff67bf2ebc3d68 (patch)
tree24367837e58e170843bbb9ce4daa313618f2de5b /whichasm-0.01
parent69c6f928b5589e3f50fad870da1e8b345d466a98 (diff)
downloadportdep-419caba14d077aa6e1048bb92cff67bf2ebc3d68.tar.gz
portdep-419caba14d077aa6e1048bb92cff67bf2ebc3d68.tar.xz
portdep-419caba14d077aa6e1048bb92cff67bf2ebc3d68.zip
add in whichasm source
Signed-off-by: Al Stone <ahs3@redhat.com>
Diffstat (limited to 'whichasm-0.01')
-rw-r--r--whichasm-0.01/Makefile22
-rw-r--r--whichasm-0.01/arm.h848
-rw-r--r--whichasm-0.01/classifier.h17
-rw-r--r--whichasm-0.01/classifier_arm.c58
-rw-r--r--whichasm-0.01/classifier_ppc.c61
-rw-r--r--whichasm-0.01/classifier_s390x.c53
-rw-r--r--whichasm-0.01/classifier_x86.c56
-rw-r--r--whichasm-0.01/ppc.h3210
-rw-r--r--whichasm-0.01/s390x.h1148
-rw-r--r--whichasm-0.01/whichasm.c498
-rw-r--r--whichasm-0.01/x86.h746
11 files changed, 6717 insertions, 0 deletions
diff --git a/whichasm-0.01/Makefile b/whichasm-0.01/Makefile
new file mode 100644
index 0000000..11855de
--- /dev/null
+++ b/whichasm-0.01/Makefile
@@ -0,0 +1,22 @@
+# Simple initial makefile
+#
+CC=gcc
+CFLAGS=-O2
+
+DESTDIR ?=
+PREFIX ?= /usr/local
+
+all: whichasm
+
+OBJS = classifier_arm.o \
+ classifier_ppc.o \
+ classifier_s390x.o \
+ classifier_x86.o
+
+whichasm: $(OBJS)
+
+install: whichasm
+ install -m 755 whichasm $(DESTDIR)/$(PREFIX)/bin
+
+clean:
+ -rm -f *.o whichasm
diff --git a/whichasm-0.01/arm.h b/whichasm-0.01/arm.h
new file mode 100644
index 0000000..e35cff7
--- /dev/null
+++ b/whichasm-0.01/arm.h
@@ -0,0 +1,848 @@
+
+struct arm_opcode
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+struct arm_reg
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+enum arm_arch
+{
+ ARM_NONE,
+ ARM_GENERIC,
+ ARM_EXT_V1,
+ ARM_EXT_V2,
+ ARM_EXT_V2S,
+ ARM_EXT_V3,
+ ARM_EXT_V3M,
+ ARM_EXT_V4,
+ ARM_EXT_V4T,
+ ARM_EXT_V5,
+ ARM_EXT_V5T,
+ ARM_EXT_V5ExP,
+ ARM_EXT_V5E,
+ ARM_EXT_V5J,
+ ARM_EXT_V6,
+ ARM_EXT_V6K,
+ ARM_EXT_V6T2,
+ ARM_EXT_DIV,
+ ARM_EXT_V5E_NOTM,
+ ARM_EXT_V6_NOTM,
+ ARM_EXT_V7,
+ ARM_EXT_V7A,
+ ARM_EXT_V7R,
+ ARM_EXT_V7M,
+ ARM_EXT_V6M,
+ ARM_EXT_BARRIER,
+ ARM_EXT_THUMB_MSR,
+ ARM_EXT_V6_DSP,
+ ARM_EXT_MP,
+ ARM_EXT_SEC,
+ ARM_EXT_OS,
+ ARM_EXT_ADIV,
+ ARM_EXT_VIRT,
+ ARM_CEXT_XSCALE,
+ ARM_CEXT_MAVERICK,
+ ARM_CEXT_IWMMXT,
+ ARM_CEXT_IWMMXT2,
+ FPU_ENDIAN_PURE,
+ FPU_ENDIAN_BIG,
+ FPU_FPA_EXT_V1,
+ FPU_FPA_EXT_V2,
+ FPU_MAVERICK,
+ FPU_VFP_EXT_V1xD,
+ FPU_VFP_EXT_V1,
+ FPU_VFP_EXT_V2,
+ FPU_VFP_EXT_V3xD,
+ FPU_VFP_EXT_V3,
+ FPU_NEON_EXT_V1,
+ FPU_VFP_EXT_D32,
+ FPU_VFP_EXT_FP16,
+ FPU_NEON_EXT_FMA,
+ FPU_VFP_EXT_FMA
+};
+
+static const struct arm_reg arm_regs[] =
+{
+ {ARM_GENERIC, "R0"},
+ {ARM_GENERIC, "R1"},
+ {ARM_GENERIC, "R2"},
+ {ARM_GENERIC, "R3"},
+ {ARM_GENERIC, "R4"},
+ {ARM_GENERIC, "R5"},
+ {ARM_GENERIC, "R6"},
+ {ARM_GENERIC, "R7"},
+ {ARM_GENERIC, "R8"},
+ {ARM_GENERIC, "R9"},
+ {ARM_GENERIC, "R10"},
+ {ARM_GENERIC, "R11"},
+ {ARM_GENERIC, "R12"},
+ {ARM_GENERIC, "R13"}, /* SVC, IRQ, FIQ transparent */
+ {ARM_GENERIC, "R14"}, /* SVC, IRQ, FIQ transparent */
+ {ARM_GENERIC, "R15"},
+ {ARM_GENERIC, "FP"},
+ {ARM_GENERIC, "IP"},
+ {ARM_GENERIC, "SP"},
+ {ARM_GENERIC, "LR"},
+ {ARM_GENERIC, "PC"},
+ {ARM_GENERIC, "APSR"},
+ {ARM_GENERIC, "SPSR"},
+ {ARM_GENERIC, "CPSR"},
+ {ARM_GENERIC, "A1"},
+ {ARM_GENERIC, "A2"},
+ {ARM_GENERIC, "A3"},
+ {ARM_GENERIC, "A4"},
+ {ARM_GENERIC, "V1"},
+ {ARM_GENERIC, "V2"},
+ {ARM_GENERIC, "V3"},
+ {ARM_GENERIC, "V4"},
+ {ARM_GENERIC, "V5"},
+ {ARM_GENERIC, "V6"},
+ {ARM_GENERIC, "V7"},
+ {ARM_GENERIC, "V8"},
+ {0, 0}
+};
+
+static const struct arm_opcode arm_opcodes[] =
+{
+ {ARM_CEXT_IWMMXT, "tandc"},
+ {ARM_CEXT_MAVERICK, "cfabs32"},
+ {ARM_CEXT_MAVERICK, "cfabs64"},
+ {ARM_CEXT_MAVERICK, "cfabsd"},
+ {ARM_CEXT_MAVERICK, "cfabss"},
+ {ARM_CEXT_MAVERICK, "cfadd32"},
+ {ARM_CEXT_MAVERICK, "cfadd64"},
+ {ARM_CEXT_MAVERICK, "cfaddd"},
+ {ARM_CEXT_MAVERICK, "cfadds"},
+ {ARM_CEXT_MAVERICK, "cfcmp32"},
+ {ARM_CEXT_MAVERICK, "cfcmp64"},
+ {ARM_CEXT_MAVERICK, "cfcmpd"},
+ {ARM_CEXT_MAVERICK, "cfcmps"},
+ {ARM_CEXT_MAVERICK, "cfcpyd"},
+ {ARM_CEXT_MAVERICK, "cfcpys"},
+ {ARM_CEXT_MAVERICK, "cfcvt32d"},
+ {ARM_CEXT_MAVERICK, "cfcvt32s"},
+ {ARM_CEXT_MAVERICK, "cfcvt64d"},
+ {ARM_CEXT_MAVERICK, "cfcvt64s"},
+ {ARM_CEXT_MAVERICK, "cfcvtd32"},
+ {ARM_CEXT_MAVERICK, "cfcvtds"},
+ {ARM_CEXT_MAVERICK, "cfcvts32"},
+ {ARM_CEXT_MAVERICK, "cfcvtsd"},
+ {ARM_CEXT_MAVERICK, "cfldr32"},
+ {ARM_CEXT_MAVERICK, "cfldr64"},
+ {ARM_CEXT_MAVERICK, "cfldrd"},
+ {ARM_CEXT_MAVERICK, "cfldrd"},
+ {ARM_CEXT_MAVERICK, "cfldrs"},
+ {ARM_CEXT_MAVERICK, "cfmac32"},
+ {ARM_CEXT_MAVERICK, "cfmadd32"},
+ {ARM_CEXT_MAVERICK, "cfmadda32"},
+ {ARM_CEXT_MAVERICK, "cfmsc32"},
+ {ARM_CEXT_MAVERICK, "cfmsub32"},
+ {ARM_CEXT_MAVERICK, "cfmsuba32"},
+ {ARM_CEXT_MAVERICK, "cfmul32"},
+ {ARM_CEXT_MAVERICK, "cfmul64"},
+ {ARM_CEXT_MAVERICK, "cfmuld"},
+ {ARM_CEXT_MAVERICK, "cfmuls"},
+ {ARM_CEXT_MAVERICK, "cfmv32a"},
+ {ARM_CEXT_MAVERICK, "cfmv32ah"},
+ {ARM_CEXT_MAVERICK, "cfmv32al"},
+ {ARM_CEXT_MAVERICK, "cfmv32am"},
+ {ARM_CEXT_MAVERICK, "cfmv32sc"},
+ {ARM_CEXT_MAVERICK, "cfmv64a"},
+ {ARM_CEXT_MAVERICK, "cfmv64hr"},
+ {ARM_CEXT_MAVERICK, "cfmv64lr"},
+ {ARM_CEXT_MAVERICK, "cfmva32"},
+ {ARM_CEXT_MAVERICK, "cfmva64"},
+ {ARM_CEXT_MAVERICK, "cfmvah32"},
+ {ARM_CEXT_MAVERICK, "cfmval32"},
+ {ARM_CEXT_MAVERICK, "cfmvam32"},
+ {ARM_CEXT_MAVERICK, "cfmvdhr"},
+ {ARM_CEXT_MAVERICK, "cfmvdlr"},
+ {ARM_CEXT_MAVERICK, "cfmvr64h"},
+ {ARM_CEXT_MAVERICK, "cfmvr64l"},
+ {ARM_CEXT_MAVERICK, "cfmvrdh"},
+ {ARM_CEXT_MAVERICK, "cfmvrdl"},
+ {ARM_CEXT_MAVERICK, "cfmvrs"},
+ {ARM_CEXT_MAVERICK, "cfmvsc32"},
+ {ARM_CEXT_MAVERICK, "cfmvsr"},
+ {ARM_CEXT_MAVERICK, "cfneg32"},
+ {ARM_CEXT_MAVERICK, "cfneg64"},
+ {ARM_CEXT_MAVERICK, "cfnegd"},
+ {ARM_CEXT_MAVERICK, "cfnegs"},
+ {ARM_CEXT_MAVERICK, "cfrshl32"},
+ {ARM_CEXT_MAVERICK, "cfrshl64"},
+ {ARM_CEXT_MAVERICK, "cfsh32"},
+ {ARM_CEXT_MAVERICK, "cfsh64"},
+ {ARM_CEXT_MAVERICK, "cfstr32"},
+ {ARM_CEXT_MAVERICK, "cfstr64"},
+ {ARM_CEXT_MAVERICK, "cfstrd"},
+ {ARM_CEXT_MAVERICK, "cfstrs"},
+ {ARM_CEXT_MAVERICK, "cfsub32"},
+ {ARM_CEXT_MAVERICK, "cfsub64"},
+ {ARM_CEXT_MAVERICK, "cfsubd"},
+ {ARM_CEXT_MAVERICK, "cfsubs"},
+ {ARM_CEXT_MAVERICK, "cftruncd32"},
+ {ARM_CEXT_MAVERICK, "cftruncs32"},
+ {ARM_CEXT_XSCALE, "mar"},
+ {ARM_CEXT_XSCALE, "mia"},
+ {ARM_CEXT_XSCALE, "miaph"},
+ {ARM_CEXT_XSCALE, "mra"},
+ {ARM_CEXT_XSCALE, "tbcst"},
+ {ARM_CEXT_XSCALE, "textrc"},
+ {ARM_CEXT_XSCALE, "textrm"},
+ {ARM_CEXT_XSCALE, "tinsr"},
+ {ARM_CEXT_XSCALE, "tmcr"},
+ {ARM_CEXT_XSCALE, "tmcrr"},
+ {ARM_CEXT_XSCALE, "tmia"},
+ {ARM_CEXT_XSCALE, "tmiaph"},
+ {ARM_CEXT_XSCALE, "tmovmsk"},
+ {ARM_CEXT_XSCALE, "tmrc"},
+ {ARM_CEXT_XSCALE, "tmrrc"},
+ {ARM_CEXT_XSCALE, "torc"},
+ {ARM_CEXT_XSCALE, "torvsc"},
+ {ARM_CEXT_XSCALE, "wabs"},
+ {ARM_CEXT_XSCALE, "wabsdiff"},
+ {ARM_CEXT_XSCALE, "wacc"},
+ {ARM_CEXT_XSCALE, "wadd"},
+ {ARM_CEXT_XSCALE, "waddbhus"},
+ {ARM_CEXT_XSCALE, "waddsubhx"},
+ {ARM_CEXT_XSCALE, "waligni"},
+ {ARM_CEXT_XSCALE, "walignr"},
+ {ARM_CEXT_XSCALE, "wand"},
+ {ARM_CEXT_XSCALE, "wavg2"},
+ {ARM_CEXT_XSCALE, "wavg4"},
+ {ARM_CEXT_XSCALE, "wcmpeq"},
+ {ARM_CEXT_XSCALE, "wcmpgt"},
+ {ARM_CEXT_XSCALE, "wldr"},
+ {ARM_CEXT_XSCALE, "wldrd"},
+ {ARM_CEXT_XSCALE, "wldrw"},
+ {ARM_CEXT_XSCALE, "wmac"},
+ {ARM_CEXT_XSCALE, "wmadd"},
+ {ARM_CEXT_XSCALE, "wmax"},
+ {ARM_CEXT_XSCALE, "wmerge"},
+ {ARM_CEXT_XSCALE, "wmia"},
+ {ARM_CEXT_XSCALE, "wmiaw"},
+ {ARM_CEXT_XSCALE, "wmin"},
+ {ARM_CEXT_XSCALE, "wmul"},
+ {ARM_CEXT_XSCALE, "wmulwl"},
+ {ARM_CEXT_XSCALE, "wmulwsm"},
+ {ARM_CEXT_XSCALE, "wmulwum"},
+ {ARM_CEXT_XSCALE, "wor"},
+ {ARM_CEXT_XSCALE, "wpack"},
+ {ARM_CEXT_XSCALE, "wqmia"},
+ {ARM_CEXT_XSCALE, "wqmulm"},
+ {ARM_CEXT_XSCALE, "wqmulwm"},
+ {ARM_CEXT_XSCALE, "wror"},
+ {ARM_CEXT_XSCALE, "wsad"},
+ {ARM_CEXT_XSCALE, "wshufh"},
+ {ARM_CEXT_XSCALE, "wsll"},
+ {ARM_CEXT_XSCALE, "wsra"},
+ {ARM_CEXT_XSCALE, "wsrl"},
+ {ARM_CEXT_XSCALE, "wstr"},
+ {ARM_CEXT_XSCALE, "wstrd"},
+ {ARM_CEXT_XSCALE, "wstrw"},
+ {ARM_CEXT_XSCALE, "wsub"},
+ {ARM_CEXT_XSCALE, "wsubaddhx"},
+ {ARM_CEXT_XSCALE, "wunpckeh"},
+ {ARM_CEXT_XSCALE, "wunpckel"},
+ {ARM_CEXT_XSCALE, "wunpckih"},
+ {ARM_CEXT_XSCALE, "wunpckil"},
+ {ARM_CEXT_XSCALE, "wxor"},
+ {ARM_EXT_ADIV, "sdiv"},
+ {ARM_EXT_ADIV, "udiv"},
+ {ARM_EXT_DIV, "sdiv"},
+ {ARM_EXT_DIV, "udiv"},
+ {ARM_EXT_MP, "pldw"},
+ {ARM_EXT_SEC, "smc"},
+ {ARM_EXT_V1, "adc"},
+ {ARM_EXT_V1, "add"},
+ {ARM_EXT_V1, "and"},
+ {ARM_EXT_V1, "asr"},
+ {ARM_EXT_V1, "b"},
+ {ARM_EXT_V1, "bic"},
+ {ARM_EXT_V1, "cmn"},
+ {ARM_EXT_V1, "cmp"},
+ {ARM_EXT_V1, "eor"},
+ {ARM_EXT_V1, "ldm"},
+ {ARM_EXT_V1, "ldmfd"},
+ {ARM_EXT_V1, "ldr"},
+ {ARM_EXT_V1, "ldrb"},
+ {ARM_EXT_V1, "ldrt"},
+ {ARM_EXT_V1, "lsl"},
+ {ARM_EXT_V1, "lsr"},
+ {ARM_EXT_V1, "mov"},
+ {ARM_EXT_V1, "mvn"},
+ {ARM_EXT_V1, "nop"},
+ {ARM_EXT_V1, "orr"},
+ {ARM_EXT_V1, "pop"},
+ {ARM_EXT_V1, "push"},
+ {ARM_EXT_V1, "ror"},
+ {ARM_EXT_V1, "rrx"},
+ {ARM_EXT_V1, "rsb"},
+ {ARM_EXT_V1, "rsc"},
+ {ARM_EXT_V1, "sbc"},
+ {ARM_EXT_V1, "stm"},
+ {ARM_EXT_V1, "stmfd"},
+ {ARM_EXT_V1, "str"},
+ {ARM_EXT_V1, "strb"},
+ {ARM_EXT_V1, "strh"},
+ {ARM_EXT_V1, "sub"},
+ {ARM_EXT_V1, "svc"},
+ {ARM_EXT_V1, "teq"},
+ {ARM_EXT_V1, "tst"},
+ {ARM_EXT_V2, "cdp"},
+ {ARM_EXT_V2, "ldc"},
+ {ARM_EXT_V2, "mcr"},
+ {ARM_EXT_V2, "mla"},
+ {ARM_EXT_V2, "mrc"},
+ {ARM_EXT_V2, "mul"},
+ {ARM_EXT_V2S, "swp"},
+ {ARM_EXT_V2, "stc"},
+ {ARM_EXT_V3, "mrs"},
+ {ARM_EXT_V3, "msr"},
+ {ARM_EXT_V4T, "adc"},
+ {ARM_EXT_V4T, "add"},
+ {ARM_EXT_V4T, "and"},
+ {ARM_EXT_V4T | ARM_EXT_V5, "bx"},
+ {ARM_EXT_V4T, "asr"},
+ {ARM_EXT_V4T, "b"},
+ {ARM_EXT_V4T, "bic"},
+ {ARM_EXT_V4T, "bl"},
+ {ARM_EXT_V4T, "blx"},
+ {ARM_EXT_V4T, "bx"},
+ {ARM_EXT_V4T, "cmn"},
+ {ARM_EXT_V4T, "cmp"},
+ {ARM_EXT_V4T, "eor"},
+ {ARM_EXT_V4T, "ldmia"},
+ {ARM_EXT_V4T, "ldr"},
+ {ARM_EXT_V4T, "ldrb"},
+ {ARM_EXT_V4T, "ldrh"},
+ {ARM_EXT_V4T, "ldrs"},
+ {ARM_EXT_V4T, "lsl"},
+ {ARM_EXT_V4T, "lsr"},
+ {ARM_EXT_V4T, "mov"},
+ {ARM_EXT_V4T, "mul"},
+ {ARM_EXT_V4T, "mvn"},
+ {ARM_EXT_V4T, "neg"},
+ {ARM_EXT_V4T, "nop"},
+ {ARM_EXT_V4T, "orr"},
+ {ARM_EXT_V4T, "pop"},
+ {ARM_EXT_V4T, "push"},
+ {ARM_EXT_V4T, "ror"},
+ {ARM_EXT_V4T, "sbc"},
+ {ARM_EXT_V4T, "stmia"},
+ {ARM_EXT_V4T, "str"},
+ {ARM_EXT_V4T, "strb"},
+ {ARM_EXT_V4T, "strh"},
+ {ARM_EXT_V4T, "sub"},
+ {ARM_EXT_V4T, "svc"},
+ {ARM_EXT_V4T, "tst"},
+ {ARM_EXT_V5, "bkpt"},
+ {ARM_EXT_V5, "blx"},
+ {ARM_EXT_V5, "cdp2"},
+ {ARM_EXT_V5, "clz"},
+ {ARM_EXT_V5E, "ldrd"},
+ {ARM_EXT_V5E, "mcrr"},
+ {ARM_EXT_V5E, "mrrc"},
+ {ARM_EXT_V5E, "pld"},
+ {ARM_EXT_V5E, "strd"},
+ {ARM_EXT_V5ExP, "qadd"},
+ {ARM_EXT_V5ExP, "qdadd"},
+ {ARM_EXT_V5ExP, "qdsub"},
+ {ARM_EXT_V5ExP, "qsub"},
+ {ARM_EXT_V5ExP, "smlabb"},
+ {ARM_EXT_V5ExP, "smlabt"},
+ {ARM_EXT_V5ExP, "smlalbb"},
+ {ARM_EXT_V5ExP, "smlalbt"},
+ {ARM_EXT_V5ExP, "smlaltb"},
+ {ARM_EXT_V5ExP, "smlaltt"},
+ {ARM_EXT_V5ExP, "smlatb"},
+ {ARM_EXT_V5ExP, "smlatt"},
+ {ARM_EXT_V5ExP, "smlawb"},
+ {ARM_EXT_V5ExP, "smlawt"},
+ {ARM_EXT_V5ExP, "smulbb"},
+ {ARM_EXT_V5ExP, "smulbt"},
+ {ARM_EXT_V5ExP, "smultb"},
+ {ARM_EXT_V5ExP, "smultt"},
+ {ARM_EXT_V5ExP, "smulwb"},
+ {ARM_EXT_V5ExP, "smulwt"},
+ {ARM_EXT_V5J, "bxj"},
+ {ARM_EXT_V5, "ldc2"},
+ {ARM_EXT_V5, "mcr2"},
+ {ARM_EXT_V5, "mrc2"},
+ {ARM_EXT_V5, "stc2"},
+ {ARM_EXT_V5T, "bkpt"},
+ {ARM_EXT_V5T, "blx"},
+ {ARM_EXT_V6, "cps"},
+ {ARM_EXT_V6, "cpsid"},
+ {ARM_EXT_V6, "cpsie"},
+ {ARM_EXT_V6K, "clrex"},
+ {ARM_EXT_V6K, "ldrexb"},
+ {ARM_EXT_V6K, "ldrexd"},
+ {ARM_EXT_V6K, "ldrexh"},
+ {ARM_EXT_V6K, "nop"},
+ {ARM_EXT_V6K, "sev"},
+ {ARM_EXT_V6K, "strexb"},
+ {ARM_EXT_V6K, "strexd"},
+ {ARM_EXT_V6K, "strexh"},
+ {ARM_EXT_V6K, "wfe"},
+ {ARM_EXT_V6K, "wfi"},
+ {ARM_EXT_V6K, "yield"},
+ {ARM_EXT_V6, "ldrex"},
+ {ARM_EXT_V6, "mcrr2"},
+ {ARM_EXT_V6, "mov"},
+ {ARM_EXT_V6, "mrrc2"},
+ {ARM_EXT_V6, "pkhbt"},
+ {ARM_EXT_V6, "pkhtb"},
+ {ARM_EXT_V6, "qadd16"},
+ {ARM_EXT_V6, "qadd8"},
+ {ARM_EXT_V6, "qasx"},
+ {ARM_EXT_V6, "qsax"},
+ {ARM_EXT_V6, "qsub16"},
+ {ARM_EXT_V6, "qsub8"},
+ {ARM_EXT_V6, "rev"},
+ {ARM_EXT_V6, "rev16"},
+ {ARM_EXT_V6, "revsh"},
+ {ARM_EXT_V6, "rfe"},
+ {ARM_EXT_V6, "sadd16"},
+ {ARM_EXT_V6, "sadd8"},
+ {ARM_EXT_V6, "sasx"},
+ {ARM_EXT_V6, "sel"},
+ {ARM_EXT_V6, "setend"},
+ {ARM_EXT_V6, "shadd16"},
+ {ARM_EXT_V6, "shadd8"},
+ {ARM_EXT_V6, "shasx"},
+ {ARM_EXT_V6, "shsax"},
+ {ARM_EXT_V6, "shsub16"},
+ {ARM_EXT_V6, "shsub8"},
+ {ARM_EXT_V6, "smlad"},
+ {ARM_EXT_V6, "smlald"},
+ {ARM_EXT_V6, "smlsd"},
+ {ARM_EXT_V6, "smlsld"},
+ {ARM_EXT_V6, "smmla"},
+ {ARM_EXT_V6, "smmls"},
+ {ARM_EXT_V6, "smmul"},
+ {ARM_EXT_V6, "smuad"},
+ {ARM_EXT_V6, "smusd"},
+ {ARM_EXT_V6, "srs"},
+ {ARM_EXT_V6, "ssat"},
+ {ARM_EXT_V6, "ssat16"},
+ {ARM_EXT_V6, "ssax"},
+ {ARM_EXT_V6, "ssub16"},
+ {ARM_EXT_V6, "ssub8"},
+ {ARM_EXT_V6, "strex"},
+ {ARM_EXT_V6, "sxtab"},
+ {ARM_EXT_V6, "sxtab16"},
+ {ARM_EXT_V6, "sxtah"},
+ {ARM_EXT_V6, "sxtb"},
+ {ARM_EXT_V6, "sxtb16"},
+ {ARM_EXT_V6, "sxth"},
+ {ARM_EXT_V6T2, "adc"},
+ {ARM_EXT_V6T2, "add"},
+ {ARM_EXT_V6T2, "addw"},
+ {ARM_EXT_V6T2, "and"},
+ {ARM_EXT_V6T2, "asr"},
+ {ARM_EXT_V6T2, "b"},
+ {ARM_EXT_V6T2, "bfc"},
+ {ARM_EXT_V6T2, "bfi"},
+ {ARM_EXT_V6T2, "bic"},
+ {ARM_EXT_V6T2, "bxj"},
+ {ARM_EXT_V6T2, "cbnz"},
+ {ARM_EXT_V6T2, "cbz"},
+ {ARM_EXT_V6T2, "clrex"},
+ {ARM_EXT_V6T2, "clz"},
+ {ARM_EXT_V6T2, "cmn"},
+ {ARM_EXT_V6T2, "cmp"},
+ {ARM_EXT_V6T2, "cps"},
+ {ARM_EXT_V6T2, "cpsid"},
+ {ARM_EXT_V6T2, "cpsid.w"},
+ {ARM_EXT_V6T2, "cpsie"},
+ {ARM_EXT_V6T2, "cpsie.w"},
+ {ARM_EXT_V6T2, "eor"},
+ {ARM_EXT_V6T2, "it"},
+ {ARM_EXT_V6T2, "ldmdb"},
+ {ARM_EXT_V6T2, "ldmia"},
+ {ARM_EXT_V6T2, "ldr"},
+ {ARM_EXT_V6T2, "ldrd"},
+ {ARM_EXT_V6T2, "ldrex"},
+ {ARM_EXT_V6T2, "ldrexd"},
+ {ARM_EXT_V6T2, "lsl"},
+ {ARM_EXT_V6T2, "lsr"},
+ {ARM_EXT_V6T2, "mla"},
+ {ARM_EXT_V6T2, "mls"},
+ {ARM_EXT_V6T2, "mov"},
+ {ARM_EXT_V6T2, "movt"},
+ {ARM_EXT_V6T2, "movw"},
+ {ARM_EXT_V6T2, "mrs"},
+ {ARM_EXT_V6T2, "msr"},
+ {ARM_EXT_V6T2, "mul"},
+ {ARM_EXT_V6T2, "mvn"},
+ {ARM_EXT_V6T2, "nop"},
+ {ARM_EXT_V6T2, "orn"},
+ {ARM_EXT_V6T2, "orr"},
+ {ARM_EXT_V6T2, "pkhbt"},
+ {ARM_EXT_V6T2, "pkhtb"},
+ {ARM_EXT_V6T2, "pld"},
+ {ARM_EXT_V6T2, "qadd"},
+ {ARM_EXT_V6T2, "qadd16"},
+ {ARM_EXT_V6T2, "qadd8"},
+ {ARM_EXT_V6T2, "qasx"},
+ {ARM_EXT_V6T2, "qdadd"},
+ {ARM_EXT_V6T2, "qdsub"},
+ {ARM_EXT_V6T2, "qsax"},
+ {ARM_EXT_V6T2, "qsub"},
+ {ARM_EXT_V6T2, "qsub16"},
+ {ARM_EXT_V6T2, "qsub8"},
+ {ARM_EXT_V6T2, "rbit"},
+ {ARM_EXT_V6T2, "rev"},
+ {ARM_EXT_V6T2, "rev16"},
+ {ARM_EXT_V6T2, "revsh"},
+ {ARM_EXT_V6T2, "rfedb"},
+ {ARM_EXT_V6T2, "rfeia"},
+ {ARM_EXT_V6T2, "ror"},
+ {ARM_EXT_V6T2, "rsb"},
+ {ARM_EXT_V6T2, "sadd16"},
+ {ARM_EXT_V6T2, "sadd8"},
+ {ARM_EXT_V6T2, "sasx"},
+ {ARM_EXT_V6T2, "sbc"},
+ {ARM_EXT_V6T2, "sbfx"},
+ {ARM_EXT_V6T2, "sel"},
+ {ARM_EXT_V6T2, "sev"},
+ {ARM_EXT_V6T2, "shadd16"},
+ {ARM_EXT_V6T2, "shadd8"},
+ {ARM_EXT_V6T2, "shasx"},
+ {ARM_EXT_V6T2, "shsax"},
+ {ARM_EXT_V6T2, "shsub16"},
+ {ARM_EXT_V6T2, "shsub8"},
+ {ARM_EXT_V6T2, "smla"},
+ {ARM_EXT_V6T2, "smlad"},
+ {ARM_EXT_V6T2, "smlal"},
+ {ARM_EXT_V6T2, "smlald"},
+ {ARM_EXT_V6T2, "smlaw"},
+ {ARM_EXT_V6T2, "smlsd"},
+ {ARM_EXT_V6T2, "smlsld"},
+ {ARM_EXT_V6T2, "smmla"},
+ {ARM_EXT_V6T2, "smmls"},
+ {ARM_EXT_V6T2, "smmul"},
+ {ARM_EXT_V6T2, "smuad"},
+ {ARM_EXT_V6T2, "smul"},
+ {ARM_EXT_V6T2, "smull"},
+ {ARM_EXT_V6T2, "smulw"},
+ {ARM_EXT_V6T2, "smusd"},
+ {ARM_EXT_V6T2, "srsdb"},
+ {ARM_EXT_V6T2, "srsia"},
+ {ARM_EXT_V6T2, "ssat"},
+ {ARM_EXT_V6T2, "ssat16"},
+ {ARM_EXT_V6T2, "ssax"},
+ {ARM_EXT_V6T2, "ssub16"},
+ {ARM_EXT_V6T2, "ssub8"},
+ {ARM_EXT_V6T2, "stmdb"},
+ {ARM_EXT_V6T2, "stmia"},
+ {ARM_EXT_V6T2, "str"},
+ {ARM_EXT_V6T2, "strd"},
+ {ARM_EXT_V6T2, "strex"},
+ {ARM_EXT_V6T2, "strexd"},
+ {ARM_EXT_V6T2, "strht"},
+ {ARM_EXT_V6T2, "sub"},
+ {ARM_EXT_V6T2, "subs"},
+ {ARM_EXT_V6T2, "subw"},
+ {ARM_EXT_V6T2, "sxtab"},
+ {ARM_EXT_V6T2, "sxtab16"},
+ {ARM_EXT_V6T2, "sxtah"},
+ {ARM_EXT_V6T2, "sxtb"},
+ {ARM_EXT_V6T2, "sxtb16"},
+ {ARM_EXT_V6T2, "sxth"},
+ {ARM_EXT_V6T2, "tbb"},
+ {ARM_EXT_V6T2, "tbh"},
+ {ARM_EXT_V6T2, "teq"},
+ {ARM_EXT_V6T2, "tst"},
+ {ARM_EXT_V6T2, "uadd16"},
+ {ARM_EXT_V6T2, "uadd8"},
+ {ARM_EXT_V6T2, "uasx"},
+ {ARM_EXT_V6T2, "ubfx"},
+ {ARM_EXT_V6T2, "uhadd16"},
+ {ARM_EXT_V6T2, "uhadd8"},
+ {ARM_EXT_V6T2, "uhasx"},
+ {ARM_EXT_V6T2, "uhsax"},
+ {ARM_EXT_V6T2, "uhsub16"},
+ {ARM_EXT_V6T2, "uhsub8"},
+ {ARM_EXT_V6T2, "umaal"},
+ {ARM_EXT_V6T2, "umlal"},
+ {ARM_EXT_V6T2, "umull"},
+ {ARM_EXT_V6T2, "uqadd16"},
+ {ARM_EXT_V6T2, "uqadd8"},
+ {ARM_EXT_V6T2, "uqasx"},
+ {ARM_EXT_V6T2, "uqsax"},
+ {ARM_EXT_V6T2, "uqsub16"},
+ {ARM_EXT_V6T2, "uqsub8"},
+ {ARM_EXT_V6T2, "usad8"},
+ {ARM_EXT_V6T2, "usada8"},
+ {ARM_EXT_V6T2, "usat"},
+ {ARM_EXT_V6T2, "usat16"},
+ {ARM_EXT_V6T2, "usax"},
+ {ARM_EXT_V6T2, "usub16"},
+ {ARM_EXT_V6T2, "usub8"},
+ {ARM_EXT_V6T2, "uxtab"},
+ {ARM_EXT_V6T2, "uxtab16"},
+ {ARM_EXT_V6T2, "uxtah"},
+ {ARM_EXT_V6T2, "uxtb"},
+ {ARM_EXT_V6T2, "uxtb16"},
+ {ARM_EXT_V6T2, "uxth"},
+ {ARM_EXT_V6T2, "wfe"},
+ {ARM_EXT_V6T2, "wfi"},
+ {ARM_EXT_V6T2, "yield"},
+ {ARM_EXT_V6, "uadd16"},
+ {ARM_EXT_V6, "uadd8"},
+ {ARM_EXT_V6, "uasx"},
+ {ARM_EXT_V6, "uhadd16"},
+ {ARM_EXT_V6, "uhadd8"},
+ {ARM_EXT_V6, "uhasx"},
+ {ARM_EXT_V6, "uhsax"},
+ {ARM_EXT_V6, "uhsub16"},
+ {ARM_EXT_V6, "uhsub8"},
+ {ARM_EXT_V6, "umaal"},
+ {ARM_EXT_V6, "uqadd16"},
+ {ARM_EXT_V6, "uqadd8"},
+ {ARM_EXT_V6, "uqasx"},
+ {ARM_EXT_V6, "uqsax"},
+ {ARM_EXT_V6, "uqsub16"},
+ {ARM_EXT_V6, "uqsub8"},
+ {ARM_EXT_V6, "usad8"},
+ {ARM_EXT_V6, "usada8"},
+ {ARM_EXT_V6, "usat"},
+ {ARM_EXT_V6, "usat16"},
+ {ARM_EXT_V6, "usax"},
+ {ARM_EXT_V6, "usub16"},
+ {ARM_EXT_V6, "usub8"},
+ {ARM_EXT_V6, "uxtab"},
+ {ARM_EXT_V6, "uxtab16"},
+ {ARM_EXT_V6, "uxtah"},
+ {ARM_EXT_V6, "uxtb"},
+ {ARM_EXT_V6, "uxtb16"},
+ {ARM_EXT_V6, "uxth"},
+ {ARM_EXT_V7, "dbg"},
+ {ARM_EXT_V7, "dmb"},
+ {ARM_EXT_V7, "dsb"},
+ {ARM_EXT_V7, "isb"},
+ {ARM_EXT_V7, "pli"},
+ {ARM_EXT_VIRT, "eret"},
+ {ARM_EXT_VIRT, "hvc"},
+ {ARM_EXT_VIRT, "msr"},
+ {FPU_FPA_EXT_V1, "abs"},
+ {FPU_FPA_EXT_V1, "acs"},
+ {FPU_FPA_EXT_V1, "adf"},
+ {FPU_FPA_EXT_V1, "asn"},
+ {FPU_FPA_EXT_V1, "atn"},
+ {FPU_FPA_EXT_V1, "cmf"},
+ {FPU_FPA_EXT_V1, "cmfe"},
+ {FPU_FPA_EXT_V1, "cnf"},
+ {FPU_FPA_EXT_V1, "cnfe"},
+ {FPU_FPA_EXT_V1, "cos"},
+ {FPU_FPA_EXT_V1, "dvf"},
+ {FPU_FPA_EXT_V1, "exp"},
+ {FPU_FPA_EXT_V1, "fdv"},
+ {FPU_FPA_EXT_V1, "fix"},
+ {FPU_FPA_EXT_V1, "flt"},
+ {FPU_FPA_EXT_V1, "fml"},
+ {FPU_FPA_EXT_V1, "frd"},
+ {FPU_FPA_EXT_V1, "ldf"},
+ {FPU_FPA_EXT_V1, "lgn"},
+ {FPU_FPA_EXT_V1, "log"},
+ {FPU_FPA_EXT_V1, "mnf"},
+ {FPU_FPA_EXT_V1, "muf"},
+ {FPU_FPA_EXT_V1, "mvf"},
+ {FPU_FPA_EXT_V1, "nrm"},
+ {FPU_FPA_EXT_V1, "pol"},
+ {FPU_FPA_EXT_V1, "pow"},
+ {FPU_FPA_EXT_V1, "rdf"},
+ {FPU_FPA_EXT_V1, "rfc"},
+ {FPU_FPA_EXT_V1, "rfs"},
+ {FPU_FPA_EXT_V1, "rmf"},
+ {FPU_FPA_EXT_V1, "rnd"},
+ {FPU_FPA_EXT_V1, "rpw"},
+ {FPU_FPA_EXT_V1, "rsf"},
+ {FPU_FPA_EXT_V1, "sin"},
+ {FPU_FPA_EXT_V1, "sqt"},
+ {FPU_FPA_EXT_V1, "stf"},
+ {FPU_FPA_EXT_V1, "suf"},
+ {FPU_FPA_EXT_V1, "tan"},
+ {FPU_FPA_EXT_V1, "urd"},
+ {FPU_FPA_EXT_V1, "wfc"},
+ {FPU_FPA_EXT_V1, "wfs"},
+ {FPU_FPA_EXT_V2, "lfm"},
+ {FPU_FPA_EXT_V2, "sfm"},
+ {FPU_NEON_EXT_FMA, "vfma"},
+ {FPU_NEON_EXT_FMA, "vfms"},
+ {FPU_NEON_EXT_V1, "vaba"},
+ {FPU_NEON_EXT_V1, "vabal"},
+ {FPU_NEON_EXT_V1, "vabd"},
+ {FPU_NEON_EXT_V1, "vabdl"},
+ {FPU_NEON_EXT_V1, "vabs"},
+ {FPU_NEON_EXT_V1, "vacge"},
+ {FPU_NEON_EXT_V1, "vacgt"},
+ {FPU_NEON_EXT_V1, "vadd"},
+ {FPU_NEON_EXT_V1, "vaddhn"},
+ {FPU_NEON_EXT_V1, "vaddl"},
+ {FPU_NEON_EXT_V1, "vaddw"},
+ {FPU_NEON_EXT_V1, "vand"},
+ {FPU_NEON_EXT_V1, "vbic"},
+ {FPU_NEON_EXT_V1, "vbif"},
+ {FPU_NEON_EXT_V1, "vbit"},
+ {FPU_NEON_EXT_V1, "vbsl"},
+ {FPU_NEON_EXT_V1, "vceq"},
+ {FPU_NEON_EXT_V1, "vcge"},
+ {FPU_NEON_EXT_V1, "vcgt"},
+ {FPU_NEON_EXT_V1, "vcle"},
+ {FPU_NEON_EXT_V1, "vcls"},
+ {FPU_NEON_EXT_V1, "vclt"},
+ {FPU_NEON_EXT_V1, "vclz"},
+ {FPU_NEON_EXT_V1, "vcnt"},
+ {FPU_NEON_EXT_V1, "vcvt"},
+ {FPU_NEON_EXT_V1, "vdup"},
+ {FPU_NEON_EXT_V1, "veor"},
+ {FPU_NEON_EXT_V1, "vext"},
+ {FPU_NEON_EXT_V1, "vhadd"},
+ {FPU_NEON_EXT_V1, "vhsub"},
+ {FPU_NEON_EXT_V1, "vld1"},
+ {FPU_NEON_EXT_V1, "vld2"},
+ {FPU_NEON_EXT_V1, "vld3"},
+ {FPU_NEON_EXT_V1, "vld4"},
+ {FPU_NEON_EXT_V1, "vmax"},
+ {FPU_NEON_EXT_V1, "vmin"},
+ {FPU_NEON_EXT_V1, "vmla"},
+ {FPU_NEON_EXT_V1, "vmlal"},
+ {FPU_NEON_EXT_V1, "vmls"},
+ {FPU_NEON_EXT_V1, "vmlsl"},
+ {FPU_NEON_EXT_V1, "vmov"},
+ {FPU_NEON_EXT_V1, "vmovl"},
+ {FPU_NEON_EXT_V1, "vmovn"},
+ {FPU_NEON_EXT_V1, "vmul"},
+ {FPU_NEON_EXT_V1, "vmull"},
+ {FPU_NEON_EXT_V1, "vmvn"},
+ {FPU_NEON_EXT_V1, "vneg"},
+ {FPU_NEON_EXT_V1, "vorn"},
+ {FPU_NEON_EXT_V1, "vorr"},
+ {FPU_NEON_EXT_V1, "vpadal"},
+ {FPU_NEON_EXT_V1, "vpadd"},
+ {FPU_NEON_EXT_V1, "vpaddl"},
+ {FPU_NEON_EXT_V1, "vpmax"},
+ {FPU_NEON_EXT_V1, "vpmin"},
+ {FPU_NEON_EXT_V1, "vqabs"},
+ {FPU_NEON_EXT_V1, "vqadd"},
+ {FPU_NEON_EXT_V1, "vqdmlal"},
+ {FPU_NEON_EXT_V1, "vqdmlsl"},
+ {FPU_NEON_EXT_V1, "vqdmulh"},
+ {FPU_NEON_EXT_V1, "vqdmull"},
+ {FPU_NEON_EXT_V1, "vqmovn"},
+ {FPU_NEON_EXT_V1, "vqmovun"},
+ {FPU_NEON_EXT_V1, "vqneg"},
+ {FPU_NEON_EXT_V1, "vqrdmulh"},
+ {FPU_NEON_EXT_V1, "vqrshl"},
+ {FPU_NEON_EXT_V1, "vqrshrn"},
+ {FPU_NEON_EXT_V1, "vqrshrun"},
+ {FPU_NEON_EXT_V1, "vqshl"},
+ {FPU_NEON_EXT_V1, "vqshlu"},
+ {FPU_NEON_EXT_V1, "vqshrn"},
+ {FPU_NEON_EXT_V1, "vqshrun"},
+ {FPU_NEON_EXT_V1, "vqsub"},
+ {FPU_NEON_EXT_V1, "vraddhn"},
+ {FPU_NEON_EXT_V1, "vrecpe"},
+ {FPU_NEON_EXT_V1, "vrecps"},
+ {FPU_NEON_EXT_V1, "vrev16"},
+ {FPU_NEON_EXT_V1, "vrev32"},
+ {FPU_NEON_EXT_V1, "vrev64"},
+ {FPU_NEON_EXT_V1, "vrhadd"},
+ {FPU_NEON_EXT_V1, "vrshl"},
+ {FPU_NEON_EXT_V1, "vrshr"},
+ {FPU_NEON_EXT_V1, "vrshrn"},
+ {FPU_NEON_EXT_V1, "vrsqrte"},
+ {FPU_NEON_EXT_V1, "vrsqrts"},
+ {FPU_NEON_EXT_V1, "vrsra"},
+ {FPU_NEON_EXT_V1, "vrsubhn"},
+ {FPU_NEON_EXT_V1, "vshl"},
+ {FPU_NEON_EXT_V1, "vshll"},
+ {FPU_NEON_EXT_V1, "vshr"},
+ {FPU_NEON_EXT_V1, "vshrn"},
+ {FPU_NEON_EXT_V1, "vsli"},
+ {FPU_NEON_EXT_V1, "vsra"},
+ {FPU_NEON_EXT_V1, "vsri"},
+ {FPU_NEON_EXT_V1, "vsub"},
+ {FPU_NEON_EXT_V1, "vsubhn"},
+ {FPU_NEON_EXT_V1, "vsubl"},
+ {FPU_NEON_EXT_V1, "vsubw"},
+ {FPU_NEON_EXT_V1, "vswp"},
+ {FPU_NEON_EXT_V1, "vtbl"},
+ {FPU_NEON_EXT_V1, "vtbx"},
+ {FPU_NEON_EXT_V1, "vtrn"},
+ {FPU_NEON_EXT_V1, "vtst"},
+ {FPU_NEON_EXT_V1, "vuzp"},
+ {FPU_NEON_EXT_V1, "vzip"},
+ {FPU_VFP_EXT_FMA, "vfma"},
+ {FPU_VFP_EXT_FMA, "vfms"},
+ {FPU_VFP_EXT_FMA, "vfnma"},
+ {FPU_VFP_EXT_FMA, "vfnms"},
+ {FPU_VFP_EXT_FP16, "vcvt"},
+ {FPU_VFP_EXT_V1, "vabs"},
+ {FPU_VFP_EXT_V1, "vadd"},
+ {FPU_VFP_EXT_V1, "vcmp"},
+ {FPU_VFP_EXT_V1, "vcvt"},
+ {FPU_VFP_EXT_V1, "vdiv"},
+ {FPU_VFP_EXT_V1, "vmla"},
+ {FPU_VFP_EXT_V1, "vmls"},
+ {FPU_VFP_EXT_V1, "vmov"},
+ {FPU_VFP_EXT_V1, "vmul"},
+ {FPU_VFP_EXT_V1, "vneg"},
+ {FPU_VFP_EXT_V1, "vnmla"},
+ {FPU_VFP_EXT_V1, "vnmls"},
+ {FPU_VFP_EXT_V1, "vnmul"},
+ {FPU_VFP_EXT_V1, "vsqrt"},
+ {FPU_VFP_EXT_V1, "vsub"},
+ {FPU_VFP_EXT_V1xD, "fldmdbx"},
+ {FPU_VFP_EXT_V1xD, "fldmiax"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vldmdb"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vldmia"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vldr"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vpop"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vpush"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vstmdb"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vstmia"},
+ {FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1, "vstr"},
+ {FPU_VFP_EXT_V1xD, "fstmdbx"},
+ {FPU_VFP_EXT_V1xD, "fstmiax"},
+ {FPU_VFP_EXT_V1xD, "vabs"},
+ {FPU_VFP_EXT_V1xD, "vadd"},
+ {FPU_VFP_EXT_V1xD, "vcmp"},
+ {FPU_VFP_EXT_V1xD, "vcvt"},
+ {FPU_VFP_EXT_V1xD, "vdiv"},
+ {FPU_VFP_EXT_V1xD, "vldmdb"},
+ {FPU_VFP_EXT_V1xD, "vldmia"},
+ {FPU_VFP_EXT_V1xD, "vldr"},
+ {FPU_VFP_EXT_V1xD, "vmla"},
+ {FPU_VFP_EXT_V1xD, "vmls"},
+ {FPU_VFP_EXT_V1xD, "vmov"},
+ {FPU_VFP_EXT_V1xD, "vmrs"},
+ {FPU_VFP_EXT_V1xD, "vmsr"},
+ {FPU_VFP_EXT_V1xD, "vmul"},
+ {FPU_VFP_EXT_V1xD, "vneg"},
+ {FPU_VFP_EXT_V1xD, "vnmla"},
+ {FPU_VFP_EXT_V1xD, "vnmls"},
+ {FPU_VFP_EXT_V1xD, "vnmul"},
+ {FPU_VFP_EXT_V1xD, "vpop"},
+ {FPU_VFP_EXT_V1xD, "vpush"},
+ {FPU_VFP_EXT_V1xD, "vsqrt"},
+ {FPU_VFP_EXT_V1xD, "vstmdb"},
+ {FPU_VFP_EXT_V1xD, "vstmia"},
+ {FPU_VFP_EXT_V1xD, "vstr"},
+ {FPU_VFP_EXT_V1xD, "vsub"},
+ {FPU_VFP_EXT_V2, "vmov"},
+ {FPU_VFP_EXT_V3, "vcvt"},
+ {FPU_VFP_EXT_V3, "vmov"},
+ {FPU_VFP_EXT_V3xD, "vcvt"},
+ {FPU_VFP_EXT_V3xD, "vmov"},
+ {0, 0}
+};
diff --git a/whichasm-0.01/classifier.h b/whichasm-0.01/classifier.h
new file mode 100644
index 0000000..9a595c9
--- /dev/null
+++ b/whichasm-0.01/classifier.h
@@ -0,0 +1,17 @@
+/* standard types */
+
+enum class {
+ UNKNOWN,
+ MNEMONIC,
+ REGISTER
+};
+
+struct token {
+ char *name;
+ struct token *next;
+};
+
+int classifier_arm(char *token_name);
+int classifier_ppc(char *token_name);
+int classifier_s390x(char *token_name);
+int classifier_x86(char *token_name);
diff --git a/whichasm-0.01/classifier_arm.c b/whichasm-0.01/classifier_arm.c
new file mode 100644
index 0000000..b2c127c
--- /dev/null
+++ b/whichasm-0.01/classifier_arm.c
@@ -0,0 +1,58 @@
+/*
+ * Classifier for ARM assembly language
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ */
+
+/* ARM opcodes usually have a format like this:
+ * mnemonic <Rd>, <Ra>, <Rb>...
+ * Register names include the following:
+ *
+ * 32-bit GPRS: R0-R15 (fp, ip, sp, lr, pc)
+ * 32-bit shadow FIQ mode GPRS: R8_FIQ-R14_FIQ
+ * 32-bit shadow SVC mode GPRS: R13_SVC, R14_SVC
+ * 32-bit shadow ABT mode GPRS: R13_ABT, R14_ABT
+ * 32-bit shadow IRQ mode GPRS: R13_IRQ, R14_IRQ
+ * 32-bit program status registers: APSR, SPSR, CPSR (including shadow regs)
+ * (also APCS defined a1-a4, v1-v8, s0-s32, d0-d16, etc.)
+ * (not doing floating point registers at this stage)
+ */
+
+#include "arm.h"
+#include <stdio.h>
+#include <sys/types.h>
+#include <regex.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "classifier.h"
+
+int classifier_arm(char *token_name)
+{
+ const struct arm_opcode *opcode;
+ const struct arm_reg *reg;
+
+ for (opcode=arm_opcodes;opcode->assembler;opcode++) {
+ // TODO - catch variants of assembly language mnemonics
+ // previously limited to opcode->assembler length
+ // need to catch assembly that has appended letters
+ if (strlen(token_name) == strlen(opcode->assembler))
+ if (0 == strncasecmp(token_name, opcode->assembler,
+ strlen(opcode->assembler))) {
+ //printf("opcode: %s\n", opcode->assembler);
+ return MNEMONIC;
+ }
+ }
+
+ for (reg=arm_regs;reg->assembler;reg++) {
+
+ if (strlen(token_name) == strlen(reg->assembler))
+ if (0 == strncasecmp(reg->assembler,token_name,
+ strlen(token_name)))
+ //printf("register: %s\n", reg->assembler);
+ return REGISTER;
+ }
+
+ return UNKNOWN;
+}
diff --git a/whichasm-0.01/classifier_ppc.c b/whichasm-0.01/classifier_ppc.c
new file mode 100644
index 0000000..dcea4c7
--- /dev/null
+++ b/whichasm-0.01/classifier_ppc.c
@@ -0,0 +1,61 @@
+/*
+ * Classifier for ppc assembly language
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ */
+
+/* PowerPC/POWER opcodes have a form similar to:
+ * nmemonic <Rt>, <Ra>, <Rb>...
+ * Register names include the following (32-bit is notional):
+ * 32/64-bit GPRS: GPR0-GPR31
+ * 32/64-bit SPRS: SPRG4-SPRG7
+ * 32-bit Condition register: CR
+ * 32/64-bit Link Register: LR
+ * 32/64-bit Count Register: CTR
+ * 32/64-bit Fixed-Point Exception Register: XER
+ * 32-bit VR Save Register: VRSAVE
+ * 32/64-bit Floating Point: FPR0-FPR31
+ * 32/64-bit Vector registers: VR0-VR31
+ * 32-bit Vector Status control: VSCR
+ * 32/64-bit Vector scalar registers: VSR0-VSR63
+ */
+
+#include "ppc.h"
+#include <stdio.h>
+#include <sys/types.h>
+#include <regex.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "classifier.h"
+
+int classifier_ppc(char *token_name)
+{
+ const struct ppc_opcode *opcode;
+ const struct ppc_reg *reg;
+
+ for (opcode=ppc_opcodes;opcode->assembler;opcode++) {
+ // TODO - catch variants of assembly language mnemonics
+ // previously limited to opcode->assembler length
+ // need to catch assembly that has appended letters
+ if (strlen(token_name) == strlen(opcode->assembler))
+ if (0 == strncasecmp(token_name, opcode->assembler,
+ strlen(opcode->assembler))) {
+ //printf("opcode: %s\n", opcode->assembler);
+ return MNEMONIC;
+ }
+ }
+
+ for (reg=ppc_regs;reg->assembler;reg++) {
+ if (strlen(token_name) == strlen(reg->assembler))
+ if (0 == strncasecmp(reg->assembler,token_name,
+ strlen(token_name))) {
+ //printf("ppc register match\n");
+ return REGISTER;
+ }
+ }
+
+ return UNKNOWN;
+}
+
diff --git a/whichasm-0.01/classifier_s390x.c b/whichasm-0.01/classifier_s390x.c
new file mode 100644
index 0000000..2ce9d93
--- /dev/null
+++ b/whichasm-0.01/classifier_s390x.c
@@ -0,0 +1,53 @@
+/*
+ * Classifier for s390x assembly language
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ */
+
+/* s390x opcodes have 26 different formats but mostly match this:
+ * nmemonic <param1>, <param2>, <param3>...
+ * Register names include the following:
+ * 32/64-bit GPRS: R0-R15 (GPR0-GPR15)
+ * 32/64-bit control registers: CR0-CR15
+ * 32-bit access registers: AR0-AR15
+ * 64-bit floating point: FP0-FP15
+ * 64/128-bit status reg: PSW
+ */
+
+#include "s390x.h"
+#include <stdio.h>
+#include <sys/types.h>
+#include <regex.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "classifier.h"
+
+int classifier_s390x(char *token_name)
+{
+ const struct s390x_opcode *opcode;
+ const struct s390x_reg *reg;
+
+ for (opcode=s390x_opcodes;opcode->assembler;opcode++) {
+ // TODO - catch variants of assembly language mnemonics
+ // previously limited to opcode->assembler length
+ // need to catch assembly that has appended letters
+ if (strlen(token_name) == strlen(opcode->assembler))
+ if (0 == strncasecmp(token_name, opcode->assembler,
+ strlen(opcode->assembler))) {
+ //printf("opcode: %s\n", opcode->assembler);
+ return MNEMONIC;
+ }
+ }
+
+ for (reg=s390x_regs;reg->assembler;reg++) {
+ if (strlen(token_name) == strlen(reg->assembler))
+ if (0 == strncasecmp(reg->assembler,token_name,
+ strlen(token_name)))
+ return REGISTER;
+ }
+
+ return UNKNOWN;
+}
+
diff --git a/whichasm-0.01/classifier_x86.c b/whichasm-0.01/classifier_x86.c
new file mode 100644
index 0000000..a669d81
--- /dev/null
+++ b/whichasm-0.01/classifier_x86.c
@@ -0,0 +1,56 @@
+/*
+ * Classifier for x86 assembly language
+ *
+ * Copyright (C) 2012 Red Hat, Inc.
+ *
+ */
+
+/* x86 opcodes usually have one of two syntax forms (dest/source reversed):
+ * nmemonic <param1>, <param2>, <param3>...
+ * Register names include the following:
+ * 64-bit GPRS: RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8-R15
+ * 32-bit GPRS: EAX, EBX, ECX, EDX
+ * 16-bit GPRS: AX, BX, CX, DX
+ * Segment registers: CS, DS, ES, FS, GS, SS
+ * Index and pointers: ESI, EDI, EBP, EIP, ESP, RIP
+ * Flags: FLAGS, EFLAGS, RFLAGS
+ */
+
+#include "x86.h"
+#include <stdio.h>
+#include <sys/types.h>
+#include <regex.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "classifier.h"
+
+int classifier_x86(char *token_name)
+{
+ const struct x86_opcode *opcode;
+ const struct x86_reg *reg;
+
+ for (opcode=x86_opcodes;opcode->assembler;opcode++) {
+ // TODO - catch variants of assembly language mnemonics
+ // previously limited to opcode->assembler length
+ // need to catch assembly that has appended letters
+ if (strlen(token_name) == strlen(opcode->assembler))
+ if (0 == strncasecmp(token_name, opcode->assembler,
+ strlen(opcode->assembler))) {
+ //printf("opcode: %s\n", opcode->assembler);
+ return MNEMONIC;
+ }
+ }
+
+ for (reg=x86_regs;reg->assembler;reg++) {
+ if (strlen(token_name) == strlen(reg->assembler))
+ if (0 == strncasecmp(reg->assembler,token_name,
+ strlen(token_name))) {
+ //printf("x86 register match\n");
+ return REGISTER;
+ }
+ }
+
+ return UNKNOWN;
+}
+
diff --git a/whichasm-0.01/ppc.h b/whichasm-0.01/ppc.h
new file mode 100644
index 0000000..178b1ca
--- /dev/null
+++ b/whichasm-0.01/ppc.h
@@ -0,0 +1,3210 @@
+struct ppc_opcode
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+struct ppc_reg
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+enum ppc_arch
+{
+ PPC_NONE,
+ PPC_GENERIC
+};
+
+static const struct ppc_reg ppc_regs[] =
+{
+ {PPC_GENERIC, "R0"},
+ {PPC_GENERIC, "R1"},
+ {PPC_GENERIC, "R2"},
+ {PPC_GENERIC, "R3"},
+ {PPC_GENERIC, "R4"},
+ {PPC_GENERIC, "R5"},
+ {PPC_GENERIC, "R6"},
+ {PPC_GENERIC, "R7"},
+ {PPC_GENERIC, "R8"},
+ {PPC_GENERIC, "R9"},
+ {PPC_GENERIC, "R10"},
+ {PPC_GENERIC, "R11"},
+ {PPC_GENERIC, "R12"},
+ {PPC_GENERIC, "R13"},
+ {PPC_GENERIC, "R14"},
+ {PPC_GENERIC, "R15"},
+ {PPC_GENERIC, "R16"},
+ {PPC_GENERIC, "R17"},
+ {PPC_GENERIC, "R18"},
+ {PPC_GENERIC, "R19"},
+ {PPC_GENERIC, "R20"},
+ {PPC_GENERIC, "R21"},
+ {PPC_GENERIC, "R22"},
+ {PPC_GENERIC, "R23"},
+ {PPC_GENERIC, "R24"},
+ {PPC_GENERIC, "R25"},
+ {PPC_GENERIC, "R26"},
+ {PPC_GENERIC, "R27"},
+ {PPC_GENERIC, "R28"},
+ {PPC_GENERIC, "R29"},
+ {PPC_GENERIC, "R30"},
+ {PPC_GENERIC, "R31"},
+ {PPC_GENERIC, "CR"},
+ {PPC_GENERIC, "LR"},
+ {PPC_GENERIC, "CTR"},
+ {PPC_GENERIC, "XER"},
+ {0, 0}
+};
+
+static const struct ppc_opcode ppc_opcodes[] =
+{
+ {PPC_GENERIC, ""},
+ {PPC_GENERIC, "attn"},
+ {PPC_GENERIC, "tdlgti"},
+ {PPC_GENERIC, "tdllti"},
+ {PPC_GENERIC, "tdeqi"},
+ {PPC_GENERIC, "tdlgei"},
+ {PPC_GENERIC, "tdlnli"},
+ {PPC_GENERIC, "tdllei"},
+ {PPC_GENERIC, "tdlngi"},
+ {PPC_GENERIC, "tdgti"},
+ {PPC_GENERIC, "tdgei"},
+ {PPC_GENERIC, "tdnli"},
+ {PPC_GENERIC, "tdlti"},
+ {PPC_GENERIC, "tdlei"},
+ {PPC_GENERIC, "tdngi"},
+ {PPC_GENERIC, "tdnei"},
+ {PPC_GENERIC, "tdi"},
+ {PPC_GENERIC, "twlgti"},
+ {PPC_GENERIC, "tlgti"},
+ {PPC_GENERIC, "twllti"},
+ {PPC_GENERIC, "tllti"},
+ {PPC_GENERIC, "tweqi"},
+ {PPC_GENERIC, "teqi"},
+ {PPC_GENERIC, "twlgei"},
+ {PPC_GENERIC, "tlgei"},
+ {PPC_GENERIC, "twlnli"},
+ {PPC_GENERIC, "tlnli"},
+ {PPC_GENERIC, "twllei"},
+ {PPC_GENERIC, "tllei"},
+ {PPC_GENERIC, "twlngi"},
+ {PPC_GENERIC, "tlngi"},
+ {PPC_GENERIC, "twgti"},
+ {PPC_GENERIC, "tgti"},
+ {PPC_GENERIC, "twgei"},
+ {PPC_GENERIC, "tgei"},
+ {PPC_GENERIC, "twnli"},
+ {PPC_GENERIC, "tnli"},
+ {PPC_GENERIC, "twlti"},
+ {PPC_GENERIC, "tlti"},
+ {PPC_GENERIC, "twlei"},
+ {PPC_GENERIC, "tlei"},
+ {PPC_GENERIC, "twngi"},
+ {PPC_GENERIC, "tngi"},
+ {PPC_GENERIC, "twnei"},
+ {PPC_GENERIC, "tnei"},
+ {PPC_GENERIC, "twi"},
+ {PPC_GENERIC, "ti"},
+ {PPC_GENERIC, "ps_cmpu0"},
+ {PPC_GENERIC, "vaddubm"},
+ {PPC_GENERIC, "vmaxub"},
+ {PPC_GENERIC, "vrlb"},
+ {PPC_GENERIC, "vcmpequb"},
+ {PPC_GENERIC, "vmuloub"},
+ {PPC_GENERIC, "vaddfp"},
+ {PPC_GENERIC, "psq_lx"},
+ {PPC_GENERIC, "vmrghb"},
+ {PPC_GENERIC, "psq_stx"},
+ {PPC_GENERIC, "vpkuhum"},
+ {PPC_GENERIC, "mulhhwu"},
+ {PPC_GENERIC, "mulhhwu."},
+ {PPC_GENERIC, "ps_sum0"},
+ {PPC_GENERIC, "ps_sum0."},
+ {PPC_GENERIC, "ps_sum1"},
+ {PPC_GENERIC, "ps_sum1."},
+ {PPC_GENERIC, "ps_muls0"},
+ {PPC_GENERIC, "machhwu"},
+ {PPC_GENERIC, "ps_muls0."},
+ {PPC_GENERIC, "machhwu."},
+ {PPC_GENERIC, "ps_muls1"},
+ {PPC_GENERIC, "ps_muls1."},
+ {PPC_GENERIC, "ps_madds0"},
+ {PPC_GENERIC, "ps_madds0."},
+ {PPC_GENERIC, "ps_madds1"},
+ {PPC_GENERIC, "ps_madds1."},
+ {PPC_GENERIC, "vmhaddshs"},
+ {PPC_GENERIC, "vmhraddshs"},
+ {PPC_GENERIC, "vmladduhm"},
+ {PPC_GENERIC, "ps_div"},
+ {PPC_GENERIC, "vmsumubm"},
+ {PPC_GENERIC, "ps_div."},
+ {PPC_GENERIC, "vmsummbm"},
+ {PPC_GENERIC, "vmsumuhm"},
+ {PPC_GENERIC, "vmsumuhs"},
+ {PPC_GENERIC, "ps_sub"},
+ {PPC_GENERIC, "vmsumshm"},
+ {PPC_GENERIC, "ps_sub."},
+ {PPC_GENERIC, "vmsumshs"},
+ {PPC_GENERIC, "ps_add"},
+ {PPC_GENERIC, "vsel"},
+ {PPC_GENERIC, "ps_add."},
+ {PPC_GENERIC, "vperm"},
+ {PPC_GENERIC, "vsldoi"},
+ {PPC_GENERIC, "ps_sel"},
+ {PPC_GENERIC, "vmaddfp"},
+ {PPC_GENERIC, "ps_sel."},
+ {PPC_GENERIC, "vnmsubfp"},
+ {PPC_GENERIC, "ps_res"},
+ {PPC_GENERIC, "ps_res."},
+ {PPC_GENERIC, "ps_mul"},
+ {PPC_GENERIC, "ps_mul."},
+ {PPC_GENERIC, "ps_rsqrte"},
+ {PPC_GENERIC, "ps_rsqrte."},
+ {PPC_GENERIC, "ps_msub"},
+ {PPC_GENERIC, "ps_msub."},
+ {PPC_GENERIC, "ps_madd"},
+ {PPC_GENERIC, "ps_madd."},
+ {PPC_GENERIC, "ps_nmsub"},
+ {PPC_GENERIC, "ps_nmsub."},
+ {PPC_GENERIC, "ps_nmadd"},
+ {PPC_GENERIC, "ps_nmadd."},
+ {PPC_GENERIC, "ps_cmpo0"},
+ {PPC_GENERIC, "vadduhm"},
+ {PPC_GENERIC, "vmaxuh"},
+ {PPC_GENERIC, "vrlh"},
+ {PPC_GENERIC, "vcmpequh"},
+ {PPC_GENERIC, "vmulouh"},
+ {PPC_GENERIC, "vsubfp"},
+ {PPC_GENERIC, "psq_lux"},
+ {PPC_GENERIC, "vmrghh"},
+ {PPC_GENERIC, "psq_stux"},
+ {PPC_GENERIC, "vpkuwum"},
+ {PPC_GENERIC, "ps_neg"},
+ {PPC_GENERIC, "mulhhw"},
+ {PPC_GENERIC, "ps_neg."},
+ {PPC_GENERIC, "mulhhw."},
+ {PPC_GENERIC, "machhw"},
+ {PPC_GENERIC, "machhw."},
+ {PPC_GENERIC, "nmachhw"},
+ {PPC_GENERIC, "nmachhw."},
+ {PPC_GENERIC, "ps_cmpu1"},
+ {PPC_GENERIC, "vadduwm"},
+ {PPC_GENERIC, "vmaxuw"},
+ {PPC_GENERIC, "vrlw"},
+ {PPC_GENERIC, "vcmpequw"},
+ {PPC_GENERIC, "vmrghw"},
+ {PPC_GENERIC, "vpkuhus"},
+ {PPC_GENERIC, "ps_mr"},
+ {PPC_GENERIC, "ps_mr."},
+ {PPC_GENERIC, "machhwsu"},
+ {PPC_GENERIC, "machhwsu."},
+ {PPC_GENERIC, "ps_cmpo1"},
+ {PPC_GENERIC, "vabsdub"},
+ {PPC_GENERIC, "vcmpeqfp"},
+ {PPC_GENERIC, "vpkuwus"},
+ {PPC_GENERIC, "machhws"},
+ {PPC_GENERIC, "machhws."},
+ {PPC_GENERIC, "nmachhws"},
+ {PPC_GENERIC, "nmachhws."},
+ {PPC_GENERIC, "vabsduh"},
+ {PPC_GENERIC, "vmaxsb"},
+ {PPC_GENERIC, "vslb"},
+ {PPC_GENERIC, "vmulosb"},
+ {PPC_GENERIC, "vrefp"},
+ {PPC_GENERIC, "vmrglb"},
+ {PPC_GENERIC, "vpkshus"},
+ {PPC_GENERIC, "ps_nabs"},
+ {PPC_GENERIC, "mulchwu"},
+ {PPC_GENERIC, "ps_nabs."},
+ {PPC_GENERIC, "mulchwu."},
+ {PPC_GENERIC, "macchwu"},
+ {PPC_GENERIC, "macchwu."},
+ {PPC_GENERIC, "vabsduw"},
+ {PPC_GENERIC, "vmaxsh"},
+ {PPC_GENERIC, "vslh"},
+ {PPC_GENERIC, "vmulosh"},
+ {PPC_GENERIC, "vrsqrtefp"},
+ {PPC_GENERIC, "vmrglh"},
+ {PPC_GENERIC, "vpkswus"},
+ {PPC_GENERIC, "mulchw"},
+ {PPC_GENERIC, "mulchw."},
+ {PPC_GENERIC, "macchw"},
+ {PPC_GENERIC, "macchw."},
+ {PPC_GENERIC, "nmacchw"},
+ {PPC_GENERIC, "nmacchw."},
+ {PPC_GENERIC, "vaddcuw"},
+ {PPC_GENERIC, "vmaxsw"},
+ {PPC_GENERIC, "vslw"},
+ {PPC_GENERIC, "vexptefp"},
+ {PPC_GENERIC, "vmrglw"},
+ {PPC_GENERIC, "vpkshss"},
+ {PPC_GENERIC, "macchwsu"},
+ {PPC_GENERIC, "macchwsu."},
+ {PPC_GENERIC, "vsl"},
+ {PPC_GENERIC, "vcmpgefp"},
+ {PPC_GENERIC, "vlogefp"},
+ {PPC_GENERIC, "vpkswss"},
+ {PPC_GENERIC, "macchws"},
+ {PPC_GENERIC, "macchws."},
+ {PPC_GENERIC, "nmacchws"},
+ {PPC_GENERIC, "nmacchws."},
+ {PPC_GENERIC, "evaddw"},
+ {PPC_GENERIC, "vaddubs"},
+ {PPC_GENERIC, "evaddiw"},
+ {PPC_GENERIC, "vminub"},
+ {PPC_GENERIC, "evsubfw"},
+ {PPC_GENERIC, "evsubw"},
+ {PPC_GENERIC, "vsrb"},
+ {PPC_GENERIC, "evsubifw"},
+ {PPC_GENERIC, "evsubiw"},
+ {PPC_GENERIC, "vcmpgtub"},
+ {PPC_GENERIC, "evabs"},
+ {PPC_GENERIC, "vmuleub"},
+ {PPC_GENERIC, "evneg"},
+ {PPC_GENERIC, "evextsb"},
+ {PPC_GENERIC, "vrfin"},
+ {PPC_GENERIC, "evextsh"},
+ {PPC_GENERIC, "evrndw"},
+ {PPC_GENERIC, "vspltb"},
+ {PPC_GENERIC, "evcntlzw"},
+ {PPC_GENERIC, "evcntlsw"},
+ {PPC_GENERIC, "vupkhsb"},
+ {PPC_GENERIC, "brinc"},
+ {PPC_GENERIC, "ps_abs"},
+ {PPC_GENERIC, "ps_abs."},
+ {PPC_GENERIC, "evand"},
+ {PPC_GENERIC, "evandc"},
+ {PPC_GENERIC, "evxor"},
+ {PPC_GENERIC, "evmr"},
+ {PPC_GENERIC, "evor"},
+ {PPC_GENERIC, "evnor"},
+ {PPC_GENERIC, "evnot"},
+ {PPC_GENERIC, "get"},
+ {PPC_GENERIC, "eveqv"},
+ {PPC_GENERIC, "evorc"},
+ {PPC_GENERIC, "evnand"},
+ {PPC_GENERIC, "evsrwu"},
+ {PPC_GENERIC, "evsrws"},
+ {PPC_GENERIC, "evsrwiu"},
+ {PPC_GENERIC, "evsrwis"},
+ {PPC_GENERIC, "evslw"},
+ {PPC_GENERIC, "evslwi"},
+ {PPC_GENERIC, "evrlw"},
+ {PPC_GENERIC, "evsplati"},
+ {PPC_GENERIC, "evrlwi"},
+ {PPC_GENERIC, "evsplatfi"},
+ {PPC_GENERIC, "evmergehi"},
+ {PPC_GENERIC, "evmergelo"},
+ {PPC_GENERIC, "evmergehilo"},
+ {PPC_GENERIC, "evmergelohi"},
+ {PPC_GENERIC, "evcmpgtu"},
+ {PPC_GENERIC, "evcmpgts"},
+ {PPC_GENERIC, "evcmpltu"},
+ {PPC_GENERIC, "evcmplts"},
+ {PPC_GENERIC, "evcmpeq"},
+ {PPC_GENERIC, "cget"},
+ {PPC_GENERIC, "vadduhs"},
+ {PPC_GENERIC, "vminuh"},
+ {PPC_GENERIC, "vsrh"},
+ {PPC_GENERIC, "vcmpgtuh"},
+ {PPC_GENERIC, "vmuleuh"},
+ {PPC_GENERIC, "vrfiz"},
+ {PPC_GENERIC, "vsplth"},
+ {PPC_GENERIC, "vupkhsh"},
+ {PPC_GENERIC, "nget"},
+ {PPC_GENERIC, "evsel"},
+ {PPC_GENERIC, "ncget"},
+ {PPC_GENERIC, "evfsadd"},
+ {PPC_GENERIC, "vadduws"},
+ {PPC_GENERIC, "evfssub"},
+ {PPC_GENERIC, "vminuw"},
+ {PPC_GENERIC, "evfsabs"},
+ {PPC_GENERIC, "vsrw"},
+ {PPC_GENERIC, "evfsnabs"},
+ {PPC_GENERIC, "evfsneg"},
+ {PPC_GENERIC, "vcmpgtuw"},
+ {PPC_GENERIC, "evfsmul"},
+ {PPC_GENERIC, "evfsdiv"},
+ {PPC_GENERIC, "vrfip"},
+ {PPC_GENERIC, "evfscmpgt"},
+ {PPC_GENERIC, "vspltw"},
+ {PPC_GENERIC, "evfscmplt"},
+ {PPC_GENERIC, "evfscmpeq"},
+ {PPC_GENERIC, "vupklsb"},
+ {PPC_GENERIC, "evfscfui"},
+ {PPC_GENERIC, "evfscfsi"},
+ {PPC_GENERIC, "evfscfuf"},
+ {PPC_GENERIC, "evfscfsf"},
+ {PPC_GENERIC, "evfsctui"},
+ {PPC_GENERIC, "evfsctsi"},
+ {PPC_GENERIC, "evfsctuf"},
+ {PPC_GENERIC, "evfsctsf"},
+ {PPC_GENERIC, "evfsctuiz"},
+ {PPC_GENERIC, "put"},
+ {PPC_GENERIC, "evfsctsiz"},
+ {PPC_GENERIC, "evfststgt"},
+ {PPC_GENERIC, "evfststlt"},
+ {PPC_GENERIC, "evfststeq"},
+ {PPC_GENERIC, "cput"},
+ {PPC_GENERIC, "efsadd"},
+ {PPC_GENERIC, "efssub"},
+ {PPC_GENERIC, "efsabs"},
+ {PPC_GENERIC, "vsr"},
+ {PPC_GENERIC, "efsnabs"},
+ {PPC_GENERIC, "efsneg"},
+ {PPC_GENERIC, "vcmpgtfp"},
+ {PPC_GENERIC, "efsmul"},
+ {PPC_GENERIC, "efsdiv"},
+ {PPC_GENERIC, "vrfim"},
+ {PPC_GENERIC, "efscmpgt"},
+ {PPC_GENERIC, "efscmplt"},
+ {PPC_GENERIC, "efscmpeq"},
+ {PPC_GENERIC, "vupklsh"},
+ {PPC_GENERIC, "efscfd"},
+ {PPC_GENERIC, "efscfui"},
+ {PPC_GENERIC, "efscfsi"},
+ {PPC_GENERIC, "efscfuf"},
+ {PPC_GENERIC, "efscfsf"},
+ {PPC_GENERIC, "efsctui"},
+ {PPC_GENERIC, "efsctsi"},
+ {PPC_GENERIC, "efsctuf"},
+ {PPC_GENERIC, "efsctsf"},
+ {PPC_GENERIC, "efsctuiz"},
+ {PPC_GENERIC, "nput"},
+ {PPC_GENERIC, "efsctsiz"},
+ {PPC_GENERIC, "efststgt"},
+ {PPC_GENERIC, "efststlt"},
+ {PPC_GENERIC, "efststeq"},
+ {PPC_GENERIC, "efdadd"},
+ {PPC_GENERIC, "efdsub"},
+ {PPC_GENERIC, "efdcfuid"},
+ {PPC_GENERIC, "efdcfsid"},
+ {PPC_GENERIC, "efdabs"},
+ {PPC_GENERIC, "efdnabs"},
+ {PPC_GENERIC, "efdneg"},
+ {PPC_GENERIC, "efdmul"},
+ {PPC_GENERIC, "efddiv"},
+ {PPC_GENERIC, "efdctuidz"},
+ {PPC_GENERIC, "efdctsidz"},
+ {PPC_GENERIC, "efdcmpgt"},
+ {PPC_GENERIC, "efdcmplt"},
+ {PPC_GENERIC, "efdcmpeq"},
+ {PPC_GENERIC, "efdcfs"},
+ {PPC_GENERIC, "efdcfui"},
+ {PPC_GENERIC, "efdcfsi"},
+ {PPC_GENERIC, "efdcfuf"},
+ {PPC_GENERIC, "efdcfsf"},
+ {PPC_GENERIC, "efdctui"},
+ {PPC_GENERIC, "efdctsi"},
+ {PPC_GENERIC, "efdctuf"},
+ {PPC_GENERIC, "efdctsf"},
+ {PPC_GENERIC, "efdctuiz"},
+ {PPC_GENERIC, "ncput"},
+ {PPC_GENERIC, "efdctsiz"},
+ {PPC_GENERIC, "efdtstgt"},
+ {PPC_GENERIC, "efdtstlt"},
+ {PPC_GENERIC, "efdtsteq"},
+ {PPC_GENERIC, "evlddx"},
+ {PPC_GENERIC, "vaddsbs"},
+ {PPC_GENERIC, "evldd"},
+ {PPC_GENERIC, "evldwx"},
+ {PPC_GENERIC, "vminsb"},
+ {PPC_GENERIC, "evldw"},
+ {PPC_GENERIC, "evldhx"},
+ {PPC_GENERIC, "vsrab"},
+ {PPC_GENERIC, "evldh"},
+ {PPC_GENERIC, "vcmpgtsb"},
+ {PPC_GENERIC, "evlhhesplatx"},
+ {PPC_GENERIC, "vmulesb"},
+ {PPC_GENERIC, "evlhhesplat"},
+ {PPC_GENERIC, "vcfux"},
+ {PPC_GENERIC, "evlhhousplatx"},
+ {PPC_GENERIC, "vspltisb"},
+ {PPC_GENERIC, "evlhhousplat"},
+ {PPC_GENERIC, "evlhhossplatx"},
+ {PPC_GENERIC, "vpkpx"},
+ {PPC_GENERIC, "evlhhossplat"},
+ {PPC_GENERIC, "mullhwu"},
+ {PPC_GENERIC, "evlwhex"},
+ {PPC_GENERIC, "mullhwu."},
+ {PPC_GENERIC, "evlwhe"},
+ {PPC_GENERIC, "evlwhoux"},
+ {PPC_GENERIC, "evlwhou"},
+ {PPC_GENERIC, "evlwhosx"},
+ {PPC_GENERIC, "evlwhos"},
+ {PPC_GENERIC, "maclhwu"},
+ {PPC_GENERIC, "evlwwsplatx"},
+ {PPC_GENERIC, "maclhwu."},
+ {PPC_GENERIC, "evlwwsplat"},
+ {PPC_GENERIC, "evlwhsplatx"},
+ {PPC_GENERIC, "evlwhsplat"},
+ {PPC_GENERIC, "evstddx"},
+ {PPC_GENERIC, "evstdd"},
+ {PPC_GENERIC, "evstdwx"},
+ {PPC_GENERIC, "evstdw"},
+ {PPC_GENERIC, "evstdhx"},
+ {PPC_GENERIC, "evstdh"},
+ {PPC_GENERIC, "evstwhex"},
+ {PPC_GENERIC, "evstwhe"},
+ {PPC_GENERIC, "evstwhox"},
+ {PPC_GENERIC, "evstwho"},
+ {PPC_GENERIC, "evstwwex"},
+ {PPC_GENERIC, "evstwwe"},
+ {PPC_GENERIC, "evstwwox"},
+ {PPC_GENERIC, "evstwwo"},
+ {PPC_GENERIC, "vaddshs"},
+ {PPC_GENERIC, "vminsh"},
+ {PPC_GENERIC, "vsrah"},
+ {PPC_GENERIC, "vcmpgtsh"},
+ {PPC_GENERIC, "vmulesh"},
+ {PPC_GENERIC, "vcfsx"},
+ {PPC_GENERIC, "vspltish"},
+ {PPC_GENERIC, "vupkhpx"},
+ {PPC_GENERIC, "mullhw"},
+ {PPC_GENERIC, "mullhw."},
+ {PPC_GENERIC, "maclhw"},
+ {PPC_GENERIC, "maclhw."},
+ {PPC_GENERIC, "nmaclhw"},
+ {PPC_GENERIC, "nmaclhw."},
+ {PPC_GENERIC, "vaddsws"},
+ {PPC_GENERIC, "vminsw"},
+ {PPC_GENERIC, "vsraw"},
+ {PPC_GENERIC, "vcmpgtsw"},
+ {PPC_GENERIC, "vctuxs"},
+ {PPC_GENERIC, "vspltisw"},
+ {PPC_GENERIC, "maclhwsu"},
+ {PPC_GENERIC, "maclhwsu."},
+ {PPC_GENERIC, "vcmpbfp"},
+ {PPC_GENERIC, "vctsxs"},
+ {PPC_GENERIC, "vupklpx"},
+ {PPC_GENERIC, "maclhws"},
+ {PPC_GENERIC, "maclhws."},
+ {PPC_GENERIC, "nmaclhws"},
+ {PPC_GENERIC, "nmaclhws."},
+ {PPC_GENERIC, "vsububm"},
+ {PPC_GENERIC, "vavgub"},
+ {PPC_GENERIC, "evmhessf"},
+ {PPC_GENERIC, "vand"},
+ {PPC_GENERIC, "vcmpequb."},
+ {PPC_GENERIC, "udi0fcm."},
+ {PPC_GENERIC, "udi0fcm"},
+ {PPC_GENERIC, "evmhossf"},
+ {PPC_GENERIC, "evmheumi"},
+ {PPC_GENERIC, "evmhesmi"},
+ {PPC_GENERIC, "vmaxfp"},
+ {PPC_GENERIC, "evmhesmf"},
+ {PPC_GENERIC, "evmhoumi"},
+ {PPC_GENERIC, "vslo"},
+ {PPC_GENERIC, "evmhosmi"},
+ {PPC_GENERIC, "evmhosmf"},
+ {PPC_GENERIC, "machhwuo"},
+ {PPC_GENERIC, "machhwuo."},
+ {PPC_GENERIC, "ps_merge00"},
+ {PPC_GENERIC, "ps_merge00."},
+ {PPC_GENERIC, "evmhessfa"},
+ {PPC_GENERIC, "evmhossfa"},
+ {PPC_GENERIC, "evmheumia"},
+ {PPC_GENERIC, "evmhesmia"},
+ {PPC_GENERIC, "evmhesmfa"},
+ {PPC_GENERIC, "evmhoumia"},
+ {PPC_GENERIC, "evmhosmia"},
+ {PPC_GENERIC, "evmhosmfa"},
+ {PPC_GENERIC, "vsubuhm"},
+ {PPC_GENERIC, "vavguh"},
+ {PPC_GENERIC, "vandc"},
+ {PPC_GENERIC, "vcmpequh."},
+ {PPC_GENERIC, "udi1fcm."},
+ {PPC_GENERIC, "udi1fcm"},
+ {PPC_GENERIC, "evmwhssf"},
+ {PPC_GENERIC, "evmwlumi"},
+ {PPC_GENERIC, "vminfp"},
+ {PPC_GENERIC, "evmwhumi"},
+ {PPC_GENERIC, "vsro"},
+ {PPC_GENERIC, "evmwhsmi"},
+ {PPC_GENERIC, "evmwhsmf"},
+ {PPC_GENERIC, "evmwssf"},
+ {PPC_GENERIC, "machhwo"},
+ {PPC_GENERIC, "evmwumi"},
+ {PPC_GENERIC, "machhwo."},
+ {PPC_GENERIC, "evmwsmi"},
+ {PPC_GENERIC, "evmwsmf"},
+ {PPC_GENERIC, "nmachhwo"},
+ {PPC_GENERIC, "nmachhwo."},
+ {PPC_GENERIC, "ps_merge01"},
+ {PPC_GENERIC, "ps_merge01."},
+ {PPC_GENERIC, "evmwhssfa"},
+ {PPC_GENERIC, "evmwlumia"},
+ {PPC_GENERIC, "evmwhumia"},
+ {PPC_GENERIC, "evmwhsmia"},
+ {PPC_GENERIC, "evmwhsmfa"},
+ {PPC_GENERIC, "evmwssfa"},
+ {PPC_GENERIC, "evmwumia"},
+ {PPC_GENERIC, "evmwsmia"},
+ {PPC_GENERIC, "evmwsmfa"},
+ {PPC_GENERIC, "vsubuwm"},
+ {PPC_GENERIC, "vavguw"},
+ {PPC_GENERIC, "vor"},
+ {PPC_GENERIC, "vcmpequw."},
+ {PPC_GENERIC, "udi2fcm."},
+ {PPC_GENERIC, "udi2fcm"},
+ {PPC_GENERIC, "machhwsuo"},
+ {PPC_GENERIC, "machhwsuo."},
+ {PPC_GENERIC, "ps_merge10"},
+ {PPC_GENERIC, "ps_merge10."},
+ {PPC_GENERIC, "evaddusiaaw"},
+ {PPC_GENERIC, "evaddssiaaw"},
+ {PPC_GENERIC, "evsubfusiaaw"},
+ {PPC_GENERIC, "evsubfssiaaw"},
+ {PPC_GENERIC, "evmra"},
+ {PPC_GENERIC, "vxor"},
+ {PPC_GENERIC, "evdivws"},
+ {PPC_GENERIC, "vcmpeqfp."},
+ {PPC_GENERIC, "udi3fcm."},
+ {PPC_GENERIC, "udi3fcm"},
+ {PPC_GENERIC, "evdivwu"},
+ {PPC_GENERIC, "evaddumiaaw"},
+ {PPC_GENERIC, "evaddsmiaaw"},
+ {PPC_GENERIC, "evsubfumiaaw"},
+ {PPC_GENERIC, "evsubfsmiaaw"},
+ {PPC_GENERIC, "machhwso"},
+ {PPC_GENERIC, "machhwso."},
+ {PPC_GENERIC, "nmachhwso"},
+ {PPC_GENERIC, "nmachhwso."},
+ {PPC_GENERIC, "ps_merge11"},
+ {PPC_GENERIC, "ps_merge11."},
+ {PPC_GENERIC, "evmheusiaaw"},
+ {PPC_GENERIC, "evmhessiaaw"},
+ {PPC_GENERIC, "vavgsb"},
+ {PPC_GENERIC, "evmhessfaaw"},
+ {PPC_GENERIC, "evmhousiaaw"},
+ {PPC_GENERIC, "vnor"},
+ {PPC_GENERIC, "evmhossiaaw"},
+ {PPC_GENERIC, "udi4fcm."},
+ {PPC_GENERIC, "udi4fcm"},
+ {PPC_GENERIC, "evmhossfaaw"},
+ {PPC_GENERIC, "evmheumiaaw"},
+ {PPC_GENERIC, "evmhesmiaaw"},
+ {PPC_GENERIC, "evmhesmfaaw"},
+ {PPC_GENERIC, "evmhoumiaaw"},
+ {PPC_GENERIC, "evmhosmiaaw"},
+ {PPC_GENERIC, "evmhosmfaaw"},
+ {PPC_GENERIC, "macchwuo"},
+ {PPC_GENERIC, "macchwuo."},
+ {PPC_GENERIC, "evmhegumiaa"},
+ {PPC_GENERIC, "evmhegsmiaa"},
+ {PPC_GENERIC, "evmhegsmfaa"},
+ {PPC_GENERIC, "evmhogumiaa"},
+ {PPC_GENERIC, "evmhogsmiaa"},
+ {PPC_GENERIC, "evmhogsmfaa"},
+ {PPC_GENERIC, "evmwlusiaaw"},
+ {PPC_GENERIC, "evmwlssiaaw"},
+ {PPC_GENERIC, "vavgsh"},
+ {PPC_GENERIC, "udi5fcm."},
+ {PPC_GENERIC, "udi5fcm"},
+ {PPC_GENERIC, "evmwlumiaaw"},
+ {PPC_GENERIC, "evmwlsmiaaw"},
+ {PPC_GENERIC, "evmwssfaa"},
+ {PPC_GENERIC, "macchwo"},
+ {PPC_GENERIC, "evmwumiaa"},
+ {PPC_GENERIC, "macchwo."},
+ {PPC_GENERIC, "evmwsmiaa"},
+ {PPC_GENERIC, "evmwsmfaa"},
+ {PPC_GENERIC, "nmacchwo"},
+ {PPC_GENERIC, "nmacchwo."},
+ {PPC_GENERIC, "evmheusianw"},
+ {PPC_GENERIC, "vsubcuw"},
+ {PPC_GENERIC, "evmhessianw"},
+ {PPC_GENERIC, "vavgsw"},
+ {PPC_GENERIC, "evmhessfanw"},
+ {PPC_GENERIC, "evmhousianw"},
+ {PPC_GENERIC, "evmhossianw"},
+ {PPC_GENERIC, "udi6fcm."},
+ {PPC_GENERIC, "udi6fcm"},
+ {PPC_GENERIC, "evmhossfanw"},
+ {PPC_GENERIC, "evmheumianw"},
+ {PPC_GENERIC, "evmhesmianw"},
+ {PPC_GENERIC, "evmhesmfanw"},
+ {PPC_GENERIC, "evmhoumianw"},
+ {PPC_GENERIC, "evmhosmianw"},
+ {PPC_GENERIC, "evmhosmfanw"},
+ {PPC_GENERIC, "macchwsuo"},
+ {PPC_GENERIC, "macchwsuo."},
+ {PPC_GENERIC, "evmhegumian"},
+ {PPC_GENERIC, "evmhegsmian"},
+ {PPC_GENERIC, "evmhegsmfan"},
+ {PPC_GENERIC, "evmhogumian"},
+ {PPC_GENERIC, "evmhogsmian"},
+ {PPC_GENERIC, "evmhogsmfan"},
+ {PPC_GENERIC, "evmwlusianw"},
+ {PPC_GENERIC, "evmwlssianw"},
+ {PPC_GENERIC, "vcmpgefp."},
+ {PPC_GENERIC, "udi7fcm."},
+ {PPC_GENERIC, "udi7fcm"},
+ {PPC_GENERIC, "evmwlumianw"},
+ {PPC_GENERIC, "evmwlsmianw"},
+ {PPC_GENERIC, "evmwssfan"},
+ {PPC_GENERIC, "macchwso"},
+ {PPC_GENERIC, "evmwumian"},
+ {PPC_GENERIC, "macchwso."},
+ {PPC_GENERIC, "evmwsmian"},
+ {PPC_GENERIC, "evmwsmfan"},
+ {PPC_GENERIC, "nmacchwso"},
+ {PPC_GENERIC, "nmacchwso."},
+ {PPC_GENERIC, "vsububs"},
+ {PPC_GENERIC, "mfvscr"},
+ {PPC_GENERIC, "vcmpgtub."},
+ {PPC_GENERIC, "udi8fcm."},
+ {PPC_GENERIC, "udi8fcm"},
+ {PPC_GENERIC, "vsum4ubs"},
+ {PPC_GENERIC, "vsubuhs"},
+ {PPC_GENERIC, "mtvscr"},
+ {PPC_GENERIC, "vcmpgtuh."},
+ {PPC_GENERIC, "vsum4shs"},
+ {PPC_GENERIC, "udi9fcm."},
+ {PPC_GENERIC, "udi9fcm"},
+ {PPC_GENERIC, "vsubuws"},
+ {PPC_GENERIC, "vcmpgtuw."},
+ {PPC_GENERIC, "udi10fcm."},
+ {PPC_GENERIC, "udi10fcm"},
+ {PPC_GENERIC, "vsum2sws"},
+ {PPC_GENERIC, "vcmpgtfp."},
+ {PPC_GENERIC, "udi11fcm."},
+ {PPC_GENERIC, "udi11fcm"},
+ {PPC_GENERIC, "vsubsbs"},
+ {PPC_GENERIC, "vcmpgtsb."},
+ {PPC_GENERIC, "udi12fcm."},
+ {PPC_GENERIC, "udi12fcm"},
+ {PPC_GENERIC, "vsum4sbs"},
+ {PPC_GENERIC, "maclhwuo"},
+ {PPC_GENERIC, "maclhwuo."},
+ {PPC_GENERIC, "vsubshs"},
+ {PPC_GENERIC, "vcmpgtsh."},
+ {PPC_GENERIC, "udi13fcm."},
+ {PPC_GENERIC, "udi13fcm"},
+ {PPC_GENERIC, "maclhwo"},
+ {PPC_GENERIC, "maclhwo."},
+ {PPC_GENERIC, "nmaclhwo"},
+ {PPC_GENERIC, "nmaclhwo."},
+ {PPC_GENERIC, "vsubsws"},
+ {PPC_GENERIC, "vcmpgtsw."},
+ {PPC_GENERIC, "udi14fcm."},
+ {PPC_GENERIC, "udi14fcm"},
+ {PPC_GENERIC, "vsumsws"},
+ {PPC_GENERIC, "maclhwsuo"},
+ {PPC_GENERIC, "maclhwsuo."},
+ {PPC_GENERIC, "vcmpbfp."},
+ {PPC_GENERIC, "udi15fcm."},
+ {PPC_GENERIC, "udi15fcm"},
+ {PPC_GENERIC, "maclhwso"},
+ {PPC_GENERIC, "maclhwso."},
+ {PPC_GENERIC, "nmaclhwso"},
+ {PPC_GENERIC, "nmaclhwso."},
+ {PPC_GENERIC, "dcbz_l"},
+ {PPC_GENERIC, "mulli"},
+ {PPC_GENERIC, "muli"},
+ {PPC_GENERIC, "subfic"},
+ {PPC_GENERIC, "sfi"},
+ {PPC_GENERIC, "dozi"},
+ {PPC_GENERIC, "cmplwi"},
+ {PPC_GENERIC, "cmpldi"},
+ {PPC_GENERIC, "cmpli"},
+ {PPC_GENERIC, "cmpli"},
+ {PPC_GENERIC, "cmpwi"},
+ {PPC_GENERIC, "cmpdi"},
+ {PPC_GENERIC, "cmpi"},
+ {PPC_GENERIC, "cmpi"},
+ {PPC_GENERIC, "addic"},
+ {PPC_GENERIC, "ai"},
+ {PPC_GENERIC, "subic"},
+ {PPC_GENERIC, "addic."},
+ {PPC_GENERIC, "ai."},
+ {PPC_GENERIC, "subic."},
+ {PPC_GENERIC, "li"},
+ {PPC_GENERIC, "lil"},
+ {PPC_GENERIC, "addi"},
+ {PPC_GENERIC, "cal"},
+ {PPC_GENERIC, "subi"},
+ {PPC_GENERIC, "la"},
+ {PPC_GENERIC, "lis"},
+ {PPC_GENERIC, "liu"},
+ {PPC_GENERIC, "addis"},
+ {PPC_GENERIC, "cau"},
+ {PPC_GENERIC, "subis"},
+ {PPC_GENERIC, "bdnz-"},
+ {PPC_GENERIC, "bdnz+"},
+ {PPC_GENERIC, "bdnz"},
+ {PPC_GENERIC, "bdn"},
+ {PPC_GENERIC, "bdnzl-"},
+ {PPC_GENERIC, "bdnzl+"},
+ {PPC_GENERIC, "bdnzl"},
+ {PPC_GENERIC, "bdnl"},
+ {PPC_GENERIC, "bdnza-"},
+ {PPC_GENERIC, "bdnza+"},
+ {PPC_GENERIC, "bdnza"},
+ {PPC_GENERIC, "bdna"},
+ {PPC_GENERIC, "bdnzla-"},
+ {PPC_GENERIC, "bdnzla+"},
+ {PPC_GENERIC, "bdnzla"},
+ {PPC_GENERIC, "bdnla"},
+ {PPC_GENERIC, "bdz-"},
+ {PPC_GENERIC, "bdz+"},
+ {PPC_GENERIC, "bdz"},
+ {PPC_GENERIC, "bdzl-"},
+ {PPC_GENERIC, "bdzl+"},
+ {PPC_GENERIC, "bdzl"},
+ {PPC_GENERIC, "bdza-"},
+ {PPC_GENERIC, "bdza+"},
+ {PPC_GENERIC, "bdza"},
+ {PPC_GENERIC, "bdzla-"},
+ {PPC_GENERIC, "bdzla+"},
+ {PPC_GENERIC, "bdzla"},
+ {PPC_GENERIC, "bge-"},
+ {PPC_GENERIC, "bge+"},
+ {PPC_GENERIC, "bge"},
+ {PPC_GENERIC, "bnl-"},
+ {PPC_GENERIC, "bnl+"},
+ {PPC_GENERIC, "bnl"},
+ {PPC_GENERIC, "bgel-"},
+ {PPC_GENERIC, "bgel+"},
+ {PPC_GENERIC, "bgel"},
+ {PPC_GENERIC, "bnll-"},
+ {PPC_GENERIC, "bnll+"},
+ {PPC_GENERIC, "bnll"},
+ {PPC_GENERIC, "bgea-"},
+ {PPC_GENERIC, "bgea+"},
+ {PPC_GENERIC, "bgea"},
+ {PPC_GENERIC, "bnla-"},
+ {PPC_GENERIC, "bnla+"},
+ {PPC_GENERIC, "bnla"},
+ {PPC_GENERIC, "bgela-"},
+ {PPC_GENERIC, "bgela+"},
+ {PPC_GENERIC, "bgela"},
+ {PPC_GENERIC, "bnlla-"},
+ {PPC_GENERIC, "bnlla+"},
+ {PPC_GENERIC, "bnlla"},
+ {PPC_GENERIC, "ble-"},
+ {PPC_GENERIC, "ble+"},
+ {PPC_GENERIC, "ble"},
+ {PPC_GENERIC, "bng-"},
+ {PPC_GENERIC, "bng+"},
+ {PPC_GENERIC, "bng"},
+ {PPC_GENERIC, "blel-"},
+ {PPC_GENERIC, "blel+"},
+ {PPC_GENERIC, "blel"},
+ {PPC_GENERIC, "bngl-"},
+ {PPC_GENERIC, "bngl+"},
+ {PPC_GENERIC, "bngl"},
+ {PPC_GENERIC, "blea-"},
+ {PPC_GENERIC, "blea+"},
+ {PPC_GENERIC, "blea"},
+ {PPC_GENERIC, "bnga-"},
+ {PPC_GENERIC, "bnga+"},
+ {PPC_GENERIC, "bnga"},
+ {PPC_GENERIC, "blela-"},
+ {PPC_GENERIC, "blela+"},
+ {PPC_GENERIC, "blela"},
+ {PPC_GENERIC, "bngla-"},
+ {PPC_GENERIC, "bngla+"},
+ {PPC_GENERIC, "bngla"},
+ {PPC_GENERIC, "bne-"},
+ {PPC_GENERIC, "bne+"},
+ {PPC_GENERIC, "bne"},
+ {PPC_GENERIC, "bnel-"},
+ {PPC_GENERIC, "bnel+"},
+ {PPC_GENERIC, "bnel"},
+ {PPC_GENERIC, "bnea-"},
+ {PPC_GENERIC, "bnea+"},
+ {PPC_GENERIC, "bnea"},
+ {PPC_GENERIC, "bnela-"},
+ {PPC_GENERIC, "bnela+"},
+ {PPC_GENERIC, "bnela"},
+ {PPC_GENERIC, "bns-"},
+ {PPC_GENERIC, "bns+"},
+ {PPC_GENERIC, "bns"},
+ {PPC_GENERIC, "bnu-"},
+ {PPC_GENERIC, "bnu+"},
+ {PPC_GENERIC, "bnu"},
+ {PPC_GENERIC, "bnsl-"},
+ {PPC_GENERIC, "bnsl+"},
+ {PPC_GENERIC, "bnsl"},
+ {PPC_GENERIC, "bnul-"},
+ {PPC_GENERIC, "bnul+"},
+ {PPC_GENERIC, "bnul"},
+ {PPC_GENERIC, "bnsa-"},
+ {PPC_GENERIC, "bnsa+"},
+ {PPC_GENERIC, "bnsa"},
+ {PPC_GENERIC, "bnua-"},
+ {PPC_GENERIC, "bnua+"},
+ {PPC_GENERIC, "bnua"},
+ {PPC_GENERIC, "bnsla-"},
+ {PPC_GENERIC, "bnsla+"},
+ {PPC_GENERIC, "bnsla"},
+ {PPC_GENERIC, "bnula-"},
+ {PPC_GENERIC, "bnula+"},
+ {PPC_GENERIC, "bnula"},
+ {PPC_GENERIC, "blt-"},
+ {PPC_GENERIC, "blt+"},
+ {PPC_GENERIC, "blt"},
+ {PPC_GENERIC, "bltl-"},
+ {PPC_GENERIC, "bltl+"},
+ {PPC_GENERIC, "bltl"},
+ {PPC_GENERIC, "blta-"},
+ {PPC_GENERIC, "blta+"},
+ {PPC_GENERIC, "blta"},
+ {PPC_GENERIC, "bltla-"},
+ {PPC_GENERIC, "bltla+"},
+ {PPC_GENERIC, "bltla"},
+ {PPC_GENERIC, "bgt-"},
+ {PPC_GENERIC, "bgt+"},
+ {PPC_GENERIC, "bgt"},
+ {PPC_GENERIC, "bgtl-"},
+ {PPC_GENERIC, "bgtl+"},
+ {PPC_GENERIC, "bgtl"},
+ {PPC_GENERIC, "bgta-"},
+ {PPC_GENERIC, "bgta+"},
+ {PPC_GENERIC, "bgta"},
+ {PPC_GENERIC, "bgtla-"},
+ {PPC_GENERIC, "bgtla+"},
+ {PPC_GENERIC, "bgtla"},
+ {PPC_GENERIC, "beq-"},
+ {PPC_GENERIC, "beq+"},
+ {PPC_GENERIC, "beq"},
+ {PPC_GENERIC, "beql-"},
+ {PPC_GENERIC, "beql+"},
+ {PPC_GENERIC, "beql"},
+ {PPC_GENERIC, "beqa-"},
+ {PPC_GENERIC, "beqa+"},
+ {PPC_GENERIC, "beqa"},
+ {PPC_GENERIC, "beqla-"},
+ {PPC_GENERIC, "beqla+"},
+ {PPC_GENERIC, "beqla"},
+ {PPC_GENERIC, "bso-"},
+ {PPC_GENERIC, "bso+"},
+ {PPC_GENERIC, "bso"},
+ {PPC_GENERIC, "bun-"},
+ {PPC_GENERIC, "bun+"},
+ {PPC_GENERIC, "bun"},
+ {PPC_GENERIC, "bsol-"},
+ {PPC_GENERIC, "bsol+"},
+ {PPC_GENERIC, "bsol"},
+ {PPC_GENERIC, "bunl-"},
+ {PPC_GENERIC, "bunl+"},
+ {PPC_GENERIC, "bunl"},
+ {PPC_GENERIC, "bsoa-"},
+ {PPC_GENERIC, "bsoa+"},
+ {PPC_GENERIC, "bsoa"},
+ {PPC_GENERIC, "buna-"},
+ {PPC_GENERIC, "buna+"},
+ {PPC_GENERIC, "buna"},
+ {PPC_GENERIC, "bsola-"},
+ {PPC_GENERIC, "bsola+"},
+ {PPC_GENERIC, "bsola"},
+ {PPC_GENERIC, "bunla-"},
+ {PPC_GENERIC, "bunla+"},
+ {PPC_GENERIC, "bunla"},
+ {PPC_GENERIC, "bdnzf-"},
+ {PPC_GENERIC, "bdnzf+"},
+ {PPC_GENERIC, "bdnzf"},
+ {PPC_GENERIC, "bdnzfl-"},
+ {PPC_GENERIC, "bdnzfl+"},
+ {PPC_GENERIC, "bdnzfl"},
+ {PPC_GENERIC, "bdnzfa-"},
+ {PPC_GENERIC, "bdnzfa+"},
+ {PPC_GENERIC, "bdnzfa"},
+ {PPC_GENERIC, "bdnzfla-"},
+ {PPC_GENERIC, "bdnzfla+"},
+ {PPC_GENERIC, "bdnzfla"},
+ {PPC_GENERIC, "bdzf-"},
+ {PPC_GENERIC, "bdzf+"},
+ {PPC_GENERIC, "bdzf"},
+ {PPC_GENERIC, "bdzfl-"},
+ {PPC_GENERIC, "bdzfl+"},
+ {PPC_GENERIC, "bdzfl"},
+ {PPC_GENERIC, "bdzfa-"},
+ {PPC_GENERIC, "bdzfa+"},
+ {PPC_GENERIC, "bdzfa"},
+ {PPC_GENERIC, "bdzfla-"},
+ {PPC_GENERIC, "bdzfla+"},
+ {PPC_GENERIC, "bdzfla"},
+ {PPC_GENERIC, "bf-"},
+ {PPC_GENERIC, "bf+"},
+ {PPC_GENERIC, "bf"},
+ {PPC_GENERIC, "bbf"},
+ {PPC_GENERIC, "bfl-"},
+ {PPC_GENERIC, "bfl+"},
+ {PPC_GENERIC, "bfl"},
+ {PPC_GENERIC, "bbfl"},
+ {PPC_GENERIC, "bfa-"},
+ {PPC_GENERIC, "bfa+"},
+ {PPC_GENERIC, "bfa"},
+ {PPC_GENERIC, "bbfa"},
+ {PPC_GENERIC, "bfla-"},
+ {PPC_GENERIC, "bfla+"},
+ {PPC_GENERIC, "bfla"},
+ {PPC_GENERIC, "bbfla"},
+ {PPC_GENERIC, "bdnzt-"},
+ {PPC_GENERIC, "bdnzt+"},
+ {PPC_GENERIC, "bdnzt"},
+ {PPC_GENERIC, "bdnztl-"},
+ {PPC_GENERIC, "bdnztl+"},
+ {PPC_GENERIC, "bdnztl"},
+ {PPC_GENERIC, "bdnzta-"},
+ {PPC_GENERIC, "bdnzta+"},
+ {PPC_GENERIC, "bdnzta"},
+ {PPC_GENERIC, "bdnztla-"},
+ {PPC_GENERIC, "bdnztla+"},
+ {PPC_GENERIC, "bdnztla"},
+ {PPC_GENERIC, "bdzt-"},
+ {PPC_GENERIC, "bdzt+"},
+ {PPC_GENERIC, "bdzt"},
+ {PPC_GENERIC, "bdztl-"},
+ {PPC_GENERIC, "bdztl+"},
+ {PPC_GENERIC, "bdztl"},
+ {PPC_GENERIC, "bdzta-"},
+ {PPC_GENERIC, "bdzta+"},
+ {PPC_GENERIC, "bdzta"},
+ {PPC_GENERIC, "bdztla-"},
+ {PPC_GENERIC, "bdztla+"},
+ {PPC_GENERIC, "bdztla"},
+ {PPC_GENERIC, "bt-"},
+ {PPC_GENERIC, "bt+"},
+ {PPC_GENERIC, "bt"},
+ {PPC_GENERIC, "bbt"},
+ {PPC_GENERIC, "btl-"},
+ {PPC_GENERIC, "btl+"},
+ {PPC_GENERIC, "btl"},
+ {PPC_GENERIC, "bbtl"},
+ {PPC_GENERIC, "bta-"},
+ {PPC_GENERIC, "bta+"},
+ {PPC_GENERIC, "bta"},
+ {PPC_GENERIC, "bbta"},
+ {PPC_GENERIC, "btla-"},
+ {PPC_GENERIC, "btla+"},
+ {PPC_GENERIC, "btla"},
+ {PPC_GENERIC, "bbtla"},
+ {PPC_GENERIC, "bc-"},
+ {PPC_GENERIC, "bc+"},
+ {PPC_GENERIC, "bc"},
+ {PPC_GENERIC, "bcl-"},
+ {PPC_GENERIC, "bcl+"},
+ {PPC_GENERIC, "bcl"},
+ {PPC_GENERIC, "bca-"},
+ {PPC_GENERIC, "bca+"},
+ {PPC_GENERIC, "bca"},
+ {PPC_GENERIC, "bcla-"},
+ {PPC_GENERIC, "bcla+"},
+ {PPC_GENERIC, "bcla"},
+ {PPC_GENERIC, "svc"},
+ {PPC_GENERIC, "svcl"},
+ {PPC_GENERIC, "sc"},
+ {PPC_GENERIC, "svca"},
+ {PPC_GENERIC, "svcla"},
+ {PPC_GENERIC, "b"},
+ {PPC_GENERIC, "bl"},
+ {PPC_GENERIC, "ba"},
+ {PPC_GENERIC, "bla"},
+ {PPC_GENERIC, "mcrf"},
+ {PPC_GENERIC, "bdnzlr"},
+ {PPC_GENERIC, "bdnzlr-"},
+ {PPC_GENERIC, "bdnzlrl"},
+ {PPC_GENERIC, "bdnzlrl-"},
+ {PPC_GENERIC, "bdnzlr+"},
+ {PPC_GENERIC, "bdnzlrl+"},
+ {PPC_GENERIC, "bdzlr"},
+ {PPC_GENERIC, "bdzlr-"},
+ {PPC_GENERIC, "bdzlrl"},
+ {PPC_GENERIC, "bdzlrl-"},
+ {PPC_GENERIC, "bdzlr+"},
+ {PPC_GENERIC, "bdzlrl+"},
+ {PPC_GENERIC, "blr"},
+ {PPC_GENERIC, "br"},
+ {PPC_GENERIC, "blrl"},
+ {PPC_GENERIC, "brl"},
+ {PPC_GENERIC, "bdnzlr-"},
+ {PPC_GENERIC, "bdnzlrl-"},
+ {PPC_GENERIC, "bdnzlr+"},
+ {PPC_GENERIC, "bdnzlrl+"},
+ {PPC_GENERIC, "bdzlr-"},
+ {PPC_GENERIC, "bdzlrl-"},
+ {PPC_GENERIC, "bdzlr+"},
+ {PPC_GENERIC, "bdzlrl+"},
+ {PPC_GENERIC, "bgelr"},
+ {PPC_GENERIC, "bgelr-"},
+ {PPC_GENERIC, "bger"},
+ {PPC_GENERIC, "bnllr"},
+ {PPC_GENERIC, "bnllr-"},
+ {PPC_GENERIC, "bnlr"},
+ {PPC_GENERIC, "bgelrl"},
+ {PPC_GENERIC, "bgelrl-"},
+ {PPC_GENERIC, "bgerl"},
+ {PPC_GENERIC, "bnllrl"},
+ {PPC_GENERIC, "bnllrl-"},
+ {PPC_GENERIC, "bnlrl"},
+ {PPC_GENERIC, "blelr"},
+ {PPC_GENERIC, "blelr-"},
+ {PPC_GENERIC, "bler"},
+ {PPC_GENERIC, "bnglr"},
+ {PPC_GENERIC, "bnglr-"},
+ {PPC_GENERIC, "bngr"},
+ {PPC_GENERIC, "blelrl"},
+ {PPC_GENERIC, "blelrl-"},
+ {PPC_GENERIC, "blerl"},
+ {PPC_GENERIC, "bnglrl"},
+ {PPC_GENERIC, "bnglrl-"},
+ {PPC_GENERIC, "bngrl"},
+ {PPC_GENERIC, "bnelr"},
+ {PPC_GENERIC, "bnelr-"},
+ {PPC_GENERIC, "bner"},
+ {PPC_GENERIC, "bnelrl"},
+ {PPC_GENERIC, "bnelrl-"},
+ {PPC_GENERIC, "bnerl"},
+ {PPC_GENERIC, "bnslr"},
+ {PPC_GENERIC, "bnslr-"},
+ {PPC_GENERIC, "bnsr"},
+ {PPC_GENERIC, "bnulr"},
+ {PPC_GENERIC, "bnulr-"},
+ {PPC_GENERIC, "bnslrl"},
+ {PPC_GENERIC, "bnslrl-"},
+ {PPC_GENERIC, "bnsrl"},
+ {PPC_GENERIC, "bnulrl"},
+ {PPC_GENERIC, "bnulrl-"},
+ {PPC_GENERIC, "bgelr+"},
+ {PPC_GENERIC, "bnllr+"},
+ {PPC_GENERIC, "bgelrl+"},
+ {PPC_GENERIC, "bnllrl+"},
+ {PPC_GENERIC, "blelr+"},
+ {PPC_GENERIC, "bnglr+"},
+ {PPC_GENERIC, "blelrl+"},
+ {PPC_GENERIC, "bnglrl+"},
+ {PPC_GENERIC, "bnelr+"},
+ {PPC_GENERIC, "bnelrl+"},
+ {PPC_GENERIC, "bnslr+"},
+ {PPC_GENERIC, "bnulr+"},
+ {PPC_GENERIC, "bnslrl+"},
+ {PPC_GENERIC, "bnulrl+"},
+ {PPC_GENERIC, "bgelr-"},
+ {PPC_GENERIC, "bnllr-"},
+ {PPC_GENERIC, "bgelrl-"},
+ {PPC_GENERIC, "bnllrl-"},
+ {PPC_GENERIC, "blelr-"},
+ {PPC_GENERIC, "bnglr-"},
+ {PPC_GENERIC, "blelrl-"},
+ {PPC_GENERIC, "bnglrl-"},
+ {PPC_GENERIC, "bnelr-"},
+ {PPC_GENERIC, "bnelrl-"},
+ {PPC_GENERIC, "bnslr-"},
+ {PPC_GENERIC, "bnulr-"},
+ {PPC_GENERIC, "bnslrl-"},
+ {PPC_GENERIC, "bnulrl-"},
+ {PPC_GENERIC, "bgelr+"},
+ {PPC_GENERIC, "bnllr+"},
+ {PPC_GENERIC, "bgelrl+"},
+ {PPC_GENERIC, "bnllrl+"},
+ {PPC_GENERIC, "blelr+"},
+ {PPC_GENERIC, "bnglr+"},
+ {PPC_GENERIC, "blelrl+"},
+ {PPC_GENERIC, "bnglrl+"},
+ {PPC_GENERIC, "bnelr+"},
+ {PPC_GENERIC, "bnelrl+"},
+ {PPC_GENERIC, "bnslr+"},
+ {PPC_GENERIC, "bnulr+"},
+ {PPC_GENERIC, "bnslrl+"},
+ {PPC_GENERIC, "bnulrl+"},
+ {PPC_GENERIC, "bltlr"},
+ {PPC_GENERIC, "bltlr-"},
+ {PPC_GENERIC, "bltr"},
+ {PPC_GENERIC, "bltlrl"},
+ {PPC_GENERIC, "bltlrl-"},
+ {PPC_GENERIC, "bltrl"},
+ {PPC_GENERIC, "bgtlr"},
+ {PPC_GENERIC, "bgtlr-"},
+ {PPC_GENERIC, "bgtr"},
+ {PPC_GENERIC, "bgtlrl"},
+ {PPC_GENERIC, "bgtlrl-"},
+ {PPC_GENERIC, "bgtrl"},
+ {PPC_GENERIC, "beqlr"},
+ {PPC_GENERIC, "beqlr-"},
+ {PPC_GENERIC, "beqr"},
+ {PPC_GENERIC, "beqlrl"},
+ {PPC_GENERIC, "beqlrl-"},
+ {PPC_GENERIC, "beqrl"},
+ {PPC_GENERIC, "bsolr"},
+ {PPC_GENERIC, "bsolr-"},
+ {PPC_GENERIC, "bsor"},
+ {PPC_GENERIC, "bunlr"},
+ {PPC_GENERIC, "bunlr-"},
+ {PPC_GENERIC, "bsolrl"},
+ {PPC_GENERIC, "bsolrl-"},
+ {PPC_GENERIC, "bsorl"},
+ {PPC_GENERIC, "bunlrl"},
+ {PPC_GENERIC, "bunlrl-"},
+ {PPC_GENERIC, "bltlr+"},
+ {PPC_GENERIC, "bltlrl+"},
+ {PPC_GENERIC, "bgtlr+"},
+ {PPC_GENERIC, "bgtlrl+"},
+ {PPC_GENERIC, "beqlr+"},
+ {PPC_GENERIC, "beqlrl+"},
+ {PPC_GENERIC, "bsolr+"},
+ {PPC_GENERIC, "bunlr+"},
+ {PPC_GENERIC, "bsolrl+"},
+ {PPC_GENERIC, "bunlrl+"},
+ {PPC_GENERIC, "bltlr-"},
+ {PPC_GENERIC, "bltlrl-"},
+ {PPC_GENERIC, "bgtlr-"},
+ {PPC_GENERIC, "bgtlrl-"},
+ {PPC_GENERIC, "beqlr-"},
+ {PPC_GENERIC, "beqlrl-"},
+ {PPC_GENERIC, "bsolr-"},
+ {PPC_GENERIC, "bunlr-"},
+ {PPC_GENERIC, "bsolrl-"},
+ {PPC_GENERIC, "bunlrl-"},
+ {PPC_GENERIC, "bltlr+"},
+ {PPC_GENERIC, "bltlrl+"},
+ {PPC_GENERIC, "bgtlr+"},
+ {PPC_GENERIC, "bgtlrl+"},
+ {PPC_GENERIC, "beqlr+"},
+ {PPC_GENERIC, "beqlrl+"},
+ {PPC_GENERIC, "bsolr+"},
+ {PPC_GENERIC, "bunlr+"},
+ {PPC_GENERIC, "bsolrl+"},
+ {PPC_GENERIC, "bunlrl+"},
+ {PPC_GENERIC, "bdnzflr"},
+ {PPC_GENERIC, "bdnzflr-"},
+ {PPC_GENERIC, "bdnzflrl"},
+ {PPC_GENERIC, "bdnzflrl-"},
+ {PPC_GENERIC, "bdnzflr+"},
+ {PPC_GENERIC, "bdnzflrl+"},
+ {PPC_GENERIC, "bdzflr"},
+ {PPC_GENERIC, "bdzflr-"},
+ {PPC_GENERIC, "bdzflrl"},
+ {PPC_GENERIC, "bdzflrl-"},
+ {PPC_GENERIC, "bdzflr+"},
+ {PPC_GENERIC, "bdzflrl+"},
+ {PPC_GENERIC, "bflr"},
+ {PPC_GENERIC, "bflr-"},
+ {PPC_GENERIC, "bbfr"},
+ {PPC_GENERIC, "bflrl"},
+ {PPC_GENERIC, "bflrl-"},
+ {PPC_GENERIC, "bbfrl"},
+ {PPC_GENERIC, "bflr+"},
+ {PPC_GENERIC, "bflrl+"},
+ {PPC_GENERIC, "bflr-"},
+ {PPC_GENERIC, "bflrl-"},
+ {PPC_GENERIC, "bflr+"},
+ {PPC_GENERIC, "bflrl+"},
+ {PPC_GENERIC, "bdnztlr"},
+ {PPC_GENERIC, "bdnztlr-"},
+ {PPC_GENERIC, "bdnztlrl"},
+ {PPC_GENERIC, "bdnztlrl-"},
+ {PPC_GENERIC, "bdnztlr+"},
+ {PPC_GENERIC, "bdnztlrl+"},
+ {PPC_GENERIC, "bdztlr"},
+ {PPC_GENERIC, "bdztlr-"},
+ {PPC_GENERIC, "bdztlrl"},
+ {PPC_GENERIC, "bdztlrl-"},
+ {PPC_GENERIC, "bdztlr+"},
+ {PPC_GENERIC, "bdztlrl+"},
+ {PPC_GENERIC, "btlr"},
+ {PPC_GENERIC, "btlr-"},
+ {PPC_GENERIC, "bbtr"},
+ {PPC_GENERIC, "btlrl"},
+ {PPC_GENERIC, "btlrl-"},
+ {PPC_GENERIC, "bbtrl"},
+ {PPC_GENERIC, "btlr+"},
+ {PPC_GENERIC, "btlrl+"},
+ {PPC_GENERIC, "btlr-"},
+ {PPC_GENERIC, "btlrl-"},
+ {PPC_GENERIC, "btlr+"},
+ {PPC_GENERIC, "btlrl+"},
+ {PPC_GENERIC, "bclr-"},
+ {PPC_GENERIC, "bclrl-"},
+ {PPC_GENERIC, "bclr+"},
+ {PPC_GENERIC, "bclrl+"},
+ {PPC_GENERIC, "bclr"},
+ {PPC_GENERIC, "bcr"},
+ {PPC_GENERIC, "bclrl"},
+ {PPC_GENERIC, "bcrl"},
+ {PPC_GENERIC, "rfid"},
+ {PPC_GENERIC, "crnot"},
+ {PPC_GENERIC, "crnor"},
+ {PPC_GENERIC, "rfmci"},
+ {PPC_GENERIC, "rfdi"},
+ {PPC_GENERIC, "rfi"},
+ {PPC_GENERIC, "rfci"},
+ {PPC_GENERIC, "rfsvc"},
+ {PPC_GENERIC, "rfgi"},
+ {PPC_GENERIC, "crandc"},
+ {PPC_GENERIC, "isync"},
+ {PPC_GENERIC, "ics"},
+ {PPC_GENERIC, "crclr"},
+ {PPC_GENERIC, "crxor"},
+ {PPC_GENERIC, "dnh"},
+ {PPC_GENERIC, "crnand"},
+ {PPC_GENERIC, "crand"},
+ {PPC_GENERIC, "hrfid"},
+ {PPC_GENERIC, "crset"},
+ {PPC_GENERIC, "creqv"},
+ {PPC_GENERIC, "doze"},
+ {PPC_GENERIC, "crorc"},
+ {PPC_GENERIC, "nap"},
+ {PPC_GENERIC, "crmove"},
+ {PPC_GENERIC, "cror"},
+ {PPC_GENERIC, "sleep"},
+ {PPC_GENERIC, "rvwinkle"},
+ {PPC_GENERIC, "bctr"},
+ {PPC_GENERIC, "bctrl"},
+ {PPC_GENERIC, "bgectr"},
+ {PPC_GENERIC, "bgectr-"},
+ {PPC_GENERIC, "bnlctr"},
+ {PPC_GENERIC, "bnlctr-"},
+ {PPC_GENERIC, "bgectrl"},
+ {PPC_GENERIC, "bgectrl-"},
+ {PPC_GENERIC, "bnlctrl"},
+ {PPC_GENERIC, "bnlctrl-"},
+ {PPC_GENERIC, "blectr"},
+ {PPC_GENERIC, "blectr-"},
+ {PPC_GENERIC, "bngctr"},
+ {PPC_GENERIC, "bngctr-"},
+ {PPC_GENERIC, "blectrl"},
+ {PPC_GENERIC, "blectrl-"},
+ {PPC_GENERIC, "bngctrl"},
+ {PPC_GENERIC, "bngctrl-"},
+ {PPC_GENERIC, "bnectr"},
+ {PPC_GENERIC, "bnectr-"},
+ {PPC_GENERIC, "bnectrl"},
+ {PPC_GENERIC, "bnectrl-"},
+ {PPC_GENERIC, "bnsctr"},
+ {PPC_GENERIC, "bnsctr-"},
+ {PPC_GENERIC, "bnuctr"},
+ {PPC_GENERIC, "bnuctr-"},
+ {PPC_GENERIC, "bnsctrl"},
+ {PPC_GENERIC, "bnsctrl-"},
+ {PPC_GENERIC, "bnuctrl"},
+ {PPC_GENERIC, "bnuctrl-"},
+ {PPC_GENERIC, "bgectr+"},
+ {PPC_GENERIC, "bnlctr+"},
+ {PPC_GENERIC, "bgectrl+"},
+ {PPC_GENERIC, "bnlctrl+"},
+ {PPC_GENERIC, "blectr+"},
+ {PPC_GENERIC, "bngctr+"},
+ {PPC_GENERIC, "blectrl+"},
+ {PPC_GENERIC, "bngctrl+"},
+ {PPC_GENERIC, "bnectr+"},
+ {PPC_GENERIC, "bnectrl+"},
+ {PPC_GENERIC, "bnsctr+"},
+ {PPC_GENERIC, "bnuctr+"},
+ {PPC_GENERIC, "bnsctrl+"},
+ {PPC_GENERIC, "bnuctrl+"},
+ {PPC_GENERIC, "bgectr-"},
+ {PPC_GENERIC, "bnlctr-"},
+ {PPC_GENERIC, "bgectrl-"},
+ {PPC_GENERIC, "bnlctrl-"},
+ {PPC_GENERIC, "blectr-"},
+ {PPC_GENERIC, "bngctr-"},
+ {PPC_GENERIC, "blectrl-"},
+ {PPC_GENERIC, "bngctrl-"},
+ {PPC_GENERIC, "bnectr-"},
+ {PPC_GENERIC, "bnectrl-"},
+ {PPC_GENERIC, "bnsctr-"},
+ {PPC_GENERIC, "bnuctr-"},
+ {PPC_GENERIC, "bnsctrl-"},
+ {PPC_GENERIC, "bnuctrl-"},
+ {PPC_GENERIC, "bgectr+"},
+ {PPC_GENERIC, "bnlctr+"},
+ {PPC_GENERIC, "bgectrl+"},
+ {PPC_GENERIC, "bnlctrl+"},
+ {PPC_GENERIC, "blectr+"},
+ {PPC_GENERIC, "bngctr+"},
+ {PPC_GENERIC, "blectrl+"},
+ {PPC_GENERIC, "bngctrl+"},
+ {PPC_GENERIC, "bnectr+"},
+ {PPC_GENERIC, "bnectrl+"},
+ {PPC_GENERIC, "bnsctr+"},
+ {PPC_GENERIC, "bnuctr+"},
+ {PPC_GENERIC, "bnsctrl+"},
+ {PPC_GENERIC, "bnuctrl+"},
+ {PPC_GENERIC, "bltctr"},
+ {PPC_GENERIC, "bltctr-"},
+ {PPC_GENERIC, "bltctrl"},
+ {PPC_GENERIC, "bltctrl-"},
+ {PPC_GENERIC, "bgtctr"},
+ {PPC_GENERIC, "bgtctr-"},
+ {PPC_GENERIC, "bgtctrl"},
+ {PPC_GENERIC, "bgtctrl-"},
+ {PPC_GENERIC, "beqctr"},
+ {PPC_GENERIC, "beqctr-"},
+ {PPC_GENERIC, "beqctrl"},
+ {PPC_GENERIC, "beqctrl-"},
+ {PPC_GENERIC, "bsoctr"},
+ {PPC_GENERIC, "bsoctr-"},
+ {PPC_GENERIC, "bunctr"},
+ {PPC_GENERIC, "bunctr-"},
+ {PPC_GENERIC, "bsoctrl"},
+ {PPC_GENERIC, "bsoctrl-"},
+ {PPC_GENERIC, "bunctrl"},
+ {PPC_GENERIC, "bunctrl-"},
+ {PPC_GENERIC, "bltctr+"},
+ {PPC_GENERIC, "bltctrl+"},
+ {PPC_GENERIC, "bgtctr+"},
+ {PPC_GENERIC, "bgtctrl+"},
+ {PPC_GENERIC, "beqctr+"},
+ {PPC_GENERIC, "beqctrl+"},
+ {PPC_GENERIC, "bsoctr+"},
+ {PPC_GENERIC, "bunctr+"},
+ {PPC_GENERIC, "bsoctrl+"},
+ {PPC_GENERIC, "bunctrl+"},
+ {PPC_GENERIC, "bltctr-"},
+ {PPC_GENERIC, "bltctrl-"},
+ {PPC_GENERIC, "bgtctr-"},
+ {PPC_GENERIC, "bgtctrl-"},
+ {PPC_GENERIC, "beqctr-"},
+ {PPC_GENERIC, "beqctrl-"},
+ {PPC_GENERIC, "bsoctr-"},
+ {PPC_GENERIC, "bunctr-"},
+ {PPC_GENERIC, "bsoctrl-"},
+ {PPC_GENERIC, "bunctrl-"},
+ {PPC_GENERIC, "bltctr+"},
+ {PPC_GENERIC, "bltctrl+"},
+ {PPC_GENERIC, "bgtctr+"},
+ {PPC_GENERIC, "bgtctrl+"},
+ {PPC_GENERIC, "beqctr+"},
+ {PPC_GENERIC, "beqctrl+"},
+ {PPC_GENERIC, "bsoctr+"},
+ {PPC_GENERIC, "bunctr+"},
+ {PPC_GENERIC, "bsoctrl+"},
+ {PPC_GENERIC, "bunctrl+"},
+ {PPC_GENERIC, "bfctr"},
+ {PPC_GENERIC, "bfctr-"},
+ {PPC_GENERIC, "bfctrl"},
+ {PPC_GENERIC, "bfctrl-"},
+ {PPC_GENERIC, "bfctr+"},
+ {PPC_GENERIC, "bfctrl+"},
+ {PPC_GENERIC, "bfctr-"},
+ {PPC_GENERIC, "bfctrl-"},
+ {PPC_GENERIC, "bfctr+"},
+ {PPC_GENERIC, "bfctrl+"},
+ {PPC_GENERIC, "btctr"},
+ {PPC_GENERIC, "btctr-"},
+ {PPC_GENERIC, "btctrl"},
+ {PPC_GENERIC, "btctrl-"},
+ {PPC_GENERIC, "btctr+"},
+ {PPC_GENERIC, "btctrl+"},
+ {PPC_GENERIC, "btctr-"},
+ {PPC_GENERIC, "btctrl-"},
+ {PPC_GENERIC, "btctr+"},
+ {PPC_GENERIC, "btctrl+"},
+ {PPC_GENERIC, "bcctr-"},
+ {PPC_GENERIC, "bcctrl-"},
+ {PPC_GENERIC, "bcctr+"},
+ {PPC_GENERIC, "bcctrl+"},
+ {PPC_GENERIC, "bcctr"},
+ {PPC_GENERIC, "bcc"},
+ {PPC_GENERIC, "bcctrl"},
+ {PPC_GENERIC, "bccl"},
+ {PPC_GENERIC, "rlwimi"},
+ {PPC_GENERIC, "rlimi"},
+ {PPC_GENERIC, "rlwimi."},
+ {PPC_GENERIC, "rlimi."},
+ {PPC_GENERIC, "rotlwi"},
+ {PPC_GENERIC, "clrlwi"},
+ {PPC_GENERIC, "rlwinm"},
+ {PPC_GENERIC, "rlinm"},
+ {PPC_GENERIC, "rotlwi."},
+ {PPC_GENERIC, "clrlwi."},
+ {PPC_GENERIC, "rlwinm."},
+ {PPC_GENERIC, "rlinm."},
+ {PPC_GENERIC, "rlmi"},
+ {PPC_GENERIC, "rlmi."},
+ {PPC_GENERIC, "rotlw"},
+ {PPC_GENERIC, "rlwnm"},
+ {PPC_GENERIC, "rlnm"},
+ {PPC_GENERIC, "rotlw."},
+ {PPC_GENERIC, "rlwnm."},
+ {PPC_GENERIC, "rlnm."},
+ {PPC_GENERIC, "nop"},
+ {PPC_GENERIC, "ori"},
+ {PPC_GENERIC, "oril"},
+ {PPC_GENERIC, "oris"},
+ {PPC_GENERIC, "oriu"},
+ {PPC_GENERIC, "xori"},
+ {PPC_GENERIC, "xoril"},
+ {PPC_GENERIC, "xoris"},
+ {PPC_GENERIC, "xoriu"},
+ {PPC_GENERIC, "andi."},
+ {PPC_GENERIC, "andil."},
+ {PPC_GENERIC, "andis."},
+ {PPC_GENERIC, "andiu."},
+ {PPC_GENERIC, "rotldi"},
+ {PPC_GENERIC, "clrldi"},
+ {PPC_GENERIC, "rldicl"},
+ {PPC_GENERIC, "rotldi."},
+ {PPC_GENERIC, "clrldi."},
+ {PPC_GENERIC, "rldicl."},
+ {PPC_GENERIC, "rldicr"},
+ {PPC_GENERIC, "rldicr."},
+ {PPC_GENERIC, "rldic"},
+ {PPC_GENERIC, "rldic."},
+ {PPC_GENERIC, "rldimi"},
+ {PPC_GENERIC, "rldimi."},
+ {PPC_GENERIC, "rotld"},
+ {PPC_GENERIC, "rldcl"},
+ {PPC_GENERIC, "rotld."},
+ {PPC_GENERIC, "rldcl."},
+ {PPC_GENERIC, "rldcr"},
+ {PPC_GENERIC, "rldcr."},
+ {PPC_GENERIC, "cmpw"},
+ {PPC_GENERIC, "cmpd"},
+ {PPC_GENERIC, "cmp"},
+ {PPC_GENERIC, "cmp"},
+ {PPC_GENERIC, "twlgt"},
+ {PPC_GENERIC, "tlgt"},
+ {PPC_GENERIC, "twllt"},
+ {PPC_GENERIC, "tllt"},
+ {PPC_GENERIC, "tweq"},
+ {PPC_GENERIC, "teq"},
+ {PPC_GENERIC, "twlge"},
+ {PPC_GENERIC, "tlge"},
+ {PPC_GENERIC, "twlnl"},
+ {PPC_GENERIC, "tlnl"},
+ {PPC_GENERIC, "twlle"},
+ {PPC_GENERIC, "tlle"},
+ {PPC_GENERIC, "twlng"},
+ {PPC_GENERIC, "tlng"},
+ {PPC_GENERIC, "twgt"},
+ {PPC_GENERIC, "tgt"},
+ {PPC_GENERIC, "twge"},
+ {PPC_GENERIC, "tge"},
+ {PPC_GENERIC, "twnl"},
+ {PPC_GENERIC, "tnl"},
+ {PPC_GENERIC, "twlt"},
+ {PPC_GENERIC, "tlt"},
+ {PPC_GENERIC, "twle"},
+ {PPC_GENERIC, "tle"},
+ {PPC_GENERIC, "twng"},
+ {PPC_GENERIC, "tng"},
+ {PPC_GENERIC, "twne"},
+ {PPC_GENERIC, "tne"},
+ {PPC_GENERIC, "trap"},
+ {PPC_GENERIC, "tw"},
+ {PPC_GENERIC, "t"},
+ {PPC_GENERIC, "lvsl"},
+ {PPC_GENERIC, "lvebx"},
+ {PPC_GENERIC, "lbfcmx"},
+ {PPC_GENERIC, "subfc"},
+ {PPC_GENERIC, "sf"},
+ {PPC_GENERIC, "subc"},
+ {PPC_GENERIC, "subfc."},
+ {PPC_GENERIC, "sf."},
+ {PPC_GENERIC, "subc."},
+ {PPC_GENERIC, "mulhdu"},
+ {PPC_GENERIC, "mulhdu."},
+ {PPC_GENERIC, "addc"},
+ {PPC_GENERIC, "a"},
+ {PPC_GENERIC, "addc."},
+ {PPC_GENERIC, "a."},
+ {PPC_GENERIC, "mulhwu"},
+ {PPC_GENERIC, "mulhwu."},
+ {PPC_GENERIC, "isellt"},
+ {PPC_GENERIC, "tlbilxlpid"},
+ {PPC_GENERIC, "tlbilxpid"},
+ {PPC_GENERIC, "tlbilxva"},
+ {PPC_GENERIC, "tlbilx"},
+ {PPC_GENERIC, "mfcr"},
+ {PPC_GENERIC, "mfcr"},
+ {PPC_GENERIC, "mfocrf"},
+ {PPC_GENERIC, "lwarx"},
+ {PPC_GENERIC, "ldx"},
+ {PPC_GENERIC, "icbt"},
+ {PPC_GENERIC, "lwzx"},
+ {PPC_GENERIC, "lx"},
+ {PPC_GENERIC, "slw"},
+ {PPC_GENERIC, "sl"},
+ {PPC_GENERIC, "slw."},
+ {PPC_GENERIC, "sl."},
+ {PPC_GENERIC, "cntlzw"},
+ {PPC_GENERIC, "cntlz"},
+ {PPC_GENERIC, "cntlzw."},
+ {PPC_GENERIC, "cntlz."},
+ {PPC_GENERIC, "sld"},
+ {PPC_GENERIC, "sld."},
+ {PPC_GENERIC, "and"},
+ {PPC_GENERIC, "and."},
+ {PPC_GENERIC, "maskg"},
+ {PPC_GENERIC, "maskg."},
+ {PPC_GENERIC, "ldepx"},
+ {PPC_GENERIC, "lwepx"},
+ {PPC_GENERIC, "cmplw"},
+ {PPC_GENERIC, "cmpld"},
+ {PPC_GENERIC, "cmpl"},
+ {PPC_GENERIC, "cmpl"},
+ {PPC_GENERIC, "lvsr"},
+ {PPC_GENERIC, "lvehx"},
+ {PPC_GENERIC, "lhfcmx"},
+ {PPC_GENERIC, "iselgt"},
+ {PPC_GENERIC, "lvewx"},
+ {PPC_GENERIC, "addg6s"},
+ {PPC_GENERIC, "iseleq"},
+ {PPC_GENERIC, "isel"},
+ {PPC_GENERIC, "subf"},
+ {PPC_GENERIC, "sub"},
+ {PPC_GENERIC, "subf."},
+ {PPC_GENERIC, "sub."},
+ {PPC_GENERIC, "eratilx"},
+ {PPC_GENERIC, "lbarx"},
+ {PPC_GENERIC, "ldux"},
+ {PPC_GENERIC, "dcbst"},
+ {PPC_GENERIC, "lwzux"},
+ {PPC_GENERIC, "lux"},
+ {PPC_GENERIC, "cntlzd"},
+ {PPC_GENERIC, "cntlzd."},
+ {PPC_GENERIC, "andc"},
+ {PPC_GENERIC, "andc."},
+ {PPC_GENERIC, "waitrsv"},
+ {PPC_GENERIC, "waitimpl"},
+ {PPC_GENERIC, "wait"},
+ {PPC_GENERIC, "dcbstep"},
+ {PPC_GENERIC, "tdlgt"},
+ {PPC_GENERIC, "tdllt"},
+ {PPC_GENERIC, "tdeq"},
+ {PPC_GENERIC, "tdlge"},
+ {PPC_GENERIC, "tdlnl"},
+ {PPC_GENERIC, "tdlle"},
+ {PPC_GENERIC, "tdlng"},
+ {PPC_GENERIC, "tdgt"},
+ {PPC_GENERIC, "tdge"},
+ {PPC_GENERIC, "tdnl"},
+ {PPC_GENERIC, "tdlt"},
+ {PPC_GENERIC, "tdle"},
+ {PPC_GENERIC, "tdng"},
+ {PPC_GENERIC, "tdne"},
+ {PPC_GENERIC, "td"},
+ {PPC_GENERIC, "lwfcmx"},
+ {PPC_GENERIC, "mulhd"},
+ {PPC_GENERIC, "mulhd."},
+ {PPC_GENERIC, "mulhw"},
+ {PPC_GENERIC, "mulhw."},
+ {PPC_GENERIC, "dlmzb"},
+ {PPC_GENERIC, "dlmzb."},
+ {PPC_GENERIC, "mtsrd"},
+ {PPC_GENERIC, "mfmsr"},
+ {PPC_GENERIC, "ldarx"},
+ {PPC_GENERIC, "dcbfl"},
+ {PPC_GENERIC, "dcbf"},
+ {PPC_GENERIC, "lbzx"},
+ {PPC_GENERIC, "lbepx"},
+ {PPC_GENERIC, "dni"},
+ {PPC_GENERIC, "lvx"},
+ {PPC_GENERIC, "lqfcmx"},
+ {PPC_GENERIC, "neg"},
+ {PPC_GENERIC, "neg."},
+ {PPC_GENERIC, "mul"},
+ {PPC_GENERIC, "mul."},
+ {PPC_GENERIC, "mvidsplt"},
+ {PPC_GENERIC, "mtsrdin"},
+ {PPC_GENERIC, "lharx"},
+ {PPC_GENERIC, "clf"},
+ {PPC_GENERIC, "lbzux"},
+ {PPC_GENERIC, "popcntb"},
+ {PPC_GENERIC, "not"},
+ {PPC_GENERIC, "nor"},
+ {PPC_GENERIC, "not."},
+ {PPC_GENERIC, "nor."},
+ {PPC_GENERIC, "dcbfep"},
+ {PPC_GENERIC, "wrtee"},
+ {PPC_GENERIC, "dcbtstls"},
+ {PPC_GENERIC, "stvebx"},
+ {PPC_GENERIC, "stbfcmx"},
+ {PPC_GENERIC, "subfe"},
+ {PPC_GENERIC, "sfe"},
+ {PPC_GENERIC, "subfe."},
+ {PPC_GENERIC, "sfe."},
+ {PPC_GENERIC, "adde"},
+ {PPC_GENERIC, "ae"},
+ {PPC_GENERIC, "adde."},
+ {PPC_GENERIC, "ae."},
+ {PPC_GENERIC, "mviwsplt"},
+ {PPC_GENERIC, "dcbtstlse"},
+ {PPC_GENERIC, "mtcr"},
+ {PPC_GENERIC, "mtcrf"},
+ {PPC_GENERIC, "mtocrf"},
+ {PPC_GENERIC, "mtmsr"},
+ {PPC_GENERIC, "eratsx"},
+ {PPC_GENERIC, "eratsx."},
+ {PPC_GENERIC, "stdx"},
+ {PPC_GENERIC, "stwcx."},
+ {PPC_GENERIC, "stwx"},
+ {PPC_GENERIC, "stx"},
+ {PPC_GENERIC, "slq"},
+ {PPC_GENERIC, "slq."},
+ {PPC_GENERIC, "sle"},
+ {PPC_GENERIC, "sle."},
+ {PPC_GENERIC, "prtyw"},
+ {PPC_GENERIC, "stdepx"},
+ {PPC_GENERIC, "stwepx"},
+ {PPC_GENERIC, "wrteei"},
+ {PPC_GENERIC, "dcbtls"},
+ {PPC_GENERIC, "stvehx"},
+ {PPC_GENERIC, "sthfcmx"},
+ {PPC_GENERIC, "dcbtlse"},
+ {PPC_GENERIC, "mtmsrd"},
+ {PPC_GENERIC, "eratre"},
+ {PPC_GENERIC, "stdux"},
+ {PPC_GENERIC, "wchkall"},
+ {PPC_GENERIC, "stwux"},
+ {PPC_GENERIC, "stux"},
+ {PPC_GENERIC, "sliq"},
+ {PPC_GENERIC, "sliq."},
+ {PPC_GENERIC, "prtyd"},
+ {PPC_GENERIC, "icblq."},
+ {PPC_GENERIC, "stvewx"},
+ {PPC_GENERIC, "stwfcmx"},
+ {PPC_GENERIC, "subfze"},
+ {PPC_GENERIC, "sfze"},
+ {PPC_GENERIC, "subfze."},
+ {PPC_GENERIC, "sfze."},
+ {PPC_GENERIC, "addze"},
+ {PPC_GENERIC, "aze"},
+ {PPC_GENERIC, "addze."},
+ {PPC_GENERIC, "aze."},
+ {PPC_GENERIC, "msgsnd"},
+ {PPC_GENERIC, "mtsr"},
+ {PPC_GENERIC, "eratwe"},
+ {PPC_GENERIC, "ldawx."},
+ {PPC_GENERIC, "stdcx."},
+ {PPC_GENERIC, "stbx"},
+ {PPC_GENERIC, "sllq"},
+ {PPC_GENERIC, "sllq."},
+ {PPC_GENERIC, "sleq"},
+ {PPC_GENERIC, "sleq."},
+ {PPC_GENERIC, "stbepx"},
+ {PPC_GENERIC, "icblc"},
+ {PPC_GENERIC, "stvx"},
+ {PPC_GENERIC, "stqfcmx"},
+ {PPC_GENERIC, "subfme"},
+ {PPC_GENERIC, "sfme"},
+ {PPC_GENERIC, "subfme."},
+ {PPC_GENERIC, "sfme."},
+ {PPC_GENERIC, "mulld"},
+ {PPC_GENERIC, "mulld."},
+ {PPC_GENERIC, "addme"},
+ {PPC_GENERIC, "ame"},
+ {PPC_GENERIC, "addme."},
+ {PPC_GENERIC, "ame."},
+ {PPC_GENERIC, "mullw"},
+ {PPC_GENERIC, "muls"},
+ {PPC_GENERIC, "mullw."},
+ {PPC_GENERIC, "muls."},
+ {PPC_GENERIC, "icblce"},
+ {PPC_GENERIC, "msgclr"},
+ {PPC_GENERIC, "mtsrin"},
+ {PPC_GENERIC, "mtsri"},
+ {PPC_GENERIC, "dcbtstt"},
+ {PPC_GENERIC, "dcbtst"},
+ {PPC_GENERIC, "dcbtst"},
+ {PPC_GENERIC, "stbux"},
+ {PPC_GENERIC, "slliq"},
+ {PPC_GENERIC, "slliq."},
+ {PPC_GENERIC, "bpermd"},
+ {PPC_GENERIC, "dcbtstep"},
+ {PPC_GENERIC, "mfdcrx"},
+ {PPC_GENERIC, "mfdcrx."},
+ {PPC_GENERIC, "lvexbx"},
+ {PPC_GENERIC, "icbt"},
+ {PPC_GENERIC, "lvepxl"},
+ {PPC_GENERIC, "ldfcmx"},
+ {PPC_GENERIC, "doz"},
+ {PPC_GENERIC, "doz."},
+ {PPC_GENERIC, "add"},
+ {PPC_GENERIC, "cax"},
+ {PPC_GENERIC, "add."},
+ {PPC_GENERIC, "cax."},
+ {PPC_GENERIC, "ehpriv"},
+ {PPC_GENERIC, "tlbiel"},
+ {PPC_GENERIC, "mfapidi"},
+ {PPC_GENERIC, "lscbx"},
+ {PPC_GENERIC, "lscbx."},
+ {PPC_GENERIC, "dcbtt"},
+ {PPC_GENERIC, "dcbt"},
+ {PPC_GENERIC, "dcbt"},
+ {PPC_GENERIC, "lhzx"},
+ {PPC_GENERIC, "cdtbcd"},
+ {PPC_GENERIC, "eqv"},
+ {PPC_GENERIC, "eqv."},
+ {PPC_GENERIC, "lhepx"},
+ {PPC_GENERIC, "mfdcrux"},
+ {PPC_GENERIC, "lvexhx"},
+ {PPC_GENERIC, "lvepx"},
+ {PPC_GENERIC, "tlbie"},
+ {PPC_GENERIC, "tlbi"},
+ {PPC_GENERIC, "eciwx"},
+ {PPC_GENERIC, "lhzux"},
+ {PPC_GENERIC, "cbcdtd"},
+ {PPC_GENERIC, "xor"},
+ {PPC_GENERIC, "xor."},
+ {PPC_GENERIC, "dcbtep"},
+ {PPC_GENERIC, "mfexisr"},
+ {PPC_GENERIC, "mfexier"},
+ {PPC_GENERIC, "mfbr0"},
+ {PPC_GENERIC, "mfbr1"},
+ {PPC_GENERIC, "mfbr2"},
+ {PPC_GENERIC, "mfbr3"},
+ {PPC_GENERIC, "mfbr4"},
+ {PPC_GENERIC, "mfbr5"},
+ {PPC_GENERIC, "mfbr6"},
+ {PPC_GENERIC, "mfbr7"},
+ {PPC_GENERIC, "mfbear"},
+ {PPC_GENERIC, "mfbesr"},
+ {PPC_GENERIC, "mfiocr"},
+ {PPC_GENERIC, "mfdmacr0"},
+ {PPC_GENERIC, "mfdmact0"},
+ {PPC_GENERIC, "mfdmada0"},
+ {PPC_GENERIC, "mfdmasa0"},
+ {PPC_GENERIC, "mfdmacc0"},
+ {PPC_GENERIC, "mfdmacr1"},
+ {PPC_GENERIC, "mfdmact1"},
+ {PPC_GENERIC, "mfdmada1"},
+ {PPC_GENERIC, "mfdmasa1"},
+ {PPC_GENERIC, "mfdmacc1"},
+ {PPC_GENERIC, "mfdmacr2"},
+ {PPC_GENERIC, "mfdmact2"},
+ {PPC_GENERIC, "mfdmada2"},
+ {PPC_GENERIC, "mfdmasa2"},
+ {PPC_GENERIC, "mfdmacc2"},
+ {PPC_GENERIC, "mfdmacr3"},
+ {PPC_GENERIC, "mfdmact3"},
+ {PPC_GENERIC, "mfdmada3"},
+ {PPC_GENERIC, "mfdmasa3"},
+ {PPC_GENERIC, "mfdmacc3"},
+ {PPC_GENERIC, "mfdmasr"},
+ {PPC_GENERIC, "mfdcr"},
+ {PPC_GENERIC, "mfdcr."},
+ {PPC_GENERIC, "lvexwx"},
+ {PPC_GENERIC, "dcread"},
+ {PPC_GENERIC, "div"},
+ {PPC_GENERIC, "div."},
+ {PPC_GENERIC, "lxvdsx"},
+ {PPC_GENERIC, "mfpmr"},
+ {PPC_GENERIC, "mftmr"},
+ {PPC_GENERIC, "mfmq"},
+ {PPC_GENERIC, "mfxer"},
+ {PPC_GENERIC, "mfrtcu"},
+ {PPC_GENERIC, "mfrtcl"},
+ {PPC_GENERIC, "mfdec"},
+ {PPC_GENERIC, "mflr"},
+ {PPC_GENERIC, "mfctr"},
+ {PPC_GENERIC, "mftid"},
+ {PPC_GENERIC, "mfdsisr"},
+ {PPC_GENERIC, "mfdar"},
+ {PPC_GENERIC, "mfdec"},
+ {PPC_GENERIC, "mfsdr0"},
+ {PPC_GENERIC, "mfsdr1"},
+ {PPC_GENERIC, "mfsrr0"},
+ {PPC_GENERIC, "mfsrr1"},
+ {PPC_GENERIC, "mfcfar"},
+ {PPC_GENERIC, "mfpid"},
+ {PPC_GENERIC, "mfcsrr0"},
+ {PPC_GENERIC, "mfcsrr1"},
+ {PPC_GENERIC, "mfdear"},
+ {PPC_GENERIC, "mfesr"},
+ {PPC_GENERIC, "mfivpr"},
+ {PPC_GENERIC, "mfcmpa"},
+ {PPC_GENERIC, "mfcmpb"},
+ {PPC_GENERIC, "mfcmpc"},
+ {PPC_GENERIC, "mfcmpd"},
+ {PPC_GENERIC, "mficr"},
+ {PPC_GENERIC, "mfder"},
+ {PPC_GENERIC, "mfcounta"},
+ {PPC_GENERIC, "mfcountb"},
+ {PPC_GENERIC, "mfcmpe"},
+ {PPC_GENERIC, "mfcmpf"},
+ {PPC_GENERIC, "mfcmpg"},
+ {PPC_GENERIC, "mfcmph"},
+ {PPC_GENERIC, "mflctrl1"},
+ {PPC_GENERIC, "mflctrl2"},
+ {PPC_GENERIC, "mfictrl"},
+ {PPC_GENERIC, "mfbar"},
+ {PPC_GENERIC, "mfvrsave"},
+ {PPC_GENERIC, "mfusprg0"},
+ {PPC_GENERIC, "mfsprg"},
+ {PPC_GENERIC, "mfsprg4"},
+ {PPC_GENERIC, "mfsprg5"},
+ {PPC_GENERIC, "mfsprg6"},
+ {PPC_GENERIC, "mfsprg7"},
+ {PPC_GENERIC, "mftb"},
+ {PPC_GENERIC, "mftbl"},
+ {PPC_GENERIC, "mftbu"},
+ {PPC_GENERIC, "mfsprg0"},
+ {PPC_GENERIC, "mfsprg1"},
+ {PPC_GENERIC, "mfsprg2"},
+ {PPC_GENERIC, "mfsprg3"},
+ {PPC_GENERIC, "mfasr"},
+ {PPC_GENERIC, "mfear"},
+ {PPC_GENERIC, "mfpir"},
+ {PPC_GENERIC, "mfpvr"},
+ {PPC_GENERIC, "mfdbsr"},
+ {PPC_GENERIC, "mfdbcr0"},
+ {PPC_GENERIC, "mfdbcr1"},
+ {PPC_GENERIC, "mfdbcr2"},
+ {PPC_GENERIC, "mfiac1"},
+ {PPC_GENERIC, "mfiac2"},
+ {PPC_GENERIC, "mfiac3"},
+ {PPC_GENERIC, "mfiac4"},
+ {PPC_GENERIC, "mfdac1"},
+ {PPC_GENERIC, "mfdac2"},
+ {PPC_GENERIC, "mfdvc1"},
+ {PPC_GENERIC, "mfdvc2"},
+ {PPC_GENERIC, "mftsr"},
+ {PPC_GENERIC, "mftcr"},
+ {PPC_GENERIC, "mfivor0"},
+ {PPC_GENERIC, "mfivor1"},
+ {PPC_GENERIC, "mfivor2"},
+ {PPC_GENERIC, "mfivor3"},
+ {PPC_GENERIC, "mfivor4"},
+ {PPC_GENERIC, "mfivor5"},
+ {PPC_GENERIC, "mfivor6"},
+ {PPC_GENERIC, "mfivor7"},
+ {PPC_GENERIC, "mfivor8"},
+ {PPC_GENERIC, "mfivor9"},
+ {PPC_GENERIC, "mfivor10"},
+ {PPC_GENERIC, "mfivor11"},
+ {PPC_GENERIC, "mfivor12"},
+ {PPC_GENERIC, "mfivor13"},
+ {PPC_GENERIC, "mfivor14"},
+ {PPC_GENERIC, "mfivor15"},
+ {PPC_GENERIC, "mfspefscr"},
+ {PPC_GENERIC, "mfbbear"},
+ {PPC_GENERIC, "mfbbtar"},
+ {PPC_GENERIC, "mfivor32"},
+ {PPC_GENERIC, "mfibatu"},
+ {PPC_GENERIC, "mfivor33"},
+ {PPC_GENERIC, "mfibatl"},
+ {PPC_GENERIC, "mfivor34"},
+ {PPC_GENERIC, "mfivor35"},
+ {PPC_GENERIC, "mfdbatu"},
+ {PPC_GENERIC, "mfdbatl"},
+ {PPC_GENERIC, "mfic_cst"},
+ {PPC_GENERIC, "mfic_adr"},
+ {PPC_GENERIC, "mfic_dat"},
+ {PPC_GENERIC, "mfdc_cst"},
+ {PPC_GENERIC, "mfdc_adr"},
+ {PPC_GENERIC, "mfdc_dat"},
+ {PPC_GENERIC, "mfmcsrr0"},
+ {PPC_GENERIC, "mfmcsrr1"},
+ {PPC_GENERIC, "mfmcsr"},
+ {PPC_GENERIC, "mfmcar"},
+ {PPC_GENERIC, "mfdpdr"},
+ {PPC_GENERIC, "mfdpir"},
+ {PPC_GENERIC, "mfimmr"},
+ {PPC_GENERIC, "mfmi_ctr"},
+ {PPC_GENERIC, "mfmi_ap"},
+ {PPC_GENERIC, "mfmi_epn"},
+ {PPC_GENERIC, "mfmi_twc"},
+ {PPC_GENERIC, "mfmi_rpn"},
+ {PPC_GENERIC, "mfmd_ctr"},
+ {PPC_GENERIC, "mfm_casid"},
+ {PPC_GENERIC, "mfmd_ap"},
+ {PPC_GENERIC, "mfmd_epn"},
+ {PPC_GENERIC, "mfmd_twb"},
+ {PPC_GENERIC, "mfmd_twc"},
+ {PPC_GENERIC, "mfmd_rpn"},
+ {PPC_GENERIC, "mfm_tw"},
+ {PPC_GENERIC, "mfmi_dbcam"},
+ {PPC_GENERIC, "mfmi_dbram0"},
+ {PPC_GENERIC, "mfmi_dbram1"},
+ {PPC_GENERIC, "mfmd_dbcam"},
+ {PPC_GENERIC, "mfmd_dbram0"},
+ {PPC_GENERIC, "mfmd_dbram1"},
+ {PPC_GENERIC, "mfivndx"},
+ {PPC_GENERIC, "mfdvndx"},
+ {PPC_GENERIC, "mfivlim"},
+ {PPC_GENERIC, "mfdvlim"},
+ {PPC_GENERIC, "mfclcsr"},
+ {PPC_GENERIC, "mfccr1"},
+ {PPC_GENERIC, "mfrstcfg"},
+ {PPC_GENERIC, "mfdcdbtrl"},
+ {PPC_GENERIC, "mfdcdbtrh"},
+ {PPC_GENERIC, "mficdbtr"},
+ {PPC_GENERIC, "mfummcr0"},
+ {PPC_GENERIC, "mfupmc1"},
+ {PPC_GENERIC, "mfupmc2"},
+ {PPC_GENERIC, "mfusia"},
+ {PPC_GENERIC, "mfummcr1"},
+ {PPC_GENERIC, "mfupmc3"},
+ {PPC_GENERIC, "mfupmc4"},
+ {PPC_GENERIC, "mfzpr"},
+ {PPC_GENERIC, "mfpid"},
+ {PPC_GENERIC, "mfmmucr"},
+ {PPC_GENERIC, "mfccr0"},
+ {PPC_GENERIC, "mfiac3"},
+ {PPC_GENERIC, "mfiac4"},
+ {PPC_GENERIC, "mfdvc1"},
+ {PPC_GENERIC, "mfdvc2"},
+ {PPC_GENERIC, "mfmmcr0"},
+ {PPC_GENERIC, "mfpmc1"},
+ {PPC_GENERIC, "mfsgr"},
+ {PPC_GENERIC, "mfdcwr"},
+ {PPC_GENERIC, "mfpmc2"},
+ {PPC_GENERIC, "mfsia"},
+ {PPC_GENERIC, "mfsler"},
+ {PPC_GENERIC, "mfmmcr1"},
+ {PPC_GENERIC, "mfsu0r"},
+ {PPC_GENERIC, "mfdbcr1"},
+ {PPC_GENERIC, "mfpmc3"},
+ {PPC_GENERIC, "mfpmc4"},
+ {PPC_GENERIC, "mficdbdr"},
+ {PPC_GENERIC, "mfesr"},
+ {PPC_GENERIC, "mfdear"},
+ {PPC_GENERIC, "mfevpr"},
+ {PPC_GENERIC, "mfcdbcr"},
+ {PPC_GENERIC, "mftsr"},
+ {PPC_GENERIC, "mftcr"},
+ {PPC_GENERIC, "mfpit"},
+ {PPC_GENERIC, "mftbhi"},
+ {PPC_GENERIC, "mftblo"},
+ {PPC_GENERIC, "mfsrr2"},
+ {PPC_GENERIC, "mfsrr3"},
+ {PPC_GENERIC, "mfdbsr"},
+ {PPC_GENERIC, "mfdbcr0"},
+ {PPC_GENERIC, "mfdbdr"},
+ {PPC_GENERIC, "mfiac1"},
+ {PPC_GENERIC, "mfiac2"},
+ {PPC_GENERIC, "mfdac1"},
+ {PPC_GENERIC, "mfdac2"},
+ {PPC_GENERIC, "mfl2cr"},
+ {PPC_GENERIC, "mfdccr"},
+ {PPC_GENERIC, "mficcr"},
+ {PPC_GENERIC, "mfictc"},
+ {PPC_GENERIC, "mfpbl1"},
+ {PPC_GENERIC, "mfthrm1"},
+ {PPC_GENERIC, "mfpbu1"},
+ {PPC_GENERIC, "mfthrm2"},
+ {PPC_GENERIC, "mfpbl2"},
+ {PPC_GENERIC, "mfthrm3"},
+ {PPC_GENERIC, "mfpbu2"},
+ {PPC_GENERIC, "mfspr"},
+ {PPC_GENERIC, "lwax"},
+ {PPC_GENERIC, "dst"},
+ {PPC_GENERIC, "lhax"},
+ {PPC_GENERIC, "lvxl"},
+ {PPC_GENERIC, "abs"},
+ {PPC_GENERIC, "abs."},
+ {PPC_GENERIC, "divs"},
+ {PPC_GENERIC, "divs."},
+ {PPC_GENERIC, "tlbia"},
+ {PPC_GENERIC, "mftbl"},
+ {PPC_GENERIC, "mftbu"},
+ {PPC_GENERIC, "mftb"},
+ {PPC_GENERIC, "lwaux"},
+ {PPC_GENERIC, "dstst"},
+ {PPC_GENERIC, "lhaux"},
+ {PPC_GENERIC, "popcntw"},
+ {PPC_GENERIC, "mtdcrx"},
+ {PPC_GENERIC, "mtdcrx."},
+ {PPC_GENERIC, "stvexbx"},
+ {PPC_GENERIC, "dcblc"},
+ {PPC_GENERIC, "stdfcmx"},
+ {PPC_GENERIC, "divdeu"},
+ {PPC_GENERIC, "divdeu."},
+ {PPC_GENERIC, "divweu"},
+ {PPC_GENERIC, "divweu."},
+ {PPC_GENERIC, "dcblce"},
+ {PPC_GENERIC, "slbmte"},
+ {PPC_GENERIC, "icswx"},
+ {PPC_GENERIC, "icswx."},
+ {PPC_GENERIC, "sthx"},
+ {PPC_GENERIC, "orc"},
+ {PPC_GENERIC, "orc."},
+ {PPC_GENERIC, "sthepx"},
+ {PPC_GENERIC, "mtdcrux"},
+ {PPC_GENERIC, "stvexhx"},
+ {PPC_GENERIC, "dcblq."},
+ {PPC_GENERIC, "divde"},
+ {PPC_GENERIC, "divde."},
+ {PPC_GENERIC, "divwe"},
+ {PPC_GENERIC, "divwe."},
+ {PPC_GENERIC, "slbie"},
+ {PPC_GENERIC, "ecowx"},
+ {PPC_GENERIC, "sthux"},
+ {PPC_GENERIC, "mdors"},
+ {PPC_GENERIC, "miso"},
+ {PPC_GENERIC, "mr"},
+ {PPC_GENERIC, "or"},
+ {PPC_GENERIC, "mr."},
+ {PPC_GENERIC, "or."},
+ {PPC_GENERIC, "mtexisr"},
+ {PPC_GENERIC, "mtexier"},
+ {PPC_GENERIC, "mtbr0"},
+ {PPC_GENERIC, "mtbr1"},
+ {PPC_GENERIC, "mtbr2"},
+ {PPC_GENERIC, "mtbr3"},
+ {PPC_GENERIC, "mtbr4"},
+ {PPC_GENERIC, "mtbr5"},
+ {PPC_GENERIC, "mtbr6"},
+ {PPC_GENERIC, "mtbr7"},
+ {PPC_GENERIC, "mtbear"},
+ {PPC_GENERIC, "mtbesr"},
+ {PPC_GENERIC, "mtiocr"},
+ {PPC_GENERIC, "mtdmacr0"},
+ {PPC_GENERIC, "mtdmact0"},
+ {PPC_GENERIC, "mtdmada0"},
+ {PPC_GENERIC, "mtdmasa0"},
+ {PPC_GENERIC, "mtdmacc0"},
+ {PPC_GENERIC, "mtdmacr1"},
+ {PPC_GENERIC, "mtdmact1"},
+ {PPC_GENERIC, "mtdmada1"},
+ {PPC_GENERIC, "mtdmasa1"},
+ {PPC_GENERIC, "mtdmacc1"},
+ {PPC_GENERIC, "mtdmacr2"},
+ {PPC_GENERIC, "mtdmact2"},
+ {PPC_GENERIC, "mtdmada2"},
+ {PPC_GENERIC, "mtdmasa2"},
+ {PPC_GENERIC, "mtdmacc2"},
+ {PPC_GENERIC, "mtdmacr3"},
+ {PPC_GENERIC, "mtdmact3"},
+ {PPC_GENERIC, "mtdmada3"},
+ {PPC_GENERIC, "mtdmasa3"},
+ {PPC_GENERIC, "mtdmacc3"},
+ {PPC_GENERIC, "mtdmasr"},
+ {PPC_GENERIC, "mtdcr"},
+ {PPC_GENERIC, "mtdcr."},
+ {PPC_GENERIC, "stvexwx"},
+ {PPC_GENERIC, "dccci"},
+ {PPC_GENERIC, "dci"},
+ {PPC_GENERIC, "divdu"},
+ {PPC_GENERIC, "divdu."},
+ {PPC_GENERIC, "divwu"},
+ {PPC_GENERIC, "divwu."},
+ {PPC_GENERIC, "mtpmr"},
+ {PPC_GENERIC, "mttmr"},
+ {PPC_GENERIC, "mtmq"},
+ {PPC_GENERIC, "mtxer"},
+ {PPC_GENERIC, "mtlr"},
+ {PPC_GENERIC, "mtctr"},
+ {PPC_GENERIC, "mttid"},
+ {PPC_GENERIC, "mtdsisr"},
+ {PPC_GENERIC, "mtdar"},
+ {PPC_GENERIC, "mtrtcu"},
+ {PPC_GENERIC, "mtrtcl"},
+ {PPC_GENERIC, "mtdec"},
+ {PPC_GENERIC, "mtsdr0"},
+ {PPC_GENERIC, "mtsdr1"},
+ {PPC_GENERIC, "mtsrr0"},
+ {PPC_GENERIC, "mtsrr1"},
+ {PPC_GENERIC, "mtcfar"},
+ {PPC_GENERIC, "mtpid"},
+ {PPC_GENERIC, "mtdecar"},
+ {PPC_GENERIC, "mtcsrr0"},
+ {PPC_GENERIC, "mtcsrr1"},
+ {PPC_GENERIC, "mtdear"},
+ {PPC_GENERIC, "mtesr"},
+ {PPC_GENERIC, "mtivpr"},
+ {PPC_GENERIC, "mtcmpa"},
+ {PPC_GENERIC, "mtcmpb"},
+ {PPC_GENERIC, "mtcmpc"},
+ {PPC_GENERIC, "mtcmpd"},
+ {PPC_GENERIC, "mticr"},
+ {PPC_GENERIC, "mtder"},
+ {PPC_GENERIC, "mtcounta"},
+ {PPC_GENERIC, "mtcountb"},
+ {PPC_GENERIC, "mtcmpe"},
+ {PPC_GENERIC, "mtcmpf"},
+ {PPC_GENERIC, "mtcmpg"},
+ {PPC_GENERIC, "mtcmph"},
+ {PPC_GENERIC, "mtlctrl1"},
+ {PPC_GENERIC, "mtlctrl2"},
+ {PPC_GENERIC, "mtictrl"},
+ {PPC_GENERIC, "mtbar"},
+ {PPC_GENERIC, "mtvrsave"},
+ {PPC_GENERIC, "mtusprg0"},
+ {PPC_GENERIC, "mtsprg"},
+ {PPC_GENERIC, "mtsprg0"},
+ {PPC_GENERIC, "mtsprg1"},
+ {PPC_GENERIC, "mtsprg2"},
+ {PPC_GENERIC, "mtsprg3"},
+ {PPC_GENERIC, "mtsprg4"},
+ {PPC_GENERIC, "mtsprg5"},
+ {PPC_GENERIC, "mtsprg6"},
+ {PPC_GENERIC, "mtsprg7"},
+ {PPC_GENERIC, "mtasr"},
+ {PPC_GENERIC, "mtear"},
+ {PPC_GENERIC, "mttbl"},
+ {PPC_GENERIC, "mttbu"},
+ {PPC_GENERIC, "mtdbsr"},
+ {PPC_GENERIC, "mtdbcr0"},
+ {PPC_GENERIC, "mtdbcr1"},
+ {PPC_GENERIC, "mtdbcr2"},
+ {PPC_GENERIC, "mtiac1"},
+ {PPC_GENERIC, "mtiac2"},
+ {PPC_GENERIC, "mtiac3"},
+ {PPC_GENERIC, "mtiac4"},
+ {PPC_GENERIC, "mtdac1"},
+ {PPC_GENERIC, "mtdac2"},
+ {PPC_GENERIC, "mtdvc1"},
+ {PPC_GENERIC, "mtdvc2"},
+ {PPC_GENERIC, "mttsr"},
+ {PPC_GENERIC, "mttcr"},
+ {PPC_GENERIC, "mtivor0"},
+ {PPC_GENERIC, "mtivor1"},
+ {PPC_GENERIC, "mtivor2"},
+ {PPC_GENERIC, "mtivor3"},
+ {PPC_GENERIC, "mtivor4"},
+ {PPC_GENERIC, "mtivor5"},
+ {PPC_GENERIC, "mtivor6"},
+ {PPC_GENERIC, "mtivor7"},
+ {PPC_GENERIC, "mtivor8"},
+ {PPC_GENERIC, "mtivor9"},
+ {PPC_GENERIC, "mtivor10"},
+ {PPC_GENERIC, "mtivor11"},
+ {PPC_GENERIC, "mtivor12"},
+ {PPC_GENERIC, "mtivor13"},
+ {PPC_GENERIC, "mtivor14"},
+ {PPC_GENERIC, "mtivor15"},
+ {PPC_GENERIC, "mtspefscr"},
+ {PPC_GENERIC, "mtbbear"},
+ {PPC_GENERIC, "mtbbtar"},
+ {PPC_GENERIC, "mtivor32"},
+ {PPC_GENERIC, "mtibatu"},
+ {PPC_GENERIC, "mtivor33"},
+ {PPC_GENERIC, "mtibatl"},
+ {PPC_GENERIC, "mtivor34"},
+ {PPC_GENERIC, "mtivor35"},
+ {PPC_GENERIC, "mtdbatu"},
+ {PPC_GENERIC, "mtdbatl"},
+ {PPC_GENERIC, "mtmcsrr0"},
+ {PPC_GENERIC, "mtmcsrr1"},
+ {PPC_GENERIC, "mtmcsr"},
+ {PPC_GENERIC, "mtivndx"},
+ {PPC_GENERIC, "mtdvndx"},
+ {PPC_GENERIC, "mtivlim"},
+ {PPC_GENERIC, "mtdvlim"},
+ {PPC_GENERIC, "mtclcsr"},
+ {PPC_GENERIC, "mtccr1"},
+ {PPC_GENERIC, "mtummcr0"},
+ {PPC_GENERIC, "mtupmc1"},
+ {PPC_GENERIC, "mtupmc2"},
+ {PPC_GENERIC, "mtusia"},
+ {PPC_GENERIC, "mtummcr1"},
+ {PPC_GENERIC, "mtupmc3"},
+ {PPC_GENERIC, "mtupmc4"},
+ {PPC_GENERIC, "mtzpr"},
+ {PPC_GENERIC, "mtpid"},
+ {PPC_GENERIC, "mtrmmucr"},
+ {PPC_GENERIC, "mtccr0"},
+ {PPC_GENERIC, "mtiac3"},
+ {PPC_GENERIC, "mtiac4"},
+ {PPC_GENERIC, "mtdvc1"},
+ {PPC_GENERIC, "mtdvc2"},
+ {PPC_GENERIC, "mtmmcr0"},
+ {PPC_GENERIC, "mtpmc1"},
+ {PPC_GENERIC, "mtsgr"},
+ {PPC_GENERIC, "mtdcwr"},
+ {PPC_GENERIC, "mtpmc2"},
+ {PPC_GENERIC, "mtsia"},
+ {PPC_GENERIC, "mtsler"},
+ {PPC_GENERIC, "mtmmcr1"},
+ {PPC_GENERIC, "mtsu0r"},
+ {PPC_GENERIC, "mtdbcr1"},
+ {PPC_GENERIC, "mtpmc3"},
+ {PPC_GENERIC, "mtpmc4"},
+ {PPC_GENERIC, "mticdbdr"},
+ {PPC_GENERIC, "mtesr"},
+ {PPC_GENERIC, "mtdear"},
+ {PPC_GENERIC, "mtevpr"},
+ {PPC_GENERIC, "mtcdbcr"},
+ {PPC_GENERIC, "mttsr"},
+ {PPC_GENERIC, "mttcr"},
+ {PPC_GENERIC, "mtpit"},
+ {PPC_GENERIC, "mttbhi"},
+ {PPC_GENERIC, "mttblo"},
+ {PPC_GENERIC, "mtsrr2"},
+ {PPC_GENERIC, "mtsrr3"},
+ {PPC_GENERIC, "mtdbsr"},
+ {PPC_GENERIC, "mtdbdr"},
+ {PPC_GENERIC, "mtdbcr0"},
+ {PPC_GENERIC, "mtiac1"},
+ {PPC_GENERIC, "mtiac2"},
+ {PPC_GENERIC, "mtdac1"},
+ {PPC_GENERIC, "mtdac2"},
+ {PPC_GENERIC, "mtl2cr"},
+ {PPC_GENERIC, "mtdccr"},
+ {PPC_GENERIC, "mticcr"},
+ {PPC_GENERIC, "mtictc"},
+ {PPC_GENERIC, "mtpbl1"},
+ {PPC_GENERIC, "mtthrm1"},
+ {PPC_GENERIC, "mtpbu1"},
+ {PPC_GENERIC, "mtthrm2"},
+ {PPC_GENERIC, "mtpbl2"},
+ {PPC_GENERIC, "mtthrm3"},
+ {PPC_GENERIC, "mtpbu2"},
+ {PPC_GENERIC, "mtspr"},
+ {PPC_GENERIC, "dcbi"},
+ {PPC_GENERIC, "nand"},
+ {PPC_GENERIC, "nand."},
+ {PPC_GENERIC, "dsn"},
+ {PPC_GENERIC, "dcread"},
+ {PPC_GENERIC, "icbtls"},
+ {PPC_GENERIC, "stvxl"},
+ {PPC_GENERIC, "nabs"},
+ {PPC_GENERIC, "nabs."},
+ {PPC_GENERIC, "divd"},
+ {PPC_GENERIC, "divd."},
+ {PPC_GENERIC, "divw"},
+ {PPC_GENERIC, "divw."},
+ {PPC_GENERIC, "icbtlse"},
+ {PPC_GENERIC, "slbia"},
+ {PPC_GENERIC, "cli"},
+ {PPC_GENERIC, "popcntd"},
+ {PPC_GENERIC, "cmpb"},
+ {PPC_GENERIC, "mcrxr"},
+ {PPC_GENERIC, "lbdx"},
+ {PPC_GENERIC, "bblels"},
+ {PPC_GENERIC, "lvlx"},
+ {PPC_GENERIC, "lbfcmux"},
+ {PPC_GENERIC, "subfco"},
+ {PPC_GENERIC, "sfo"},
+ {PPC_GENERIC, "subco"},
+ {PPC_GENERIC, "subfco."},
+ {PPC_GENERIC, "sfo."},
+ {PPC_GENERIC, "subco."},
+ {PPC_GENERIC, "addco"},
+ {PPC_GENERIC, "ao"},
+ {PPC_GENERIC, "addco."},
+ {PPC_GENERIC, "ao."},
+ {PPC_GENERIC, "clcs"},
+ {PPC_GENERIC, "ldbrx"},
+ {PPC_GENERIC, "lswx"},
+ {PPC_GENERIC, "lsx"},
+ {PPC_GENERIC, "lwbrx"},
+ {PPC_GENERIC, "lbrx"},
+ {PPC_GENERIC, "lfsx"},
+ {PPC_GENERIC, "srw"},
+ {PPC_GENERIC, "sr"},
+ {PPC_GENERIC, "srw."},
+ {PPC_GENERIC, "sr."},
+ {PPC_GENERIC, "rrib"},
+ {PPC_GENERIC, "rrib."},
+ {PPC_GENERIC, "srd"},
+ {PPC_GENERIC, "srd."},
+ {PPC_GENERIC, "maskir"},
+ {PPC_GENERIC, "maskir."},
+ {PPC_GENERIC, "lhdx"},
+ {PPC_GENERIC, "lvtrx"},
+ {PPC_GENERIC, "bbelr"},
+ {PPC_GENERIC, "lvrx"},
+ {PPC_GENERIC, "lhfcmux"},
+ {PPC_GENERIC, "subfo"},
+ {PPC_GENERIC, "subo"},
+ {PPC_GENERIC, "subfo."},
+ {PPC_GENERIC, "subo."},
+ {PPC_GENERIC, "tlbsync"},
+ {PPC_GENERIC, "lfsux"},
+ {PPC_GENERIC, "lwdx"},
+ {PPC_GENERIC, "lvtlx"},
+ {PPC_GENERIC, "lwfcmux"},
+ {PPC_GENERIC, "lxsdx"},
+ {PPC_GENERIC, "mfsr"},
+ {PPC_GENERIC, "lswi"},
+ {PPC_GENERIC, "lsi"},
+ {PPC_GENERIC, "lwsync"},
+ {PPC_GENERIC, "ptesync"},
+ {PPC_GENERIC, "sync"},
+ {PPC_GENERIC, "sync"},
+ {PPC_GENERIC, "msync"},
+ {PPC_GENERIC, "sync"},
+ {PPC_GENERIC, "lwsync"},
+ {PPC_GENERIC, "dcs"},
+ {PPC_GENERIC, "lfdx"},
+ {PPC_GENERIC, "mffgpr"},
+ {PPC_GENERIC, "lfdepx"},
+ {PPC_GENERIC, "lddx"},
+ {PPC_GENERIC, "lvswx"},
+ {PPC_GENERIC, "lqfcmux"},
+ {PPC_GENERIC, "nego"},
+ {PPC_GENERIC, "nego."},
+ {PPC_GENERIC, "mulo"},
+ {PPC_GENERIC, "mulo."},
+ {PPC_GENERIC, "mfsri"},
+ {PPC_GENERIC, "dclst"},
+ {PPC_GENERIC, "lfdux"},
+ {PPC_GENERIC, "stbdx"},
+ {PPC_GENERIC, "stvlx"},
+ {PPC_GENERIC, "stbfcmux"},
+ {PPC_GENERIC, "subfeo"},
+ {PPC_GENERIC, "sfeo"},
+ {PPC_GENERIC, "subfeo."},
+ {PPC_GENERIC, "sfeo."},
+ {PPC_GENERIC, "addeo"},
+ {PPC_GENERIC, "aeo"},
+ {PPC_GENERIC, "addeo."},
+ {PPC_GENERIC, "aeo."},
+ {PPC_GENERIC, "mfsrin"},
+ {PPC_GENERIC, "stdbrx"},
+ {PPC_GENERIC, "stswx"},
+ {PPC_GENERIC, "stsx"},
+ {PPC_GENERIC, "stwbrx"},
+ {PPC_GENERIC, "stbrx"},
+ {PPC_GENERIC, "stfsx"},
+ {PPC_GENERIC, "srq"},
+ {PPC_GENERIC, "srq."},
+ {PPC_GENERIC, "sre"},
+ {PPC_GENERIC, "sre."},
+ {PPC_GENERIC, "sthdx"},
+ {PPC_GENERIC, "stvfrx"},
+ {PPC_GENERIC, "stvrx"},
+ {PPC_GENERIC, "sthfcmux"},
+ {PPC_GENERIC, "stbcx."},
+ {PPC_GENERIC, "stfsux"},
+ {PPC_GENERIC, "sriq"},
+ {PPC_GENERIC, "sriq."},
+ {PPC_GENERIC, "stwdx"},
+ {PPC_GENERIC, "stvflx"},
+ {PPC_GENERIC, "stwfcmux"},
+ {PPC_GENERIC, "stxsdx"},
+ {PPC_GENERIC, "subfzeo"},
+ {PPC_GENERIC, "sfzeo"},
+ {PPC_GENERIC, "subfzeo."},
+ {PPC_GENERIC, "sfzeo."},
+ {PPC_GENERIC, "addzeo"},
+ {PPC_GENERIC, "azeo"},
+ {PPC_GENERIC, "addzeo."},
+ {PPC_GENERIC, "azeo."},
+ {PPC_GENERIC, "stswi"},
+ {PPC_GENERIC, "stsi"},
+ {PPC_GENERIC, "sthcx."},
+ {PPC_GENERIC, "stfdx"},
+ {PPC_GENERIC, "srlq"},
+ {PPC_GENERIC, "srlq."},
+ {PPC_GENERIC, "sreq"},
+ {PPC_GENERIC, "sreq."},
+ {PPC_GENERIC, "mftgpr"},
+ {PPC_GENERIC, "stfdepx"},
+ {PPC_GENERIC, "stddx"},
+ {PPC_GENERIC, "stvswx"},
+ {PPC_GENERIC, "stqfcmux"},
+ {PPC_GENERIC, "subfmeo"},
+ {PPC_GENERIC, "sfmeo"},
+ {PPC_GENERIC, "subfmeo."},
+ {PPC_GENERIC, "sfmeo."},
+ {PPC_GENERIC, "mulldo"},
+ {PPC_GENERIC, "mulldo."},
+ {PPC_GENERIC, "addmeo"},
+ {PPC_GENERIC, "ameo"},
+ {PPC_GENERIC, "addmeo."},
+ {PPC_GENERIC, "ameo."},
+ {PPC_GENERIC, "mullwo"},
+ {PPC_GENERIC, "mulso"},
+ {PPC_GENERIC, "mullwo."},
+ {PPC_GENERIC, "mulso."},
+ {PPC_GENERIC, "dcba"},
+ {PPC_GENERIC, "dcbal"},
+ {PPC_GENERIC, "stfdux"},
+ {PPC_GENERIC, "srliq"},
+ {PPC_GENERIC, "srliq."},
+ {PPC_GENERIC, "lvsm"},
+ {PPC_GENERIC, "stvepxl"},
+ {PPC_GENERIC, "lvlxl"},
+ {PPC_GENERIC, "ldfcmux"},
+ {PPC_GENERIC, "dozo"},
+ {PPC_GENERIC, "dozo."},
+ {PPC_GENERIC, "addo"},
+ {PPC_GENERIC, "caxo"},
+ {PPC_GENERIC, "addo."},
+ {PPC_GENERIC, "caxo."},
+ {PPC_GENERIC, "lxvw4x"},
+ {PPC_GENERIC, "tlbivax"},
+ {PPC_GENERIC, "lwzcix"},
+ {PPC_GENERIC, "lhbrx"},
+ {PPC_GENERIC, "lfdpx"},
+ {PPC_GENERIC, "lfqx"},
+ {PPC_GENERIC, "sraw"},
+ {PPC_GENERIC, "sra"},
+ {PPC_GENERIC, "sraw."},
+ {PPC_GENERIC, "sra."},
+ {PPC_GENERIC, "srad"},
+ {PPC_GENERIC, "srad."},
+ {PPC_GENERIC, "lfddx"},
+ {PPC_GENERIC, "lvtrxl"},
+ {PPC_GENERIC, "stvepx"},
+ {PPC_GENERIC, "lvrxl"},
+ {PPC_GENERIC, "rac"},
+ {PPC_GENERIC, "erativax"},
+ {PPC_GENERIC, "lhzcix"},
+ {PPC_GENERIC, "dss"},
+ {PPC_GENERIC, "lfqux"},
+ {PPC_GENERIC, "srawi"},
+ {PPC_GENERIC, "srai"},
+ {PPC_GENERIC, "srawi."},
+ {PPC_GENERIC, "srai."},
+ {PPC_GENERIC, "sradi"},
+ {PPC_GENERIC, "sradi."},
+ {PPC_GENERIC, "lvtlxl"},
+ {PPC_GENERIC, "divo"},
+ {PPC_GENERIC, "divo."},
+ {PPC_GENERIC, "lxvd2x"},
+ {PPC_GENERIC, "tlbsrx."},
+ {PPC_GENERIC, "slbmfev"},
+ {PPC_GENERIC, "lbzcix"},
+ {PPC_GENERIC, "eieio"},
+ {PPC_GENERIC, "mbar"},
+ {PPC_GENERIC, "eieio"},
+ {PPC_GENERIC, "eieio"},
+ {PPC_GENERIC, "lfiwax"},
+ {PPC_GENERIC, "lvswxl"},
+ {PPC_GENERIC, "abso"},
+ {PPC_GENERIC, "abso."},
+ {PPC_GENERIC, "divso"},
+ {PPC_GENERIC, "divso."},
+ {PPC_GENERIC, "ldcix"},
+ {PPC_GENERIC, "lfiwzx"},
+ {PPC_GENERIC, "stvlxl"},
+ {PPC_GENERIC, "stdfcmux"},
+ {PPC_GENERIC, "divdeuo"},
+ {PPC_GENERIC, "divdeuo."},
+ {PPC_GENERIC, "divweuo"},
+ {PPC_GENERIC, "divweuo."},
+ {PPC_GENERIC, "stxvw4x"},
+ {PPC_GENERIC, "tlbsx"},
+ {PPC_GENERIC, "tlbsx."},
+ {PPC_GENERIC, "slbmfee"},
+ {PPC_GENERIC, "stwcix"},
+ {PPC_GENERIC, "sthbrx"},
+ {PPC_GENERIC, "stfdpx"},
+ {PPC_GENERIC, "stfqx"},
+ {PPC_GENERIC, "sraq"},
+ {PPC_GENERIC, "sraq."},
+ {PPC_GENERIC, "srea"},
+ {PPC_GENERIC, "srea."},
+ {PPC_GENERIC, "extsh"},
+ {PPC_GENERIC, "exts"},
+ {PPC_GENERIC, "extsh."},
+ {PPC_GENERIC, "exts."},
+ {PPC_GENERIC, "stfddx"},
+ {PPC_GENERIC, "stvfrxl"},
+ {PPC_GENERIC, "wclrone"},
+ {PPC_GENERIC, "wclrall"},
+ {PPC_GENERIC, "wclr"},
+ {PPC_GENERIC, "stvrxl"},
+ {PPC_GENERIC, "divdeo"},
+ {PPC_GENERIC, "divdeo."},
+ {PPC_GENERIC, "divweo"},
+ {PPC_GENERIC, "divweo."},
+ {PPC_GENERIC, "tlbrehi"},
+ {PPC_GENERIC, "tlbrelo"},
+ {PPC_GENERIC, "tlbre"},
+ {PPC_GENERIC, "sthcix"},
+ {PPC_GENERIC, "icswepx"},
+ {PPC_GENERIC, "icswepx."},
+ {PPC_GENERIC, "stfqux"},
+ {PPC_GENERIC, "sraiq"},
+ {PPC_GENERIC, "sraiq."},
+ {PPC_GENERIC, "extsb"},
+ {PPC_GENERIC, "extsb."},
+ {PPC_GENERIC, "stvflxl"},
+ {PPC_GENERIC, "iccci"},
+ {PPC_GENERIC, "ici"},
+ {PPC_GENERIC, "divduo"},
+ {PPC_GENERIC, "divduo."},
+ {PPC_GENERIC, "divwuo"},
+ {PPC_GENERIC, "divwuo."},
+ {PPC_GENERIC, "stxvd2x"},
+ {PPC_GENERIC, "tlbld"},
+ {PPC_GENERIC, "tlbwehi"},
+ {PPC_GENERIC, "tlbwelo"},
+ {PPC_GENERIC, "tlbwe"},
+ {PPC_GENERIC, "stbcix"},
+ {PPC_GENERIC, "icbi"},
+ {PPC_GENERIC, "stfiwx"},
+ {PPC_GENERIC, "extsw"},
+ {PPC_GENERIC, "extsw."},
+ {PPC_GENERIC, "icbiep"},
+ {PPC_GENERIC, "stvswxl"},
+ {PPC_GENERIC, "icread"},
+ {PPC_GENERIC, "nabso"},
+ {PPC_GENERIC, "nabso."},
+ {PPC_GENERIC, "divdo"},
+ {PPC_GENERIC, "divdo."},
+ {PPC_GENERIC, "divwo"},
+ {PPC_GENERIC, "divwo."},
+ {PPC_GENERIC, "tlbli"},
+ {PPC_GENERIC, "stdcix"},
+ {PPC_GENERIC, "dcbz"},
+ {PPC_GENERIC, "dclz"},
+ {PPC_GENERIC, "dcbzep"},
+ {PPC_GENERIC, "dcbzl"},
+ {PPC_GENERIC, "cctpl"},
+ {PPC_GENERIC, "cctpm"},
+ {PPC_GENERIC, "cctph"},
+ {PPC_GENERIC, "dstt"},
+ {PPC_GENERIC, "dststt"},
+ {PPC_GENERIC, "dssall"},
+ {PPC_GENERIC, "db8cyc"},
+ {PPC_GENERIC, "db10cyc"},
+ {PPC_GENERIC, "db12cyc"},
+ {PPC_GENERIC, "db16cyc"},
+ {PPC_GENERIC, "lwz"},
+ {PPC_GENERIC, "l"},
+ {PPC_GENERIC, "lwzu"},
+ {PPC_GENERIC, "lu"},
+ {PPC_GENERIC, "lbz"},
+ {PPC_GENERIC, "lbzu"},
+ {PPC_GENERIC, "stw"},
+ {PPC_GENERIC, "st"},
+ {PPC_GENERIC, "stwu"},
+ {PPC_GENERIC, "stu"},
+ {PPC_GENERIC, "stb"},
+ {PPC_GENERIC, "stbu"},
+ {PPC_GENERIC, "lhz"},
+ {PPC_GENERIC, "lhzu"},
+ {PPC_GENERIC, "lha"},
+ {PPC_GENERIC, "lhau"},
+ {PPC_GENERIC, "sth"},
+ {PPC_GENERIC, "sthu"},
+ {PPC_GENERIC, "lmw"},
+ {PPC_GENERIC, "lm"},
+ {PPC_GENERIC, "stmw"},
+ {PPC_GENERIC, "stm"},
+ {PPC_GENERIC, "lfs"},
+ {PPC_GENERIC, "lfsu"},
+ {PPC_GENERIC, "lfd"},
+ {PPC_GENERIC, "lfdu"},
+ {PPC_GENERIC, "stfs"},
+ {PPC_GENERIC, "stfsu"},
+ {PPC_GENERIC, "stfd"},
+ {PPC_GENERIC, "stfdu"},
+ {PPC_GENERIC, "lq"},
+ {PPC_GENERIC, "psq_l"},
+ {PPC_GENERIC, "lfq"},
+ {PPC_GENERIC, "lfdp"},
+ {PPC_GENERIC, "psq_lu"},
+ {PPC_GENERIC, "lfqu"},
+ {PPC_GENERIC, "ld"},
+ {PPC_GENERIC, "ldu"},
+ {PPC_GENERIC, "lwa"},
+ {PPC_GENERIC, "dadd"},
+ {PPC_GENERIC, "dadd."},
+ {PPC_GENERIC, "dqua"},
+ {PPC_GENERIC, "dqua."},
+ {PPC_GENERIC, "fdivs"},
+ {PPC_GENERIC, "fdivs."},
+ {PPC_GENERIC, "fsubs"},
+ {PPC_GENERIC, "fsubs."},
+ {PPC_GENERIC, "fadds"},
+ {PPC_GENERIC, "fadds."},
+ {PPC_GENERIC, "fsqrts"},
+ {PPC_GENERIC, "fsqrts."},
+ {PPC_GENERIC, "fres"},
+ {PPC_GENERIC, "fres"},
+ {PPC_GENERIC, "fres."},
+ {PPC_GENERIC, "fres."},
+ {PPC_GENERIC, "fmuls"},
+ {PPC_GENERIC, "fmuls."},
+ {PPC_GENERIC, "frsqrtes"},
+ {PPC_GENERIC, "frsqrtes"},
+ {PPC_GENERIC, "frsqrtes."},
+ {PPC_GENERIC, "frsqrtes."},
+ {PPC_GENERIC, "fmsubs"},
+ {PPC_GENERIC, "fmsubs."},
+ {PPC_GENERIC, "fmadds"},
+ {PPC_GENERIC, "fmadds."},
+ {PPC_GENERIC, "fnmsubs"},
+ {PPC_GENERIC, "fnmsubs."},
+ {PPC_GENERIC, "fnmadds"},
+ {PPC_GENERIC, "fnmadds."},
+ {PPC_GENERIC, "dmul"},
+ {PPC_GENERIC, "dmul."},
+ {PPC_GENERIC, "drrnd"},
+ {PPC_GENERIC, "drrnd."},
+ {PPC_GENERIC, "dscli"},
+ {PPC_GENERIC, "dscli."},
+ {PPC_GENERIC, "dquai"},
+ {PPC_GENERIC, "dquai."},
+ {PPC_GENERIC, "dscri"},
+ {PPC_GENERIC, "dscri."},
+ {PPC_GENERIC, "drintx"},
+ {PPC_GENERIC, "drintx."},
+ {PPC_GENERIC, "dcmpo"},
+ {PPC_GENERIC, "dtstex"},
+ {PPC_GENERIC, "dtstdc"},
+ {PPC_GENERIC, "dtstdg"},
+ {PPC_GENERIC, "drintn"},
+ {PPC_GENERIC, "drintn."},
+ {PPC_GENERIC, "dctdp"},
+ {PPC_GENERIC, "dctdp."},
+ {PPC_GENERIC, "dctfix"},
+ {PPC_GENERIC, "dctfix."},
+ {PPC_GENERIC, "ddedpd"},
+ {PPC_GENERIC, "ddedpd."},
+ {PPC_GENERIC, "dxex"},
+ {PPC_GENERIC, "dxex."},
+ {PPC_GENERIC, "dsub"},
+ {PPC_GENERIC, "dsub."},
+ {PPC_GENERIC, "ddiv"},
+ {PPC_GENERIC, "ddiv."},
+ {PPC_GENERIC, "dcmpu"},
+ {PPC_GENERIC, "dtstsf"},
+ {PPC_GENERIC, "drsp"},
+ {PPC_GENERIC, "drsp."},
+ {PPC_GENERIC, "dcffix"},
+ {PPC_GENERIC, "dcffix."},
+ {PPC_GENERIC, "denbcd"},
+ {PPC_GENERIC, "denbcd."},
+ {PPC_GENERIC, "fcfids"},
+ {PPC_GENERIC, "fcfids."},
+ {PPC_GENERIC, "diex"},
+ {PPC_GENERIC, "diex."},
+ {PPC_GENERIC, "fcfidus"},
+ {PPC_GENERIC, "fcfidus."},
+ {PPC_GENERIC, "xxsldwi"},
+ {PPC_GENERIC, "xxsel"},
+ {PPC_GENERIC, "xxspltd"},
+ {PPC_GENERIC, "xxmrghd"},
+ {PPC_GENERIC, "xxswapd"},
+ {PPC_GENERIC, "xxmrgld"},
+ {PPC_GENERIC, "xxpermdi"},
+ {PPC_GENERIC, "xxmrghw"},
+ {PPC_GENERIC, "xsadddp"},
+ {PPC_GENERIC, "xsmaddadp"},
+ {PPC_GENERIC, "xscmpudp"},
+ {PPC_GENERIC, "xssubdp"},
+ {PPC_GENERIC, "xsmaddmdp"},
+ {PPC_GENERIC, "xscmpodp"},
+ {PPC_GENERIC, "xsmuldp"},
+ {PPC_GENERIC, "xsmsubadp"},
+ {PPC_GENERIC, "xxmrglw"},
+ {PPC_GENERIC, "xsdivdp"},
+ {PPC_GENERIC, "xsmsubmdp"},
+ {PPC_GENERIC, "xstdivdp"},
+ {PPC_GENERIC, "xvaddsp"},
+ {PPC_GENERIC, "xvmaddasp"},
+ {PPC_GENERIC, "xvcmpeqsp"},
+ {PPC_GENERIC, "xvcmpeqsp."},
+ {PPC_GENERIC, "xvsubsp"},
+ {PPC_GENERIC, "xscvdpuxws"},
+ {PPC_GENERIC, "xvmaddmsp"},
+ {PPC_GENERIC, "xsrdpi"},
+ {PPC_GENERIC, "xsrsqrtedp"},
+ {PPC_GENERIC, "xssqrtdp"},
+ {PPC_GENERIC, "xvcmpgtsp"},
+ {PPC_GENERIC, "xvcmpgtsp."},
+ {PPC_GENERIC, "xvmulsp"},
+ {PPC_GENERIC, "xvmsubasp"},
+ {PPC_GENERIC, "xvcmpgesp"},
+ {PPC_GENERIC, "xvcmpgesp."},
+ {PPC_GENERIC, "xvdivsp"},
+ {PPC_GENERIC, "xscvdpsxws"},
+ {PPC_GENERIC, "xvmsubmsp"},
+ {PPC_GENERIC, "xsrdpiz"},
+ {PPC_GENERIC, "xsredp"},
+ {PPC_GENERIC, "xvtdivsp"},
+ {PPC_GENERIC, "xvadddp"},
+ {PPC_GENERIC, "xvmaddadp"},
+ {PPC_GENERIC, "xvcmpeqdp"},
+ {PPC_GENERIC, "xvcmpeqdp."},
+ {PPC_GENERIC, "xvsubdp"},
+ {PPC_GENERIC, "xvmaddmdp"},
+ {PPC_GENERIC, "xsrdpip"},
+ {PPC_GENERIC, "xstsqrtdp"},
+ {PPC_GENERIC, "xsrdpic"},
+ {PPC_GENERIC, "xvcmpgtdp"},
+ {PPC_GENERIC, "xvcmpgtdp."},
+ {PPC_GENERIC, "xvmuldp"},
+ {PPC_GENERIC, "xvmsubadp"},
+ {PPC_GENERIC, "xvcmpgedp"},
+ {PPC_GENERIC, "xvcmpgedp."},
+ {PPC_GENERIC, "xvdivdp"},
+ {PPC_GENERIC, "xvmsubmdp"},
+ {PPC_GENERIC, "xsrdpim"},
+ {PPC_GENERIC, "xvtdivdp"},
+ {PPC_GENERIC, "xxland"},
+ {PPC_GENERIC, "xvcvspuxws"},
+ {PPC_GENERIC, "xvrspi"},
+ {PPC_GENERIC, "xxlandc"},
+ {PPC_GENERIC, "xvrsqrtesp"},
+ {PPC_GENERIC, "xvsqrtsp"},
+ {PPC_GENERIC, "xxlor"},
+ {PPC_GENERIC, "xvcvspsxws"},
+ {PPC_GENERIC, "xvrspiz"},
+ {PPC_GENERIC, "xxlxor"},
+ {PPC_GENERIC, "xvresp"},
+ {PPC_GENERIC, "xsmaxdp"},
+ {PPC_GENERIC, "xsnmaddadp"},
+ {PPC_GENERIC, "xxlnor"},
+ {PPC_GENERIC, "xxspltw"},
+ {PPC_GENERIC, "xsmindp"},
+ {PPC_GENERIC, "xvcvuxwsp"},
+ {PPC_GENERIC, "xsnmaddmdp"},
+ {PPC_GENERIC, "xvrspip"},
+ {PPC_GENERIC, "xvtsqrtsp"},
+ {PPC_GENERIC, "xvrspic"},
+ {PPC_GENERIC, "xscpsgndp"},
+ {PPC_GENERIC, "xsnmsubadp"},
+ {PPC_GENERIC, "xvcvsxwsp"},
+ {PPC_GENERIC, "xsnmsubmdp"},
+ {PPC_GENERIC, "xvrspim"},
+ {PPC_GENERIC, "xvmaxsp"},
+ {PPC_GENERIC, "xvnmaddasp"},
+ {PPC_GENERIC, "xvminsp"},
+ {PPC_GENERIC, "xvcvdpuxws"},
+ {PPC_GENERIC, "xvnmaddmsp"},
+ {PPC_GENERIC, "xvrdpi"},
+ {PPC_GENERIC, "xvrsqrtedp"},
+ {PPC_GENERIC, "xvsqrtdp"},
+ {PPC_GENERIC, "xvmovsp"},
+ {PPC_GENERIC, "xvcpsgnsp"},
+ {PPC_GENERIC, "xvnmsubasp"},
+ {PPC_GENERIC, "xvcvdpsxws"},
+ {PPC_GENERIC, "xvnmsubmsp"},
+ {PPC_GENERIC, "xvrdpiz"},
+ {PPC_GENERIC, "xvredp"},
+ {PPC_GENERIC, "xvmaxdp"},
+ {PPC_GENERIC, "xvnmaddadp"},
+ {PPC_GENERIC, "xvmindp"},
+ {PPC_GENERIC, "xvnmaddmdp"},
+ {PPC_GENERIC, "xvcvuxwdp"},
+ {PPC_GENERIC, "xvrdpip"},
+ {PPC_GENERIC, "xvtsqrtdp"},
+ {PPC_GENERIC, "xvrdpic"},
+ {PPC_GENERIC, "xvmovdp"},
+ {PPC_GENERIC, "xvcpsgndp"},
+ {PPC_GENERIC, "xvnmsubadp"},
+ {PPC_GENERIC, "xvcvsxwdp"},
+ {PPC_GENERIC, "xvnmsubmdp"},
+ {PPC_GENERIC, "xvrdpim"},
+ {PPC_GENERIC, "xscvdpsp"},
+ {PPC_GENERIC, "xscvdpuxds"},
+ {PPC_GENERIC, "xscvspdp"},
+ {PPC_GENERIC, "xscvdpsxds"},
+ {PPC_GENERIC, "xsabsdp"},
+ {PPC_GENERIC, "xscvuxddp"},
+ {PPC_GENERIC, "xsnabsdp"},
+ {PPC_GENERIC, "xscvsxddp"},
+ {PPC_GENERIC, "xsnegdp"},
+ {PPC_GENERIC, "xvcvspuxds"},
+ {PPC_GENERIC, "xvcvdpsp"},
+ {PPC_GENERIC, "xvcvspsxds"},
+ {PPC_GENERIC, "xvabssp"},
+ {PPC_GENERIC, "xvcvuxdsp"},
+ {PPC_GENERIC, "xvnabssp"},
+ {PPC_GENERIC, "xvcvsxdsp"},
+ {PPC_GENERIC, "xvnegsp"},
+ {PPC_GENERIC, "xvcvdpuxds"},
+ {PPC_GENERIC, "xvcvspdp"},
+ {PPC_GENERIC, "xvcvdpsxds"},
+ {PPC_GENERIC, "xvabsdp"},
+ {PPC_GENERIC, "xvcvuxddp"},
+ {PPC_GENERIC, "xvnabsdp"},
+ {PPC_GENERIC, "xvcvsxddp"},
+ {PPC_GENERIC, "xvnegdp"},
+ {PPC_GENERIC, "psq_st"},
+ {PPC_GENERIC, "stfq"},
+ {PPC_GENERIC, "stfdp"},
+ {PPC_GENERIC, "psq_stu"},
+ {PPC_GENERIC, "stfqu"},
+ {PPC_GENERIC, "std"},
+ {PPC_GENERIC, "stdu"},
+ {PPC_GENERIC, "stq"},
+ {PPC_GENERIC, "fcmpu"},
+ {PPC_GENERIC, "daddq"},
+ {PPC_GENERIC, "daddq."},
+ {PPC_GENERIC, "dquaq"},
+ {PPC_GENERIC, "dquaq."},
+ {PPC_GENERIC, "fcpsgn"},
+ {PPC_GENERIC, "fcpsgn."},
+ {PPC_GENERIC, "frsp"},
+ {PPC_GENERIC, "frsp."},
+ {PPC_GENERIC, "fctiw"},
+ {PPC_GENERIC, "fcir"},
+ {PPC_GENERIC, "fctiw."},
+ {PPC_GENERIC, "fcir."},
+ {PPC_GENERIC, "fctiwz"},
+ {PPC_GENERIC, "fcirz"},
+ {PPC_GENERIC, "fctiwz."},
+ {PPC_GENERIC, "fcirz."},
+ {PPC_GENERIC, "fdiv"},
+ {PPC_GENERIC, "fd"},
+ {PPC_GENERIC, "fdiv."},
+ {PPC_GENERIC, "fd."},
+ {PPC_GENERIC, "fsub"},
+ {PPC_GENERIC, "fs"},
+ {PPC_GENERIC, "fsub."},
+ {PPC_GENERIC, "fs."},
+ {PPC_GENERIC, "fadd"},
+ {PPC_GENERIC, "fa"},
+ {PPC_GENERIC, "fadd."},
+ {PPC_GENERIC, "fa."},
+ {PPC_GENERIC, "fsqrt"},
+ {PPC_GENERIC, "fsqrt."},
+ {PPC_GENERIC, "fsel"},
+ {PPC_GENERIC, "fsel."},
+ {PPC_GENERIC, "fre"},
+ {PPC_GENERIC, "fre"},
+ {PPC_GENERIC, "fre."},
+ {PPC_GENERIC, "fre."},
+ {PPC_GENERIC, "fmul"},
+ {PPC_GENERIC, "fm"},
+ {PPC_GENERIC, "fmul."},
+ {PPC_GENERIC, "fm."},
+ {PPC_GENERIC, "frsqrte"},
+ {PPC_GENERIC, "frsqrte"},
+ {PPC_GENERIC, "frsqrte."},
+ {PPC_GENERIC, "frsqrte."},
+ {PPC_GENERIC, "fmsub"},
+ {PPC_GENERIC, "fms"},
+ {PPC_GENERIC, "fmsub."},
+ {PPC_GENERIC, "fms."},
+ {PPC_GENERIC, "fmadd"},
+ {PPC_GENERIC, "fma"},
+ {PPC_GENERIC, "fmadd."},
+ {PPC_GENERIC, "fma."},
+ {PPC_GENERIC, "fnmsub"},
+ {PPC_GENERIC, "fnms"},
+ {PPC_GENERIC, "fnmsub."},
+ {PPC_GENERIC, "fnms."},
+ {PPC_GENERIC, "fnmadd"},
+ {PPC_GENERIC, "fnma"},
+ {PPC_GENERIC, "fnmadd."},
+ {PPC_GENERIC, "fnma."},
+ {PPC_GENERIC, "fcmpo"},
+ {PPC_GENERIC, "dmulq"},
+ {PPC_GENERIC, "dmulq."},
+ {PPC_GENERIC, "drrndq"},
+ {PPC_GENERIC, "drrndq."},
+ {PPC_GENERIC, "mtfsb1"},
+ {PPC_GENERIC, "mtfsb1."},
+ {PPC_GENERIC, "fneg"},
+ {PPC_GENERIC, "fneg."},
+ {PPC_GENERIC, "mcrfs"},
+ {PPC_GENERIC, "dscliq"},
+ {PPC_GENERIC, "dscliq."},
+ {PPC_GENERIC, "dquaiq"},
+ {PPC_GENERIC, "dquaiq."},
+ {PPC_GENERIC, "mtfsb0"},
+ {PPC_GENERIC, "mtfsb0."},
+ {PPC_GENERIC, "fmr"},
+ {PPC_GENERIC, "fmr."},
+ {PPC_GENERIC, "dscriq"},
+ {PPC_GENERIC, "dscriq."},
+ {PPC_GENERIC, "drintxq"},
+ {PPC_GENERIC, "drintxq."},
+ {PPC_GENERIC, "ftdiv"},
+ {PPC_GENERIC, "dcmpoq"},
+ {PPC_GENERIC, "mtfsfi"},
+ {PPC_GENERIC, "mtfsfi"},
+ {PPC_GENERIC, "mtfsfi."},
+ {PPC_GENERIC, "mtfsfi."},
+ {PPC_GENERIC, "fnabs"},
+ {PPC_GENERIC, "fnabs."},
+ {PPC_GENERIC, "fctiwu"},
+ {PPC_GENERIC, "fctiwu."},
+ {PPC_GENERIC, "fctiwuz"},
+ {PPC_GENERIC, "fctiwuz."},
+ {PPC_GENERIC, "ftsqrt"},
+ {PPC_GENERIC, "dtstexq"},
+ {PPC_GENERIC, "dtstdcq"},
+ {PPC_GENERIC, "dtstdgq"},
+ {PPC_GENERIC, "drintnq"},
+ {PPC_GENERIC, "drintnq."},
+ {PPC_GENERIC, "dctqpq"},
+ {PPC_GENERIC, "dctqpq."},
+ {PPC_GENERIC, "fabs"},
+ {PPC_GENERIC, "fabs."},
+ {PPC_GENERIC, "dctfixq"},
+ {PPC_GENERIC, "dctfixq."},
+ {PPC_GENERIC, "ddedpdq"},
+ {PPC_GENERIC, "ddedpdq."},
+ {PPC_GENERIC, "dxexq"},
+ {PPC_GENERIC, "dxexq."},
+ {PPC_GENERIC, "frin"},
+ {PPC_GENERIC, "frin."},
+ {PPC_GENERIC, "friz"},
+ {PPC_GENERIC, "friz."},
+ {PPC_GENERIC, "frip"},
+ {PPC_GENERIC, "frip."},
+ {PPC_GENERIC, "frim"},
+ {PPC_GENERIC, "frim."},
+ {PPC_GENERIC, "dsubq"},
+ {PPC_GENERIC, "dsubq."},
+ {PPC_GENERIC, "ddivq"},
+ {PPC_GENERIC, "ddivq."},
+ {PPC_GENERIC, "mffs"},
+ {PPC_GENERIC, "mffs."},
+ {PPC_GENERIC, "dcmpuq"},
+ {PPC_GENERIC, "dtstsfq"},
+ {PPC_GENERIC, "mtfsf"},
+ {PPC_GENERIC, "mtfsf"},
+ {PPC_GENERIC, "mtfsf."},
+ {PPC_GENERIC, "mtfsf."},
+ {PPC_GENERIC, "drdpq"},
+ {PPC_GENERIC, "drdpq."},
+ {PPC_GENERIC, "dcffixq"},
+ {PPC_GENERIC, "dcffixq."},
+ {PPC_GENERIC, "fctid"},
+ {PPC_GENERIC, "fctid"},
+ {PPC_GENERIC, "fctid."},
+ {PPC_GENERIC, "fctid."},
+ {PPC_GENERIC, "fctidz"},
+ {PPC_GENERIC, "fctidz"},
+ {PPC_GENERIC, "fctidz."},
+ {PPC_GENERIC, "fctidz."},
+ {PPC_GENERIC, "denbcdq"},
+ {PPC_GENERIC, "denbcdq."},
+ {PPC_GENERIC, "fcfid"},
+ {PPC_GENERIC, "fcfid"},
+ {PPC_GENERIC, "fcfid."},
+ {PPC_GENERIC, "fcfid."},
+ {PPC_GENERIC, "diexq"},
+ {PPC_GENERIC, "diexq."},
+ {PPC_GENERIC, "fctidu"},
+ {PPC_GENERIC, "fctidu."},
+ {PPC_GENERIC, "fctiduz"},
+ {PPC_GENERIC, "fctiduz."},
+ {PPC_GENERIC, "fcfidu"},
+ {PPC_GENERIC, "fcfidu."},
+ {PPC_GENERIC, "se_illegal"},
+ {PPC_GENERIC, "se_isync"},
+ {PPC_GENERIC, "se_sc"},
+ {PPC_GENERIC, "se_blr"},
+ {PPC_GENERIC, "se_blrl"},
+ {PPC_GENERIC, "se_bctr"},
+ {PPC_GENERIC, "se_bctrl"},
+ {PPC_GENERIC, "se_rfi"},
+ {PPC_GENERIC, "se_rfci"},
+ {PPC_GENERIC, "se_rfdi"},
+ {PPC_GENERIC, "se_rfmci"},
+ {PPC_GENERIC, "se_not"},
+ {PPC_GENERIC, "se_neg"},
+ {PPC_GENERIC, "se_mflr"},
+ {PPC_GENERIC, "se_mtlr"},
+ {PPC_GENERIC, "se_mfctr"},
+ {PPC_GENERIC, "se_mtctr"},
+ {PPC_GENERIC, "se_extzb"},
+ {PPC_GENERIC, "se_extsb"},
+ {PPC_GENERIC, "se_extzh"},
+ {PPC_GENERIC, "se_extsh"},
+ {PPC_GENERIC, "se_mr"},
+ {PPC_GENERIC, "se_mtar"},
+ {PPC_GENERIC, "se_mfar"},
+ {PPC_GENERIC, "se_add"},
+ {PPC_GENERIC, "se_mullw"},
+ {PPC_GENERIC, "se_sub"},
+ {PPC_GENERIC, "se_subf"},
+ {PPC_GENERIC, "se_cmp"},
+ {PPC_GENERIC, "se_cmpl"},
+ {PPC_GENERIC, "se_cmph"},
+ {PPC_GENERIC, "se_cmphl"},
+ {PPC_GENERIC, "e_cmpi"},
+ {PPC_GENERIC, "e_cmpli"},
+ {PPC_GENERIC, "e_addi"},
+ {PPC_GENERIC, "e_subi"},
+ {PPC_GENERIC, "e_addi."},
+ {PPC_GENERIC, "e_addic"},
+ {PPC_GENERIC, "e_subic"},
+ {PPC_GENERIC, "e_addic."},
+ {PPC_GENERIC, "e_subic."},
+ {PPC_GENERIC, "e_mulli"},
+ {PPC_GENERIC, "e_subfic"},
+ {PPC_GENERIC, "e_subfic."},
+ {PPC_GENERIC, "e_andi"},
+ {PPC_GENERIC, "e_andi."},
+ {PPC_GENERIC, "e_nop"},
+ {PPC_GENERIC, "e_ori"},
+ {PPC_GENERIC, "e_ori."},
+ {PPC_GENERIC, "e_xori"},
+ {PPC_GENERIC, "e_xori."},
+ {PPC_GENERIC, "e_lbzu"},
+ {PPC_GENERIC, "e_lhau"},
+ {PPC_GENERIC, "e_lhzu"},
+ {PPC_GENERIC, "e_lmw"},
+ {PPC_GENERIC, "e_lwzu"},
+ {PPC_GENERIC, "e_stbu"},
+ {PPC_GENERIC, "e_sthu"},
+ {PPC_GENERIC, "e_stwu"},
+ {PPC_GENERIC, "e_stmw"},
+ {PPC_GENERIC, "e_add16i"},
+ {PPC_GENERIC, "e_la"},
+ {PPC_GENERIC, "e_sub16i"},
+ {PPC_GENERIC, "se_addi"},
+ {PPC_GENERIC, "se_cmpli"},
+ {PPC_GENERIC, "se_subi"},
+ {PPC_GENERIC, "se_subi."},
+ {PPC_GENERIC, "se_cmpi"},
+ {PPC_GENERIC, "se_bmaski"},
+ {PPC_GENERIC, "se_andi"},
+ {PPC_GENERIC, "e_lbz"},
+ {PPC_GENERIC, "e_stb"},
+ {PPC_GENERIC, "e_lha"},
+ {PPC_GENERIC, "se_srw"},
+ {PPC_GENERIC, "se_sraw"},
+ {PPC_GENERIC, "se_slw"},
+ {PPC_GENERIC, "se_nop"},
+ {PPC_GENERIC, "se_or"},
+ {PPC_GENERIC, "se_andc"},
+ {PPC_GENERIC, "se_and"},
+ {PPC_GENERIC, "se_and."},
+ {PPC_GENERIC, "se_li"},
+ {PPC_GENERIC, "e_lwz"},
+ {PPC_GENERIC, "e_stw"},
+ {PPC_GENERIC, "e_lhz"},
+ {PPC_GENERIC, "e_sth"},
+ {PPC_GENERIC, "se_bclri"},
+ {PPC_GENERIC, "se_bgeni"},
+ {PPC_GENERIC, "se_bseti"},
+ {PPC_GENERIC, "se_btsti"},
+ {PPC_GENERIC, "se_srwi"},
+ {PPC_GENERIC, "se_srawi"},
+ {PPC_GENERIC, "se_slwi"},
+ {PPC_GENERIC, "e_lis"},
+ {PPC_GENERIC, "e_and2is."},
+ {PPC_GENERIC, "e_or2is"},
+ {PPC_GENERIC, "e_and2i."},
+ {PPC_GENERIC, "e_or2i"},
+ {PPC_GENERIC, "e_cmphl16i"},
+ {PPC_GENERIC, "e_cmph16i"},
+ {PPC_GENERIC, "e_cmpl16i"},
+ {PPC_GENERIC, "e_cmplwi"},
+ {PPC_GENERIC, "e_mull2i"},
+ {PPC_GENERIC, "e_cmp16i"},
+ {PPC_GENERIC, "e_cmpwi"},
+ {PPC_GENERIC, "e_sub2is"},
+ {PPC_GENERIC, "e_add2is"},
+ {PPC_GENERIC, "e_sub2i."},
+ {PPC_GENERIC, "e_add2i."},
+ {PPC_GENERIC, "e_li"},
+ {PPC_GENERIC, "e_rlwimi"},
+ {PPC_GENERIC, "e_rlwinm"},
+ {PPC_GENERIC, "e_b"},
+ {PPC_GENERIC, "e_bl"},
+ {PPC_GENERIC, "e_bdnz"},
+ {PPC_GENERIC, "e_bdnzl"},
+ {PPC_GENERIC, "e_bdz"},
+ {PPC_GENERIC, "e_bdzl"},
+ {PPC_GENERIC, "e_bge"},
+ {PPC_GENERIC, "e_bgel"},
+ {PPC_GENERIC, "e_bnl"},
+ {PPC_GENERIC, "e_bnll"},
+ {PPC_GENERIC, "e_blt"},
+ {PPC_GENERIC, "e_bltl"},
+ {PPC_GENERIC, "e_bgt"},
+ {PPC_GENERIC, "e_bgtl"},
+ {PPC_GENERIC, "e_ble"},
+ {PPC_GENERIC, "e_blel"},
+ {PPC_GENERIC, "e_bng"},
+ {PPC_GENERIC, "e_bngl"},
+ {PPC_GENERIC, "e_bne"},
+ {PPC_GENERIC, "e_bnel"},
+ {PPC_GENERIC, "e_beq"},
+ {PPC_GENERIC, "e_beql"},
+ {PPC_GENERIC, "e_bso"},
+ {PPC_GENERIC, "e_bsol"},
+ {PPC_GENERIC, "e_bun"},
+ {PPC_GENERIC, "e_bunl"},
+ {PPC_GENERIC, "e_bns"},
+ {PPC_GENERIC, "e_bnsl"},
+ {PPC_GENERIC, "e_bnu"},
+ {PPC_GENERIC, "e_bnul"},
+ {PPC_GENERIC, "e_bc"},
+ {PPC_GENERIC, "e_bcl"},
+ {PPC_GENERIC, "e_bf"},
+ {PPC_GENERIC, "e_bfl"},
+ {PPC_GENERIC, "e_bt"},
+ {PPC_GENERIC, "e_btl"},
+ {PPC_GENERIC, "e_cmph"},
+ {PPC_GENERIC, "e_cmphl"},
+ {PPC_GENERIC, "e_crandc"},
+ {PPC_GENERIC, "e_crnand"},
+ {PPC_GENERIC, "e_crnot"},
+ {PPC_GENERIC, "e_crnor"},
+ {PPC_GENERIC, "e_crclr"},
+ {PPC_GENERIC, "e_crxor"},
+ {PPC_GENERIC, "e_mcrf"},
+ {PPC_GENERIC, "e_slwi"},
+ {PPC_GENERIC, "e_slwi."},
+ {PPC_GENERIC, "e_crand"},
+ {PPC_GENERIC, "e_rlw"},
+ {PPC_GENERIC, "e_rlw."},
+ {PPC_GENERIC, "e_crset"},
+ {PPC_GENERIC, "e_creqv"},
+ {PPC_GENERIC, "e_rlwi"},
+ {PPC_GENERIC, "e_rlwi."},
+ {PPC_GENERIC, "e_crorc"},
+ {PPC_GENERIC, "e_crmove"},
+ {PPC_GENERIC, "e_cror"},
+ {PPC_GENERIC, "mtmas1"},
+ {PPC_GENERIC, "e_srwi"},
+ {PPC_GENERIC, "e_srwi."},
+ {PPC_GENERIC, "se_lbz"},
+ {PPC_GENERIC, "se_stb"},
+ {PPC_GENERIC, "se_lhz"},
+ {PPC_GENERIC, "se_sth"},
+ {PPC_GENERIC, "se_lwz"},
+ {PPC_GENERIC, "se_stw"},
+ {PPC_GENERIC, "se_bge"},
+ {PPC_GENERIC, "se_bnl"},
+ {PPC_GENERIC, "se_ble"},
+ {PPC_GENERIC, "se_bng"},
+ {PPC_GENERIC, "se_bne"},
+ {PPC_GENERIC, "se_bns"},
+ {PPC_GENERIC, "se_bnu"},
+ {PPC_GENERIC, "se_bf"},
+ {PPC_GENERIC, "se_blt"},
+ {PPC_GENERIC, "se_bgt"},
+ {PPC_GENERIC, "se_beq"},
+ {PPC_GENERIC, "se_bso"},
+ {PPC_GENERIC, "se_bun"},
+ {PPC_GENERIC, "se_bt"},
+ {PPC_GENERIC, "se_bc"},
+ {PPC_GENERIC, "se_b"},
+ {PPC_GENERIC, "se_bl"},
+ {PPC_GENERIC, "extldi"},
+ {PPC_GENERIC, "extldi."},
+ {PPC_GENERIC, "extrdi"},
+ {PPC_GENERIC, "extrdi."},
+ {PPC_GENERIC, "insrdi"},
+ {PPC_GENERIC, "insrdi."},
+ {PPC_GENERIC, "rotrdi"},
+ {PPC_GENERIC, "rotrdi."},
+ {PPC_GENERIC, "sldi"},
+ {PPC_GENERIC, "sldi."},
+ {PPC_GENERIC, "srdi"},
+ {PPC_GENERIC, "srdi."},
+ {PPC_GENERIC, "clrrdi"},
+ {PPC_GENERIC, "clrrdi."},
+ {PPC_GENERIC, "clrlsldi"},
+ {PPC_GENERIC, "clrlsldi."},
+ {PPC_GENERIC, "extlwi"},
+ {PPC_GENERIC, "extlwi."},
+ {PPC_GENERIC, "extrwi"},
+ {PPC_GENERIC, "extrwi."},
+ {PPC_GENERIC, "inslwi"},
+ {PPC_GENERIC, "inslwi."},
+ {PPC_GENERIC, "insrwi"},
+ {PPC_GENERIC, "insrwi."},
+ {PPC_GENERIC, "rotrwi"},
+ {PPC_GENERIC, "rotrwi."},
+ {PPC_GENERIC, "slwi"},
+ {PPC_GENERIC, "sli"},
+ {PPC_GENERIC, "slwi."},
+ {PPC_GENERIC, "sli."},
+ {PPC_GENERIC, "srwi"},
+ {PPC_GENERIC, "sri"},
+ {PPC_GENERIC, "srwi."},
+ {PPC_GENERIC, "sri."},
+ {PPC_GENERIC, "clrrwi"},
+ {PPC_GENERIC, "clrrwi."},
+ {PPC_GENERIC, "clrlslwi"},
+ {PPC_GENERIC, "clrlslwi."},
+ {PPC_GENERIC, "e_extlwi"},
+ {PPC_GENERIC, "e_extrwi"},
+ {PPC_GENERIC, "e_inslwi"},
+ {PPC_GENERIC, "e_insrwi"},
+ {PPC_GENERIC, "e_rotlwi"},
+ {PPC_GENERIC, "e_rotrwi"},
+ {PPC_GENERIC, "e_slwi"},
+ {PPC_GENERIC, "e_srwi"},
+ {PPC_GENERIC, "e_clrlwi"},
+ {PPC_GENERIC, "e_clrrwi"},
+ {PPC_GENERIC, "e_clrlslwi"},
+ {0, 0}
+};
+
diff --git a/whichasm-0.01/s390x.h b/whichasm-0.01/s390x.h
new file mode 100644
index 0000000..38f47e4
--- /dev/null
+++ b/whichasm-0.01/s390x.h
@@ -0,0 +1,1148 @@
+struct s390x_opcode
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+struct s390x_reg
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+enum s390x_arch
+{
+ S390X_NONE,
+ S390X_GENERIC,
+ S390X_64BIT
+};
+
+static const struct s390x_reg s390x_regs[] =
+{
+ {S390X_GENERIC, "R0"},
+ {S390X_GENERIC, "R1"},
+ {S390X_GENERIC, "R2"},
+ {S390X_GENERIC, "R3"},
+ {S390X_GENERIC, "R4"},
+ {S390X_GENERIC, "R5"},
+ {S390X_GENERIC, "R6"},
+ {S390X_GENERIC, "R7"},
+ {S390X_GENERIC, "R8"},
+ {S390X_GENERIC, "R9"},
+ {S390X_GENERIC, "R10"},
+ {S390X_GENERIC, "R11"},
+ {S390X_GENERIC, "R12"},
+ {S390X_GENERIC, "R13"},
+ {S390X_GENERIC, "R14"},
+ {S390X_GENERIC, "R15"},
+ {S390X_GENERIC, "R15"},
+ {S390X_GENERIC, "CR0"},
+ {S390X_GENERIC, "CR2"},
+ {S390X_GENERIC, "CR3"},
+ {S390X_GENERIC, "CR4"},
+ {S390X_GENERIC, "CR5"},
+ {S390X_GENERIC, "CR6"},
+ {S390X_GENERIC, "CR7"},
+ {S390X_GENERIC, "CR8"},
+ {S390X_GENERIC, "CR9"},
+ {S390X_GENERIC, "CR10"},
+ {S390X_GENERIC, "CR11"},
+ {S390X_GENERIC, "CR12"},
+ {S390X_GENERIC, "CR13"},
+ {S390X_GENERIC, "CR14"},
+ {S390X_GENERIC, "CR15"},
+ {S390X_GENERIC, "PSW"},
+ {0, 0}
+};
+
+static const struct s390x_opcode s390x_opcodes[] =
+{
+ {S390X_GENERIC, "a"},
+ {S390X_GENERIC, "ad"},
+ {S390X_GENERIC, "adr"},
+ {S390X_GENERIC, "ae"},
+ {S390X_GENERIC, "aer"},
+ {S390X_GENERIC, "ah"},
+ {S390X_GENERIC, "al"},
+ {S390X_GENERIC, "alr"},
+ {S390X_GENERIC, "ap"},
+ {S390X_GENERIC, "ar"},
+ {S390X_GENERIC, "au"},
+ {S390X_GENERIC, "aur"},
+ {S390X_GENERIC, "aw"},
+ {S390X_GENERIC, "awr"},
+ {S390X_GENERIC, "axr"},
+ {S390X_GENERIC, "bakr"},
+ {S390X_GENERIC, "bal"},
+ {S390X_GENERIC, "balr"},
+ {S390X_GENERIC, "bas"},
+ {S390X_GENERIC, "basr"},
+ {S390X_GENERIC, "bassm"},
+ {S390X_GENERIC, "bc"},
+ {S390X_GENERIC, "bcr"},
+ {S390X_GENERIC, "bct"},
+ {S390X_GENERIC, "bctr"},
+ {S390X_GENERIC, "bsg"},
+ {S390X_GENERIC, "bsm"},
+ {S390X_GENERIC, "bxh"},
+ {S390X_GENERIC, "bxle"},
+ {S390X_GENERIC, "c"},
+ {S390X_GENERIC, "cd"},
+ {S390X_GENERIC, "cdr"},
+ {S390X_GENERIC, "cds"},
+ {S390X_GENERIC, "ce"},
+ {S390X_GENERIC, "cer"},
+ {S390X_GENERIC, "cfc"},
+ {S390X_GENERIC, "ch"},
+ {S390X_GENERIC, "cl"},
+ {S390X_GENERIC, "clc"},
+ {S390X_GENERIC, "clcl"},
+ {S390X_GENERIC, "cli"},
+ {S390X_GENERIC, "clm"},
+ {S390X_GENERIC, "clr"},
+ {S390X_GENERIC, "clst"},
+ {S390X_GENERIC, "cp"},
+ {S390X_GENERIC, "cpya"},
+ {S390X_GENERIC, "cr"},
+ {S390X_GENERIC, "cs"},
+ {S390X_GENERIC, "csch"},
+ {S390X_GENERIC, "cuse"},
+ {S390X_GENERIC, "csp"},
+ {S390X_GENERIC, "cvb"},
+ {S390X_GENERIC, "cvd"},
+ {S390X_GENERIC, "d"},
+ {S390X_GENERIC, "dd"},
+ {S390X_GENERIC, "ddr"},
+ {S390X_GENERIC, "de"},
+ {S390X_GENERIC, "der"},
+ {S390X_GENERIC, "diag"},
+ {S390X_GENERIC, "dp"},
+ {S390X_GENERIC, "dr"},
+ {S390X_GENERIC, "dxr"},
+ {S390X_GENERIC, "ear"},
+ {S390X_GENERIC, "ed"},
+ {S390X_GENERIC, "edmk"},
+ {S390X_GENERIC, "epar"},
+ {S390X_GENERIC, "ereg"},
+ {S390X_GENERIC, "esar"},
+ {S390X_GENERIC, "esta"},
+ {S390X_GENERIC, "ex"},
+ {S390X_GENERIC, "hdr"},
+ {S390X_GENERIC, "her"},
+ {S390X_GENERIC, "hsch"},
+ {S390X_GENERIC, "iac"},
+ {S390X_GENERIC, "ic"},
+ {S390X_GENERIC, "icm"},
+ {S390X_GENERIC, "ipk"},
+ {S390X_GENERIC, "ipm"},
+ {S390X_GENERIC, "ipte"},
+ {S390X_GENERIC, "iske"},
+ {S390X_GENERIC, "ivsk"},
+ {S390X_GENERIC, "l"},
+ {S390X_GENERIC, "la"},
+ {S390X_GENERIC, "lae"},
+ {S390X_GENERIC, "lam"},
+ {S390X_GENERIC, "lasp"},
+ {S390X_GENERIC, "lcdr"},
+ {S390X_GENERIC, "lcer"},
+ {S390X_GENERIC, "lcr"},
+ {S390X_GENERIC, "lctl"},
+ {S390X_GENERIC, "ld"},
+ {S390X_GENERIC, "ldr"},
+ {S390X_GENERIC, "le"},
+ {S390X_GENERIC, "ler"},
+ {S390X_GENERIC, "lh"},
+ {S390X_GENERIC, "lm"},
+ {S390X_GENERIC, "lndr"},
+ {S390X_GENERIC, "lner"},
+ {S390X_GENERIC, "lnr"},
+ {S390X_GENERIC, "lpdr"},
+ {S390X_GENERIC, "lper"},
+ {S390X_GENERIC, "lpr"},
+ {S390X_GENERIC, "lpsw"},
+ {S390X_GENERIC, "lr"},
+ {S390X_GENERIC, "lra"},
+ {S390X_GENERIC, "ldxr"},
+ {S390X_GENERIC, "lrdr"},
+ {S390X_GENERIC, "ledr"},
+ {S390X_GENERIC, "lrer"},
+ {S390X_GENERIC, "ltdr"},
+ {S390X_GENERIC, "lter"},
+ {S390X_GENERIC, "ltr"},
+ {S390X_GENERIC, "lura"},
+ {S390X_GENERIC, "m"},
+ {S390X_GENERIC, "mc"},
+ {S390X_GENERIC, "md"},
+ {S390X_GENERIC, "mdr"},
+ {S390X_GENERIC, "mde"},
+ {S390X_GENERIC, "me"},
+ {S390X_GENERIC, "mder"},
+ {S390X_GENERIC, "mer"},
+ {S390X_GENERIC, "mh"},
+ {S390X_GENERIC, "mp"},
+ {S390X_GENERIC, "mr"},
+ {S390X_GENERIC, "msch"},
+ {S390X_GENERIC, "msta"},
+ {S390X_GENERIC, "mvc"},
+ {S390X_GENERIC, "mvcdk"},
+ {S390X_GENERIC, "mvcin"},
+ {S390X_GENERIC, "mvck"},
+ {S390X_GENERIC, "mvcl"},
+ {S390X_GENERIC, "mvcp"},
+ {S390X_GENERIC, "mvcs"},
+ {S390X_GENERIC, "mvcsk"},
+ {S390X_GENERIC, "mvi"},
+ {S390X_GENERIC, "mvn"},
+ {S390X_GENERIC, "mvo"},
+ {S390X_GENERIC, "mvpg"},
+ {S390X_GENERIC, "mvst"},
+ {S390X_GENERIC, "mvz"},
+ {S390X_GENERIC, "mxd"},
+ {S390X_GENERIC, "mxdr"},
+ {S390X_GENERIC, "mxr"},
+ {S390X_GENERIC, "n"},
+ {S390X_GENERIC, "nc"},
+ {S390X_GENERIC, "ni"},
+ {S390X_GENERIC, "nr"},
+ {S390X_GENERIC, "o"},
+ {S390X_GENERIC, "oc"},
+ {S390X_GENERIC, "oi"},
+ {S390X_GENERIC, "or"},
+ {S390X_GENERIC, "pack"},
+ {S390X_GENERIC, "palb"},
+ {S390X_GENERIC, "pc"},
+ {S390X_GENERIC, "pr"},
+ {S390X_GENERIC, "pt"},
+ {S390X_GENERIC, "ptlb"},
+ {S390X_GENERIC, "rchp"},
+ {S390X_GENERIC, "rrbe"},
+ {S390X_GENERIC, "rsch"},
+ {S390X_GENERIC, "s"},
+ {S390X_GENERIC, "sac"},
+ {S390X_GENERIC, "sacf"},
+ {S390X_GENERIC, "sal"},
+ {S390X_GENERIC, "sar"},
+ {S390X_GENERIC, "schm"},
+ {S390X_GENERIC, "sck"},
+ {S390X_GENERIC, "sckc"},
+ {S390X_GENERIC, "sd"},
+ {S390X_GENERIC, "sdr"},
+ {S390X_GENERIC, "se"},
+ {S390X_GENERIC, "ser"},
+ {S390X_GENERIC, "sh"},
+ {S390X_GENERIC, "sie"},
+ {S390X_GENERIC, "sigp"},
+ {S390X_GENERIC, "sl"},
+ {S390X_GENERIC, "sla"},
+ {S390X_GENERIC, "slda"},
+ {S390X_GENERIC, "sldl"},
+ {S390X_GENERIC, "sll"},
+ {S390X_GENERIC, "slr"},
+ {S390X_GENERIC, "sp"},
+ {S390X_GENERIC, "spka"},
+ {S390X_GENERIC, "spm"},
+ {S390X_GENERIC, "spt"},
+ {S390X_GENERIC, "spx"},
+ {S390X_GENERIC, "sqdr"},
+ {S390X_GENERIC, "sqer"},
+ {S390X_GENERIC, "sr"},
+ {S390X_GENERIC, "sra"},
+ {S390X_GENERIC, "srda"},
+ {S390X_GENERIC, "srdl"},
+ {S390X_GENERIC, "srl"},
+ {S390X_GENERIC, "srp"},
+ {S390X_GENERIC, "srst"},
+ {S390X_GENERIC, "ssar"},
+ {S390X_GENERIC, "ssch"},
+ {S390X_GENERIC, "sske"},
+ {S390X_GENERIC, "ssm"},
+ {S390X_GENERIC, "st"},
+ {S390X_GENERIC, "stam"},
+ {S390X_GENERIC, "stap"},
+ {S390X_GENERIC, "stc"},
+ {S390X_GENERIC, "stck"},
+ {S390X_GENERIC, "stckc"},
+ {S390X_GENERIC, "stcm"},
+ {S390X_GENERIC, "stcps"},
+ {S390X_GENERIC, "stcrw"},
+ {S390X_GENERIC, "stctl"},
+ {S390X_GENERIC, "std"},
+ {S390X_GENERIC, "ste"},
+ {S390X_GENERIC, "sth"},
+ {S390X_GENERIC, "stidp"},
+ {S390X_GENERIC, "stm"},
+ {S390X_GENERIC, "stnsm"},
+ {S390X_GENERIC, "stosm"},
+ {S390X_GENERIC, "stpt"},
+ {S390X_GENERIC, "stpx"},
+ {S390X_GENERIC, "stsch"},
+ {S390X_GENERIC, "stura"},
+ {S390X_GENERIC, "su"},
+ {S390X_GENERIC, "sur"},
+ {S390X_GENERIC, "svc"},
+ {S390X_GENERIC, "sw"},
+ {S390X_GENERIC, "swr"},
+ {S390X_GENERIC, "sxr"},
+ {S390X_GENERIC, "tar"},
+ {S390X_GENERIC, "tb"},
+ {S390X_GENERIC, "tm"},
+ {S390X_GENERIC, "tpi"},
+ {S390X_GENERIC, "tprot"},
+ {S390X_GENERIC, "tr"},
+ {S390X_GENERIC, "trace"},
+ {S390X_GENERIC, "trt"},
+ {S390X_GENERIC, "ts"},
+ {S390X_GENERIC, "tsch"},
+ {S390X_GENERIC, "unpk"},
+ {S390X_GENERIC, "upt"},
+ {S390X_GENERIC, "x"},
+ {S390X_GENERIC, "xc"},
+ {S390X_GENERIC, "xi"},
+ {S390X_GENERIC, "xr"},
+ {S390X_GENERIC, "zap"},
+ {S390X_GENERIC, "ahi"},
+ {S390X_GENERIC, "brxh"},
+ {S390X_GENERIC, "brxle"},
+ {S390X_GENERIC, "bras"},
+ {S390X_GENERIC, "brc"},
+ {S390X_GENERIC, "brct"},
+ {S390X_GENERIC, "cksm"},
+ {S390X_GENERIC, "chi"},
+ {S390X_GENERIC, "clcle"},
+ {S390X_GENERIC, "lhi"},
+ {S390X_GENERIC, "mvcle"},
+ {S390X_GENERIC, "mhi"},
+ {S390X_GENERIC, "msr"},
+ {S390X_GENERIC, "ms"},
+ {S390X_GENERIC, "tmlh"},
+ {S390X_GENERIC, "tmh"},
+ {S390X_GENERIC, "tmll"},
+ {S390X_GENERIC, "tml"},
+ {S390X_GENERIC, "nopr"},
+ {S390X_GENERIC, "b*8r"},
+ {S390X_GENERIC, "br"},
+ {S390X_GENERIC, "nop"},
+ {S390X_GENERIC, "b*8"},
+ {S390X_GENERIC, "b"},
+ {S390X_GENERIC, "j*8"},
+ {S390X_GENERIC, "j"},
+ {S390X_GENERIC, "axbr"},
+ {S390X_GENERIC, "adbr"},
+ {S390X_GENERIC, "adb"},
+ {S390X_GENERIC, "aebr"},
+ {S390X_GENERIC, "aeb"},
+ {S390X_GENERIC, "cxbr"},
+ {S390X_GENERIC, "cdbr"},
+ {S390X_GENERIC, "cdb"},
+ {S390X_GENERIC, "cebr"},
+ {S390X_GENERIC, "ceb"},
+ {S390X_GENERIC, "kxbr"},
+ {S390X_GENERIC, "kdbr"},
+ {S390X_GENERIC, "kdb"},
+ {S390X_GENERIC, "kebr"},
+ {S390X_GENERIC, "keb"},
+ {S390X_GENERIC, "cxfbr"},
+ {S390X_GENERIC, "cdfbr"},
+ {S390X_GENERIC, "cefbr"},
+ {S390X_GENERIC, "cfxbr"},
+ {S390X_GENERIC, "cfdbr"},
+ {S390X_GENERIC, "cfebr"},
+ {S390X_GENERIC, "dxbr"},
+ {S390X_GENERIC, "ddbr"},
+ {S390X_GENERIC, "ddb"},
+ {S390X_GENERIC, "debr"},
+ {S390X_GENERIC, "deb"},
+ {S390X_GENERIC, "didbr"},
+ {S390X_GENERIC, "diebr"},
+ {S390X_GENERIC, "efpc"},
+ {S390X_GENERIC, "ltxbr"},
+ {S390X_GENERIC, "ltdbr"},
+ {S390X_GENERIC, "ltebr"},
+ {S390X_GENERIC, "lcxbr"},
+ {S390X_GENERIC, "lcdbr"},
+ {S390X_GENERIC, "lcebr"},
+ {S390X_GENERIC, "fixbr"},
+ {S390X_GENERIC, "fidbr"},
+ {S390X_GENERIC, "fiebr"},
+ {S390X_GENERIC, "lfpc"},
+ {S390X_GENERIC, "lxdbr"},
+ {S390X_GENERIC, "lxdb"},
+ {S390X_GENERIC, "lxebr"},
+ {S390X_GENERIC, "lxeb"},
+ {S390X_GENERIC, "ldebr"},
+ {S390X_GENERIC, "ldeb"},
+ {S390X_GENERIC, "lnxbr"},
+ {S390X_GENERIC, "lndbr"},
+ {S390X_GENERIC, "lnebr"},
+ {S390X_GENERIC, "lpxbr"},
+ {S390X_GENERIC, "lpdbr"},
+ {S390X_GENERIC, "lpebr"},
+ {S390X_GENERIC, "ldxbr"},
+ {S390X_GENERIC, "lexbr"},
+ {S390X_GENERIC, "ledbr"},
+ {S390X_GENERIC, "mxbr"},
+ {S390X_GENERIC, "mdbr"},
+ {S390X_GENERIC, "mdb"},
+ {S390X_GENERIC, "mxdbr"},
+ {S390X_GENERIC, "mxdb"},
+ {S390X_GENERIC, "meebr"},
+ {S390X_GENERIC, "meeb"},
+ {S390X_GENERIC, "mdebr"},
+ {S390X_GENERIC, "mdeb"},
+ {S390X_GENERIC, "madbr"},
+ {S390X_GENERIC, "madb"},
+ {S390X_GENERIC, "maebr"},
+ {S390X_GENERIC, "maeb"},
+ {S390X_GENERIC, "msdbr"},
+ {S390X_GENERIC, "msdb"},
+ {S390X_GENERIC, "msebr"},
+ {S390X_GENERIC, "mseb"},
+ {S390X_GENERIC, "sfpc"},
+ {S390X_GENERIC, "srnm"},
+ {S390X_GENERIC, "sqxbr"},
+ {S390X_GENERIC, "sqdbr"},
+ {S390X_GENERIC, "sqdb"},
+ {S390X_GENERIC, "sqebr"},
+ {S390X_GENERIC, "sqeb"},
+ {S390X_GENERIC, "stfpc"},
+ {S390X_GENERIC, "sxbr"},
+ {S390X_GENERIC, "sdbr"},
+ {S390X_GENERIC, "sdb"},
+ {S390X_GENERIC, "sebr"},
+ {S390X_GENERIC, "seb"},
+ {S390X_GENERIC, "tcxb"},
+ {S390X_GENERIC, "tcdb"},
+ {S390X_GENERIC, "tceb"},
+ {S390X_GENERIC, "siga"},
+ {S390X_GENERIC, "cuutf"},
+ {S390X_GENERIC, "cutfu"},
+ {S390X_GENERIC, "plo"},
+ {S390X_GENERIC, "bsa"},
+ {S390X_GENERIC, "rp"},
+ {S390X_GENERIC, "sckpf"},
+ {S390X_GENERIC, "stsi"},
+ {S390X_GENERIC, "trap2"},
+ {S390X_GENERIC, "trap4"},
+ {S390X_GENERIC, "stcke"},
+ {S390X_GENERIC, "tre"},
+ {S390X_GENERIC, "mvclu"},
+ {S390X_GENERIC, "pka"},
+ {S390X_GENERIC, "pku"},
+ {S390X_GENERIC, "troo"},
+ {S390X_GENERIC, "trot"},
+ {S390X_GENERIC, "trto"},
+ {S390X_GENERIC, "trtt"},
+ {S390X_GENERIC, "unpka"},
+ {S390X_GENERIC, "unpku"},
+ {S390X_GENERIC, "thder"},
+ {S390X_GENERIC, "thdr"},
+ {S390X_GENERIC, "tbedr"},
+ {S390X_GENERIC, "tbdr"},
+ {S390X_GENERIC, "lzer"},
+ {S390X_GENERIC, "lzdr"},
+ {S390X_GENERIC, "lzxr"},
+ {S390X_GENERIC, "bctgr"},
+ {S390X_GENERIC, "lpgr"},
+ {S390X_GENERIC, "lpgfr"},
+ {S390X_GENERIC, "lngr"},
+ {S390X_GENERIC, "lngfr"},
+ {S390X_GENERIC, "ltgr"},
+ {S390X_GENERIC, "ltgfr"},
+ {S390X_GENERIC, "lcgr"},
+ {S390X_GENERIC, "lcgfr"},
+ {S390X_GENERIC, "ngr"},
+ {S390X_GENERIC, "clgr"},
+ {S390X_GENERIC, "clgfr"},
+ {S390X_GENERIC, "ogr"},
+ {S390X_GENERIC, "xgr"},
+ {S390X_GENERIC, "lgr"},
+ {S390X_GENERIC, "lgfr"},
+ {S390X_GENERIC, "cgr"},
+ {S390X_GENERIC, "cgfr"},
+ {S390X_GENERIC, "agr"},
+ {S390X_GENERIC, "agfr"},
+ {S390X_GENERIC, "sgr"},
+ {S390X_GENERIC, "sgfr"},
+ {S390X_GENERIC, "algr"},
+ {S390X_GENERIC, "algfr"},
+ {S390X_GENERIC, "slgr"},
+ {S390X_GENERIC, "slgfr"},
+ {S390X_GENERIC, "bctg"},
+ {S390X_GENERIC, "cvdg"},
+ {S390X_GENERIC, "cvbg"},
+ {S390X_GENERIC, "stg"},
+ {S390X_GENERIC, "ng"},
+ {S390X_GENERIC, "clg"},
+ {S390X_GENERIC, "clgf"},
+ {S390X_GENERIC, "og"},
+ {S390X_GENERIC, "xg"},
+ {S390X_GENERIC, "lg"},
+ {S390X_GENERIC, "lgf"},
+ {S390X_GENERIC, "lgh"},
+ {S390X_GENERIC, "cg"},
+ {S390X_GENERIC, "cgf"},
+ {S390X_GENERIC, "ag"},
+ {S390X_GENERIC, "agf"},
+ {S390X_GENERIC, "sg"},
+ {S390X_GENERIC, "sgf"},
+ {S390X_GENERIC, "alg"},
+ {S390X_GENERIC, "algf"},
+ {S390X_GENERIC, "slg"},
+ {S390X_GENERIC, "slgf"},
+ {S390X_GENERIC, "msg"},
+ {S390X_GENERIC, "msgf"},
+ {S390X_GENERIC, "brxhg"},
+ {S390X_GENERIC, "brxlg"},
+ {S390X_GENERIC, "bxhg"},
+ {S390X_GENERIC, "bxleg"},
+ {S390X_GENERIC, "srlg"},
+ {S390X_GENERIC, "sllg"},
+ {S390X_GENERIC, "srag"},
+ {S390X_GENERIC, "slag"},
+ {S390X_GENERIC, "stmg"},
+ {S390X_GENERIC, "stmh"},
+ {S390X_GENERIC, "lmg"},
+ {S390X_GENERIC, "lmh"},
+ {S390X_GENERIC, "lmd"},
+ {S390X_GENERIC, "tracg"},
+ {S390X_GENERIC, "lrag"},
+ {S390X_GENERIC, "strag"},
+ {S390X_GENERIC, "stctg"},
+ {S390X_GENERIC, "lctlg"},
+ {S390X_GENERIC, "csg"},
+ {S390X_GENERIC, "cdsg"},
+ {S390X_GENERIC, "clmh"},
+ {S390X_GENERIC, "stcmh"},
+ {S390X_GENERIC, "icmh"},
+ {S390X_GENERIC, "tmhh"},
+ {S390X_GENERIC, "tmhl"},
+ {S390X_GENERIC, "brcl"},
+ {S390X_GENERIC, "jg*8"},
+ {S390X_GENERIC, "jg"},
+ {S390X_GENERIC, "brasl"},
+ {S390X_GENERIC, "brctg"},
+ {S390X_GENERIC, "lghi"},
+ {S390X_GENERIC, "aghi"},
+ {S390X_GENERIC, "mghi"},
+ {S390X_GENERIC, "cghi"},
+ {S390X_GENERIC, "sturg"},
+ {S390X_GENERIC, "eregg"},
+ {S390X_GENERIC, "lurag"},
+ {S390X_GENERIC, "msgr"},
+ {S390X_GENERIC, "msgfr"},
+ {S390X_GENERIC, "cegbr"},
+ {S390X_GENERIC, "cdgbr"},
+ {S390X_GENERIC, "cxgbr"},
+ {S390X_GENERIC, "cgebr"},
+ {S390X_GENERIC, "cgdbr"},
+ {S390X_GENERIC, "cgxbr"},
+ {S390X_GENERIC, "cegr"},
+ {S390X_GENERIC, "cdgr"},
+ {S390X_GENERIC, "cxgr"},
+ {S390X_GENERIC, "cger"},
+ {S390X_GENERIC, "cgdr"},
+ {S390X_GENERIC, "cgxr"},
+ {S390X_GENERIC, "tam"},
+ {S390X_GENERIC, "sam24"},
+ {S390X_GENERIC, "sam31"},
+ {S390X_GENERIC, "sam64"},
+ {S390X_GENERIC, "iihh"},
+ {S390X_GENERIC, "iihl"},
+ {S390X_GENERIC, "iilh"},
+ {S390X_GENERIC, "iill"},
+ {S390X_GENERIC, "nihh"},
+ {S390X_GENERIC, "nihl"},
+ {S390X_GENERIC, "nilh"},
+ {S390X_GENERIC, "nill"},
+ {S390X_GENERIC, "oihh"},
+ {S390X_GENERIC, "oihl"},
+ {S390X_GENERIC, "oilh"},
+ {S390X_GENERIC, "oill"},
+ {S390X_GENERIC, "llihh"},
+ {S390X_GENERIC, "llihl"},
+ {S390X_GENERIC, "llilh"},
+ {S390X_GENERIC, "llill"},
+ {S390X_GENERIC, "stfl"},
+ {S390X_GENERIC, "lpswe"},
+ {S390X_GENERIC, "dsgr"},
+ {S390X_GENERIC, "lrvgr"},
+ {S390X_GENERIC, "llgfr"},
+ {S390X_GENERIC, "llgtr"},
+ {S390X_GENERIC, "dsgfr"},
+ {S390X_GENERIC, "lrvr"},
+ {S390X_GENERIC, "mlgr"},
+ {S390X_GENERIC, "dlgr"},
+ {S390X_GENERIC, "alcgr"},
+ {S390X_GENERIC, "slbgr"},
+ {S390X_GENERIC, "epsw"},
+ {S390X_GENERIC, "mlr"},
+ {S390X_GENERIC, "dlr"},
+ {S390X_GENERIC, "alcr"},
+ {S390X_GENERIC, "slbr"},
+ {S390X_GENERIC, "esea"},
+ {S390X_GENERIC, "larl"},
+ {S390X_GENERIC, "dsg"},
+ {S390X_GENERIC, "lrvg"},
+ {S390X_GENERIC, "llgf"},
+ {S390X_GENERIC, "llgt"},
+ {S390X_GENERIC, "dsgf"},
+ {S390X_GENERIC, "lrv"},
+ {S390X_GENERIC, "lrvh"},
+ {S390X_GENERIC, "strvg"},
+ {S390X_GENERIC, "strv"},
+ {S390X_GENERIC, "strvh"},
+ {S390X_GENERIC, "mlg"},
+ {S390X_GENERIC, "dlg"},
+ {S390X_GENERIC, "alcg"},
+ {S390X_GENERIC, "slbg"},
+ {S390X_GENERIC, "stpq"},
+ {S390X_GENERIC, "lpq"},
+ {S390X_GENERIC, "ml"},
+ {S390X_GENERIC, "dl"},
+ {S390X_GENERIC, "alc"},
+ {S390X_GENERIC, "slb"},
+ {S390X_GENERIC, "llgc"},
+ {S390X_GENERIC, "llgh"},
+ {S390X_GENERIC, "rllg"},
+ {S390X_GENERIC, "rll"},
+ {S390X_GENERIC, "cxr"},
+ {S390X_GENERIC, "cxfr"},
+ {S390X_GENERIC, "cdfr"},
+ {S390X_GENERIC, "cefr"},
+ {S390X_GENERIC, "cfxr"},
+ {S390X_GENERIC, "cfdr"},
+ {S390X_GENERIC, "cfer"},
+ {S390X_GENERIC, "ltxr"},
+ {S390X_GENERIC, "lcxr"},
+ {S390X_GENERIC, "fixr"},
+ {S390X_GENERIC, "fidr"},
+ {S390X_GENERIC, "fier"},
+ {S390X_GENERIC, "lxdr"},
+ {S390X_GENERIC, "lxd"},
+ {S390X_GENERIC, "lxer"},
+ {S390X_GENERIC, "lxe"},
+ {S390X_GENERIC, "lder"},
+ {S390X_GENERIC, "lde"},
+ {S390X_GENERIC, "lnxr"},
+ {S390X_GENERIC, "lpxr"},
+ {S390X_GENERIC, "lexr"},
+ {S390X_GENERIC, "meer"},
+ {S390X_GENERIC, "mee"},
+ {S390X_GENERIC, "sqxr"},
+ {S390X_GENERIC, "sqe"},
+ {S390X_GENERIC, "sqd"},
+ {S390X_GENERIC, "cmpsc"},
+ {S390X_GENERIC, "tp"},
+ {S390X_GENERIC, "lxr"},
+ {S390X_GENERIC, "pgin"},
+ {S390X_GENERIC, "pgout"},
+ {S390X_GENERIC, "xsch"},
+ {S390X_GENERIC, "ay"},
+ {S390X_GENERIC, "ahy"},
+ {S390X_GENERIC, "aly"},
+ {S390X_GENERIC, "niy"},
+ {S390X_GENERIC, "ny"},
+ {S390X_GENERIC, "cy"},
+ {S390X_GENERIC, "csy"},
+ {S390X_GENERIC, "cdsy"},
+ {S390X_GENERIC, "chy"},
+ {S390X_GENERIC, "cly"},
+ {S390X_GENERIC, "cliy"},
+ {S390X_GENERIC, "clmy"},
+ {S390X_GENERIC, "cvby"},
+ {S390X_GENERIC, "cvdy"},
+ {S390X_GENERIC, "xiy"},
+ {S390X_GENERIC, "xy"},
+ {S390X_GENERIC, "icy"},
+ {S390X_GENERIC, "icmy"},
+ {S390X_GENERIC, "ldy"},
+ {S390X_GENERIC, "ley"},
+ {S390X_GENERIC, "ly"},
+ {S390X_GENERIC, "lamy"},
+ {S390X_GENERIC, "lay"},
+ {S390X_GENERIC, "lb"},
+ {S390X_GENERIC, "lgb"},
+ {S390X_GENERIC, "lhy"},
+ {S390X_GENERIC, "lmy"},
+ {S390X_GENERIC, "lray"},
+ {S390X_GENERIC, "mviy"},
+ {S390X_GENERIC, "msy"},
+ {S390X_GENERIC, "oiy"},
+ {S390X_GENERIC, "oy"},
+ {S390X_GENERIC, "stdy"},
+ {S390X_GENERIC, "stey"},
+ {S390X_GENERIC, "sty"},
+ {S390X_GENERIC, "stamy"},
+ {S390X_GENERIC, "stcy"},
+ {S390X_GENERIC, "stcmy"},
+ {S390X_GENERIC, "sthy"},
+ {S390X_GENERIC, "stmy"},
+ {S390X_GENERIC, "sy"},
+ {S390X_GENERIC, "shy"},
+ {S390X_GENERIC, "sly"},
+ {S390X_GENERIC, "tmy"},
+ {S390X_GENERIC, "lrag"},
+ {S390X_GENERIC, "lg"},
+ {S390X_GENERIC, "ag"},
+ {S390X_GENERIC, "sg"},
+ {S390X_GENERIC, "alg"},
+ {S390X_GENERIC, "slg"},
+ {S390X_GENERIC, "msg"},
+ {S390X_GENERIC, "dsg"},
+ {S390X_GENERIC, "cvbg"},
+ {S390X_GENERIC, "lrvg"},
+ {S390X_GENERIC, "lgf"},
+ {S390X_GENERIC, "lgh"},
+ {S390X_GENERIC, "llgf"},
+ {S390X_GENERIC, "llgt"},
+ {S390X_GENERIC, "agf"},
+ {S390X_GENERIC, "sgf"},
+ {S390X_GENERIC, "algf"},
+ {S390X_GENERIC, "slgf"},
+ {S390X_GENERIC, "msgf"},
+ {S390X_GENERIC, "dsgf"},
+ {S390X_GENERIC, "lrv"},
+ {S390X_GENERIC, "lrvh"},
+ {S390X_GENERIC, "cg"},
+ {S390X_GENERIC, "clg"},
+ {S390X_GENERIC, "stg"},
+ {S390X_GENERIC, "cvdg"},
+ {S390X_GENERIC, "strvg"},
+ {S390X_GENERIC, "cgf"},
+ {S390X_GENERIC, "clgf"},
+ {S390X_GENERIC, "strv"},
+ {S390X_GENERIC, "strvh"},
+ {S390X_GENERIC, "bctg"},
+ {S390X_GENERIC, "ng"},
+ {S390X_GENERIC, "og"},
+ {S390X_GENERIC, "xg"},
+ {S390X_GENERIC, "mlg"},
+ {S390X_GENERIC, "dlg"},
+ {S390X_GENERIC, "alcg"},
+ {S390X_GENERIC, "slbg"},
+ {S390X_GENERIC, "stpq"},
+ {S390X_GENERIC, "lpq"},
+ {S390X_GENERIC, "llgc"},
+ {S390X_GENERIC, "llgh"},
+ {S390X_GENERIC, "ml"},
+ {S390X_GENERIC, "dl"},
+ {S390X_GENERIC, "alc"},
+ {S390X_GENERIC, "slb"},
+ {S390X_GENERIC, "lmg"},
+ {S390X_GENERIC, "srag"},
+ {S390X_GENERIC, "slag"},
+ {S390X_GENERIC, "srlg"},
+ {S390X_GENERIC, "sllg"},
+ {S390X_GENERIC, "tracg"},
+ {S390X_GENERIC, "rllg"},
+ {S390X_GENERIC, "rll"},
+ {S390X_GENERIC, "clmh"},
+ {S390X_GENERIC, "stmg"},
+ {S390X_GENERIC, "stctg"},
+ {S390X_GENERIC, "stmh"},
+ {S390X_GENERIC, "stcmh"},
+ {S390X_GENERIC, "lctlg"},
+ {S390X_GENERIC, "csg"},
+ {S390X_GENERIC, "cdsg"},
+ {S390X_GENERIC, "bxhg"},
+ {S390X_GENERIC, "bxleg"},
+ {S390X_GENERIC, "icmh"},
+ {S390X_GENERIC, "mvclu"},
+ {S390X_GENERIC, "clclu"},
+ {S390X_GENERIC, "lmh"},
+ {S390X_GENERIC, "cspg"},
+ {S390X_GENERIC, "idte"},
+ {S390X_GENERIC, "madr"},
+ {S390X_GENERIC, "mad"},
+ {S390X_GENERIC, "maer"},
+ {S390X_GENERIC, "mae"},
+ {S390X_GENERIC, "msdr"},
+ {S390X_GENERIC, "msd"},
+ {S390X_GENERIC, "mser"},
+ {S390X_GENERIC, "mse"},
+ {S390X_GENERIC, "km"},
+ {S390X_GENERIC, "kmc"},
+ {S390X_GENERIC, "kimd"},
+ {S390X_GENERIC, "klmd"},
+ {S390X_GENERIC, "kmac"},
+ {S390X_GENERIC, "afi"},
+ {S390X_GENERIC, "agfi"},
+ {S390X_GENERIC, "alfi"},
+ {S390X_GENERIC, "algfi"},
+ {S390X_GENERIC, "nihf"},
+ {S390X_GENERIC, "nilf"},
+ {S390X_GENERIC, "cfi"},
+ {S390X_GENERIC, "cgfi"},
+ {S390X_GENERIC, "clfi"},
+ {S390X_GENERIC, "clgfi"},
+ {S390X_GENERIC, "xihf"},
+ {S390X_GENERIC, "xilf"},
+ {S390X_GENERIC, "iihf"},
+ {S390X_GENERIC, "iilf"},
+ {S390X_GENERIC, "flogr"},
+ {S390X_GENERIC, "lt"},
+ {S390X_GENERIC, "ltg"},
+ {S390X_GENERIC, "lbr"},
+ {S390X_GENERIC, "lgbr"},
+ {S390X_GENERIC, "lhr"},
+ {S390X_GENERIC, "lghr"},
+ {S390X_GENERIC, "lgfi"},
+ {S390X_GENERIC, "llc"},
+ {S390X_GENERIC, "llcr"},
+ {S390X_GENERIC, "llgcr"},
+ {S390X_GENERIC, "llh"},
+ {S390X_GENERIC, "llhr"},
+ {S390X_GENERIC, "llghr"},
+ {S390X_GENERIC, "llihf"},
+ {S390X_GENERIC, "llilf"},
+ {S390X_GENERIC, "oihf"},
+ {S390X_GENERIC, "oilf"},
+ {S390X_GENERIC, "slfi"},
+ {S390X_GENERIC, "slgfi"},
+ {S390X_GENERIC, "ptff"},
+ {S390X_GENERIC, "stfle"},
+ {S390X_GENERIC, "stckf"},
+ {S390X_GENERIC, "mvcos"},
+ {S390X_GENERIC, "lptea"},
+ {S390X_GENERIC, "sske"},
+ {S390X_GENERIC, "troo"},
+ {S390X_GENERIC, "trot"},
+ {S390X_GENERIC, "trto"},
+ {S390X_GENERIC, "trtt"},
+ {S390X_GENERIC, "cu24"},
+ {S390X_GENERIC, "cu21"},
+ {S390X_GENERIC, "cuutf"},
+ {S390X_GENERIC, "cu42"},
+ {S390X_GENERIC, "cu41"},
+ {S390X_GENERIC, "cu12"},
+ {S390X_GENERIC, "cutfu"},
+ {S390X_GENERIC, "cu14"},
+ {S390X_GENERIC, "srstu"},
+ {S390X_GENERIC, "trtr"},
+ {S390X_GENERIC, "myr"},
+ {S390X_GENERIC, "myhr"},
+ {S390X_GENERIC, "mylr"},
+ {S390X_GENERIC, "my"},
+ {S390X_GENERIC, "myh"},
+ {S390X_GENERIC, "myl"},
+ {S390X_GENERIC, "mayr"},
+ {S390X_GENERIC, "mayhr"},
+ {S390X_GENERIC, "maylr"},
+ {S390X_GENERIC, "may"},
+ {S390X_GENERIC, "mayh"},
+ {S390X_GENERIC, "mayl"},
+ {S390X_GENERIC, "lpdfr"},
+ {S390X_GENERIC, "lndfr"},
+ {S390X_GENERIC, "cpsdr"},
+ {S390X_GENERIC, "lcdfr"},
+ {S390X_GENERIC, "ldgr"},
+ {S390X_GENERIC, "lgdr"},
+ {S390X_GENERIC, "adtr"},
+ {S390X_GENERIC, "axtr"},
+ {S390X_GENERIC, "cdtr"},
+ {S390X_GENERIC, "cxtr"},
+ {S390X_GENERIC, "kdtr"},
+ {S390X_GENERIC, "kxtr"},
+ {S390X_GENERIC, "cedtr"},
+ {S390X_GENERIC, "cextr"},
+ {S390X_GENERIC, "cdgtr"},
+ {S390X_GENERIC, "cxgtr"},
+ {S390X_GENERIC, "cdstr"},
+ {S390X_GENERIC, "cxstr"},
+ {S390X_GENERIC, "cdutr"},
+ {S390X_GENERIC, "cxutr"},
+ {S390X_GENERIC, "cgdtr"},
+ {S390X_GENERIC, "cgxtr"},
+ {S390X_GENERIC, "csdtr"},
+ {S390X_GENERIC, "csxtr"},
+ {S390X_GENERIC, "cudtr"},
+ {S390X_GENERIC, "cuxtr"},
+ {S390X_GENERIC, "ddtr"},
+ {S390X_GENERIC, "dxtr"},
+ {S390X_GENERIC, "eedtr"},
+ {S390X_GENERIC, "eextr"},
+ {S390X_GENERIC, "esdtr"},
+ {S390X_GENERIC, "esxtr"},
+ {S390X_GENERIC, "iedtr"},
+ {S390X_GENERIC, "iextr"},
+ {S390X_GENERIC, "ltdtr"},
+ {S390X_GENERIC, "ltxtr"},
+ {S390X_GENERIC, "fidtr"},
+ {S390X_GENERIC, "fixtr"},
+ {S390X_GENERIC, "lfas"},
+ {S390X_GENERIC, "ldetr"},
+ {S390X_GENERIC, "lxdtr"},
+ {S390X_GENERIC, "ledtr"},
+ {S390X_GENERIC, "ldxtr"},
+ {S390X_GENERIC, "mdtr"},
+ {S390X_GENERIC, "mxtr"},
+ {S390X_GENERIC, "qadtr"},
+ {S390X_GENERIC, "qaxtr"},
+ {S390X_GENERIC, "rrdtr"},
+ {S390X_GENERIC, "rrxtr"},
+ {S390X_GENERIC, "srnmt"},
+ {S390X_GENERIC, "sfasr"},
+ {S390X_GENERIC, "sldt"},
+ {S390X_GENERIC, "slxt"},
+ {S390X_GENERIC, "srdt"},
+ {S390X_GENERIC, "srxt"},
+ {S390X_GENERIC, "sdtr"},
+ {S390X_GENERIC, "sxtr"},
+ {S390X_GENERIC, "tdcet"},
+ {S390X_GENERIC, "tdcdt"},
+ {S390X_GENERIC, "tdcxt"},
+ {S390X_GENERIC, "tdget"},
+ {S390X_GENERIC, "tdgdt"},
+ {S390X_GENERIC, "tdgxt"},
+ {S390X_GENERIC, "pfpo"},
+ {S390X_GENERIC, "ectg"},
+ {S390X_GENERIC, "csst"},
+ {S390X_GENERIC, "asi"},
+ {S390X_GENERIC, "agsi"},
+ {S390X_GENERIC, "alsi"},
+ {S390X_GENERIC, "algsi"},
+ {S390X_GENERIC, "crl"},
+ {S390X_GENERIC, "cgrl"},
+ {S390X_GENERIC, "cgfrl"},
+ {S390X_GENERIC, "crb$32"},
+ {S390X_GENERIC, "crb"},
+ {S390X_GENERIC, "cgrb$32"},
+ {S390X_GENERIC, "cgrb"},
+ {S390X_GENERIC, "crj$32"},
+ {S390X_GENERIC, "crj"},
+ {S390X_GENERIC, "cgrj$32"},
+ {S390X_GENERIC, "cgrj"},
+ {S390X_GENERIC, "cib$12"},
+ {S390X_GENERIC, "cib"},
+ {S390X_GENERIC, "cgib$12"},
+ {S390X_GENERIC, "cgib"},
+ {S390X_GENERIC, "cij$12"},
+ {S390X_GENERIC, "cij"},
+ {S390X_GENERIC, "cgij$12"},
+ {S390X_GENERIC, "cgij"},
+ {S390X_GENERIC, "crt$16"},
+ {S390X_GENERIC, "crt"},
+ {S390X_GENERIC, "cgrt$16"},
+ {S390X_GENERIC, "cgrt"},
+ {S390X_GENERIC, "cit$32"},
+ {S390X_GENERIC, "cit"},
+ {S390X_GENERIC, "cgit$32"},
+ {S390X_GENERIC, "cgit"},
+ {S390X_GENERIC, "cgh"},
+ {S390X_GENERIC, "chhsi"},
+ {S390X_GENERIC, "chsi"},
+ {S390X_GENERIC, "cghsi"},
+ {S390X_GENERIC, "chrl"},
+ {S390X_GENERIC, "cghrl"},
+ {S390X_GENERIC, "clhhsi"},
+ {S390X_GENERIC, "clfhsi"},
+ {S390X_GENERIC, "clghsi"},
+ {S390X_GENERIC, "clrl"},
+ {S390X_GENERIC, "clgrl"},
+ {S390X_GENERIC, "clgfrl"},
+ {S390X_GENERIC, "clhrl"},
+ {S390X_GENERIC, "clghrl"},
+ {S390X_GENERIC, "clrb$32"},
+ {S390X_GENERIC, "clrb"},
+ {S390X_GENERIC, "clgrb$32"},
+ {S390X_GENERIC, "clgrb"},
+ {S390X_GENERIC, "clrj$32"},
+ {S390X_GENERIC, "clrj"},
+ {S390X_GENERIC, "clgrj$32"},
+ {S390X_GENERIC, "clgrj"},
+ {S390X_GENERIC, "clib$12"},
+ {S390X_GENERIC, "clib"},
+ {S390X_GENERIC, "clgib$12"},
+ {S390X_GENERIC, "clgib"},
+ {S390X_GENERIC, "clij$12"},
+ {S390X_GENERIC, "clij"},
+ {S390X_GENERIC, "clgij$12"},
+ {S390X_GENERIC, "clgij"},
+ {S390X_GENERIC, "clrt$16"},
+ {S390X_GENERIC, "clrt"},
+ {S390X_GENERIC, "clgrt$16"},
+ {S390X_GENERIC, "clgrt"},
+ {S390X_GENERIC, "clfit$32"},
+ {S390X_GENERIC, "clfit"},
+ {S390X_GENERIC, "clgit$32"},
+ {S390X_GENERIC, "clgit"},
+ {S390X_GENERIC, "ecag"},
+ {S390X_GENERIC, "lrl"},
+ {S390X_GENERIC, "lgrl"},
+ {S390X_GENERIC, "lgfrl"},
+ {S390X_GENERIC, "laey"},
+ {S390X_GENERIC, "ltgf"},
+ {S390X_GENERIC, "lhrl"},
+ {S390X_GENERIC, "lghrl"},
+ {S390X_GENERIC, "llgfrl"},
+ {S390X_GENERIC, "llhrl"},
+ {S390X_GENERIC, "llghrl"},
+ {S390X_GENERIC, "mvhhi"},
+ {S390X_GENERIC, "mvhi"},
+ {S390X_GENERIC, "mvghi"},
+ {S390X_GENERIC, "mfy"},
+ {S390X_GENERIC, "mhy"},
+ {S390X_GENERIC, "msfi"},
+ {S390X_GENERIC, "msgfi"},
+ {S390X_GENERIC, "pfd"},
+ {S390X_GENERIC, "pfdrl"},
+ {S390X_GENERIC, "rnsbg"},
+ {S390X_GENERIC, "rxsbg"},
+ {S390X_GENERIC, "rosbg"},
+ {S390X_GENERIC, "risbg"},
+ {S390X_GENERIC, "strl"},
+ {S390X_GENERIC, "stgrl"},
+ {S390X_GENERIC, "sthrl"},
+ {S390X_GENERIC, "exrl"},
+ {S390X_GENERIC, "mc"},
+ {S390X_GENERIC, "ptf"},
+ {S390X_GENERIC, "pfmf"},
+ {S390X_GENERIC, "trte"},
+ {S390X_GENERIC, "trtre"},
+ {S390X_GENERIC, "ecpga"},
+ {S390X_GENERIC, "ecctr"},
+ {S390X_GENERIC, "epctr"},
+ {S390X_GENERIC, "lcctl"},
+ {S390X_GENERIC, "lpctl"},
+ {S390X_GENERIC, "lsctl"},
+ {S390X_GENERIC, "qctri"},
+ {S390X_GENERIC, "qsi"},
+ {S390X_GENERIC, "scctr"},
+ {S390X_GENERIC, "spctr"},
+ {S390X_GENERIC, "lpp"},
+ {S390X_GENERIC, "ahhhr"},
+ {S390X_GENERIC, "ahhlr"},
+ {S390X_GENERIC, "aih"},
+ {S390X_GENERIC, "alhhhr"},
+ {S390X_GENERIC, "alhhlr"},
+ {S390X_GENERIC, "alsih"},
+ {S390X_GENERIC, "alsihn"},
+ {S390X_GENERIC, "brcth"},
+ {S390X_GENERIC, "chhr"},
+ {S390X_GENERIC, "chlr"},
+ {S390X_GENERIC, "chf"},
+ {S390X_GENERIC, "cih"},
+ {S390X_GENERIC, "clhhr"},
+ {S390X_GENERIC, "clhlr"},
+ {S390X_GENERIC, "clhf"},
+ {S390X_GENERIC, "clih"},
+ {S390X_GENERIC, "lbh"},
+ {S390X_GENERIC, "lhh"},
+ {S390X_GENERIC, "lfh"},
+ {S390X_GENERIC, "llch"},
+ {S390X_GENERIC, "llhh"},
+ {S390X_GENERIC, "risbhg"},
+ {S390X_GENERIC, "risblg"},
+ {S390X_GENERIC, "stch"},
+ {S390X_GENERIC, "sthh"},
+ {S390X_GENERIC, "stfh"},
+ {S390X_GENERIC, "shhhr"},
+ {S390X_GENERIC, "shhlr"},
+ {S390X_GENERIC, "slhhhr"},
+ {S390X_GENERIC, "slhhlr"},
+ {S390X_GENERIC, "laa"},
+ {S390X_GENERIC, "laag"},
+ {S390X_GENERIC, "laal"},
+ {S390X_GENERIC, "laalg"},
+ {S390X_GENERIC, "lan"},
+ {S390X_GENERIC, "lang"},
+ {S390X_GENERIC, "lax"},
+ {S390X_GENERIC, "laxg"},
+ {S390X_GENERIC, "lao"},
+ {S390X_GENERIC, "laog"},
+ {S390X_GENERIC, "lpd"},
+ {S390X_GENERIC, "lpdg"},
+ {S390X_GENERIC, "locr"},
+ {S390X_GENERIC, "locr*16"},
+ {S390X_GENERIC, "locgr"},
+ {S390X_GENERIC, "locgr*16"},
+ {S390X_GENERIC, "loc"},
+ {S390X_GENERIC, "loc*12"},
+ {S390X_GENERIC, "locg"},
+ {S390X_GENERIC, "locg*12"},
+ {S390X_GENERIC, "stoc"},
+ {S390X_GENERIC, "stoc*12"},
+ {S390X_GENERIC, "stocg"},
+ {S390X_GENERIC, "stocg*12"},
+ {S390X_GENERIC, "ark"},
+ {S390X_GENERIC, "agrk"},
+ {S390X_GENERIC, "ahik"},
+ {S390X_GENERIC, "aghik"},
+ {S390X_GENERIC, "alrk"},
+ {S390X_GENERIC, "algrk"},
+ {S390X_GENERIC, "alhsik"},
+ {S390X_GENERIC, "alghsik"},
+ {S390X_GENERIC, "nrk"},
+ {S390X_GENERIC, "ngrk"},
+ {S390X_GENERIC, "xrk"},
+ {S390X_GENERIC, "xgrk"},
+ {S390X_GENERIC, "ork"},
+ {S390X_GENERIC, "ogrk"},
+ {S390X_GENERIC, "slak"},
+ {S390X_GENERIC, "sllk"},
+ {S390X_GENERIC, "srak"},
+ {S390X_GENERIC, "srlk"},
+ {S390X_GENERIC, "srk"},
+ {S390X_GENERIC, "sgrk"},
+ {S390X_GENERIC, "slrk"},
+ {S390X_GENERIC, "slgrk"},
+ {S390X_GENERIC, "popcnt"},
+ {S390X_GENERIC, "rrbm"},
+ {S390X_GENERIC, "cefbra"},
+ {S390X_GENERIC, "cdfbra"},
+ {S390X_GENERIC, "cxfbra"},
+ {S390X_GENERIC, "cegbra"},
+ {S390X_GENERIC, "cdgbra"},
+ {S390X_GENERIC, "cxgbra"},
+ {S390X_GENERIC, "celfbr"},
+ {S390X_GENERIC, "cdlfbr"},
+ {S390X_GENERIC, "cxlfbr"},
+ {S390X_GENERIC, "celgbr"},
+ {S390X_GENERIC, "cdlgbr"},
+ {S390X_GENERIC, "cxlgbr"},
+ {S390X_GENERIC, "cfebra"},
+ {S390X_GENERIC, "cfdbra"},
+ {S390X_GENERIC, "cfxbra"},
+ {S390X_GENERIC, "cgebra"},
+ {S390X_GENERIC, "cgdbra"},
+ {S390X_GENERIC, "cgxbra"},
+ {S390X_GENERIC, "clfebr"},
+ {S390X_GENERIC, "clfdbr"},
+ {S390X_GENERIC, "clfxbr"},
+ {S390X_GENERIC, "clgebr"},
+ {S390X_GENERIC, "clgdbr"},
+ {S390X_GENERIC, "clgxbr"},
+ {S390X_GENERIC, "fiebra"},
+ {S390X_GENERIC, "fidbra"},
+ {S390X_GENERIC, "fixbra"},
+ {S390X_GENERIC, "ledbra"},
+ {S390X_GENERIC, "ldxbra"},
+ {S390X_GENERIC, "lexbra"},
+ {S390X_GENERIC, "adtra"},
+ {S390X_GENERIC, "axtra"},
+ {S390X_GENERIC, "cdgtra"},
+ {S390X_GENERIC, "cdftr"},
+ {S390X_GENERIC, "cxftr"},
+ {S390X_GENERIC, "cxgtra"},
+ {S390X_GENERIC, "cdlgtr"},
+ {S390X_GENERIC, "cxlgtr"},
+ {S390X_GENERIC, "cdlftr"},
+ {S390X_GENERIC, "cxlftr"},
+ {S390X_GENERIC, "cgdtra"},
+ {S390X_GENERIC, "cgxtra"},
+ {S390X_GENERIC, "cfdtr"},
+ {S390X_GENERIC, "cfxtr"},
+ {S390X_GENERIC, "clgdtr"},
+ {S390X_GENERIC, "clgxtr"},
+ {S390X_GENERIC, "clfdtr"},
+ {S390X_GENERIC, "clfxtr"},
+ {S390X_GENERIC, "ddtra"},
+ {S390X_GENERIC, "dxtra"},
+ {S390X_GENERIC, "mdtra"},
+ {S390X_GENERIC, "mxtra"},
+ {S390X_GENERIC, "sdtra"},
+ {S390X_GENERIC, "sxtra"},
+ {S390X_GENERIC, "srnmb"},
+ {0, 0}
+};
+
diff --git a/whichasm-0.01/whichasm.c b/whichasm-0.01/whichasm.c
new file mode 100644
index 0000000..f305b6a
--- /dev/null
+++ b/whichasm-0.01/whichasm.c
@@ -0,0 +1,498 @@
+/*
+ * whichasm - which assembly language does this file use?
+ *
+ * This is a not particularly intelligent tool for attempting to detect
+ * the assembly language used within a particular source file, using a
+ * simple heuristic that the most popular language wins. We don't (yet)
+ * handle multiple assembly languages in a given file, but we could.
+ *
+ * Copyright (C) 2012 Jon Masters <jcm@jonmasters.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 (only) of the GNU General
+ * Public License as published by the Free Software Foundation.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <regex.h>
+
+#include "classifier.h"
+
+#define CLASSIFIER_THRESHOLD 1
+
+typedef int (*classifier_fn)(char *);
+
+struct classifier
+{
+ classifier_fn fn;
+ const char *name;
+};
+
+static const struct classifier classifiers[] = {
+ { classifier_arm, "arm" },
+ { classifier_ppc, "ppc" },
+ { classifier_s390x, "s390x" },
+ { classifier_x86, "x86" },
+ { NULL, NULL }
+};
+
+struct classifier_scores {
+ int mnemonic_index;
+ int register_index;
+ int score;
+};
+
+/*
+ * tokenize - split the input line into a list of simple tokens
+ * @source - a line of "source" code from the input file
+ */
+struct token *tokenize(char *source)
+{
+
+ int this_char, source_len, word_start, in_word, in_space;
+ struct token *tokens, *token, *last_token;
+
+ tokens = NULL;
+ token = NULL;
+ last_token = NULL;
+
+ word_start = in_word = 0;
+ in_space = 1; // start off thinking we're at a separator
+ source_len = strlen(source);
+ for (this_char = 0; this_char < source_len; this_char++) {
+ // state transition into a new word
+ if ((isalnum(source[this_char])) ||
+ ('%' == source[this_char])) {
+ if (in_space) {
+ if (!in_word) {
+ word_start = this_char;
+ }
+ in_word = 1;
+ in_space = 0;
+ }
+ } else {
+ // state transition out of a word
+ if ((isspace(source[this_char])) ||
+ (',' == source[this_char]))
+ in_space = 1;
+ else
+ in_space = 0;
+
+ if (in_word && (this_char > word_start)) {
+ token = malloc(sizeof(token));
+ if (!token) {
+ printf("error allocating memory\n");
+ exit(1);
+ }
+ token->name = malloc(this_char-word_start+1);
+ if (!token->name) {
+ printf("error allocating memory\n");
+ exit(1);
+ }
+ token->next = NULL;
+ strncpy(token->name,
+ &source[word_start],
+ this_char-word_start);
+ token->name[this_char-word_start]='\0';
+
+ if (tokens)
+ last_token->next = token;
+ else
+ tokens = token;
+ last_token = token;
+ }
+ in_word = 0;
+ }
+ }
+
+ // handle last or sole word specially
+ if ((in_word) && (this_char > word_start)) {
+ token = malloc(sizeof(token));
+ if (!token) {
+ printf("error allocating memory\n");
+ exit(1);
+ }
+ token->name = malloc(this_char-word_start+1);
+ if (!token->name) {
+ printf("error allocating memory\n");
+ exit(1);
+ }
+ token->next = NULL;
+ strncpy(token->name, &source[word_start], this_char-word_start);
+ token->name[this_char-word_start] = '\0';
+
+ if (tokens)
+ last_token->next = token;
+ else
+ tokens = token;
+ last_token = token;
+ }
+
+ return tokens;
+}
+
+/*
+ * free_tokens - free allocated list elements
+ * @tokens - the list of tokens
+ */
+int free_tokens(struct token *tokens)
+{
+ struct token *next_tokens;
+
+ while (tokens) {
+ next_tokens = tokens->next;
+ free(tokens->name);
+ free(tokens);
+ tokens = next_tokens;
+ }
+
+ return 0;
+}
+
+/*
+ * scan_tokens - parse tokens for assembly use
+ * @tokens - an input source line of tokens
+ */
+int scan_tokens(struct token *tokens)
+{
+ struct token *token;
+ int token_index, class;
+ int classifier_number;
+ const struct classifier *classifier;
+ struct classifier_scores classifier_scores[sizeof(classifiers)/
+ sizeof(struct classifier)];
+ int winning_classifier;
+ int winning_score;
+
+ for (classifier_number=0,classifier=classifiers;
+ classifier->fn;
+ classifier++,classifier_number++) {
+
+ classifier_scores[classifier_number].mnemonic_index = -1;
+ classifier_scores[classifier_number].register_index = -1;
+ classifier_scores[classifier_number].score = 0;
+
+ for (token_index=0,token=tokens;
+ token!=NULL;
+ token=token->next,token_index++) {
+
+ // special case ignore '%' signs (e.g. registers)
+ if (strstr(token->name,"%") == token->name)
+ class = classifier->fn(&token->name[1]);
+ else
+ class = classifier->fn(token->name);
+ if (class == MNEMONIC) {
+ classifier_scores[classifier_number].score++;
+ classifier_scores[classifier_number].mnemonic_index = token_index;
+ }
+ if (class == REGISTER) {
+ classifier_scores[classifier_number].score++;
+ if (!classifier_scores[classifier_number].register_index)
+ classifier_scores[classifier_number].register_index = token_index;
+ }
+
+ }
+
+ if (classifier_scores[classifier_number].mnemonic_index < 0)
+ // No opcode was found - probably not a match
+ classifier_scores[classifier_number].score = 0;
+ if ((classifier_scores[classifier_number].register_index > 0) &&
+ (classifier_scores[classifier_number].register_index <
+ classifier_scores[classifier_number].mnemonic_index))
+ // Register came before opcode - probably not a match
+ classifier_scores[classifier_number].score = 0;
+
+ }
+
+ winning_classifier = -1;
+ winning_score = -1;
+
+ for (classifier_number=0,classifier=classifiers;
+ classifier->fn;
+ classifier++,classifier_number++) {
+
+ //printf("classifier %s score: %d\n",
+ // classifier->name,
+ // classifier_scores[classifier_number].score);
+
+ if ((classifier_scores[classifier_number].score) &&
+ (classifier_scores[classifier_number].score >
+ winning_score))
+ {
+ winning_score =
+ classifier_scores[classifier_number].score;
+ winning_classifier = classifier_number;
+ }
+ }
+
+ return winning_classifier;
+}
+
+/*
+ * excluded_sourceline - filter out comment lines and assembler commands
+ * @source - a line of source (pre-tokenization)
+ * TODO: Implement this function
+ */
+int excluded_sourceline(char *source)
+{
+ //regex_t re_comment;
+
+ return 0;
+}
+
+/*
+ * scan_sourceline - parse one line of input (file) source
+ * source - textual string representation of an input line
+ */
+int scan_sourceline(char *source)
+{
+ struct token *tokens;
+ int winning_classifier = -1;
+
+ if (excluded_sourceline(source))
+ return -1;
+
+ tokens = tokenize(source);
+ winning_classifier = scan_tokens(tokens);
+ free_tokens(tokens);
+
+ return winning_classifier;
+}
+
+/*
+ * usage - print a usage message
+ * @progname - name of the program as executed
+ */
+int usage(char *progname) {
+
+ printf("Usage: %s [FILE]\n", progname);
+ printf("Scan the input file for known assembly languages\n");
+
+ return 0;
+}
+
+/* Used to store state during file scanning */
+struct sourcefile {
+ char *file_name;
+ char *file_ext;
+ FILE *file;
+ int mode;
+ int inside_asm;
+};
+
+/*
+ * next_sourceline - get the next line to process
+ * @file - the open file object
+ * @mode - 0 returns every line, 1 skips asm sections
+ */
+char *next_sourceline(struct sourcefile *sourcefile, void *line, size_t len) {
+
+ regex_t re_asm_singleton1;
+ regex_t re_asm_singleton2;
+ regex_t re_asm_block_open1;
+ regex_t re_asm_block_open2;
+ regex_t re_asm_block_close;
+ regmatch_t pmatch[4];
+ int ret_re;
+ char match[255];
+
+ regcomp(&re_asm_singleton1, "^.*[_]*asm[_]*[ \t]*[_]*volatile[_]*[ \t]*\\([ \t]*\"(.*)\\);",
+ REG_EXTENDED|REG_ICASE);
+ regcomp(&re_asm_singleton2, "^.*[_]*asm[_]*[ \t]*\\([ \t]*\"(.*)\\);",
+ REG_EXTENDED|REG_ICASE);
+
+ regcomp(&re_asm_block_open1, "^.*[_]*asm[_]*[ \t]*[_]*volatile[_]*[ \t]*\\([ \t]*[\"]*[ \t]*(.*)",
+ REG_EXTENDED|REG_ICASE);
+ regcomp(&re_asm_block_open2, "^.*[_]*asm[_]*[ \t]*\\([ \t]*[\"]*[ \t]*(.*)",
+ REG_EXTENDED|REG_ICASE);
+ regcomp(&re_asm_block_close, ".*\\);",
+ REG_EXTENDED|REG_ICASE);
+
+ if (!sourcefile->mode)
+ line = fgets(line, len, sourcefile->file);
+ else {
+ do {
+ line = fgets(line, len, sourcefile->file);
+ if (!line)
+ break; // end of file
+
+ // already in a multiblock?
+ if (sourcefile->inside_asm) {
+ ret_re = regexec(&re_asm_block_close, line,
+ (sizeof(pmatch)/sizeof(regmatch_t)),
+ pmatch, 0);
+ if (0 == ret_re) {
+ sourcefile->inside_asm = 0;
+ } else
+ break; // use current line
+
+ }
+
+ // try matching a singleton
+ ret_re = regexec(&re_asm_singleton1, line,
+ (sizeof(pmatch)/sizeof(regmatch_t)),
+ pmatch, 0);
+
+ if (0 != ret_re) {
+ ret_re = regexec(&re_asm_singleton2, line,
+ (sizeof(pmatch)/sizeof(regmatch_t)),
+ pmatch, 0);
+ }
+
+ if ((0 == ret_re) && (-1 != pmatch[1].rm_so)) {
+ strncpy(match, line+pmatch[1].rm_so,
+ pmatch[1].rm_eo-pmatch[1].rm_so);
+ match[pmatch[1].rm_eo-pmatch[1].rm_so] = '\0';
+ strncpy(line, match, strlen(match)+1);
+
+ break; // use current line
+ }
+
+ // try multiblock option
+ ret_re = regexec(&re_asm_block_open1, line,
+ (sizeof(pmatch)/sizeof(regmatch_t)),
+ pmatch, 0);
+ if (0 != ret_re)
+ ret_re = regexec(&re_asm_block_open2, line,
+ (sizeof(pmatch)/sizeof(regmatch_t)),
+ pmatch, 0);
+
+ if ((0 == ret_re) && (-1 != pmatch[1].rm_so)) {
+ strncpy(match, line+pmatch[1].rm_so,
+ pmatch[1].rm_eo-pmatch[1].rm_so);
+ match[pmatch[1].rm_eo-pmatch[1].rm_so] = '\0';
+ strncpy(line, match, strlen(match)+1);
+
+ sourcefile->inside_asm = 1;
+
+ break; // use current line
+ }
+
+ } while (line);
+
+ //if (line && sourcefile->inside_asm) {
+ // printf("asm: %s\n", (char *)line);
+ //}
+
+ }
+
+ return line;
+}
+
+/*
+ * scan_sourcefile - open a file and scan it
+ */
+int scan_sourcefile(char *source_file_name) {
+
+ struct sourcefile sourcefile;
+ char input_line[255];
+ char *line;
+ int classifier_totals[sizeof(classifiers)/sizeof(struct classifier)];
+ int winning_classifier;
+ const struct classifier *classifier;
+ int classifier_number;
+ int overall_classifier;
+ int overall_total;
+
+ for (classifier_number=0,classifier=classifiers;
+ classifier->fn;
+ classifier++,classifier_number++) {
+ classifier_totals[classifier_number] = 0;
+ }
+
+ sourcefile.mode = 0;
+ sourcefile.inside_asm = 0;
+ sourcefile.file_name = source_file_name;
+ sourcefile.file_ext = strrchr(sourcefile.file_name, '.')+1;
+
+ if ( 0 == strncasecmp(sourcefile.file_ext,"S", strlen("S"))) {
+ // assembly source file
+ sourcefile.mode = 0;
+ }
+ if (( 0 == strncasecmp(sourcefile.file_ext,"C", strlen("C"))) ||
+ ( 0 == strncasecmp(sourcefile.file_ext,"H", strlen("H")))) {
+ // C source file
+ sourcefile.mode = 1;
+ }
+
+ sourcefile.file = fopen(sourcefile.file_name, "r");
+
+ while (!feof(sourcefile.file)) {
+ line = next_sourceline(&sourcefile, input_line,
+ sizeof(input_line));
+ if (!line) {
+ if (!feof(sourcefile.file)) {
+ printf("error reading file\n");
+ exit(1);
+ } else
+ break;
+ }
+
+ winning_classifier = scan_sourceline(input_line);
+ //if (winning_classifier >= 0) {
+ // JCM - DEBUG
+ //printf("classifier: %s\n", classifiers[winning_classifier].name);
+ //printf("line: %s\n", input_line);
+ //}
+
+ if (winning_classifier >= 0) {
+ classifier_totals[winning_classifier]++;
+ }
+
+ }
+
+ overall_classifier = -1;
+ overall_total = -1;
+ for (classifier_number=0,classifier=classifiers;
+ classifier->fn;
+ classifier++,classifier_number++) {
+ if (classifier_totals[classifier_number] > overall_total) {
+ overall_classifier = classifier_number;
+ overall_total = classifier_totals[classifier_number];
+ }
+ }
+
+ if (overall_total > CLASSIFIER_THRESHOLD)
+ return overall_classifier;
+ else
+ return -1; // maybe not sure
+}
+
+/*
+ * main - entry point
+ */
+int main(int argc, char **argv)
+{
+
+ int winning_classifier;
+ char *source_file_name = argv[1];
+ char *source_file_ext;
+
+ if (argc != 2) {
+ usage(argv[0]);
+ exit(1);
+ }
+
+ source_file_ext = strrchr(source_file_name, '.');
+
+ if (!source_file_ext) {
+ printf("error: must be run on C or assembly source files\n");
+ usage(argv[0]);
+ exit(1);
+ }
+
+ winning_classifier = scan_sourcefile(source_file_name);
+
+ if (winning_classifier >= 0) {
+ printf("%s: %s\n",
+ source_file_name, classifiers[winning_classifier].name);
+ } else {
+ printf("%s: unknown\n", source_file_name);
+ }
+
+ exit(0);
+}
diff --git a/whichasm-0.01/x86.h b/whichasm-0.01/x86.h
new file mode 100644
index 0000000..21e7e8d
--- /dev/null
+++ b/whichasm-0.01/x86.h
@@ -0,0 +1,746 @@
+struct x86_opcode
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+struct x86_reg
+{
+ unsigned long arch;
+ const char *assembler;
+};
+
+enum x86_arch
+{
+ X86_NONE,
+ X86_GENERIC,
+ X86_64BIT
+};
+
+static const struct x86_reg x86_regs[] =
+{
+ {X86_GENERIC, "AX"},
+ {X86_GENERIC, "BX"},
+ {X86_GENERIC, "CX"},
+ {X86_GENERIC, "DX"},
+ {X86_GENERIC, "SI"},
+ {X86_GENERIC, "DI"},
+ {X86_GENERIC, "BP"},
+ {X86_GENERIC, "SP"},
+ {X86_GENERIC, "EAX"},
+ {X86_GENERIC, "EBX"},
+ {X86_GENERIC, "ECX"},
+ {X86_GENERIC, "EDX"},
+ {X86_GENERIC, "ESI"},
+ {X86_GENERIC, "EDI"},
+ {X86_GENERIC, "EBP"},
+ {X86_GENERIC, "EIP"},
+ {X86_GENERIC, "ESP"},
+ {X86_64BIT, "RAX"},
+ {X86_64BIT, "RBX"},
+ {X86_64BIT, "RCX"},
+ {X86_64BIT, "RDX"},
+ {X86_64BIT, "RSI"},
+ {X86_64BIT, "RDI"},
+ {X86_64BIT, "RBP"},
+ {X86_64BIT, "RSP"},
+ {X86_64BIT, "R8"},
+ {X86_64BIT, "R9"},
+ {X86_64BIT, "R10"},
+ {X86_64BIT, "R11"},
+ {X86_64BIT, "R12"},
+ {X86_64BIT, "R13"},
+ {X86_64BIT, "R14"},
+ {X86_64BIT, "R15"},
+ {X86_GENERIC, "FLAGS"},
+ {X86_GENERIC, "EFLAGS"},
+ {X86_64BIT, "RFLAGS"},
+ {0, 0}
+};
+
+static const struct x86_opcode x86_opcodes[] =
+{
+ {X86_GENERIC, "AAA"},
+ {X86_GENERIC, "AAD"},
+ {X86_GENERIC, "AAM"},
+ {X86_GENERIC, "AAS"},
+ {X86_GENERIC, "ADC"},
+ {X86_GENERIC, "ADD"},
+ {X86_GENERIC, "ADDPD"},
+ {X86_GENERIC, "ADDPS"},
+ {X86_GENERIC, "ADDSD"},
+ {X86_GENERIC, "ADDSS"},
+ {X86_GENERIC, "ADDSUBPD"},
+ {X86_GENERIC, "ADDSUBPS"},
+ {X86_GENERIC, "AND"},
+ {X86_GENERIC, "ANDNPD"},
+ {X86_GENERIC, "ANDNPS"},
+ {X86_GENERIC, "ANDPD"},
+ {X86_GENERIC, "ANDPS"},
+ {X86_GENERIC, "ARPL"},
+ {X86_GENERIC, "BLENDPD"},
+ {X86_GENERIC, "BLENDPS"},
+ {X86_GENERIC, "BLENDVPD"},
+ {X86_GENERIC, "BLENDVPS"},
+ {X86_GENERIC, "BOUND"},
+ {X86_GENERIC, "BSF"},
+ {X86_GENERIC, "BSR"},
+ {X86_GENERIC, "BSWAP"},
+ {X86_GENERIC, "BT"},
+ {X86_GENERIC, "BTC"},
+ {X86_GENERIC, "BTR"},
+ {X86_GENERIC, "BTS"},
+ {X86_GENERIC, "CALL"},
+ {X86_GENERIC, "CALLF"},
+ {X86_GENERIC, "CBW"},
+ {X86_GENERIC, "CDQ"},
+ {X86_GENERIC, "CDQE"},
+ {X86_GENERIC, "CLC"},
+ {X86_GENERIC, "CLD"},
+ {X86_GENERIC, "CLFLUSH"},
+ {X86_GENERIC, "CLI"},
+ {X86_GENERIC, "CLTS"},
+ {X86_GENERIC, "CMC"},
+ {X86_GENERIC, "CMOVA"},
+ {X86_GENERIC, "CMOVAE"},
+ {X86_GENERIC, "CMOVB"},
+ {X86_GENERIC, "CMOVBE"},
+ {X86_GENERIC, "CMOVC"},
+ {X86_GENERIC, "CMOVE"},
+ {X86_GENERIC, "CMOVG"},
+ {X86_GENERIC, "CMOVGE"},
+ {X86_GENERIC, "CMOVL"},
+ {X86_GENERIC, "CMOVLE"},
+ {X86_GENERIC, "CMOVNA"},
+ {X86_GENERIC, "CMOVNAE"},
+ {X86_GENERIC, "CMOVNB"},
+ {X86_GENERIC, "CMOVNBE"},
+ {X86_GENERIC, "CMOVNC"},
+ {X86_GENERIC, "CMOVNE"},
+ {X86_GENERIC, "CMOVNG"},
+ {X86_GENERIC, "CMOVNGE"},
+ {X86_GENERIC, "CMOVNL"},
+ {X86_GENERIC, "CMOVNLE"},
+ {X86_GENERIC, "CMOVNO"},
+ {X86_GENERIC, "CMOVNP"},
+ {X86_GENERIC, "CMOVNS"},
+ {X86_GENERIC, "CMOVNZ"},
+ {X86_GENERIC, "CMOVO"},
+ {X86_GENERIC, "CMOVP"},
+ {X86_GENERIC, "CMOVPE"},
+ {X86_GENERIC, "CMOVPO"},
+ {X86_GENERIC, "CMOVS"},
+ {X86_GENERIC, "CMOVZ"},
+ {X86_GENERIC, "CMP"},
+ {X86_GENERIC, "CMPPD"},
+ {X86_GENERIC, "CMPPS"},
+ {X86_GENERIC, "CMPS"},
+ {X86_GENERIC, "CMPSB"},
+ {X86_GENERIC, "CMPSD"},
+ {X86_GENERIC, "CMPSQ"},
+ {X86_GENERIC, "CMPSS"},
+ {X86_GENERIC, "CMPSW"},
+ {X86_GENERIC, "CMPXCHG"},
+ {X86_GENERIC, "CMPXCHG16B"},
+ {X86_GENERIC, "CMPXCHG8B"},
+ {X86_GENERIC, "COMISD"},
+ {X86_GENERIC, "COMISS"},
+ {X86_GENERIC, "CPUID"},
+ {X86_GENERIC, "CQO"},
+ {X86_GENERIC, "CRC32"},
+ {X86_GENERIC, "CS"},
+ {X86_GENERIC, "CVTDQ2PD"},
+ {X86_GENERIC, "CVTDQ2PS"},
+ {X86_GENERIC, "CVTPD2DQ"},
+ {X86_GENERIC, "CVTPD2PI"},
+ {X86_GENERIC, "CVTPD2PS"},
+ {X86_GENERIC, "CVTPI2PD"},
+ {X86_GENERIC, "CVTPI2PS"},
+ {X86_GENERIC, "CVTPS2DQ"},
+ {X86_GENERIC, "CVTPS2PD"},
+ {X86_GENERIC, "CVTPS2PI"},
+ {X86_GENERIC, "CVTSD2SI"},
+ {X86_GENERIC, "CVTSD2SS"},
+ {X86_GENERIC, "CVTSI2SD"},
+ {X86_GENERIC, "CVTSI2SS"},
+ {X86_GENERIC, "CVTSS2SD"},
+ {X86_GENERIC, "CVTSS2SI"},
+ {X86_GENERIC, "CVTTPD2DQ"},
+ {X86_GENERIC, "CVTTPD2PI"},
+ {X86_GENERIC, "CVTTPS2DQ"},
+ {X86_GENERIC, "CVTTPS2PI"},
+ {X86_GENERIC, "CVTTSD2SI"},
+ {X86_GENERIC, "CVTTSS2SI"},
+ {X86_GENERIC, "CWD"},
+ {X86_GENERIC, "CWDE"},
+ {X86_GENERIC, "DAA"},
+ {X86_GENERIC, "DAS"},
+ {X86_GENERIC, "DEC"},
+ {X86_GENERIC, "DIV"},
+ {X86_GENERIC, "DIVPD"},
+ {X86_GENERIC, "DIVPS"},
+ {X86_GENERIC, "DIVSD"},
+ {X86_GENERIC, "DIVSS"},
+ {X86_GENERIC, "DPPD"},
+ {X86_GENERIC, "DPPS"},
+ {X86_GENERIC, "DS"},
+ {X86_GENERIC, "EMMS"},
+ {X86_GENERIC, "ENTER"},
+ {X86_GENERIC, "ES"},
+ {X86_GENERIC, "EXTRACTPS"},
+ {X86_GENERIC, "F2XM1"},
+ {X86_GENERIC, "FABS"},
+ {X86_GENERIC, "FADD"},
+ {X86_GENERIC, "FADDP"},
+ {X86_GENERIC, "FBLD"},
+ {X86_GENERIC, "FBSTP"},
+ {X86_GENERIC, "FCHS"},
+ {X86_GENERIC, "FCLEX"},
+ {X86_GENERIC, "FCMOVB"},
+ {X86_GENERIC, "FCMOVBE"},
+ {X86_GENERIC, "FCMOVE"},
+ {X86_GENERIC, "FCMOVNB"},
+ {X86_GENERIC, "FCMOVNBE"},
+ {X86_GENERIC, "FCMOVNE"},
+ {X86_GENERIC, "FCMOVNU"},
+ {X86_GENERIC, "FCMOVU"},
+ {X86_GENERIC, "FCOM"},
+ {X86_GENERIC, "FCOMI"},
+ {X86_GENERIC, "FCOMIP"},
+ {X86_GENERIC, "FCOMP"},
+ {X86_GENERIC, "FCOMPP"},
+ {X86_GENERIC, "FCOS"},
+ {X86_GENERIC, "FDECSTP"},
+ {X86_GENERIC, "FDISI"},
+ {X86_GENERIC, "FDIV"},
+ {X86_GENERIC, "FDIVP"},
+ {X86_GENERIC, "FDIVR"},
+ {X86_GENERIC, "FDIVRP"},
+ {X86_GENERIC, "FENI"},
+ {X86_GENERIC, "FFREE"},
+ {X86_GENERIC, "FIADD"},
+ {X86_GENERIC, "FICOM"},
+ {X86_GENERIC, "FICOMP"},
+ {X86_GENERIC, "FIDIV"},
+ {X86_GENERIC, "FIDIVR"},
+ {X86_GENERIC, "FILD"},
+ {X86_GENERIC, "FIMUL"},
+ {X86_GENERIC, "FINCSTP"},
+ {X86_GENERIC, "FINIT"},
+ {X86_GENERIC, "FIST"},
+ {X86_GENERIC, "FISTP"},
+ {X86_GENERIC, "FISTTP"},
+ {X86_GENERIC, "FISUB"},
+ {X86_GENERIC, "FISUBR"},
+ {X86_GENERIC, "FLD"},
+ {X86_GENERIC, "FLD1"},
+ {X86_GENERIC, "FLDCW"},
+ {X86_GENERIC, "FLDENV"},
+ {X86_GENERIC, "FLDL2E"},
+ {X86_GENERIC, "FLDL2T"},
+ {X86_GENERIC, "FLDLG2"},
+ {X86_GENERIC, "FLDLN2"},
+ {X86_GENERIC, "FLDPI"},
+ {X86_GENERIC, "FLDZ"},
+ {X86_GENERIC, "FMUL"},
+ {X86_GENERIC, "FMULP"},
+ {X86_GENERIC, "FNCLEX"},
+ {X86_GENERIC, "FNDISI"},
+ {X86_GENERIC, "FNENI"},
+ {X86_GENERIC, "FNINIT"},
+ {X86_GENERIC, "FNOP"},
+ {X86_GENERIC, "FNSAVE"},
+ {X86_GENERIC, "FNSETPM"},
+ {X86_GENERIC, "FNSTCW"},
+ {X86_GENERIC, "FNSTENV"},
+ {X86_GENERIC, "FNSTSW"},
+ {X86_GENERIC, "FPATAN"},
+ {X86_GENERIC, "FPREM"},
+ {X86_GENERIC, "FPREM1"},
+ {X86_GENERIC, "FPTAN"},
+ {X86_GENERIC, "FRNDINT"},
+ {X86_GENERIC, "FRSTOR"},
+ {X86_GENERIC, "FS"},
+ {X86_GENERIC, "FSAVE"},
+ {X86_GENERIC, "FSCALE"},
+ {X86_GENERIC, "FSETPM"},
+ {X86_GENERIC, "FSIN"},
+ {X86_GENERIC, "FSINCOS"},
+ {X86_GENERIC, "FSQRT"},
+ {X86_GENERIC, "FST"},
+ {X86_GENERIC, "FSTCW"},
+ {X86_GENERIC, "FSTENV"},
+ {X86_GENERIC, "FSTP"},
+ {X86_GENERIC, "FSTSW"},
+ {X86_GENERIC, "FSUB"},
+ {X86_GENERIC, "FSUBP"},
+ {X86_GENERIC, "FSUBR"},
+ {X86_GENERIC, "FSUBRP"},
+ {X86_GENERIC, "FTST"},
+ {X86_GENERIC, "FUCOM"},
+ {X86_GENERIC, "FUCOMI"},
+ {X86_GENERIC, "FUCOMIP"},
+ {X86_GENERIC, "FUCOMP"},
+ {X86_GENERIC, "FUCOMPP"},
+ {X86_GENERIC, "FWAIT"},
+ {X86_GENERIC, "FXAM"},
+ {X86_GENERIC, "FXCH"},
+ {X86_GENERIC, "FXRSTOR"},
+ {X86_GENERIC, "FXSAVE"},
+ {X86_GENERIC, "FXTRACT"},
+ {X86_GENERIC, "FYL2X"},
+ {X86_GENERIC, "FYL2XP1"},
+ {X86_GENERIC, "GETSEC"},
+ {X86_GENERIC, "GS"},
+ {X86_GENERIC, "HADDPD"},
+ {X86_GENERIC, "HADDPS"},
+ {X86_GENERIC, "HINT_NOP"},
+ {X86_GENERIC, "HLT"},
+ {X86_GENERIC, "HSUBPD"},
+ {X86_GENERIC, "HSUBPS"},
+ {X86_GENERIC, "ICEBP"},
+ {X86_GENERIC, "IDIV"},
+ {X86_GENERIC, "IMUL"},
+ {X86_GENERIC, "IN"},
+ {X86_GENERIC, "INC"},
+ {X86_GENERIC, "INS"},
+ {X86_GENERIC, "INSB"},
+ {X86_GENERIC, "INSD"},
+ {X86_GENERIC, "INSERTPS"},
+ {X86_GENERIC, "INSW"},
+ {X86_GENERIC, "INT"},
+ {X86_GENERIC, "INT1"},
+ {X86_GENERIC, "INTO"},
+ {X86_GENERIC, "INVD"},
+ {X86_GENERIC, "INVEPT"},
+ {X86_GENERIC, "INVLPG"},
+ {X86_GENERIC, "INVVPID"},
+ {X86_GENERIC, "IRET"},
+ {X86_GENERIC, "IRETD"},
+ {X86_GENERIC, "IRETQ"},
+ {X86_GENERIC, "JA"},
+ {X86_GENERIC, "JAE"},
+ {X86_GENERIC, "JB"},
+ {X86_GENERIC, "JBE"},
+ {X86_GENERIC, "JC"},
+ {X86_GENERIC, "JCXZ"},
+ {X86_GENERIC, "JE"},
+ {X86_GENERIC, "JECXZ"},
+ {X86_GENERIC, "JG"},
+ {X86_GENERIC, "JGE"},
+ {X86_GENERIC, "JL"},
+ {X86_GENERIC, "JLE"},
+ {X86_GENERIC, "JMP"},
+ {X86_GENERIC, "JMPE"},
+ {X86_GENERIC, "JMPF"},
+ {X86_GENERIC, "JNA"},
+ {X86_GENERIC, "JNAE"},
+ {X86_GENERIC, "JNB"},
+ {X86_GENERIC, "JNBE"},
+ {X86_GENERIC, "JNC"},
+ {X86_GENERIC, "JNE"},
+ {X86_GENERIC, "JNG"},
+ {X86_GENERIC, "JNGE"},
+ {X86_GENERIC, "JNL"},
+ {X86_GENERIC, "JNLE"},
+ {X86_GENERIC, "JNO"},
+ {X86_GENERIC, "JNP"},
+ {X86_GENERIC, "JNS"},
+ {X86_GENERIC, "JNZ"},
+ {X86_GENERIC, "JO"},
+ {X86_GENERIC, "JP"},
+ {X86_GENERIC, "JPE"},
+ {X86_GENERIC, "JPO"},
+ {X86_GENERIC, "JRCXZ"},
+ {X86_GENERIC, "JS"},
+ {X86_GENERIC, "JZ"},
+ {X86_GENERIC, "LAHF"},
+ {X86_GENERIC, "LAR"},
+ {X86_GENERIC, "LDDQU"},
+ {X86_GENERIC, "LDMXCSR"},
+ {X86_GENERIC, "LDS"},
+ {X86_GENERIC, "LEA"},
+ {X86_GENERIC, "LEAVE"},
+ {X86_GENERIC, "LES"},
+ {X86_GENERIC, "LFENCE"},
+ {X86_GENERIC, "LFS"},
+ {X86_GENERIC, "LGDT"},
+ {X86_GENERIC, "LGS"},
+ {X86_GENERIC, "LIDT"},
+ {X86_GENERIC, "LLDT"},
+ {X86_GENERIC, "LMSW"},
+ {X86_GENERIC, "LOADALL"},
+ {X86_GENERIC, "LOCK"},
+ {X86_GENERIC, "LODS"},
+ {X86_GENERIC, "LODSB"},
+ {X86_GENERIC, "LODSD"},
+ {X86_GENERIC, "LODSQ"},
+ {X86_GENERIC, "LODSW"},
+ {X86_GENERIC, "LOOP"},
+ {X86_GENERIC, "LOOPE"},
+ {X86_GENERIC, "LOOPNE"},
+ {X86_GENERIC, "LOOPNZ"},
+ {X86_GENERIC, "LOOPZ"},
+ {X86_GENERIC, "LSL"},
+ {X86_GENERIC, "LSS"},
+ {X86_GENERIC, "LTR"},
+ {X86_GENERIC, "MASKMOVDQU"},
+ {X86_GENERIC, "MASKMOVQ"},
+ {X86_GENERIC, "MAXPD"},
+ {X86_GENERIC, "MAXPS"},
+ {X86_GENERIC, "MAXSD"},
+ {X86_GENERIC, "MAXSS"},
+ {X86_GENERIC, "MFENCE"},
+ {X86_GENERIC, "MINPD"},
+ {X86_GENERIC, "MINPS"},
+ {X86_GENERIC, "MINSD"},
+ {X86_GENERIC, "MINSS"},
+ {X86_GENERIC, "MONITOR"},
+ {X86_GENERIC, "MOV"},
+ {X86_GENERIC, "MOVAPD"},
+ {X86_GENERIC, "MOVAPS"},
+ {X86_GENERIC, "MOVBE"},
+ {X86_GENERIC, "MOVD"},
+ {X86_GENERIC, "MOVDDUP"},
+ {X86_GENERIC, "MOVDQ2Q"},
+ {X86_GENERIC, "MOVDQA"},
+ {X86_GENERIC, "MOVDQU"},
+ {X86_GENERIC, "MOVHLPS"},
+ {X86_GENERIC, "MOVHPD"},
+ {X86_GENERIC, "MOVHPS"},
+ {X86_GENERIC, "MOVLHPS"},
+ {X86_GENERIC, "MOVLPD"},
+ {X86_GENERIC, "MOVLPS"},
+ {X86_GENERIC, "MOVMSKPD"},
+ {X86_GENERIC, "MOVMSKPS"},
+ {X86_GENERIC, "MOVNTDQ"},
+ {X86_GENERIC, "MOVNTDQA"},
+ {X86_GENERIC, "MOVNTI"},
+ {X86_GENERIC, "MOVNTPD"},
+ {X86_GENERIC, "MOVNTPS"},
+ {X86_GENERIC, "MOVNTQ"},
+ {X86_GENERIC, "MOVQ"},
+ {X86_GENERIC, "MOVQ2DQ"},
+ {X86_GENERIC, "MOVS"},
+ {X86_GENERIC, "MOVSB"},
+ {X86_GENERIC, "MOVSD"},
+ {X86_GENERIC, "MOVSHDUP"},
+ {X86_GENERIC, "MOVSLDUP"},
+ {X86_GENERIC, "MOVSQ"},
+ {X86_GENERIC, "MOVSS"},
+ {X86_GENERIC, "MOVSW"},
+ {X86_GENERIC, "MOVSX"},
+ {X86_GENERIC, "MOVSXD"},
+ {X86_GENERIC, "MOVUPD"},
+ {X86_GENERIC, "MOVUPS"},
+ {X86_GENERIC, "MOVZX"},
+ {X86_GENERIC, "MPSADBW"},
+ {X86_GENERIC, "MUL"},
+ {X86_GENERIC, "MULPD"},
+ {X86_GENERIC, "MULPS"},
+ {X86_GENERIC, "MULSD"},
+ {X86_GENERIC, "MULSS"},
+ {X86_GENERIC, "MWAIT"},
+ {X86_GENERIC, "NEG"},
+ {X86_GENERIC, "NOP"},
+ {X86_GENERIC, "NOT"},
+ {X86_GENERIC, "OR"},
+ {X86_GENERIC, "ORPD"},
+ {X86_GENERIC, "ORPS"},
+ {X86_GENERIC, "OUT"},
+ {X86_GENERIC, "OUTS"},
+ {X86_GENERIC, "OUTSB"},
+ {X86_GENERIC, "OUTSD"},
+ {X86_GENERIC, "OUTSW"},
+ {X86_GENERIC, "PABSB"},
+ {X86_GENERIC, "PABSD"},
+ {X86_GENERIC, "PABSW"},
+ {X86_GENERIC, "PACKSSDW"},
+ {X86_GENERIC, "PACKSSWB"},
+ {X86_GENERIC, "PACKUSDW"},
+ {X86_GENERIC, "PACKUSWB"},
+ {X86_GENERIC, "PADDB"},
+ {X86_GENERIC, "PADDD"},
+ {X86_GENERIC, "PADDQ"},
+ {X86_GENERIC, "PADDSB"},
+ {X86_GENERIC, "PADDSW"},
+ {X86_GENERIC, "PADDUSB"},
+ {X86_GENERIC, "PADDUSW"},
+ {X86_GENERIC, "PADDW"},
+ {X86_GENERIC, "PALIGNR"},
+ {X86_GENERIC, "PAND"},
+ {X86_GENERIC, "PANDN"},
+ {X86_GENERIC, "PAUSE"},
+ {X86_GENERIC, "PAVGB"},
+ {X86_GENERIC, "PAVGW"},
+ {X86_GENERIC, "PBLENDVB"},
+ {X86_GENERIC, "PBLENDW"},
+ {X86_GENERIC, "PCMPEQB"},
+ {X86_GENERIC, "PCMPEQD"},
+ {X86_GENERIC, "PCMPEQQ"},
+ {X86_GENERIC, "PCMPEQW"},
+ {X86_GENERIC, "PCMPESTRI"},
+ {X86_GENERIC, "PCMPESTRM"},
+ {X86_GENERIC, "PCMPGTB"},
+ {X86_GENERIC, "PCMPGTD"},
+ {X86_GENERIC, "PCMPGTQ"},
+ {X86_GENERIC, "PCMPGTW"},
+ {X86_GENERIC, "PCMPISTRI"},
+ {X86_GENERIC, "PCMPISTRM"},
+ {X86_GENERIC, "PEXTRB"},
+ {X86_GENERIC, "PEXTRD"},
+ {X86_GENERIC, "PEXTRQ"},
+ {X86_GENERIC, "PEXTRW"},
+ {X86_GENERIC, "PHADDD"},
+ {X86_GENERIC, "PHADDSW"},
+ {X86_GENERIC, "PHADDW"},
+ {X86_GENERIC, "PHMINPOSUW"},
+ {X86_GENERIC, "PHSUBD"},
+ {X86_GENERIC, "PHSUBSW"},
+ {X86_GENERIC, "PHSUBW"},
+ {X86_GENERIC, "PINSRB"},
+ {X86_GENERIC, "PINSRD"},
+ {X86_GENERIC, "PINSRQ"},
+ {X86_GENERIC, "PINSRW"},
+ {X86_GENERIC, "PMADDUBSW"},
+ {X86_GENERIC, "PMADDWD"},
+ {X86_GENERIC, "PMAXSB"},
+ {X86_GENERIC, "PMAXSD"},
+ {X86_GENERIC, "PMAXSW"},
+ {X86_GENERIC, "PMAXUB"},
+ {X86_GENERIC, "PMAXUD"},
+ {X86_GENERIC, "PMAXUW"},
+ {X86_GENERIC, "PMINSB"},
+ {X86_GENERIC, "PMINSD"},
+ {X86_GENERIC, "PMINSW"},
+ {X86_GENERIC, "PMINUB"},
+ {X86_GENERIC, "PMINUD"},
+ {X86_GENERIC, "PMINUW"},
+ {X86_GENERIC, "PMOVMSKB"},
+ {X86_GENERIC, "PMOVSXBD"},
+ {X86_GENERIC, "PMOVSXBQ"},
+ {X86_GENERIC, "PMOVSXBW"},
+ {X86_GENERIC, "PMOVSXDQ"},
+ {X86_GENERIC, "PMOVSXWD"},
+ {X86_GENERIC, "PMOVSXWQ"},
+ {X86_GENERIC, "PMOVZXBD"},
+ {X86_GENERIC, "PMOVZXBQ"},
+ {X86_GENERIC, "PMOVZXBW"},
+ {X86_GENERIC, "PMOVZXDQ"},
+ {X86_GENERIC, "PMOVZXWD"},
+ {X86_GENERIC, "PMOVZXWQ"},
+ {X86_GENERIC, "PMULDQ"},
+ {X86_GENERIC, "PMULHRSW"},
+ {X86_GENERIC, "PMULHUW"},
+ {X86_GENERIC, "PMULHW"},
+ {X86_GENERIC, "PMULLD"},
+ {X86_GENERIC, "PMULLW"},
+ {X86_GENERIC, "PMULUDQ"},
+ {X86_GENERIC, "POP"},
+ {X86_GENERIC, "POPA"},
+ {X86_GENERIC, "POPAD"},
+ {X86_GENERIC, "POPCNT"},
+ {X86_GENERIC, "POPF"},
+ {X86_GENERIC, "POPFD"},
+ {X86_GENERIC, "POPFQ"},
+ {X86_GENERIC, "POR"},
+ {X86_GENERIC, "PREFETCHNTA"},
+ {X86_GENERIC, "PREFETCHT0"},
+ {X86_GENERIC, "PREFETCHT1"},
+ {X86_GENERIC, "PREFETCHT2"},
+ {X86_GENERIC, "PSADBW"},
+ {X86_GENERIC, "PSHUFB"},
+ {X86_GENERIC, "PSHUFD"},
+ {X86_GENERIC, "PSHUFHW"},
+ {X86_GENERIC, "PSHUFLW"},
+ {X86_GENERIC, "PSHUFW"},
+ {X86_GENERIC, "PSIGNB"},
+ {X86_GENERIC, "PSIGND"},
+ {X86_GENERIC, "PSIGNW"},
+ {X86_GENERIC, "PSLLD"},
+ {X86_GENERIC, "PSLLDQ"},
+ {X86_GENERIC, "PSLLQ"},
+ {X86_GENERIC, "PSLLW"},
+ {X86_GENERIC, "PSRAD"},
+ {X86_GENERIC, "PSRAW"},
+ {X86_GENERIC, "PSRLD"},
+ {X86_GENERIC, "PSRLDQ"},
+ {X86_GENERIC, "PSRLQ"},
+ {X86_GENERIC, "PSRLW"},
+ {X86_GENERIC, "PSUBB"},
+ {X86_GENERIC, "PSUBD"},
+ {X86_GENERIC, "PSUBQ"},
+ {X86_GENERIC, "PSUBSB"},
+ {X86_GENERIC, "PSUBSW"},
+ {X86_GENERIC, "PSUBUSB"},
+ {X86_GENERIC, "PSUBUSW"},
+ {X86_GENERIC, "PSUBW"},
+ {X86_GENERIC, "PTEST"},
+ {X86_GENERIC, "PUNPCKHBW"},
+ {X86_GENERIC, "PUNPCKHDQ"},
+ {X86_GENERIC, "PUNPCKHQDQ"},
+ {X86_GENERIC, "PUNPCKHWD"},
+ {X86_GENERIC, "PUNPCKLBW"},
+ {X86_GENERIC, "PUNPCKLDQ"},
+ {X86_GENERIC, "PUNPCKLQDQ"},
+ {X86_GENERIC, "PUNPCKLWD"},
+ {X86_GENERIC, "PUSH"},
+ {X86_GENERIC, "PUSHA"},
+ {X86_GENERIC, "PUSHAD"},
+ {X86_GENERIC, "PUSHF"},
+ {X86_GENERIC, "PUSHFD"},
+ {X86_GENERIC, "PUSHFQ"},
+ {X86_GENERIC, "PXOR"},
+ {X86_GENERIC, "RCL"},
+ {X86_GENERIC, "RCPPS"},
+ {X86_GENERIC, "RCPSS"},
+ {X86_GENERIC, "RCR"},
+ {X86_GENERIC, "RDMSR"},
+ {X86_GENERIC, "RDPMC"},
+ {X86_GENERIC, "RDTSC"},
+ {X86_GENERIC, "RDTSCP"},
+ {X86_GENERIC, "REP"},
+ {X86_GENERIC, "REPE"},
+ {X86_GENERIC, "REPNE"},
+ {X86_GENERIC, "REPNZ"},
+ {X86_GENERIC, "REPZ"},
+ {X86_GENERIC, "RETF"},
+ {X86_GENERIC, "RETN"},
+ {X86_GENERIC, "REX"},
+ {X86_GENERIC, "REX.B"},
+ {X86_GENERIC, "REX.R"},
+ {X86_GENERIC, "REX.RB"},
+ {X86_GENERIC, "REX.RX"},
+ {X86_GENERIC, "REX.RXB"},
+ {X86_GENERIC, "REX.W"},
+ {X86_GENERIC, "REX.WB"},
+ {X86_GENERIC, "REX.WR"},
+ {X86_GENERIC, "REX.WRB"},
+ {X86_GENERIC, "REX.WRX"},
+ {X86_GENERIC, "REX.WRXB"},
+ {X86_GENERIC, "REX.WX"},
+ {X86_GENERIC, "REX.WXB"},
+ {X86_GENERIC, "REX.X"},
+ {X86_GENERIC, "REX.XB"},
+ {X86_GENERIC, "ROL"},
+ {X86_GENERIC, "ROR"},
+ {X86_GENERIC, "ROUNDPD"},
+ {X86_GENERIC, "ROUNDPS"},
+ {X86_GENERIC, "ROUNDSD"},
+ {X86_GENERIC, "ROUNDSS"},
+ {X86_GENERIC, "RSM"},
+ {X86_GENERIC, "RSQRTPS"},
+ {X86_GENERIC, "RSQRTSS"},
+ {X86_GENERIC, "SAHF"},
+ {X86_GENERIC, "SAL"},
+ {X86_GENERIC, "SALC"},
+ {X86_GENERIC, "SAR"},
+ {X86_GENERIC, "SBB"},
+ {X86_GENERIC, "SCAS"},
+ {X86_GENERIC, "SCASB"},
+ {X86_GENERIC, "SCASD"},
+ {X86_GENERIC, "SCASQ"},
+ {X86_GENERIC, "SCASW"},
+ {X86_GENERIC, "SETA"},
+ {X86_GENERIC, "SETAE"},
+ {X86_GENERIC, "SETALC"},
+ {X86_GENERIC, "SETB"},
+ {X86_GENERIC, "SETBE"},
+ {X86_GENERIC, "SETC"},
+ {X86_GENERIC, "SETE"},
+ {X86_GENERIC, "SETG"},
+ {X86_GENERIC, "SETGE"},
+ {X86_GENERIC, "SETL"},
+ {X86_GENERIC, "SETLE"},
+ {X86_GENERIC, "SETNA"},
+ {X86_GENERIC, "SETNAE"},
+ {X86_GENERIC, "SETNB"},
+ {X86_GENERIC, "SETNBE"},
+ {X86_GENERIC, "SETNC"},
+ {X86_GENERIC, "SETNE"},
+ {X86_GENERIC, "SETNG"},
+ {X86_GENERIC, "SETNGE"},
+ {X86_GENERIC, "SETNL"},
+ {X86_GENERIC, "SETNLE"},
+ {X86_GENERIC, "SETNO"},
+ {X86_GENERIC, "SETNP"},
+ {X86_GENERIC, "SETNS"},
+ {X86_GENERIC, "SETNZ"},
+ {X86_GENERIC, "SETO"},
+ {X86_GENERIC, "SETP"},
+ {X86_GENERIC, "SETPE"},
+ {X86_GENERIC, "SETPO"},
+ {X86_GENERIC, "SETS"},
+ {X86_GENERIC, "SETZ"},
+ {X86_GENERIC, "SFENCE"},
+ {X86_GENERIC, "SGDT"},
+ {X86_GENERIC, "SHL"},
+ {X86_GENERIC, "SHLD"},
+ {X86_GENERIC, "SHR"},
+ {X86_GENERIC, "SHRD"},
+ {X86_GENERIC, "SHUFPD"},
+ {X86_GENERIC, "SHUFPS"},
+ {X86_GENERIC, "SIDT"},
+ {X86_GENERIC, "SLDT"},
+ {X86_GENERIC, "SMSW"},
+ {X86_GENERIC, "SQRTPD"},
+ {X86_GENERIC, "SQRTPS"},
+ {X86_GENERIC, "SQRTSD"},
+ {X86_GENERIC, "SQRTSS"},
+ {X86_GENERIC, "SS"},
+ {X86_GENERIC, "STC"},
+ {X86_GENERIC, "STD"},
+ {X86_GENERIC, "STI"},
+ {X86_GENERIC, "STMXCSR"},
+ {X86_GENERIC, "STOS"},
+ {X86_GENERIC, "STOSB"},
+ {X86_GENERIC, "STOSD"},
+ {X86_GENERIC, "STOSQ"},
+ {X86_GENERIC, "STOSW"},
+ {X86_GENERIC, "STR"},
+ {X86_GENERIC, "SUB"},
+ {X86_GENERIC, "SUBPD"},
+ {X86_GENERIC, "SUBPS"},
+ {X86_GENERIC, "SUBSD"},
+ {X86_GENERIC, "SUBSS"},
+ {X86_GENERIC, "SWAPGS"},
+ {X86_GENERIC, "SYSCALL"},
+ {X86_GENERIC, "SYSENTER"},
+ {X86_GENERIC, "SYSEXIT"},
+ {X86_GENERIC, "SYSRET"},
+ {X86_GENERIC, "TEST"},
+ {X86_GENERIC, "UCOMISD"},
+ {X86_GENERIC, "UCOMISS"},
+ {X86_GENERIC, "UD2"},
+ {X86_GENERIC, "UNPCKHPD"},
+ {X86_GENERIC, "UNPCKHPS"},
+ {X86_GENERIC, "UNPCKLPD"},
+ {X86_GENERIC, "UNPCKLPS"},
+ {X86_GENERIC, "VERR"},
+ {X86_GENERIC, "VERW"},
+ {X86_GENERIC, "VMCALL"},
+ {X86_GENERIC, "VMCLEAR"},
+ {X86_GENERIC, "VMLAUNCH"},
+ {X86_GENERIC, "VMPTRLD"},
+ {X86_GENERIC, "VMPTRST"},
+ {X86_GENERIC, "VMREAD"},
+ {X86_GENERIC, "VMRESUME"},
+ {X86_GENERIC, "VMWRITE"},
+ {X86_GENERIC, "VMXOFF"},
+ {X86_GENERIC, "VMXON"},
+ {X86_GENERIC, "WAIT"},
+ {X86_GENERIC, "WBINVD"},
+ {X86_GENERIC, "WRMSR"},
+ {X86_GENERIC, "XADD"},
+ {X86_GENERIC, "XCHG"},
+ {X86_GENERIC, "XGETBV"},
+ {X86_GENERIC, "XLAT"},
+ {X86_GENERIC, "XLATB"},
+ {X86_GENERIC, "XOR"},
+ {X86_GENERIC, "XORPD"},
+ {X86_GENERIC, "XORPS"},
+ {X86_GENERIC, "XRSTOR"},
+ {X86_GENERIC, "XSAVE"},
+ {X86_GENERIC, "XSETBV"},
+ {0, 0}
+};