aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.c
diff options
context:
space:
mode:
authorIndu Bhagat <indu.bhagat@oracle.com>2024-01-15 01:00:23 -0800
committerIndu Bhagat <indu.bhagat@oracle.com>2024-01-15 03:31:35 -0800
commit3037cefe56affe48ac53d85b9e33c2c3a408c41f (patch)
tree519641eb4975432d6d48744b50c273e25fb8062e /gas/config/tc-i386.c
parentc02a969de74ae3118f4a66ae76860ad21603fc44 (diff)
downloadgdb-3037cefe56affe48ac53d85b9e33c2c3a408c41f.zip
gdb-3037cefe56affe48ac53d85b9e33c2c3a408c41f.tar.gz
gdb-3037cefe56affe48ac53d85b9e33c2c3a408c41f.tar.bz2
opcodes: gas: x86: define and use Rex2 as attribute not constraint
Rex2 is currently an operand constraint. For the upcoming SCFI implementation in GAS, we need to identify operations which implicitly update the stack pointer. An operand constraint enumerator for implicit stack op seems more appropriate than an attribute. However, two opcodes currently necessitate both Rex2 and an implicit stack op marker; this prompts revisiting the current representations a bit. Make Rex2 a standalone attribute, so that later a new operand constraint may be added for IMPLICIT_STACK_OP. ChangeLog: * gas/config/tc-i386.c (is_apx_rex2_encoding): Update the check. * opcodes/i386-gen.c: Add a new BITFIELD for Rex2. * opcodes/i386-opc.h (REX2_REQUIRED): Remove. * opcodes/i386-opc.tbl: Remove Rex2 operand constraint. * opcodes/i386-tbl.h: Regenerated.
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r--gas/config/tc-i386.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 856edbe..b25fa37 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -3955,7 +3955,7 @@ static INLINE bool
is_apx_rex2_encoding (void)
{
return i.rex2 || i.rex2_encoding
- || i.tm.opcode_modifier.operandconstraint == REX2_REQUIRED;
+ || i.tm.opcode_modifier.rex2;
}
static unsigned int