diff options
author | Alan Modra <amodra@bigpond.net.au> | 2001-03-22 03:42:20 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2001-03-22 03:42:20 +0000 |
commit | 7595ad6e127d8c456f4891099d9893dd02499edc (patch) | |
tree | 8fdd25a259fc069c9601a687569876a5947b73e9 | |
parent | 6d18ef37f9ba52b47c1ab28fef6b5bb8b06b7820 (diff) | |
download | gdb-7595ad6e127d8c456f4891099d9893dd02499edc.tar.gz |
paddq and psubq support.
-rw-r--r-- | include/opcode/ChangeLog | 4 | ||||
-rw-r--r-- | include/opcode/i386.h | 9 | ||||
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 15 |
4 files changed, 25 insertions, 9 deletions
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 <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. 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 <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 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 */ }; |