Index: opcodes/aarch64-dis-2.c |
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..32e2fc0f04fe477b53cc2e530b5235818b1e8771 |
--- /dev/null |
+++ b/opcodes/aarch64-dis-2.c |
@@ -0,0 +1,7748 @@ |
+/* This file is automatically generated by aarch64-gen. Do not edit! */ |
+/* Copyright 2012, 2013 Free Software Foundation, Inc. |
+ Contributed by ARM Ltd. |
+ |
+ This file is part of the GNU opcodes library. |
+ |
+ This library 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, or (at your option) |
+ any later version. |
+ |
+ It 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/>. */ |
+ |
+#include "sysdep.h" |
+#include "aarch64-dis.h" |
+ |
+/* Called by aarch64_opcode_lookup. */ |
+ |
+static int |
+aarch64_opcode_lookup_1 (uint32_t word) |
+{ |
+ if (((word >> 26) & 0x1) == 0) |
+ { |
+ if (((word >> 25) & 0x1) == 0) |
+ { |
+ if (((word >> 27) & 0x1) == 0) |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0 |
+ adr. */ |
+ return 781; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1 |
+ adrp. */ |
+ return 782; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx1000x00x |
+ add. */ |
+ return 12; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx1000x01x |
+ sub. */ |
+ return 16; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx1000x10x |
+ adds. */ |
+ return 14; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx1000x11x |
+ subs. */ |
+ return 17; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx000x0010000 |
+ stxrb. */ |
+ return 717; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx000x0010010 |
+ stxrh. */ |
+ return 723; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx000x00100x1 |
+ stxr. */ |
+ return 729; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx100x00100xx |
+ stxp. */ |
+ return 731; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx000x0010000 |
+ stlxrb. */ |
+ return 718; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx000x0010010 |
+ stlxrh. */ |
+ return 724; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx000x00100x1 |
+ stlxr. */ |
+ return 730; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx100x00100xx |
+ stlxp. */ |
+ return 732; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx00x00101xx |
+ stnp. */ |
+ return 739; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx01x0010000 |
+ stlrb. */ |
+ return 721; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx01x0010010 |
+ stlrh. */ |
+ return 727; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx01x00100x1 |
+ stlr. */ |
+ return 737; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx01x00101xx |
+ stp. */ |
+ return 748; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx010x0010000 |
+ ldxrb. */ |
+ return 719; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx010x0010010 |
+ ldxrh. */ |
+ return 725; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx010x00100x1 |
+ ldxr. */ |
+ return 733; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx110x00100xx |
+ ldxp. */ |
+ return 735; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx010x0010000 |
+ ldaxrb. */ |
+ return 720; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx010x0010010 |
+ ldaxrh. */ |
+ return 726; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx010x00100x1 |
+ ldaxr. */ |
+ return 734; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx110x00100xx |
+ ldaxp. */ |
+ return 736; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx10x001010x |
+ ldnp. */ |
+ return 740; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx10x001011x |
+ ldpsw. */ |
+ return 747; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx11x0010000 |
+ ldarb. */ |
+ return 722; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx11x0010010 |
+ ldarh. */ |
+ return 728; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx11x00100x1 |
+ ldar. */ |
+ return 738; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx11x001010x |
+ ldp. */ |
+ return 749; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx11x001011x |
+ ldpsw. */ |
+ return 752; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx000110x0 |
+ ldr. */ |
+ return 753; |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx00011001 |
+ ldrsw. */ |
+ return 755; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx00011011 |
+ prfm. */ |
+ return 756; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx0000011100 |
+ sturb. */ |
+ return 693; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx0000011110 |
+ sturh. */ |
+ return 703; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx00000111x1 |
+ stur. */ |
+ return 709; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx1000011100 |
+ ldurb. */ |
+ return 694; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx1000011110 |
+ ldurh. */ |
+ return 704; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx10000111x1 |
+ ldur. */ |
+ return 710; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxxx100011100 |
+ ldursb. */ |
+ return 697; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxxx100011101 |
+ ldursw. */ |
+ return 713; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxxx100011110 |
+ ldursh. */ |
+ return 707; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxxx100011111 |
+ prfum. */ |
+ return 715; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx00000011100 |
+ sttrb. */ |
+ return 684; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx00000011110 |
+ sttrh. */ |
+ return 687; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx000000111x1 |
+ sttr. */ |
+ return 690; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx01000011100 |
+ ldtrb. */ |
+ return 685; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx01000011110 |
+ ldtrh. */ |
+ return 688; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx010000111x1 |
+ ldtr. */ |
+ return 691; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx0x100011100 |
+ ldtrsb. */ |
+ return 686; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx0x100011101 |
+ ldtrsw. */ |
+ return 692; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx0x10001111x |
+ ldtrsh. */ |
+ return 689; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx10000011100 |
+ strb. */ |
+ return 672; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx10000011110 |
+ strh. */ |
+ return 677; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx100000111x1 |
+ str. */ |
+ return 680; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx11000011100 |
+ ldrb. */ |
+ return 673; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx11000011110 |
+ ldrh. */ |
+ return 678; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx110000111x1 |
+ ldr. */ |
+ return 681; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx1x100011100 |
+ ldrsb. */ |
+ return 674; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx1x100011101 |
+ ldrsw. */ |
+ return 682; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx1x100011110 |
+ ldrsh. */ |
+ return 679; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx1x100011111 |
+ prfm. */ |
+ return 683; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx0000011100 |
+ strb. */ |
+ return 649; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx0000011110 |
+ strh. */ |
+ return 654; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx00000111x1 |
+ str. */ |
+ return 657; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx1000011100 |
+ ldrb. */ |
+ return 650; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx1000011110 |
+ ldrh. */ |
+ return 655; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx10000111x1 |
+ ldr. */ |
+ return 658; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxxx100011100 |
+ ldrsb. */ |
+ return 651; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxxx100011101 |
+ ldrsw. */ |
+ return 659; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxxx10001111x |
+ ldrsh. */ |
+ return 656; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx0010011x00 |
+ strb. */ |
+ return 660; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx0010011x10 |
+ strh. */ |
+ return 665; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx0010011xx1 |
+ str. */ |
+ return 668; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx1010011x00 |
+ ldrb. */ |
+ return 661; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx1010011x10 |
+ ldrh. */ |
+ return 666; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx1010011xx1 |
+ ldr. */ |
+ return 669; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx110011x00 |
+ ldrsb. */ |
+ return 662; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx110011x01 |
+ ldrsw. */ |
+ return 670; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx110011x10 |
+ ldrsh. */ |
+ return 667; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx110011x11 |
+ prfm. */ |
+ return 671; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 27) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx00100x00x |
+ and. */ |
+ return 757; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx00100x01x |
+ eor. */ |
+ return 761; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx00100x10x |
+ orr. */ |
+ return 759; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx00100x11x |
+ ands. */ |
+ return 762; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx10100x00x |
+ movn. */ |
+ return 776; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx10100x01x |
+ movz. */ |
+ return 778; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx10100x1xx |
+ movk. */ |
+ return 780; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx0101000x |
+ and. */ |
+ return 764; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx0101001x |
+ eor. */ |
+ return 771; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx0101010x |
+ orr. */ |
+ return 766; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx0101011x |
+ ands. */ |
+ return 773; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx0000101100x |
+ adc. */ |
+ return 0; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx0000101101x |
+ sbc. */ |
+ return 2; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx0000101110x |
+ adcs. */ |
+ return 1; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx0000101111x |
+ sbcs. */ |
+ return 4; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx00101011x0x |
+ csel. */ |
+ return 524; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx00101011x1x |
+ csinv. */ |
+ return 528; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx01001011x0x |
+ ccmn. */ |
+ return 522; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxx01001011x1x |
+ ccmp. */ |
+ return 523; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00000xxxxxx01101011xxx |
+ rbit. */ |
+ return 547; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00001xxxxxx01101011xxx |
+ crc32b. */ |
+ return 564; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0001xxxxxxx01101011xxx |
+ lslv. */ |
+ return 556; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001x0xxxxxx01101011xxx |
+ clz. */ |
+ return 551; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001x1xxxxxx01101011xxx |
+ crc32cb. */ |
+ return 568; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx0x001011x0x |
+ ccmn. */ |
+ return 520; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxx0x001011x1x |
+ ccmp. */ |
+ return 521; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01000xxxxxx0x101011x0x |
+ udiv. */ |
+ return 554; |
+ } |
+ else |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01000xxxxxx0x101011x10 |
+ rev. */ |
+ return 549; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01000xxxxxx0x101011x11 |
+ rev32. */ |
+ return 553; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01001xxxxxx0x101011xxx |
+ crc32w. */ |
+ return 566; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101xxxxxxx0x101011xxx |
+ asrv. */ |
+ return 560; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011xxxxxxxx0x101011xxx |
+ crc32cw. */ |
+ return 570; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10xxxxxxxxx00x01011x0x |
+ csinc. */ |
+ return 525; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10xxxxxxxxx00x01011x1x |
+ csneg. */ |
+ return 531; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10000xxxxxx01x01011xxx |
+ rev16. */ |
+ return 548; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10001xxxxxx01x01011xxx |
+ crc32h. */ |
+ return 565; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1001xxxxxxx01x01011xxx |
+ lsrv. */ |
+ return 558; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101x0xxxxxx01x01011xxx |
+ cls. */ |
+ return 552; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101x1xxxxxx01x01011xxx |
+ crc32ch. */ |
+ return 569; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11000xxxxxx0xx01011x0x |
+ sdiv. */ |
+ return 555; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11000xxxxxx0xx01011x1x |
+ rev. */ |
+ return 550; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11001xxxxxx0xx01011xxx |
+ crc32x. */ |
+ return 567; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1101xxxxxxx0xx01011xxx |
+ rorv. */ |
+ return 562; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111xxxxxxxx0xx01011xxx |
+ crc32cx. */ |
+ return 571; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1xx0101x00x |
+ bic. */ |
+ return 765; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1xx0101x01x |
+ eon. */ |
+ return 772; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1xx0101x10x |
+ orn. */ |
+ return 769; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1xx0101x11x |
+ bics. */ |
+ return 775; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 27) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx01100x00x |
+ sbfm. */ |
+ return 493; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx01100x01x |
+ ubfm. */ |
+ return 503; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx01100x1xx |
+ bfm. */ |
+ return 500; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxx11100xxxx |
+ extr. */ |
+ return 594; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx1101000x |
+ add. */ |
+ return 19; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx1101001x |
+ sub. */ |
+ return 22; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx1101010x |
+ adds. */ |
+ return 20; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0xx1101011x |
+ subs. */ |
+ return 24; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx00x11011xxx |
+ madd. */ |
+ return 572; |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx01011011xxx |
+ smulh. */ |
+ return 580; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx01111011xxx |
+ umulh. */ |
+ return 585; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx0xx11011xxx |
+ msub. */ |
+ return 574; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1x01101000x |
+ add. */ |
+ return 6; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1x01101001x |
+ sub. */ |
+ return 9; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1x01101010x |
+ adds. */ |
+ return 7; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1x01101011x |
+ subs. */ |
+ return 10; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx1x011011xxx |
+ smaddl. */ |
+ return 576; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx1x011011xxx |
+ smsubl. */ |
+ return 578; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx1x11101xxxx |
+ umaddl. */ |
+ return 581; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx1x11101xxxx |
+ umsubl. */ |
+ return 583; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 27) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxxxx10x000 |
+ b. */ |
+ return 510; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxxxx10x001 |
+ bl. */ |
+ return 511; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 25) & 0x1) == 0) |
+ { |
+ if (((word >> 31) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx0010x010 |
+ b.c. */ |
+ return 519; |
+ } |
+ else |
+ { |
+ if (((word >> 0) & 0x1) == 0) |
+ { |
+ if (((word >> 1) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 00xxxxxxxxxxxxxxxxxxx0xx0010x011 |
+ hlt. */ |
+ return 590; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 00xxxxxxxxxxxxxxxxxxx1xx0010x011 |
+ brk. */ |
+ return 589; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 01xxxxxxxxxxxxxxxxxxx0xx0010x011 |
+ hvc. */ |
+ return 587; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 01xxxxxxxxxxxxxxxxxxx1xx0010x011 |
+ dcps2. */ |
+ return 592; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 1) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 10xxxxxxxxxxxxxxxxxxx0xx0010x011 |
+ svc. */ |
+ return 586; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 10xxxxxxxxxxxxxxxxxxx1xx0010x011 |
+ dcps1. */ |
+ return 591; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 11xxxxxxxxxxxxxxxxxxx0xx0010x011 |
+ smc. */ |
+ return 588; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ 11xxxxxxxxxxxxxxxxxxx1xx0010x011 |
+ dcps3. */ |
+ return 593; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0000110x01x |
+ br. */ |
+ return 512; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx0010110x01x |
+ eret. */ |
+ return 515; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx01x0110x01x |
+ ret. */ |
+ return 514; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1x00110x01x |
+ blr. */ |
+ return 513; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx1x10110x01x |
+ drps. */ |
+ return 516; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 20) & 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; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxx10xx1x10x01x |
+ msr. */ |
+ return 800; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxx11xx1x10x01x |
+ mrs. */ |
+ return 802; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 25) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx |
+ cbz. */ |
+ return 517; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx |
+ tbz. */ |
+ return 803; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 25) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx |
+ cbnz. */ |
+ return 518; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx |
+ tbnz. */ |
+ return 804; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 25) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx00001100xx |
+ st4. */ |
+ return 355; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx00001101xx |
+ stnp. */ |
+ return 741; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx000101100xx |
+ st1. */ |
+ return 371; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx100101100xx |
+ st2. */ |
+ return 373; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx000101100xx |
+ st3. */ |
+ return 372; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx100101100xx |
+ st4. */ |
+ return 374; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx00101101xx |
+ stp. */ |
+ return 745; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx001001100xx |
+ st4. */ |
+ return 363; |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx001101100xx |
+ st1. */ |
+ return 383; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx001101100xx |
+ st3. */ |
+ return 384; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx101x01100xx |
+ st2. */ |
+ return 385; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx101x01100xx |
+ st4. */ |
+ return 386; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx01x01101xx |
+ stp. */ |
+ return 750; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx10001100xx |
+ ld4. */ |
+ return 359; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx10001101xx |
+ ldnp. */ |
+ return 742; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx010101100xx |
+ ld1. */ |
+ return 375; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx110101100xx |
+ ld2. */ |
+ return 379; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx010101100xx |
+ ld3. */ |
+ return 376; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx110101100xx |
+ ld4. */ |
+ return 380; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx10101101xx |
+ ldp. */ |
+ return 746; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxx011001100xx |
+ ld4. */ |
+ return 367; |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx011101100xx |
+ ld1. */ |
+ return 387; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx011101100xx |
+ ld3. */ |
+ return 388; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx0xxxxxxx111x01100xx |
+ ld2. */ |
+ return 391; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxx1xxxxxxx111x01100xx |
+ ld4. */ |
+ return 392; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx11x01101xx |
+ ldp. */ |
+ return 751; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxxxx001110xx |
+ ldr. */ |
+ return 754; |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx0x001111xx |
+ stur. */ |
+ return 699; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00xxxxxxxxxx1x001111xx |
+ ldur. */ |
+ return 700; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxxx0x001111xx |
+ str. */ |
+ return 675; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01xxxxxxxxxx1x001111xx |
+ ldr. */ |
+ return 676; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx0x001111xx |
+ str. */ |
+ return 652; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxxx1x001111xx |
+ ldr. */ |
+ return 653; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx0x10111xxx |
+ str. */ |
+ return 663; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxxxxxxxx1x10111xxx |
+ ldr. */ |
+ return 664; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 24) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000xxxxxxxx0xx011100xx |
+ tbl. */ |
+ return 341; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001xxxxxxxx0xx011100xx |
+ tbx. */ |
+ return 342; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010x0xxxxxx0xx011100xx |
+ trn1. */ |
+ return 216; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010x1xxxxxx0xx011100xx |
+ trn2. */ |
+ return 219; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01100xxxxxx0xx011100xx |
+ uzp1. */ |
+ return 215; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01101xxxxxx0xx011100xx |
+ uzp2. */ |
+ return 218; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01110xxxxxx0xx011100xx |
+ zip1. */ |
+ return 217; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx01111xxxxxx0xx011100xx |
+ zip2. */ |
+ return 220; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0xxxxxxxxxx0xx011101xx |
+ ext. */ |
+ return 119; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10xxxxxxxxx0xx011100xx |
+ dup. */ |
+ return 135; |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1100xxxxxxx0xx011100xx |
+ dup. */ |
+ return 136; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1101xxxxxxx0xx011100xx |
+ smov. */ |
+ return 137; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110xxxxxxx0xx011100xx |
+ ins. */ |
+ return 140; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1111xxxxxxx0xx011100xx |
+ umov. */ |
+ return 138; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxx0xx011101xx |
+ ins. */ |
+ return 142; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 17) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxx00xxx0xx01111x0x |
+ fcvtzs. */ |
+ return 598; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxx01xxx0xx01111x0x |
+ scvtf. */ |
+ return 596; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 17) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxx10xxx0xx01111x0x |
+ fcvtzu. */ |
+ return 599; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxxx11xxx0xx01111x0x |
+ ucvtf. */ |
+ return 597; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x000xxxxxx0xx01111x1x |
+ sha1c. */ |
+ return 540; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x001xxxxxx0xx01111x1x |
+ sha256h. */ |
+ return 544; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x010xxxxxx0xx01111x1x |
+ sha1m. */ |
+ return 542; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x011xxxxxx0xx01111x1x |
+ sha256su1. */ |
+ return 546; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x100xxxxxx0xx01111x1x |
+ sha1p. */ |
+ return 541; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x101xxxxxx0xx01111x1x |
+ sha256h2. */ |
+ return 545; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x11xxxxxxx0xx01111x1x |
+ sha1su0. */ |
+ return 543; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1xxxxxxxxxx0xx01111x1x |
+ dup. */ |
+ return 430; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000xxxxx1xx0111000x |
+ saddl. */ |
+ return 38; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000xxxxx1xx0111001x |
+ saddl2. */ |
+ return 39; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000xxxxx1xx0111010x |
+ uaddl. */ |
+ return 70; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000xxxxx1xx0111011x |
+ uaddl2. */ |
+ return 71; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 17) & 0x1) == 0) |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000000001xx01111xxx |
+ fcvtns. */ |
+ return 600; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000000011xx01111xxx |
+ fcvtms. */ |
+ return 610; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000000101xx01111xxx |
+ fcvtps. */ |
+ return 608; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000000111xx01111xxx |
+ fcvtzs. */ |
+ return 612; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000001xx1xx01111xxx |
+ fcvtas. */ |
+ return 604; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000010xx1xx01111xxx |
+ scvtf. */ |
+ return 602; |
+ } |
+ else |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0000000110x1xx01111xxx |
+ fmov. */ |
+ return 606; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0000000111x1xx01111xxx |
+ fmov. */ |
+ return 614; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 17) & 0x1) == 0) |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000100001xx01111xxx |
+ fcvtnu. */ |
+ return 601; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000100011xx01111xxx |
+ fcvtmu. */ |
+ return 611; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000100101xx01111xxx |
+ fcvtpu. */ |
+ return 609; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000100111xx01111xxx |
+ fcvtzu. */ |
+ return 613; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000101xx1xx01111xxx |
+ fcvtau. */ |
+ return 605; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000000110xx1xx01111xxx |
+ ucvtf. */ |
+ return 603; |
+ } |
+ else |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0000001110x1xx01111xxx |
+ fmov. */ |
+ return 607; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0000001111x1xx01111xxx |
+ fmov. */ |
+ return 615; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000001xxxxx1xx0111x00x |
+ smlal. */ |
+ return 54; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000001xxxxx1xx0111x01x |
+ smlal2. */ |
+ return 55; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000001xxxxx1xx0111x10x |
+ umlal. */ |
+ return 86; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000001xxxxx1xx0111x11x |
+ umlal2. */ |
+ return 87; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010xxxxx1xx0111000x |
+ addhn. */ |
+ return 46; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010xxxxx1xx0111001x |
+ addhn2. */ |
+ return 47; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010xxxxx1xx0111010x |
+ raddhn. */ |
+ return 78; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010xxxxx1xx0111011x |
+ raddhn2. */ |
+ return 79; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011xxxxx1xx0111000x |
+ smull. */ |
+ return 62; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011xxxxx1xx0111001x |
+ smull2. */ |
+ return 63; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011xxxxx1xx0111010x |
+ umull. */ |
+ return 90; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011xxxxx1xx0111011x |
+ umull2. */ |
+ return 91; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 17) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010000xx1xx01111xxx |
+ fmov. */ |
+ return 622; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010001xx1xx01111xxx |
+ frintn. */ |
+ return 627; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010100xx1xx01111xxx |
+ fneg. */ |
+ return 624; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010101xx1xx01111xxx |
+ frintm. */ |
+ return 629; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011000xx1xx01111xxx |
+ fabs. */ |
+ return 623; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011001xx1xx01111xxx |
+ frintp. */ |
+ return 628; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011100xx1xx01111xxx |
+ fsqrt. */ |
+ return 625; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011101xx1xx01111xxx |
+ frintz. */ |
+ return 630; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 18) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00001xx10xx1xx01111xxx |
+ fcvt. */ |
+ return 626; |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010011xx1xx01111xxx |
+ frinta. */ |
+ return 631; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000010111xx1xx01111xxx |
+ frintx. */ |
+ return 632; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000011x11xx1xx01111xxx |
+ frinti. */ |
+ return 633; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000100xxxxx1xx0111000x |
+ ssubl. */ |
+ return 42; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000100xxxxx1xx0111001x |
+ ssubl2. */ |
+ return 43; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000100xxxxx1xx0111010x |
+ usubl. */ |
+ return 74; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000100xxxxx1xx0111011x |
+ usubl2. */ |
+ return 75; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 3) & 0x1) == 0) |
+ { |
+ if (((word >> 4) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxx00xxxxx000100xxxxx1xx01111xxx |
+ fcmp. */ |
+ return 618; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxx01xxxxx000100xxxxx1xx01111xxx |
+ fcmpe. */ |
+ return 619; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 4) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxx10xxxxx000100xxxxx1xx01111xxx |
+ fcmp. */ |
+ return 620; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxx11xxxxx000100xxxxx1xx01111xxx |
+ fcmpe. */ |
+ return 621; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000101xxxxx1xx0111x00x |
+ smlsl. */ |
+ return 58; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000101xxxxx1xx0111x01x |
+ smlsl2. */ |
+ return 59; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000101xxxxx1xx0111x10x |
+ umlsl. */ |
+ return 88; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000101xxxxx1xx0111x11x |
+ umlsl2. */ |
+ return 89; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000110xxxxx1xx0111x00x |
+ subhn. */ |
+ return 50; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000110xxxxx1xx0111x01x |
+ subhn2. */ |
+ return 51; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000110xxxxx1xx0111x10x |
+ rsubhn. */ |
+ return 82; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000110xxxxx1xx0111x11x |
+ rsubhn2. */ |
+ return 83; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000111xxxxx10x0111xx0x |
+ pmull. */ |
+ return 66; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000111xxxxx10x0111xx1x |
+ pmull2. */ |
+ return 68; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000111xxxxx11x0111xx0x |
+ pmull. */ |
+ return 67; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx000111xxxxx11x0111xx1x |
+ pmull2. */ |
+ return 69; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001000xxxxx1xx0111000x |
+ saddw. */ |
+ return 40; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001000xxxxx1xx0111001x |
+ saddw2. */ |
+ return 41; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001000xxxxx1xx0111010x |
+ uaddw. */ |
+ return 72; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001000xxxxx1xx0111011x |
+ uaddw2. */ |
+ return 73; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001001xxxxx1xx01110x0x |
+ sqdmlal. */ |
+ return 56; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001001xxxxx1xx01110x1x |
+ sqdmlal2. */ |
+ return 57; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001010xxxxx1xx0111000x |
+ sabal. */ |
+ return 48; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001010xxxxx1xx0111001x |
+ sabal2. */ |
+ return 49; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001010xxxxx1xx0111010x |
+ uabal. */ |
+ return 80; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001010xxxxx1xx0111011x |
+ uabal2. */ |
+ return 81; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001011xxxxx1xx01110x0x |
+ sqdmull. */ |
+ return 64; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001011xxxxx1xx01110x1x |
+ sqdmull2. */ |
+ return 65; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001100xxxxx1xx0111000x |
+ ssubw. */ |
+ return 44; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001100xxxxx1xx0111001x |
+ ssubw2. */ |
+ return 45; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001100xxxxx1xx0111010x |
+ usubw. */ |
+ return 76; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001100xxxxx1xx0111011x |
+ usubw2. */ |
+ return 77; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001101xxxxx1xx01110x0x |
+ sqdmlsl. */ |
+ return 60; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001101xxxxx1xx01110x1x |
+ sqdmlsl2. */ |
+ return 61; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00111xxxxxx1xx0111000x |
+ sabdl. */ |
+ return 52; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00111xxxxxx1xx0111001x |
+ sabdl2. */ |
+ return 53; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00111xxxxxx1xx0111010x |
+ uabdl. */ |
+ return 84; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00111xxxxxx1xx0111011x |
+ uabdl2. */ |
+ return 85; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx001xxxxxxxx1xx01111x0x |
+ fmov. */ |
+ return 647; |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00100xxxxxx1xx01111x1x |
+ sqdmlal. */ |
+ return 343; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx00101xxxxxx1xx01111x1x |
+ sqdmull. */ |
+ return 345; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0011xxxxxxx1xx01111x1x |
+ sqdmlsl. */ |
+ return 344; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010000xxxxx1xx011100xx |
+ rev64. */ |
+ return 144; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010000xxxxx1xx011101xx |
+ rev32. */ |
+ return 180; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010000xxxxx1xx01111x0x |
+ fmul. */ |
+ return 634; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010000xxxxx1xx01111x1x |
+ sha1h. */ |
+ return 537; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100010xxxx1xx011100xx |
+ cmgt. */ |
+ return 152; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100010xxxx1xx011101xx |
+ cmge. */ |
+ return 186; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100011xxxx1x0011100xx |
+ frintn. */ |
+ return 164; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100011xxxx1x0011101xx |
+ frinta. */ |
+ return 197; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100011xxxx1x101110xxx |
+ frintp. */ |
+ return 174; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010001xxxxx1xx0111100x |
+ fnmul. */ |
+ return 642; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010001xxxxx1xx0111101x |
+ cmgt. */ |
+ return 397; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010001xxxxx1xx011111xx |
+ cmge. */ |
+ return 415; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100100xx0x1xx011100xx |
+ cls. */ |
+ return 148; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100100xx0x1xx011101xx |
+ clz. */ |
+ return 183; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100100xx1x1xx01110xxx |
+ aese. */ |
+ return 533; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100101xxxx1xx0111000x |
+ sqxtn. */ |
+ return 158; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100101xxxx1xx0111001x |
+ sqxtn2. */ |
+ return 159; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100101xxxx1xx0111010x |
+ uqxtn. */ |
+ return 193; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100101xxxx1xx0111011x |
+ uqxtn2. */ |
+ return 194; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010010xxxxx1xx0111100x |
+ fmax. */ |
+ return 638; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010010xxxxx1xx0111101x |
+ sqxtn. */ |
+ return 401; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010010xxxxx1xx011111xx |
+ uqxtn. */ |
+ return 419; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx01xx011100xx |
+ fcmgt. */ |
+ return 170; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx01xx011101xx |
+ fcmge. */ |
+ return 206; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx01xx011110xx |
+ fcmgt. */ |
+ return 406; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx01xx011111xx |
+ fcmge. */ |
+ return 425; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx11x001110xxx |
+ fmaxnmv. */ |
+ return 34; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx11x001111xxx |
+ fmaxnmp. */ |
+ return 433; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx11x101110xxx |
+ fminnmv. */ |
+ return 36; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100110xxx11x101111xxx |
+ fminnmp. */ |
+ return 436; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100111xxxx1x0011100xx |
+ fcvtas. */ |
+ return 168; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100111xxxx1x0011101xx |
+ fcvtau. */ |
+ return 201; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100111xxxx1x0011110xx |
+ fcvtas. */ |
+ return 404; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100111xxxx1x0011111xx |
+ fcvtau. */ |
+ return 423; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100111xxxx1x10111x0xx |
+ urecpe. */ |
+ return 178; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0100111xxxx1x10111x1xx |
+ ursqrte. */ |
+ return 212; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101000xxxx1xx011100xx |
+ saddlp. */ |
+ return 146; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101000xxxx1xx011101xx |
+ uaddlp. */ |
+ return 181; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101001xxxx1xx0111000x |
+ xtn. */ |
+ return 156; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101001xxxx1xx0111001x |
+ xtn2. */ |
+ return 157; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101001xxxx1xx0111010x |
+ sqxtun. */ |
+ return 189; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101001xxxx1xx0111011x |
+ sqxtun2. */ |
+ return 190; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010100xxxxx1xx0111100x |
+ fadd. */ |
+ return 636; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010100xxxxx1xx0111101x |
+ sha256su0. */ |
+ return 539; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010100xxxxx1xx011111xx |
+ sqxtun. */ |
+ return 418; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101010xxx01xx01110xxx |
+ cmlt. */ |
+ return 154; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101010xxx01xx01111xxx |
+ cmlt. */ |
+ return 399; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101010xxx11xx0111x0xx |
+ smaxv. */ |
+ return 28; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101010xxx11xx0111x1xx |
+ umaxv. */ |
+ return 32; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x0011100xx |
+ fcvtns. */ |
+ return 166; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x0011101xx |
+ fcvtnu. */ |
+ return 199; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x0011110xx |
+ fcvtns. */ |
+ return 402; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x0011111xx |
+ fcvtnu. */ |
+ return 421; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x1011100xx |
+ fcvtps. */ |
+ return 176; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x1011101xx |
+ fcvtpu. */ |
+ return 210; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x1011110xx |
+ fcvtps. */ |
+ return 409; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx01x1011111xx |
+ fcvtpu. */ |
+ return 427; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx11xx0111x0xx |
+ sminv. */ |
+ return 29; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101011xxx11xx0111x1xx |
+ uminv. */ |
+ return 33; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101100xx0x1xx011100xx |
+ sadalp. */ |
+ return 150; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101100xx0x1xx011101xx |
+ uadalp. */ |
+ return 184; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101100xx1x1xx01110xxx |
+ aesmc. */ |
+ return 535; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101101xxxx1xx0111000x |
+ fcvtn. */ |
+ return 160; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101101xxxx1xx0111001x |
+ fcvtn2. */ |
+ return 161; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101101xxxx1xx0111010x |
+ fcvtxn. */ |
+ return 195; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0101101xxxx1xx0111011x |
+ fcvtxn2. */ |
+ return 196; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010110xxxxx1xx011110xx |
+ fmaxnm. */ |
+ return 640; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010110xxxxx1xx011111xx |
+ fcvtxn. */ |
+ return 420; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010111xxxxx1xx01110xxx |
+ fcmlt. */ |
+ return 172; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx010111xxxxx1xx01111xxx |
+ fcmlt. */ |
+ return 408; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011000xxxxx1xx01110xxx |
+ rev16. */ |
+ return 145; |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011000xxxxx1xx01111x0x |
+ fdiv. */ |
+ return 635; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011000xxxxx1xx01111x1x |
+ sha1su1. */ |
+ return 538; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110010xxxx1xx011100xx |
+ cmeq. */ |
+ return 153; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110010xxxx1xx011101xx |
+ cmle. */ |
+ return 187; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110010xxxx1xx011110xx |
+ cmeq. */ |
+ return 398; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110010xxxx1xx011111xx |
+ cmle. */ |
+ return 416; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110011xxxx1x00111x0xx |
+ frintm. */ |
+ return 165; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110011xxxx1x00111x1xx |
+ frintx. */ |
+ return 198; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110011xxxx1x10111x0xx |
+ frintz. */ |
+ return 175; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110011xxxx1x10111x1xx |
+ frinti. */ |
+ return 209; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011010xxx0x1xx011100xx |
+ cnt. */ |
+ return 149; |
+ } |
+ else |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011010xxx0x10x011101xx |
+ not. */ |
+ return 203; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011010xxx0x11x011101xx |
+ rbit. */ |
+ return 205; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011010xxx1x1xx01110xxx |
+ aesd. */ |
+ return 534; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011010xxxxx1xx01111xxx |
+ fmin. */ |
+ return 639; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110110xxx01xx011100xx |
+ fcmeq. */ |
+ return 171; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110110xxx01xx011101xx |
+ fcmle. */ |
+ return 207; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110110xxx01xx011110xx |
+ fcmeq. */ |
+ return 407; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110110xxx01xx011111xx |
+ fcmle. */ |
+ return 426; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110110xxx11xx0111xxxx |
+ faddp. */ |
+ return 434; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x0011100xx |
+ scvtf. */ |
+ return 169; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x0011101xx |
+ ucvtf. */ |
+ return 202; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x0011110xx |
+ scvtf. */ |
+ return 405; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x0011111xx |
+ ucvtf. */ |
+ return 424; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x1011100xx |
+ frecpe. */ |
+ return 179; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x1011101xx |
+ frsqrte. */ |
+ return 213; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x1011110xx |
+ frecpe. */ |
+ return 411; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0110111xxxx1x1011111xx |
+ frsqrte. */ |
+ return 429; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111000xxx01xx011100xx |
+ suqadd. */ |
+ return 147; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111000xxx01xx011101xx |
+ usqadd. */ |
+ return 182; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111000xxx11xx011100xx |
+ saddlv. */ |
+ return 27; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111000xxx11xx011101xx |
+ uaddlv. */ |
+ return 31; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111001xxxx1xx01110x0x |
+ shll. */ |
+ return 191; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111001xxxx1xx01110x1x |
+ shll2. */ |
+ return 192; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011100xxxxx1xx0111100x |
+ fsub. */ |
+ return 637; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011100xxxxx1xx0111101x |
+ suqadd. */ |
+ return 395; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011100xxxxx1xx011111xx |
+ usqadd. */ |
+ return 413; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111010xxxx1xx011100xx |
+ abs. */ |
+ return 155; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111010xxxx1xx011101xx |
+ neg. */ |
+ return 188; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111010xxxx1xx011110xx |
+ abs. */ |
+ return 400; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111010xxxx1xx011111xx |
+ neg. */ |
+ return 417; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x0011100xx |
+ fcvtms. */ |
+ return 167; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x0011101xx |
+ fcvtmu. */ |
+ return 200; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x0011110xx |
+ fcvtms. */ |
+ return 403; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x0011111xx |
+ fcvtmu. */ |
+ return 422; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x1011100xx |
+ fcvtzs. */ |
+ return 177; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x1011101xx |
+ fcvtzu. */ |
+ return 211; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x1011110xx |
+ fcvtzs. */ |
+ return 410; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx01x1011111xx |
+ fcvtzu. */ |
+ return 428; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx11xx01110xxx |
+ addv. */ |
+ return 30; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111011xxx11xx01111xxx |
+ addp. */ |
+ return 432; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 19) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111100xx0x1xx011100xx |
+ sqabs. */ |
+ return 151; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111100xx0x1xx011101xx |
+ sqneg. */ |
+ return 185; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111100xx1x1xx01110xxx |
+ aesimc. */ |
+ return 536; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111101xxxx1xx01110x0x |
+ fcvtl. */ |
+ return 162; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111101xxxx1xx01110x1x |
+ fcvtl2. */ |
+ return 163; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011110xxxxx1xx0111100x |
+ fminnm. */ |
+ return 641; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011110xxxxx1xx0111101x |
+ sqabs. */ |
+ return 396; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx011110xxxxx1xx011111xx |
+ sqneg. */ |
+ return 414; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 16) & 0x1) == 0) |
+ { |
+ if (((word >> 20) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111110xxx01xx0111x0xx |
+ fabs. */ |
+ return 173; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111110xxx01xx0111x1xx |
+ fneg. */ |
+ return 208; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111110xxx11x001110xxx |
+ fmaxv. */ |
+ return 35; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111110xxx11x001111xxx |
+ fmaxp. */ |
+ return 435; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111110xxx11x101110xxx |
+ fminv. */ |
+ return 37; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111110xxx11x101111xxx |
+ fminp. */ |
+ return 437; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111111xxxx1xx01110xxx |
+ fsqrt. */ |
+ return 214; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0111111xxxx1xx01111xxx |
+ frecpx. */ |
+ return 412; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100000xxxxx1xx011100xx |
+ shadd. */ |
+ return 221; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100000xxxxx1xx011101xx |
+ uhadd. */ |
+ return 261; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100001xxxxx1xx011100xx |
+ add. */ |
+ return 236; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100001xxxxx1xx011101xx |
+ sub. */ |
+ return 276; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100010xxxxx1xx011100xx |
+ sshl. */ |
+ return 228; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100010xxxxx1xx011101xx |
+ ushl. */ |
+ return 268; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100011xxxxx1x0011100xx |
+ fmaxnm. */ |
+ return 244; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100011xxxxx1x0011101xx |
+ fmaxnmp. */ |
+ return 283; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100011xxxxx1x1011100xx |
+ fminnm. */ |
+ return 253; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100011xxxxx1x1011101xx |
+ fminnmp. */ |
+ return 292; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100100xxxxx1xx011100xx |
+ shsub. */ |
+ return 224; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100100xxxxx1xx011101xx |
+ uhsub. */ |
+ return 264; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100101xxxxx1xx011100xx |
+ smaxp. */ |
+ return 240; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100101xxxxx1xx011101xx |
+ umaxp. */ |
+ return 280; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100110xxxxx1xx011100xx |
+ smax. */ |
+ return 232; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100110xxxxx1xx011101xx |
+ umax. */ |
+ return 272; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100111xxxxx1x0011100xx |
+ fcmeq. */ |
+ return 248; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100111xxxxx1x0011101xx |
+ fcmge. */ |
+ return 286; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100111xxxxx1x101110xxx |
+ fcmgt. */ |
+ return 294; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101000xxxxx1xx011100xx |
+ srhadd. */ |
+ return 223; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101000xxxxx1xx011101xx |
+ urhadd. */ |
+ return 263; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101001xxxxx1xx011100xx |
+ mla. */ |
+ return 238; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101001xxxxx1xx011101xx |
+ mls. */ |
+ return 278; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101010xxxxx1xx011100xx |
+ srshl. */ |
+ return 230; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101010xxxxx1xx011101xx |
+ urshl. */ |
+ return 270; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101011xxxxx1x0011100xx |
+ fadd. */ |
+ return 246; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101011xxxxx1x0011101xx |
+ faddp. */ |
+ return 284; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101011xxxxx1x1011100xx |
+ fsub. */ |
+ return 255; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101011xxxxx1x1011101xx |
+ fabd. */ |
+ return 293; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101100xxxxx1xx011100xx |
+ cmgt. */ |
+ return 226; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101100xxxxx1xx011101xx |
+ cmhi. */ |
+ return 266; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101101xxxxx1xx011100xx |
+ sqdmulh. */ |
+ return 242; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101101xxxxx1xx011101xx |
+ sqrdmulh. */ |
+ return 282; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101110xxxxx1xx011100xx |
+ sabd. */ |
+ return 234; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101110xxxxx1xx011101xx |
+ uabd. */ |
+ return 274; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101111xxxxx1x0011100xx |
+ fmax. */ |
+ return 249; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101111xxxxx1x0011101xx |
+ fmaxp. */ |
+ return 288; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101111xxxxx1x1011100xx |
+ fmin. */ |
+ return 256; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101111xxxxx1x1011101xx |
+ fminp. */ |
+ return 296; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 4) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxx0xxxxx10xxxxxxxxx1xx0111100x |
+ fccmp. */ |
+ return 616; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxx1xxxxx10xxxxxxxxx1xx0111100x |
+ fccmpe. */ |
+ return 617; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10000xxxxxx1xx0111101x |
+ add. */ |
+ return 451; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10001xxxxxx1xx0111101x |
+ sshl. */ |
+ return 449; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1001xxxxxxx1xx0111101x |
+ fcmeq. */ |
+ return 444; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1010xxxxxxx1xx0111101x |
+ srshl. */ |
+ return 450; |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1011x0xxxxx1xx0111101x |
+ cmgt. */ |
+ return 447; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1011x1xxxxx1xx0111101x |
+ sqdmulh. */ |
+ return 442; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10000xxxxxx1xx011111xx |
+ sub. */ |
+ return 467; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10001xxxxxx1xx011111xx |
+ ushl. */ |
+ return 465; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1001xxxxxxx1x0011111xx |
+ fcmge. */ |
+ return 458; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1001xxxxxxx1x1011111xx |
+ fcmgt. */ |
+ return 461; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1010x0xxxxx1xx011111xx |
+ urshl. */ |
+ return 466; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1010x1xxxxx1xx011111xx |
+ fabd. */ |
+ return 460; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1011x0xxxxx1xx011111xx |
+ cmhi. */ |
+ return 463; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1011x1xxxxx1xx011111xx |
+ sqrdmulh. */ |
+ return 457; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110000xxxxx1xx011100xx |
+ sqadd. */ |
+ return 222; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110000xxxxx1xx011101xx |
+ uqadd. */ |
+ return 262; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110001xxxxx1xx011100xx |
+ cmtst. */ |
+ return 237; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110001xxxxx1xx011101xx |
+ cmeq. */ |
+ return 277; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110010xxxxx1xx011100xx |
+ sqshl. */ |
+ return 229; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110010xxxxx1xx011101xx |
+ uqshl. */ |
+ return 269; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110011xxxxx1x001110xxx |
+ fmla. */ |
+ return 245; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110011xxxxx1x101110xxx |
+ fmls. */ |
+ return 254; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110100xxxxx1xx011100xx |
+ sqsub. */ |
+ return 225; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110100xxxxx1xx011101xx |
+ uqsub. */ |
+ return 265; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110101xxxxx1xx011100xx |
+ sminp. */ |
+ return 241; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110101xxxxx1xx011101xx |
+ uminp. */ |
+ return 281; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110110xxxxx1xx011100xx |
+ smin. */ |
+ return 233; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110110xxxxx1xx011101xx |
+ umin. */ |
+ return 273; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110111xxxxx1x001110xxx |
+ facge. */ |
+ return 287; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110111xxxxx1x101110xxx |
+ facgt. */ |
+ return 295; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 22) & 0x1) == 0) |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx100011100xx |
+ and. */ |
+ return 251; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx100011101xx |
+ eor. */ |
+ return 290; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx101011100xx |
+ orr. */ |
+ return 258; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx101011101xx |
+ bit. */ |
+ return 297; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx110011100xx |
+ bic. */ |
+ return 252; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx110011101xx |
+ bsl. */ |
+ return 291; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx111011100xx |
+ orn. */ |
+ return 260; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111000xxxxx111011101xx |
+ bif. */ |
+ return 298; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111001xxxxx1xx011100xx |
+ mul. */ |
+ return 239; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111001xxxxx1xx011101xx |
+ pmul. */ |
+ return 279; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111010xxxxx1xx011100xx |
+ sqrshl. */ |
+ return 231; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111010xxxxx1xx011101xx |
+ uqrshl. */ |
+ return 271; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111011xxxxx1xx011100xx |
+ fmulx. */ |
+ return 247; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111011xxxxx1xx011101xx |
+ fmul. */ |
+ return 285; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111100xxxxx1xx011100xx |
+ cmge. */ |
+ return 227; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111100xxxxx1xx011101xx |
+ cmhs. */ |
+ return 267; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111101xxxxx1xx01110xxx |
+ addp. */ |
+ return 243; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111110xxxxx1xx011100xx |
+ saba. */ |
+ return 235; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111110xxxxx1xx011101xx |
+ uaba. */ |
+ return 275; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111111xxxxx1x0011100xx |
+ frecps. */ |
+ return 250; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111111xxxxx1x0011101xx |
+ fdiv. */ |
+ return 289; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx111111xxxxx1x101110xxx |
+ frsqrts. */ |
+ return 257; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11xxxxxxxxx1xx0111100x |
+ fcsel. */ |
+ return 648; |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110000xxxxx1xx0111101x |
+ sqadd. */ |
+ return 438; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110001xxxxx1xx0111101x |
+ cmtst. */ |
+ return 452; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11001xxxxxx1xx0111101x |
+ sqshl. */ |
+ return 440; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1101xxxxxxx1xx0111101x |
+ sqsub. */ |
+ return 439; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x0xxxxx1xx0111101x |
+ sqrshl. */ |
+ return 441; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x1xxxxx1xx0111101x |
+ fmulx. */ |
+ return 443; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11110xxxxxx1xx0111101x |
+ cmge. */ |
+ return 448; |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11111xxxxxx1x00111101x |
+ frecps. */ |
+ return 445; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11111xxxxxx1x10111101x |
+ frsqrts. */ |
+ return 446; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110000xxxxx1xx011111xx |
+ uqadd. */ |
+ return 453; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110001xxxxx1xx011111xx |
+ cmeq. */ |
+ return 468; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11001xxxxxx1xx011111xx |
+ uqshl. */ |
+ return 455; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11010xxxxxx1xx011111xx |
+ uqsub. */ |
+ return 454; |
+ } |
+ else |
+ { |
+ if (((word >> 23) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11011xxxxxx1x0011111xx |
+ facge. */ |
+ return 459; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11011xxxxxx1x1011111xx |
+ facgt. */ |
+ return 462; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110xxxxxxx1xx011111xx |
+ uqrshl. */ |
+ return 456; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1111xxxxxxx1xx011111xx |
+ cmhs. */ |
+ return 464; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 15) & 0x1) == 0) |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0000xxxxxxxx11110xxx |
+ mla. */ |
+ return 110; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0010xxxxxxxx11110xxx |
+ mls. */ |
+ return 113; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0100xxxxxxxx1111000x |
+ smlal. */ |
+ return 92; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0100xxxxxxxx1111001x |
+ smlal2. */ |
+ return 93; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0100xxxxxxxx1111010x |
+ umlal. */ |
+ return 111; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0100xxxxxxxx1111011x |
+ umlal2. */ |
+ return 112; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0110xxxxxxxx1111000x |
+ smlsl. */ |
+ return 96; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0110xxxxxxxx1111001x |
+ smlsl2. */ |
+ return 97; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0110xxxxxxxx1111010x |
+ umlsl. */ |
+ return 114; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0110xxxxxxxx1111011x |
+ umlsl2. */ |
+ return 115; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1000xxxxxxxx11110xxx |
+ fmla. */ |
+ return 107; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1010xxxxxxxx11110xxx |
+ fmls. */ |
+ return 108; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1100xxxxxxxx11110x0x |
+ sqdmlal. */ |
+ return 94; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1100xxxxxxxx11110x1x |
+ sqdmlal2. */ |
+ return 95; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1110xxxxxxxx11110x0x |
+ sqdmlsl. */ |
+ return 98; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1110xxxxxxxx11110x1x |
+ sqdmlsl2. */ |
+ return 99; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x0xx0xxxxxxxx111100xx |
+ movi. */ |
+ return 120; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x0xx0xxxxxxxx111101xx |
+ mvni. */ |
+ return 127; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x1xx0xxxxxxxx111100xx |
+ orr. */ |
+ return 121; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x1xx0xxxxxxxx111101xx |
+ bic. */ |
+ return 128; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx0xx1111100x |
+ fmadd. */ |
+ return 643; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx0xxxxx1xx1111100x |
+ fnmadd. */ |
+ return 645; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0xx000xxxxxxxx1111101x |
+ fmla. */ |
+ return 351; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0xx010xxxxxxxx1111101x |
+ fmls. */ |
+ return 352; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0xx100xxxxxxxx1111101x |
+ sqdmlal. */ |
+ return 346; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0xx110xxxxxxxx1111101x |
+ sqdmlsl. */ |
+ return 347; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x00x0xxxxxxxx1111101x |
+ sshr. */ |
+ return 469; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x01x0xxxxxxxx1111101x |
+ srshr. */ |
+ return 471; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x1000xxxxxxxx1111101x |
+ ssra. */ |
+ return 470; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x1010xxxxxxxx1111101x |
+ shl. */ |
+ return 473; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x1100xxxxxxxx1111101x |
+ srsra. */ |
+ return 472; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1x1110xxxxxxxx1111101x |
+ sqshl. */ |
+ return 474; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx0000xxxxxxxx111111xx |
+ ushr. */ |
+ return 479; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx0010xxxxxxxx111111xx |
+ sri. */ |
+ return 483; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx0100xxxxxxxx111111xx |
+ urshr. */ |
+ return 481; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx0110xxxxxxxx111111xx |
+ sqshlu. */ |
+ return 485; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx1000xxxxxxxx111111xx |
+ usra. */ |
+ return 480; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx1010xxxxxxxx111111xx |
+ sli. */ |
+ return 484; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx1100xxxxxxxx111111xx |
+ ursra. */ |
+ return 482; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxx1110xxxxxxxx111111xx |
+ uqshl. */ |
+ return 486; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 28) & 0x1) == 0) |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0001xxxxxxxx11110xxx |
+ mul. */ |
+ return 100; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0011xxxxxxxx11110xxx |
+ sqdmulh. */ |
+ return 105; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x01x1xxxxxxxx1111000x |
+ smull. */ |
+ return 101; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x01x1xxxxxxxx1111001x |
+ smull2. */ |
+ return 102; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x01x1xxxxxxxx1111010x |
+ umull. */ |
+ return 116; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x01x1xxxxxxxx1111011x |
+ umull2. */ |
+ return 117; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1001xxxxxxxx111100xx |
+ fmul. */ |
+ return 109; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1001xxxxxxxx111101xx |
+ fmulx. */ |
+ return 118; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1011xxxxxxxx11110xxx |
+ sqrdmulh. */ |
+ return 106; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x11x1xxxxxxxx11110x0x |
+ sqdmull. */ |
+ return 103; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x11x1xxxxxxxx11110x1x |
+ sqdmull2. */ |
+ return 104; |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100x01xxxxxxxx111100xx |
+ movi. */ |
+ return 122; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100x01xxxxxxxx111101xx |
+ mvni. */ |
+ return 129; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101x01xxxxxxxx111100xx |
+ orr. */ |
+ return 123; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101x01xxxxxxxx111101xx |
+ bic. */ |
+ return 130; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10x011xxxxxxxx111100xx |
+ movi. */ |
+ return 124; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx10x011xxxxxxxx111101xx |
+ mvni. */ |
+ return 131; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100111xxxxxxxx111100xx |
+ movi. */ |
+ return 125; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100111xxxxxxxx111101xx |
+ movi. */ |
+ return 132; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101111xxxxxxxx111100xx |
+ fmov. */ |
+ return 126; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101111xxxxxxxx111101xx |
+ fmov. */ |
+ return 134; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110xx1xxxxxxxx1111000x |
+ rshrn. */ |
+ return 307; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110xx1xxxxxxxx1111001x |
+ rshrn2. */ |
+ return 308; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110xx1xxxxxxxx1111010x |
+ sqrshrun. */ |
+ return 329; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110xx1xxxxxxxx1111011x |
+ sqrshrun2. */ |
+ return 330; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x1xxxxxxxx1111000x |
+ sqrshrn. */ |
+ return 311; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x1xxxxxxxx1111001x |
+ sqrshrn2. */ |
+ return 312; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x1xxxxxxxx1111010x |
+ uqrshrn. */ |
+ return 333; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x1xxxxxxxx1111011x |
+ uqrshrn2. */ |
+ return 334; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1111x1xxxxxxxx111100xx |
+ fcvtzs. */ |
+ return 318; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1111x1xxxxxxxx111101xx |
+ fcvtzu. */ |
+ return 340; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 29) & 0x1) == 0) |
+ { |
+ if (((word >> 30) & 0x1) == 0) |
+ { |
+ if (((word >> 21) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx0xx1111100x |
+ fmsub. */ |
+ return 644; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxxxxxxx1xxxxx1xx1111100x |
+ fnmsub. */ |
+ return 646; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x0xx1xxxxxxxx1111101x |
+ sqdmulh. */ |
+ return 349; |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ if (((word >> 14) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1001xxxxxxxx1111101x |
+ fmul. */ |
+ return 353; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x1011xxxxxxxx1111101x |
+ sqrdmulh. */ |
+ return 350; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0x11x1xxxxxxxx1111101x |
+ sqdmull. */ |
+ return 348; |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx100xx1xxxxxxxx1111101x |
+ scvtf. */ |
+ return 477; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101xx1xxxxxxxx1111101x |
+ sqshrn. */ |
+ return 475; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11x0x1xxxxxxxx1111101x |
+ sqrshrn. */ |
+ return 476; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx11x1x1xxxxxxxx1111101x |
+ fcvtzs. */ |
+ return 478; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 10) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx0xxxx1xxxxxxxx111111xx |
+ fmulx. */ |
+ return 354; |
+ } |
+ else |
+ { |
+ if (((word >> 11) & 0x1) == 0) |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1000x1xxxxxxxx111111xx |
+ sqshrun. */ |
+ return 487; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1001x1xxxxxxxx111111xx |
+ ucvtf. */ |
+ return 491; |
+ } |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx101xx1xxxxxxxx111111xx |
+ uqshrn. */ |
+ return 489; |
+ } |
+ } |
+ else |
+ { |
+ if (((word >> 12) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx110xx1xxxxxxxx111111xx |
+ sqrshrun. */ |
+ return 488; |
+ } |
+ else |
+ { |
+ if (((word >> 13) & 0x1) == 0) |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1110x1xxxxxxxx111111xx |
+ uqrshrn. */ |
+ return 490; |
+ } |
+ else |
+ { |
+ /* 33222222222211111111110000000000 |
+ 10987654321098765432109876543210 |
+ xxxxxxxxxx1111x1xxxxxxxx111111xx |
+ fcvtzu. */ |
+ return 492; |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+ } |
+} |
+ |
+/* Lookup opcode WORD in the opcode table. N.B. all alias |
+ opcodes are ignored here. */ |
+ |
+const aarch64_opcode * |
+aarch64_opcode_lookup (uint32_t word) |
+{ |
+ return aarch64_opcode_table + aarch64_opcode_lookup_1 (word); |
+} |
+ |
+const aarch64_opcode * |
+aarch64_find_next_opcode (const aarch64_opcode *opcode) |
+{ |
+ /* Use the index as the key to locate the next opcode. */ |
+ int key = opcode - aarch64_opcode_table; |
+ int value; |
+ switch (key) |
+ { |
+ case 739: value = 743; break; /* stnp --> stp. */ |
+ case 743: return NULL; /* stp --> NULL. */ |
+ case 740: value = 744; break; /* ldnp --> ldp. */ |
+ case 744: return NULL; /* ldp --> NULL. */ |
+ case 355: value = 356; break; /* st4 --> st1. */ |
+ case 356: value = 357; break; /* st1 --> st2. */ |
+ case 357: value = 358; break; /* st2 --> st3. */ |
+ case 358: return NULL; /* st3 --> NULL. */ |
+ case 363: value = 364; break; /* st4 --> st1. */ |
+ case 364: value = 365; break; /* st1 --> st2. */ |
+ case 365: value = 366; break; /* st2 --> st3. */ |
+ case 366: return NULL; /* st3 --> NULL. */ |
+ case 359: value = 360; break; /* ld4 --> ld1. */ |
+ case 360: value = 361; break; /* ld1 --> ld2. */ |
+ case 361: value = 362; break; /* ld2 --> ld3. */ |
+ case 362: return NULL; /* ld3 --> NULL. */ |
+ case 375: value = 377; break; /* ld1 --> ld1r. */ |
+ case 377: return NULL; /* ld1r --> NULL. */ |
+ case 379: value = 381; break; /* ld2 --> ld2r. */ |
+ case 381: return NULL; /* ld2r --> NULL. */ |
+ case 376: value = 378; break; /* ld3 --> ld3r. */ |
+ case 378: return NULL; /* ld3r --> NULL. */ |
+ case 380: value = 382; break; /* ld4 --> ld4r. */ |
+ case 382: return NULL; /* ld4r --> NULL. */ |
+ case 367: value = 368; break; /* ld4 --> ld1. */ |
+ case 368: value = 369; break; /* ld1 --> ld2. */ |
+ case 369: value = 370; break; /* ld2 --> ld3. */ |
+ case 370: return NULL; /* ld3 --> NULL. */ |
+ case 387: value = 389; break; /* ld1 --> ld1r. */ |
+ case 389: return NULL; /* ld1r --> NULL. */ |
+ case 388: value = 390; break; /* ld3 --> ld3r. */ |
+ case 390: return NULL; /* ld3r --> NULL. */ |
+ case 391: value = 393; break; /* ld2 --> ld2r. */ |
+ case 393: return NULL; /* ld2r --> NULL. */ |
+ case 392: value = 394; break; /* ld4 --> ld4r. */ |
+ case 394: return NULL; /* ld4r --> NULL. */ |
+ case 120: value = 299; break; /* movi --> sshr. */ |
+ case 299: value = 301; break; /* sshr --> srshr. */ |
+ case 301: return NULL; /* srshr --> NULL. */ |
+ case 127: value = 319; break; /* mvni --> ushr. */ |
+ case 319: value = 321; break; /* ushr --> urshr. */ |
+ case 321: value = 323; break; /* urshr --> sri. */ |
+ case 323: value = 325; break; /* sri --> sqshlu. */ |
+ case 325: return NULL; /* sqshlu --> NULL. */ |
+ case 121: value = 300; break; /* orr --> ssra. */ |
+ case 300: value = 302; break; /* ssra --> srsra. */ |
+ case 302: value = 303; break; /* srsra --> shl. */ |
+ case 303: value = 304; break; /* shl --> sqshl. */ |
+ case 304: return NULL; /* sqshl --> NULL. */ |
+ case 128: value = 320; break; /* bic --> usra. */ |
+ case 320: value = 322; break; /* usra --> ursra. */ |
+ case 322: value = 324; break; /* ursra --> sli. */ |
+ case 324: value = 326; break; /* sli --> uqshl. */ |
+ case 326: return NULL; /* uqshl --> NULL. */ |
+ case 122: value = 305; break; /* movi --> shrn. */ |
+ case 305: value = 306; break; /* shrn --> shrn2. */ |
+ case 306: value = 313; break; /* shrn2 --> sshll. */ |
+ case 313: value = 315; break; /* sshll --> sshll2. */ |
+ case 315: return NULL; /* sshll2 --> NULL. */ |
+ case 129: value = 327; break; /* mvni --> sqshrun. */ |
+ case 327: value = 328; break; /* sqshrun --> sqshrun2. */ |
+ case 328: value = 335; break; /* sqshrun2 --> ushll. */ |
+ case 335: value = 337; break; /* ushll --> ushll2. */ |
+ case 337: return NULL; /* ushll2 --> NULL. */ |
+ case 123: value = 309; break; /* orr --> sqshrn. */ |
+ case 309: value = 310; break; /* sqshrn --> sqshrn2. */ |
+ case 310: return NULL; /* sqshrn2 --> NULL. */ |
+ case 130: value = 331; break; /* bic --> uqshrn. */ |
+ case 331: value = 332; break; /* uqshrn --> uqshrn2. */ |
+ case 332: return NULL; /* uqshrn2 --> NULL. */ |
+ case 125: value = 317; break; /* movi --> scvtf. */ |
+ case 317: return NULL; /* scvtf --> NULL. */ |
+ case 132: value = 133; break; /* movi --> movi. */ |
+ case 133: value = 339; break; /* movi --> ucvtf. */ |
+ case 339: return NULL; /* ucvtf --> NULL. */ |
+ default: return NULL; |
+ } |
+ |
+ return aarch64_opcode_table + value; |
+} |
+ |
+const aarch64_opcode * |
+aarch64_find_alias_opcode (const aarch64_opcode *opcode) |
+{ |
+ /* Use the index as the key to locate the alias opcode. */ |
+ int key = opcode - aarch64_opcode_table; |
+ int value; |
+ switch (key) |
+ { |
+ case 2: value = 3; break; /* sbc --> ngc. */ |
+ case 4: value = 5; break; /* sbcs --> ngcs. */ |
+ case 7: value = 8; break; /* adds --> cmn. */ |
+ case 10: value = 11; break; /* subs --> cmp. */ |
+ case 12: value = 13; break; /* add --> mov. */ |
+ case 14: value = 15; break; /* adds --> cmn. */ |
+ case 17: value = 18; break; /* subs --> cmp. */ |
+ case 20: value = 21; break; /* adds --> cmn. */ |
+ case 22: value = 23; break; /* sub --> neg. */ |
+ case 24: value = 26; break; /* subs --> negs. */ |
+ case 138: value = 139; break; /* umov --> mov. */ |
+ case 140: value = 141; break; /* ins --> mov. */ |
+ case 142: value = 143; break; /* ins --> mov. */ |
+ case 203: value = 204; break; /* not --> mvn. */ |
+ case 258: value = 259; break; /* orr --> mov. */ |
+ case 313: value = 314; break; /* sshll --> sxtl. */ |
+ case 315: value = 316; break; /* sshll2 --> sxtl2. */ |
+ case 335: value = 336; break; /* ushll --> uxtl. */ |
+ case 337: value = 338; break; /* ushll2 --> uxtl2. */ |
+ case 430: value = 431; break; /* dup --> mov. */ |
+ case 493: value = 498; break; /* sbfm --> sxtw. */ |
+ case 500: value = 502; break; /* bfm --> bfxil. */ |
+ case 503: value = 507; break; /* ubfm --> uxth. */ |
+ case 525: value = 527; break; /* csinc --> cset. */ |
+ case 528: value = 530; break; /* csinv --> csetm. */ |
+ case 531: value = 532; break; /* csneg --> cneg. */ |
+ case 556: value = 557; break; /* lslv --> lsl. */ |
+ case 558: value = 559; break; /* lsrv --> lsr. */ |
+ case 560: value = 561; break; /* asrv --> asr. */ |
+ case 562: value = 563; break; /* rorv --> ror. */ |
+ case 572: value = 573; break; /* madd --> mul. */ |
+ case 574: value = 575; break; /* msub --> mneg. */ |
+ case 576: value = 577; break; /* smaddl --> smull. */ |
+ case 578: value = 579; break; /* smsubl --> smnegl. */ |
+ case 581: value = 582; break; /* umaddl --> umull. */ |
+ case 583: value = 584; break; /* umsubl --> umnegl. */ |
+ case 594: value = 595; break; /* extr --> ror. */ |
+ case 693: value = 695; break; /* sturb --> strb. */ |
+ case 694: value = 696; break; /* ldurb --> ldrb. */ |
+ case 697: value = 698; break; /* ldursb --> ldrsb. */ |
+ case 699: value = 701; break; /* stur --> str. */ |
+ case 700: value = 702; break; /* ldur --> ldr. */ |
+ case 703: value = 705; break; /* sturh --> strh. */ |
+ case 704: value = 706; break; /* ldurh --> ldrh. */ |
+ case 707: value = 708; break; /* ldursh --> ldrsh. */ |
+ case 709: value = 711; break; /* stur --> str. */ |
+ case 710: value = 712; break; /* ldur --> ldr. */ |
+ case 713: value = 714; break; /* ldursw --> ldrsw. */ |
+ case 715: value = 716; break; /* prfum --> prfm. */ |
+ case 757: value = 758; break; /* and --> bic. */ |
+ case 759: value = 760; break; /* orr --> mov. */ |
+ case 762: value = 763; break; /* ands --> tst. */ |
+ 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. */ |
+ default: return NULL; |
+ } |
+ |
+ return aarch64_opcode_table + value; |
+} |
+ |
+const aarch64_opcode * |
+aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) |
+{ |
+ /* Use the index as the key to locate the next opcode. */ |
+ int key = opcode - aarch64_opcode_table; |
+ int value; |
+ switch (key) |
+ { |
+ case 26: value = 25; break; /* negs --> cmp. */ |
+ case 498: value = 497; break; /* sxtw --> sxth. */ |
+ case 497: value = 496; break; /* sxth --> sxtb. */ |
+ case 496: value = 499; break; /* sxtb --> asr. */ |
+ case 499: value = 495; break; /* asr --> sbfx. */ |
+ case 495: value = 494; break; /* sbfx --> sbfiz. */ |
+ case 502: value = 501; break; /* bfxil --> bfi. */ |
+ case 507: value = 506; break; /* uxth --> uxtb. */ |
+ case 506: value = 509; break; /* uxtb --> lsr. */ |
+ case 509: value = 508; break; /* lsr --> lsl. */ |
+ case 508: value = 505; break; /* lsl --> ubfx. */ |
+ case 505: value = 504; break; /* ubfx --> ubfiz. */ |
+ 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. */ |
+ default: return NULL; |
+ } |
+ |
+ return aarch64_opcode_table + value; |
+} |
+ |
+int |
+aarch64_extract_operand (const aarch64_operand *self, |
+ aarch64_opnd_info *info, |
+ aarch64_insn code, const aarch64_inst *inst) |
+{ |
+ /* Use the index as the key. */ |
+ int key = self - aarch64_operands; |
+ switch (key) |
+ { |
+ case 1: |
+ case 2: |
+ case 3: |
+ case 4: |
+ case 5: |
+ case 6: |
+ case 7: |
+ case 9: |
+ case 10: |
+ case 13: |
+ case 14: |
+ case 15: |
+ case 16: |
+ case 18: |
+ case 19: |
+ case 20: |
+ case 21: |
+ case 22: |
+ case 23: |
+ case 24: |
+ case 25: |
+ case 26: |
+ case 34: |
+ case 35: |
+ 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); |
+ case 12: |
+ return aarch64_ext_reg_shifted (self, info, code, inst); |
+ case 17: |
+ 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); |
+ case 31: |
+ return aarch64_ext_ldst_reglist (self, info, code, inst); |
+ case 32: |
+ return aarch64_ext_ldst_reglist_r (self, info, code, inst); |
+ case 33: |
+ return aarch64_ext_ldst_elemlist (self, info, code, inst); |
+ case 36: |
+ case 45: |
+ case 46: |
+ case 47: |
+ case 48: |
+ case 49: |
+ case 50: |
+ case 51: |
+ case 52: |
+ case 53: |
+ case 54: |
+ case 55: |
+ case 56: |
+ case 57: |
+ case 65: |
+ case 66: |
+ case 67: |
+ case 68: |
+ case 69: |
+ return aarch64_ext_imm (self, info, code, inst); |
+ case 37: |
+ case 38: |
+ return aarch64_ext_advsimd_imm_shift (self, info, code, inst); |
+ case 39: |
+ case 40: |
+ case 41: |
+ return aarch64_ext_advsimd_imm_modified (self, info, code, inst); |
+ case 42: |
+ 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); |
+ case 60: |
+ return aarch64_ext_imm_half (self, info, code, inst); |
+ case 61: |
+ return aarch64_ext_fbits (self, info, code, inst); |
+ case 63: |
+ case 64: |
+ return aarch64_ext_cond (self, info, code, inst); |
+ case 70: |
+ case 76: |
+ return aarch64_ext_addr_simple (self, info, code, inst); |
+ case 71: |
+ return aarch64_ext_addr_regoff (self, info, code, inst); |
+ case 72: |
+ case 73: |
+ case 74: |
+ return aarch64_ext_addr_simm (self, info, code, inst); |
+ case 75: |
+ return aarch64_ext_addr_uimm12 (self, info, code, inst); |
+ case 77: |
+ return aarch64_ext_simd_addr_post (self, info, code, inst); |
+ case 78: |
+ return aarch64_ext_sysreg (self, info, code, inst); |
+ case 79: |
+ return aarch64_ext_pstatefield (self, info, code, inst); |
+ case 80: |
+ case 81: |
+ case 82: |
+ case 83: |
+ return aarch64_ext_sysins_op (self, info, code, inst); |
+ case 84: |
+ case 85: |
+ return aarch64_ext_barrier (self, info, code, inst); |
+ case 86: |
+ return aarch64_ext_prfop (self, info, code, inst); |
+ default: assert (0); abort (); |
+ } |
+} |