[PATCH 6/8] x86: re-number PREFIX_0X<nn>
Jan Beulich
jbeulich@suse.com
Mon Mar 22 16:45:30 GMT 2021
In preparation to use PREFIX_0X<nn> attributes also in VEX/XOP/EVEX
encoding templates, renumber the pseudo-enumerators such that their
values can then also be used directly in the respective prefix bit
fields.
gas/
2021-03-XX Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (pte): Re-order opc_pfx[] entries.
opcodes/
2021-03-XX Jan Beulich <jbeulich@suse.com>
* i386-opc.h (PREFIX_0XF2, PREFIX_0XF3): Excahnge values. Extend
comment.
* i386-tbl.h: Re-generate.
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -3239,7 +3239,7 @@ pi (const char *line, i386_insn *x)
static void
pte (insn_template *t)
{
- static const unsigned char opc_pfx[] = { 0, 0x66, 0xf2, 0xf3 };
+ static const unsigned char opc_pfx[] = { 0, 0x66, 0xf3, 0xf2 };
static const char *const opc_spc[] = {
NULL, "0f", "0f38", "0f3a", NULL, NULL, NULL, NULL,
"XOP08", "XOP09", "XOP0A",
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -593,16 +593,17 @@ enum
#define SPACE_XOP09 9
#define SPACE_XOP0A 0xA
OpcodeSpace,
- /* Opcode prefix:
+ /* Opcode prefix (values chosen to be usable directly in
+ VEX/XOP/EVEX pp fields):
0: None
1: Add 0x66 opcode prefix.
- 2: Add 0xf2 opcode prefix.
- 3: Add 0xf3 opcode prefix.
+ 2: Add 0xf3 opcode prefix.
+ 3: Add 0xf2 opcode prefix.
*/
#define PREFIX_NONE 0
#define PREFIX_0X66 1
-#define PREFIX_0XF2 2
-#define PREFIX_0XF3 3
+#define PREFIX_0XF3 2
+#define PREFIX_0XF2 3
OpcodePrefix,
/* number of VEX source operands:
0: <= 2 source operands.
More information about the Binutils
mailing list