[PATCH] x86/APX: fix disassembly of byte register operands

Jan Beulich jbeulich@suse.com
Tue Jun 18 14:15:45 GMT 2024


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.

--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -9005,6 +9005,7 @@ get_valid_dis386 (const struct dis386 *d
 	  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;


More information about the Binutils mailing list