From: Alan Modra Date: Thu, 22 Mar 2001 03:42:20 +0000 (+0000) Subject: paddq and psubq support. X-Git-Tag: binutils-2_11~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=787cd6781ac0b5ca03d5915a4fa6ff10605965a5;p=thirdparty%2Fbinutils-gdb.git paddq and psubq support. --- diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index cff7d202d6e..e8311b6e083 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,7 @@ +2001-03-22 Alan Modra + + * i386.h (i386_optab): Add paddq, psubq. + 2001-03-19 Alan Modra * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define. diff --git a/include/opcode/i386.h b/include/opcode/i386.h index 24c38971c81..44d92aeff87 100644 --- a/include/opcode/i386.h +++ b/include/opcode/i386.h @@ -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 } }, diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 8500e0494fe..8112f1e1734 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2001-03-22 Alan Modra + + * 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 * ia64-gen.c (fetch_insn_class): If xsect, then ignore comment and diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index c3f33bc7e7e..399d61cb4df 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -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 */ };