mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
x86: fix register check in check_qword_reg()
A missing 'r' (or wrong 'e') register prefix needs to be complained about if the template allows for a 64-bit register, not a 32-bit one. I assume this was a copy-and-paste type of mistake (from check_long_reg()).
This commit is contained in:
parent
13cdc2afb7
commit
33d0ab9548
@ -1,3 +1,12 @@
|
||||
2016-07-04 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* config/tc-i386.c (check_qword_reg): Correct register kind
|
||||
checked.
|
||||
* testsuite/gas/i386/x86-64-suffix-bad.s: Add q-suffix with
|
||||
16-bit register cases.
|
||||
* testsuite/gas/i386/x86-64-suffix-bad.l: Adjust expectations.
|
||||
|
||||
|
||||
2016-07-02 Maciej W. Rozycki <macro@imgtec.com>
|
||||
|
||||
* testsuite/gas/mips/ecoff@ld.d: Remove test.
|
||||
|
@ -5670,7 +5670,7 @@ check_qword_reg (void)
|
||||
/* Warn if the r prefix on a general reg is missing. */
|
||||
else if ((i.types[op].bitfield.reg16
|
||||
|| i.types[op].bitfield.reg32)
|
||||
&& (i.tm.operand_types[op].bitfield.reg32
|
||||
&& (i.tm.operand_types[op].bitfield.reg64
|
||||
|| i.tm.operand_types[op].bitfield.acc))
|
||||
{
|
||||
/* Prohibit these changes in the 64bit mode, since the
|
||||
|
@ -11,3 +11,7 @@
|
||||
.*:15: Error: .*
|
||||
.*:16: Error: .*
|
||||
.*:17: Error: .*
|
||||
.*:19: Error: .*
|
||||
.*:20: Error: .*
|
||||
.*:21: Error: .*
|
||||
.*:22: Error: .*
|
||||
|
@ -15,3 +15,8 @@ start:
|
||||
orb %rax, (%rax)
|
||||
orw %rax, (%rax)
|
||||
orl %rax, (%rax)
|
||||
|
||||
pushq %ax
|
||||
popq %ax
|
||||
callq *%ax
|
||||
jmpq *%ax
|
||||
|
Loading…
Reference in New Issue
Block a user