2006-12-09 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 10 Dec 2006 02:50:53 +0000 (02:50 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 10 Dec 2006 02:50:53 +0000 (02:50 +0000)
* i386-dis.c (X86_64_1): New.
(X86_64_2): Likewise.
(X86_64_3): Likewise.
(dis386): Replace 0x60, 0x61 and 0x62 entries with x86-64
tables.
(x86_64_table): Add entries for 0x60, 0x61 and 0x62.

opcodes/ChangeLog
opcodes/i386-dis.c

index d46f44103fa017b243bcbebfaf9430136c6b0365..7a9ee7f9fcf627c9b99bfd0a2ecec0b4e6ca127d 100644 (file)
@@ -1,3 +1,12 @@
+2006-12-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * i386-dis.c (X86_64_1): New.
+       (X86_64_2): Likewise.
+       (X86_64_3): Likewise.
+       (dis386): Replace 0x60, 0x61 and 0x62 entries with x86-64
+       tables.
+       (x86_64_table): Add entries for 0x60, 0x61 and 0x62.
+
 2006-12-09  H.J. Lu  <hongjiu.lu@intel.com>
 
        * i386-dis.c: Adjust white spaces.
index 7d80f68f57731c0592bc9110726bf9502666db67..1ea683fc7fed3a7982b1f5325c2ad14264da8b42 100644 (file)
@@ -479,6 +479,9 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 
 
 #define X86_64_0  NULL, NULL, X86_64_SPECIAL, NULL, 0, NULL, 0, NULL, 0
+#define X86_64_1  NULL, NULL, X86_64_SPECIAL, NULL, 1, NULL, 0, NULL, 0
+#define X86_64_2  NULL, NULL, X86_64_SPECIAL, NULL, 2, NULL, 0, NULL, 0
+#define X86_64_3  NULL, NULL, X86_64_SPECIAL, NULL, 3, NULL, 0, NULL, 0
 
 #define THREE_BYTE_0 NULL, NULL, IS_3BYTE_OPCODE, NULL, 0, NULL, 0, NULL, 0
 #define THREE_BYTE_1 NULL, NULL, IS_3BYTE_OPCODE, NULL, 1, NULL, 0, NULL, 0
@@ -647,10 +650,10 @@ static const struct dis386 dis386[] = {
   { "popV",            RMrSI, XX, XX, XX },
   { "popV",            RMrDI, XX, XX, XX },
   /* 60 */
-  { "pusha{P|}",       XX, XX, XX, XX },
-  { "popa{P|}",                XX, XX, XX, XX },
-  { "bound{S|}",       Gv, Ma, XX, XX },
   { X86_64_0 },
+  { X86_64_1 },
+  { X86_64_2 },
+  { X86_64_3 },
   { "(bad)",           XX, XX, XX, XX },       /* seg fs */
   { "(bad)",           XX, XX, XX, XX },       /* seg gs */
   { "(bad)",           XX, XX, XX, XX },       /* op size prefix */
@@ -2030,8 +2033,20 @@ static const struct dis386 prefix_user_table[][4] = {
 
 static const struct dis386 x86_64_table[][2] = {
   {
-    { "arpl", Ew, Gw, XX, XX },
-    { "movs{||lq|xd}", Gv, Ed, XX, XX },
+    { "pusha{P|}",     XX, XX, XX, XX },
+    { "(bad)",         XX, XX, XX, XX },
+  },
+  {
+    { "popa{P|}",      XX, XX, XX, XX },
+    { "(bad)",         XX, XX, XX, XX },
+  },
+  {
+    { "bound{S|}",     Gv, Ma, XX, XX },
+    { "(bad)",         XX, XX, XX, XX },
+  },
+  {
+    { "arpl",          Ew, Gw, XX, XX },
+    { "movs{||lq|xd}", Gv, Ed, XX, XX },
   },
 };