* [binutils-gdb] aarch64: Add support for GCS extension.
@ 2023-11-02 13:06 SRINATH PARVATHANENI
0 siblings, 0 replies; only message in thread
From: SRINATH PARVATHANENI @ 2023-11-02 13:06 UTC (permalink / raw)
To: bfd-cvs
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f985c2512aee1c4440998db62d6aea98c737b3ef
commit f985c2512aee1c4440998db62d6aea98c737b3ef
Author: srinath <srinath.parvathaneni@arm.com>
Date: Thu Nov 2 13:04:20 2023 +0000
aarch64: Add support for GCS extension.
This patch adds for Guarded Control Stack Extension (GCS) extension. GCS feature is
optional from Armv9.4-A architecture and enabled by passing +gcs option to -march
(eg: -march=armv9.4-a+gcs) or using ".arch_extension gcs" directive in the assembly file.
Also this patch adds support for GCS instructions gcspushx, gcspopcx, gcspopx,
gcsss1, gcsss2, gcspushm, gcspopm, gcsstr and gcssttr.
Diff:
---
gas/NEWS | 2 +
gas/config/tc-aarch64.c | 1 +
gas/doc/c-aarch64.texi | 2 +
gas/testsuite/gas/aarch64/gcs-1-bad.d | 3 +
gas/testsuite/gas/aarch64/gcs-1-bad.l | 45 +
gas/testsuite/gas/aarch64/gcs-1.d | 54 +
gas/testsuite/gas/aarch64/gcs-1.s | 19 +
include/opcode/aarch64.h | 4 +-
opcodes/aarch64-asm-2.c | 497 ++--
opcodes/aarch64-dis-2.c | 4540 +++++++++++++++++----------------
opcodes/aarch64-opc-2.c | 17 +-
opcodes/aarch64-tbl.h | 15 +
12 files changed, 2688 insertions(+), 2511 deletions(-)
diff --git a/gas/NEWS b/gas/NEWS
index 2b593c151bb..a6ac839b024 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -1,5 +1,7 @@
-*- text -*-
+* Add support for Guarded Control Stack (GCS) for AArch64.
+
* Add support for AArch64 Check Feature Status Extension (CHK).
* Add support for 'armv8.9-a' and 'armv9.4-a' for -march in AArch64 GAS.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index f5b7b427dd6..6d2040037c3 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10325,6 +10325,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"hbc", AARCH64_FEATURE (HBC), AARCH64_NO_FEATURES},
{"cssc", AARCH64_FEATURE (CSSC), AARCH64_NO_FEATURES},
{"chk", AARCH64_FEATURE (CHK), AARCH64_NO_FEATURES},
+ {"gcs", AARCH64_FEATURE (GCS), AARCH64_NO_FEATURES},
{NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
};
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 0cabf72e8e2..a3ca714c299 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -261,6 +261,8 @@ automatically cause those extensions to be disabled.
@tab Enable Transactional Memory Extensions.
@item @code{chk} @tab ARMv8-A @tab ARMv8-A
@tab Enable Check Feature Status Extension.
+@item @code{gcs} @tab N/A @tab No
+ @tab Enable Guarded Control Stack Extension.
@end multitable
@node AArch64 Syntax
diff --git a/gas/testsuite/gas/aarch64/gcs-1-bad.d b/gas/testsuite/gas/aarch64/gcs-1-bad.d
new file mode 100644
index 00000000000..7c3a7ae50a8
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/gcs-1-bad.d
@@ -0,0 +1,3 @@
+#as: -march=armv9.2-a
+#source: gcs-1.s
+#error_output: gcs-1-bad.l
diff --git a/gas/testsuite/gas/aarch64/gcs-1-bad.l b/gas/testsuite/gas/aarch64/gcs-1-bad.l
new file mode 100644
index 00000000000..ca8d17ab8fc
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/gcs-1-bad.l
@@ -0,0 +1,45 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspushx'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopcx'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopx'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopm'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspushm x0'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspushm x15'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspushm x30'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspushm xzr'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss1 x0'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss1 x15'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss1 x30'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss1 xzr'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss2 x0'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss2 x15'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss2 x30'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsss2 xzr'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopm x0'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopm x15'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopm x30'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcspopm xzr'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x0,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x0,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x0,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x15,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x15,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x15,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x30,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x30,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr x30,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr xzr,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr xzr,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcsstr xzr,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x0,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x0,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x0,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x15,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x15,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x15,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x30,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x30,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr x30,sp'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr xzr,x1'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr xzr,x16'
+[^ :]+:[0-9]+: Error: selected processor does not support `gcssttr xzr,sp'
diff --git a/gas/testsuite/gas/aarch64/gcs-1.d b/gas/testsuite/gas/aarch64/gcs-1.d
new file mode 100644
index 00000000000..51f9dd6afc5
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/gcs-1.d
@@ -0,0 +1,54 @@
+#name: Test of Guarded Control Stack Instructions.
+#as: -march=armv9.3-a+gcs
+#objdump: -dr
+
+[^:]+: file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*: d508779f gcspushx
+.*: d50877bf gcspopcx
+.*: d50877df gcspopx
+.*: d52b773f gcspopm
+.*: d50b7700 gcspushm x0
+.*: d50b770f gcspushm x15
+.*: d50b771e gcspushm x30
+.*: d50b771f gcspushm xzr
+.*: d50b7740 gcsss1 x0
+.*: d50b774f gcsss1 x15
+.*: d50b775e gcsss1 x30
+.*: d50b775f gcsss1 xzr
+.*: d52b7760 gcsss2 x0
+.*: d52b776f gcsss2 x15
+.*: d52b777e gcsss2 x30
+.*: d52b777f gcsss2 xzr
+.*: d52b7720 gcspopm x0
+.*: d52b772f gcspopm x15
+.*: d52b773e gcspopm x30
+.*: d52b773f gcspopm
+.*: d91f0c20 gcsstr x0, x1
+.*: d91f0e00 gcsstr x0, x16
+.*: d91f0fe0 gcsstr x0, sp
+.*: d91f0c2f gcsstr x15, x1
+.*: d91f0e0f gcsstr x15, x16
+.*: d91f0fef gcsstr x15, sp
+.*: d91f0c3e gcsstr x30, x1
+.*: d91f0e1e gcsstr x30, x16
+.*: d91f0ffe gcsstr x30, sp
+.*: d91f0c3f gcsstr xzr, x1
+.*: d91f0e1f gcsstr xzr, x16
+.*: d91f0fff gcsstr xzr, sp
+.*: d91f1c20 gcssttr x0, x1
+.*: d91f1e00 gcssttr x0, x16
+.*: d91f1fe0 gcssttr x0, sp
+.*: d91f1c2f gcssttr x15, x1
+.*: d91f1e0f gcssttr x15, x16
+.*: d91f1fef gcssttr x15, sp
+.*: d91f1c3e gcssttr x30, x1
+.*: d91f1e1e gcssttr x30, x16
+.*: d91f1ffe gcssttr x30, sp
+.*: d91f1c3f gcssttr xzr, x1
+.*: d91f1e1f gcssttr xzr, x16
+.*: d91f1fff gcssttr xzr, sp
diff --git a/gas/testsuite/gas/aarch64/gcs-1.s b/gas/testsuite/gas/aarch64/gcs-1.s
new file mode 100644
index 00000000000..9706587878d
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/gcs-1.s
@@ -0,0 +1,19 @@
+ .text
+ gcspushx
+ gcspopcx
+ gcspopx
+ gcspopm
+
+ .irp op gcspushm, gcsss1, gcsss2, gcspopm
+ .irp reg1 x0, x15, x30, xzr
+ \op \reg1
+ .endr
+ .endr
+
+ .irp op gcsstr, gcssttr
+ .irp reg1 x0, x15, x30, xzr
+ .irp reg2 x1, x16, sp
+ \op \reg1, \reg2
+ .endr
+ .endr
+ .endr
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index a60965c82b3..9d0b5536822 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -161,9 +161,10 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_V8_9A,
/* Check Feature Status Extension. */
AARCH64_FEATURE_CHK,
+ /* Guarded Control Stack. */
+ AARCH64_FEATURE_GCS,
/* SME2. */
AARCH64_FEATURE_SME2,
- DUMMY2,
AARCH64_NUM_FEATURES
};
@@ -895,6 +896,7 @@ enum aarch64_insn_class
dotproduct,
bfloat16,
cssc,
+ gcs,
};
/* Opcode enumerators. */
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index 9425a2710b1..37dae88a9a9 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -426,178 +426,178 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 1188: /* movz */
value = 1188; /* --> movz. */
break;
- case 1251: /* autibsp */
- case 1250: /* autibz */
- case 1249: /* autiasp */
- case 1248: /* autiaz */
- case 1247: /* pacibsp */
- case 1246: /* pacibz */
- case 1245: /* paciasp */
- case 1244: /* paciaz */
- case 1220: /* clearbhb */
- case 1219: /* tsb */
- case 1218: /* psb */
- case 1217: /* esb */
- case 1216: /* autib1716 */
- case 1215: /* autia1716 */
- case 1214: /* pacib1716 */
- case 1213: /* pacia1716 */
- case 1212: /* xpaclri */
- case 1210: /* sevl */
- case 1209: /* sev */
- case 1208: /* wfi */
- case 1207: /* wfe */
- case 1206: /* yield */
- case 1205: /* bti */
- case 1204: /* csdb */
- case 1203: /* nop */
- case 1202: /* hint */
- value = 1202; /* --> hint. */
- break;
- case 1226: /* pssbb */
- case 1225: /* ssbb */
- case 1224: /* dfb */
- case 1222: /* dsb */
- value = 1222; /* --> dsb. */
- break;
+ case 1262: /* autibsp */
+ case 1261: /* autibz */
+ case 1260: /* autiasp */
+ case 1259: /* autiaz */
+ case 1258: /* pacibsp */
+ case 1257: /* pacibz */
+ case 1256: /* paciasp */
+ case 1255: /* paciaz */
+ case 1221: /* clearbhb */
+ case 1220: /* tsb */
+ case 1219: /* psb */
+ case 1218: /* esb */
+ case 1217: /* autib1716 */
+ case 1216: /* autia1716 */
+ case 1215: /* pacib1716 */
+ case 1214: /* pacia1716 */
+ case 1213: /* xpaclri */
+ case 1211: /* sevl */
+ case 1210: /* sev */
+ case 1209: /* wfi */
+ case 1208: /* wfe */
+ case 1207: /* yield */
+ case 1206: /* bti */
+ case 1205: /* csdb */
+ case 1204: /* nop */
+ case 1203: /* hint */
+ value = 1203; /* --> hint. */
+ break;
+ case 1227: /* pssbb */
+ case 1226: /* ssbb */
+ case 1225: /* dfb */
case 1223: /* dsb */
value = 1223; /* --> dsb. */
break;
- case 1239: /* cpp */
- case 1238: /* dvp */
- case 1237: /* cfp */
- case 1234: /* tlbi */
- case 1233: /* ic */
- case 1232: /* dc */
- case 1231: /* at */
- case 1230: /* sys */
- value = 1230; /* --> sys. */
+ case 1224: /* dsb */
+ value = 1224; /* --> dsb. */
break;
- case 1235: /* wfet */
- value = 1235; /* --> wfet. */
+ case 1250: /* cpp */
+ case 1249: /* dvp */
+ case 1248: /* cfp */
+ case 1245: /* tlbi */
+ case 1244: /* ic */
+ case 1243: /* dc */
+ case 1242: /* at */
+ case 1241: /* sys */
+ value = 1241; /* --> sys. */
break;
- case 1236: /* wfit */
- value = 1236; /* --> wfit. */
+ case 1246: /* wfet */
+ value = 1246; /* --> wfet. */
break;
- case 2053: /* bic */
- case 1300: /* and */
- value = 1300; /* --> and. */
+ case 1247: /* wfit */
+ value = 1247; /* --> wfit. */
break;
- case 1283: /* mov */
- case 1302: /* and */
- value = 1302; /* --> and. */
+ case 2064: /* bic */
+ case 1311: /* and */
+ value = 1311; /* --> and. */
break;
- case 1287: /* movs */
- case 1303: /* ands */
- value = 1303; /* --> ands. */
+ case 1294: /* mov */
+ case 1313: /* and */
+ value = 1313; /* --> and. */
break;
- case 2054: /* cmple */
- case 1338: /* cmpge */
- value = 1338; /* --> cmpge. */
+ case 1298: /* movs */
+ case 1314: /* ands */
+ value = 1314; /* --> ands. */
break;
- case 2057: /* cmplt */
- case 1341: /* cmpgt */
- value = 1341; /* --> cmpgt. */
+ case 2065: /* cmple */
+ case 1349: /* cmpge */
+ value = 1349; /* --> cmpge. */
break;
- case 2055: /* cmplo */
- case 1343: /* cmphi */
- value = 1343; /* --> cmphi. */
+ case 2068: /* cmplt */
+ case 1352: /* cmpgt */
+ value = 1352; /* --> cmpgt. */
break;
- case 2056: /* cmpls */
- case 1346: /* cmphs */
- value = 1346; /* --> cmphs. */
+ case 2066: /* cmplo */
+ case 1354: /* cmphi */
+ value = 1354; /* --> cmphi. */
break;
- case 1280: /* mov */
- case 1368: /* cpy */
- value = 1368; /* --> cpy. */
+ case 2067: /* cmpls */
+ case 1357: /* cmphs */
+ value = 1357; /* --> cmphs. */
break;
- case 1282: /* mov */
- case 1369: /* cpy */
- value = 1369; /* --> cpy. */
+ case 1291: /* mov */
+ case 1379: /* cpy */
+ value = 1379; /* --> cpy. */
break;
- case 2064: /* fmov */
- case 1285: /* mov */
- case 1370: /* cpy */
- value = 1370; /* --> cpy. */
+ case 1293: /* mov */
+ case 1380: /* cpy */
+ value = 1380; /* --> cpy. */
break;
- case 1274: /* mov */
- case 1382: /* dup */
- value = 1382; /* --> dup. */
+ case 2075: /* fmov */
+ case 1296: /* mov */
+ case 1381: /* cpy */
+ value = 1381; /* --> cpy. */
break;
- case 1277: /* mov */
- case 1273: /* mov */
- case 1383: /* dup */
- value = 1383; /* --> dup. */
+ case 1285: /* mov */
+ case 1393: /* dup */
+ value = 1393; /* --> dup. */
break;
- case 2063: /* fmov */
- case 1279: /* mov */
- case 1384: /* dup */
- value = 1384; /* --> dup. */
+ case 1288: /* mov */
+ case 1284: /* mov */
+ case 1394: /* dup */
+ value = 1394; /* --> dup. */
break;
- case 1278: /* mov */
- case 1385: /* dupm */
- value = 1385; /* --> dupm. */
+ case 2074: /* fmov */
+ case 1290: /* mov */
+ case 1395: /* dup */
+ value = 1395; /* --> dup. */
break;
- case 2058: /* eon */
- case 1387: /* eor */
- value = 1387; /* --> eor. */
+ case 1289: /* mov */
+ case 1396: /* dupm */
+ value = 1396; /* --> dupm. */
break;
- case 1288: /* not */
- case 1389: /* eor */
- value = 1389; /* --> eor. */
+ case 2069: /* eon */
+ case 1398: /* eor */
+ value = 1398; /* --> eor. */
break;
- case 1289: /* nots */
- case 1390: /* eors */
- value = 1390; /* --> eors. */
+ case 1299: /* not */
+ case 1400: /* eor */
+ value = 1400; /* --> eor. */
break;
- case 2059: /* facle */
- case 1395: /* facge */
- value = 1395; /* --> facge. */
+ case 1300: /* nots */
+ case 1401: /* eors */
+ value = 1401; /* --> eors. */
break;
- case 2060: /* faclt */
- case 1396: /* facgt */
- value = 1396; /* --> facgt. */
+ case 2070: /* facle */
+ case 1406: /* facge */
+ value = 1406; /* --> facge. */
break;
- case 2061: /* fcmle */
- case 1409: /* fcmge */
- value = 1409; /* --> fcmge. */
+ case 2071: /* faclt */
+ case 1407: /* facgt */
+ value = 1407; /* --> facgt. */
break;
- case 2062: /* fcmlt */
- case 1411: /* fcmgt */
- value = 1411; /* --> fcmgt. */
+ case 2072: /* fcmle */
+ case 1420: /* fcmge */
+ value = 1420; /* --> fcmge. */
break;
- case 1271: /* fmov */
- case 1417: /* fcpy */
- value = 1417; /* --> fcpy. */
+ case 2073: /* fcmlt */
+ case 1422: /* fcmgt */
+ value = 1422; /* --> fcmgt. */
break;
- case 1270: /* fmov */
- case 1440: /* fdup */
- value = 1440; /* --> fdup. */
+ case 1282: /* fmov */
+ case 1428: /* fcpy */
+ value = 1428; /* --> fcpy. */
break;
- case 1272: /* mov */
- case 1772: /* orr */
- value = 1772; /* --> orr. */
+ case 1281: /* fmov */
+ case 1451: /* fdup */
+ value = 1451; /* --> fdup. */
break;
- case 2065: /* orn */
- case 1773: /* orr */
- value = 1773; /* --> orr. */
+ case 1283: /* mov */
+ case 1783: /* orr */
+ value = 1783; /* --> orr. */
break;
- case 1276: /* mov */
- case 1275: /* mov */
- case 1775: /* orr */
- value = 1775; /* --> orr. */
+ case 2076: /* orn */
+ case 1784: /* orr */
+ value = 1784; /* --> orr. */
break;
- case 1286: /* movs */
- case 1776: /* orrs */
- value = 1776; /* --> orrs. */
+ case 1287: /* mov */
+ case 1286: /* mov */
+ case 1786: /* orr */
+ value = 1786; /* --> orr. */
break;
- case 1281: /* mov */
- case 1839: /* sel */
- value = 1839; /* --> sel. */
+ case 1297: /* movs */
+ case 1787: /* orrs */
+ value = 1787; /* --> orrs. */
break;
- case 1284: /* mov */
- case 1840: /* sel */
- value = 1840; /* --> sel. */
+ case 1292: /* mov */
+ case 1850: /* sel */
+ value = 1850; /* --> sel. */
+ break;
+ case 1295: /* mov */
+ case 1851: /* sel */
+ value = 1851; /* --> sel. */
break;
default: return NULL;
}
@@ -620,7 +620,6 @@ aarch64_insert_operand (const aarch64_operand *self,
case 3:
case 4:
case 5:
- case 6:
case 7:
case 8:
case 9:
@@ -628,11 +627,11 @@ aarch64_insert_operand (const aarch64_operand *self,
case 11:
case 12:
case 13:
- case 17:
+ case 14:
case 18:
case 19:
case 20:
- case 22:
+ case 21:
case 23:
case 24:
case 25:
@@ -642,7 +641,7 @@ aarch64_insert_operand (const aarch64_operand *self,
case 29:
case 30:
case 31:
- case 168:
+ case 32:
case 169:
case 170:
case 171:
@@ -656,7 +655,7 @@ aarch64_insert_operand (const aarch64_operand *self,
case 179:
case 180:
case 181:
- case 196:
+ case 182:
case 197:
case 198:
case 199:
@@ -665,41 +664,46 @@ aarch64_insert_operand (const aarch64_operand *self,
case 202:
case 203:
case 204:
- case 211:
- case 214:
- case 218:
- case 225:
+ case 205:
+ case 212:
+ case 215:
+ case 219:
case 226:
- case 233:
+ case 227:
case 234:
case 235:
case 236:
+ case 237:
return aarch64_ins_regno (self, info, code, inst, errors);
- case 15:
- return aarch64_ins_reg_extended (self, info, code, inst, errors);
+ case 6:
+ case 110:
+ case 269:
+ case 271:
+ return aarch64_ins_none (self, info, code, inst, errors);
case 16:
+ return aarch64_ins_reg_extended (self, info, code, inst, errors);
+ case 17:
return aarch64_ins_reg_shifted (self, info, code, inst, errors);
- case 21:
+ case 22:
return aarch64_ins_ft (self, info, code, inst, errors);
- case 32:
case 33:
case 34:
case 35:
- case 272:
- return aarch64_ins_reglane (self, info, code, inst, errors);
case 36:
- return aarch64_ins_reglist (self, info, code, inst, errors);
+ case 273:
+ return aarch64_ins_reglane (self, info, code, inst, errors);
case 37:
- return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
+ return aarch64_ins_reglist (self, info, code, inst, errors);
case 38:
- return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
+ return aarch64_ins_ldst_reglist (self, info, code, inst, errors);
case 39:
- return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
+ return aarch64_ins_ldst_reglist_r (self, info, code, inst, errors);
case 40:
+ return aarch64_ins_ldst_elemlist (self, info, code, inst, errors);
case 41:
case 42:
case 43:
- case 53:
+ case 44:
case 54:
case 55:
case 56:
@@ -716,14 +720,14 @@ aarch64_insert_operand (const aarch64_operand *self,
case 67:
case 68:
case 69:
- case 81:
+ case 70:
case 82:
case 83:
case 84:
- case 108:
- case 165:
- case 167:
- case 188:
+ case 85:
+ case 109:
+ case 166:
+ case 168:
case 189:
case 190:
case 191:
@@ -731,104 +735,100 @@ aarch64_insert_operand (const aarch64_operand *self,
case 193:
case 194:
case 195:
- case 239:
- case 266:
+ case 196:
+ case 240:
case 267:
- case 269:
- case 271:
- case 276:
+ case 268:
+ case 270:
+ case 272:
case 277:
+ case 278:
return aarch64_ins_imm (self, info, code, inst, errors);
- case 44:
case 45:
- return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
case 46:
+ return aarch64_ins_advsimd_imm_shift (self, info, code, inst, errors);
case 47:
case 48:
+ case 49:
return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
- case 52:
- case 155:
+ case 53:
+ case 156:
return aarch64_ins_fpimm (self, info, code, inst, errors);
- case 70:
- case 163:
- return aarch64_ins_limm (self, info, code, inst, errors);
case 71:
- return aarch64_ins_aimm (self, info, code, inst, errors);
+ case 164:
+ return aarch64_ins_limm (self, info, code, inst, errors);
case 72:
- return aarch64_ins_imm_half (self, info, code, inst, errors);
+ return aarch64_ins_aimm (self, info, code, inst, errors);
case 73:
+ return aarch64_ins_imm_half (self, info, code, inst, errors);
+ case 74:
return aarch64_ins_fbits (self, info, code, inst, errors);
- case 75:
case 76:
- case 160:
- return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
case 77:
- case 159:
case 161:
- return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
+ return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
case 78:
+ case 160:
+ case 162:
+ return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
case 79:
+ case 80:
return aarch64_ins_cond (self, info, code, inst, errors);
- case 85:
- case 94:
- return aarch64_ins_addr_simple (self, info, code, inst, errors);
case 86:
- return aarch64_ins_addr_regoff (self, info, code, inst, errors);
+ case 95:
+ return aarch64_ins_addr_simple (self, info, code, inst, errors);
case 87:
+ return aarch64_ins_addr_regoff (self, info, code, inst, errors);
case 88:
case 89:
- case 91:
- case 93:
- return aarch64_ins_addr_simm (self, info, code, inst, errors);
case 90:
- return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
case 92:
+ case 94:
+ return aarch64_ins_addr_simm (self, info, code, inst, errors);
+ case 91:
+ return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
+ case 93:
return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
- case 95:
- return aarch64_ins_addr_offset (self, info, code, inst, errors);
case 96:
- return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
+ return aarch64_ins_addr_offset (self, info, code, inst, errors);
case 97:
- return aarch64_ins_sysreg (self, info, code, inst, errors);
+ return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
case 98:
- return aarch64_ins_pstatefield (self, info, code, inst, errors);
+ return aarch64_ins_sysreg (self, info, code, inst, errors);
case 99:
+ return aarch64_ins_pstatefield (self, info, code, inst, errors);
case 100:
case 101:
case 102:
case 103:
- return aarch64_ins_sysins_op (self, info, code, inst, errors);
case 104:
- case 106:
- return aarch64_ins_barrier (self, info, code, inst, errors);
+ return aarch64_ins_sysins_op (self, info, code, inst, errors);
case 105:
- return aarch64_ins_barrier_dsb_nxs (self, info, code, inst, errors);
case 107:
+ return aarch64_ins_barrier (self, info, code, inst, errors);
+ case 106:
+ return aarch64_ins_barrier_dsb_nxs (self, info, code, inst, errors);
+ case 108:
return aarch64_ins_prfop (self, info, code, inst, errors);
- case 109:
- case 268:
- case 270:
- return aarch64_ins_none (self, info, code, inst, errors);
- case 110:
- return aarch64_ins_hint (self, info, code, inst, errors);
case 111:
+ return aarch64_ins_hint (self, info, code, inst, errors);
case 112:
- return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case 113:
+ return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case 114:
case 115:
case 116:
- return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 117:
- return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 118:
- return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case 119:
+ return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 120:
case 121:
case 122:
- return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 123:
+ return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 124:
case 125:
case 126:
@@ -843,8 +843,8 @@ aarch64_insert_operand (const aarch64_operand *self,
case 135:
case 136:
case 137:
- return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 138:
+ return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 139:
case 140:
case 141:
@@ -852,77 +852,77 @@ aarch64_insert_operand (const aarch64_operand *self,
case 143:
case 144:
case 145:
- return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 146:
+ return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 147:
case 148:
case 149:
- return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case 150:
- return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case 151:
- return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
case 152:
- return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
case 153:
- return aarch64_ins_sve_aimm (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
case 154:
+ return aarch64_ins_sve_aimm (self, info, code, inst, errors);
+ case 155:
return aarch64_ins_sve_asimm (self, info, code, inst, errors);
- case 156:
- return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
case 157:
- return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+ return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
case 158:
+ return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+ case 159:
return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
- case 162:
+ case 163:
return aarch64_ins_inv_limm (self, info, code, inst, errors);
- case 164:
+ case 165:
return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
- case 166:
+ case 167:
return aarch64_ins_sve_scale (self, info, code, inst, errors);
- case 182:
case 183:
case 184:
- return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
case 185:
+ return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
case 186:
case 187:
- case 252:
+ case 188:
+ case 253:
return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
- case 205:
case 206:
case 207:
case 208:
case 209:
case 210:
+ case 211:
return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
- case 212:
- return aarch64_ins_sve_index (self, info, code, inst, errors);
case 213:
- case 215:
- case 232:
- return aarch64_ins_sve_reglist (self, info, code, inst, errors);
+ return aarch64_ins_sve_index (self, info, code, inst, errors);
+ case 214:
case 216:
+ case 233:
+ return aarch64_ins_sve_reglist (self, info, code, inst, errors);
case 217:
- case 219:
+ case 218:
case 220:
case 221:
case 222:
- case 231:
- return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case 223:
+ case 232:
+ return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case 224:
+ case 225:
return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
- case 227:
- case 229:
- case 240:
- return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
case 228:
case 230:
+ case 241:
+ return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
+ case 229:
+ case 231:
return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
- case 237:
case 238:
- case 253:
+ case 239:
case 254:
case 255:
case 256:
@@ -935,26 +935,27 @@ aarch64_insert_operand (const aarch64_operand *self,
case 263:
case 264:
case 265:
+ case 266:
return aarch64_ins_simple_index (self, info, code, inst, errors);
- case 241:
case 242:
case 243:
case 244:
case 245:
case 246:
case 247:
- return aarch64_ins_sme_za_array (self, info, code, inst, errors);
case 248:
- return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
+ return aarch64_ins_sme_za_array (self, info, code, inst, errors);
case 249:
- return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
+ return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
case 250:
- return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
+ return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
case 251:
+ return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
+ case 252:
return aarch64_ins_plain_shrimm (self, info, code, inst, errors);
- case 273:
case 274:
case 275:
+ case 276:
return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
default: assert (0); abort ();
}
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 768f622d55b..3a32e2e57ef 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -62,7 +62,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx00xxx
fmopa. */
- return 2365;
+ return 2376;
}
else
{
@@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx10xxx
fmops. */
- return 2368;
+ return 2379;
}
}
else
@@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx01xxx
bmopa. */
- return 2479;
+ return 2490;
}
else
{
@@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx11xxx
bmops. */
- return 2480;
+ return 2491;
}
}
}
@@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx0xxxx
fmopa. */
- return 2366;
+ return 2377;
}
else
{
@@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx1xxxx
fmops. */
- return 2369;
+ return 2380;
}
}
}
@@ -128,7 +128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx00000xxxxxxxxxxxxxxxxx
mov. */
- return 2389;
+ return 2400;
}
else
{
@@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010000xxxxxxxxxxxxxxxx
addha. */
- return 2357;
+ return 2368;
}
else
{
@@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010000xxxxxxxxxxxxxxxx
addha. */
- return 2358;
+ return 2369;
}
}
else
@@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010001xxxxxxxxxxxxxxxx
addva. */
- return 2361;
+ return 2372;
}
else
{
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010001xxxxxxxxxxxxxxxx
addva. */
- return 2362;
+ return 2373;
}
}
}
@@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x100xxxxxxxxxxxxxxxxx
zero. */
- return 2392;
+ return 2403;
}
else
{
@@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x10x100xxxxxxxxxxxxxxxxx
zero. */
- return 2909;
+ return 2920;
}
}
}
@@ -200,7 +200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x001xxxxxxxxxxxxxxxxx
mov. */
- return 2388;
+ return 2399;
}
else
{
@@ -212,7 +212,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x101xx0xxxxxxxxxxxxxx
luti4. */
- return 2623;
+ return 2634;
}
else
{
@@ -220,7 +220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x101xx1xxxxxxxxxxxxxx
luti4. */
- return 2622;
+ return 2633;
}
}
else
@@ -229,7 +229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x10x101xxxxxxxxxxxxxxxxx
luti4. */
- return 2621;
+ return 2632;
}
}
}
@@ -248,7 +248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x010xxxxx00xxxxxxxxxx
mov. */
- return 2630;
+ return 2641;
}
else
{
@@ -256,7 +256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x011xxxxx00xxxxxxxxxx
mov. */
- return 2626;
+ return 2637;
}
}
else
@@ -269,7 +269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x11xxx0xx00xxxxxxxxxx
luti2. */
- return 2620;
+ return 2631;
}
else
{
@@ -277,7 +277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x11xxx1xx00xxxxxxxxxx
luti2. */
- return 2619;
+ return 2630;
}
}
else
@@ -290,7 +290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x110xxxxx00xxxxxxxxxx
movt. */
- return 2641;
+ return 2652;
}
else
{
@@ -298,7 +298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x111xxxxx00xxxxxxxxxx
movt. */
- return 2640;
+ return 2651;
}
}
else
@@ -307,7 +307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x11xxxxxx00xxxxxxxxxx
luti2. */
- return 2618;
+ return 2629;
}
}
}
@@ -320,7 +320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx10xxxxxxxxxx
mov. */
- return 2628;
+ return 2639;
}
else
{
@@ -328,7 +328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx10xxxxxxxxxx
mov. */
- return 2624;
+ return 2635;
}
}
}
@@ -342,7 +342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx01xxxxxxxxxx
mov. */
- return 2631;
+ return 2642;
}
else
{
@@ -350,7 +350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx01xxxxxxxxxx
mov. */
- return 2627;
+ return 2638;
}
}
else
@@ -361,7 +361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx11xxxxxxxxxx
mov. */
- return 2629;
+ return 2640;
}
else
{
@@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx11xxxxxxxxxx
mov. */
- return 2625;
+ return 2636;
}
}
}
@@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2557;
+ return 2568;
}
else
{
@@ -404,7 +404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2558;
+ return 2569;
}
}
else
@@ -415,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2581;
+ return 2592;
}
else
{
@@ -423,7 +423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2582;
+ return 2593;
}
}
}
@@ -437,7 +437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2573;
+ return 2584;
}
else
{
@@ -445,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2574;
+ return 2585;
}
}
else
@@ -456,7 +456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2565;
+ return 2576;
}
else
{
@@ -464,7 +464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2566;
+ return 2577;
}
}
}
@@ -481,7 +481,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2589;
+ return 2600;
}
else
{
@@ -489,7 +489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2590;
+ return 2601;
}
}
else
@@ -500,7 +500,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2613;
+ return 2624;
}
else
{
@@ -508,7 +508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2614;
+ return 2625;
}
}
}
@@ -522,7 +522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2605;
+ return 2616;
}
else
{
@@ -530,7 +530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2606;
+ return 2617;
}
}
else
@@ -541,7 +541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2597;
+ return 2608;
}
else
{
@@ -549,7 +549,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2598;
+ return 2609;
}
}
}
@@ -561,7 +561,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000000xxxxxxxxxxxxxxxxxxxxx
ld1b. */
- return 2393;
+ return 2404;
}
}
else
@@ -576,7 +576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx00xxx
smopa. */
- return 2372;
+ return 2383;
}
else
{
@@ -584,7 +584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx01xxx
smopa. */
- return 2703;
+ return 2714;
}
}
else
@@ -593,7 +593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000100xxxxxxxxxxxxxxxx0xxxx
ld1w. */
- return 2395;
+ return 2406;
}
}
else
@@ -604,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx10xxx
smops. */
- return 2374;
+ return 2385;
}
else
{
@@ -612,7 +612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx11xxx
smops. */
- return 2704;
+ return 2715;
}
}
}
@@ -635,7 +635,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2553;
+ return 2564;
}
else
{
@@ -643,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2554;
+ return 2565;
}
}
else
@@ -654,7 +654,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2577;
+ return 2588;
}
else
{
@@ -662,7 +662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2578;
+ return 2589;
}
}
}
@@ -676,7 +676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2569;
+ return 2580;
}
else
{
@@ -684,7 +684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2570;
+ return 2581;
}
}
else
@@ -695,7 +695,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2561;
+ return 2572;
}
else
{
@@ -703,7 +703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2562;
+ return 2573;
}
}
}
@@ -720,7 +720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2585;
+ return 2596;
}
else
{
@@ -728,7 +728,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2586;
+ return 2597;
}
}
else
@@ -739,7 +739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2609;
+ return 2620;
}
else
{
@@ -747,7 +747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2610;
+ return 2621;
}
}
}
@@ -761,7 +761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2601;
+ return 2612;
}
else
{
@@ -769,7 +769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2602;
+ return 2613;
}
}
else
@@ -780,7 +780,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2593;
+ return 2604;
}
else
{
@@ -788,7 +788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2594;
+ return 2605;
}
}
}
@@ -800,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000010xxxxxxxxxxxxxxxxxxxxx
ld1h. */
- return 2394;
+ return 2405;
}
}
else
@@ -813,7 +813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000110xxxxxxxxxxxxxxxx0xxxx
smopa. */
- return 2373;
+ return 2384;
}
else
{
@@ -821,7 +821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000110xxxxxxxxxxxxxxxx0xxxx
ld1d. */
- return 2396;
+ return 2407;
}
}
else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000110xxxxxxxxxxxxxxxx1xxxx
smops. */
- return 2375;
+ return 2386;
}
}
}
@@ -856,7 +856,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx000xxxxxxxxxxxx0
st1b. */
- return 2729;
+ return 2740;
}
else
{
@@ -864,7 +864,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx100xxxxxxxxxxxx0
st1b. */
- return 2730;
+ return 2741;
}
}
else
@@ -875,7 +875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx010xxxxxxxxxxxx0
st1w. */
- return 2753;
+ return 2764;
}
else
{
@@ -883,7 +883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx110xxxxxxxxxxxx0
st1w. */
- return 2754;
+ return 2765;
}
}
}
@@ -897,7 +897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx001xxxxxxxxxxxx0
st1h. */
- return 2745;
+ return 2756;
}
else
{
@@ -905,7 +905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx101xxxxxxxxxxxx0
st1h. */
- return 2746;
+ return 2757;
}
}
else
@@ -916,7 +916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx011xxxxxxxxxxxx0
st1d. */
- return 2737;
+ return 2748;
}
else
{
@@ -924,7 +924,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx111xxxxxxxxxxxx0
st1d. */
- return 2738;
+ return 2749;
}
}
}
@@ -941,7 +941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx000xxxxxxxxxxxx1
stnt1b. */
- return 2761;
+ return 2772;
}
else
{
@@ -949,7 +949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx100xxxxxxxxxxxx1
stnt1b. */
- return 2762;
+ return 2773;
}
}
else
@@ -960,7 +960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx010xxxxxxxxxxxx1
stnt1w. */
- return 2785;
+ return 2796;
}
else
{
@@ -968,7 +968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx110xxxxxxxxxxxx1
stnt1w. */
- return 2786;
+ return 2797;
}
}
}
@@ -982,7 +982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx001xxxxxxxxxxxx1
stnt1h. */
- return 2777;
+ return 2788;
}
else
{
@@ -990,7 +990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx101xxxxxxxxxxxx1
stnt1h. */
- return 2778;
+ return 2789;
}
}
else
@@ -1001,7 +1001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx011xxxxxxxxxxxx1
stnt1d. */
- return 2769;
+ return 2780;
}
else
{
@@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx111xxxxxxxxxxxx1
stnt1d. */
- return 2770;
+ return 2781;
}
}
}
@@ -1021,7 +1021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000001xxxxxxxxxxxxxxxxxxxxx
st1b. */
- return 2403;
+ return 2414;
}
}
else
@@ -1034,7 +1034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000101xxxxxxxxxxxxxxxx0xxxx
sumopa. */
- return 2376;
+ return 2387;
}
else
{
@@ -1042,7 +1042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000101xxxxxxxxxxxxxxxx0xxxx
st1w. */
- return 2405;
+ return 2416;
}
}
else
@@ -1051,7 +1051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx00000101xxxxxxxxxxxxxxxx1xxxx
sumops. */
- return 2378;
+ return 2389;
}
}
}
@@ -1073,7 +1073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx000xxxxxxxxxxxx0
st1b. */
- return 2725;
+ return 2736;
}
else
{
@@ -1081,7 +1081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx100xxxxxxxxxxxx0
st1b. */
- return 2726;
+ return 2737;
}
}
else
@@ -1092,7 +1092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx010xxxxxxxxxxxx0
st1w. */
- return 2749;
+ return 2760;
}
else
{
@@ -1100,7 +1100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx110xxxxxxxxxxxx0
st1w. */
- return 2750;
+ return 2761;
}
}
}
@@ -1114,7 +1114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx001xxxxxxxxxxxx0
st1h. */
- return 2741;
+ return 2752;
}
else
{
@@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx101xxxxxxxxxxxx0
st1h. */
- return 2742;
+ return 2753;
}
}
else
@@ -1133,7 +1133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx011xxxxxxxxxxxx0
st1d. */
- return 2733;
+ return 2744;
}
else
{
@@ -1141,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx111xxxxxxxxxxxx0
st1d. */
- return 2734;
+ return 2745;
}
}
}
@@ -1158,7 +1158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx000xxxxxxxxxxxx1
stnt1b. */
- return 2757;
+ return 2768;
}
else
{
@@ -1166,7 +1166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx100xxxxxxxxxxxx1
stnt1b. */
- return 2758;
+ return 2769;
}
}
else
@@ -1177,7 +1177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx010xxxxxxxxxxxx1
stnt1w. */
- return 2781;
+ return 2792;
}
else
{
@@ -1185,7 +1185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx110xxxxxxxxxxxx1
stnt1w. */
- return 2782;
+ return 2793;
}
}
}
@@ -1199,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx001xxxxxxxxxxxx1
stnt1h. */
- return 2773;
+ return 2784;
}
else
{
@@ -1207,7 +1207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx101xxxxxxxxxxxx1
stnt1h. */
- return 2774;
+ return 2785;
}
}
else
@@ -1218,7 +1218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx011xxxxxxxxxxxx1
stnt1d. */
- return 2765;
+ return 2776;
}
else
{
@@ -1226,7 +1226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx111xxxxxxxxxxxx1
stnt1d. */
- return 2766;
+ return 2777;
}
}
}
@@ -1238,7 +1238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000011xxxxxxxxxxxxxxxxxxxxx
st1h. */
- return 2404;
+ return 2415;
}
}
else
@@ -1251,7 +1251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000111xxxxxxxxxxxxxxxx0xxxx
sumopa. */
- return 2377;
+ return 2388;
}
else
{
@@ -1259,7 +1259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000111xxxxxxxxxxxxxxxx0xxxx
st1d. */
- return 2406;
+ return 2417;
}
}
else
@@ -1268,7 +1268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx00000111xxxxxxxxxxxxxxxx1xxxx
sumops. */
- return 2379;
+ return 2390;
}
}
}
@@ -1318,7 +1318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx000xx
smlall. */
- return 2679;
+ return 2690;
}
else
{
@@ -1326,7 +1326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx001xx
usmlall. */
- return 2884;
+ return 2895;
}
}
else
@@ -1339,7 +1339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xxxxxxxxx000xxx
[...]
[diff truncated at 100000 bytes]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-11-02 13:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-02 13:06 [binutils-gdb] aarch64: Add support for GCS extension SRINATH PARVATHANENI
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).