aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-06-02 11:29:15 +0100
committerJiong Wang <jiong.wang@arm.com>2015-06-02 11:30:12 +0100
commit290806fd94099361f28e012cebca058c8c4f0e45 (patch)
tree0d3349bdb80d5b9df0b6f48e5a2eb0b6f4857bd4
parent8d683210f1932f6ac6d2cd8ae8186cdad80f5a23 (diff)
downloadgdb-290806fd94099361f28e012cebca058c8c4f0e45.zip
gdb-290806fd94099361f28e012cebca058c8c4f0e45.tar.gz
gdb-290806fd94099361f28e012cebca058c8c4f0e45.tar.bz2
[AArch64] Support for ARMv8.1a Limited Ordering Regions extension
2015-06-02 Matthew Wahab <matthew.wahab@arm.com> include/ * aarch64.h (AARCH64_FEATURE_LOR): New. opcodes/ * aarch64-tbl.h (aarch64_feature_lor): New. (LOR): New. (aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr", "stllrb", "stllrh". * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. gas/ * config/tc-aarch64.c (aarch64_features): Add "lor". * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of architecture extensions. gas/testsuite/ * lor-directive.d: New. * lor.d: New. * lor.s: New.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-aarch64.c1
-rw-r--r--gas/doc/c-aarch64.texi2
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/aarch64/lor-directive.d25
-rw-r--r--gas/testsuite/gas/aarch64/lor.d23
-rw-r--r--gas/testsuite/gas/aarch64/lor.s43
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/aarch64.h1
-rw-r--r--opcodes/ChangeLog10
-rw-r--r--opcodes/aarch64-asm-2.c250
-rw-r--r--opcodes/aarch64-dis-2.c585
-rw-r--r--opcodes/aarch64-opc-2.c24
-rw-r--r--opcodes/aarch64-tbl.h10
14 files changed, 589 insertions, 401 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index dd2f446..2401a44 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-aarch64.c (aarch64_features): Add "lor".
+ * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of
+ architecture extensions.
+
2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
* config/tc-aarch64.c (parse_sys_reg): New parameter. Check target
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 707936d..28fb41c 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7400,6 +7400,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"lse", AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0)},
{"simd", AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)},
{"pan", AARCH64_FEATURE (AARCH64_FEATURE_PAN, 0)},
+ {"lor", AARCH64_FEATURE (AARCH64_FEATURE_LOR, 0)},
{NULL, AARCH64_ARCH_NONE}
};
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index f790c7a..2b5689c 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -135,6 +135,8 @@ automatically cause those extensions to be disabled.
@tab Enable Advanced SIMD extensions. This implies @code{fp}.
@item @code{pan} @tab ARMv8-A @tab ARMv8-A or later
@tab Enable Privileged Access Never support.
+@item @code{lor} @tab ARMv8-A @tab ARMv8-A or later
+ @tab Enable Limited Ordering Regions extensions.
@end multitable
@node AArch64 Syntax
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 233e138..6e2ea2d 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * lor-directive.d: New.
+ * lor.d: New.
+ * lor.s: New
+
2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
* pan-directive.d: New.
diff --git a/gas/testsuite/gas/aarch64/lor-directive.d b/gas/testsuite/gas/aarch64/lor-directive.d
new file mode 100644
index 0000000..3238bb9
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lor-directive.d
@@ -0,0 +1,25 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: lor.s
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0000000000000000 <.text>:
+ 0: 889f7c00 stllr w0, \[x0\]
+ 4: c89f7c00 stllr x0, \[x0\]
+ 8: 889f7c01 stllr w1, \[x0\]
+ c: c89f7c22 stllr x2, \[x1\]
+ 10: 489f7c43 stllrh w3, \[x2\]
+ 14: 089f7c64 stllrb w4, \[x3\]
+ 18: 089f7fe5 stllrb w5, \[sp\]
+ 1c: 88df7c00 ldlar w0, \[x0\]
+ 20: c8df7c00 ldlar x0, \[x0\]
+ 24: 88df7c01 ldlar w1, \[x0\]
+ 28: c8df7c22 ldlar x2, \[x1\]
+ 2c: 08df7c43 ldlarb w3, \[x2\]
+ 30: 48df7c64 ldlarh w4, \[x3\]
+ 34: 88df7fe5 ldlar w5, \[sp\]
+
diff --git a/gas/testsuite/gas/aarch64/lor.d b/gas/testsuite/gas/aarch64/lor.d
new file mode 100644
index 0000000..006983b
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lor.d
@@ -0,0 +1,23 @@
+#objdump: -dr
+#as: -march=armv8-a+lor
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0000000000000000 <.text>:
+ 0: 889f7c00 stllr w0, \[x0\]
+ 4: c89f7c00 stllr x0, \[x0\]
+ 8: 889f7c01 stllr w1, \[x0\]
+ c: c89f7c22 stllr x2, \[x1\]
+ 10: 489f7c43 stllrh w3, \[x2\]
+ 14: 089f7c64 stllrb w4, \[x3\]
+ 18: 089f7fe5 stllrb w5, \[sp\]
+ 1c: 88df7c00 ldlar w0, \[x0\]
+ 20: c8df7c00 ldlar x0, \[x0\]
+ 24: 88df7c01 ldlar w1, \[x0\]
+ 28: c8df7c22 ldlar x2, \[x1\]
+ 2c: 08df7c43 ldlarb w3, \[x2\]
+ 30: 48df7c64 ldlarh w4, \[x3\]
+ 34: 88df7fe5 ldlar w5, \[sp\]
diff --git a/gas/testsuite/gas/aarch64/lor.s b/gas/testsuite/gas/aarch64/lor.s
new file mode 100644
index 0000000..3d296ab
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lor.s
@@ -0,0 +1,43 @@
+/* lor.s Test file for AArch64 LOR extension instructions.
+
+ Copyright (C) 2015 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 <http://www.gnu.org/licenses/>. */
+
+ .text
+ .ifdef DIRECTIVE
+ .arch_extension lor
+ .endif
+
+ stllr w0, [x0]
+ stllr x0, [x0]
+
+ stllr w1, [x0]
+ stllr x2, [x1]
+ stllrh w3, [x2]
+ stllrb w4, [x3]
+ stllrb w5, [sp]
+
+ ldlar w0, [x0]
+ ldlar x0, [x0]
+
+ ldlar w1, [x0]
+ ldlar x2, [x1]
+ ldlarb w3, [x2]
+ ldlarh w4, [x3]
+ ldlar w5, [sp]
+
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 5b8a1ff..0154b89 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64.h (AARCH64_FEATURE_LOR): New.
+
2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
* aarch64.h (AARCH64_FEATURE_PAN): New.
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 8df82a1..764c6ec 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -40,6 +40,7 @@ typedef uint32_t aarch64_insn;
#define AARCH64_FEATURE_CRC 0x00080000 /* CRC instructions. */
#define AARCH64_FEATURE_LSE 0x00100000 /* LSE instructions. */
#define AARCH64_FEATURE_PAN 0x00200000 /* PAN instructions. */
+#define AARCH64_FEATURE_LOR 0x00400000 /* LOR instructions. */
/* Architectures are the sum of the base and extensions. */
#define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index f4688c8..32b0456 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,13 @@
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64-tbl.h (aarch64_feature_lor): New.
+ (LOR): New.
+ (aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr",
+ "stllrb", "stllrh".
+ * aarch64-asm-2.c: Regenerate.
+ * aarch64-dis-2.c: Regenerate.
+ * aarch64-opc-2.c: Regenerate.
+
2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
* aarch64-opc.c (F_ARCHEXT): New.
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index dd69dbe..4894f34 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -155,188 +155,188 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 595: /* ror */
value = 594; /* --> extr. */
break;
- case 746: /* bic */
- value = 745; /* --> and. */
+ case 752: /* bic */
+ value = 751; /* --> and. */
break;
- case 748: /* mov */
- value = 747; /* --> orr. */
+ case 754: /* mov */
+ value = 753; /* --> orr. */
break;
- case 751: /* tst */
- value = 750; /* --> ands. */
+ case 757: /* tst */
+ value = 756; /* --> ands. */
break;
- case 756: /* uxtw */
- case 755: /* mov */
- value = 754; /* --> orr. */
+ case 762: /* uxtw */
+ case 761: /* mov */
+ value = 760; /* --> orr. */
break;
- case 758: /* mvn */
- value = 757; /* --> orn. */
+ case 764: /* mvn */
+ value = 763; /* --> orn. */
break;
- case 762: /* tst */
- value = 761; /* --> ands. */
+ case 768: /* tst */
+ value = 767; /* --> ands. */
break;
- case 888: /* staddb */
- value = 792; /* --> ldaddb. */
+ case 894: /* staddb */
+ value = 798; /* --> ldaddb. */
break;
- case 889: /* staddh */
- value = 793; /* --> ldaddh. */
+ case 895: /* staddh */
+ value = 799; /* --> ldaddh. */
break;
- case 890: /* stadd */
- value = 794; /* --> ldadd. */
+ case 896: /* stadd */
+ value = 800; /* --> ldadd. */
break;
- case 891: /* staddlb */
- value = 796; /* --> ldaddlb. */
+ case 897: /* staddlb */
+ value = 802; /* --> ldaddlb. */
break;
- case 892: /* staddlh */
- value = 799; /* --> ldaddlh. */
+ case 898: /* staddlh */
+ value = 805; /* --> ldaddlh. */
break;
- case 893: /* staddl */
- value = 802; /* --> ldaddl. */
+ case 899: /* staddl */
+ value = 808; /* --> ldaddl. */
break;
- case 894: /* stclrb */
- value = 804; /* --> ldclrb. */
+ case 900: /* stclrb */
+ value = 810; /* --> ldclrb. */
break;
- case 895: /* stclrh */
- value = 805; /* --> ldclrh. */
+ case 901: /* stclrh */
+ value = 811; /* --> ldclrh. */
break;
- case 896: /* stclr */
- value = 806; /* --> ldclr. */
+ case 902: /* stclr */
+ value = 812; /* --> ldclr. */
break;
- case 897: /* stclrlb */
- value = 808; /* --> ldclrlb. */
+ case 903: /* stclrlb */
+ value = 814; /* --> ldclrlb. */
break;
- case 898: /* stclrlh */
- value = 811; /* --> ldclrlh. */
+ case 904: /* stclrlh */
+ value = 817; /* --> ldclrlh. */
break;
- case 899: /* stclrl */
- value = 814; /* --> ldclrl. */
+ case 905: /* stclrl */
+ value = 820; /* --> ldclrl. */
break;
- case 900: /* steorb */
- value = 816; /* --> ldeorb. */
+ case 906: /* steorb */
+ value = 822; /* --> ldeorb. */
break;
- case 901: /* steorh */
- value = 817; /* --> ldeorh. */
+ case 907: /* steorh */
+ value = 823; /* --> ldeorh. */
break;
- case 902: /* steor */
- value = 818; /* --> ldeor. */
+ case 908: /* steor */
+ value = 824; /* --> ldeor. */
break;
- case 903: /* steorlb */
- value = 820; /* --> ldeorlb. */
+ case 909: /* steorlb */
+ value = 826; /* --> ldeorlb. */
break;
- case 904: /* steorlh */
- value = 823; /* --> ldeorlh. */
+ case 910: /* steorlh */
+ value = 829; /* --> ldeorlh. */
break;
- case 905: /* steorl */
- value = 826; /* --> ldeorl. */
+ case 911: /* steorl */
+ value = 832; /* --> ldeorl. */
break;
- case 906: /* stsetb */
- value = 828; /* --> ldsetb. */
+ case 912: /* stsetb */
+ value = 834; /* --> ldsetb. */
break;
- case 907: /* stseth */
- value = 829; /* --> ldseth. */
+ case 913: /* stseth */
+ value = 835; /* --> ldseth. */
break;
- case 908: /* stset */
- value = 830; /* --> ldset. */
+ case 914: /* stset */
+ value = 836; /* --> ldset. */
break;
- case 909: /* stsetlb */
- value = 832; /* --> ldsetlb. */
+ case 915: /* stsetlb */
+ value = 838; /* --> ldsetlb. */
break;
- case 910: /* stsetlh */
- value = 835; /* --> ldsetlh. */
+ case 916: /* stsetlh */
+ value = 841; /* --> ldsetlh. */
break;
- case 911: /* stsetl */
- value = 838; /* --> ldsetl. */
+ case 917: /* stsetl */
+ value = 844; /* --> ldsetl. */
break;
- case 912: /* stsmaxb */
- value = 840; /* --> ldsmaxb. */
+ case 918: /* stsmaxb */
+ value = 846; /* --> ldsmaxb. */
break;
- case 913: /* stsmaxh */
- value = 841; /* --> ldsmaxh. */
+ case 919: /* stsmaxh */
+ value = 847; /* --> ldsmaxh. */
break;
- case 914: /* stsmax */
- value = 842; /* --> ldsmax. */
+ case 920: /* stsmax */
+ value = 848; /* --> ldsmax. */
break;
- case 915: /* stsmaxlb */
- value = 844; /* --> ldsmaxlb. */
+ case 921: /* stsmaxlb */
+ value = 850; /* --> ldsmaxlb. */
break;
- case 916: /* stsmaxlh */
- value = 847; /* --> ldsmaxlh. */
+ case 922: /* stsmaxlh */
+ value = 853; /* --> ldsmaxlh. */
break;
- case 917: /* stsmaxl */
- value = 850; /* --> ldsmaxl. */
+ case 923: /* stsmaxl */
+ value = 856; /* --> ldsmaxl. */
break;
- case 918: /* stsminb */
- value = 852; /* --> ldsminb. */
+ case 924: /* stsminb */
+ value = 858; /* --> ldsminb. */
break;
- case 919: /* stsminh */
- value = 853; /* --> ldsminh. */
+ case 925: /* stsminh */
+ value = 859; /* --> ldsminh. */
break;
- case 920: /* stsmin */
- value = 854; /* --> ldsmin. */
+ case 926: /* stsmin */
+ value = 860; /* --> ldsmin. */
break;
- case 921: /* stsminlb */
- value = 856; /* --> ldsminlb. */
+ case 927: /* stsminlb */
+ value = 862; /* --> ldsminlb. */
break;
- case 922: /* stsminlh */
- value = 859; /* --> ldsminlh. */
+ case 928: /* stsminlh */
+ value = 865; /* --> ldsminlh. */
break;
- case 923: /* stsminl */
- value = 862; /* --> ldsminl. */
+ case 929: /* stsminl */
+ value = 868; /* --> ldsminl. */
break;
- case 924: /* stumaxb */
- value = 864; /* --> ldumaxb. */
+ case 930: /* stumaxb */
+ value = 870; /* --> ldumaxb. */
break;
- case 925: /* stumaxh */
- value = 865; /* --> ldumaxh. */
+ case 931: /* stumaxh */
+ value = 871; /* --> ldumaxh. */
break;
- case 926: /* stumax */
- value = 866; /* --> ldumax. */
+ case 932: /* stumax */
+ value = 872; /* --> ldumax. */
break;
- case 927: /* stumaxlb */
- value = 868; /* --> ldumaxlb. */
+ case 933: /* stumaxlb */
+ value = 874; /* --> ldumaxlb. */
break;
- case 928: /* stumaxlh */
- value = 871; /* --> ldumaxlh. */
+ case 934: /* stumaxlh */
+ value = 877; /* --> ldumaxlh. */
break;
- case 929: /* stumaxl */
- value = 874; /* --> ldumaxl. */
+ case 935: /* stumaxl */
+ value = 880; /* --> ldumaxl. */
break;
- case 930: /* stuminb */
- value = 876; /* --> lduminb. */
+ case 936: /* stuminb */
+ value = 882; /* --> lduminb. */
break;
- case 931: /* stuminh */
- value = 877; /* --> lduminh. */
+ case 937: /* stuminh */
+ value = 883; /* --> lduminh. */
break;
- case 932: /* stumin */
- value = 878; /* --> ldumin. */
+ case 938: /* stumin */
+ value = 884; /* --> ldumin. */
break;
- case 933: /* stuminlb */
- value = 880; /* --> lduminlb. */
+ case 939: /* stuminlb */
+ value = 886; /* --> lduminlb. */
break;
- case 934: /* stuminlh */
- value = 883; /* --> lduminlh. */
+ case 940: /* stuminlh */
+ value = 889; /* --> lduminlh. */
break;
- case 935: /* stuminl */
- value = 886; /* --> lduminl. */
+ case 941: /* stuminl */
+ value = 892; /* --> lduminl. */
break;
- case 937: /* mov */
- value = 936; /* --> movn. */
+ case 943: /* mov */
+ value = 942; /* --> movn. */
break;
- case 939: /* mov */
- value = 938; /* --> movz. */
+ case 945: /* mov */
+ value = 944; /* --> movz. */
break;
- case 950: /* sevl */
- case 949: /* sev */
- case 948: /* wfi */
- case 947: /* wfe */
- case 946: /* yield */
- case 945: /* nop */
- value = 944; /* --> hint. */
+ case 956: /* sevl */
+ case 955: /* sev */
+ case 954: /* wfi */
+ case 953: /* wfe */
+ case 952: /* yield */
+ case 951: /* nop */
+ value = 950; /* --> hint. */
break;
- case 959: /* tlbi */
- case 958: /* ic */
- case 957: /* dc */
- case 956: /* at */
- value = 955; /* --> sys. */
+ case 965: /* tlbi */
+ case 964: /* ic */
+ case 963: /* dc */
+ case 962: /* at */
+ value = 961; /* --> sys. */
break;
default: return NULL;
}
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index ded9292..40ccc08 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
adr. */
- return 941;
+ return 947;
}
else
{
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
adrp. */
- return 942;
+ return 948;
}
}
else
@@ -143,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx100x00100x0
casp. */
- return 776;
+ return 782;
}
else
{
@@ -195,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx100x00100x0
caspl. */
- return 778;
+ return 784;
}
else
{
@@ -214,7 +214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00x00101xx
stnp. */
- return 727;
+ return 733;
}
}
else
@@ -223,32 +223,54 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx01x0010000
- casb. */
- return 764;
+ xxxxxxxxxxxxxxx0xxxxx001x00100x0
+ stllrb. */
+ return 731;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx01x0010010
- cash. */
- return 765;
+ xxxxxxxxxxxxxxx0xxxxx001x00100x1
+ stllr. */
+ return 730;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx01x00100x1
- cas. */
- return 766;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx101x0010000
+ casb. */
+ return 770;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx101x0010010
+ cash. */
+ return 771;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx101x00100x1
+ cas. */
+ return 772;
+ }
}
}
else
@@ -293,7 +315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx101x0010000
caslb. */
- return 768;
+ return 774;
}
else
{
@@ -301,7 +323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx101x0010010
caslh. */
- return 771;
+ return 777;
}
}
else
@@ -310,7 +332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx101x00100x1
casl. */
- return 774;
+ return 780;
}
}
}
@@ -321,7 +343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx01x00101xx
stp. */
- return 736;
+ return 742;
}
}
}
@@ -371,7 +393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx110x00100x0
caspa. */
- return 777;
+ return 783;
}
else
{
@@ -423,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx110x00100x0
caspal. */
- return 779;
+ return 785;
}
else
{
@@ -444,7 +466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10x001010x
ldnp. */
- return 728;
+ return 734;
}
else
{
@@ -452,7 +474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10x001011x
ldpsw. */
- return 735;
+ return 741;
}
}
}
@@ -462,32 +484,65 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx11x0010000
- casab. */
- return 767;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx011x0010000
+ ldlarb. */
+ return 728;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx011x0010010
+ ldlarh. */
+ return 729;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx11x0010010
- casah. */
- return 770;
+ xxxxxxxxxxxxxxx0xxxxx011x00100x1
+ ldlar. */
+ return 727;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx11x00100x1
- casa. */
- return 773;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx111x0010000
+ casab. */
+ return 773;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx111x0010010
+ casah. */
+ return 776;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx111x00100x1
+ casa. */
+ return 779;
+ }
}
}
else
@@ -532,7 +587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx111x0010000
casalb. */
- return 769;
+ return 775;
}
else
{
@@ -540,7 +595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx111x0010010
casalh. */
- return 772;
+ return 778;
}
}
else
@@ -549,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx111x00100x1
casal. */
- return 775;
+ return 781;
}
}
}
@@ -562,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx11x001010x
ldp. */
- return 737;
+ return 743;
}
else
{
@@ -570,7 +625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx11x001011x
ldpsw. */
- return 740;
+ return 746;
}
}
}
@@ -588,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx000110x0
ldr. */
- return 741;
+ return 747;
}
else
{
@@ -598,7 +653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx00011001
ldrsw. */
- return 743;
+ return 749;
}
else
{
@@ -606,7 +661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx00011011
prfm. */
- return 744;
+ return 750;
}
}
}
@@ -745,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10000011100
ldaddb. */
- return 792;
+ return 798;
}
else
{
@@ -753,7 +808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10000011110
ldaddh. */
- return 793;
+ return 799;
}
}
else
@@ -762,7 +817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx100000111x1
ldadd. */
- return 794;
+ return 800;
}
}
else
@@ -775,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10100011100
ldaddab. */
- return 795;
+ return 801;
}
else
{
@@ -783,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10100011110
ldaddah. */
- return 798;
+ return 804;
}
}
else
@@ -792,7 +847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx101000111x1
ldadda. */
- return 801;
+ return 807;
}
}
}
@@ -808,7 +863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11000011100
ldaddlb. */
- return 796;
+ return 802;
}
else
{
@@ -816,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11000011110
ldaddlh. */
- return 799;
+ return 805;
}
}
else
@@ -825,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx110000111x1
ldaddl. */
- return 802;
+ return 808;
}
}
else
@@ -838,7 +893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11100011100
ldaddalb. */
- return 797;
+ return 803;
}
else
{
@@ -846,7 +901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11100011110
ldaddalh. */
- return 800;
+ return 806;
}
}
else
@@ -855,7 +910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx111000111x1
ldaddal. */
- return 803;
+ return 809;
}
}
}
@@ -874,7 +929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10000011100
swpb. */
- return 780;
+ return 786;
}
else
{
@@ -882,7 +937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10000011110
swph. */
- return 781;
+ return 787;
}
}
else
@@ -891,7 +946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx100000111x1
swp. */
- return 782;
+ return 788;
}
}
else
@@ -904,7 +959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10100011100
swpab. */
- return 783;
+ return 789;
}
else
{
@@ -912,7 +967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10100011110
swpah. */
- return 786;
+ return 792;
}
}
else
@@ -921,7 +976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx101000111x1
swpa. */
- return 789;
+ return 795;
}
}
}
@@ -937,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11000011100
swplb. */
- return 784;
+ return 790;
}
else
{
@@ -945,7 +1000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11000011110
swplh. */
- return 787;
+ return 793;
}
}
else
@@ -954,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx110000111x1
swpl. */
- return 790;
+ return 796;
}
}
else
@@ -967,7 +1022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11100011100
swpalb. */
- return 785;
+ return 791;
}
else
{
@@ -975,7 +1030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11100011110
swpalh. */
- return 788;
+ return 794;
}
}
else
@@ -984,7 +1039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx111000111x1
swpal. */
- return 791;
+ return 797;
}
}
}
@@ -1004,7 +1059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10000011100
ldsmaxb. */
- return 840;
+ return 846;
}
else
{
@@ -1012,7 +1067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10000011110
ldsmaxh. */
- return 841;
+ return 847;
}
}
else
@@ -1021,7 +1076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx100000111x1
ldsmax. */
- return 842;
+ return 848;
}
}
else
@@ -1034,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10100011100
ldsmaxab. */
- return 843;
+ return 849;
}
else
{
@@ -1042,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10100011110
ldsmaxah. */
- return 846;
+ return 852;
}
}
else
@@ -1051,7 +1106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx101000111x1
ldsmaxa. */
- return 849;
+ return 855;
}
}
}
@@ -1067,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11000011100
ldsmaxlb. */
- return 844;
+ return 850;
}
else
{
@@ -1075,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11000011110
ldsmaxlh. */
- return 847;
+ return 853;
}
}
else
@@ -1084,7 +1139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx110000111x1
ldsmaxl. */
- return 850;
+ return 856;
}
}
else
@@ -1097,7 +1152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11100011100
ldsmaxalb. */
- return 845;
+ return 851;
}
else
{
@@ -1105,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11100011110
ldsmaxalh. */
- return 848;
+ return 854;
}
}
else
@@ -1114,7 +1169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx111000111x1
ldsmaxal. */
- return 851;
+ return 857;
}
}
}
@@ -1136,7 +1191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10000011100
ldeorb. */
- return 816;
+ return 822;
}
else
{
@@ -1144,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10000011110
ldeorh. */
- return 817;
+ return 823;
}
}
else
@@ -1153,7 +1208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx100000111x1
ldeor. */
- return 818;
+ return 824;
}
}
else
@@ -1166,7 +1221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10100011100
ldeorab. */
- return 819;
+ return 825;
}
else
{
@@ -1174,7 +1229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10100011110
ldeorah. */
- return 822;
+ return 828;
}
}
else
@@ -1183,7 +1238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx101000111x1
ldeora. */
- return 825;
+ return 831;
}
}
}
@@ -1199,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11000011100
ldeorlb. */
- return 820;
+ return 826;
}
else
{
@@ -1207,7 +1262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11000011110
ldeorlh. */
- return 823;
+ return 829;
}
}
else
@@ -1216,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx110000111x1
ldeorl. */
- return 826;
+ return 832;
}
}
else
@@ -1229,7 +1284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11100011100
ldeoralb. */
- return 821;
+ return 827;
}
else
{
@@ -1237,7 +1292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11100011110
ldeoralh. */
- return 824;
+ return 830;
}
}
else
@@ -1246,7 +1301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx111000111x1
ldeoral. */
- return 827;
+ return 833;
}
}
}
@@ -1265,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10000011100
ldumaxb. */
- return 864;
+ return 870;
}
else
{
@@ -1273,7 +1328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10000011110
ldumaxh. */
- return 865;
+ return 871;
}
}
else
@@ -1282,7 +1337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx100000111x1
ldumax. */
- return 866;
+ return 872;
}
}
else
@@ -1295,7 +1350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10100011100
ldumaxab. */
- return 867;
+ return 873;
}
else
{
@@ -1303,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10100011110
ldumaxah. */
- return 870;
+ return 876;
}
}
else
@@ -1312,7 +1367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx101000111x1
ldumaxa. */
- return 873;
+ return 879;
}
}
}
@@ -1328,7 +1383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11000011100
ldumaxlb. */
- return 868;
+ return 874;
}
else
{
@@ -1336,7 +1391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11000011110
ldumaxlh. */
- return 871;
+ return 877;
}
}
else
@@ -1345,7 +1400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx110000111x1
ldumaxl. */
- return 874;
+ return 880;
}
}
else
@@ -1358,7 +1413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11100011100
ldumaxalb. */
- return 869;
+ return 875;
}
else
{
@@ -1366,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11100011110
ldumaxalh. */
- return 872;
+ return 878;
}
}
else
@@ -1375,7 +1430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx111000111x1
ldumaxal. */
- return 875;
+ return 881;
}
}
}
@@ -1400,7 +1455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10000011100
ldclrb. */
- return 804;
+ return 810;
}
else
{
@@ -1408,7 +1463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10000011110
ldclrh. */
- return 805;
+ return 811;
}
}
else
@@ -1417,7 +1472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx100000111x1
ldclr. */
- return 806;
+ return 812;
}
}
else
@@ -1430,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10100011100
ldclrab. */
- return 807;
+ return 813;
}
else
{
@@ -1438,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10100011110
ldclrah. */
- return 810;
+ return 816;
}
}
else
@@ -1447,7 +1502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx101000111x1
ldclra. */
- return 813;
+ return 819;
}
}
}
@@ -1463,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11000011100
ldclrlb. */
- return 808;
+ return 814;
}
else
{
@@ -1471,7 +1526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11000011110
ldclrlh. */
- return 811;
+ return 817;
}
}
else
@@ -1480,7 +1535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx110000111x1
ldclrl. */
- return 814;
+ return 820;
}
}
else
@@ -1493,7 +1548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11100011100
ldclralb. */
- return 809;
+ return 815;
}
else
{
@@ -1501,7 +1556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11100011110
ldclralh. */
- return 812;
+ return 818;
}
}
else
@@ -1510,7 +1565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx111000111x1
ldclral. */
- return 815;
+ return 821;
}
}
}
@@ -1529,7 +1584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10000011100
ldsminb. */
- return 852;
+ return 858;
}
else
{
@@ -1537,7 +1592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10000011110
ldsminh. */
- return 853;
+ return 859;
}
}
else
@@ -1546,7 +1601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx100000111x1
ldsmin. */
- return 854;
+ return 860;
}
}
else
@@ -1559,7 +1614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10100011100
ldsminab. */
- return 855;
+ return 861;
}
else
{
@@ -1567,7 +1622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10100011110
ldsminah. */
- return 858;
+ return 864;
}
}
else
@@ -1576,7 +1631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx101000111x1
ldsmina. */
- return 861;
+ return 867;
}
}
}
@@ -1592,7 +1647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11000011100
ldsminlb. */
- return 856;
+ return 862;
}
else
{
@@ -1600,7 +1655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11000011110
ldsminlh. */
- return 859;
+ return 865;
}
}
else
@@ -1609,7 +1664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx110000111x1
ldsminl. */
- return 862;
+ return 868;
}
}
else
@@ -1622,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11100011100
ldsminalb. */
- return 857;
+ return 863;
}
else
{
@@ -1630,7 +1685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11100011110
ldsminalh. */
- return 860;
+ return 866;
}
}
else
@@ -1639,7 +1694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx111000111x1
ldsminal. */
- return 863;
+ return 869;
}
}
}
@@ -1661,7 +1716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10000011100
ldsetb. */
- return 828;
+ return 834;
}
else
{
@@ -1669,7 +1724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10000011110
ldseth. */
- return 829;
+ return 835;
}
}
else
@@ -1678,7 +1733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx100000111x1
ldset. */
- return 830;
+ return 836;
}
}
else
@@ -1691,7 +1746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10100011100
ldsetab. */
- return 831;
+ return 837;
}
else
{
@@ -1699,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10100011110
ldsetah. */
- return 834;
+ return 840;
}
}
else
@@ -1708,7 +1763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx101000111x1
ldseta. */
- return 837;
+ return 843;
}
}
}
@@ -1724,7 +1779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11000011100
ldsetlb. */
- return 832;
+ return 838;
}
else
{
@@ -1732,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11000011110
ldsetlh. */
- return 835;
+ return 841;
}
}
else
@@ -1741,7 +1796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx110000111x1
ldsetl. */
- return 838;
+ return 844;
}
}
else
@@ -1754,7 +1809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11100011100
ldsetalb. */
- return 833;
+ return 839;
}
else
{
@@ -1762,7 +1817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11100011110
ldsetalh. */
- return 836;
+ return 842;
}
}
else
@@ -1771,7 +1826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx111000111x1
ldsetal. */
- return 839;
+ return 845;
}
}
}
@@ -1790,7 +1845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10000011100
lduminb. */
- return 876;
+ return 882;
}
else
{
@@ -1798,7 +1853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10000011110
lduminh. */
- return 877;
+ return 883;
}
}
else
@@ -1807,7 +1862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx100000111x1
ldumin. */
- return 878;
+ return 884;
}
}
else
@@ -1820,7 +1875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10100011100
lduminab. */
- return 879;
+ return 885;
}
else
{
@@ -1828,7 +1883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10100011110
lduminah. */
- return 882;
+ return 888;
}
}
else
@@ -1837,7 +1892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx101000111x1
ldumina. */
- return 885;
+ return 891;
}
}
}
@@ -1853,7 +1908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11000011100
lduminlb. */
- return 880;
+ return 886;
}
else
{
@@ -1861,7 +1916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11000011110
lduminlh. */
- return 883;
+ return 889;
}
}
else
@@ -1870,7 +1925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx110000111x1
lduminl. */
- return 886;
+ return 892;
}
}
else
@@ -1883,7 +1938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11100011100
lduminalb. */
- return 881;
+ return 887;
}
else
{
@@ -1891,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11100011110
lduminalh. */
- return 884;
+ return 890;
}
}
else
@@ -1900,7 +1955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx111000111x1
lduminal. */
- return 887;
+ return 893;
}
}
}
@@ -2340,7 +2395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x00x
and. */
- return 745;
+ return 751;
}
else
{
@@ -2348,7 +2403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x01x
eor. */
- return 749;
+ return 755;
}
}
else
@@ -2359,7 +2414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x10x
orr. */
- return 747;
+ return 753;
}
else
{
@@ -2367,7 +2422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x11x
ands. */
- return 750;
+ return 756;
}
}
}
@@ -2381,7 +2436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x00x
movn. */
- return 936;
+ return 942;
}
else
{
@@ -2389,7 +2444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x01x
movz. */
- return 938;
+ return 944;
}
}
else
@@ -2398,7 +2453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
movk. */
- return 940;
+ return 946;
}
}
}
@@ -2416,7 +2471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101000x
and. */
- return 752;
+ return 758;
}
else
{
@@ -2424,7 +2479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101001x
eor. */
- return 759;
+ return 765;
}
}
else
@@ -2435,7 +2490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101010x
orr. */
- return 754;
+ return 760;
}
else
{
@@ -2443,7 +2498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101011x
ands. */
- return 761;
+ return 767;
}
}
}
@@ -2818,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
bic. */
- return 753;
+ return 759;
}
else
{
@@ -2826,7 +2881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
eon. */
- return 760;
+ return 766;
}
}
else
@@ -2837,7 +2892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
orn. */
- return 757;
+ return 763;
}
else
{
@@ -2845,7 +2900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
bics. */
- return 763;
+ return 769;
}
}
}
@@ -3256,7 +3311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
msr. */
- return 943;
+ return 949;
}
else
{
@@ -3264,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
sysl. */
- return 961;
+ return 967;
}
}
}
@@ -3287,7 +3342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
tbz. */
- return 963;
+ return 969;
}
}
else
@@ -3306,7 +3361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
tbnz. */
- return 964;
+ return 970;
}
}
}
@@ -3337,7 +3392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00001101xx
stnp. */
- return 729;
+ return 735;
}
}
else
@@ -3389,7 +3444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00101101xx
stp. */
- return 733;
+ return 739;
}
}
}
@@ -3453,7 +3508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx01x01101xx
stp. */
- return 738;
+ return 744;
}
}
}
@@ -3477,7 +3532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10001101xx
ldnp. */
- return 730;
+ return 736;
}
}
else
@@ -3529,7 +3584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10101101xx
ldp. */
- return 734;
+ return 740;
}
}
}
@@ -3593,7 +3648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx11x01101xx
ldp. */
- return 739;
+ return 745;
}
}
}
@@ -3608,7 +3663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx001110xx
ldr. */
- return 742;
+ return 748;
}
else
{
@@ -8707,20 +8762,22 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
int value;
switch (key)
{
- case 727: value = 731; break; /* stnp --> stp. */
- case 731: return NULL; /* stp --> NULL. */
- case 728: value = 732; break; /* ldnp --> ldp. */
- case 732: return NULL; /* ldp --> NULL. */
- case 943: value = 944; break; /* msr --> hint. */
- case 944: value = 951; break; /* hint --> clrex. */
- case 951: value = 952; break; /* clrex --> dsb. */
- case 952: value = 953; break; /* dsb --> dmb. */
- case 953: value = 954; break; /* dmb --> isb. */
- case 954: value = 955; break; /* isb --> sys. */
- case 955: value = 960; break; /* sys --> msr. */
- case 960: return NULL; /* msr --> NULL. */
- case 961: value = 962; break; /* sysl --> mrs. */
- case 962: return NULL; /* mrs --> NULL. */
+ case 733: value = 737; break; /* stnp --> stp. */
+ case 737: return NULL; /* stp --> NULL. */
+ case 731: value = 732; break; /* stllrb --> stllrh. */
+ case 732: return NULL; /* stllrh --> NULL. */
+ case 734: value = 738; break; /* ldnp --> ldp. */
+ case 738: return NULL; /* ldp --> NULL. */
+ case 949: value = 950; break; /* msr --> hint. */
+ case 950: value = 957; break; /* hint --> clrex. */
+ case 957: value = 958; break; /* clrex --> dsb. */
+ case 958: value = 959; break; /* dsb --> dmb. */
+ case 959: value = 960; break; /* dmb --> isb. */
+ case 960: value = 961; break; /* isb --> sys. */
+ case 961: value = 966; break; /* sys --> msr. */
+ case 966: return NULL; /* msr --> NULL. */
+ case 967: value = 968; break; /* sysl --> mrs. */
+ case 968: return NULL; /* mrs --> NULL. */
case 355: value = 356; break; /* st4 --> st1. */
case 356: value = 357; break; /* st1 --> st2. */
case 357: value = 358; break; /* st2 --> st3. */
@@ -8843,64 +8900,64 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
case 581: value = 582; break; /* umaddl --> umull. */
case 583: value = 584; break; /* umsubl --> umnegl. */
case 594: value = 595; break; /* extr --> ror. */
- case 745: value = 746; break; /* and --> bic. */
- case 747: value = 748; break; /* orr --> mov. */
- case 750: value = 751; break; /* ands --> tst. */
- case 754: value = 756; break; /* orr --> uxtw. */
- case 757: value = 758; break; /* orn --> mvn. */
- case 761: value = 762; break; /* ands --> tst. */
- case 792: value = 888; break; /* ldaddb --> staddb. */
- case 793: value = 889; break; /* ldaddh --> staddh. */
- case 794: value = 890; break; /* ldadd --> stadd. */
- case 796: value = 891; break; /* ldaddlb --> staddlb. */
- case 799: value = 892; break; /* ldaddlh --> staddlh. */
- case 802: value = 893; break; /* ldaddl --> staddl. */
- case 804: value = 894; break; /* ldclrb --> stclrb. */
- case 805: value = 895; break; /* ldclrh --> stclrh. */
- case 806: value = 896; break; /* ldclr --> stclr. */
- case 808: value = 897; break; /* ldclrlb --> stclrlb. */
- case 811: value = 898; break; /* ldclrlh --> stclrlh. */
- case 814: value = 899; break; /* ldclrl --> stclrl. */
- case 816: value = 900; break; /* ldeorb --> steorb. */
- case 817: value = 901; break; /* ldeorh --> steorh. */
- case 818: value = 902; break; /* ldeor --> steor. */
- case 820: value = 903; break; /* ldeorlb --> steorlb. */
- case 823: value = 904; break; /* ldeorlh --> steorlh. */
- case 826: value = 905; break; /* ldeorl --> steorl. */
- case 828: value = 906; break; /* ldsetb --> stsetb. */
- case 829: value = 907; break; /* ldseth --> stseth. */
- case 830: value = 908; break; /* ldset --> stset. */
- case 832: value = 909; break; /* ldsetlb --> stsetlb. */
- case 835: value = 910; break; /* ldsetlh --> stsetlh. */
- case 838: value = 911; break; /* ldsetl --> stsetl. */
- case 840: value = 912; break; /* ldsmaxb --> stsmaxb. */
- case 841: value = 913; break; /* ldsmaxh --> stsmaxh. */
- case 842: value = 914; break; /* ldsmax --> stsmax. */
- case 844: value = 915; break; /* ldsmaxlb --> stsmaxlb. */
- case 847: value = 916; break; /* ldsmaxlh --> stsmaxlh. */
- case 850: value = 917; break; /* ldsmaxl --> stsmaxl. */
- case 852: value = 918; break; /* ldsminb --> stsminb. */
- case 853: value = 919; break; /* ldsminh --> stsminh. */
- case 854: value = 920; break; /* ldsmin --> stsmin. */
- case 856: value = 921; break; /* ldsminlb --> stsminlb. */
- case 859: value = 922; break; /* ldsminlh --> stsminlh. */
- case 862: value = 923; break; /* ldsminl --> stsminl. */
- case 864: value = 924; break; /* ldumaxb --> stumaxb. */
- case 865: value = 925; break; /* ldumaxh --> stumaxh. */
- case 866: value = 926; break; /* ldumax --> stumax. */
- case 868: value = 927; break; /* ldumaxlb --> stumaxlb. */
- case 871: value = 928; break; /* ldumaxlh --> stumaxlh. */
- case 874: value = 929; break; /* ldumaxl --> stumaxl. */
- case 876: value = 930; break; /* lduminb --> stuminb. */
- case 877: value = 931; break; /* lduminh --> stuminh. */
- case 878: value = 932; break; /* ldumin --> stumin. */
- case 880: value = 933; break; /* lduminlb --> stuminlb. */
- case 883: value = 934; break; /* lduminlh --> stuminlh. */
- case 886: value = 935; break; /* lduminl --> stuminl. */
- case 936: value = 937; break; /* movn --> mov. */
- case 938: value = 939; break; /* movz --> mov. */
- case 944: value = 950; break; /* hint --> sevl. */
- case 955: value = 959; break; /* sys --> tlbi. */
+ case 751: value = 752; break; /* and --> bic. */
+ case 753: value = 754; break; /* orr --> mov. */
+ case 756: value = 757; break; /* ands --> tst. */
+ case 760: value = 762; break; /* orr --> uxtw. */
+ case 763: value = 764; break; /* orn --> mvn. */
+ case 767: value = 768; break; /* ands --> tst. */
+ case 798: value = 894; break; /* ldaddb --> staddb. */
+ case 799: value = 895; break; /* ldaddh --> staddh. */
+ case 800: value = 896; break; /* ldadd --> stadd. */
+ case 802: value = 897; break; /* ldaddlb --> staddlb. */
+ case 805: value = 898; break; /* ldaddlh --> staddlh. */
+ case 808: value = 899; break; /* ldaddl --> staddl. */
+ case 810: value = 900; break; /* ldclrb --> stclrb. */
+ case 811: value = 901; break; /* ldclrh --> stclrh. */
+ case 812: value = 902; break; /* ldclr --> stclr. */
+ case 814: value = 903; break; /* ldclrlb --> stclrlb. */
+ case 817: value = 904; break; /* ldclrlh --> stclrlh. */
+ case 820: value = 905; break; /* ldclrl --> stclrl. */
+ case 822: value = 906; break; /* ldeorb --> steorb. */
+ case 823: value = 907; break; /* ldeorh --> steorh. */
+ case 824: value = 908; break; /* ldeor --> steor. */
+ case 826: value = 909; break; /* ldeorlb --> steorlb. */
+ case 829: value = 910; break; /* ldeorlh --> steorlh. */
+ case 832: value = 911; break; /* ldeorl --> steorl. */
+ case 834: value = 912; break; /* ldsetb --> stsetb. */
+ case 835: value = 913; break; /* ldseth --> stseth. */
+ case 836: value = 914; break; /* ldset --> stset. */
+ case 838: value = 915; break; /* ldsetlb --> stsetlb. */
+ case 841: value = 916; break; /* ldsetlh --> stsetlh. */
+ case 844: value = 917; break; /* ldsetl --> stsetl. */
+ case 846: value = 918; break; /* ldsmaxb --> stsmaxb. */
+ case 847: value = 919; break; /* ldsmaxh --> stsmaxh. */
+ case 848: value = 920; break; /* ldsmax --> stsmax. */
+ case 850: value = 921; break; /* ldsmaxlb --> stsmaxlb. */
+ case 853: value = 922; break; /* ldsmaxlh --> stsmaxlh. */
+ case 856: value = 923; break; /* ldsmaxl --> stsmaxl. */
+ case 858: value = 924; break; /* ldsminb --> stsminb. */
+ case 859: value = 925; break; /* ldsminh --> stsminh. */
+ case 860: value = 926; break; /* ldsmin --> stsmin. */
+ case 862: value = 927; break; /* ldsminlb --> stsminlb. */
+ case 865: value = 928; break; /* ldsminlh --> stsminlh. */
+ case 868: value = 929; break; /* ldsminl --> stsminl. */
+ case 870: value = 930; break; /* ldumaxb --> stumaxb. */
+ case 871: value = 931; break; /* ldumaxh --> stumaxh. */
+ case 872: value = 932; break; /* ldumax --> stumax. */
+ case 874: value = 933; break; /* ldumaxlb --> stumaxlb. */
+ case 877: value = 934; break; /* ldumaxlh --> stumaxlh. */
+ case 880: value = 935; break; /* ldumaxl --> stumaxl. */
+ case 882: value = 936; break; /* lduminb --> stuminb. */
+ case 883: value = 937; break; /* lduminh --> stuminh. */
+ case 884: value = 938; break; /* ldumin --> stumin. */
+ case 886: value = 939; break; /* lduminlb --> stuminlb. */
+ case 889: value = 940; break; /* lduminlh --> stuminlh. */
+ case 892: value = 941; break; /* lduminl --> stuminl. */
+ case 942: value = 943; break; /* movn --> mov. */
+ case 944: value = 945; break; /* movz --> mov. */
+ case 950: value = 956; break; /* hint --> sevl. */
+ case 961: value = 965; break; /* sys --> tlbi. */
default: return NULL;
}
@@ -8929,15 +8986,15 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
case 505: value = 504; break; /* ubfx --> ubfiz. */
case 527: value = 526; break; /* cset --> cinc. */
case 530: value = 529; break; /* csetm --> cinv. */
- case 756: value = 755; break; /* uxtw --> mov. */
- case 950: value = 949; break; /* sevl --> sev. */
- case 949: value = 948; break; /* sev --> wfi. */
- case 948: value = 947; break; /* wfi --> wfe. */
- case 947: value = 946; break; /* wfe --> yield. */
- case 946: value = 945; break; /* yield --> nop. */
- case 959: value = 958; break; /* tlbi --> ic. */
- case 958: value = 957; break; /* ic --> dc. */
- case 957: value = 956; break; /* dc --> at. */
+ case 762: value = 761; break; /* uxtw --> mov. */
+ case 956: value = 955; break; /* sevl --> sev. */
+ case 955: value = 954; break; /* sev --> wfi. */
+ case 954: value = 953; break; /* wfi --> wfe. */
+ case 953: value = 952; break; /* wfe --> yield. */
+ case 952: value = 951; break; /* yield --> nop. */
+ case 965: value = 964; break; /* tlbi --> ic. */
+ case 964: value = 963; break; /* ic --> dc. */
+ case 963: value = 962; break; /* dc --> at. */
default: return NULL;
}
diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c
index 4a9c6c3..fe1cc12 100644
--- a/opcodes/aarch64-opc-2.c
+++ b/opcodes/aarch64-opc-2.c
@@ -145,24 +145,24 @@ static const unsigned op_enum_table [] =
697,
703,
704,
- 741,
- 742,
- 743,
- 744,
+ 747,
+ 748,
+ 749,
+ 750,
12,
510,
511,
- 936,
- 938,
- 940,
- 748,
- 939,
- 937,
+ 942,
+ 944,
+ 946,
+ 754,
+ 945,
+ 943,
259,
499,
509,
508,
- 746,
+ 752,
505,
502,
495,
@@ -171,7 +171,7 @@ static const unsigned op_enum_table [] =
504,
506,
507,
- 756,
+ 762,
526,
529,
532,
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 228ce35..0e43914 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -1222,6 +1222,8 @@ static const aarch64_feature_set aarch64_feature_crc =
AARCH64_FEATURE (AARCH64_FEATURE_CRC, 0);
static const aarch64_feature_set aarch64_feature_lse =
AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0);
+static const aarch64_feature_set aarch64_feature_lor =
+ AARCH64_FEATURE (AARCH64_FEATURE_LOR, 0);
#define CORE &aarch64_feature_v8
#define FP &aarch64_feature_fp
@@ -1229,6 +1231,7 @@ static const aarch64_feature_set aarch64_feature_lse =
#define CRYPTO &aarch64_feature_crypto
#define CRC &aarch64_feature_crc
#define LSE &aarch64_feature_lse
+#define LOR &aarch64_feature_lor
struct aarch64_opcode aarch64_opcode_table[] =
{
@@ -2017,6 +2020,13 @@ struct aarch64_opcode aarch64_opcode_table[] =
{"ldaxp", 0x887f8000, 0xbfe08000, ldstexcl, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMPLE), QL_R2NIL, F_GPRSIZE_IN_Q},
{"stlr", 0x889ffc00, 0xbfe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
{"ldar", 0x88dffc00, 0xbfeffc00, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+ /* Limited Ordering Regions load/store instructions. */
+ {"ldlar", 0x88df7c00, 0xbfe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+ {"ldlarb", 0x08df7c00, 0xffe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+ {"ldlarh", 0x48df7c00, 0xffe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+ {"stllr", 0x889f7c00, 0xbfe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+ {"stllrb", 0x089f7c00, 0xffe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+ {"stllrh", 0x489f7c00, 0xbfe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
/* Load/store no-allocate pair (offset). */
{"stnp", 0x28000000, 0x7fc00000, ldstnapair_offs, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF},
{"ldnp", 0x28400000, 0x7fc00000, ldstnapair_offs, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF},