From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7922) id 3436B3858D33; Tue, 7 Nov 2023 21:55:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3436B3858D33 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Victor Do Nascimento To: bfd-cvs@sourceware.org Subject: [binutils-gdb] aarch64: Add LSE128 instructions X-Act-Checkin: binutils-gdb X-Git-Author: Victor Do Nascimento X-Git-Refname: refs/heads/master X-Git-Oldrev: f0d70d8ee63b6f6a59cf4a10268f546b0bc80777 X-Git-Newrev: f3f6c0df60c4e8a6c3409db4f23f2cdec5a9d41c Message-Id: <20231107215539.3436B3858D33@sourceware.org> Date: Tue, 7 Nov 2023 21:55:39 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Nov 2023 21:55:39 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Df3f6c0df60c4= e8a6c3409db4f23f2cdec5a9d41c commit f3f6c0df60c4e8a6c3409db4f23f2cdec5a9d41c Author: Victor Do Nascimento Date: Tue Sep 12 13:10:14 2023 +0100 aarch64: Add LSE128 instructions =20 Implement, together with the necessary tests, the following new LSE128 atomic instructions: =20 * Atomic bit clear on quadword in memory (ldclrp{a|l|al}); * Atomic bit set on quadword in memory (ldsetp{a|l|al}); * Swap quadword in memory (swpp{a|l|al}); =20 gas/ChangeLog: =20 * testsuite/gas/aarch64/lse128-atomic.d: New. * testsuite/gas/aarch64/lse128-atomic.s: Likewise. =20 opcodes/ChangeLog: =20 * aarch64-tbl.h (ldclrp): new _LSE128_INSN entry. (ldclrpa): Likewise. (ldclrpal): Likewise. (ldclrpl): Likewise. (ldsetp): Likewise. (ldsetpa): Likewise. (ldsetpal): Likewise. (ldsetpl): Likewise. (swpp): Likewise. (swppa): Likewise. (swppal): Likewise. (swppl): Likewise. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Likewise. * aarch64-opc-2.c: Likewise. Diff: --- gas/NEWS | 2 + gas/testsuite/gas/aarch64/lse128-atomic.d | 32 + gas/testsuite/gas/aarch64/lse128-atomic.s | 33 + opcodes/aarch64-asm-2.c | 476 +-- opcodes/aarch64-dis-2.c | 4444 +++++++++++++++----------= ---- opcodes/aarch64-opc-2.c | 32 +- opcodes/aarch64-tbl.h | 13 + 7 files changed, 2625 insertions(+), 2407 deletions(-) diff --git a/gas/NEWS b/gas/NEWS index a6ac839b024..ddf48fca37b 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -1,5 +1,7 @@ -*- text -*- =20 +* Add support for 128-bit Atomic Instructions (LSE128) for AArch64. + * Add support for Guarded Control Stack (GCS) for AArch64. =20 * Add support for AArch64 Check Feature Status Extension (CHK). diff --git a/gas/testsuite/gas/aarch64/lse128-atomic.d b/gas/testsuite/gas/= aarch64/lse128-atomic.d new file mode 100644 index 00000000000..bea83fe3642 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lse128-atomic.d @@ -0,0 +1,32 @@ +#objdump: -dr +#as:-march=3Darmv9-a+lse128 + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: + 0: 19211040 ldclrp x0, x1, \[x2\] + 4: 192313e2 ldclrp x2, x3, \[sp\] + 8: 19a11040 ldclrpa x0, x1, \[x2\] + c: 19a313e2 ldclrpa x2, x3, \[sp\] + 10: 19e11040 ldclrpal x0, x1, \[x2\] + 14: 19e313e2 ldclrpal x2, x3, \[sp\] + 18: 19611040 ldclrpl x0, x1, \[x2\] + 1c: 196313e2 ldclrpl x2, x3, \[sp\] + 20: 19213040 ldsetp x0, x1, \[x2\] + 24: 192333e2 ldsetp x2, x3, \[sp\] + 28: 19a13040 ldsetpa x0, x1, \[x2\] + 2c: 19a333e2 ldsetpa x2, x3, \[sp\] + 30: 19e13040 ldsetpal x0, x1, \[x2\] + 34: 19e333e2 ldsetpal x2, x3, \[sp\] + 38: 19613040 ldsetpl x0, x1, \[x2\] + 3c: 196333e2 ldsetpl x2, x3, \[sp\] + 40: 19218040 swpp x0, x1, \[x2\] + 44: 192383e2 swpp x2, x3, \[sp\] + 48: 19a18040 swppa x0, x1, \[x2\] + 4c: 19a383e2 swppa x2, x3, \[sp\] + 50: 19e18040 swppal x0, x1, \[x2\] + 54: 19e383e2 swppal x2, x3, \[sp\] + 58: 19618040 swppl x0, x1, \[x2\] + 5c: 196383e2 swppl x2, x3, \[sp\] \ No newline at end of file diff --git a/gas/testsuite/gas/aarch64/lse128-atomic.s b/gas/testsuite/gas/= aarch64/lse128-atomic.s new file mode 100644 index 00000000000..802f1b76fc7 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lse128-atomic.s @@ -0,0 +1,33 @@ +/* lse128-atomic.s Test file For AArch64 LSE128 atomic instructions + encoding. + + Copyright (C) 2014-2023 Free Software Foundation, Inc. + Contributed by ARM Ltd. + + This file is part of GAS. + + GAS is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the license, or + (at your option) any later version. + + GAS is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING3. If not, + see . */ + + .macro format_0 op + .irp suffix, , a, al, l + \op\suffix x0, x1, [x2] + \op\suffix x2, x3, [sp] + .endr + .endm + +func: + format_0 ldclrp + format_0 ldsetp + format_0 swpp diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c index efb908288a9..6a5a9495b74 100644 --- a/opcodes/aarch64-asm-2.c +++ b/opcodes/aarch64-asm-2.c @@ -418,187 +418,187 @@ aarch64_find_real_opcode (const aarch64_opcode *opc= ode) case 1136: /* lduminl */ value =3D 1136; /* --> lduminl. */ break; - case 1187: /* mov */ - case 1186: /* movn */ - value =3D 1186; /* --> movn. */ - break; - case 1189: /* mov */ - case 1188: /* movz */ - value =3D 1188; /* --> movz. */ - break; - case 1263: /* autibsp */ - case 1262: /* autibz */ - case 1261: /* autiasp */ - case 1260: /* autiaz */ - case 1259: /* pacibsp */ - case 1258: /* pacibz */ - case 1257: /* paciasp */ - case 1256: /* paciaz */ - case 1241: /* gcsb */ - 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 =3D 1203; /* --> hint. */ - break; - case 1227: /* pssbb */ - case 1226: /* ssbb */ - case 1225: /* dfb */ - case 1223: /* dsb */ - value =3D 1223; /* --> dsb. */ - break; - case 1224: /* dsb */ - value =3D 1224; /* --> dsb. */ - break; - case 1251: /* cpp */ - case 1250: /* dvp */ - case 1249: /* cfp */ - case 1246: /* tlbi */ - case 1245: /* ic */ - case 1244: /* dc */ - case 1243: /* at */ - case 1242: /* sys */ - value =3D 1242; /* --> sys. */ - break; - case 1247: /* wfet */ - value =3D 1247; /* --> wfet. */ - break; - case 1248: /* wfit */ - value =3D 1248; /* --> wfit. */ - break; - case 2065: /* bic */ - case 1312: /* and */ - value =3D 1312; /* --> and. */ - break; - case 1295: /* mov */ - case 1314: /* and */ - value =3D 1314; /* --> and. */ - break; - case 1299: /* movs */ - case 1315: /* ands */ - value =3D 1315; /* --> ands. */ - break; - case 2066: /* cmple */ - case 1350: /* cmpge */ - value =3D 1350; /* --> cmpge. */ - break; - case 2069: /* cmplt */ - case 1353: /* cmpgt */ - value =3D 1353; /* --> cmpgt. */ - break; - case 2067: /* cmplo */ - case 1355: /* cmphi */ - value =3D 1355; /* --> cmphi. */ - break; - case 2068: /* cmpls */ - case 1358: /* cmphs */ - value =3D 1358; /* --> cmphs. */ - break; - case 1292: /* mov */ - case 1380: /* cpy */ - value =3D 1380; /* --> cpy. */ - break; - case 1294: /* mov */ - case 1381: /* cpy */ - value =3D 1381; /* --> cpy. */ - break; - case 2076: /* fmov */ + case 1199: /* mov */ + case 1198: /* movn */ + value =3D 1198; /* --> movn. */ + break; + case 1201: /* mov */ + case 1200: /* movz */ + value =3D 1200; /* --> movz. */ + break; + case 1275: /* autibsp */ + case 1274: /* autibz */ + case 1273: /* autiasp */ + case 1272: /* autiaz */ + case 1271: /* pacibsp */ + case 1270: /* pacibz */ + case 1269: /* paciasp */ + case 1268: /* paciaz */ + case 1253: /* gcsb */ + case 1233: /* clearbhb */ + case 1232: /* tsb */ + case 1231: /* psb */ + case 1230: /* esb */ + case 1229: /* autib1716 */ + case 1228: /* autia1716 */ + case 1227: /* pacib1716 */ + case 1226: /* pacia1716 */ + case 1225: /* xpaclri */ + case 1223: /* sevl */ + case 1222: /* sev */ + case 1221: /* wfi */ + case 1220: /* wfe */ + case 1219: /* yield */ + case 1218: /* bti */ + case 1217: /* csdb */ + case 1216: /* nop */ + case 1215: /* hint */ + value =3D 1215; /* --> hint. */ + break; + case 1239: /* pssbb */ + case 1238: /* ssbb */ + case 1237: /* dfb */ + case 1235: /* dsb */ + value =3D 1235; /* --> dsb. */ + break; + case 1236: /* dsb */ + value =3D 1236; /* --> dsb. */ + break; + case 1263: /* cpp */ + case 1262: /* dvp */ + case 1261: /* cfp */ + case 1258: /* tlbi */ + case 1257: /* ic */ + case 1256: /* dc */ + case 1255: /* at */ + case 1254: /* sys */ + value =3D 1254; /* --> sys. */ + break; + case 1259: /* wfet */ + value =3D 1259; /* --> wfet. */ + break; + case 1260: /* wfit */ + value =3D 1260; /* --> wfit. */ + break; + case 2077: /* bic */ + case 1324: /* and */ + value =3D 1324; /* --> and. */ + break; + case 1307: /* mov */ + case 1326: /* and */ + value =3D 1326; /* --> and. */ + break; + case 1311: /* movs */ + case 1327: /* ands */ + value =3D 1327; /* --> ands. */ + break; + case 2078: /* cmple */ + case 1362: /* cmpge */ + value =3D 1362; /* --> cmpge. */ + break; + case 2081: /* cmplt */ + case 1365: /* cmpgt */ + value =3D 1365; /* --> cmpgt. */ + break; + case 2079: /* cmplo */ + case 1367: /* cmphi */ + value =3D 1367; /* --> cmphi. */ + break; + case 2080: /* cmpls */ + case 1370: /* cmphs */ + value =3D 1370; /* --> cmphs. */ + break; + case 1304: /* mov */ + case 1392: /* cpy */ + value =3D 1392; /* --> cpy. */ + break; + case 1306: /* mov */ + case 1393: /* cpy */ + value =3D 1393; /* --> cpy. */ + break; + case 2088: /* fmov */ + case 1309: /* mov */ + case 1394: /* cpy */ + value =3D 1394; /* --> cpy. */ + break; + case 1298: /* mov */ + case 1406: /* dup */ + value =3D 1406; /* --> dup. */ + break; + case 1301: /* mov */ case 1297: /* mov */ - case 1382: /* cpy */ - value =3D 1382; /* --> cpy. */ + case 1407: /* dup */ + value =3D 1407; /* --> dup. */ break; - case 1286: /* mov */ - case 1394: /* dup */ - value =3D 1394; /* --> dup. */ + case 2087: /* fmov */ + case 1303: /* mov */ + case 1408: /* dup */ + value =3D 1408; /* --> dup. */ break; - case 1289: /* mov */ - case 1285: /* mov */ - case 1395: /* dup */ - value =3D 1395; /* --> dup. */ + case 1302: /* mov */ + case 1409: /* dupm */ + value =3D 1409; /* --> dupm. */ break; - case 2075: /* fmov */ - case 1291: /* mov */ - case 1396: /* dup */ - value =3D 1396; /* --> dup. */ + case 2082: /* eon */ + case 1411: /* eor */ + value =3D 1411; /* --> eor. */ break; - case 1290: /* mov */ - case 1397: /* dupm */ - value =3D 1397; /* --> dupm. */ + case 1312: /* not */ + case 1413: /* eor */ + value =3D 1413; /* --> eor. */ break; - case 2070: /* eon */ - case 1399: /* eor */ - value =3D 1399; /* --> eor. */ + case 1313: /* nots */ + case 1414: /* eors */ + value =3D 1414; /* --> eors. */ break; - case 1300: /* not */ - case 1401: /* eor */ - value =3D 1401; /* --> eor. */ + case 2083: /* facle */ + case 1419: /* facge */ + value =3D 1419; /* --> facge. */ break; - case 1301: /* nots */ - case 1402: /* eors */ - value =3D 1402; /* --> eors. */ + case 2084: /* faclt */ + case 1420: /* facgt */ + value =3D 1420; /* --> facgt. */ break; - case 2071: /* facle */ - case 1407: /* facge */ - value =3D 1407; /* --> facge. */ + case 2085: /* fcmle */ + case 1433: /* fcmge */ + value =3D 1433; /* --> fcmge. */ break; - case 2072: /* faclt */ - case 1408: /* facgt */ - value =3D 1408; /* --> facgt. */ + case 2086: /* fcmlt */ + case 1435: /* fcmgt */ + value =3D 1435; /* --> fcmgt. */ break; - case 2073: /* fcmle */ - case 1421: /* fcmge */ - value =3D 1421; /* --> fcmge. */ + case 1295: /* fmov */ + case 1441: /* fcpy */ + value =3D 1441; /* --> fcpy. */ break; - case 2074: /* fcmlt */ - case 1423: /* fcmgt */ - value =3D 1423; /* --> fcmgt. */ + case 1294: /* fmov */ + case 1464: /* fdup */ + value =3D 1464; /* --> fdup. */ break; - case 1283: /* fmov */ - case 1429: /* fcpy */ - value =3D 1429; /* --> fcpy. */ - break; - case 1282: /* fmov */ - case 1452: /* fdup */ - value =3D 1452; /* --> fdup. */ + case 1296: /* mov */ + case 1796: /* orr */ + value =3D 1796; /* --> orr. */ break; - case 1284: /* mov */ - case 1784: /* orr */ - value =3D 1784; /* --> orr. */ + case 2089: /* orn */ + case 1797: /* orr */ + value =3D 1797; /* --> orr. */ break; - case 2077: /* orn */ - case 1785: /* orr */ - value =3D 1785; /* --> orr. */ + case 1300: /* mov */ + case 1299: /* mov */ + case 1799: /* orr */ + value =3D 1799; /* --> orr. */ break; - case 1288: /* mov */ - case 1287: /* mov */ - case 1787: /* orr */ - value =3D 1787; /* --> orr. */ + case 1310: /* movs */ + case 1800: /* orrs */ + value =3D 1800; /* --> orrs. */ break; - case 1298: /* movs */ - case 1788: /* orrs */ - value =3D 1788; /* --> orrs. */ + case 1305: /* mov */ + case 1863: /* sel */ + value =3D 1863; /* --> sel. */ break; - case 1293: /* mov */ - case 1851: /* sel */ - value =3D 1851; /* --> sel. */ - break; - case 1296: /* mov */ - case 1852: /* sel */ - value =3D 1852; /* --> sel. */ + case 1308: /* mov */ + case 1864: /* sel */ + value =3D 1864; /* --> sel. */ break; default: return NULL; } @@ -643,8 +643,8 @@ aarch64_insert_operand (const aarch64_operand *self, case 30: case 31: case 32: - case 170: - case 171: + case 113: + case 114: case 172: case 173: case 174: @@ -657,8 +657,8 @@ aarch64_insert_operand (const aarch64_operand *self, case 181: case 182: case 183: - case 198: - case 199: + case 184: + case 185: case 200: case 201: case 202: @@ -666,21 +666,23 @@ aarch64_insert_operand (const aarch64_operand *self, case 204: case 205: case 206: - case 213: - case 216: - case 220: - case 227: - case 228: - case 235: - case 236: + case 207: + case 208: + case 215: + case 218: + case 222: + case 229: + case 230: case 237: case 238: + case 239: + case 240: return aarch64_ins_regno (self, info, code, inst, errors); case 6: case 110: case 111: - case 270: case 272: + case 274: return aarch64_ins_none (self, info, code, inst, errors); case 16: return aarch64_ins_reg_extended (self, info, code, inst, errors); @@ -692,7 +694,7 @@ aarch64_insert_operand (const aarch64_operand *self, case 34: case 35: case 36: - case 274: + case 276: return aarch64_ins_reglane (self, info, code, inst, errors); case 37: return aarch64_ins_reglist (self, info, code, inst, errors); @@ -728,23 +730,23 @@ aarch64_insert_operand (const aarch64_operand *self, case 84: case 85: case 109: - case 167: case 169: - case 190: - case 191: + case 171: case 192: case 193: case 194: case 195: case 196: case 197: - case 241: - case 268: - case 269: + case 198: + case 199: + case 243: + case 270: case 271: case 273: - case 278: - case 279: + case 275: + case 280: + case 281: return aarch64_ins_imm (self, info, code, inst, errors); case 45: case 46: @@ -754,10 +756,10 @@ aarch64_insert_operand (const aarch64_operand *self, case 49: return aarch64_ins_advsimd_imm_modified (self, info, code, inst, err= ors); case 53: - case 157: + case 159: return aarch64_ins_fpimm (self, info, code, inst, errors); case 71: - case 165: + case 167: return aarch64_ins_limm (self, info, code, inst, errors); case 72: return aarch64_ins_aimm (self, info, code, inst, errors); @@ -767,11 +769,11 @@ aarch64_insert_operand (const aarch64_operand *self, return aarch64_ins_fbits (self, info, code, inst, errors); case 76: case 77: - case 162: + case 164: return aarch64_ins_imm_rotate2 (self, info, code, inst, errors); case 78: - case 161: case 163: + case 165: return aarch64_ins_imm_rotate1 (self, info, code, inst, errors); case 79: case 80: @@ -814,25 +816,23 @@ aarch64_insert_operand (const aarch64_operand *self, return aarch64_ins_prfop (self, info, code, inst, errors); case 112: return aarch64_ins_hint (self, info, code, inst, errors); - case 113: - case 114: - return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); case 115: case 116: + return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); case 117: case 118: - return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors= ); case 119: - return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors= ); case 120: - return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors= ); + return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors= ); case 121: + return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors= ); case 122: + return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors= ); case 123: case 124: - return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); case 125: case 126: + return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); case 127: case 128: case 129: @@ -846,87 +846,87 @@ aarch64_insert_operand (const aarch64_operand *self, case 137: case 138: case 139: - return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); case 140: case 141: + return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); case 142: case 143: case 144: case 145: case 146: case 147: - return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); case 148: case 149: + return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); case 150: case 151: - return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); case 152: - return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); case 153: - return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); case 154: - return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); case 155: - return aarch64_ins_sve_aimm (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); case 156: - return aarch64_ins_sve_asimm (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); + case 157: + return aarch64_ins_sve_aimm (self, info, code, inst, errors); case 158: + return aarch64_ins_sve_asimm (self, info, code, inst, errors); + case 160: return aarch64_ins_sve_float_half_one (self, info, code, inst, error= s); - case 159: + case 161: return aarch64_ins_sve_float_half_two (self, info, code, inst, error= s); - case 160: + case 162: return aarch64_ins_sve_float_zero_one (self, info, code, inst, error= s); - case 164: - return aarch64_ins_inv_limm (self, info, code, inst, errors); case 166: - return aarch64_ins_sve_limm_mov (self, info, code, inst, errors); + return aarch64_ins_inv_limm (self, info, code, inst, errors); case 168: + return aarch64_ins_sve_limm_mov (self, info, code, inst, errors); + case 170: return aarch64_ins_sve_scale (self, info, code, inst, errors); - case 184: - case 185: case 186: - return aarch64_ins_sve_shlimm (self, info, code, inst, errors); case 187: case 188: + return aarch64_ins_sve_shlimm (self, info, code, inst, errors); case 189: - case 254: + case 190: + case 191: + case 256: return aarch64_ins_sve_shrimm (self, info, code, inst, errors); - case 207: - case 208: case 209: case 210: case 211: case 212: - return aarch64_ins_sve_quad_index (self, info, code, inst, errors); + case 213: case 214: + return aarch64_ins_sve_quad_index (self, info, code, inst, errors); + case 216: return aarch64_ins_sve_index (self, info, code, inst, errors); - case 215: case 217: - case 234: - return aarch64_ins_sve_reglist (self, info, code, inst, errors); - case 218: case 219: + case 236: + return aarch64_ins_sve_reglist (self, info, code, inst, errors); + case 220: case 221: - case 222: case 223: case 224: - case 233: - return aarch64_ins_sve_aligned_reglist (self, info, code, inst, erro= rs); case 225: case 226: + case 235: + return aarch64_ins_sve_aligned_reglist (self, info, code, inst, erro= rs); + case 227: + case 228: return aarch64_ins_sve_strided_reglist (self, info, code, inst, erro= rs); - case 229: case 231: - case 242: + case 233: + case 244: return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors); - case 230: case 232: + case 234: return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, er= rors); - case 239: - case 240: - case 255: - case 256: + case 241: + case 242: case 257: case 258: case 259: @@ -938,26 +938,28 @@ aarch64_insert_operand (const aarch64_operand *self, case 265: case 266: case 267: + case 268: + case 269: return aarch64_ins_simple_index (self, info, code, inst, errors); - case 243: - case 244: case 245: case 246: case 247: case 248: case 249: - return aarch64_ins_sme_za_array (self, info, code, inst, errors); case 250: - return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors= ); case 251: - return aarch64_ins_sme_sm_za (self, info, code, inst, errors); + return aarch64_ins_sme_za_array (self, info, code, inst, errors); case 252: - return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, = errors); + return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors= ); case 253: + return aarch64_ins_sme_sm_za (self, info, code, inst, errors); + case 254: + return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, = errors); + case 255: return aarch64_ins_plain_shrimm (self, info, code, inst, errors); - case 275: - case 276: case 277: + case 278: + case 279: 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 1cb8aba8a3d..c487367207e 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -62,7 +62,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x0000000100xxxxxxxxxx= xxxxxx00xxx fmopa. */ - return 2377; + return 2389; } else { @@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x0000000100xxxxxxxxxx= xxxxxx10xxx fmops. */ - return 2380; + return 2392; } } else @@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x0000000100xxxxxxxxxx= xxxxxx01xxx bmopa. */ - return 2491; + return 2503; } else { @@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x0000000100xxxxxxxxxx= xxxxxx11xxx bmops. */ - return 2492; + return 2504; } } } @@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x0000000x10xxxxxxxxxxxxxxxx0x= xxx fmopa. */ - return 2378; + return 2390; } else { @@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x0000000x10xxxxxxxxxxxxxxxx1x= xxx fmops. */ - return 2381; + return 2393; } } } @@ -128,7 +128,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx00000xxxxxx= xxxxxxxxxxx mov. */ - return 2401; + return 2413; } else { @@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000x0010= 000xxxxxxxxxxxxxxxx addha. */ - return 2369; + return 2381; } else { @@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000x1010= 000xxxxxxxxxxxxxxxx addha. */ - return 2370; + return 2382; } } else @@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000x0010= 001xxxxxxxxxxxxxxxx addva. */ - return 2373; + return 2385; } else { @@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000x1010= 001xxxxxxxxxxxxxxxx addva. */ - return 2374; + return 2386; } } } @@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000x00x100xxxxxx= xxxxxxxxxxx zero. */ - return 2404; + return 2416; } else { @@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000x10x100xxxxxx= xxxxxxxxxxx zero. */ - return 2921; + return 2933; } } } @@ -200,7 +200,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109876543210987= 6543210 x1000000xx0x001xxxxxxxxxx= xxxxxxx mov. */ - return 2400; + return 2412; } else { @@ -212,7 +212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x1000000x00x101xx= 0xxxxxxxxxxxxxx luti4. */ - return 2635; + return 2647; } else { @@ -220,7 +220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x1000000x00x101xx= 1xxxxxxxxxxxxxx luti4. */ - return 2634; + return 2646; } } else @@ -229,7 +229,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000x10x101xxxxxx= xxxxxxxxxxx luti4. */ - return 2633; + return 2645; } } } @@ -248,7 +248,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x1000000xx0x010xx= xxx00xxxxxxxxxx mov. */ - return 2642; + return 2654; } else { @@ -256,7 +256,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x1000000xx0x011xx= xxx00xxxxxxxxxx mov. */ - return 2638; + return 2650; } } else @@ -269,7 +269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000x00x1= 1xxx0xx00xxxxxxxxxx luti2. */ - return 2632; + return 2644; } else { @@ -277,7 +277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000x00x1= 1xxx1xx00xxxxxxxxxx luti2. */ - return 2631; + return 2643; } } else @@ -290,7 +290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543= 21098765432109876543210 x10000000= 10x110xxxxx00xxxxxxxxxx movt. */ - return 2653; + return 2665; } else { @@ -298,7 +298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543= 21098765432109876543210 x10000000= 10x111xxxxx00xxxxxxxxxx movt. */ - return 2652; + return 2664; } } else @@ -307,7 +307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x1000000110x1= 1xxxxxx00xxxxxxxxxx luti2. */ - return 2630; + return 2642; } } } @@ -320,7 +320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx0xx10xxxxx1= 0xxxxxxxxxx mov. */ - return 2640; + return 2652; } else { @@ -328,7 +328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx0xx11xxxxx1= 0xxxxxxxxxx mov. */ - return 2636; + return 2648; } } } @@ -342,7 +342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx0xx10xxxxx0= 1xxxxxxxxxx mov. */ - return 2643; + return 2655; } else { @@ -350,7 +350,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx0xx11xxxxx0= 1xxxxxxxxxx mov. */ - return 2639; + return 2651; } } else @@ -361,7 +361,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx0xx10xxxxx1= 1xxxxxxxxxx mov. */ - return 2641; + return 2653; } else { @@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x1000000xx0xx11xxxxx1= 1xxxxxxxxxx mov. */ - return 2637; + return 2649; } } } @@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx000xxxxxxxxxxxx0 ld1b. */ - return 2569; + return 2581; } else { @@ -404,7 +404,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx100xxxxxxxxxxxx0 ld1b. */ - return 2570; + return 2582; } } else @@ -415,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx010xxxxxxxxxxxx0 ld1w. */ - return 2593; + return 2605; } else { @@ -423,7 +423,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx110xxxxxxxxxxxx0 ld1w. */ - return 2594; + return 2606; } } } @@ -437,7 +437,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx001xxxxxxxxxxxx0 ld1h. */ - return 2585; + return 2597; } else { @@ -445,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx101xxxxxxxxxxxx0 ld1h. */ - return 2586; + return 2598; } } else @@ -456,7 +456,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx011xxxxxxxxxxxx0 ld1d. */ - return 2577; + return 2589; } else { @@ -464,7 +464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx111xxxxxxxxxxxx0 ld1d. */ - return 2578; + return 2590; } } } @@ -481,7 +481,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx000xxxxxxxxxxxx1 ldnt1b. */ - return 2601; + return 2613; } else { @@ -489,7 +489,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx100xxxxxxxxxxxx1 ldnt1b. */ - return 2602; + return 2614; } } else @@ -500,7 +500,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx010xxxxxxxxxxxx1 ldnt1w. */ - return 2625; + return 2637; } else { @@ -508,7 +508,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx110xxxxxxxxxxxx1 ldnt1w. */ - return 2626; + return 2638; } } } @@ -522,7 +522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx001xxxxxxxxxxxx1 ldnt1h. */ - return 2617; + return 2629; } else { @@ -530,7 +530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx101xxxxxxxxxxxx1 ldnt1h. */ - return 2618; + return 2630; } } else @@ -541,7 +541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx011xxxxxxxxxxxx1 ldnt1d. */ - return 2609; + return 2621; } else { @@ -549,7 +549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000000xx= xxx111xxxxxxxxxxxx1 ldnt1d. */ - return 2610; + return 2622; } } } @@ -561,7 +561,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x1100000000xxxxxxxxxxxxxxxxxx= xxx ld1b. */ - return 2405; + return 2417; } } else @@ -576,7 +576,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x0100000100xxxxxxxxxx= xxxxxx00xxx smopa. */ - return 2384; + return 2396; } else { @@ -584,7 +584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 x0100000100xxxxxxxxxx= xxxxxx01xxx smopa. */ - return 2715; + return 2727; } } else @@ -593,7 +593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109876543210987= 6543210 x1100000100xxxxxxxxxxxxxx= xx0xxxx ld1w. */ - return 2407; + return 2419; } } else @@ -604,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109876543210987= 6543210 xx100000100xxxxxxxxxxxxxx= xx10xxx smops. */ - return 2386; + return 2398; } else { @@ -612,7 +612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109876543210987= 6543210 xx100000100xxxxxxxxxxxxxx= xx11xxx smops. */ - return 2716; + return 2728; } } } @@ -635,7 +635,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx000xxxxxxxxxxxx0 ld1b. */ - return 2565; + return 2577; } else { @@ -643,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx100xxxxxxxxxxxx0 ld1b. */ - return 2566; + return 2578; } } else @@ -654,7 +654,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx010xxxxxxxxxxxx0 ld1w. */ - return 2589; + return 2601; } else { @@ -662,7 +662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx110xxxxxxxxxxxx0 ld1w. */ - return 2590; + return 2602; } } } @@ -676,7 +676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx001xxxxxxxxxxxx0 ld1h. */ - return 2581; + return 2593; } else { @@ -684,7 +684,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx101xxxxxxxxxxxx0 ld1h. */ - return 2582; + return 2594; } } else @@ -695,7 +695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx011xxxxxxxxxxxx0 ld1d. */ - return 2573; + return 2585; } else { @@ -703,7 +703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx111xxxxxxxxxxxx0 ld1d. */ - return 2574; + return 2586; } } } @@ -720,7 +720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx000xxxxxxxxxxxx1 ldnt1b. */ - return 2597; + return 2609; } else { @@ -728,7 +728,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx100xxxxxxxxxxxx1 ldnt1b. */ - return 2598; + return 2610; } } else @@ -739,7 +739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx010xxxxxxxxxxxx1 ldnt1w. */ - return 2621; + return 2633; } else { @@ -747,7 +747,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx110xxxxxxxxxxxx1 ldnt1w. */ - return 2622; + return 2634; } } } @@ -761,7 +761,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx001xxxxxxxxxxxx1 ldnt1h. */ - return 2613; + return 2625; } else { @@ -769,7 +769,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx101xxxxxxxxxxxx1 ldnt1h. */ - return 2614; + return 2626; } } else @@ -780,7 +780,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx011xxxxxxxxxxxx1 ldnt1d. */ - return 2605; + return 2617; } else { @@ -788,7 +788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 x0100000010xx= xxx111xxxxxxxxxxxx1 ldnt1d. */ - return 2606; + return 2618; } } } @@ -800,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x1100000010xxxxxxxxxxxxxxxxxx= xxx ld1h. */ - return 2406; + return 2418; } } else @@ -813,7 +813,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109876543210987= 6543210 x0100000110xxxxxxxxxxxxxx= xx0xxxx smopa. */ - return 2385; + return 2397; } else { @@ -821,7 +821,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109876543210987= 6543210 x1100000110xxxxxxxxxxxxxx= xx0xxxx ld1d. */ - return 2408; + return 2420; } } else @@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 xx100000110xxxxxxxxxxxxxxxx1x= xxx smops. */ - return 2387; + return 2399; } } } @@ -856,7 +856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 00xxxxxxxxxxxx0 st1b. */ - return 2741; + return 2753; } else { @@ -864,7 +864,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 00xxxxxxxxxxxx0 st1b. */ - return 2742; + return 2754; } } else @@ -875,7 +875,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 10xxxxxxxxxxxx0 st1w. */ - return 2765; + return 2777; } else { @@ -883,7 +883,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 10xxxxxxxxxxxx0 st1w. */ - return 2766; + return 2778; } } } @@ -897,7 +897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 01xxxxxxxxxxxx0 st1h. */ - return 2757; + return 2769; } else { @@ -905,7 +905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 01xxxxxxxxxxxx0 st1h. */ - return 2758; + return 2770; } } else @@ -916,7 +916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 11xxxxxxxxxxxx0 st1d. */ - return 2749; + return 2761; } else { @@ -924,7 +924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 11xxxxxxxxxxxx0 st1d. */ - return 2750; + return 2762; } } } @@ -941,7 +941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 00xxxxxxxxxxxx1 stnt1b. */ - return 2773; + return 2785; } else { @@ -949,7 +949,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 00xxxxxxxxxxxx1 stnt1b. */ - return 2774; + return 2786; } } else @@ -960,7 +960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 10xxxxxxxxxxxx1 stnt1w. */ - return 2797; + return 2809; } else { @@ -968,7 +968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 10xxxxxxxxxxxx1 stnt1w. */ - return 2798; + return 2810; } } } @@ -982,7 +982,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 01xxxxxxxxxxxx1 stnt1h. */ - return 2789; + return 2801; } else { @@ -990,7 +990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 01xxxxxxxxxxxx1 stnt1h. */ - return 2790; + return 2802; } } else @@ -1001,7 +1001,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx0= 11xxxxxxxxxxxx1 stnt1d. */ - return 2781; + return 2793; } else { @@ -1009,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000001xxxxx1= 11xxxxxxxxxxxx1 stnt1d. */ - return 2782; + return 2794; } } } @@ -1021,7 +1021,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x00000001xxxxxxxxxxxxxxxxxxxxx st1b. */ - return 2415; + return 2427; } } else @@ -1034,7 +1034,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x0x00000101xxxxxxxxxxxxxxxx0x= xxx sumopa. */ - return 2388; + return 2400; } else { @@ -1042,7 +1042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x1x00000101xxxxxxxxxxxxxxxx0x= xxx st1w. */ - return 2417; + return 2429; } } else @@ -1051,7 +1051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00000101xxxxxxxxxxxxxxxx1xxxx sumops. */ - return 2390; + return 2402; } } } @@ -1073,7 +1073,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 00xxxxxxxxxxxx0 st1b. */ - return 2737; + return 2749; } else { @@ -1081,7 +1081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 00xxxxxxxxxxxx0 st1b. */ - return 2738; + return 2750; } } else @@ -1092,7 +1092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 10xxxxxxxxxxxx0 st1w. */ - return 2761; + return 2773; } else { @@ -1100,7 +1100,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 10xxxxxxxxxxxx0 st1w. */ - return 2762; + return 2774; } } } @@ -1114,7 +1114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 01xxxxxxxxxxxx0 st1h. */ - return 2753; + return 2765; } else { @@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 01xxxxxxxxxxxx0 st1h. */ - return 2754; + return 2766; } } else @@ -1133,7 +1133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 11xxxxxxxxxxxx0 st1d. */ - return 2745; + return 2757; } else { @@ -1141,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 11xxxxxxxxxxxx0 st1d. */ - return 2746; + return 2758; } } } @@ -1158,7 +1158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 00xxxxxxxxxxxx1 stnt1b. */ - return 2769; + return 2781; } else { @@ -1166,7 +1166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 00xxxxxxxxxxxx1 stnt1b. */ - return 2770; + return 2782; } } else @@ -1177,7 +1177,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 10xxxxxxxxxxxx1 stnt1w. */ - return 2793; + return 2805; } else { @@ -1185,7 +1185,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 10xxxxxxxxxxxx1 stnt1w. */ - return 2794; + return 2806; } } } @@ -1199,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 01xxxxxxxxxxxx1 stnt1h. */ - return 2785; + return 2797; } else { @@ -1207,7 +1207,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 01xxxxxxxxxxxx1 stnt1h. */ - return 2786; + return 2798; } } else @@ -1218,7 +1218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx0= 11xxxxxxxxxxxx1 stnt1d. */ - return 2777; + return 2789; } else { @@ -1226,7 +1226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 x0x00000011xxxxx1= 11xxxxxxxxxxxx1 stnt1d. */ - return 2778; + return 2790; } } } @@ -1238,7 +1238,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x00000011xxxxxxxxxxxxxxxxxxxxx st1h. */ - return 2416; + return 2428; } } else @@ -1251,7 +1251,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x0x00000111xxxxxxxxxxxxxxxx0x= xxx sumopa. */ - return 2389; + return 2401; } else { @@ -1259,7 +1259,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543= 210 x1x00000111xxxxxxxxxxxxxxxx0x= xxx st1d. */ - return 2418; + return 2430; } } else @@ -1268,7 +1268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00000111xxxxxxxxxxxxxxxx1xxxx sumops. */ - return 2391; + return 2403; } } } @@ -1282,7 +1282,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0xx10000xxxxxxxxxxxxxxxxxxxxxxxx adr. */ - return 1191; + return 1203; } else { @@ -1290,7 +1290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1xx10000xxxxxxxxxxxxxxxxxxxxxxxx adrp. */ - return 1192; + return 1204; } } } @@ -1318,7 +1318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 xx0000010000xxxxx= xxxxxxxxxx000xx smlall. */ - return 2691; + return 2703; } else { @@ -1326,7 +1326,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 xx0000010000xxxxx= xxxxxxxxxx001xx usmlall. */ - return 2896; + return 2908; } } else @@ -1339,7 +1339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx0xxxxxxxxx000xxx smlall. */ - return 2692; + return 2704; } else { @@ -1347,7 +1347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx1xxxxxxxxx000xxx smlall. */ - return 2693; + return 2705; } } else @@ -1358,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx0xxxxxxxxx100xxx usmlall. */ - return 2897; + return 2909; } else { @@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx1xxxxxxxxx100xxx usmlall. */ - return 2898; + return 2910; } } } @@ -1381,7 +1381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 xx0000010000xxxxx= xxxxxxxxxx100xx umlall. */ - return 2854; + return 2866; } else { @@ -1389,7 +1389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 xx0000010000xxxxx= xxxxxxxxxx101xx sumlall. */ - return 2812; + return 2824; } } else @@ -1402,7 +1402,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx0xxxxxxxxx010xxx umlall. */ - return 2855; + return 2867; } else { @@ -1410,7 +1410,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx1xxxxxxxxx010xxx umlall. */ - return 2856; + return 2868; } } else @@ -1421,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx0xxxxxxxxx110xxx sumlall. */ - return 2813; + return 2825; } else { @@ -1429,7 +1429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 1098765432109= 8765432109876543210 xx0000010001x= xxx1xxxxxxxxx110xxx sumlall. */ - return 2814; + return 2826; } } } @@ -1445,7 +1445,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 109876543210987654321= 09876543210 xx0000010000xxxxxxxxx= xxxxxx01xxx smlsll. */ - return 2707; + return 2719; } else { @@ -1455,7 +1455,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 xx0000010001xxxx0= xxxxxxxxxx01xxx smlsll. */ - return 2708; + return 2720; } else { @@ -1463,7 +1463,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765= 432109876543210 xx0000010001xxxx1= xxxxxxxxxx01xxx smlsll. */ - return 2709; + [...] [diff truncated at 100000 bytes]