paddq and psubq support.

This commit is contained in:
Alan Modra 2001-03-22 02:27:54 +00:00
parent c26e1c2b79
commit 87890af05c
4 changed files with 20 additions and 6 deletions

View 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.

View file

@ -993,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 } },
@ -1063,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 } },

View 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-20 Patrick Macdonald <patrickm@redhat.com>
* cgen-dis.in (print_insn_@arch@): Add support for target machine

View file

@ -1854,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 },
@ -1898,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 },
@ -2146,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 },
@ -2190,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 },
@ -2236,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 */
};