]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
paddq and psubq support.
authorAlan Modra <amodra@gmail.com>
Thu, 22 Mar 2001 03:42:20 +0000 (03:42 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 22 Mar 2001 03:42:20 +0000 (03:42 +0000)
include/opcode/ChangeLog
include/opcode/i386.h
opcodes/ChangeLog
opcodes/i386-dis.c

index cff7d202d6e4055cb4f531d8028945ed81180136..e8311b6e083ca97f0498ef34f336f8f9996ee18c 100644 (file)
@@ -1,3 +1,7 @@
+2001-03-22  Alan Modra  <alan@linuxcare.com.au>
+
+       * i386.h (i386_optab): Add paddq, psubq.
+
 2001-03-19  Alan Modra  <alan@linuxcare.com.au>
 
        * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
index 24c38971c81be2551cb55f113833744d3c16fea7..44d92aeff8750f715038dcacb966a089b858762d 100644 (file)
@@ -1,6 +1,7 @@
 /* opcode/i386.h -- Intel 80386 opcode table
-   Copyright 1989, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
-   Free Software Foundation.
+   Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2000, 2001
+   Free Software Foundation, Inc.
 
 This file is part of GAS, the GNU Assembler, and GDB, the GNU Debugger.
 
@@ -992,6 +993,8 @@ static const template i386_optab[] = {
 {"paddw",    2, 0x660ffd,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
 {"paddd",    2, 0x0ffe, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, RegMMX, 0 } },
 {"paddd",    2, 0x660ffe,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
+{"paddq",    2, 0x0fd4, X, CpuMMX, FP|Modrm,           { RegMMX|LLongMem, RegMMX, 0 } },
+{"paddq",    2, 0x660fd4,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
 {"paddsb",   2, 0x0fec, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, RegMMX, 0 } },
 {"paddsb",   2, 0x660fec,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
 {"paddsw",   2, 0x0fed, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, RegMMX, 0 } },
@@ -1062,6 +1065,8 @@ static const template i386_optab[] = {
 {"psubw",    2, 0x660ff9,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
 {"psubd",    2, 0x0ffa, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, RegMMX, 0 } },
 {"psubd",    2, 0x660ffa,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
+{"psubq",    2, 0x0ffb, X, CpuMMX, FP|Modrm,           { RegMMX|LLongMem, RegMMX, 0 } },
+{"psubq",    2, 0x660ffb,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
 {"psubsb",   2, 0x0fe8, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, RegMMX, 0 } },
 {"psubsb",   2, 0x660fe8,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, RegXMM, 0 } },
 {"psubsw",   2, 0x0fe9, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, RegMMX, 0 } },
index 8500e0494fe9cee25fea5a5c6027ffa294132679..8112f1e17342f4304093b1d62bbf12e9a9fafa07 100644 (file)
@@ -1,3 +1,9 @@
+2001-03-22  Alan Modra  <alan@linuxcare.com.au>
+
+       * i386-dis.c (dis386_twobyte_att): Add entries for paddq, psubq.
+       (dis386_twobyte_intel): Likewise.
+       (twobyte_has_modrm): Set entry for paddq, psubq.
+
 2001-03-19  Jim Wilson  <wilson@redhat.com>
 
        * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and
index c3f33bc7e7efe1039f5083f601386a94df43a329..399d61cb4df7f71df09f84cc86ca2ced64d9a073 100644 (file)
@@ -1,5 +1,6 @@
 /* Print i386 instructions for GDB, the GNU debugger.
-   Copyright (C) 1988, 89, 91, 93, 94, 95, 96, 97, 98, 1999
+   Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+   2001
    Free Software Foundation, Inc.
 
 This file is part of GDB.
@@ -1853,7 +1854,7 @@ static const struct dis386 dis386_twobyte_att[] = {
   { "psrlw", MX, EM, XX },
   { "psrld", MX, EM, XX },
   { "psrlq", MX, EM, XX },
-  { "(bad)", XX, XX, XX },
+  { "paddq", MX, EM, XX },
   { "pmullw", MX, EM, XX },
   { PREGRP21 },
   { "pmovmskb", Ev, MX, XX },
@@ -1897,7 +1898,7 @@ static const struct dis386 dis386_twobyte_att[] = {
   { "psubb", MX, EM, XX },
   { "psubw", MX, EM, XX },
   { "psubd", MX, EM, XX },
-  { "(bad)", XX, XX, XX },
+  { "psubq", MX, EM, XX },
   { "paddb", MX, EM, XX },
   { "paddw", MX, EM, XX },
   { "paddd", MX, EM, XX },
@@ -2145,7 +2146,7 @@ static const struct dis386 dis386_twobyte_intel[] = {
   { "psrlw", MX, EM, XX },
   { "psrld", MX, EM, XX },
   { "psrlq", MX, EM, XX },
-  { "(bad)", XX, XX, XX },
+  { "paddq", MX, EM, XX },
   { "pmullw", MX, EM, XX },
   { PREGRP21 },
   { "pmovmskb", Ev, MX, XX },
@@ -2189,7 +2190,7 @@ static const struct dis386 dis386_twobyte_intel[] = {
   { "psubb", MX, EM, XX },
   { "psubw", MX, EM, XX },
   { "psubd", MX, EM, XX },
-  { "(bad)", XX, XX, XX },
+  { "psubq", MX, EM, XX },
   { "paddb", MX, EM, XX },
   { "paddw", MX, EM, XX },
   { "paddd", MX, EM, XX },
@@ -2235,9 +2236,9 @@ static const unsigned char twobyte_has_modrm[256] = {
   /* a0 */ 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1, /* af */
   /* b0 */ 1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1, /* bf */
   /* c0 */ 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, /* cf */
-  /* d0 */ 0,1,1,1,0,1,0,1,1,1,1,1,1,1,1,1, /* df */
+  /* d0 */ 0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1, /* df */
   /* e0 */ 1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1, /* ef */
-  /* f0 */ 0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0  /* ff */
+  /* f0 */ 0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0  /* ff */
   /*       -------------------------------        */
   /*       0 1 2 3 4 5 6 7 8 9 a b c d e f        */
 };