aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-i386.c9
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/i386.h3
4 files changed, 18 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3f41a18..054e911 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-03-19 Alan Modra <alan@linuxcare.com.au>
+
+ * config/tc-i386.c (md_assemble <REGISTER_WARNINGS>): Correct
+ used register name.
+
2001-03-18 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* config/tc-m68hc11.c (md_pseudo_table): Recognize xrefb to comply
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 74e5e13..585aa8d 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -1996,7 +1996,10 @@ md_assemble (line)
if (!quiet_warnings
&& (i.tm.operand_types[op] & InOutPortReg) == 0)
as_warn (_("using `%%%s' instead of `%%%s' due to `%c' suffix"),
- (i.op[op].regs - (i.types[op] & Reg16 ? 8 : 16))->reg_name,
+ (i.op[op].regs
+ + (i.types[op] & Reg16
+ ? REGNAM_AL - REGNAM_AX
+ : REGNAM_AL - REGNAM_EAX))->reg_name,
i.op[op].regs->reg_name,
i.suffix);
#endif
@@ -2046,7 +2049,7 @@ md_assemble (line)
#if REGISTER_WARNINGS
else
as_warn (_("using `%%%s' instead of `%%%s' due to `%c' suffix"),
- (i.op[op].regs + 8)->reg_name,
+ (i.op[op].regs + REGNAM_EAX - REGNAM_AX)->reg_name,
i.op[op].regs->reg_name,
i.suffix);
#endif
@@ -2117,7 +2120,7 @@ md_assemble (line)
else
#if REGISTER_WARNINGS
as_warn (_("using `%%%s' instead of `%%%s' due to `%c' suffix"),
- (i.op[op].regs - 8)->reg_name,
+ (i.op[op].regs + REGNAM_AX - REGNAM_EAX)->reg_name,
i.op[op].regs->reg_name,
i.suffix);
#endif
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index ce26821..eef5c4d 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-19 Alan Modra <alan@linuxcare.com.au>
+
+ * i386.h (REGNAM_AL, REGNAM_AX, REGNAM_EAX): Define.
+
2001-02-28 Igor Shevlyakov <igor@windriver.com>
* m68k.h: new defines for Coldfire V4. Update mcf to know
diff --git a/include/opcode/i386.h b/include/opcode/i386.h
index 1af44fb..f480dd4 100644
--- a/include/opcode/i386.h
+++ b/include/opcode/i386.h
@@ -1340,6 +1340,7 @@ static const reg_entry i386_regtab[] = {
/* make %st first as we test for it */
{"st", FloatReg|FloatAcc, 0, 0},
/* 8 bit regs */
+#define REGNAM_AL 1 /* Entry in i386_regtab. */
{"al", Reg8|Acc, 0, 0},
{"cl", Reg8|ShiftCount, 0, 1},
{"dl", Reg8, 0, 2},
@@ -1365,6 +1366,7 @@ static const reg_entry i386_regtab[] = {
{"r14b", Reg8, RegRex64|RegRex, 6},
{"r15b", Reg8, RegRex64|RegRex, 7},
/* 16 bit regs */
+#define REGNAM_AX 25
{"ax", Reg16|Acc, 0, 0},
{"cx", Reg16, 0, 1},
{"dx", Reg16|InOutPortReg, 0, 2},
@@ -1382,6 +1384,7 @@ static const reg_entry i386_regtab[] = {
{"r14w", Reg16, RegRex, 6},
{"r15w", Reg16, RegRex, 7},
/* 32 bit regs */
+#define REGNAM_EAX 41
{"eax", Reg32|BaseIndex|Acc, 0, 0}, /* Must be in ax + 16 slot */
{"ecx", Reg32|BaseIndex, 0, 1},
{"edx", Reg32|BaseIndex, 0, 2},