]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Create QL_SRC_X2 and QL_DEST_X2 qualifier macros
authorVictor Do Nascimento <victor.donascimento@arm.com>
Wed, 13 Dec 2023 15:04:15 +0000 (15:04 +0000)
committerVictor Do Nascimento <victor.donascimento@arm.com>
Tue, 9 Jan 2024 10:16:40 +0000 (10:16 +0000)
Some 128-bit system operations (mrrs, msrr, tlbip, and sysp) take two
qualified operands and one of unqualified type (e.g. system register
name, tlbip operation).  This creates the need for adequate qualifiers
to handle this.

This patch therefore introduces the `QL_SRC_X2' and `QL_DST_X2' qualifier
specifiers, which expand to `QLF3(NIL,X,X)' and `QLF3(X,X,NIL)',
respectively.

opcodes/aarch64-tbl.h

index 3f1b3883af256e9f3e0b198e2ca43667cd350444..ec14e4b97d670e17d27fbd033acd4060d1e8b82f 100644 (file)
   QLF2(NIL,X),                 \
 }
 
+/* e.g. MSRR <systemreg>, <Xt>, <Xt2>.  */
+#define QL_SRC_X2              \
+{                              \
+  QLF3(NIL,X,X),               \
+}
+
 /* e.g. MRS <Xt>, <systemreg>.  */
 #define QL_DST_X               \
 {                              \
   QLF2(X,NIL),                 \
 }
 
+/* e.g. MRRS <Xt>, <Xt2>, <systemreg>.  */
+#define QL_DST_X2              \
+{                              \
+  QLF3(X,X,NIL),               \
+}
+
 /* e.g. SYS #<op1>, <Cn>, <Cm>, #<op2>{, <Xt>}.  */
 #define QL_SYS                 \
 {                              \