aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-07-02 06:30:00 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-07-02 08:46:48 -0700
commitc2ecccb33c307faa21f4d2f47348e7346b032d94 (patch)
treebbf59bb652aa85aa0f254538e6054db5117c51d0 /opcodes/i386-gen.c
parentf436f38e7dff19b0d80bf62a58edd98697242108 (diff)
downloadgdb-c2ecccb33c307faa21f4d2f47348e7346b032d94.zip
gdb-c2ecccb33c307faa21f4d2f47348e7346b032d94.tar.gz
gdb-c2ecccb33c307faa21f4d2f47348e7346b032d94.tar.bz2
x86: Add SwapSources
We check register-only source operand to decide if two source operands of VEX encoded instructions should be swapped. But source operands in AMX instructions with two source operands swapped are all register-only operand. Add SwapSources to indicate two source operands should be swapped. gas/ * config/tc-i386.c (build_modrm_byte): Check vexswapsources to swap two source operands. opcodes/ * i386-gen.c (opcode_modifiers): Add VexSwapSources. * i386-opc.h (VexSwapSources): New. (i386_opcode_modifier): Add vexswapsources. * i386-opc.tbl: Add VexSwapSources to BMI2 and BMI instructions with two source operands swapped. * i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index e7454db..7230f8734 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -676,6 +676,7 @@ static bitfield opcode_modifiers[] =
BITFIELD (Disp8MemShift),
BITFIELD (NoDefMask),
BITFIELD (ImplicitQuadGroup),
+ BITFIELD (SwapSources),
BITFIELD (Optimize),
BITFIELD (ATTMnemonic),
BITFIELD (ATTSyntax),