diff options
author | Jan Beulich <jbeulich@suse.com> | 2024-06-21 08:36:03 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2024-06-21 08:36:03 +0200 |
commit | 87860ef6f4650d513530af4cb4e3e85a863139cf (patch) | |
tree | 028affe87a8289d38dc889ae3bf6cfc7ea77440f | |
parent | 8bcda53caab0308b5908dda68194ab5e3e2dd09d (diff) | |
download | binutils-87860ef6f4650d513530af4cb4e3e85a863139cf.zip binutils-87860ef6f4650d513530af4cb4e3e85a863139cf.tar.gz binutils-87860ef6f4650d513530af4cb4e3e85a863139cf.tar.bz2 |
x86/APX: fix disassembly of byte register operands
Like for REX/REX2, EVEX-prefixed insns access the low bytes of all
registers; %ah...%bh are inaccessible. Reflect this correctly in output,
by leveraging REX machinery we already have to this effect.
-rw-r--r-- | opcodes/i386-dis.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 3a1afcc..9c5063e 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -9004,6 +9004,7 @@ get_valid_dis386 (const struct dis386 *dp, instr_info *ins) ins->evex_type = evex_from_legacy; if (ins->address_mode != mode_64bit) return &bad_opcode; + ins->rex |= REX_OPCODE; break; case 0x5: vex_table_index = EVEX_MAP5; |