https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b80240ecba669312b184208c894cfbb2b99d5af9
commit b80240ecba669312b184208c894cfbb2b99d5af9
Author: Ezra Sitorus <ezra.sitorus@arm.com>
Date: Mon Jul 7 15:10:00 2025 +0100
aarch64: Support for FEAT_PCDPHINT
FEAT_PCDPHINT - Producer-consumer data placement hints - is an optional
ISA extension that provides hint instructions to indicate:
- a store in the current execution thread is generating data at a specific
location, which a thread of execution on one or more other observers is
waiting on.
- the thread of execution on the current PE will read a location that may not
yet have been written with the value to be consumed.
This extension introduces:
- STSHH, a hint instruction, with operands (policies) keep and strm
- PRFM *IR*, a new prefetch memory operand.
Diff:
---
gas/config/tc-aarch64.c | 22 +-
gas/testsuite/gas/aarch64/pcdphint-bad.d | 4 +
gas/testsuite/gas/aarch64/pcdphint-bad.l | 9 +
gas/testsuite/gas/aarch64/pcdphint-bad.s | 9 +
gas/testsuite/gas/aarch64/stshh.d | 10 +
gas/testsuite/gas/aarch64/stshh.s | 3 +
gas/testsuite/gas/aarch64/system.d | 6 +-
include/opcode/aarch64.h | 3 +
opcodes/aarch64-asm-2.c | 476 +--
opcodes/aarch64-dis-2.c | 5246 +++++++++++++++---------------
opcodes/aarch64-opc-2.c | 17 +-
opcodes/aarch64-opc.c | 17 +-
opcodes/aarch64-tbl.h | 3 +
13 files changed, 2949 insertions(+), 2876 deletions(-)
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 3dfb0774cdd..0a55adc2dd6 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -4607,7 +4607,9 @@ parse_hint_opt (const char *name, char **str,
&& o->value != HINT_OPD_CSYNC)
|| ((strcmp ("bti", name) == 0)
&& (o->value != HINT_OPD_C && o->value != HINT_OPD_J
- && o->value != HINT_OPD_JC)))
+ && o->value != HINT_OPD_JC))
+ || ((strcmp ("stshh", name) == 0)
+ && (o->value != HINT_OPD_KEEP && o->value != HINT_OPD_STRM)))
return false;
*str = q;
@@ -8106,9 +8108,18 @@ parse_operands (char *str, const aarch64_opcode *opcode)
case AARCH64_OPND_PRFOP:
val = parse_pldop (&str);
+
+ if (opcode->iclass != ldst_pos && val == 0x18)
+ {
+ set_syntax_error (_("invalid prefetch operation (IR is not valid for"
+ " this instruction variant)"));
+ goto failure;
+ }
+
/* This is an extension to accept a 0..31 immediate. */
if (val == PARSE_FAIL)
po_imm_or_fail (0, 31);
+
inst.base.operands[i].prfop = aarch64_prfops + val;
break;
@@ -8188,6 +8199,11 @@ parse_operands (char *str, const aarch64_opcode *opcode)
goto failure;
break;
+ case AARCH64_OPND_STSHH_POLICY:
+ if (!parse_hint_opt (opcode->name, &str, &(info->hint_option)))
+ goto failure;
+ break;
+
case AARCH64_OPND_SME_ZAda_1b:
case AARCH64_OPND_SME_ZAda_2b:
case AARCH64_OPND_SME_ZAda_3b:
@@ -9347,6 +9363,10 @@ try_to_encode_as_unscaled_ldst (aarch64_inst *instr)
if (new_op == OP_NIL)
return false;
+ if ((instr->opcode->op == OP_PRFM_POS)
+ && (instr->operands[0].prfop->value == 0x18))
+ return false;
+
new_opcode = aarch64_get_opcode (new_op);
gas_assert (new_opcode != NULL);
diff --git a/gas/testsuite/gas/aarch64/pcdphint-bad.d b/gas/testsuite/gas/aarch64/pcdphint-bad.d
new file mode 100644
index 00000000000..33373b45356
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pcdphint-bad.d
@@ -0,0 +1,4 @@
+#name: Negative test of PCPHINT instructions.
+#as: -march=armv8-a
+#source: pcdphint-bad.s
+#error_output: pcdphint-bad.l
diff --git a/gas/testsuite/gas/aarch64/pcdphint-bad.l b/gas/testsuite/gas/aarch64/pcdphint-bad.l
new file mode 100644
index 00000000000..e57774eb2a1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pcdphint-bad.l
@@ -0,0 +1,9 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: operand 1 must be an STSHH policy \(keep/strm\) -- `stshh kee'
+[^ :]+:[0-9]+: Error: operand 1 must be an STSHH policy \(keep/strm\) -- `stshh strmm'
+[^ :]+:[0-9]+: Error: operand 1 must be an STSHH policy \(keep/strm\) -- `stshh'
+[^ :]+:[0-9]+: Error: constant expression required at operand 1 -- `prfm ir1234'
+[^ :]+:[0-9]+: Error: invalid addressing mode at operand 2 -- `prfm ir,\[sp,x0,lsl#0\]'
+[^ :]+:[0-9]+: Error: invalid addressing mode at operand 2 -- `prfm ir,a'
+[^ :]+:[0-9]+: Error: invalid prefetch operation \(IR is not valid for this instruction variant\) at operand 1 -- `prfum ir,\[x0\]'
+[^ :]+:[0-9]+: Error: immediate offset out of range
diff --git a/gas/testsuite/gas/aarch64/pcdphint-bad.s b/gas/testsuite/gas/aarch64/pcdphint-bad.s
new file mode 100644
index 00000000000..f49652217bb
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pcdphint-bad.s
@@ -0,0 +1,9 @@
+a:
+ stshh kee
+ stshh strmm
+ stshh
+ prfm ir1234
+ prfm ir, [sp, x0, lsl #0]
+ prfm ir, a
+ prfum ir, [x0]
+ prfm ir, [x0, #15]
diff --git a/gas/testsuite/gas/aarch64/stshh.d b/gas/testsuite/gas/aarch64/stshh.d
new file mode 100644
index 00000000000..095048d143f
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/stshh.d
@@ -0,0 +1,10 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+.*: d503261f stshh keep
+.*: d503263f stshh strm
diff --git a/gas/testsuite/gas/aarch64/stshh.s b/gas/testsuite/gas/aarch64/stshh.s
new file mode 100644
index 00000000000..1e306cd1a31
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/stshh.s
@@ -0,0 +1,3 @@
+a:
+ stshh keep
+ stshh strm
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index 8c1a113b331..ee84793d761 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -66,8 +66,8 @@ Disassembly of section \.text:
.*: d50325bf hint #0x2d
.*: d50325df hint #0x2e
.*: d50325ff hint #0x2f
-.*: d503261f hint #0x30
-.*: d503263f hint #0x31
+.*: d503261f (hint #0x30|stshh keep)
+.*: d503263f (hint #0x31|stshh strm)
.*: d503265f hint #0x32
.*: d503267f hint #0x33
.*: d503269f hint #0x34
@@ -335,7 +335,7 @@ Disassembly of section \.text:
.*: f9800c77 prfm pstslcstrm, \[x3, #24\]
.*: d8000018 prfm #0x18, 0 <LABEL1>
.*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1
-.*: f9800c78 prfm #0x18, \[x3, #24\]
+.*: f9800c78 prfm ir, \[x3, #24\]
.*: d8000019 prfm #0x19, 0 <LABEL1>
.*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1
.*: f9800c79 prfm #0x19, \[x3, #24\]
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index dab6eacb5f8..f6dc8fd2fc9 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -783,6 +783,7 @@ enum aarch64_opnd
AARCH64_OPND_BARRIER_PSB, /* Barrier operand for PSB. */
AARCH64_OPND_BARRIER_GCSB, /* Barrier operand for GCSB. */
AARCH64_OPND_BTI_TARGET, /* BTI {<target>}. */
+ AARCH64_OPND_STSHH_POLICY, /* STSHH {<policy>}. */
AARCH64_OPND_BRBOP, /* BRB operation IALL or INJ in bit 5. */
AARCH64_OPND_Rt_IN_SYS_ALIASES, /* Defaulted and omitted Rt used in SYS aliases such as brb. */
AARCH64_OPND_LSE128_Rt, /* LSE128 <Xt1>. */
@@ -1878,6 +1879,8 @@ struct aarch64_inst
#define HINT_OPD_C 0x22
#define HINT_OPD_J 0x24
#define HINT_OPD_JC 0x26
+#define HINT_OPD_KEEP 0x30
+#define HINT_OPD_STRM 0x31
#define HINT_OPD_NULL 0x00
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index 9630c04bc38..b139d7cc542 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -490,216 +490,213 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 1270: /* movz */
value = 1270; /* --> movz. */
break;
- case 3316: /* clrbhb */
- case 1351: /* autibsp */
- case 1350: /* autibz */
- case 1349: /* autiasp */
- case 1348: /* autiaz */
- case 1347: /* pacibsp */
- case 1346: /* pacibz */
- case 1345: /* paciasp */
- case 1344: /* paciaz */
- case 1323: /* gcsb */
- case 1303: /* clearbhb */
- case 1302: /* tsb */
- case 1301: /* psb */
- case 1300: /* esb */
- case 1299: /* autib1716 */
- case 1298: /* autia1716 */
- case 1297: /* pacib1716 */
- case 1296: /* pacia1716 */
- case 1295: /* xpaclri */
- case 1294: /* dgh */
- case 1293: /* sevl */
- case 1292: /* sev */
- case 1291: /* wfi */
- case 1290: /* wfe */
- case 1289: /* yield */
- case 1288: /* bti */
- case 1287: /* csdb */
- case 1286: /* nop */
- case 1285: /* hint */
- value = 1285; /* --> hint. */
- break;
- case 1309: /* pssbb */
- case 1308: /* ssbb */
- case 1307: /* dfb */
- case 1305: /* dsb */
- value = 1305; /* --> dsb. */
- break;
+ case 3317: /* clrbhb */
+ case 1352: /* autibsp */
+ case 1351: /* autibz */
+ case 1350: /* autiasp */
+ case 1349: /* autiaz */
+ case 1348: /* pacibsp */
+ case 1347: /* pacibz */
+ case 1346: /* paciasp */
+ case 1345: /* paciaz */
+ case 1324: /* gcsb */
+ case 1304: /* clearbhb */
+ case 1303: /* tsb */
+ case 1302: /* psb */
+ case 1301: /* esb */
+ case 1300: /* autib1716 */
+ case 1299: /* autia1716 */
+ case 1298: /* pacib1716 */
+ case 1297: /* pacia1716 */
+ case 1296: /* xpaclri */
+ case 1295: /* dgh */
+ case 1294: /* sevl */
+ case 1293: /* sev */
+ case 1292: /* wfi */
+ case 1291: /* wfe */
+ case 1290: /* yield */
+ case 1289: /* bti */
+ case 1288: /* csdb */
+ case 1287: /* nop */
+ case 1284: /* stshh */
+ case 1286: /* hint */
+ value = 1286; /* --> hint. */
+ break;
+ case 1310: /* pssbb */
+ case 1309: /* ssbb */
+ case 1308: /* dfb */
case 1306: /* dsb */
value = 1306; /* --> dsb. */
break;
- case 3317: /* trcit */
- case 1337: /* brb */
- case 1336: /* cosp */
- case 1335: /* cpp */
- case 1334: /* dvp */
- case 1333: /* cfp */
- case 1329: /* tlbi */
- case 1328: /* ic */
- case 1327: /* dc */
- case 1326: /* at */
- case 1324: /* sys */
- value = 1324; /* --> sys. */
- break;
- case 1330: /* tlbip */
- case 1325: /* sysp */
- value = 1325; /* --> sysp. */
- break;
- case 1331: /* wfet */
- value = 1331; /* --> wfet. */
- break;
- case 1332: /* wfit */
- value = 1332; /* --> wfit. */
- break;
- case 2137: /* bic */
- case 1400: /* and */
- value = 1400; /* --> and. */
+ case 1307: /* dsb */
+ value = 1307; /* --> dsb. */
break;
- case 1383: /* mov */
- case 1402: /* and */
- value = 1402; /* --> and. */
+ case 3318: /* trcit */
+ case 1338: /* brb */
+ case 1337: /* cosp */
+ case 1336: /* cpp */
+ case 1335: /* dvp */
+ case 1334: /* cfp */
+ case 1330: /* tlbi */
+ case 1329: /* ic */
+ case 1328: /* dc */
+ case 1327: /* at */
+ case 1325: /* sys */
+ value = 1325; /* --> sys. */
break;
- case 1387: /* movs */
- case 1403: /* ands */
- value = 1403; /* --> ands. */
+ case 1331: /* tlbip */
+ case 1326: /* sysp */
+ value = 1326; /* --> sysp. */
break;
- case 2138: /* cmple */
- case 1438: /* cmpge */
- value = 1438; /* --> cmpge. */
+ case 1332: /* wfet */
+ value = 1332; /* --> wfet. */
break;
- case 2141: /* cmplt */
- case 1441: /* cmpgt */
- value = 1441; /* --> cmpgt. */
+ case 1333: /* wfit */
+ value = 1333; /* --> wfit. */
break;
- case 2139: /* cmplo */
- case 1443: /* cmphi */
- value = 1443; /* --> cmphi. */
+ case 2138: /* bic */
+ case 1401: /* and */
+ value = 1401; /* --> and. */
break;
- case 2140: /* cmpls */
- case 1446: /* cmphs */
- value = 1446; /* --> cmphs. */
+ case 1384: /* mov */
+ case 1403: /* and */
+ value = 1403; /* --> and. */
break;
- case 1380: /* mov */
- case 1468: /* cpy */
- value = 1468; /* --> cpy. */
+ case 1388: /* movs */
+ case 1404: /* ands */
+ value = 1404; /* --> ands. */
break;
- case 1382: /* mov */
+ case 2139: /* cmple */
+ case 1439: /* cmpge */
+ value = 1439; /* --> cmpge. */
+ break;
+ case 2142: /* cmplt */
+ case 1442: /* cmpgt */
+ value = 1442; /* --> cmpgt. */
+ break;
+ case 2140: /* cmplo */
+ case 1444: /* cmphi */
+ value = 1444; /* --> cmphi. */
+ break;
+ case 2141: /* cmpls */
+ case 1447: /* cmphs */
+ value = 1447; /* --> cmphs. */
+ break;
+ case 1381: /* mov */
case 1469: /* cpy */
value = 1469; /* --> cpy. */
break;
- case 2148: /* fmov */
- case 1385: /* mov */
+ case 1383: /* mov */
case 1470: /* cpy */
value = 1470; /* --> cpy. */
break;
- case 1374: /* mov */
- case 1482: /* dup */
- value = 1482; /* --> dup. */
+ case 2149: /* fmov */
+ case 1386: /* mov */
+ case 1471: /* cpy */
+ value = 1471; /* --> cpy. */
break;
- case 1377: /* mov */
- case 1373: /* mov */
+ case 1375: /* mov */
case 1483: /* dup */
value = 1483; /* --> dup. */
break;
- case 2147: /* fmov */
- case 1379: /* mov */
+ case 1378: /* mov */
+ case 1374: /* mov */
case 1484: /* dup */
value = 1484; /* --> dup. */
break;
- case 1378: /* mov */
- case 1485: /* dupm */
- value = 1485; /* --> dupm. */
+ case 2148: /* fmov */
+ case 1380: /* mov */
+ case 1485: /* dup */
+ value = 1485; /* --> dup. */
break;
- case 2142: /* eon */
- case 1487: /* eor */
- value = 1487; /* --> eor. */
+ case 1379: /* mov */
+ case 1486: /* dupm */
+ value = 1486; /* --> dupm. */
break;
- case 1388: /* not */
- case 1489: /* eor */
- value = 1489; /* --> eor. */
+ case 2143: /* eon */
+ case 1488: /* eor */
+ value = 1488; /* --> eor. */
break;
- case 1389: /* nots */
- case 1490: /* eors */
- value = 1490; /* --> eors. */
+ case 1389: /* not */
+ case 1490: /* eor */
+ value = 1490; /* --> eor. */
break;
- case 2143: /* facle */
- case 1495: /* facge */
- value = 1495; /* --> facge. */
+ case 1390: /* nots */
+ case 1491: /* eors */
+ value = 1491; /* --> eors. */
break;
- case 2144: /* faclt */
- case 1496: /* facgt */
- value = 1496; /* --> facgt. */
+ case 2144: /* facle */
+ case 1496: /* facge */
+ value = 1496; /* --> facge. */
break;
- case 2145: /* fcmle */
- case 1509: /* fcmge */
- value = 1509; /* --> fcmge. */
+ case 2145: /* faclt */
+ case 1497: /* facgt */
+ value = 1497; /* --> facgt. */
break;
- case 2146: /* fcmlt */
- case 1511: /* fcmgt */
- value = 1511; /* --> fcmgt. */
+ case 2146: /* fcmle */
+ case 1510: /* fcmge */
+ value = 1510; /* --> fcmge. */
break;
- case 1371: /* fmov */
- case 1517: /* fcpy */
- value = 1517; /* --> fcpy. */
+ case 2147: /* fcmlt */
+ case 1512: /* fcmgt */
+ value = 1512; /* --> fcmgt. */
break;
- case 1370: /* fmov */
- case 1540: /* fdup */
- value = 1540; /* --> fdup. */
+ case 1372: /* fmov */
+ case 1518: /* fcpy */
+ value = 1518; /* --> fcpy. */
break;
- case 1826: /* ldr */
- case 1825: /* ldr */
- value = 1825; /* --> ldr. */
+ case 1371: /* fmov */
+ case 1541: /* fdup */
+ value = 1541; /* --> fdup. */
break;
- case 1372: /* mov */
- case 1856: /* orr */
- value = 1856; /* --> orr. */
+ case 1827: /* ldr */
+ case 1826: /* ldr */
+ value = 1826; /* --> ldr. */
break;
- case 2149: /* orn */
+ case 1373: /* mov */
case 1857: /* orr */
value = 1857; /* --> orr. */
break;
+ case 2150: /* orn */
+ case 1858: /* orr */
+ value = 1858; /* --> orr. */
+ break;
+ case 1377: /* mov */
case 1376: /* mov */
- case 1375: /* mov */
- case 1859: /* orr */
- value = 1859; /* --> orr. */
+ case 1860: /* orr */
+ value = 1860; /* --> orr. */
break;
- case 1386: /* movs */
- case 1860: /* orrs */
- value = 1860; /* --> orrs. */
+ case 1387: /* movs */
+ case 1861: /* orrs */
+ value = 1861; /* --> orrs. */
break;
+ case 1864: /* pfalse */
case 1863: /* pfalse */
- case 1862: /* pfalse */
- value = 1862; /* --> pfalse. */
- break;
- case 1381: /* mov */
- case 1923: /* sel */
- value = 1923; /* --> sel. */
+ value = 1863; /* --> pfalse. */
break;
- case 1384: /* mov */
+ case 1382: /* mov */
case 1924: /* sel */
value = 1924; /* --> sel. */
break;
- case 2045: /* str */
- case 2044: /* str */
- value = 2044; /* --> str. */
+ case 1385: /* mov */
+ case 1925: /* sel */
+ value = 1925; /* --> sel. */
break;
- case 2472: /* mov */
- case 2474: /* mova */
- value = 2474; /* --> mova. */
+ case 2046: /* str */
+ case 2045: /* str */
+ value = 2045; /* --> str. */
break;
case 2473: /* mov */
case 2475: /* mova */
value = 2475; /* --> mova. */
break;
- case 2493: /* psel */
- case 2492: /* psel */
- value = 2492; /* --> psel. */
+ case 2474: /* mov */
+ case 2476: /* mova */
+ value = 2476; /* --> mova. */
break;
- case 2698: /* mov */
- case 2706: /* mova */
- value = 2706; /* --> mova. */
+ case 2494: /* psel */
+ case 2493: /* psel */
+ value = 2493; /* --> psel. */
break;
case 2699: /* mov */
case 2707: /* mova */
@@ -729,6 +726,10 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 2713: /* mova */
value = 2713; /* --> mova. */
break;
+ case 2706: /* mov */
+ case 2714: /* mova */
+ value = 2714; /* --> mova. */
+ break;
default: return NULL;
}
@@ -772,10 +773,9 @@ aarch64_insert_operand (const aarch64_operand *self,
case 32:
case 33:
case 34:
- case 126:
case 127:
case 128:
- case 191:
+ case 129:
case 192:
case 193:
case 194:
@@ -789,34 +789,35 @@ aarch64_insert_operand (const aarch64_operand *self,
case 202:
case 203:
case 204:
- case 220:
+ case 205:
case 221:
case 222:
case 223:
- case 233:
+ case 224:
case 234:
case 235:
case 236:
case 237:
- case 248:
- case 252:
- case 256:
+ case 238:
+ case 249:
+ case 253:
case 257:
- case 265:
+ case 258:
case 266:
case 267:
- case 274:
+ case 268:
case 275:
case 276:
case 277:
- case 311:
- case 315:
+ case 278:
+ case 312:
+ case 316:
return aarch64_ins_regno (self, info, code, inst, errors);
case 6:
case 122:
case 123:
- case 321:
- case 324:
+ case 322:
+ case 325:
return aarch64_ins_none (self, info, code, inst, errors);
case 17:
return aarch64_ins_reg_extended (self, info, code, inst, errors);
@@ -831,17 +832,16 @@ aarch64_insert_operand (const aarch64_operand *self,
case 37:
case 38:
case 39:
- case 326:
+ case 327:
return aarch64_ins_reglane (self, info, code, inst, errors);
case 40:
case 41:
case 42:
- case 238:
case 239:
- case 242:
- case 278:
+ case 240:
+ case 243:
case 279:
- case 294:
+ case 280:
case 295:
case 296:
case 297:
@@ -858,12 +858,13 @@ aarch64_insert_operand (const aarch64_operand *self,
case 308:
case 309:
case 310:
- case 312:
+ case 311:
case 313:
case 314:
- case 316:
+ case 315:
case 317:
case 318:
+ case 319:
return aarch64_ins_simple_index (self, info, code, inst, errors);
case 43:
return aarch64_ins_reglist (self, info, code, inst, errors);
@@ -904,10 +905,9 @@ aarch64_insert_operand (const aarch64_operand *self,
case 94:
case 95:
case 121:
- case 125:
- case 188:
- case 190:
- case 211:
+ case 126:
+ case 189:
+ case 191:
case 212:
case 213:
case 214:
@@ -916,14 +916,15 @@ aarch64_insert_operand (const aarch64_operand *self,
case 217:
case 218:
case 219:
- case 280:
- case 319:
+ case 220:
+ case 281:
case 320:
- case 322:
+ case 321:
case 323:
- case 325:
- case 330:
+ case 324:
+ case 326:
case 331:
+ case 332:
return aarch64_ins_imm (self, info, code, inst, errors);
case 52:
case 53:
@@ -933,10 +934,10 @@ aarch64_insert_operand (const aarch64_operand *self,
case 56:
return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
case 60:
- case 178:
+ case 179:
return aarch64_ins_fpimm (self, info, code, inst, errors);
case 80:
- case 186:
+ case 187:
return aarch64_ins_limm (self, info, code, inst, errors);
case 81:
return aarch64_ins_aimm (self, info, code, inst, errors);
@@ -946,11 +947,11 @@ aarch64_insert_operand (const aarch64_operand *self,
return aarch64_ins_fbits (self, info, code, inst, errors);
case 85:
case 86:
- case 183:
+ case 184:
return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
case 87:
- case 182:
- case 184:
+ case 183:
+ case 185:
return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
case 88:
case 89:
@@ -994,25 +995,25 @@ aarch64_insert_operand (const aarch64_operand *self,
case 120:
return aarch64_ins_prfop (self, info, code, inst, errors);
case 124:
+ case 125:
return aarch64_ins_hint (self, info, code, inst, errors);
- case 129:
case 130:
- return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case 131:
+ return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case 132:
case 133:
case 134:
- return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 135:
- 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 136:
- 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 137:
+ return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 138:
case 139:
case 140:
- return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 141:
+ return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 142:
case 143:
case 144:
@@ -1032,8 +1033,8 @@ aarch64_insert_operand (const aarch64_operand *self,
case 158:
case 159:
case 160:
- return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 161:
+ return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 162:
case 163:
case 164:
@@ -1041,115 +1042,116 @@ aarch64_insert_operand (const aarch64_operand *self,
case 166:
case 167:
case 168:
- return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 169:
+ return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 170:
case 171:
case 172:
- return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case 173:
- 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 174:
- 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 175:
- 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 176:
- return aarch64_ins_sve_aimm (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
case 177:
+ return aarch64_ins_sve_aimm (self, info, code, inst, errors);
+ case 178:
return aarch64_ins_sve_asimm (self, info, code, inst, errors);
- case 179:
- return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
case 180:
- 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 181:
+ return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+ case 182:
return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
- case 185:
+ case 186:
return aarch64_ins_inv_limm (self, info, code, inst, errors);
- case 187:
+ case 188:
return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
- case 189:
+ case 190:
return aarch64_ins_sve_scale (self, info, code, inst, errors);
- case 205:
case 206:
case 207:
- return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
case 208:
+ return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
case 209:
case 210:
- case 293:
+ case 211:
+ case 294:
return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
- case 224:
case 225:
case 226:
case 227:
- return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors);
case 228:
+ return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors);
case 229:
case 230:
case 231:
- return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors);
case 232:
+ return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors);
+ case 233:
return aarch64_ins_sme_za_tile_to_vec (self, info, code, inst, errors);
- case 240:
case 241:
- case 243:
+ case 242:
case 244:
case 245:
case 246:
case 247:
+ case 248:
return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
- case 249:
case 250:
- return aarch64_ins_sve_index (self, info, code, inst, errors);
case 251:
- case 253:
- case 273:
- return aarch64_ins_sve_reglist (self, info, code, inst, errors);
+ return aarch64_ins_sve_index (self, info, code, inst, errors);
+ case 252:
case 254:
+ case 274:
+ return aarch64_ins_sve_reglist (self, info, code, inst, errors);
case 255:
- case 258:
+ case 256:
case 259:
case 260:
case 261:
case 262:
- case 272:
- return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case 263:
+ case 273:
+ return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case 264:
+ case 265:
return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
- case 268:
- case 270:
- case 281:
- return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
case 269:
case 271:
- return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
case 282:
+ return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
+ case 270:
+ case 272:
+ return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
case 283:
case 284:
case 285:
case 286:
case 287:
case 288:
- return aarch64_ins_sme_za_array (self, info, code, inst, errors);
case 289:
- return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
+ return aarch64_ins_sme_za_array (self, info, code, inst, errors);
case 290:
- return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
+ return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
case 291:
- 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 292:
+ return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
+ case 293:
return aarch64_ins_plain_shrimm (self, info, code, inst, errors);
- case 327:
case 328:
case 329:
+ case 330:
return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
- case 332:
case 333:
case 334:
case 335:
- return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
case 336:
+ return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
+ case 337:
return aarch64_ins_rcpc3_addr_offset (self, info, code, inst, errors);
default: assert (0); abort ();
}
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 1460a926824..16929d111c4 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 2449;
+ return 2450;
}
else
{
@@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx10xxx
fmops. */
- return 2452;
+ return 2453;
}
}
else
@@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx01xxx
bmopa. */
- return 2553;
+ return 2554;
}
else
{
@@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx11xxx
bmops. */
- return 2554;
+ return 2555;
}
}
}
@@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx0xxxx
fmopa. */
- return 2450;
+ return 2451;
}
else
{
@@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx1xxxx
fmops. */
- return 2453;
+ return 2454;
}
}
}
@@ -128,7 +128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx00000xxxxxxxxxxxxxxxxx
mova. */
- return 2475;
+ return 2476;
}
else
{
@@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010000xxxxxxxxxxxxxxxx
addha. */
- return 2441;
+ return 2442;
}
else
{
@@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010000xxxxxxxxxxxxxxxx
addha. */
- return 2442;
+ return 2443;
}
}
else
@@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010001xxxxxxxxxxxxxxxx
addva. */
- return 2445;
+ return 2446;
}
else
{
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010001xxxxxxxxxxxxxxxx
addva. */
- return 2446;
+ return 2447;
}
}
}
@@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x100xxxxxxxxxxxxxxxxx
zero. */
- return 2476;
+ return 2477;
}
else
{
@@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x10x100xxxxxxxxxxxxxxxxx
zero. */
- return 2983;
+ return 2984;
}
}
}
@@ -202,7 +202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x001xxxxxxx0xxxxxxxxx
mova. */
- return 2474;
+ return 2475;
}
else
{
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3448;
+ return 3449;
}
else
{
@@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3450;
+ return 3451;
}
}
else
@@ -235,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3449;
+ return 3450;
}
else
{
@@ -243,7 +243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3451;
+ return 3452;
}
}
}
@@ -253,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x0011xxxxxx1xxxxxxxxx
movaz. */
- return 3452;
+ return 3453;
}
}
}
@@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x00xxxxxxxxxxxxxx
luti4. */
- return 3588;
+ return 3589;
}
else
{
@@ -279,7 +279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x10xxxxxxxxxxxxxx
luti4. */
- return 2697;
+ return 2698;
}
}
else
@@ -288,7 +288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101xx1xxxxxxxxxxxxxx
luti4. */
- return 2696;
+ return 2697;
}
}
else
@@ -297,7 +297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x100101xxxxxxxxxxxxxxxxx
luti4. */
- return 2695;
+ return 2696;
}
}
else
@@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x00xxxxxxxxxxxxxx
luti4. */
- return 3589;
+ return 3590;
}
else
{
@@ -318,7 +318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x10xxxxxxxxxxxxxx
luti4. */
- return 3445;
+ return 3446;
}
}
else
@@ -327,7 +327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101xx1xxxxxxxxxxxxxx
luti4. */
- return 3444;
+ return 3445;
}
}
}
@@ -347,7 +347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x010xxxxx00xxxxxxxxxx
mova. */
- return 2712;
+ return 2713;
}
else
{
@@ -357,7 +357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x011xxxxx000xxxxxxxxx
mova. */
- return 2708;
+ return 2709;
}
else
{
@@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x011xxxxx001xxxxxxxxx
movaz. */
- return 3438;
+ return 3439;
}
else
{
@@ -377,7 +377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x011xxxxx001xxxxxxxxx
movaz. */
- return 3440;
+ return 3441;
}
}
else
@@ -388,7 +388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x011xxxxx001xxxxxxxxx
movaz. */
- return 3439;
+ return 3440;
}
else
{
@@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x011xxxxx001xxxxxxxxx
movaz. */
- return 3441;
+ return 3442;
}
}
}
@@ -420,7 +420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011000xxx00xxxxxxxxxx
zero. */
- return 3453;
+ return 3454;
}
else
{
@@ -428,7 +428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011100xxx00xxxxxxxxxx
zero. */
- return 3454;
+ return 3455;
}
}
else
@@ -439,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011010xxx00xxxxxxxxxx
zero. */
- return 3456;
+ return 3457;
}
else
{
@@ -447,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011110xxx00xxxxxxxxxx
zero. */
- return 3459;
+ return 3460;
}
}
}
@@ -461,7 +461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011001xxx00xxxxxxxxxx
zero. */
- return 3455;
+ return 3456;
}
else
{
@@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011101xxx00xxxxxxxxxx
zero. */
- return 3458;
+ return 3459;
}
}
else
@@ -480,7 +480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011011xxx00xxxxxxxxxx
zero. */
- return 3457;
+ return 3458;
}
else
{
@@ -488,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011111xxx00xxxxxxxxxx
zero. */
- return 3460;
+ return 3461;
}
}
}
@@ -501,7 +501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx0xx00xxxxxxxxxx
luti2. */
- return 2694;
+ return 2695;
}
else
{
@@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx1xx00xxxxxxxxxx
luti2. */
- return 2693;
+ return 2694;
}
}
}
@@ -525,7 +525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001100xxxx00xxxxxxxxxx
movt. */
- return 2715;
+ return 2716;
}
else
{
@@ -533,7 +533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001110xxxx00xxxxxxxxxx
movt. */
- return 2714;
+ return 2715;
}
}
else
@@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010011x1xxxx00xxxxxxxxxx
movt. */
- return 3590;
+ return 3591;
}
}
else
@@ -551,7 +551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110011xxxxxx00xxxxxxxxxx
luti2. */
- return 2692;
+ return 2693;
}
}
}
@@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx0xx00xxxxxxxxxx
luti2. */
- return 3443;
+ return 3444;
}
else
{
@@ -571,7 +571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx1xx00xxxxxxxxxx
luti2. */
- return 3442;
+ return 3443;
}
}
}
@@ -584,7 +584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx10xxxxxxxxxx
mova. */
- return 2710;
+ return 2711;
}
else
{
@@ -594,7 +594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx100xxxxxxxxx
mova. */
- return 2706;
+ return 2707;
}
else
{
@@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx101xxxxxxxxx
movaz. */
- return 3446;
+ return 3447;
}
}
}
@@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx01xxxxxxxxxx
mova. */
- return 2713;
+ return 2714;
}
else
{
@@ -627,7 +627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx010xxxxxxxxx
mova. */
- return 2709;
+ return 2710;
}
else
{
@@ -639,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000xx11xxxxx011xxxxxxxxx
movaz. */
- return 3434;
+ return 3435;
}
else
{
@@ -647,7 +647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100xx11xxxxx011xxxxxxxxx
movaz. */
- return 3436;
+ return 3437;
}
}
else
@@ -658,7 +658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010xx11xxxxx011xxxxxxxxx
movaz. */
- return 3435;
+ return 3436;
}
else
{
@@ -666,7 +666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110xx11xxxxx011xxxxxxxxx
movaz. */
- return 3437;
+ return 3438;
}
}
}
@@ -680,7 +680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx11xxxxxxxxxx
mova. */
- return 2711;
+ return 2712;
}
else
{
@@ -690,7 +690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx110xxxxxxxxx
mova. */
- return 2707;
+ return 2708;
}
else
{
@@ -698,7 +698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx111xxxxxxxxx
movaz. */
- return 3447;
+ return 3448;
}
}
}
@@ -726,7 +726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2631;
+ return 2632;
}
else
{
@@ -734,7 +734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2632;
+ return 2633;
}
}
else
@@ -745,7 +745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2655;
+ return 2656;
}
else
{
@@ -753,7 +753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2656;
+ return 2657;
}
}
}
@@ -767,7 +767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2647;
+ return 2648;
}
else
{
@@ -775,7 +775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2648;
+ return 2649;
}
}
else
@@ -786,7 +786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2639;
+ return 2640;
}
else
{
@@ -794,7 +794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2640;
+ return 2641;
}
}
}
@@ -811,7 +811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2663;
+ return 2664;
}
else
{
@@ -819,7 +819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2664;
+ return 2665;
}
}
else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2687;
+ return 2688;
}
else
{
@@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2688;
+ return 2689;
}
}
}
@@ -852,7 +852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2679;
+ return 2680;
}
else
{
@@ -860,7 +860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2680;
+ return 2681;
}
}
else
@@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2671;
+ return 2672;
}
else
{
@@ -879,7 +879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2672;
+ return 2673;
}
}
}
@@ -891,7 +891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000000xxxxxxxxxxxxxxxxxxxxx
ld1b. */
- return 2477;
+ return 2478;
}
}
else
@@ -906,7 +906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx00xxx
smopa. */
- return 2456;
+ return 2457;
}
else
{
@@ -914,7 +914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx01xxx
smopa. */
- return 2777;
+ return 2778;
}
}
else
@@ -923,7 +923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000100xxxxxxxxxxxxxxxx0xxxx
ld1w. */
- return 2479;
+ return 2480;
}
}
else
@@ -934,7 +934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx10xxx
smops. */
- return 2458;
+ return 2459;
}
else
{
@@ -942,7 +942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx11xxx
smops. */
- return 2778;
+ return 2779;
}
}
}
@@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2627;
+ return 2628;
}
else
{
@@ -973,7 +973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2628;
+ return 2629;
}
}
else
@@ -984,7 +984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2651;
+ return 2652;
}
else
{
@@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2652;
+ return 2653;
}
}
}
@@ -1006,7 +1006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2643;
+ return 2644;
}
else
{
@@ -1014,7 +1014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2644;
+ return 2645;
}
}
else
@@ -1025,7 +1025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2635;
+ return 2636;
}
else
{
@@ -1033,7 +1033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2636;
+ return 2637;
}
}
}
@@ -1050,7 +1050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2659;
+ return 2660;
}
else
{
@@ -1058,7 +1058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2660;
+ return 2661;
}
}
else
@@ -1069,7 +1069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2683;
+ return 2684;
}
else
{
@@ -1077,7 +1077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2684;
+ return 2685;
}
}
}
@@ -1091,7 +1091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2675;
+ return 2676;
}
else
{
@@ -1099,7 +1099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2676;
+ return 2677;
}
}
else
@@ -1110,7 +1110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2667;
+ return 2668;
}
else
{
@@ -1118,7 +1118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2668;
+ return 2669;
}
}
}
@@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000010xxxxxxxxxxxxxxxxxxxxx
ld1h. */
- return 2478;
+ return 2479;
}
}
else
@@ -1143,7 +1143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000110xxxxxxxxxxxxxxxx0xxxx
smopa. */
- return 2457;
+ return 2458;
}
else
{
@@ -1151,7 +1151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000110xxxxxxxxxxxxxxxx0xxxx
ld1d. */
- return 2480;
+ return 2481;
}
}
else
@@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000110xxxxxxxxxxxxxxxx1xxxx
smops. */
- return 2459;
+ return 2460;
}
}
}
@@ -1186,7 +1186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx000xxxxxxxxxxxx0
st1b. */
- return 2803;
+ return 2804;
}
else
{
@@ -1194,7 +1194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx100xxxxxxxxxxxx0
st1b. */
- return 2804;
+ return 2805;
}
}
else
@@ -1205,7 +1205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx010xxxxxxxxxxxx0
st1w. */
- return 2827;
+ return 2828;
}
else
{
@@ -1213,7 +1213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx110xxxxxxxxxxxx0
st1w. */
- return 2828;
+ return 2829;
}
}
}
@@ -1227,7 +1227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx001xxxxxxxxxxxx0
st1h. */
- return 2819;
+ return 2820;
}
else
{
@@ -1235,7 +1235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx101xxxxxxxxxxxx0
st1h. */
- return 2820;
+ return 2821;
}
}
else
@@ -1246,7 +1246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx011xxxxxxxxxxxx0
st1d. */
- return 2811;
+ return 2812;
}
else
{
@@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx111xxxxxxxxxxxx0
st1d. */
- return 2812;
+ return 2813;
}
}
}
@@ -1271,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx000xxxxxxxxxxxx1
stnt1b. */
- return 2835;
+ return 2836;
}
else
{
@@ -1279,7 +1279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx100xxxxxxxxxxxx1
stnt1b. */
- return 2836;
+ return 2837;
}
}
else
@@ -1290,7 +1290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx010xxxxxxxxxxxx1
stnt1w. */
- return 2859;
+ return 2860;
}
[...]
[diff truncated at 100000 bytes]