diff options
author | Jan Beulich <jbeulich@suse.com> | 2022-11-14 17:10:14 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2022-11-14 17:10:14 +0100 |
commit | 255571cdbf05213cc96feefb779c4158df453398 (patch) | |
tree | 92daf98c6503570887e8cfbb77b3bff6d5a9a77d /opcodes/i386-opc.tbl | |
parent | 36f779c06332319d9dc2d456e098a99b2540cefc (diff) | |
download | binutils-gdb-255571cdbf05213cc96feefb779c4158df453398.tar.gz |
x86: fold special-operand insn attributes into a single enum
Attributes which aren't used together in any single insn template can be
converted from individual booleans to a single enum, as was done for a few
other attributes before. This is more space efficient. Collect together
all attributes which express special operand constraints (and which fit
the criteria for folding).
Diffstat (limited to 'opcodes/i386-opc.tbl')
-rw-r--r-- | opcodes/i386-opc.tbl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index 1c3673a10b4..7202f3f74f2 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -75,6 +75,17 @@ #define Size32 Size=SIZE32 #define Size64 Size=SIZE64 +#define AddrPrefixOpReg OperandConstraint=ADDR_PREFIX_OP_REG | \ + No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf +#define Anysize OperandConstraint=ANY_SIZE +#define DistinctDest OperandConstraint=DISTINCT_DEST +#define Implicit1stXmm0 OperandConstraint=IMPLICIT_1ST_XMM0 +#define ImplicitQuadGroup OperandConstraint=IMPLICIT_QUAD_GROUP +#define NoDefMask OperandConstraint=NO_DEFAULT_MASK +#define RegKludge OperandConstraint=REG_KLUDGE +#define SwapSources OperandConstraint=SWAP_SOURCES +#define Ugh OperandConstraint=UGH + #define IgnoreSize MnemonicSize=IGNORESIZE #define DefaultSize MnemonicSize=DEFAULTSIZE @@ -91,8 +102,6 @@ #define HLEPrefixRelease PrefixOk=PrefixHLERelease #define NoTrackPrefixOk PrefixOk=PrefixNoTrack -#define AddrPrefixOpReg AddrPrefixOpReg|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf - #define Space0F OpcodeSpace=SPACE_0F #define Space0F38 OpcodeSpace=SPACE_0F38 #define Space0F3A OpcodeSpace=SPACE_0F3A |