From e5470cdc92ed9cc52c7cd065c3def567e61c6f0a Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 13 Nov 2001 01:03:55 +0000 Subject: [PATCH] * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to accept WordReg. * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand category instead of Ew. --- include/opcode/ChangeLog | 6 ++++++ include/opcode/i386.h | 9 ++++++--- opcodes/ChangeLog | 6 ++++++ opcodes/i386-dis.c | 6 +++--- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 78beed77c5..fab2053551 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,9 @@ +2001-11-13 Zack Weinberg + Alan Modra + + * i386.h (i386_optab): Add entries for "sldr", "smsw" and "str" to + accept WordReg. + 2001-11-04 Chris Demetriou * mips.h (OPCODE_IS_MEMBER): Remove extra space. diff --git a/include/opcode/i386.h b/include/opcode/i386.h index 38de44aca0..571990e1be 100644 --- a/include/opcode/i386.h +++ b/include/opcode/i386.h @@ -553,9 +553,12 @@ static const template i386_optab[] = { {"sgdt", 1, 0x0f01, 0, Cpu286, wlq_Suf|Modrm, { WordMem, 0, 0} }, {"sidt", 1, 0x0f01, 1, Cpu286, wlq_Suf|Modrm, { WordMem, 0, 0} }, -{"sldt", 1, 0x0f00, 0, Cpu286, wlq_Suf|Modrm, { WordReg|WordMem, 0, 0} }, -{"smsw", 1, 0x0f01, 4, Cpu286, wlq_Suf|Modrm, { WordReg|WordMem, 0, 0} }, -{"str", 1, 0x0f00, 1, Cpu286, w_Suf|Modrm|IgnoreSize,{ Reg16|ShortMem, 0, 0} }, +{"sldt", 1, 0x0f00, 0, Cpu286, wlq_Suf|Modrm, { WordReg|InvMem, 0, 0} }, +{"sldt", 1, 0x0f00, 0, Cpu286, w_Suf|Modrm|IgnoreSize,{ ShortMem, 0, 0} }, +{"smsw", 1, 0x0f01, 4, Cpu286, wlq_Suf|Modrm, { WordReg|InvMem, 0, 0} }, +{"smsw", 1, 0x0f01, 4, Cpu286, w_Suf|Modrm|IgnoreSize,{ ShortMem, 0, 0} }, +{"str", 1, 0x0f00, 1, Cpu286, wlq_Suf|Modrm, { WordReg|InvMem, 0, 0} }, +{"str", 1, 0x0f00, 1, Cpu286, w_Suf|Modrm|IgnoreSize,{ ShortMem, 0, 0} }, {"verr", 1, 0x0f00, 4, Cpu286, w_Suf|Modrm|IgnoreSize,{ Reg16|ShortMem, 0, 0} }, {"verw", 1, 0x0f00, 5, Cpu286, w_Suf|Modrm|IgnoreSize,{ Reg16|ShortMem, 0, 0} }, diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 8ca74e29bf..1afccaca72 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2001-11-13 Zack Weinberg + + * i386-dis.c (grps): Change "sldt", "str", and "smsw" entries + to "sldtQ", "strQ", "smswQ" respectively; all with Ev operand + category instead of Ew. + 2001-11-12 Niraj Gupta * m68k-opc.c: Fix definitions of wddata[bwl]. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 3eb40c6df7..9a16d5263d 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1337,8 +1337,8 @@ static const struct dis386 grps[][8] = { }, /* GRP6 */ { - { "sldt", Ew, XX, XX }, - { "str", Ew, XX, XX }, + { "sldtQ", Ev, XX, XX }, + { "strQ", Ev, XX, XX }, { "lldt", Ew, XX, XX }, { "ltr", Ew, XX, XX }, { "verr", Ew, XX, XX }, @@ -1352,7 +1352,7 @@ static const struct dis386 grps[][8] = { { "sidtQ", M, XX, XX }, { "lgdtQ", M, XX, XX }, { "lidtQ", M, XX, XX }, - { "smsw", Ew, XX, XX }, + { "smswQ", Ev, XX, XX }, { "(bad)", XX, XX, XX }, { "lmsw", Ew, XX, XX }, { "invlpg", Ew, XX, XX }, -- 2.34.1