x86: support some tricky instructions
- NOP instructions with encoding 0f {19-1f}. see http://code.google.com/p/corkami/wiki/x86oddities?show=content
- TEST instructions with opcode 0xF6, 0xF7 (MRM1m)
- Fix arithmetic instructions with opcode 0x82: only available in Non64bit mode
diff --git a/arch/X86/X86GenAsmWriter1.inc b/arch/X86/X86GenAsmWriter1.inc
index 0e9aed6..6f0ed55 100644
--- a/arch/X86/X86GenAsmWriter1.inc
+++ b/arch/X86/X86GenAsmWriter1.inc
@@ -7,7 +7,7 @@
\*===----------------------------------------------------------------------===*/
/* Capstone Disassembly Engine, http://www.capstone-engine.org */
-/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> */
+/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014 */
/// printInstruction - This method is automatically generated by tablegen
/// from the instruction set description.
@@ -1841,7 +1841,19 @@
22067U, // NEG8r
12285U, // NOOP
71849U, // NOOPL
+ 71849U, // NOOPL_19
+ 71849U, // NOOPL_1a
+ 71849U, // NOOPL_1b
+ 71849U, // NOOPL_1c
+ 71849U, // NOOPL_1d
+ 71849U, // NOOPL_1e
39081U, // NOOPW
+ 39081U, // NOOPW_19
+ 39081U, // NOOPW_1a
+ 39081U, // NOOPW_1b
+ 39081U, // NOOPW_1c
+ 39081U, // NOOPW_1d
+ 39081U, // NOOPW_1e
41272U, // NOT16m
24888U, // NOT16r
74040U, // NOT32m
@@ -2867,6 +2879,7 @@
135291260U, // TEST16rr
26317U, // TEST32i32
1122684U, // TEST32mi
+ 1122684U, // TEST32mi_alt
135291260U, // TEST32ri
101736828U, // TEST32rm
135291260U, // TEST32rr
@@ -2877,6 +2890,7 @@
135291260U, // TEST64rr
26037U, // TEST8i8
1155452U, // TEST8mi
+ 1155452U, // TEST8mi_alt
135291260U, // TEST8ri
0U, // TEST8ri_NOREX
504390012U, // TEST8rm
@@ -7257,7 +7271,19 @@
0U, // NEG8r
0U, // NOOP
0U, // NOOPL
+ 0U, // NOOPL_19
+ 0U, // NOOPL_1a
+ 0U, // NOOPL_1b
+ 0U, // NOOPL_1c
+ 0U, // NOOPL_1d
+ 0U, // NOOPL_1e
0U, // NOOPW
+ 0U, // NOOPW_19
+ 0U, // NOOPW_1a
+ 0U, // NOOPW_1b
+ 0U, // NOOPW_1c
+ 0U, // NOOPW_1d
+ 0U, // NOOPW_1e
0U, // NOT16m
0U, // NOT16r
0U, // NOT32m
@@ -8283,6 +8309,7 @@
0U, // TEST16rr
0U, // TEST32i32
0U, // TEST32mi
+ 0U, // TEST32mi_alt
0U, // TEST32ri
0U, // TEST32rm
0U, // TEST32rr
@@ -8293,6 +8320,7 @@
0U, // TEST64rr
0U, // TEST8i8
0U, // TEST8mi
+ 0U, // TEST8mi_alt
0U, // TEST8ri
0U, // TEST8ri_NOREX
0U, // TEST8rm
@@ -12127,6 +12155,7 @@
SStream_concat(O, "%s", AsmStrs+(Bits & 16383)-1);
#endif
+
// Fragment 0 encoded into 6 bits for 45 unique commands.
//printf("Frag-0: %"PRIu64"\n", (Bits >> 14) & 63);
switch ((Bits >> 14) & 63) {