https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f9a37571ba647927c4f37706fe69fba8f69339dd
commit f9a37571ba647927c4f37706fe69fba8f69339dd
Author: Richard Ball <Richard.Ball@arm.com>
Date: Thu Jun 12 01:39:24 2025 +0100
aarch64: Add support for FEAT_FPRCVT
FEAT_FPRCVT introduces new versions of previous instructions.
The instructions are used to convert between floating points and
Integers. These new versions take as operands SIMD&FP registers
for both the source and destination register. FEAT_FPRCVT also
enables the use of some existing AdvSIMD instructions in
streaming mode. However, no changes are needed in gas to support this.
Diff:
---
gas/config/tc-aarch64.c | 1 +
gas/doc/c-aarch64.texi | 2 +
gas/testsuite/gas/aarch64/fprcvt.d | 176 ++
gas/testsuite/gas/aarch64/fprcvt.s | 159 +
include/opcode/aarch64.h | 4 +
opcodes/aarch64-asm-2.c | 804 ++---
opcodes/aarch64-asm.c | 3 +-
opcodes/aarch64-dis-2.c | 6054 ++++++++++++++++++------------------
opcodes/aarch64-dis.c | 11 +-
opcodes/aarch64-opc-2.c | 94 +-
opcodes/aarch64-opc.h | 10 +
opcodes/aarch64-tbl.h | 35 +
12 files changed, 3941 insertions(+), 3412 deletions(-)
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 98254eb87ed..0fd74aaa999 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -10667,6 +10667,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"rdm", AARCH64_FEATURE (RDMA), AARCH64_FEATURE (SIMD)},
{"fp16", AARCH64_FEATURE (F16), AARCH64_FEATURE (FP)},
{"fp16fml", AARCH64_FEATURE (F16_FML), AARCH64_FEATURE (F16)},
+ {"fprcvt", AARCH64_FEATURE (FPRCVT), AARCH64_FEATURE (FP)},
{"profile", AARCH64_FEATURE (PROFILE), AARCH64_NO_FEATURES},
{"sve", AARCH64_FEATURE (SVE), AARCH64_FEATURE (COMPNUM)},
{"tme", AARCH64_FEATURE (TME), AARCH64_NO_FEATURES},
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 10888d1e78f..74ce717a746 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -205,6 +205,8 @@ automatically cause those extensions to be disabled.
@tab Enable Armv8.2 16-bit floating-point multiplication variant support.
@item @code{fp16} @tab @code{fp}
@tab Enable Armv8.2 16-bit floating-point support.
+@item @code{fprcvt} @tab @code{fp}
+ @tab Enable Armv9.6 fprcvt instructions.
@item @code{frintts} @tab @code{fp}
@tab Enable floating-point round to integral value instructions.
@item @code{gcs} @tab
diff --git a/gas/testsuite/gas/aarch64/fprcvt.d b/gas/testsuite/gas/aarch64/fprcvt.d
new file mode 100644
index 00000000000..91298584d00
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/fprcvt.d
@@ -0,0 +1,176 @@
+#name: FPRCVT instructions
+#as: -march=armv8-a+fprcvt
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 1efa0000 fcvtas s0, h0
+.*: 1efa001f fcvtas s31, h0
+.*: 1efa03e0 fcvtas s0, h31
+.*: 9e3a0000 fcvtas d0, s0
+.*: 9e3a001f fcvtas d31, s0
+.*: 9e3a03e0 fcvtas d0, s31
+.*: 9efa0000 fcvtas d0, h0
+.*: 9efa001f fcvtas d31, h0
+.*: 9efa03e0 fcvtas d0, h31
+.*: 1e7a0000 fcvtas s0, d0
+.*: 1e7a001f fcvtas s31, d0
+.*: 1e7a03e0 fcvtas s0, d31
+
+.* <b>:
+.*: 1efb0000 fcvtau s0, h0
+.*: 1efb001f fcvtau s31, h0
+.*: 1efb03e0 fcvtau s0, h31
+.*: 9e3b0000 fcvtau d0, s0
+.*: 9e3b001f fcvtau d31, s0
+.*: 9e3b03e0 fcvtau d0, s31
+.*: 9efb0000 fcvtau d0, h0
+.*: 9efb001f fcvtau d31, h0
+.*: 9efb03e0 fcvtau d0, h31
+.*: 1e7b0000 fcvtau s0, d0
+.*: 1e7b001f fcvtau s31, d0
+.*: 1e7b03e0 fcvtau s0, d31
+
+.* <c>:
+.*: 1ef40000 fcvtms s0, h0
+.*: 1ef4001f fcvtms s31, h0
+.*: 1ef403e0 fcvtms s0, h31
+.*: 9e340000 fcvtms d0, s0
+.*: 9e34001f fcvtms d31, s0
+.*: 9e3403e0 fcvtms d0, s31
+.*: 9ef40000 fcvtms d0, h0
+.*: 9ef4001f fcvtms d31, h0
+.*: 9ef403e0 fcvtms d0, h31
+.*: 1e740000 fcvtms s0, d0
+.*: 1e74001f fcvtms s31, d0
+.*: 1e7403e0 fcvtms s0, d31
+
+.* <d>:
+.*: 1ef50000 fcvtmu s0, h0
+.*: 1ef5001f fcvtmu s31, h0
+.*: 1ef503e0 fcvtmu s0, h31
+.*: 9e350000 fcvtmu d0, s0
+.*: 9e35001f fcvtmu d31, s0
+.*: 9e3503e0 fcvtmu d0, s31
+.*: 9ef50000 fcvtmu d0, h0
+.*: 9ef5001f fcvtmu d31, h0
+.*: 9ef503e0 fcvtmu d0, h31
+.*: 1e750000 fcvtmu s0, d0
+.*: 1e75001f fcvtmu s31, d0
+.*: 1e7503e0 fcvtmu s0, d31
+
+.* <e>:
+.*: 1eea0000 fcvtns s0, h0
+.*: 1eea001f fcvtns s31, h0
+.*: 1eea03e0 fcvtns s0, h31
+.*: 9e2a0000 fcvtns d0, s0
+.*: 9e2a001f fcvtns d31, s0
+.*: 9e2a03e0 fcvtns d0, s31
+.*: 9eea0000 fcvtns d0, h0
+.*: 9eea001f fcvtns d31, h0
+.*: 9eea03e0 fcvtns d0, h31
+.*: 1e6a0000 fcvtns s0, d0
+.*: 1e6a001f fcvtns s31, d0
+.*: 1e6a03e0 fcvtns s0, d31
+
+.* <f>:
+.*: 1eeb0000 fcvtnu s0, h0
+.*: 1eeb001f fcvtnu s31, h0
+.*: 1eeb03e0 fcvtnu s0, h31
+.*: 9e2b0000 fcvtnu d0, s0
+.*: 9e2b001f fcvtnu d31, s0
+.*: 9e2b03e0 fcvtnu d0, s31
+.*: 9eeb0000 fcvtnu d0, h0
+.*: 9eeb001f fcvtnu d31, h0
+.*: 9eeb03e0 fcvtnu d0, h31
+.*: 1e6b0000 fcvtnu s0, d0
+.*: 1e6b001f fcvtnu s31, d0
+.*: 1e6b03e0 fcvtnu s0, d31
+
+.* <g>:
+.*: 1ef20000 fcvtps s0, h0
+.*: 1ef2001f fcvtps s31, h0
+.*: 1ef203e0 fcvtps s0, h31
+.*: 9e320000 fcvtps d0, s0
+.*: 9e32001f fcvtps d31, s0
+.*: 9e3203e0 fcvtps d0, s31
+.*: 9ef20000 fcvtps d0, h0
+.*: 9ef2001f fcvtps d31, h0
+.*: 9ef203e0 fcvtps d0, h31
+.*: 1e720000 fcvtps s0, d0
+.*: 1e72001f fcvtps s31, d0
+.*: 1e7203e0 fcvtps s0, d31
+
+.* <h>:
+.*: 1ef30000 fcvtpu s0, h0
+.*: 1ef3001f fcvtpu s31, h0
+.*: 1ef303e0 fcvtpu s0, h31
+.*: 9e330000 fcvtpu d0, s0
+.*: 9e33001f fcvtpu d31, s0
+.*: 9e3303e0 fcvtpu d0, s31
+.*: 9ef30000 fcvtpu d0, h0
+.*: 9ef3001f fcvtpu d31, h0
+.*: 9ef303e0 fcvtpu d0, h31
+.*: 1e730000 fcvtpu s0, d0
+.*: 1e73001f fcvtpu s31, d0
+.*: 1e7303e0 fcvtpu s0, d31
+
+.* <i>:
+.*: 1ef60000 fcvtzs s0, h0
+.*: 1ef6001f fcvtzs s31, h0
+.*: 1ef603e0 fcvtzs s0, h31
+.*: 9e360000 fcvtzs d0, s0
+.*: 9e36001f fcvtzs d31, s0
+.*: 9e3603e0 fcvtzs d0, s31
+.*: 9ef60000 fcvtzs d0, h0
+.*: 9ef6001f fcvtzs d31, h0
+.*: 9ef603e0 fcvtzs d0, h31
+.*: 1e760000 fcvtzs s0, d0
+.*: 1e76001f fcvtzs s31, d0
+.*: 1e7603e0 fcvtzs s0, d31
+
+.* <j>:
+.*: 1ef70000 fcvtzu s0, h0
+.*: 1ef7001f fcvtzu s31, h0
+.*: 1ef703e0 fcvtzu s0, h31
+.*: 9e370000 fcvtzu d0, s0
+.*: 9e37001f fcvtzu d31, s0
+.*: 9e3703e0 fcvtzu d0, s31
+.*: 9ef70000 fcvtzu d0, h0
+.*: 9ef7001f fcvtzu d31, h0
+.*: 9ef703e0 fcvtzu d0, h31
+.*: 1e770000 fcvtzu s0, d0
+.*: 1e77001f fcvtzu s31, d0
+.*: 1e7703e0 fcvtzu s0, d31
+
+.* <k>:
+.*: 1efc0000 scvtf h0, s0
+.*: 1efc001f scvtf h31, s0
+.*: 1efc03e0 scvtf h0, s31
+.*: 1e7c0000 scvtf d0, s0
+.*: 1e7c001f scvtf d31, s0
+.*: 1e7c03e0 scvtf d0, s31
+.*: 9efc0000 scvtf h0, d0
+.*: 9efc001f scvtf h31, d0
+.*: 9efc03e0 scvtf h0, d31
+.*: 9e3c0000 scvtf s0, d0
+.*: 9e3c001f scvtf s31, d0
+.*: 9e3c03e0 scvtf s0, d31
+
+.* <l>:
+.*: 1efd0000 ucvtf h0, s0
+.*: 1efd001f ucvtf h31, s0
+.*: 1efd03e0 ucvtf h0, s31
+.*: 1e7d0000 ucvtf d0, s0
+.*: 1e7d001f ucvtf d31, s0
+.*: 1e7d03e0 ucvtf d0, s31
+.*: 9efd0000 ucvtf h0, d0
+.*: 9efd001f ucvtf h31, d0
+.*: 9efd03e0 ucvtf h0, d31
+.*: 9e3d0000 ucvtf s0, d0
+.*: 9e3d001f ucvtf s31, d0
+.*: 9e3d03e0 ucvtf s0, d31
diff --git a/gas/testsuite/gas/aarch64/fprcvt.s b/gas/testsuite/gas/aarch64/fprcvt.s
new file mode 100644
index 00000000000..3b0919581d4
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/fprcvt.s
@@ -0,0 +1,159 @@
+/* fprcvt.s Test file for AArch64 floating-point<->fixed-point
+ conversion and floating-point<->integer conversion instructions. */
+
+a:
+ fcvtas s0, h0
+ fcvtas s31, h0
+ fcvtas s0, h31
+ fcvtas d0, s0
+ fcvtas d31, s0
+ fcvtas d0, s31
+ fcvtas d0, h0
+ fcvtas d31, h0
+ fcvtas d0, h31
+ fcvtas s0, d0
+ fcvtas s31, d0
+ fcvtas s0, d31
+b:
+ fcvtau s0, h0
+ fcvtau s31, h0
+ fcvtau s0, h31
+ fcvtau d0, s0
+ fcvtau d31, s0
+ fcvtau d0, s31
+ fcvtau d0, h0
+ fcvtau d31, h0
+ fcvtau d0, h31
+ fcvtau s0, d0
+ fcvtau s31, d0
+ fcvtau s0, d31
+c:
+ fcvtms s0, h0
+ fcvtms s31, h0
+ fcvtms s0, h31
+ fcvtms d0, s0
+ fcvtms d31, s0
+ fcvtms d0, s31
+ fcvtms d0, h0
+ fcvtms d31, h0
+ fcvtms d0, h31
+ fcvtms s0, d0
+ fcvtms s31, d0
+ fcvtms s0, d31
+d:
+ fcvtmu s0, h0
+ fcvtmu s31, h0
+ fcvtmu s0, h31
+ fcvtmu d0, s0
+ fcvtmu d31, s0
+ fcvtmu d0, s31
+ fcvtmu d0, h0
+ fcvtmu d31, h0
+ fcvtmu d0, h31
+ fcvtmu s0, d0
+ fcvtmu s31, d0
+ fcvtmu s0, d31
+e:
+ fcvtns s0, h0
+ fcvtns s31, h0
+ fcvtns s0, h31
+ fcvtns d0, s0
+ fcvtns d31, s0
+ fcvtns d0, s31
+ fcvtns d0, h0
+ fcvtns d31, h0
+ fcvtns d0, h31
+ fcvtns s0, d0
+ fcvtns s31, d0
+ fcvtns s0, d31
+f:
+ fcvtnu s0, h0
+ fcvtnu s31, h0
+ fcvtnu s0, h31
+ fcvtnu d0, s0
+ fcvtnu d31, s0
+ fcvtnu d0, s31
+ fcvtnu d0, h0
+ fcvtnu d31, h0
+ fcvtnu d0, h31
+ fcvtnu s0, d0
+ fcvtnu s31, d0
+ fcvtnu s0, d31
+g:
+ fcvtps s0, h0
+ fcvtps s31, h0
+ fcvtps s0, h31
+ fcvtps d0, s0
+ fcvtps d31, s0
+ fcvtps d0, s31
+ fcvtps d0, h0
+ fcvtps d31, h0
+ fcvtps d0, h31
+ fcvtps s0, d0
+ fcvtps s31, d0
+ fcvtps s0, d31
+h:
+ fcvtpu s0, h0
+ fcvtpu s31, h0
+ fcvtpu s0, h31
+ fcvtpu d0, s0
+ fcvtpu d31, s0
+ fcvtpu d0, s31
+ fcvtpu d0, h0
+ fcvtpu d31, h0
+ fcvtpu d0, h31
+ fcvtpu s0, d0
+ fcvtpu s31, d0
+ fcvtpu s0, d31
+i:
+ fcvtzs s0, h0
+ fcvtzs s31, h0
+ fcvtzs s0, h31
+ fcvtzs d0, s0
+ fcvtzs d31, s0
+ fcvtzs d0, s31
+ fcvtzs d0, h0
+ fcvtzs d31, h0
+ fcvtzs d0, h31
+ fcvtzs s0, d0
+ fcvtzs s31, d0
+ fcvtzs s0, d31
+j:
+ fcvtzu s0, h0
+ fcvtzu s31, h0
+ fcvtzu s0, h31
+ fcvtzu d0, s0
+ fcvtzu d31, s0
+ fcvtzu d0, s31
+ fcvtzu d0, h0
+ fcvtzu d31, h0
+ fcvtzu d0, h31
+ fcvtzu s0, d0
+ fcvtzu s31, d0
+ fcvtzu s0, d31
+k:
+ scvtf h0, s0
+ scvtf h31, s0
+ scvtf h0, s31
+ scvtf d0, s0
+ scvtf d31, s0
+ scvtf d0, s31
+ scvtf h0, d0
+ scvtf h31, d0
+ scvtf h0, d31
+ scvtf s0, d0
+ scvtf s31, d0
+ scvtf s0, d31
+l:
+ ucvtf h0, s0
+ ucvtf h31, s0
+ ucvtf h0, s31
+ ucvtf d0, s0
+ ucvtf d31, s0
+ ucvtf d0, s31
+ ucvtf h0, d0
+ ucvtf h31, d0
+ ucvtf h0, d31
+ ucvtf s0, d0
+ ucvtf s31, d0
+ ucvtf s0, d31
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 1c6681dd7f9..acae2c57dd0 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -278,6 +278,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_V9_4A,
/* Armv9.5-A processors. */
AARCH64_FEATURE_V9_5A,
+ /* FPRCVT instructions. */
+ AARCH64_FEATURE_FPRCVT,
/* Virtual features. These are used to gate instructions that are enabled
by either of two (or more) sets of command line flags. */
@@ -1119,6 +1121,8 @@ enum aarch64_insn_class
floatdp3,
floatimm,
floatsel,
+ fprcvtfloat2int,
+ fprcvtint2float,
ldst_immpost,
ldst_immpre,
ldst_imm9, /* immpost or immpre */
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index 844cc6d8389..4c99b6aa431 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -201,469 +201,469 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 758: /* extr */
value = 758; /* --> extr. */
break;
- case 996: /* bic */
- case 995: /* and */
- value = 995; /* --> and. */
- break;
- case 998: /* mov */
- case 997: /* orr */
- value = 997; /* --> orr. */
- break;
- case 1001: /* tst */
- case 1000: /* ands */
- value = 1000; /* --> ands. */
- break;
- case 1006: /* uxtw */
- case 1005: /* mov */
- case 1004: /* orr */
- value = 1004; /* --> orr. */
+ case 1008: /* bic */
+ case 1007: /* and */
+ value = 1007; /* --> and. */
+ break;
+ case 1010: /* mov */
+ case 1009: /* orr */
+ value = 1009; /* --> orr. */
+ break;
+ case 1013: /* tst */
+ case 1012: /* ands */
+ value = 1012; /* --> ands. */
+ break;
+ case 1018: /* uxtw */
+ case 1017: /* mov */
+ case 1016: /* orr */
+ value = 1016; /* --> orr. */
break;
- case 1008: /* mvn */
- case 1007: /* orn */
- value = 1007; /* --> orn. */
+ case 1020: /* mvn */
+ case 1019: /* orn */
+ value = 1019; /* --> orn. */
break;
- case 1012: /* tst */
- case 1011: /* ands */
- value = 1011; /* --> ands. */
+ case 1024: /* tst */
+ case 1023: /* ands */
+ value = 1023; /* --> ands. */
break;
- case 1138: /* staddb */
- case 1042: /* ldaddb */
- value = 1042; /* --> ldaddb. */
+ case 1150: /* staddb */
+ case 1054: /* ldaddb */
+ value = 1054; /* --> ldaddb. */
break;
- case 1139: /* staddh */
- case 1043: /* ldaddh */
- value = 1043; /* --> ldaddh. */
+ case 1151: /* staddh */
+ case 1055: /* ldaddh */
+ value = 1055; /* --> ldaddh. */
break;
- case 1140: /* stadd */
- case 1044: /* ldadd */
- value = 1044; /* --> ldadd. */
+ case 1152: /* stadd */
+ case 1056: /* ldadd */
+ value = 1056; /* --> ldadd. */
break;
- case 1141: /* staddlb */
- case 1046: /* ldaddlb */
- value = 1046; /* --> ldaddlb. */
+ case 1153: /* staddlb */
+ case 1058: /* ldaddlb */
+ value = 1058; /* --> ldaddlb. */
break;
- case 1142: /* staddlh */
- case 1049: /* ldaddlh */
- value = 1049; /* --> ldaddlh. */
+ case 1154: /* staddlh */
+ case 1061: /* ldaddlh */
+ value = 1061; /* --> ldaddlh. */
break;
- case 1143: /* staddl */
- case 1052: /* ldaddl */
- value = 1052; /* --> ldaddl. */
+ case 1155: /* staddl */
+ case 1064: /* ldaddl */
+ value = 1064; /* --> ldaddl. */
break;
- case 1144: /* stclrb */
- case 1054: /* ldclrb */
- value = 1054; /* --> ldclrb. */
+ case 1156: /* stclrb */
+ case 1066: /* ldclrb */
+ value = 1066; /* --> ldclrb. */
break;
- case 1145: /* stclrh */
- case 1055: /* ldclrh */
- value = 1055; /* --> ldclrh. */
+ case 1157: /* stclrh */
+ case 1067: /* ldclrh */
+ value = 1067; /* --> ldclrh. */
break;
- case 1146: /* stclr */
- case 1056: /* ldclr */
- value = 1056; /* --> ldclr. */
+ case 1158: /* stclr */
+ case 1068: /* ldclr */
+ value = 1068; /* --> ldclr. */
break;
- case 1147: /* stclrlb */
- case 1058: /* ldclrlb */
- value = 1058; /* --> ldclrlb. */
+ case 1159: /* stclrlb */
+ case 1070: /* ldclrlb */
+ value = 1070; /* --> ldclrlb. */
break;
- case 1148: /* stclrlh */
- case 1061: /* ldclrlh */
- value = 1061; /* --> ldclrlh. */
+ case 1160: /* stclrlh */
+ case 1073: /* ldclrlh */
+ value = 1073; /* --> ldclrlh. */
break;
- case 1149: /* stclrl */
- case 1064: /* ldclrl */
- value = 1064; /* --> ldclrl. */
+ case 1161: /* stclrl */
+ case 1076: /* ldclrl */
+ value = 1076; /* --> ldclrl. */
break;
- case 1150: /* steorb */
- case 1066: /* ldeorb */
- value = 1066; /* --> ldeorb. */
+ case 1162: /* steorb */
+ case 1078: /* ldeorb */
+ value = 1078; /* --> ldeorb. */
break;
- case 1151: /* steorh */
- case 1067: /* ldeorh */
- value = 1067; /* --> ldeorh. */
+ case 1163: /* steorh */
+ case 1079: /* ldeorh */
+ value = 1079; /* --> ldeorh. */
break;
- case 1152: /* steor */
- case 1068: /* ldeor */
- value = 1068; /* --> ldeor. */
+ case 1164: /* steor */
+ case 1080: /* ldeor */
+ value = 1080; /* --> ldeor. */
break;
- case 1153: /* steorlb */
- case 1070: /* ldeorlb */
- value = 1070; /* --> ldeorlb. */
+ case 1165: /* steorlb */
+ case 1082: /* ldeorlb */
+ value = 1082; /* --> ldeorlb. */
break;
- case 1154: /* steorlh */
- case 1073: /* ldeorlh */
- value = 1073; /* --> ldeorlh. */
+ case 1166: /* steorlh */
+ case 1085: /* ldeorlh */
+ value = 1085; /* --> ldeorlh. */
break;
- case 1155: /* steorl */
- case 1076: /* ldeorl */
- value = 1076; /* --> ldeorl. */
+ case 1167: /* steorl */
+ case 1088: /* ldeorl */
+ value = 1088; /* --> ldeorl. */
break;
- case 1156: /* stsetb */
- case 1078: /* ldsetb */
- value = 1078; /* --> ldsetb. */
+ case 1168: /* stsetb */
+ case 1090: /* ldsetb */
+ value = 1090; /* --> ldsetb. */
break;
- case 1157: /* stseth */
- case 1079: /* ldseth */
- value = 1079; /* --> ldseth. */
+ case 1169: /* stseth */
+ case 1091: /* ldseth */
+ value = 1091; /* --> ldseth. */
break;
- case 1158: /* stset */
- case 1080: /* ldset */
- value = 1080; /* --> ldset. */
+ case 1170: /* stset */
+ case 1092: /* ldset */
+ value = 1092; /* --> ldset. */
break;
- case 1159: /* stsetlb */
- case 1082: /* ldsetlb */
- value = 1082; /* --> ldsetlb. */
+ case 1171: /* stsetlb */
+ case 1094: /* ldsetlb */
+ value = 1094; /* --> ldsetlb. */
break;
- case 1160: /* stsetlh */
- case 1085: /* ldsetlh */
- value = 1085; /* --> ldsetlh. */
+ case 1172: /* stsetlh */
+ case 1097: /* ldsetlh */
+ value = 1097; /* --> ldsetlh. */
break;
- case 1161: /* stsetl */
- case 1088: /* ldsetl */
- value = 1088; /* --> ldsetl. */
+ case 1173: /* stsetl */
+ case 1100: /* ldsetl */
+ value = 1100; /* --> ldsetl. */
break;
- case 1162: /* stsmaxb */
- case 1090: /* ldsmaxb */
- value = 1090; /* --> ldsmaxb. */
+ case 1174: /* stsmaxb */
+ case 1102: /* ldsmaxb */
+ value = 1102; /* --> ldsmaxb. */
break;
- case 1163: /* stsmaxh */
- case 1091: /* ldsmaxh */
- value = 1091; /* --> ldsmaxh. */
+ case 1175: /* stsmaxh */
+ case 1103: /* ldsmaxh */
+ value = 1103; /* --> ldsmaxh. */
break;
- case 1164: /* stsmax */
- case 1092: /* ldsmax */
- value = 1092; /* --> ldsmax. */
- break;
- case 1165: /* stsmaxlb */
- case 1094: /* ldsmaxlb */
- value = 1094; /* --> ldsmaxlb. */
- break;
- case 1166: /* stsmaxlh */
- case 1097: /* ldsmaxlh */
- value = 1097; /* --> ldsmaxlh. */
- break;
- case 1167: /* stsmaxl */
- case 1100: /* ldsmaxl */
- value = 1100; /* --> ldsmaxl. */
- break;
- case 1168: /* stsminb */
- case 1102: /* ldsminb */
- value = 1102; /* --> ldsminb. */
- break;
- case 1169: /* stsminh */
- case 1103: /* ldsminh */
- value = 1103; /* --> ldsminh. */
- break;
- case 1170: /* stsmin */
- case 1104: /* ldsmin */
- value = 1104; /* --> ldsmin. */
- break;
- case 1171: /* stsminlb */
- case 1106: /* ldsminlb */
- value = 1106; /* --> ldsminlb. */
- break;
- case 1172: /* stsminlh */
- case 1109: /* ldsminlh */
- value = 1109; /* --> ldsminlh. */
- break;
- case 1173: /* stsminl */
- case 1112: /* ldsminl */
- value = 1112; /* --> ldsminl. */
- break;
- case 1174: /* stumaxb */
- case 1114: /* ldumaxb */
- value = 1114; /* --> ldumaxb. */
- break;
- case 1175: /* stumaxh */
- case 1115: /* ldumaxh */
- value = 1115; /* --> ldumaxh. */
- break;
- case 1176: /* stumax */
- case 1116: /* ldumax */
- value = 1116; /* --> ldumax. */
- break;
- case 1177: /* stumaxlb */
- case 1118: /* ldumaxlb */
- value = 1118; /* --> ldumaxlb. */
- break;
- case 1178: /* stumaxlh */
- case 1121: /* ldumaxlh */
- value = 1121; /* --> ldumaxlh. */
- break;
- case 1179: /* stumaxl */
- case 1124: /* ldumaxl */
- value = 1124; /* --> ldumaxl. */
- break;
- case 1180: /* stuminb */
- case 1126: /* lduminb */
- value = 1126; /* --> lduminb. */
- break;
- case 1181: /* stuminh */
- case 1127: /* lduminh */
- value = 1127; /* --> lduminh. */
- break;
- case 1182: /* stumin */
- case 1128: /* ldumin */
- value = 1128; /* --> ldumin. */
- break;
- case 1183: /* stuminlb */
- case 1130: /* lduminlb */
- value = 1130; /* --> lduminlb. */
- break;
- case 1184: /* stuminlh */
- case 1133: /* lduminlh */
- value = 1133; /* --> lduminlh. */
- break;
- case 1185: /* stuminl */
- case 1136: /* lduminl */
- value = 1136; /* --> lduminl. */
- break;
- case 1217: /* mov */
- case 1216: /* movn */
- value = 1216; /* --> movn. */
- break;
- case 1219: /* mov */
- case 1218: /* movz */
- value = 1218; /* --> movz. */
- break;
- case 3190: /* clrbhb */
- case 1299: /* autibsp */
- case 1298: /* autibz */
- case 1297: /* autiasp */
- case 1296: /* autiaz */
- case 1295: /* pacibsp */
- case 1294: /* pacibz */
- case 1293: /* paciasp */
- case 1292: /* paciaz */
- case 1271: /* gcsb */
- case 1251: /* clearbhb */
- case 1250: /* tsb */
- case 1249: /* psb */
- case 1248: /* esb */
- case 1247: /* autib1716 */
- case 1246: /* autia1716 */
- case 1245: /* pacib1716 */
- case 1244: /* pacia1716 */
- case 1243: /* xpaclri */
- case 1242: /* dgh */
- case 1241: /* sevl */
- case 1240: /* sev */
- case 1239: /* wfi */
- case 1238: /* wfe */
- case 1237: /* yield */
- case 1236: /* bti */
- case 1235: /* csdb */
- case 1234: /* nop */
- case 1233: /* hint */
- value = 1233; /* --> hint. */
- break;
- case 1257: /* pssbb */
- case 1256: /* ssbb */
- case 1255: /* dfb */
- case 1253: /* dsb */
- value = 1253; /* --> dsb. */
- break;
- case 1254: /* dsb */
- value = 1254; /* --> dsb. */
- break;
- case 3191: /* trcit */
- case 1285: /* brb */
- case 1284: /* cosp */
- case 1283: /* cpp */
- case 1282: /* dvp */
- case 1281: /* cfp */
- case 1277: /* tlbi */
- case 1276: /* ic */
- case 1275: /* dc */
- case 1274: /* at */
- case 1272: /* sys */
- value = 1272; /* --> sys. */
- break;
- case 1278: /* tlbip */
- case 1273: /* sysp */
- value = 1273; /* --> sysp. */
- break;
- case 1279: /* wfet */
- value = 1279; /* --> wfet. */
- break;
- case 1280: /* wfit */
- value = 1280; /* --> wfit. */
- break;
- case 2085: /* bic */
- case 1348: /* and */
- value = 1348; /* --> and. */
- break;
- case 1331: /* mov */
- case 1350: /* and */
- value = 1350; /* --> and. */
- break;
- case 1335: /* movs */
- case 1351: /* ands */
- value = 1351; /* --> ands. */
- break;
- case 2086: /* cmple */
- case 1386: /* cmpge */
- value = 1386; /* --> cmpge. */
- break;
- case 2089: /* cmplt */
- case 1389: /* cmpgt */
- value = 1389; /* --> cmpgt. */
- break;
- case 2087: /* cmplo */
- case 1391: /* cmphi */
- value = 1391; /* --> cmphi. */
- break;
- case 2088: /* cmpls */
- case 1394: /* cmphs */
- value = 1394; /* --> cmphs. */
- break;
- case 1328: /* mov */
- case 1416: /* cpy */
- value = 1416; /* --> cpy. */
- break;
- case 1330: /* mov */
- case 1417: /* cpy */
- value = 1417; /* --> cpy. */
- break;
- case 2096: /* fmov */
+ case 1176: /* stsmax */
+ case 1104: /* ldsmax */
+ value = 1104; /* --> ldsmax. */
+ break;
+ case 1177: /* stsmaxlb */
+ case 1106: /* ldsmaxlb */
+ value = 1106; /* --> ldsmaxlb. */
+ break;
+ case 1178: /* stsmaxlh */
+ case 1109: /* ldsmaxlh */
+ value = 1109; /* --> ldsmaxlh. */
+ break;
+ case 1179: /* stsmaxl */
+ case 1112: /* ldsmaxl */
+ value = 1112; /* --> ldsmaxl. */
+ break;
+ case 1180: /* stsminb */
+ case 1114: /* ldsminb */
+ value = 1114; /* --> ldsminb. */
+ break;
+ case 1181: /* stsminh */
+ case 1115: /* ldsminh */
+ value = 1115; /* --> ldsminh. */
+ break;
+ case 1182: /* stsmin */
+ case 1116: /* ldsmin */
+ value = 1116; /* --> ldsmin. */
+ break;
+ case 1183: /* stsminlb */
+ case 1118: /* ldsminlb */
+ value = 1118; /* --> ldsminlb. */
+ break;
+ case 1184: /* stsminlh */
+ case 1121: /* ldsminlh */
+ value = 1121; /* --> ldsminlh. */
+ break;
+ case 1185: /* stsminl */
+ case 1124: /* ldsminl */
+ value = 1124; /* --> ldsminl. */
+ break;
+ case 1186: /* stumaxb */
+ case 1126: /* ldumaxb */
+ value = 1126; /* --> ldumaxb. */
+ break;
+ case 1187: /* stumaxh */
+ case 1127: /* ldumaxh */
+ value = 1127; /* --> ldumaxh. */
+ break;
+ case 1188: /* stumax */
+ case 1128: /* ldumax */
+ value = 1128; /* --> ldumax. */
+ break;
+ case 1189: /* stumaxlb */
+ case 1130: /* ldumaxlb */
+ value = 1130; /* --> ldumaxlb. */
+ break;
+ case 1190: /* stumaxlh */
+ case 1133: /* ldumaxlh */
+ value = 1133; /* --> ldumaxlh. */
+ break;
+ case 1191: /* stumaxl */
+ case 1136: /* ldumaxl */
+ value = 1136; /* --> ldumaxl. */
+ break;
+ case 1192: /* stuminb */
+ case 1138: /* lduminb */
+ value = 1138; /* --> lduminb. */
+ break;
+ case 1193: /* stuminh */
+ case 1139: /* lduminh */
+ value = 1139; /* --> lduminh. */
+ break;
+ case 1194: /* stumin */
+ case 1140: /* ldumin */
+ value = 1140; /* --> ldumin. */
+ break;
+ case 1195: /* stuminlb */
+ case 1142: /* lduminlb */
+ value = 1142; /* --> lduminlb. */
+ break;
+ case 1196: /* stuminlh */
+ case 1145: /* lduminlh */
+ value = 1145; /* --> lduminlh. */
+ break;
+ case 1197: /* stuminl */
+ case 1148: /* lduminl */
+ value = 1148; /* --> lduminl. */
+ break;
+ case 1229: /* mov */
+ case 1228: /* movn */
+ value = 1228; /* --> movn. */
+ break;
+ case 1231: /* mov */
+ case 1230: /* movz */
+ value = 1230; /* --> movz. */
+ break;
+ case 3202: /* clrbhb */
+ case 1311: /* autibsp */
+ case 1310: /* autibz */
+ case 1309: /* autiasp */
+ case 1308: /* autiaz */
+ case 1307: /* pacibsp */
+ case 1306: /* pacibz */
+ case 1305: /* paciasp */
+ case 1304: /* paciaz */
+ case 1283: /* gcsb */
+ case 1263: /* clearbhb */
+ case 1262: /* tsb */
+ case 1261: /* psb */
+ case 1260: /* esb */
+ case 1259: /* autib1716 */
+ case 1258: /* autia1716 */
+ case 1257: /* pacib1716 */
+ case 1256: /* pacia1716 */
+ case 1255: /* xpaclri */
+ case 1254: /* dgh */
+ case 1253: /* sevl */
+ case 1252: /* sev */
+ case 1251: /* wfi */
+ case 1250: /* wfe */
+ case 1249: /* yield */
+ case 1248: /* bti */
+ case 1247: /* csdb */
+ case 1246: /* nop */
+ case 1245: /* hint */
+ value = 1245; /* --> hint. */
+ break;
+ case 1269: /* pssbb */
+ case 1268: /* ssbb */
+ case 1267: /* dfb */
+ case 1265: /* dsb */
+ value = 1265; /* --> dsb. */
+ break;
+ case 1266: /* dsb */
+ value = 1266; /* --> dsb. */
+ break;
+ case 3203: /* trcit */
+ case 1297: /* brb */
+ case 1296: /* cosp */
+ case 1295: /* cpp */
+ case 1294: /* dvp */
+ case 1293: /* cfp */
+ case 1289: /* tlbi */
+ case 1288: /* ic */
+ case 1287: /* dc */
+ case 1286: /* at */
+ case 1284: /* sys */
+ value = 1284; /* --> sys. */
+ break;
+ case 1290: /* tlbip */
+ case 1285: /* sysp */
+ value = 1285; /* --> sysp. */
+ break;
+ case 1291: /* wfet */
+ value = 1291; /* --> wfet. */
+ break;
+ case 1292: /* wfit */
+ value = 1292; /* --> wfit. */
+ break;
+ case 2097: /* bic */
+ case 1360: /* and */
+ value = 1360; /* --> and. */
+ break;
+ case 1343: /* mov */
+ case 1362: /* and */
+ value = 1362; /* --> and. */
+ break;
+ case 1347: /* movs */
+ case 1363: /* ands */
+ value = 1363; /* --> ands. */
+ break;
+ case 2098: /* cmple */
+ case 1398: /* cmpge */
+ value = 1398; /* --> cmpge. */
+ break;
+ case 2101: /* cmplt */
+ case 1401: /* cmpgt */
+ value = 1401; /* --> cmpgt. */
+ break;
+ case 2099: /* cmplo */
+ case 1403: /* cmphi */
+ value = 1403; /* --> cmphi. */
+ break;
+ case 2100: /* cmpls */
+ case 1406: /* cmphs */
+ value = 1406; /* --> cmphs. */
+ break;
+ case 1340: /* mov */
+ case 1428: /* cpy */
+ value = 1428; /* --> cpy. */
+ break;
+ case 1342: /* mov */
+ case 1429: /* cpy */
+ value = 1429; /* --> cpy. */
+ break;
+ case 2108: /* fmov */
+ case 1345: /* mov */
+ case 1430: /* cpy */
+ value = 1430; /* --> cpy. */
+ break;
+ case 1334: /* mov */
+ case 1442: /* dup */
+ value = 1442; /* --> dup. */
+ break;
+ case 1337: /* mov */
case 1333: /* mov */
- case 1418: /* cpy */
- value = 1418; /* --> cpy. */
+ case 1443: /* dup */
+ value = 1443; /* --> dup. */
break;
- case 1322: /* mov */
- case 1430: /* dup */
- value = 1430; /* --> dup. */
+ case 2107: /* fmov */
+ case 1339: /* mov */
+ case 1444: /* dup */
+ value = 1444; /* --> dup. */
break;
- case 1325: /* mov */
- case 1321: /* mov */
- case 1431: /* dup */
- value = 1431; /* --> dup. */
+ case 1338: /* mov */
+ case 1445: /* dupm */
+ value = 1445; /* --> dupm. */
break;
- case 2095: /* fmov */
- case 1327: /* mov */
- case 1432: /* dup */
- value = 1432; /* --> dup. */
+ case 2102: /* eon */
+ case 1447: /* eor */
+ value = 1447; /* --> eor. */
break;
- case 1326: /* mov */
- case 1433: /* dupm */
- value = 1433; /* --> dupm. */
+ case 1348: /* not */
+ case 1449: /* eor */
+ value = 1449; /* --> eor. */
break;
- case 2090: /* eon */
- case 1435: /* eor */
- value = 1435; /* --> eor. */
+ case 1349: /* nots */
+ case 1450: /* eors */
+ value = 1450; /* --> eors. */
break;
- case 1336: /* not */
- case 1437: /* eor */
- value = 1437; /* --> eor. */
+ case 2103: /* facle */
+ case 1455: /* facge */
+ value = 1455; /* --> facge. */
break;
- case 1337: /* nots */
- case 1438: /* eors */
- value = 1438; /* --> eors. */
+ case 2104: /* faclt */
+ case 1456: /* facgt */
+ value = 1456; /* --> facgt. */
break;
- case 2091: /* facle */
- case 1443: /* facge */
- value = 1443; /* --> facge. */
+ case 2105: /* fcmle */
+ case 1469: /* fcmge */
+ value = 1469; /* --> fcmge. */
break;
- case 2092: /* faclt */
- case 1444: /* facgt */
- value = 1444; /* --> facgt. */
+ case 2106: /* fcmlt */
+ case 1471: /* fcmgt */
+ value = 1471; /* --> fcmgt. */
break;
- case 2093: /* fcmle */
- case 1457: /* fcmge */
- value = 1457; /* --> fcmge. */
+ case 1331: /* fmov */
+ case 1477: /* fcpy */
+ value = 1477; /* --> fcpy. */
break;
- case 2094: /* fcmlt */
- case 1459: /* fcmgt */
- value = 1459; /* --> fcmgt. */
+ case 1330: /* fmov */
+ case 1500: /* fdup */
+ value = 1500; /* --> fdup. */
break;
- case 1319: /* fmov */
- case 1465: /* fcpy */
- value = 1465; /* --> fcpy. */
+ case 1786: /* ldr */
+ case 1785: /* ldr */
+ value = 1785; /* --> ldr. */
break;
- case 1318: /* fmov */
- case 1488: /* fdup */
- value = 1488; /* --> fdup. */
- break;
- case 1774: /* ldr */
- case 1773: /* ldr */
- value = 1773; /* --> ldr. */
- break;
- case 1320: /* mov */
- case 1804: /* orr */
- value = 1804; /* --> orr. */
+ case 1332: /* mov */
+ case 1816: /* orr */
+ value = 1816; /* --> orr. */
break;
- case 2097: /* orn */
- case 1805: /* orr */
- value = 1805; /* --> orr. */
+ case 2109: /* orn */
+ case 1817: /* orr */
+ value = 1817; /* --> orr. */
break;
- case 1324: /* mov */
- case 1323: /* mov */
- case 1807: /* orr */
- value = 1807; /* --> orr. */
+ case 1336: /* mov */
+ case 1335: /* mov */
+ case 1819: /* orr */
+ value = 1819; /* --> orr. */
break;
- case 1334: /* movs */
- case 1808: /* orrs */
- value = 1808; /* --> orrs. */
+ case 1346: /* movs */
+ case 1820: /* orrs */
+ value = 1820; /* --> orrs. */
break;
- case 1811: /* pfalse */
- case 1810: /* pfalse */
- value = 1810; /* --> pfalse. */
+ case 1823: /* pfalse */
+ case 1822: /* pfalse */
+ value = 1822; /* --> pfalse. */
break;
- case 1329: /* mov */
- case 1871: /* sel */
- value = 1871; /* --> sel. */
+ case 1341: /* mov */
+ case 1883: /* sel */
+ value = 1883; /* --> sel. */
break;
- case 1332: /* mov */
- case 1872: /* sel */
- value = 1872; /* --> sel. */
+ case 1344: /* mov */
+ case 1884: /* sel */
+ value = 1884; /* --> sel. */
break;
- case 1993: /* str */
- case 1992: /* str */
- value = 1992; /* --> str. */
+ case 2005: /* str */
+ case 2004: /* str */
+ value = 2004; /* --> str. */
break;
- case 2420: /* mov */
- case 2422: /* mova */
- value = 2422; /* --> mova. */
+ case 2432: /* mov */
+ case 2434: /* mova */
+ value = 2434; /* --> mova. */
break;
- case 2421: /* mov */
- case 2423: /* mova */
- value = 2423; /* --> mova. */
+ case 2433: /* mov */
+ case 2435: /* mova */
+ value = 2435; /* --> mova. */
break;
- case 2441: /* psel */
- case 2440: /* psel */
- value = 2440; /* --> psel. */
+ case 2453: /* psel */
+ case 2452: /* psel */
+ value = 2452; /* --> psel. */
break;
- case 2646: /* mov */
- case 2654: /* mova */
- value = 2654; /* --> mova. */
+ case 2658: /* mov */
+ case 2666: /* mova */
+ value = 2666; /* --> mova. */
break;
- case 2647: /* mov */
- case 2655: /* mova */
- value = 2655; /* --> mova. */
+ case 2659: /* mov */
+ case 2667: /* mova */
+ value = 2667; /* --> mova. */
break;
- case 2648: /* mov */
- case 2656: /* mova */
- value = 2656; /* --> mova. */
+ case 2660: /* mov */
+ case 2668: /* mova */
+ value = 2668; /* --> mova. */
break;
- case 2649: /* mov */
- case 2657: /* mova */
- value = 2657; /* --> mova. */
+ case 2661: /* mov */
+ case 2669: /* mova */
+ value = 2669; /* --> mova. */
break;
- case 2650: /* mov */
- case 2658: /* mova */
- value = 2658; /* --> mova. */
+ case 2662: /* mov */
+ case 2670: /* mova */
+ value = 2670; /* --> mova. */
break;
- case 2651: /* mov */
- case 2659: /* mova */
- value = 2659; /* --> mova. */
+ case 2663: /* mov */
+ case 2671: /* mova */
+ value = 2671; /* --> mova. */
break;
- case 2652: /* mov */
- case 2660: /* mova */
- value = 2660; /* --> mova. */
+ case 2664: /* mov */
+ case 2672: /* mova */
+ value = 2672; /* --> mova. */
break;
- case 2653: /* mov */
- case 2661: /* mova */
- value = 2661; /* --> mova. */
+ case 2665: /* mov */
+ case 2673: /* mova */
+ value = 2673; /* --> mova. */
break;
default: return NULL;
}
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index f20bdf6ae67..cef689db326 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -2033,7 +2033,8 @@ do_special_encoding (struct aarch64_inst *inst)
{
idx = select_operand_for_sf_field_coding (inst->opcode);
value = (inst->operands[idx].qualifier == AARCH64_OPND_QLF_X
- || inst->operands[idx].qualifier == AARCH64_OPND_QLF_SP)
+ || inst->operands[idx].qualifier == AARCH64_OPND_QLF_SP
+ || inst->operands[idx].qualifier == AARCH64_OPND_QLF_S_D)
? 1 : 0;
insert_field (FLD_sf, &inst->value, value, 0);
if (inst->opcode->flags & F_N)
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index 6af624469f9..a20fead95f7 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 2397;
+ return 2409;
}
else
{
@@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx10xxx
fmops. */
- return 2400;
+ return 2412;
}
}
else
@@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx01xxx
bmopa. */
- return 2501;
+ return 2513;
}
else
{
@@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx11xxx
bmops. */
- return 2502;
+ return 2514;
}
}
}
@@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx0xxxx
fmopa. */
- return 2398;
+ return 2410;
}
else
{
@@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx1xxxx
fmops. */
- return 2401;
+ return 2413;
}
}
}
@@ -128,7 +128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx00000xxxxxxxxxxxxxxxxx
mova. */
- return 2423;
+ return 2435;
}
else
{
@@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010000xxxxxxxxxxxxxxxx
addha. */
- return 2389;
+ return 2401;
}
else
{
@@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010000xxxxxxxxxxxxxxxx
addha. */
- return 2390;
+ return 2402;
}
}
else
@@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010001xxxxxxxxxxxxxxxx
addva. */
- return 2393;
+ return 2405;
}
else
{
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010001xxxxxxxxxxxxxxxx
addva. */
- return 2394;
+ return 2406;
}
}
}
@@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x100xxxxxxxxxxxxxxxxx
zero. */
- return 2424;
+ return 2436;
}
else
{
@@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x10x100xxxxxxxxxxxxxxxxx
zero. */
- return 2931;
+ return 2943;
}
}
}
@@ -202,7 +202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x001xxxxxxx0xxxxxxxxx
mova. */
- return 2422;
+ return 2434;
}
else
{
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3322;
+ return 3334;
}
else
{
@@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3324;
+ return 3336;
}
}
else
@@ -235,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3323;
+ return 3335;
}
else
{
@@ -243,7 +243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3325;
+ return 3337;
}
}
}
@@ -253,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x0011xxxxxx1xxxxxxxxx
movaz. */
- return 3326;
+ return 3338;
}
}
}
@@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x00xxxxxxxxxxxxxx
luti4. */
- return 3462;
+ return 3474;
}
else
{
@@ -279,7 +279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x10xxxxxxxxxxxxxx
luti4. */
- return 2645;
+ return 2657;
}
}
else
@@ -288,7 +288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101xx1xxxxxxxxxxxxxx
luti4. */
- return 2644;
+ return 2656;
}
}
else
@@ -297,7 +297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x100101xxxxxxxxxxxxxxxxx
luti4. */
- return 2643;
+ return 2655;
}
}
else
@@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x00xxxxxxxxxxxxxx
luti4. */
- return 3463;
+ return 3475;
}
else
{
@@ -318,7 +318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x10xxxxxxxxxxxxxx
luti4. */
- return 3319;
+ return 3331;
}
}
else
@@ -327,7 +327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101xx1xxxxxxxxxxxxxx
luti4. */
- return 3318;
+ return 3330;
}
}
}
@@ -347,7 +347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x010xxxxx00xxxxxxxxxx
mova. */
- return 2660;
+ return 2672;
}
else
{
@@ -357,7 +357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x011xxxxx000xxxxxxxxx
mova. */
- return 2656;
+ return 2668;
}
else
{
@@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x011xxxxx001xxxxxxxxx
movaz. */
- return 3312;
+ return 3324;
}
else
{
@@ -377,7 +377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x011xxxxx001xxxxxxxxx
movaz. */
- return 3314;
+ return 3326;
}
}
else
@@ -388,7 +388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x011xxxxx001xxxxxxxxx
movaz. */
- return 3313;
+ return 3325;
}
else
{
@@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x011xxxxx001xxxxxxxxx
movaz. */
- return 3315;
+ return 3327;
}
}
}
@@ -420,7 +420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011000xxx00xxxxxxxxxx
zero. */
- return 3327;
+ return 3339;
}
else
{
@@ -428,7 +428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011100xxx00xxxxxxxxxx
zero. */
- return 3328;
+ return 3340;
}
}
else
@@ -439,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011010xxx00xxxxxxxxxx
zero. */
- return 3330;
+ return 3342;
}
else
{
@@ -447,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011110xxx00xxxxxxxxxx
zero. */
- return 3333;
+ return 3345;
}
}
}
@@ -461,7 +461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011001xxx00xxxxxxxxxx
zero. */
- return 3329;
+ return 3341;
}
else
{
@@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011101xxx00xxxxxxxxxx
zero. */
- return 3332;
+ return 3344;
}
}
else
@@ -480,7 +480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011011xxx00xxxxxxxxxx
zero. */
- return 3331;
+ return 3343;
}
else
{
@@ -488,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011111xxx00xxxxxxxxxx
zero. */
- return 3334;
+ return 3346;
}
}
}
@@ -501,7 +501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx0xx00xxxxxxxxxx
luti2. */
- return 2642;
+ return 2654;
}
else
{
@@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx1xx00xxxxxxxxxx
luti2. */
- return 2641;
+ return 2653;
}
}
}
@@ -525,7 +525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001100xxxx00xxxxxxxxxx
movt. */
- return 2663;
+ return 2675;
}
else
{
@@ -533,7 +533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001110xxxx00xxxxxxxxxx
movt. */
- return 2662;
+ return 2674;
}
}
else
@@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010011x1xxxx00xxxxxxxxxx
movt. */
- return 3464;
+ return 3476;
}
}
else
@@ -551,7 +551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110011xxxxxx00xxxxxxxxxx
luti2. */
- return 2640;
+ return 2652;
}
}
}
@@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx0xx00xxxxxxxxxx
luti2. */
- return 3317;
+ return 3329;
}
else
{
@@ -571,7 +571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx1xx00xxxxxxxxxx
luti2. */
- return 3316;
+ return 3328;
}
}
}
@@ -584,7 +584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx10xxxxxxxxxx
mova. */
- return 2658;
+ return 2670;
}
else
{
@@ -594,7 +594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx100xxxxxxxxx
mova. */
- return 2654;
+ return 2666;
}
else
{
@@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx101xxxxxxxxx
movaz. */
- return 3320;
+ return 3332;
}
}
}
@@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx01xxxxxxxxxx
mova. */
- return 2661;
+ return 2673;
}
else
{
@@ -627,7 +627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx010xxxxxxxxx
mova. */
- return 2657;
+ return 2669;
}
else
{
@@ -639,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000xx11xxxxx011xxxxxxxxx
movaz. */
- return 3308;
+ return 3320;
}
else
{
@@ -647,7 +647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100xx11xxxxx011xxxxxxxxx
movaz. */
- return 3310;
+ return 3322;
}
}
else
@@ -658,7 +658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010xx11xxxxx011xxxxxxxxx
movaz. */
- return 3309;
+ return 3321;
}
else
{
@@ -666,7 +666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110xx11xxxxx011xxxxxxxxx
movaz. */
- return 3311;
+ return 3323;
}
}
}
@@ -680,7 +680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx10xxxxx11xxxxxxxxxx
mova. */
- return 2659;
+ return 2671;
}
else
{
@@ -690,7 +690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx110xxxxxxxxx
mova. */
- return 2655;
+ return 2667;
}
else
{
@@ -698,7 +698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx111xxxxxxxxx
movaz. */
- return 3321;
+ return 3333;
}
}
}
@@ -726,7 +726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2579;
+ return 2591;
}
else
{
@@ -734,7 +734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2580;
+ return 2592;
}
}
else
@@ -745,7 +745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2603;
+ return 2615;
}
else
{
@@ -753,7 +753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2604;
+ return 2616;
}
}
}
@@ -767,7 +767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2595;
+ return 2607;
}
else
{
@@ -775,7 +775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2596;
+ return 2608;
}
}
else
@@ -786,7 +786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2587;
+ return 2599;
}
else
{
@@ -794,7 +794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2588;
+ return 2600;
}
}
}
@@ -811,7 +811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2611;
+ return 2623;
}
else
{
@@ -819,7 +819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2612;
+ return 2624;
}
}
else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2635;
+ return 2647;
}
else
{
@@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2636;
+ return 2648;
}
}
}
@@ -852,7 +852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2627;
+ return 2639;
}
else
{
@@ -860,7 +860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2628;
+ return 2640;
}
}
else
@@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2619;
+ return 2631;
}
else
{
@@ -879,7 +879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2620;
+ return 2632;
}
}
}
@@ -891,7 +891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000000xxxxxxxxxxxxxxxxxxxxx
ld1b. */
- return 2425;
+ return 2437;
}
}
else
@@ -906,7 +906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx00xxx
smopa. */
- return 2404;
+ return 2416;
}
else
{
@@ -914,7 +914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx01xxx
smopa. */
- return 2725;
+ return 2737;
}
}
else
@@ -923,7 +923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000100xxxxxxxxxxxxxxxx0xxxx
ld1w. */
- return 2427;
+ return 2439;
}
}
else
@@ -934,7 +934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx10xxx
smops. */
- return 2406;
+ return 2418;
}
else
{
@@ -942,7 +942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx11xxx
smops. */
- return 2726;
+ return 2738;
}
}
}
@@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2575;
+ return 2587;
}
else
{
@@ -973,7 +973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2576;
+ return 2588;
}
}
else
@@ -984,7 +984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2599;
+ return 2611;
}
else
{
@@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2600;
+ return 2612;
}
}
}
@@ -1006,7 +1006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2591;
+ return 2603;
}
else
{
@@ -1014,7 +1014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2592;
+ return 2604;
}
}
else
@@ -1025,7 +1025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2583;
+ return 2595;
}
else
{
@@ -1033,7 +1033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2584;
+ return 2596;
}
}
}
@@ -1050,7 +1050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2607;
+ return 2619;
}
else
{
@@ -1058,7 +1058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2608;
+ return 2620;
}
}
else
@@ -1069,7 +1069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2631;
+ return 2643;
}
else
{
@@ -1077,7 +1077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2632;
+ return 2644;
}
}
}
@@ -1091,7 +1091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2623;
+ return 2635;
}
else
{
@@ -1099,7 +1099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2624;
+ return 2636;
}
}
else
@@ -1110,7 +1110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2615;
+ return 2627;
}
else
{
@@ -1118,7 +1118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2616;
+ return 2628;
}
}
}
@@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000010xxxxxxxxxxxxxxxxxxxxx
ld1h. */
- return 2426;
+ return 2438;
}
}
else
@@ -1143,7 +1143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000110xxxxxxxxxxxxxxxx0xxxx
smopa. */
- return 2405;
+ return 2417;
}
else
{
@@ -1151,7 +1151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000110xxxxxxxxxxxxxxxx0xxxx
[...]
[diff truncated at 100000 bytes]