From: Indu Bhagat <indu.bhagat@oracle.com>
To: binutils@sourceware.org
Cc: Indu Bhagat <indu.bhagat@oracle.com>
Subject: [PATCH] opcodes: gas: i386: use Rex2 as attribute not constraint
Date: Mon, 8 Jan 2024 17:12:29 -0800 [thread overview]
Message-ID: <20240109011229.4191052-2-indu.bhagat@oracle.com> (raw)
In-Reply-To: <20240109011229.4191052-1-indu.bhagat@oracle.com>
It seems to fit better if Rex2 is an attribute for now rather than a
constraint.
PS: Removed the opcodes/i386-tbl.h diffs from patch to keep the message
size within limits.
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.
---
gas/config/tc-i386.c | 2 +-
opcodes/i386-gen.c | 1 +
opcodes/i386-opc.h | 6 +-
opcodes/i386-opc.tbl | 1 -
opcodes/i386-tbl.h | 11659 +++++++++++++++++++++++++++--------------
5 files changed, 7778 insertions(+), 3891 deletions(-)
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 27d0742c6c8..b25cc517240 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -3929,7 +3929,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
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index e8b92e32f45..21331216486 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -490,6 +490,7 @@ static bitfield opcode_modifiers[] =
BITFIELD (ISA64),
BITFIELD (NoEgpr),
BITFIELD (NF),
+ BITFIELD (Rex2),
};
#define CLASS(n) #n, n
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index 38661ffe70c..eaebfaa9ba8 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -579,8 +579,6 @@ enum
/* Instrucion requires that destination must be distinct from source
registers. */
#define DISTINCT_DEST 9
- /* Instrucion requires REX2 prefix. */
-#define REX2_REQUIRED 10
OperandConstraint,
/* instruction ignores operand size prefix and in Intel mode ignores
mnemonic size suffix check. */
@@ -750,6 +748,9 @@ enum
/* No CSPAZO flags update indication. */
NF,
+ /* Instrucion requires REX2 prefix. */
+ Rex2,
+
/* The last bitfield in i386_opcode_modifier. */
Opcode_Modifier_Num
};
@@ -796,6 +797,7 @@ typedef struct i386_opcode_modifier
unsigned int isa64:2;
unsigned int noegpr:1;
unsigned int nf:1;
+ unsigned int rex2:1;
} i386_opcode_modifier;
/* Operand classes. */
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index 1751eff8bd2..ada5c06e501 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -85,7 +85,6 @@
#define RegKludge OperandConstraint=REG_KLUDGE
#define SwapSources OperandConstraint=SWAP_SOURCES
#define Ugh OperandConstraint=UGH
-#define Rex2 OperandConstraint=REX2_REQUIRED
#define ATTSyntax Dialect=ATT_SYNTAX
#define ATTMnemonic Dialect=ATT_MNEMONIC
--
2.41.0
next prev parent reply other threads:[~2024-01-09 1:12 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-09 1:12 [PATCH] opcodes: i386: fix dw2_regnum data type in reg_entry Indu Bhagat
2024-01-09 1:12 ` Indu Bhagat [this message]
2024-01-09 8:14 ` [PATCH] opcodes: gas: i386: use Rex2 as attribute not constraint Jan Beulich
2024-01-09 8:24 ` [PATCH] opcodes: i386: fix dw2_regnum data type in reg_entry Jan Beulich
2024-01-11 1:35 ` Kong, Lingling
2024-01-11 7:43 ` Jan Beulich
2024-01-11 7:59 ` Kong, Lingling
2024-01-11 8:05 ` Jan Beulich
2024-01-11 13:27 ` H.J. Lu
2024-01-11 14:05 ` Jan Beulich
2024-01-20 0:45 ` Indu Bhagat
2024-01-22 7:49 ` Jan Beulich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240109011229.4191052-2-indu.bhagat@oracle.com \
--to=indu.bhagat@oracle.com \
--cc=binutils@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).