]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
x86: RMPUPDATE wants operands in different form
authorJan Beulich <jbeulich@suse.com>
Fri, 31 Jan 2025 09:05:36 +0000 (10:05 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 31 Jan 2025 09:05:36 +0000 (10:05 +0100)
commit4612bba098b1099b52a3285b06e708f1ab6ca8ab
tree22a7aee8ac92451151679fd31ab8e74abe8f47b0
parent36fa5275c164c3eea585ff0a5aaefc235a18b298
x86: RMPUPDATE wants operands in different form

AMD are about to update their doc, to help clarify that what we
currently do isn't quite right: In particular it is not %rax but %rcx
which is affected by address size. In fact, that's a normal memory
operand, just not expressed via ModR/M byte, but fixed to (%rcx) (or
(%ecx) with 32-bit addressing).

To support this in the assembler, generalize memory operand handling so
far specific to XLAT (which isn't really a string insn, but requires its
memory operand to be (%bx) / (%ebx) / (%rbx)).

In the disassembler mimic handling after XLAT's, too.
gas/config/tc-i386.c
gas/testsuite/gas/i386/snp.s
gas/testsuite/gas/i386/snp64.d
gas/testsuite/gas/i386/x86-64-arch-4.d
opcodes/i386-dis.c
opcodes/i386-opc.tbl
opcodes/i386-tbl.h