2006-07-15 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 15 Jul 2006 16:33:24 +0000 (16:33 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 15 Jul 2006 16:33:24 +0000 (16:33 +0000)
PR binutils/2829
* i386-dis.c (GRP11_C6): NEW.
(GRP11_C7): Likewise.
(GRP12): Updated.
(GRP13): Likewise.
(GRP14): Likewise.
(GRP15): Likewise.
(GRP16): Likewise.
(GRPAMD): Likewise.
(GRPPADLCK1): Likewise.
(GRPPADLCK2): Likewise.
(dis386): Use GRP11_C6 and GRP11_C7 for entres 0xc6 and 0xc7,
respectively.
(grps): Add entries for GRP11_C6 and GRP11_C7.

opcodes/i386-dis.c

index 6f5ac41b2f72c9d8bf1da54784f1922076be67dd..66b2d9542942ab1142998469e416ddacd2476380 100644 (file)
@@ -419,14 +419,16 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
 #define GRP7     NULL, NULL, USE_GROUPS, NULL, 14, NULL, 0, NULL, 0
 #define GRP8     NULL, NULL, USE_GROUPS, NULL, 15, NULL, 0, NULL, 0
 #define GRP9     NULL, NULL, USE_GROUPS, NULL, 16, NULL, 0, NULL, 0
-#define GRP12    NULL, NULL, USE_GROUPS, NULL, 17, NULL, 0, NULL, 0
-#define GRP13    NULL, NULL, USE_GROUPS, NULL, 18, NULL, 0, NULL, 0
-#define GRP14    NULL, NULL, USE_GROUPS, NULL, 19, NULL, 0, NULL, 0
-#define GRP15    NULL, NULL, USE_GROUPS, NULL, 20, NULL, 0, NULL, 0
-#define GRP16    NULL, NULL, USE_GROUPS, NULL, 21, NULL, 0, NULL, 0
-#define GRPAMD   NULL, NULL, USE_GROUPS, NULL, 22, NULL, 0, NULL, 0
-#define GRPPADLCK1 NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0, NULL, 0
-#define GRPPADLCK2 NULL, NULL, USE_GROUPS, NULL, 24, NULL, 0, NULL, 0
+#define GRP11_C6         NULL, NULL, USE_GROUPS, NULL, 17, NULL, 0, NULL, 0
+#define GRP11_C7         NULL, NULL, USE_GROUPS, NULL, 18, NULL, 0, NULL, 0
+#define GRP12    NULL, NULL, USE_GROUPS, NULL, 19, NULL, 0, NULL, 0
+#define GRP13    NULL, NULL, USE_GROUPS, NULL, 20, NULL, 0, NULL, 0
+#define GRP14    NULL, NULL, USE_GROUPS, NULL, 21, NULL, 0, NULL, 0
+#define GRP15    NULL, NULL, USE_GROUPS, NULL, 22, NULL, 0, NULL, 0
+#define GRP16    NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0, NULL, 0
+#define GRPAMD   NULL, NULL, USE_GROUPS, NULL, 24, NULL, 0, NULL, 0
+#define GRPPADLCK1 NULL, NULL, USE_GROUPS, NULL, 25, NULL, 0, NULL, 0
+#define GRPPADLCK2 NULL, NULL, USE_GROUPS, NULL, 26, NULL, 0, NULL, 0
 
 #define PREGRP0   NULL, NULL, USE_PREFIX_USER_TABLE, NULL,  0, NULL, 0, NULL, 0
 #define PREGRP1   NULL, NULL, USE_PREFIX_USER_TABLE, NULL,  1, NULL, 0, NULL, 0
@@ -746,8 +748,8 @@ static const struct dis386 dis386[] = {
   { "retT",            XX, XX, XX, XX },
   { "les{S|}",         Gv, Mp, XX, XX },
   { "ldsS",            Gv, Mp, XX, XX },
-  { "movA",            Eb, Ib, XX, XX },
-  { "movQ",            Ev, Iv, XX, XX },
+  { GRP11_C6 },
+  { GRP11_C7 },
   /* c8 */
   { "enterT",          Iw, Ib, XX, XX },
   { "leaveT",          XX, XX, XX, XX },
@@ -1438,6 +1440,28 @@ static const struct dis386 grps[][8] = {
     { "",      VM, XX, XX, XX },               /* See OP_VMX.  */
     { "vmptrst", Eq, XX, XX, XX },
   },
+  /* GRP11_C6 */
+  {
+    { "movA",  Eb, Ib, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+  },
+  /* GRP11_C7 */
+  {
+    { "movQ",  Ev, Iv, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+    { "(bad)", XX, XX, XX, XX },
+  },
   /* GRP12 */
   {
     { "(bad)", XX, XX, XX, XX },