summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/opcodes/aarch64-dis-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/opcodes/aarch64-dis-2.c')
-rw-r--r--binutils-2.25/opcodes/aarch64-dis-2.c1851
1 files changed, 1594 insertions, 257 deletions
diff --git a/binutils-2.25/opcodes/aarch64-dis-2.c b/binutils-2.25/opcodes/aarch64-dis-2.c
index 0d633eb5..fd1da83b 100644
--- a/binutils-2.25/opcodes/aarch64-dis-2.c
+++ b/binutils-2.25/opcodes/aarch64-dis-2.c
@@ -1,5 +1,5 @@
/* This file is automatically generated by aarch64-gen. Do not edit! */
-/* Copyright 2012, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2014 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of the GNU opcodes library.
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
adr. */
- return 781;
+ return 953;
}
else
{
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
adrp. */
- return 782;
+ return 954;
}
}
else
@@ -137,11 +137,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxx100x00100xx
- stxp. */
- return 731;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx100x00100x0
+ casp. */
+ return 788;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx100x00100x1
+ stxp. */
+ return 731;
+ }
}
}
else
@@ -178,11 +189,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx1xxxxx100x00100xx
- stlxp. */
- return 732;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx100x00100x0
+ caspl. */
+ return 790;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx100x00100x1
+ stlxp. */
+ return 732;
+ }
}
}
}
@@ -199,32 +221,98 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxxxx01x0010000
- stlrb. */
- return 721;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxxx01x0010000
+ casb. */
+ return 776;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxxx01x0010010
+ cash. */
+ return 777;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxxxx01x0010010
- stlrh. */
- return 727;
+ xxxxxxxxxxxxxxx0xxxxxx01x00100x1
+ cas. */
+ return 778;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxxxx01x00100x1
- stlr. */
- return 737;
+ if (((word >> 21) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx001x0010000
+ stlrb. */
+ return 721;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx001x0010010
+ stlrh. */
+ return 727;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx001x00100x1
+ stlr. */
+ return 737;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx101x0010000
+ caslb. */
+ return 780;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx101x0010010
+ caslh. */
+ return 783;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx101x00100x1
+ casl. */
+ return 786;
+ }
+ }
}
}
else
@@ -277,11 +365,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxx110x00100xx
- ldxp. */
- return 735;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx110x00100x0
+ caspa. */
+ return 789;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx110x00100x1
+ ldxp. */
+ return 735;
+ }
}
}
else
@@ -318,11 +417,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx1xxxxx110x00100xx
- ldaxp. */
- return 736;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx110x00100x0
+ caspal. */
+ return 791;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx110x00100x1
+ ldaxp. */
+ return 736;
+ }
}
}
}
@@ -350,32 +460,98 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxxxx11x0010000
- ldarb. */
- return 722;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxxx11x0010000
+ casab. */
+ return 779;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxxx11x0010010
+ casah. */
+ return 782;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxxxx11x0010010
- ldarh. */
- return 728;
+ xxxxxxxxxxxxxxx0xxxxxx11x00100x1
+ casa. */
+ return 785;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxxxx11x00100x1
- ldar. */
- return 738;
+ if (((word >> 21) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx011x0010000
+ ldarb. */
+ return 722;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx011x0010010
+ ldarh. */
+ return 728;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx011x00100x1
+ ldar. */
+ return 738;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx111x0010000
+ casalb. */
+ return 781;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx111x0010010
+ casalh. */
+ return 784;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx1xxxxx111x00100x1
+ casal. */
+ return 787;
+ }
+ }
}
}
else
@@ -440,107 +616,1295 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 23) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- if (((word >> 22) & 0x1) == 0)
+ if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 22) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxx0000011100
- sturb. */
- return 693;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx00000011100
+ sturb. */
+ return 693;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx00000011110
+ sturh. */
+ return 703;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxx0000011110
- sturh. */
- return 703;
+ xxxxxxxxxx00xxxxxxxxx000000111x1
+ stur. */
+ return 709;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxx00000111x1
- stur. */
- return 709;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx01000011100
+ ldurb. */
+ return 694;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx01000011110
+ ldurh. */
+ return 704;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx010000111x1
+ ldur. */
+ return 710;
+ }
}
}
else
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxx1000011100
- ldurb. */
- return 694;
+ xxxxxxxxxx00xxxxxxxxx0x100011100
+ ldursb. */
+ return 697;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxx1000011110
- ldurh. */
- return 704;
+ xxxxxxxxxx00xxxxxxxxx0x100011101
+ ldursw. */
+ return 713;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxx10000111x1
- ldur. */
- return 710;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx0x100011110
+ ldursh. */
+ return 707;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00xxxxxxxxx0x100011111
+ prfum. */
+ return 715;
+ }
}
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxxx100011100
- ldursb. */
- return 697;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx10000011100
+ ldaddb. */
+ return 804;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx10000011110
+ ldaddh. */
+ return 805;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx100000111x1
+ ldadd. */
+ return 806;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx10100011100
+ ldaddab. */
+ return 807;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx10100011110
+ ldaddah. */
+ return 810;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx101000111x1
+ ldadda. */
+ return 813;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx11000011100
+ ldaddlb. */
+ return 808;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx11000011110
+ ldaddlh. */
+ return 811;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx110000111x1
+ ldaddl. */
+ return 814;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx11100011100
+ ldaddalb. */
+ return 809;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx11100011110
+ ldaddalh. */
+ return 812;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000000xxxxx111000111x1
+ ldaddal. */
+ return 815;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx10000011100
+ swpb. */
+ return 792;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx10000011110
+ swph. */
+ return 793;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx100000111x1
+ swp. */
+ return 794;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx10100011100
+ swpab. */
+ return 795;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx10100011110
+ swpah. */
+ return 798;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx101000111x1
+ swpa. */
+ return 801;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx11000011100
+ swplb. */
+ return 796;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx11000011110
+ swplh. */
+ return 799;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx110000111x1
+ swpl. */
+ return 802;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx11100011100
+ swpalb. */
+ return 797;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx11100011110
+ swpalh. */
+ return 800;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx000001xxxxx111000111x1
+ swpal. */
+ return 803;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx10000011100
+ ldsmaxb. */
+ return 852;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx10000011110
+ ldsmaxh. */
+ return 853;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx100000111x1
+ ldsmax. */
+ return 854;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx10100011100
+ ldsmaxab. */
+ return 855;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx10100011110
+ ldsmaxah. */
+ return 858;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx101000111x1
+ ldsmaxa. */
+ return 861;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx11000011100
+ ldsmaxlb. */
+ return 856;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx11000011110
+ ldsmaxlh. */
+ return 859;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx110000111x1
+ ldsmaxl. */
+ return 862;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx11100011100
+ ldsmaxalb. */
+ return 857;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx11100011110
+ ldsmaxalh. */
+ return 860;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00001xxxxxx111000111x1
+ ldsmaxal. */
+ return 863;
+ }
+ }
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxxx100011101
- ldursw. */
- return 713;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx10000011100
+ ldeorb. */
+ return 828;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx10000011110
+ ldeorh. */
+ return 829;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx100000111x1
+ ldeor. */
+ return 830;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx10100011100
+ ldeorab. */
+ return 831;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx10100011110
+ ldeorah. */
+ return 834;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx101000111x1
+ ldeora. */
+ return 837;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx11000011100
+ ldeorlb. */
+ return 832;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx11000011110
+ ldeorlh. */
+ return 835;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx110000111x1
+ ldeorl. */
+ return 838;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx11100011100
+ ldeoralb. */
+ return 833;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx11100011110
+ ldeoralh. */
+ return 836;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00010xxxxxx111000111x1
+ ldeoral. */
+ return 839;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx10000011100
+ ldumaxb. */
+ return 876;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx10000011110
+ ldumaxh. */
+ return 877;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx100000111x1
+ ldumax. */
+ return 878;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx10100011100
+ ldumaxab. */
+ return 879;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx10100011110
+ ldumaxah. */
+ return 882;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx101000111x1
+ ldumaxa. */
+ return 885;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx11000011100
+ ldumaxlb. */
+ return 880;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx11000011110
+ ldumaxlh. */
+ return 883;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx110000111x1
+ ldumaxl. */
+ return 886;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx11100011100
+ ldumaxalb. */
+ return 881;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx11100011110
+ ldumaxalh. */
+ return 884;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00011xxxxxx111000111x1
+ ldumaxal. */
+ return 887;
+ }
+ }
+ }
+ }
}
}
else
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxxx100011110
- ldursh. */
- return 707;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx10000011100
+ ldclrb. */
+ return 816;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx10000011110
+ ldclrh. */
+ return 817;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx100000111x1
+ ldclr. */
+ return 818;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx10100011100
+ ldclrab. */
+ return 819;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx10100011110
+ ldclrah. */
+ return 822;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx101000111x1
+ ldclra. */
+ return 825;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx11000011100
+ ldclrlb. */
+ return 820;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx11000011110
+ ldclrlh. */
+ return 823;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx110000111x1
+ ldclrl. */
+ return 826;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx11100011100
+ ldclralb. */
+ return 821;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx11100011110
+ ldclralh. */
+ return 824;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00100xxxxxx111000111x1
+ ldclral. */
+ return 827;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx10000011100
+ ldsminb. */
+ return 864;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx10000011110
+ ldsminh. */
+ return 865;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx100000111x1
+ ldsmin. */
+ return 866;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx10100011100
+ ldsminab. */
+ return 867;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx10100011110
+ ldsminah. */
+ return 870;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx101000111x1
+ ldsmina. */
+ return 873;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx11000011100
+ ldsminlb. */
+ return 868;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx11000011110
+ ldsminlh. */
+ return 871;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx110000111x1
+ ldsminl. */
+ return 874;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx11100011100
+ ldsminalb. */
+ return 869;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx11100011110
+ ldsminalh. */
+ return 872;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00101xxxxxx111000111x1
+ ldsminal. */
+ return 875;
+ }
+ }
+ }
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx00xxxxxxxxxxx100011111
- prfum. */
- return 715;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx10000011100
+ ldsetb. */
+ return 840;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx10000011110
+ ldseth. */
+ return 841;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx100000111x1
+ ldset. */
+ return 842;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx10100011100
+ ldsetab. */
+ return 843;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx10100011110
+ ldsetah. */
+ return 846;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx101000111x1
+ ldseta. */
+ return 849;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx11000011100
+ ldsetlb. */
+ return 844;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx11000011110
+ ldsetlh. */
+ return 847;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx110000111x1
+ ldsetl. */
+ return 850;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx11100011100
+ ldsetalb. */
+ return 845;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx11100011110
+ ldsetalh. */
+ return 848;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00110xxxxxx111000111x1
+ ldsetal. */
+ return 851;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx10000011100
+ lduminb. */
+ return 888;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx10000011110
+ lduminh. */
+ return 889;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx100000111x1
+ ldumin. */
+ return 890;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx10100011100
+ lduminab. */
+ return 891;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx10100011110
+ lduminah. */
+ return 894;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx101000111x1
+ ldumina. */
+ return 897;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx11000011100
+ lduminlb. */
+ return 892;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx11000011110
+ lduminlh. */
+ return 895;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx110000111x1
+ lduminl. */
+ return 898;
+ }
+ }
+ else
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx11100011100
+ lduminalb. */
+ return 893;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx11100011110
+ lduminalh. */
+ return 896;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx00111xxxxxx111000111x1
+ lduminal. */
+ return 899;
+ }
+ }
+ }
+ }
}
}
}
@@ -1017,7 +2381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x00x
movn. */
- return 776;
+ return 948;
}
else
{
@@ -1025,7 +2389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x01x
movz. */
- return 778;
+ return 950;
}
}
else
@@ -1034,7 +2398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
movk. */
- return 780;
+ return 952;
}
}
}
@@ -1886,109 +3250,21 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- if (((word >> 20) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- if (((word >> 19) & 0x1) == 0)
- {
- if (((word >> 12) & 0x1) == 0)
- {
- if (((word >> 13) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxx00xxxxx00xxx1x10x01x
- msr. */
- return 783;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxx01xxxxx00xxx1x10x01x
- hint. */
- return 784;
- }
- }
- else
- {
- if (((word >> 5) & 0x1) == 0)
- {
- if (((word >> 6) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxx00xxxxx1xxxxxx00xxx1x10x01x
- dsb. */
- return 792;
- }
- else
- {
- if (((word >> 7) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxx010xxxx1xxxxxx00xxx1x10x01x
- clrex. */
- return 791;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxx011xxxx1xxxxxx00xxx1x10x01x
- isb. */
- return 794;
- }
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxx1xxxxxx1xxxxxx00xxx1x10x01x
- dmb. */
- return 793;
- }
- }
- }
- else
- {
- if (((word >> 21) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxx100xx1x10x01x
- sys. */
- return 795;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxx101xx1x10x01x
- sysl. */
- return 801;
- }
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
+ msr. */
+ return 955;
}
else
{
- if (((word >> 21) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxx10xx1x10x01x
- msr. */
- return 800;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxxxxxx11xx1x10x01x
- mrs. */
- return 802;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
+ sysl. */
+ return 973;
}
}
}
@@ -2011,7 +3287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
tbz. */
- return 803;
+ return 975;
}
}
else
@@ -2030,7 +3306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
tbnz. */
- return 804;
+ return 976;
}
}
}
@@ -7435,6 +8711,16 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
case 743: return NULL; /* stp --> NULL. */
case 740: value = 744; break; /* ldnp --> ldp. */
case 744: return NULL; /* ldp --> NULL. */
+ case 955: value = 956; break; /* msr --> hint. */
+ case 956: value = 963; break; /* hint --> clrex. */
+ case 963: value = 964; break; /* clrex --> dsb. */
+ case 964: value = 965; break; /* dsb --> dmb. */
+ case 965: value = 966; break; /* dmb --> isb. */
+ case 966: value = 967; break; /* isb --> sys. */
+ case 967: value = 972; break; /* sys --> msr. */
+ case 972: return NULL; /* msr --> NULL. */
+ case 973: value = 974; break; /* sysl --> mrs. */
+ case 974: 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. */
@@ -7575,10 +8861,58 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
case 766: value = 768; break; /* orr --> uxtw. */
case 769: value = 770; break; /* orn --> mvn. */
case 773: value = 774; break; /* ands --> tst. */
- case 776: value = 777; break; /* movn --> mov. */
- case 778: value = 779; break; /* movz --> mov. */
- case 784: value = 790; break; /* hint --> sevl. */
- case 795: value = 799; break; /* sys --> tlbi. */
+ case 804: value = 900; break; /* ldaddb --> staddb. */
+ case 805: value = 901; break; /* ldaddh --> staddh. */
+ case 806: value = 902; break; /* ldadd --> stadd. */
+ case 808: value = 903; break; /* ldaddlb --> staddlb. */
+ case 811: value = 904; break; /* ldaddlh --> staddlh. */
+ case 814: value = 905; break; /* ldaddl --> staddl. */
+ case 816: value = 906; break; /* ldclrb --> stclrb. */
+ case 817: value = 907; break; /* ldclrh --> stclrh. */
+ case 818: value = 908; break; /* ldclr --> stclr. */
+ case 820: value = 909; break; /* ldclrlb --> stclrlb. */
+ case 823: value = 910; break; /* ldclrlh --> stclrlh. */
+ case 826: value = 911; break; /* ldclrl --> stclrl. */
+ case 828: value = 912; break; /* ldeorb --> steorb. */
+ case 829: value = 913; break; /* ldeorh --> steorh. */
+ case 830: value = 914; break; /* ldeor --> steor. */
+ case 832: value = 915; break; /* ldeorlb --> steorlb. */
+ case 835: value = 916; break; /* ldeorlh --> steorlh. */
+ case 838: value = 917; break; /* ldeorl --> steorl. */
+ case 840: value = 918; break; /* ldsetb --> stsetb. */
+ case 841: value = 919; break; /* ldseth --> stseth. */
+ case 842: value = 920; break; /* ldset --> stset. */
+ case 844: value = 921; break; /* ldsetlb --> stsetlb. */
+ case 847: value = 922; break; /* ldsetlh --> stsetlh. */
+ case 850: value = 923; break; /* ldsetl --> stsetl. */
+ case 852: value = 924; break; /* ldsmaxb --> stsmaxb. */
+ case 853: value = 925; break; /* ldsmaxh --> stsmaxh. */
+ case 854: value = 926; break; /* ldsmax --> stsmax. */
+ case 856: value = 927; break; /* ldsmaxlb --> stsmaxlb. */
+ case 859: value = 928; break; /* ldsmaxlh --> stsmaxlh. */
+ case 862: value = 929; break; /* ldsmaxl --> stsmaxl. */
+ case 864: value = 930; break; /* ldsminb --> stsminb. */
+ case 865: value = 931; break; /* ldsminh --> stsminh. */
+ case 866: value = 932; break; /* ldsmin --> stsmin. */
+ case 868: value = 933; break; /* ldsminlb --> stsminlb. */
+ case 871: value = 934; break; /* ldsminlh --> stsminlh. */
+ case 874: value = 935; break; /* ldsminl --> stsminl. */
+ case 876: value = 936; break; /* ldumaxb --> stumaxb. */
+ case 877: value = 937; break; /* ldumaxh --> stumaxh. */
+ case 878: value = 938; break; /* ldumax --> stumax. */
+ case 880: value = 939; break; /* ldumaxlb --> stumaxlb. */
+ case 883: value = 940; break; /* ldumaxlh --> stumaxlh. */
+ case 886: value = 941; break; /* ldumaxl --> stumaxl. */
+ case 888: value = 942; break; /* lduminb --> stuminb. */
+ case 889: value = 943; break; /* lduminh --> stuminh. */
+ case 890: value = 944; break; /* ldumin --> stumin. */
+ case 892: value = 945; break; /* lduminlb --> stuminlb. */
+ case 895: value = 946; break; /* lduminlh --> stuminlh. */
+ case 898: value = 947; break; /* lduminl --> stuminl. */
+ case 948: value = 949; break; /* movn --> mov. */
+ case 950: value = 951; break; /* movz --> mov. */
+ case 956: value = 962; break; /* hint --> sevl. */
+ case 967: value = 971; break; /* sys --> tlbi. */
default: return NULL;
}
@@ -7608,14 +8942,14 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
case 527: value = 526; break; /* cset --> cinc. */
case 530: value = 529; break; /* csetm --> cinv. */
case 768: value = 767; break; /* uxtw --> mov. */
- case 790: value = 789; break; /* sevl --> sev. */
- case 789: value = 788; break; /* sev --> wfi. */
- case 788: value = 787; break; /* wfi --> wfe. */
- case 787: value = 786; break; /* wfe --> yield. */
- case 786: value = 785; break; /* yield --> nop. */
- case 799: value = 798; break; /* tlbi --> ic. */
- case 798: value = 797; break; /* ic --> dc. */
- case 797: value = 796; break; /* dc --> at. */
+ case 962: value = 961; break; /* sevl --> sev. */
+ case 961: value = 960; break; /* sev --> wfi. */
+ case 960: value = 959; break; /* wfi --> wfe. */
+ case 959: value = 958; break; /* wfe --> yield. */
+ case 958: value = 957; break; /* yield --> nop. */
+ case 971: value = 970; break; /* tlbi --> ic. */
+ case 970: value = 969; break; /* ic --> dc. */
+ case 969: value = 968; break; /* dc --> at. */
default: return NULL;
}
@@ -7640,11 +8974,10 @@ aarch64_extract_operand (const aarch64_operand *self,
case 7:
case 9:
case 10:
- case 13:
case 14:
case 15:
case 16:
- case 18:
+ case 17:
case 19:
case 20:
case 21:
@@ -7653,31 +8986,33 @@ aarch64_extract_operand (const aarch64_operand *self,
case 24:
case 25:
case 26:
- case 34:
+ case 27:
case 35:
+ case 36:
return aarch64_ext_regno (self, info, code, inst);
case 8:
return aarch64_ext_regrt_sysins (self, info, code, inst);
case 11:
- return aarch64_ext_reg_extended (self, info, code, inst);
+ return aarch64_ext_regno_pair (self, info, code, inst);
case 12:
+ return aarch64_ext_reg_extended (self, info, code, inst);
+ case 13:
return aarch64_ext_reg_shifted (self, info, code, inst);
- case 17:
+ case 18:
return aarch64_ext_ft (self, info, code, inst);
- case 27:
case 28:
case 29:
- return aarch64_ext_reglane (self, info, code, inst);
case 30:
- return aarch64_ext_reglist (self, info, code, inst);
+ return aarch64_ext_reglane (self, info, code, inst);
case 31:
- return aarch64_ext_ldst_reglist (self, info, code, inst);
+ return aarch64_ext_reglist (self, info, code, inst);
case 32:
- return aarch64_ext_ldst_reglist_r (self, info, code, inst);
+ return aarch64_ext_ldst_reglist (self, info, code, inst);
case 33:
+ return aarch64_ext_ldst_reglist_r (self, info, code, inst);
+ case 34:
return aarch64_ext_ldst_elemlist (self, info, code, inst);
- case 36:
- case 45:
+ case 37:
case 46:
case 47:
case 48:
@@ -7690,57 +9025,59 @@ aarch64_extract_operand (const aarch64_operand *self,
case 55:
case 56:
case 57:
- case 64:
- case 65:
+ case 58:
case 66:
case 67:
case 68:
+ case 69:
+ case 70:
return aarch64_ext_imm (self, info, code, inst);
- case 37:
case 38:
- return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
case 39:
+ return aarch64_ext_advsimd_imm_shift (self, info, code, inst);
case 40:
case 41:
- return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
case 42:
+ return aarch64_ext_advsimd_imm_modified (self, info, code, inst);
+ case 43:
return aarch64_ext_shll_imm (self, info, code, inst);
- case 58:
- return aarch64_ext_limm (self, info, code, inst);
case 59:
- return aarch64_ext_aimm (self, info, code, inst);
+ return aarch64_ext_limm (self, info, code, inst);
case 60:
- return aarch64_ext_imm_half (self, info, code, inst);
+ return aarch64_ext_aimm (self, info, code, inst);
case 61:
+ return aarch64_ext_imm_half (self, info, code, inst);
+ case 62:
return aarch64_ext_fbits (self, info, code, inst);
- case 63:
+ case 64:
+ case 65:
return aarch64_ext_cond (self, info, code, inst);
- case 69:
- case 75:
- return aarch64_ext_addr_simple (self, info, code, inst);
- case 70:
- return aarch64_ext_addr_regoff (self, info, code, inst);
case 71:
+ case 77:
+ return aarch64_ext_addr_simple (self, info, code, inst);
case 72:
+ return aarch64_ext_addr_regoff (self, info, code, inst);
case 73:
- return aarch64_ext_addr_simm (self, info, code, inst);
case 74:
- return aarch64_ext_addr_uimm12 (self, info, code, inst);
+ case 75:
+ return aarch64_ext_addr_simm (self, info, code, inst);
case 76:
- return aarch64_ext_simd_addr_post (self, info, code, inst);
- case 77:
- return aarch64_ext_sysreg (self, info, code, inst);
+ return aarch64_ext_addr_uimm12 (self, info, code, inst);
case 78:
- return aarch64_ext_pstatefield (self, info, code, inst);
+ return aarch64_ext_simd_addr_post (self, info, code, inst);
case 79:
+ return aarch64_ext_sysreg (self, info, code, inst);
case 80:
+ return aarch64_ext_pstatefield (self, info, code, inst);
case 81:
case 82:
- return aarch64_ext_sysins_op (self, info, code, inst);
case 83:
case 84:
- return aarch64_ext_barrier (self, info, code, inst);
+ return aarch64_ext_sysins_op (self, info, code, inst);
case 85:
+ case 86:
+ return aarch64_ext_barrier (self, info, code, inst);
+ case 87:
return aarch64_ext_prfop (self, info, code, inst);
default: assert (0); abort ();
}