X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Faarch64-dis-2.c;h=5772364a326d32565407a87d3b20e26e03d31edd;hb=ec40e91c77ecf4ca853577aa7d68bdaf5aeedfd5;hp=faead8e773718ad1d2b43e1952164ae3db2f1d35;hpb=e6025b546c21b280ef05201b065f07335ee10e2e;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index faead8e773..5772364a32 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -1,5 +1,5 @@ /* This file is automatically generated by aarch64-gen. Do not edit! */ -/* Copyright (C) 2012-2018 Free Software Foundation, Inc. +/* Copyright (C) 2012-2020 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of the GNU opcodes library. @@ -34,21 +34,32 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 24) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 28) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0xxx0000xxxxxxxxxxxxxxxxxxxxxxxx - adr. */ - return 1183; + xxx00000xxxxxxxxxxxxxxxxxxxxxxxx + udf. */ + return 754; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1xxx0000xxxxxxxxxxxxxxxxxxxxxxxx - adrp. */ - return 1184; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0xx10000xxxxxxxxxxxxxxxxxxxxxxxx + adr. */ + return 1187; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1xx10000xxxxxxxxxxxxxxxxxxxxxxxx + adrp. */ + return 1188; + } } } else @@ -115,7 +126,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x000xxxxx0xxxxxxxxxxxxxxx stxrb. */ - return 936; + return 937; } else { @@ -123,7 +134,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x000xxxxx0xxxxxxxxxxxxxxx stxrh. */ - return 942; + return 943; } } else @@ -132,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x000xxxxx0xxxxxxxxxxxxxxx stxr. */ - return 948; + return 949; } } else @@ -143,7 +154,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x00100x001xxxxx0xxxxxxxxxxxxxxx casp. */ - return 1018; + return 1022; } else { @@ -151,7 +162,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x001xxxxx0xxxxxxxxxxxxxxx stxp. */ - return 950; + return 951; } } } @@ -167,7 +178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x000xxxxx1xxxxxxxxxxxxxxx stlxrb. */ - return 937; + return 938; } else { @@ -175,7 +186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x000xxxxx1xxxxxxxxxxxxxxx stlxrh. */ - return 943; + return 944; } } else @@ -184,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x000xxxxx1xxxxxxxxxxxxxxx stlxr. */ - return 949; + return 950; } } else @@ -195,7 +206,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x00100x001xxxxx1xxxxxxxxxxxxxxx caspl. */ - return 1020; + return 1024; } else { @@ -203,7 +214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x001xxxxx1xxxxxxxxxxxxxxx stlxp. */ - return 951; + return 952; } } } @@ -216,7 +227,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010100x00xxxxxxxxxxxxxxxxxxxxxx stnp. */ - return 967; + return 971; } else { @@ -224,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110100x00xxxxxxxxxxxxxxxxxxxxxx stgp. */ - return 976; + return 980; } } } @@ -242,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x00100x100xxxxx0xxxxxxxxxxxxxxx stllrb. */ - return 965; + return 969; } else { @@ -250,7 +261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x100xxxxx0xxxxxxxxxxxxxxx stllr. */ - return 964; + return 968; } } else @@ -263,7 +274,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x101xxxxx0xxxxxxxxxxxxxxx casb. */ - return 1006; + return 1010; } else { @@ -271,7 +282,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x101xxxxx0xxxxxxxxxxxxxxx cash. */ - return 1007; + return 1011; } } else @@ -280,7 +291,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x101xxxxx0xxxxxxxxxxxxxxx cas. */ - return 1008; + return 1012; } } } @@ -296,7 +307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x100xxxxx1xxxxxxxxxxxxxxx stlrb. */ - return 940; + return 941; } else { @@ -304,7 +315,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x100xxxxx1xxxxxxxxxxxxxxx stlrh. */ - return 946; + return 947; } } else @@ -313,7 +324,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x100xxxxx1xxxxxxxxxxxxxxx stlr. */ - return 956; + return 957; } } else @@ -326,7 +337,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x101xxxxx1xxxxxxxxxxxxxxx caslb. */ - return 1010; + return 1014; } else { @@ -334,7 +345,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x101xxxxx1xxxxxxxxxxxxxxx caslh. */ - return 1013; + return 1017; } } else @@ -343,7 +354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x101xxxxx1xxxxxxxxxxxxxxx casl. */ - return 1016; + return 1020; } } } @@ -356,7 +367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010100x10xxxxxxxxxxxxxxxxxxxxxx stp. */ - return 977; + return 981; } else { @@ -364,7 +375,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110100x10xxxxxxxxxxxxxxxxxxxxxx stgp. */ - return 982; + return 986; } } } @@ -387,7 +398,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x010xxxxx0xxxxxxxxxxxxxxx ldxrb. */ - return 938; + return 939; } else { @@ -395,7 +406,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x010xxxxx0xxxxxxxxxxxxxxx ldxrh. */ - return 944; + return 945; } } else @@ -404,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x010xxxxx0xxxxxxxxxxxxxxx ldxr. */ - return 952; + return 953; } } else @@ -415,7 +426,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x00100x011xxxxx0xxxxxxxxxxxxxxx caspa. */ - return 1019; + return 1023; } else { @@ -423,7 +434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x011xxxxx0xxxxxxxxxxxxxxx ldxp. */ - return 954; + return 955; } } } @@ -439,7 +450,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x010xxxxx1xxxxxxxxxxxxxxx ldaxrb. */ - return 939; + return 940; } else { @@ -447,7 +458,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x010xxxxx1xxxxxxxxxxxxxxx ldaxrh. */ - return 945; + return 946; } } else @@ -456,7 +467,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x010xxxxx1xxxxxxxxxxxxxxx ldaxr. */ - return 953; + return 954; } } else @@ -467,7 +478,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x00100x011xxxxx1xxxxxxxxxxxxxxx caspal. */ - return 1021; + return 1025; } else { @@ -475,7 +486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x011xxxxx1xxxxxxxxxxxxxxx ldaxp. */ - return 955; + return 956; } } } @@ -488,7 +499,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010100x01xxxxxxxxxxxxxxxxxxxxxx ldnp. */ - return 968; + return 972; } else { @@ -496,7 +507,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110100x01xxxxxxxxxxxxxxxxxxxxxx ldpsw. */ - return 975; + return 979; } } } @@ -516,7 +527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x110xxxxx0xxxxxxxxxxxxxxx ldlarb. */ - return 962; + return 966; } else { @@ -524,7 +535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x110xxxxx0xxxxxxxxxxxxxxx ldlarh. */ - return 963; + return 967; } } else @@ -533,7 +544,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x110xxxxx0xxxxxxxxxxxxxxx ldlar. */ - return 961; + return 965; } } else @@ -546,7 +557,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x111xxxxx0xxxxxxxxxxxxxxx casab. */ - return 1009; + return 1013; } else { @@ -554,7 +565,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x111xxxxx0xxxxxxxxxxxxxxx casah. */ - return 1012; + return 1016; } } else @@ -563,7 +574,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x111xxxxx0xxxxxxxxxxxxxxx casa. */ - return 1015; + return 1019; } } } @@ -579,7 +590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x110xxxxx1xxxxxxxxxxxxxxx ldarb. */ - return 941; + return 942; } else { @@ -587,7 +598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x110xxxxx1xxxxxxxxxxxxxxx ldarh. */ - return 947; + return 948; } } else @@ -596,7 +607,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x110xxxxx1xxxxxxxxxxxxxxx ldar. */ - return 957; + return 958; } } else @@ -609,7 +620,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0000100x111xxxxx1xxxxxxxxxxxxxxx casalb. */ - return 1011; + return 1015; } else { @@ -617,7 +628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0100100x111xxxxx1xxxxxxxxxxxxxxx casalh. */ - return 1014; + return 1018; } } else @@ -626,7 +637,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x00100x111xxxxx1xxxxxxxxxxxxxxx casal. */ - return 1017; + return 1021; } } } @@ -639,7 +650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010100x11xxxxxxxxxxxxxxxxxxxxxx ldp. */ - return 978; + return 982; } else { @@ -647,7 +658,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110100x11xxxxxxxxxxxxxxxxxxxxxx ldpsw. */ - return 981; + return 985; } } } @@ -665,7 +676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x011000xxxxxxxxxxxxxxxxxxxxxxxx ldr. */ - return 983; + return 987; } else { @@ -675,7 +686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011000xxxxxxxxxxxxxxxxxxxxxxxx ldrsw. */ - return 985; + return 989; } else { @@ -683,7 +694,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011000xxxxxxxxxxxxxxxxxxxxxxxx prfm. */ - return 986; + return 990; } } } @@ -707,7 +718,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000000xxxxxxxxx00xxxxxxxxxx sturb. */ - return 921; + return 922; } else { @@ -715,7 +726,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000000xxxxxxxxx00xxxxxxxxxx sturh. */ - return 926; + return 927; } } else @@ -724,7 +735,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000000xxxxxxxxx00xxxxxxxxxx stur. */ - return 929; + return 930; } } else @@ -737,7 +748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000010xxxxxxxxx00xxxxxxxxxx ldurb. */ - return 922; + return 923; } else { @@ -745,7 +756,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000010xxxxxxxxx00xxxxxxxxxx ldurh. */ - return 927; + return 928; } } else @@ -754,7 +765,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000010xxxxxxxxx00xxxxxxxxxx ldur. */ - return 930; + return 931; } } } @@ -768,7 +779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001110001x0xxxxxxxxx00xxxxxxxxxx ldursb. */ - return 923; + return 924; } else { @@ -776,7 +787,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101110001x0xxxxxxxxx00xxxxxxxxxx ldursw. */ - return 931; + return 932; } } else @@ -787,7 +798,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011110001x0xxxxxxxxx00xxxxxxxxxx ldursh. */ - return 928; + return 929; } else { @@ -795,7 +806,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111110001x0xxxxxxxxx00xxxxxxxxxx prfum. */ - return 932; + return 933; } } } @@ -822,7 +833,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxx000000xxxxxxxxxx ldaddb. */ - return 1034; + return 1038; } else { @@ -830,7 +841,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxx000000xxxxxxxxxx ldaddh. */ - return 1035; + return 1039; } } else @@ -839,7 +850,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxx000000xxxxxxxxxx ldadd. */ - return 1036; + return 1040; } } else @@ -852,7 +863,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxx000000xxxxxxxxxx ldaddab. */ - return 1037; + return 1041; } else { @@ -860,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxx000000xxxxxxxxxx ldaddah. */ - return 1040; + return 1044; } } else @@ -869,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxx000000xxxxxxxxxx ldadda. */ - return 1043; + return 1047; } } } @@ -885,7 +896,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxx000000xxxxxxxxxx ldaddlb. */ - return 1038; + return 1042; } else { @@ -893,7 +904,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxx000000xxxxxxxxxx ldaddlh. */ - return 1041; + return 1045; } } else @@ -902,7 +913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxx000000xxxxxxxxxx ldaddl. */ - return 1044; + return 1048; } } else @@ -915,7 +926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxx000000xxxxxxxxxx ldaddalb. */ - return 1039; + return 1043; } else { @@ -923,7 +934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxx000000xxxxxxxxxx ldaddalh. */ - return 1042; + return 1046; } } else @@ -932,7 +943,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxx000000xxxxxxxxxx ldaddal. */ - return 1045; + return 1049; } } } @@ -951,7 +962,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxx100000xxxxxxxxxx swpb. */ - return 1022; + return 1026; } else { @@ -959,7 +970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxx100000xxxxxxxxxx swph. */ - return 1023; + return 1027; } } else @@ -968,7 +979,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxx100000xxxxxxxxxx swp. */ - return 1024; + return 1028; } } else @@ -981,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxx100000xxxxxxxxxx swpab. */ - return 1025; + return 1029; } else { @@ -989,7 +1000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxx100000xxxxxxxxxx swpah. */ - return 1028; + return 1032; } } else @@ -998,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxx100000xxxxxxxxxx swpa. */ - return 1031; + return 1035; } } } @@ -1014,7 +1025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxx100000xxxxxxxxxx swplb. */ - return 1026; + return 1030; } else { @@ -1022,7 +1033,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxx100000xxxxxxxxxx swplh. */ - return 1029; + return 1033; } } else @@ -1031,7 +1042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxx100000xxxxxxxxxx swpl. */ - return 1032; + return 1036; } } else @@ -1044,7 +1055,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxx100000xxxxxxxxxx swpalb. */ - return 1027; + return 1031; } else { @@ -1052,7 +1063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxx100000xxxxxxxxxx swpalh. */ - return 1030; + return 1034; } } else @@ -1061,7 +1072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxx100000xxxxxxxxxx swpal. */ - return 1033; + return 1037; } } } @@ -1083,7 +1094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxx010000xxxxxxxxxx ldsmaxb. */ - return 1082; + return 1086; } else { @@ -1091,7 +1102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxx010000xxxxxxxxxx ldsmaxh. */ - return 1083; + return 1087; } } else @@ -1100,7 +1111,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxx010000xxxxxxxxxx ldsmax. */ - return 1084; + return 1088; } } else @@ -1113,7 +1124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxx010000xxxxxxxxxx ldsmaxab. */ - return 1085; + return 1089; } else { @@ -1121,7 +1132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxx010000xxxxxxxxxx ldsmaxah. */ - return 1088; + return 1092; } } else @@ -1130,7 +1141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxx010000xxxxxxxxxx ldsmaxa. */ - return 1091; + return 1095; } } } @@ -1146,7 +1157,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxx010000xxxxxxxxxx ldsmaxlb. */ - return 1086; + return 1090; } else { @@ -1154,7 +1165,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxx010000xxxxxxxxxx ldsmaxlh. */ - return 1089; + return 1093; } } else @@ -1163,7 +1174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxx010000xxxxxxxxxx ldsmaxl. */ - return 1092; + return 1096; } } else @@ -1176,7 +1187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxx010000xxxxxxxxxx ldsmaxalb. */ - return 1087; + return 1091; } else { @@ -1184,7 +1195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxx010000xxxxxxxxxx ldsmaxalh. */ - return 1090; + return 1094; } } else @@ -1193,7 +1204,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxx010000xxxxxxxxxx ldsmaxal. */ - return 1093; + return 1097; } } } @@ -1208,7 +1219,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000xx1xxxxx110000xxxxxxxxxx ldaprb. */ - return 958; + return 959; } else { @@ -1216,7 +1227,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000xx1xxxxx110000xxxxxxxxxx ldaprh. */ - return 959; + return 960; } } else @@ -1225,7 +1236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000xx1xxxxx110000xxxxxxxxxx ldapr. */ - return 960; + return 961; } } } @@ -1246,7 +1257,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxx01000xxxxxxxxxx ldeorb. */ - return 1058; + return 1062; } else { @@ -1254,7 +1265,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxx01000xxxxxxxxxx ldeorh. */ - return 1059; + return 1063; } } else @@ -1263,7 +1274,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxx01000xxxxxxxxxx ldeor. */ - return 1060; + return 1064; } } else @@ -1276,7 +1287,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxxx01000xxxxxxxxxx ldeorab. */ - return 1061; + return 1065; } else { @@ -1284,7 +1295,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxxx01000xxxxxxxxxx ldeorah. */ - return 1064; + return 1068; } } else @@ -1293,7 +1304,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxxx01000xxxxxxxxxx ldeora. */ - return 1067; + return 1071; } } } @@ -1309,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxx01000xxxxxxxxxx ldeorlb. */ - return 1062; + return 1066; } else { @@ -1317,7 +1328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxx01000xxxxxxxxxx ldeorlh. */ - return 1065; + return 1069; } } else @@ -1326,7 +1337,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxx01000xxxxxxxxxx ldeorl. */ - return 1068; + return 1072; } } else @@ -1339,7 +1350,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxxx01000xxxxxxxxxx ldeoralb. */ - return 1063; + return 1067; } else { @@ -1347,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxxx01000xxxxxxxxxx ldeoralh. */ - return 1066; + return 1070; } } else @@ -1356,7 +1367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxxx01000xxxxxxxxxx ldeoral. */ - return 1069; + return 1073; } } } @@ -1375,7 +1386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxx11000xxxxxxxxxx ldumaxb. */ - return 1106; + return 1110; } else { @@ -1383,7 +1394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxx11000xxxxxxxxxx ldumaxh. */ - return 1107; + return 1111; } } else @@ -1392,7 +1403,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxx11000xxxxxxxxxx ldumax. */ - return 1108; + return 1112; } } else @@ -1405,7 +1416,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxxx11000xxxxxxxxxx ldumaxab. */ - return 1109; + return 1113; } else { @@ -1413,7 +1424,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxxx11000xxxxxxxxxx ldumaxah. */ - return 1112; + return 1116; } } else @@ -1422,7 +1433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxxx11000xxxxxxxxxx ldumaxa. */ - return 1115; + return 1119; } } } @@ -1438,7 +1449,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxx11000xxxxxxxxxx ldumaxlb. */ - return 1110; + return 1114; } else { @@ -1446,7 +1457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxx11000xxxxxxxxxx ldumaxlh. */ - return 1113; + return 1117; } } else @@ -1455,7 +1466,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxx11000xxxxxxxxxx ldumaxl. */ - return 1116; + return 1120; } } else @@ -1468,7 +1479,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxxx11000xxxxxxxxxx ldumaxalb. */ - return 1111; + return 1115; } else { @@ -1476,7 +1487,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxxx11000xxxxxxxxxx ldumaxalh. */ - return 1114; + return 1118; } } else @@ -1485,7 +1496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxxx11000xxxxxxxxxx ldumaxal. */ - return 1117; + return 1121; } } } @@ -1510,7 +1521,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxx00100xxxxxxxxxx ldclrb. */ - return 1046; + return 1050; } else { @@ -1518,7 +1529,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxx00100xxxxxxxxxx ldclrh. */ - return 1047; + return 1051; } } else @@ -1527,7 +1538,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxx00100xxxxxxxxxx ldclr. */ - return 1048; + return 1052; } } else @@ -1540,7 +1551,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxxx00100xxxxxxxxxx ldclrab. */ - return 1049; + return 1053; } else { @@ -1548,7 +1559,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxxx00100xxxxxxxxxx ldclrah. */ - return 1052; + return 1056; } } else @@ -1557,7 +1568,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxxx00100xxxxxxxxxx ldclra. */ - return 1055; + return 1059; } } } @@ -1573,7 +1584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxx00100xxxxxxxxxx ldclrlb. */ - return 1050; + return 1054; } else { @@ -1581,7 +1592,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxx00100xxxxxxxxxx ldclrlh. */ - return 1053; + return 1057; } } else @@ -1590,7 +1601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxx00100xxxxxxxxxx ldclrl. */ - return 1056; + return 1060; } } else @@ -1603,7 +1614,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxxx00100xxxxxxxxxx ldclralb. */ - return 1051; + return 1055; } else { @@ -1611,7 +1622,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxxx00100xxxxxxxxxx ldclralh. */ - return 1054; + return 1058; } } else @@ -1620,7 +1631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxxx00100xxxxxxxxxx ldclral. */ - return 1057; + return 1061; } } } @@ -1639,7 +1650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxx10100xxxxxxxxxx ldsminb. */ - return 1094; + return 1098; } else { @@ -1647,7 +1658,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxx10100xxxxxxxxxx ldsminh. */ - return 1095; + return 1099; } } else @@ -1656,7 +1667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxx10100xxxxxxxxxx ldsmin. */ - return 1096; + return 1100; } } else @@ -1669,7 +1680,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxxx10100xxxxxxxxxx ldsminab. */ - return 1097; + return 1101; } else { @@ -1677,7 +1688,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxxx10100xxxxxxxxxx ldsminah. */ - return 1100; + return 1104; } } else @@ -1686,7 +1697,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxxx10100xxxxxxxxxx ldsmina. */ - return 1103; + return 1107; } } } @@ -1702,7 +1713,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxx10100xxxxxxxxxx ldsminlb. */ - return 1098; + return 1102; } else { @@ -1710,7 +1721,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxx10100xxxxxxxxxx ldsminlh. */ - return 1101; + return 1105; } } else @@ -1719,7 +1730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxx10100xxxxxxxxxx ldsminl. */ - return 1104; + return 1108; } } else @@ -1732,7 +1743,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxxx10100xxxxxxxxxx ldsminalb. */ - return 1099; + return 1103; } else { @@ -1740,7 +1751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxxx10100xxxxxxxxxx ldsminalh. */ - return 1102; + return 1106; } } else @@ -1749,7 +1760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxxx10100xxxxxxxxxx ldsminal. */ - return 1105; + return 1109; } } } @@ -1771,7 +1782,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxx01100xxxxxxxxxx ldsetb. */ - return 1070; + return 1074; } else { @@ -1779,7 +1790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxx01100xxxxxxxxxx ldseth. */ - return 1071; + return 1075; } } else @@ -1788,7 +1799,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxx01100xxxxxxxxxx ldset. */ - return 1072; + return 1076; } } else @@ -1801,7 +1812,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxxx01100xxxxxxxxxx ldsetab. */ - return 1073; + return 1077; } else { @@ -1809,7 +1820,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxxx01100xxxxxxxxxx ldsetah. */ - return 1076; + return 1080; } } else @@ -1818,7 +1829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxxx01100xxxxxxxxxx ldseta. */ - return 1079; + return 1083; } } } @@ -1834,7 +1845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxx01100xxxxxxxxxx ldsetlb. */ - return 1074; + return 1078; } else { @@ -1842,7 +1853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxx01100xxxxxxxxxx ldsetlh. */ - return 1077; + return 1081; } } else @@ -1851,7 +1862,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxx01100xxxxxxxxxx ldsetl. */ - return 1080; + return 1084; } } else @@ -1864,7 +1875,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxxx01100xxxxxxxxxx ldsetalb. */ - return 1075; + return 1079; } else { @@ -1872,7 +1883,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxxx01100xxxxxxxxxx ldsetalh. */ - return 1078; + return 1082; } } else @@ -1881,7 +1892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxxx01100xxxxxxxxxx ldsetal. */ - return 1081; + return 1085; } } } @@ -1900,7 +1911,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxx11100xxxxxxxxxx lduminb. */ - return 1118; + return 1122; } else { @@ -1908,7 +1919,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxx11100xxxxxxxxxx lduminh. */ - return 1119; + return 1123; } } else @@ -1917,7 +1928,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxx11100xxxxxxxxxx ldumin. */ - return 1120; + return 1124; } } else @@ -1930,7 +1941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000101xxxxxx11100xxxxxxxxxx lduminab. */ - return 1121; + return 1125; } else { @@ -1938,7 +1949,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000101xxxxxx11100xxxxxxxxxx lduminah. */ - return 1124; + return 1128; } } else @@ -1947,7 +1958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000101xxxxxx11100xxxxxxxxxx ldumina. */ - return 1127; + return 1131; } } } @@ -1963,7 +1974,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxx11100xxxxxxxxxx lduminlb. */ - return 1122; + return 1126; } else { @@ -1971,7 +1982,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxx11100xxxxxxxxxx lduminlh. */ - return 1125; + return 1129; } } else @@ -1980,7 +1991,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxx11100xxxxxxxxxx lduminl. */ - return 1128; + return 1132; } } else @@ -1993,7 +2004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000111xxxxxx11100xxxxxxxxxx lduminalb. */ - return 1123; + return 1127; } else { @@ -2001,7 +2012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000111xxxxxx11100xxxxxxxxxx lduminalh. */ - return 1126; + return 1130; } } else @@ -2010,7 +2021,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000111xxxxxx11100xxxxxxxxxx lduminal. */ - return 1129; + return 1133; } } } @@ -2035,7 +2046,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000000xxxxxxxxx10xxxxxxxxxx sttrb. */ - return 912; + return 913; } else { @@ -2043,7 +2054,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000000xxxxxxxxx10xxxxxxxxxx sttrh. */ - return 915; + return 916; } } else @@ -2052,7 +2063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000000xxxxxxxxx10xxxxxxxxxx sttr. */ - return 918; + return 919; } } else @@ -2065,7 +2076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000010xxxxxxxxx10xxxxxxxxxx ldtrb. */ - return 913; + return 914; } else { @@ -2073,7 +2084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000010xxxxxxxxx10xxxxxxxxxx ldtrh. */ - return 916; + return 917; } } else @@ -2082,7 +2093,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000010xxxxxxxxx10xxxxxxxxxx ldtr. */ - return 919; + return 920; } } } @@ -2096,7 +2107,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001110001x0xxxxxxxxx10xxxxxxxxxx ldtrsb. */ - return 914; + return 915; } else { @@ -2104,7 +2115,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101110001x0xxxxxxxxx10xxxxxxxxxx ldtrsw. */ - return 920; + return 921; } } else @@ -2113,7 +2124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11110001x0xxxxxxxxx10xxxxxxxxxx ldtrsh. */ - return 917; + return 918; } } } @@ -2131,7 +2142,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000001xxxxxxxxx10xxxxxxxxxx strb. */ - return 900; + return 901; } else { @@ -2139,7 +2150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxxxxxx10xxxxxxxxxx strh. */ - return 905; + return 906; } } else @@ -2148,7 +2159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000001xxxxxxxxx10xxxxxxxxxx str. */ - return 908; + return 909; } } else @@ -2161,7 +2172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000011xxxxxxxxx10xxxxxxxxxx ldrb. */ - return 901; + return 902; } else { @@ -2169,7 +2180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000011xxxxxxxxx10xxxxxxxxxx ldrh. */ - return 906; + return 907; } } else @@ -2178,7 +2189,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000011xxxxxxxxx10xxxxxxxxxx ldr. */ - return 909; + return 910; } } } @@ -2192,7 +2203,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001110001x1xxxxxxxxx10xxxxxxxxxx ldrsb. */ - return 902; + return 903; } else { @@ -2200,7 +2211,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101110001x1xxxxxxxxx10xxxxxxxxxx ldrsw. */ - return 910; + return 911; } } else @@ -2211,7 +2222,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011110001x1xxxxxxxxx10xxxxxxxxxx ldrsh. */ - return 907; + return 908; } else { @@ -2219,7 +2230,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111110001x1xxxxxxxxx10xxxxxxxxxx prfm. */ - return 911; + return 912; } } } @@ -2242,7 +2253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000000xxxxxxxxxx1xxxxxxxxxx strb. */ - return 869; + return 870; } else { @@ -2250,7 +2261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000000xxxxxxxxxx1xxxxxxxxxx strh. */ - return 874; + return 875; } } else @@ -2259,7 +2270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000000xxxxxxxxxx1xxxxxxxxxx str. */ - return 877; + return 878; } } else @@ -2272,7 +2283,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00111000010xxxxxxxxxx1xxxxxxxxxx ldrb. */ - return 870; + return 871; } else { @@ -2280,7 +2291,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000010xxxxxxxxxx1xxxxxxxxxx ldrh. */ - return 875; + return 876; } } else @@ -2289,7 +2300,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x111000010xxxxxxxxxx1xxxxxxxxxx ldr. */ - return 878; + return 879; } } } @@ -2303,7 +2314,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001110001x0xxxxxxxxxx1xxxxxxxxxx ldrsb. */ - return 871; + return 872; } else { @@ -2311,7 +2322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101110001x0xxxxxxxxxx1xxxxxxxxxx ldrsw. */ - return 879; + return 880; } } else @@ -2320,7 +2331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11110001x0xxxxxxxxxx1xxxxxxxxxx ldrsh. */ - return 876; + return 877; } } } @@ -2332,7 +2343,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1110000x1xxxxxxxxxx1xxxxxxxxxx ldraa. */ - return 934; + return 935; } else { @@ -2340,7 +2351,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1110001x1xxxxxxxxxx1xxxxxxxxxx ldrab. */ - return 935; + return 936; } } } @@ -2358,43 +2369,54 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 11) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0001100100xxxxxxxxxx00xxxxxxxxxx - stlurb. */ - return 2079; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00011001000xxxxxxxxx00xxxxxxxxxx + stlurb. */ + return 2380; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 10011001000xxxxxxxxx00xxxxxxxxxx + stlur. */ + return 2388; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1001100100xxxxxxxxxx00xxxxxxxxxx - stlur. */ - return 2087; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01011001000xxxxxxxxx00xxxxxxxxxx + stlurh. */ + return 2384; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11011001000xxxxxxxxx00xxxxxxxxxx + stlur. */ + return 2391; + } } } else { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0101100100xxxxxxxxxx00xxxxxxxxxx - stlurh. */ - return 2083; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1101100100xxxxxxxxxx00xxxxxxxxxx - stlur. */ - return 2090; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011001001xxxxxxxxx00xxxxxxxxxx + stzgm. */ + return 964; } } else @@ -2403,7 +2425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100100xxxxxxxxxx10xxxxxxxxxx stg. */ - return 880; + return 881; } } else @@ -2412,7 +2434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100100xxxxxxxxxxx1xxxxxxxxxx stg. */ - return 884; + return 885; } } else @@ -2425,7 +2447,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0011100100xxxxxxxxxxxxxxxxxxxxxx strb. */ - return 888; + return 889; } else { @@ -2433,7 +2455,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0111100100xxxxxxxxxxxxxxxxxxxxxx strh. */ - return 893; + return 894; } } else @@ -2442,7 +2464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x11100100xxxxxxxxxxxxxxxxxxxxxx str. */ - return 896; + return 897; } } } @@ -2464,7 +2486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001010xxxxxxxxx00xxxxxxxxxx ldapurb. */ - return 2080; + return 2381; } else { @@ -2472,7 +2494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2088; + return 2389; } } else @@ -2483,7 +2505,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001010xxxxxxxxx00xxxxxxxxxx ldapurh. */ - return 2084; + return 2385; } else { @@ -2491,7 +2513,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 2091; + return 2392; } } } @@ -2501,7 +2523,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001011xxxxxxxxx00xxxxxxxxxx ldg. */ - return 933; + return 934; } } else @@ -2510,7 +2532,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100101xxxxxxxxxx10xxxxxxxxxx stzg. */ - return 881; + return 882; } } else @@ -2519,7 +2541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100101xxxxxxxxxxx1xxxxxxxxxx stzg. */ - return 885; + return 886; } } else @@ -2532,7 +2554,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0011100101xxxxxxxxxxxxxxxxxxxxxx ldrb. */ - return 889; + return 890; } else { @@ -2540,7 +2562,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0111100101xxxxxxxxxxxxxxxxxxxxxx ldrh. */ - return 894; + return 895; } } else @@ -2549,7 +2571,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x11100101xxxxxxxxxxxxxxxxxxxxxx ldr. */ - return 897; + return 898; } } } @@ -2562,53 +2584,75 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 11) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0001100110xxxxxxxxxx00xxxxxxxxxx - ldapursb. */ - return 2082; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00011001100xxxxxxxxx00xxxxxxxxxx + ldapursb. */ + return 2383; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 10011001100xxxxxxxxx00xxxxxxxxxx + ldapursw. */ + return 2390; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 1001100110xxxxxxxxxx00xxxxxxxxxx - ldapursw. */ - return 2089; + x1011001100xxxxxxxxx00xxxxxxxxxx + ldapursh. */ + return 2387; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x101100110xxxxxxxxxx00xxxxxxxxxx - ldapursh. */ - return 2086; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011001110xxxxxxxxx00xxxxxxxxxx + ldapursb. */ + return 2382; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011001110xxxxxxxxx00xxxxxxxxxx + ldapursh. */ + return 2386; + } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x001100111xxxxxxxxxx00xxxxxxxxxx - ldapursb. */ - return 2081; + xx011001101xxxxxxxxx00xxxxxxxxxx + stgm. */ + return 963; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x101100111xxxxxxxxxx00xxxxxxxxxx - ldapursh. */ - return 2085; + xx011001111xxxxxxxxx00xxxxxxxxxx + ldgm. */ + return 962; } } } @@ -2620,7 +2664,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100110xxxxxxxxxx10xxxxxxxxxx st2g. */ - return 882; + return 883; } else { @@ -2628,7 +2672,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100111xxxxxxxxxx10xxxxxxxxxx stz2g. */ - return 883; + return 884; } } } @@ -2640,7 +2684,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100110xxxxxxxxxxx1xxxxxxxxxx st2g. */ - return 886; + return 887; } else { @@ -2648,7 +2692,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01100111xxxxxxxxxxx1xxxxxxxxxx stz2g. */ - return 887; + return 888; } } } @@ -2662,7 +2706,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001110011xxxxxxxxxxxxxxxxxxxxxxx ldrsb. */ - return 890; + return 891; } else { @@ -2670,7 +2714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101110011xxxxxxxxxxxxxxxxxxxxxxx ldrsw. */ - return 898; + return 899; } } else @@ -2681,7 +2725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011110011xxxxxxxxxxxxxxxxxxxxxxx ldrsh. */ - return 895; + return 896; } else { @@ -2689,7 +2733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111110011xxxxxxxxxxxxxxxxxxxxxxx prfm. */ - return 899; + return 900; } } } @@ -2714,7 +2758,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00x00100xxxxxxxxxxxxxxxxxxxxxxx and. */ - return 987; + return 991; } else { @@ -2722,7 +2766,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10x00100xxxxxxxxxxxxxxxxxxxxxxx eor. */ - return 991; + return 995; } } else @@ -2733,7 +2777,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01x00100xxxxxxxxxxxxxxxxxxxxxxx orr. */ - return 989; + return 993; } else { @@ -2741,7 +2785,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11x00100xxxxxxxxxxxxxxxxxxxxxxx ands. */ - return 992; + return 996; } } } @@ -2755,7 +2799,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00x00101xxxxxxxxxxxxxxxxxxxxxxx movn. */ - return 1178; + return 1182; } else { @@ -2763,7 +2807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10x00101xxxxxxxxxxxxxxxxxxxxxxx movz. */ - return 1180; + return 1184; } } else @@ -2772,7 +2816,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1x00101xxxxxxxxxxxxxxxxxxxxxxx movk. */ - return 1182; + return 1186; } } } @@ -2790,7 +2834,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001010xx0xxxxxxxxxxxxxxxxxxxxx and. */ - return 994; + return 998; } else { @@ -2798,7 +2842,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001010xx0xxxxxxxxxxxxxxxxxxxxx eor. */ - return 1001; + return 1005; } } else @@ -2809,7 +2853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101010xx0xxxxxxxxxxxxxxxxxxxxx orr. */ - return 996; + return 1000; } else { @@ -2817,7 +2861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101010xx0xxxxxxxxxxxxxxxxxxxxx ands. */ - return 1003; + return 1007; } } } @@ -3074,7 +3118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx0xx10xxxxxxxxxx setf8. */ - return 2077; + return 2378; } else { @@ -3082,7 +3126,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x00xxxxxx1xx10xxxxxxxxxx setf16. */ - return 2078; + return 2379; } } else @@ -3228,7 +3272,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxxxxx01xxxxxxxxxx rmif. */ - return 2076; + return 2377; } else { @@ -3478,7 +3522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00x1010xx1xxxxxxxxxxxxxxxxxxxxx bic. */ - return 995; + return 999; } else { @@ -3486,7 +3530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10x1010xx1xxxxxxxxxxxxxxxxxxxxx eon. */ - return 1002; + return 1006; } } else @@ -3497,7 +3541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01x1010xx1xxxxxxxxxxxxxxxxxxxxx orn. */ - return 999; + return 1003; } else { @@ -3505,7 +3549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11x1010xx1xxxxxxxxxxxxxxxxxxxxx bics. */ - return 1005; + return 1009; } } } @@ -3551,7 +3595,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxxx00111xxxxxxxxxxxxxxxxxxxxxxx extr. */ - return 757; + return 758; } } else @@ -3766,7 +3810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000000000xxxxxxxxxxxxx add. */ - return 1268; + return 1279; } else { @@ -3774,7 +3818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010000000xxxxxxxxxxxxx mul. */ - return 1737; + return 1748; } } else @@ -3785,7 +3829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001000000xxxxxxxxxxxxx smax. */ - return 1816; + return 1827; } else { @@ -3793,7 +3837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011000000xxxxxxxxxxxxx orr. */ - return 1748; + return 1759; } } } @@ -3805,7 +3849,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0100000xxxxxxxxxxxxx sdiv. */ - return 1807; + return 1818; } else { @@ -3813,7 +3857,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x1100000xxxxxxxxxxxxx sabd. */ - return 1798; + return 1809; } } } @@ -3827,7 +3871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0010000xxxxxxxxxxxxx smulh. */ - return 1821; + return 1832; } else { @@ -3837,7 +3881,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001010000xxxxxxxxxxxxx smin. */ - return 1819; + return 1830; } else { @@ -3845,7 +3889,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011010000xxxxxxxxxxxxx and. */ - return 1276; + return 1287; } } } @@ -3855,7 +3899,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx110000xxxxxxxxxxxxx sdivr. */ - return 1808; + return 1819; } } } @@ -3871,7 +3915,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0001000xxxxxxxxxxxxx sub. */ - return 1937; + return 1948; } else { @@ -3881,7 +3925,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001001000xxxxxxxxxxxxx umax. */ - return 1965; + return 1976; } else { @@ -3889,7 +3933,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011001000xxxxxxxxxxxxx eor. */ - return 1363; + return 1374; } } } @@ -3901,7 +3945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0101000xxxxxxxxxxxxx udiv. */ - return 1959; + return 1970; } else { @@ -3909,7 +3953,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x1101000xxxxxxxxxxxxx uabd. */ - return 1950; + return 1961; } } } @@ -3925,7 +3969,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000011000xxxxxxxxxxxxx subr. */ - return 1939; + return 1950; } else { @@ -3933,7 +3977,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010011000xxxxxxxxxxxxx umulh. */ - return 1970; + return 1981; } } else @@ -3944,7 +3988,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001011000xxxxxxxxxxxxx umin. */ - return 1968; + return 1979; } else { @@ -3952,7 +3996,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011011000xxxxxxxxxxxxx bic. */ - return 1288; + return 1299; } } } @@ -3962,7 +4006,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx111000xxxxxxxxxxxxx udivr. */ - return 1960; + return 1971; } } } @@ -3975,7 +4019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x0xxxxx000xxxxxxxxxxxxx ld1sb. */ - return 1550; + return 1561; } else { @@ -3983,48 +4027,81 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1561; + return 1572; } } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx000xxxxxxxxxxxxx - ld1sb. */ - return 1554; - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x01x0xxxxx000xx0xxxxxxxxxx - sdot. */ - return 1809; + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000000xxxxxxxxxx + sdot. */ + return 1820; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000010xxxxxxxxxx + sqdmlalbt. */ + return 2170; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x01x0xxxxx000xx1xxxxxxxxxx - udot. */ - return 1961; + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000001xxxxxxxxxx + udot. */ + return 1972; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx000011xxxxxxxxxx + sqdmlslbt. */ + return 2177; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx0001xxxxxxxxxxxx + cdot. */ + return 2059; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx000xxxxxxxxxxxxx + ld1sb. */ + return 1565; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 110001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1565; + return 1576; } } } @@ -4045,7 +4122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000000xxxxxxxxxx add. */ - return 1266; + return 1277; } else { @@ -4053,7 +4130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000100xxxxxxxxxx sqadd. */ - return 1823; + return 1834; } } else @@ -4062,7 +4139,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000x10xxxxxxxxxx sqsub. */ - return 1853; + return 1864; } } else @@ -4075,7 +4152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000001xxxxxxxxxx sub. */ - return 1935; + return 1946; } else { @@ -4083,7 +4160,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000101xxxxxxxxxx uqadd. */ - return 1971; + return 1982; } } else @@ -4092,7 +4169,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000x11xxxxxxxxxx uqsub. */ - return 2001; + return 2012; } } } @@ -4104,7 +4181,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x1xxxxx000xxxxxxxxxxxxx prfb. */ - return 1756; + return 1767; } else { @@ -4112,60 +4189,52 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x1xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1562; + return 1573; } } } else { if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx000xxxxxxxxxxxxx - prfb. */ - return 1757; - } - else { if (((word >> 31) & 0x1) == 0) { if (((word >> 10) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0101xxxxx000xx0xxxxxxxxxx - sdot. */ - return 1810; + 010001x00x1xxxxx000x00xxxxxxxxxx + sqrdmlah. */ + return 2195; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0111xxxxx000xx0xxxxxxxxxx - sdot. */ - return 1811; + 010001x00x1xxxxx000x10xxxxxxxxxx + mla. */ + return 2102; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0101xxxxx000xx1xxxxxxxxxx - udot. */ - return 1962; + 010001x00x1xxxxx000x01xxxxxxxxxx + sqrdmlsh. */ + return 2199; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x0111xxxxx000xx1xxxxxxxxxx - udot. */ - return 1963; + 010001x00x1xxxxx000x11xxxxxxxxxx + mls. */ + return 2105; } } } @@ -4173,710 +4242,677 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 110001x01x1xxxxx000xxxxxxxxxxxxx - ld1sh. */ - return 1566; + 110001x00x1xxxxx000xxxxxxxxxxxxx + prfb. */ + return 1768; } } - } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0000x0100xxxxxxxxxxxxx - asr. */ - return 1284; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000000xxxxxxxxxx + sdot. */ + return 1821; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000000xxxxxxxxxx + sdot. */ + return 1822; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0100x0100xxxxxxxxxxxxx - asr. */ - return 1282; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000100xxxxxxxxxx + sqrdmlah. */ + return 2196; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000100xxxxxxxxxx + sqrdmlah. */ + return 2197; + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x10x0100xxxxxxxxxxxxx - asr. */ - return 1283; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx00x1x0100xxxxxxxxxxxxx - asrd. */ - return 1285; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx01x1x0100xxxxxxxxxxxxx - asrr. */ - return 1286; - } - } - } - else - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx000001100xxxxxxxxxxxxx - lsr. */ - return 1728; + 010001x0101xxxxx000010xxxxxxxxxx + mla. */ + return 2103; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx010001100xxxxxxxxxxxxx - lsr. */ - return 1726; + 010001x0111xxxxx000010xxxxxxxxxx + mla. */ + return 2104; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1001100xxxxxxxxxxxxx - lsr. */ - return 1727; + 010001x01x1xxxxx000110xxxxxxxxxx + usdot. */ + return 2397; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xx101100xxxxxxxxxxxxx - lsrr. */ - return 1729; - } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx000011100xxxxxxxxxxxxx - lsl. */ - return 1722; + 010001x0101xxxxx000001xxxxxxxxxx + udot. */ + return 1973; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx010011100xxxxxxxxxxxxx - lsl. */ - return 1720; + 010001x0111xxxxx000001xxxxxxxxxx + udot. */ + return 1974; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1011100xxxxxxxxxxxxx - lsl. */ - return 1721; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000101xxxxxxxxxx + sqrdmlsh. */ + return 2200; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000101xxxxxxxxxx + sqrdmlsh. */ + return 2201; + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xx111100xxxxxxxxxxxxx - lslr. */ - return 1723; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000011xxxxxxxxxx + mls. */ + return 2106; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000011xxxxxxxxxx + mls. */ + return 2107; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x01x1xxxxx000111xxxxxxxxxx + sudot. */ + return 2398; + } } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x1xxxxx000xxxxxxxxxxxxx + ld1sh. */ + return 1577; + } } - else + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx1000x0xxxxxxxxxx - asr. */ - return 1280; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000000100xxxxxxxxxxxxx + asr. */ + return 1295; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010000100xxxxxxxxxxxxx + asr. */ + return 1293; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010000100xxxxxxxxxxxxx + shadd. */ + return 2136; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001000100xxxxxxxxxxxxx + sqshl. */ + return 2214; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011000100xxxxxxxxxxxxx + asr. */ + return 1294; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx011000100xxxxxxxxxxxxx + sqadd. */ + return 2165; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx1001x0xxxxxxxxxx - asr. */ - return 1281; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000100100xxxxxxxxxxxxx + asrd. */ + return 1296; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010100100xxxxxxxxxxxxx + asrr. */ + return 1297; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010100100xxxxxxxxxxxxx + srhadd. */ + return 2227; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001100100xxxxxxxxxxxxx + srshr. */ + return 2231; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx001100100xxxxxxxxxxxxx + sqshlr. */ + return 2215; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011100100xxxxxxxxxxxxx + suqadd. */ + return 2251; + } + } } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx100001xxxxxxxxxx - lsr. */ - return 1724; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000010100xxxxxxxxxxxxx + srshl. */ + return 2229; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx010010100xxxxxxxxxxxxx + shsub. */ + return 2139; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx100101xxxxxxxxxx - lsr. */ - return 1725; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001010100xxxxxxxxxxxxx + sqrshl. */ + return 2207; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011010100xxxxxxxxxxxxx + sqsub. */ + return 2221; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx100011xxxxxxxxxx - lsl. */ - return 1718; + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000110100xxxxxxxxxxxxx + sqshl. */ + return 2213; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000110100xxxxxxxxxxxxx + srshlr. */ + return 2230; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx010110100xxxxxxxxxxxxx + shsubr. */ + return 2140; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx100111xxxxxxxxxx - lsl. */ - return 1719; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001110100xxxxxxxxxxxxx + sqrshlr. */ + return 2208; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011110100xxxxxxxxxxxxx + sqsubr. */ + return 2222; + } } } } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x000xxxxxx100xxxxxxxxxxxxx - ld1sb. */ - return 1556; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x010xxxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1569; - } - } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x001xxxxxx100xxxxxxxxxxxxx - ld1rb. */ - return 1526; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x011xxxxxx100xxxxxxxxxxxxx - ld1rsw. */ - return 1547; - } - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx100xxxxxxxxxxxxx - ld1sb. */ - return 1555; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1567; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0001xxxxx100xxxxxxxxxxxxx - ld1sb. */ - return 1560; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0101xxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1572; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0011xxxxx100xxxxxxxxxxxxx - prfb. */ - return 1758; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0111xxxxx100xxxxxxxxxxxxx - ld1sh. */ - return 1568; - } - } - } - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxxxx010xxxxxxxxxxxxx - mla. */ - return 1731; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x00x0xxxxx010xxxxxxxxxxxxx - ld1b. */ - return 1492; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x01x0xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1512; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx010xxxxxxxxxxxxx - ld1b. */ - return 1497; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1517; - } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx010000xxxxxxxxxx - index. */ - return 1483; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx000001100xxxxxxxxxxxxx + lsr. */ + return 1739; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010001100xxxxxxxxxxxxx + lsr. */ + return 1737; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010001100xxxxxxxxxxxxx + uhadd. */ + return 2264; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx010001xxxxxxxxxx - index. */ - return 1484; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx001001100xxxxxxxxxxxxx + uqshl. */ + return 2294; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011001100xxxxxxxxxxxxx + lsr. */ + return 1738; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx011001100xxxxxxxxxxxxx + uqadd. */ + return 2288; + } + } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0001xxxxx01010xxxxxxxxxxx - addvl. */ - return 1270; + 000001x0xx0x0101100xxxxxxxxxxxxx + lsrr. */ + return 1740; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0101xxxxx01010xxxxxxxxxxx - rdvl. */ - return 1792; + 010001x0xx0x0101100xxxxxxxxxxxxx + urhadd. */ + return 2303; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x11xxxxx01010xxxxxxxxxxx - addpl. */ - return 1269; + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001101100xxxxxxxxxxxxx + urshr. */ + return 2306; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx001101100xxxxxxxxxxxxx + uqshlr. */ + return 2295; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0001x0xx011101100xxxxxxxxxxxxx + usqadd. */ + return 2311; + } } } } else { - if (((word >> 10) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx010x10xxxxxxxxxx - index. */ - return 1485; - } - else + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx010x11xxxxxxxxxx - index. */ - return 1482; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x00x1xxxxx010xxxxxxxxxxxxx - prfw. */ - return 1776; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x01x1xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1513; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx010xxxxxxxxxxxxx - prfw. */ - return 1778; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x1xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1518; - } - } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxxxx110xxxxxxxxxxxxx - mad. */ - return 1730; - } - else - { - if (((word >> 10) & 0x1) == 0) - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x010xxxx110x00xxxxxxxxxx - sqincw. */ - return 1850; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000011100xxxxxxxxxxxxx + lsl. */ + return 1733; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000011100xxxxxxxxxxxxx + urshl. */ + return 2304; + } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x00110xxxx110x00xxxxxxxxxx - sqinch. */ - return 1844; + 000001x0xx010011100xxxxxxxxxxxxx + lsl. */ + return 1731; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x01110xxxx110x00xxxxxxxxxx - sqincd. */ - return 1841; + 010001x0xx010011100xxxxxxxxxxxxx + uhsub. */ + return 2265; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0x011xxxx110x00xxxxxxxxxx - incw. */ - return 1480; + 0x0001x0xx001011100xxxxxxxxxxxxx + uqrshl. */ + return 2289; } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x00111xxxx110x00xxxxxxxxxx - inch. */ - return 1476; + 000001x0xx011011100xxxxxxxxxxxxx + lsl. */ + return 1732; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x01111xxxx110x00xxxxxxxxxx - incd. */ - return 1474; + 010001x0xx011011100xxxxxxxxxxxxx + uqsub. */ + return 2298; } } } } else { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x01xxxxx110x10xxxxxxxxxx - sqdecw. */ - return 1836; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0011xxxxx110x10xxxxxxxxxx - sqdech. */ - return 1830; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0111xxxxx110x10xxxxxxxxxx - sqdecd. */ - return 1827; - } - } - } - } - else - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x010xxxx110x01xxxxxxxxxx - uqincw. */ - return 1998; - } - else + if (((word >> 20) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x00110xxxx110x01xxxxxxxxxx - uqinch. */ - return 1992; + 000001x0xx000111100xxxxxxxxxxxxx + uqshl. */ + return 2293; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x01110xxxx110x01xxxxxxxxxx - uqincd. */ - return 1989; + 010001x0xx000111100xxxxxxxxxxxxx + urshlr. */ + return 2305; } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x011xxxx110x01xxxxxxxxxx - decw. */ - return 1355; - } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x00111xxxx110x01xxxxxxxxxx - dech. */ - return 1351; + 000001x0xx010111100xxxxxxxxxxxxx + lslr. */ + return 1734; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x01111xxxx110x01xxxxxxxxxx - decd. */ - return 1349; + 010001x0xx010111100xxxxxxxxxxxxx + uhsubr. */ + return 2266; } } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0x01xxxxx110x11xxxxxxxxxx - uqdecw. */ - return 1984; - } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0011xxxxx110x11xxxxxxxxxx - uqdech. */ - return 1978; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001111100xxxxxxxxxxxxx + sqshlu. */ + return 2216; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx001111100xxxxxxxxxxxxx + uqrshlr. */ + return 2290; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0111xxxxx110x11xxxxxxxxxx - uqdecd. */ - return 1975; + 0x0001x0xx011111100xxxxxxxxxxxxx + uqsubr. */ + return 2299; } } } @@ -4885,137 +4921,288 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x0000xxxxx110xxxxxxxxxxxxx - prfb. */ - return 1755; + 000001x0xx1xxxxx1000x0xxxxxxxxxx + asr. */ + return 1291; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x0100xxxxx110xxxxxxxxxxxxx - prfh. */ - return 1770; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1000x0xxxxxxxxxx + smlalb. */ + return 2144; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1000x0xxxxxxxxxx + smlalb. */ + return 2145; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x0001xxxxx110xxxxxxxxxxxxx - ld1b. */ - return 1499; + 000001x0xx1xxxxx1001x0xxxxxxxxxx + asr. */ + return 1292; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x0101xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1521; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1001x0xxxxxxxxxx + umlalb. */ + return 2269; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1001x0xxxxxxxxxx + umlalb. */ + return 2270; + } } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x001xxxxxx110xxxxxxxxxxxxx - ld1rb. */ - return 1528; + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100001xxxxxxxxxx + lsr. */ + return 1735; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100011xxxxxxxxxx + lsl. */ + return 1729; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1000x1xxxxxxxxxx + smlalt. */ + return 2147; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1000x1xxxxxxxxxx + smlalt. */ + return 2148; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x011xxxxxx110xxxxxxxxxxxxx - ld1rh. */ - return 1532; - } - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx110xxxxxxxxxxxxx - ld1b. */ - return 1498; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1519; + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100101xxxxxxxxxx + lsr. */ + return 1736; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx100111xxxxxxxxxx + lsl. */ + return 1730; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x01xxxxx1001x1xxxxxxxxxx + umlalt. */ + return 2272; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0x11xxxxx1001x1xxxxxxxxxx + umlalt. */ + return 2273; + } + } + } } } - else + } + else + { + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0001xxxxx110xxxxxxxxxxxxx - ld1b. */ - return 1504; + 1x0001x0000xxxxx100xxxxxxxxxxxxx + ldnt1sb. */ + return 2096; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0101xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1525; + 1x0001x0100xxxxx100xxxxxxxxxxxxx + ldnt1sh. */ + return 2097; } } else { if (((word >> 23) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0001xxxxx100xxxxxxxxxxxxx + ld1sb. */ + return 1567; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0001xxxxx100xxxxxxxxxxxxx + ld1sb. */ + return 1571; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0101xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1580; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1583; + } + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0011xxxxx110xxxxxxxxxxxxx - prfw. */ - return 1779; + 100001x001xxxxxx100xxxxxxxxxxxxx + ld1rb. */ + return 1537; } else + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0010xxxxx100xxxxxxxxxxxxx + ld1sb. */ + return 1566; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0011xxxxx100xxxxxxxxxxxxx + prfb. */ + return 1769; + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0111xxxxx110xxxxxxxxxxxxx - ld1h. */ - return 1520; + 100001x011xxxxxx100xxxxxxxxxxxxx + ld1rsw. */ + return 1558; + } + else + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0110xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1578; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx100xxxxxxxxxxxxx + ld1sh. */ + return 1579; + } } } } } } } - } - else - { - if (((word >> 14) & 0x1) == 0) + else { if (((word >> 15) & 0x1) == 0) { @@ -5025,108 +5212,116 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 31) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx010xxxxxxxxxxxxx + mla. */ + return 1742; + } + else + { + if (((word >> 23) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x0xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1503; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x0xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1523; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx000x00001xxxxxxxxxxxxx - saddv. */ - return 1799; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx000x01001xxxxxxxxxxxxx - uaddv. */ - return 1951; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010000xxxxxxxxxx + smlalb. */ + return 2146; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx010x0x001xxxxxxxxxxxxx - movprfx. */ - return 1734; + 010001x0xx0xxxxx010100xxxxxxxxxx + smlslb. */ + return 2152; } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx001x00001xxxxxxxxxxxxx - smaxv. */ - return 1817; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx011x00001xxxxxxxxxxxxx - orv. */ - return 1751; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010010xxxxxxxxxx + umlalb. */ + return 2271; } else { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx001x01001xxxxxxxxxxxxx - umaxv. */ - return 1966; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx011x01001xxxxxxxxxxxxx - eorv. */ - return 1366; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010110xxxxxxxxxx + umlslb. */ + return 2277; } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx00xx10001xxxxxxxxxxxxx - sminv. */ - return 1820; + 010001x0xx0xxxxx010001xxxxxxxxxx + smlalt. */ + return 2149; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx01xx10001xxxxxxxxxxxxx - andv. */ - return 1279; + 010001x0xx0xxxxx010101xxxxxxxxxx + smlslt. */ + return 2155; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxx11001xxxxxxxxxxxxx - uminv. */ - return 1969; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010011xxxxxxxxxx + umlalt. */ + return 2274; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx010111xxxxxxxxxx + umlslt. */ + return 2280; + } } } } @@ -5136,86 +5331,130 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x00x0xxxxx001xxxxxxxxxxxxx - ldff1sb. */ - return 1650; + 110001x00x0xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1508; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x01x0xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1661; + 110001x01x0xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1528; } } } - else + } + else + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx001xxxxxxxxxxxxx - ldff1sb. */ - return 1657; - } - else + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1667; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx010000xxxxxxxxxx + index. */ + return 1494; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx010001xxxxxxxxxx + index. */ + return 1495; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx01010xxxxxxxxxxx + addvl. */ + return 1281; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx01010xxxxxxxxxxx + rdvl. */ + return 1803; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x11xxxxx01010xxxxxxxxxxx + addpl. */ + return 1280; + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0001xxxxx001xxxxxxxxxxxxx - and. */ - return 1274; + 000001x0xx1xxxxx010x10xxxxxxxxxx + index. */ + return 1496; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0011xxxxx001xxxxxxxxxxxxx - orr. */ - return 1746; + 000001x0xx1xxxxx010x11xxxxxxxxxx + index. */ + return 1493; } } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x1xxxxx010xxxxxxxxxxxxx + prfw. */ + return 1787; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x00x1xxxxx001xxxxxxxxxxxxx - prfh. */ - return 1769; + 100001x01x1xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1524; } } - else + } + else + { + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x00x1xxxxx001xxxxxxxxxxxxx - prfh. */ - return 1771; + x10001x00x1xxxxx010xxxxxxxxxxxxx + prfw. */ + return 1789; } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { if (((word >> 31) & 0x1) == 0) { @@ -5223,36 +5462,28 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0101xxxxx001xxxxxxxxxxxxx - eor. */ - return 1361; + 010001x0101xxxxx010xxxxxxxxxxxxx + cdot. */ + return 2061; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0111xxxxx001xxxxxxxxxxxxx - bic. */ - return 1287; + 010001x0111xxxxx010xxxxxxxxxxxxx + cdot. */ + return 2060; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x01x1xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1662; + 110001x01x1xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1529; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x1xxxxx001xxxxxxxxxxxxx - ldff1sh. */ - return 1668; - } } } } @@ -5264,231 +5495,275 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx110xxxxxxxxxxxxx + mad. */ + return 1741; + } + else + { + if (((word >> 10) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0000101xxxxxxxxxxxxx - sxtb. */ - return 1942; + 000001x0x010xxxx110x00xxxxxxxxxx + sqincw. */ + return 1861; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1000101xxxxxxxxxxxxx - cls. */ - return 1307; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx110x00xxxxxxxxxx + sqinch. */ + return 1855; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx110x00xxxxxxxxxx + sqincd. */ + return 1852; + } } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0100101xxxxxxxxxxxxx - sxtw. */ - return 1944; + 000001x0x011xxxx110x00xxxxxxxxxx + incw. */ + return 1491; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1100101xxxxxxxxxxxxx - fabs. */ - return 1369; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx110x00xxxxxxxxxx + inch. */ + return 1487; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx110x00xxxxxxxxxx + incd. */ + return 1485; + } } } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x0010101xxxxxxxxxxxxx - sxth. */ - return 1943; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1010101xxxxxxxxxxxxx - cnt. */ - return 1336; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x01xxxxx110x10xxxxxxxxxx + sqdecw. */ + return 1847; } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0110101xxxxxxxxxxxxx - abs. */ - return 1265; + 000001x0011xxxxx110x10xxxxxxxxxx + sqdech. */ + return 1841; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1110101xxxxxxxxxxxxx - not. */ - return 1743; + 000001x0111xxxxx110x10xxxxxxxxxx + sqdecd. */ + return 1838; } } } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0001101xxxxxxxxxxxxx - uxtb. */ - return 2005; + 000001x0x010xxxx110x01xxxxxxxxxx + uqincw. */ + return 2009; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1001101xxxxxxxxxxxxx - clz. */ - return 1308; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx110x01xxxxxxxxxx + uqinch. */ + return 2003; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx110x01xxxxxxxxxx + uqincd. */ + return 2000; + } } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0101101xxxxxxxxxxxxx - uxtw. */ - return 2007; + 000001x0x011xxxx110x01xxxxxxxxxx + decw. */ + return 1366; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0x1101101xxxxxxxxxxxxx - fneg. */ - return 1446; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx110x01xxxxxxxxxx + dech. */ + return 1362; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx110x01xxxxxxxxxx + decd. */ + return 1360; + } } } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x01xxxxx110x11xxxxxxxxxx + uqdecw. */ + return 1995; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x0011101xxxxxxxxxxxxx - uxth. */ - return 2006; + 000001x0011xxxxx110x11xxxxxxxxxx + uqdech. */ + return 1989; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx0x1011101xxxxxxxxxxxxx - cnot. */ - return 1335; + 000001x0111xxxxx110x11xxxxxxxxxx + uqdecd. */ + return 1986; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xx111101xxxxxxxxxxxxx - neg. */ - return 1740; - } } } } - else + } + else + { + if (((word >> 22) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0001xxxxx1010xxxxxxxxxxxx - adr. */ - return 1271; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0011xxxxx1010xxxxxxxxxxxx - adr. */ - return 1272; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0000xxxxx110xxxxxxxxxxxxx + prfb. */ + return 1766; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x01x1xxxxx1010xxxxxxxxxxxx - adr. */ - return 1273; + 100001x0100xxxxx110xxxxxxxxxxxxx + prfh. */ + return 1781; } } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx101100xxxxxxxxxx - ftssel. */ - return 1472; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx1xxxxx101110xxxxxxxxxx - fexpa. */ - return 1416; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0001xxxxx110xxxxxxxxxxxxx + ld1b. */ + return 1510; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x0xx1xxxxx1011x1xxxxxxxxxx - movprfx. */ - return 1733; + 100001x0101xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1532; } } } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x001xxxxxx110xxxxxxxxxxxxx + ld1rb. */ + return 1539; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x011xxxxxx110xxxxxxxxxxxxx + ld1rh. */ + return 1543; + } + } } - else + } + else + { + if (((word >> 21) & 0x1) == 0) { if (((word >> 22) & 0x1) == 0) { @@ -5496,17 +5771,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x000xxxxxx101xxxxxxxxxxxxx - ldff1sb. */ - return 1659; + x10001x0000xxxxx110xxxxxxxxxxxxx + ldnt1b. */ + return 2092; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x010xxxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1671; + x10001x0100xxxxx110xxxxxxxxxxxxx + ldnt1h. */ + return 2095; } } else @@ -5515,42 +5790,20 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x001xxxxxx101xxxxxxxxxxxxx - ld1rb. */ - return 1527; + x10001x0010xxxxx110xxxxxxxxxxxxx + ld1b. */ + return 1509; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x011xxxxxx101xxxxxxxxxxxxx - ld1rh. */ - return 1531; + x10001x0110xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1530; } } } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx101xxxxxxxxxxxxx - ldff1sb. */ - return 1658; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1669; - } - } else { if (((word >> 22) & 0x1) == 0) @@ -5559,17 +5812,61 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0001xxxxx101xxxxxxxxxxxxx - ldff1sb. */ - return 1660; + x10001x0001xxxxx110xxxxxxxxxxxxx + ld1b. */ + return 1515; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0101xxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1672; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1100x0xxxxxxxxxx + smullb. */ + return 2157; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1101x0xxxxxxxxxx + umullb. */ + return 2282; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1100x1xxxxxxxxxx + smullt. */ + return 2160; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1101x1xxxxxxxxxx + umullt. */ + return 2285; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1536; + } } } else @@ -5578,24 +5875,71 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0011xxxxx101xxxxxxxxxxxxx - prfh. */ - return 1772; + x10001x0011xxxxx110xxxxxxxxxxxxx + prfw. */ + return 1790; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0111xxxxx101xxxxxxxxxxxxx - ldff1sh. */ - return 1670; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1100x0xxxxxxxxxx + smullb. */ + return 2158; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1101x0xxxxxxxxxx + umullb. */ + return 2283; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1100x1xxxxxxxxxx + smullt. */ + return 2161; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1101x1xxxxxxxxxx + umullt. */ + return 2286; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx110xxxxxxxxxxxxx + ld1h. */ + return 1531; + } } } } } } } - else + } + else + { + if (((word >> 14) & 0x1) == 0) { if (((word >> 15) & 0x1) == 0) { @@ -5605,611 +5949,2489 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxxxx011xxxxxxxxxxxxx - mls. */ - return 1732; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x00x0xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1616; - } - else + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x01x0xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1636; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x0xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1625; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x0xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1644; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x00001x00x1xxxxx011xxxxxxxxxxxxx - prfd. */ - return 1762; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000x00001xxxxxxxxxxxxx + saddv. */ + return 1810; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000x01001xxxxxxxxxxxxx + uaddv. */ + return 1962; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010x0x001xxxxxxxxxxxxx + movprfx. */ + return 1745; + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001x00001xxxxxxxxxxxxx + smaxv. */ + return 1828; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011x00001xxxxxxxxxxxxx + orv. */ + return 1762; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001x01001xxxxxxxxxxxxx + umaxv. */ + return 1977; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011x01001xxxxxxxxxxxxx + eorv. */ + return 1377; + } + } + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx00xx10001xxxxxxxxxxxxx + sminv. */ + return 1831; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx01xx10001xxxxxxxxxxxxx + andv. */ + return 1290; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxx11001xxxxxxxxxxxxx + uminv. */ + return 1980; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x00x1xxxxx011xxxxxxxxxxxxx - prfd. */ - return 1764; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x0xxxxx001xxxxxxxxxxxxx + ldff1sb. */ + return 1661; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x0xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1672; + } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x00001x01x1xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1637; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx0010xxxxxxxxxxxx + cmla. */ + return 2062; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx0011xxxxxxxxxxxx + sqrdcmlah. */ + return 2194; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x01x1xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1645; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx001xxxxxxxxxxxxx + ldff1sb. */ + return 1668; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1678; + } } } } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0xx0xxxxx111xxxxxxxxxxxxx - msb. */ - return 1735; - } - else + if (((word >> 31) & 0x1) == 0) { if (((word >> 10) & 0x1) == 0) { if (((word >> 11) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00010xxxx111000xxxxxxxxxx - cntb. */ - return 1337; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01010xxxx111000xxxxxxxxxx - cntw. */ - return 1341; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx111000xxxxxxxxxx - cnth. */ - return 1339; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx111000xxxxxxxxxx - cntd. */ - return 1338; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx001x00xxxxxxxxxx + and. */ + return 1285; } else { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00011xxxx111000xxxxxxxxxx - incb. */ - return 1473; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01011xxxx111000xxxxxxxxxx - incw. */ - return 1481; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx111000xxxxxxxxxx - inch. */ - return 1477; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx111000xxxxxxxxxx - incd. */ - return 1475; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx001x00xxxxxxxxxx + eor. */ + return 1372; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00010xxxx111100xxxxxxxxxx - sqincb. */ - return 1840; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01010xxxx111100xxxxxxxxxx - sqincw. */ - return 1852; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx111100xxxxxxxxxx - sqinch. */ - return 1846; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx111100xxxxxxxxxx - sqincd. */ - return 1843; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx001x00xxxxxxxxxx + orr. */ + return 1757; } else { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00011xxxx111100xxxxxxxxxx - sqincb. */ - return 1839; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01011xxxx111100xxxxxxxxxx - sqincw. */ - return 1851; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx111100xxxxxxxxxx - sqinch. */ - return 1845; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx111100xxxxxxxxxx - sqincd. */ - return 1842; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx001x00xxxxxxxxxx + bic. */ + return 1298; } } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x01xxxxx001x10xxxxxxxxxx + eor3. */ + return 2065; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0x11xxxxx001x10xxxxxxxxxx + bcax. */ + return 2054; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx001x01xxxxxxxxxx + xar. */ + return 2327; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00010xxxx111x10xxxxxxxxxx - sqdecb. */ - return 1826; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01010xxxx111x10xxxxxxxxxx - sqdecw. */ - return 1838; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx001x11xxxxxxxxxx + bsl. */ + return 2055; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx111x10xxxxxxxxxx - sqdech. */ - return 1832; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx111x10xxxxxxxxxx - sqdecd. */ - return 1829; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx001x11xxxxxxxxxx + bsl2n. */ + return 2057; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00011xxxx111x10xxxxxxxxxx - sqdecb. */ - return 1825; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01011xxxx111x10xxxxxxxxxx - sqdecw. */ - return 1837; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx001x11xxxxxxxxxx + bsl1n. */ + return 2056; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx111x10xxxxxxxxxx - sqdech. */ - return 1831; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx111x10xxxxxxxxxx - sqdecd. */ - return 1828; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx001x11xxxxxxxxxx + nbsl. */ + return 2112; } } } } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x1xxxxx001xxxxxxxxxxxxx + prfh. */ + return 1780; + } else { - if (((word >> 11) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x1xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1673; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x00x1xxxxx001xxxxxxxxxxxxx + prfh. */ + return 1782; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) { if (((word >> 12) & 0x1) == 0) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0001xxxxx111001xxxxxxxxxx - decb. */ - return 1348; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0101xxxxx111001xxxxxxxxxx - decw. */ - return 1356; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0010x0xxxxxxxxxx + sqdmlalb. */ + return 2167; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0011xxxxx111001xxxxxxxxxx - dech. */ - return 1352; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x0111xxxxx111001xxxxxxxxxx - decd. */ - return 1350; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0010x0xxxxxxxxxx + sqdmlalb. */ + return 2168; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00010xxxx111101xxxxxxxxxx - uqincb. */ - return 1987; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01010xxxx111101xxxxxxxxxx - uqincw. */ - return 1999; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx111101xxxxxxxxxx - uqinch. */ - return 1993; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx111101xxxxxxxxxx - uqincd. */ - return 1990; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0011x0xxxxxxxxxx + sqdmlslb. */ + return 2174; } else { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00011xxxx111101xxxxxxxxxx - uqincb. */ - return 1988; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01011xxxx111101xxxxxxxxxx - uqincw. */ - return 2000; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx111101xxxxxxxxxx - uqinch. */ - return 1994; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx111101xxxxxxxxxx - uqincd. */ - return 1991; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0011x0xxxxxxxxxx + sqdmlslb. */ + return 2175; } } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00010xxxx111x11xxxxxxxxxx - uqdecb. */ - return 1973; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01010xxxx111x11xxxxxxxxxx - uqdecw. */ - return 1985; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0010x1xxxxxxxxxx + sqdmlalt. */ + return 2171; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00110xxxx111x11xxxxxxxxxx - uqdech. */ - return 1979; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01110xxxx111x11xxxxxxxxxx - uqdecd. */ - return 1976; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0010x1xxxxxxxxxx + sqdmlalt. */ + return 2172; } } else { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00011xxxx111x11xxxxxxxxxx - uqdecb. */ - return 1974; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01011xxxx111x11xxxxxxxxxx - uqdecw. */ - return 1986; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0011x1xxxxxxxxxx + sqdmlslt. */ + return 2178; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x00111xxxx111x11xxxxxxxxxx - uqdech. */ - return 1980; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x01111xxxx111x11xxxxxxxxxx - uqdecd. */ - return 1977; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0011x1xxxxxxxxxx + sqdmlslt. */ + return 2179; + } + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x1xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1679; + } + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0000101xxxxxxxxxxxxx + sxtb. */ + return 1953; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1000101xxxxxxxxxxxxx + cls. */ + return 1318; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0100101xxxxxxxxxxxxx + sxtw. */ + return 1955; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1100101xxxxxxxxxxxxx + fabs. */ + return 1380; + } + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0010101xxxxxxxxxxxxx + sxth. */ + return 1954; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1010101xxxxxxxxxxxxx + cnt. */ + return 1347; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0110101xxxxxxxxxxxxx + abs. */ + return 1276; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1110101xxxxxxxxxxxxx + not. */ + return 1754; + } + } + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0001101xxxxxxxxxxxxx + uxtb. */ + return 2016; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1001101xxxxxxxxxxxxx + clz. */ + return 1319; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0101101xxxxxxxxxxxxx + uxtw. */ + return 2018; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1101101xxxxxxxxxxxxx + fneg. */ + return 1457; } } } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x0011101xxxxxxxxxxxxx + uxth. */ + return 2017; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0x1011101xxxxxxxxxxxxx + cnot. */ + return 1346; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xx111101xxxxxxxxxxxxx + neg. */ + return 1751; + } + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx1010xxxxxxxxxxxx + adr. */ + return 1282; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx1010xxxxxxxxxxxx + adr. */ + return 1283; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01x1xxxxx1010xxxxxxxxxxxx + adr. */ + return 1284; + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx101100xxxxxxxxxx + ftssel. */ + return 1483; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx101110xxxxxxxxxx + fexpa. */ + return 1427; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx1011x1xxxxxxxxxx + movprfx. */ + return 1744; + } + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0000xxxxx101xxxxxxxxxxxxx + ldnt1b. */ + return 2091; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0100xxxxx101xxxxxxxxxxxxx + ldnt1h. */ + return 2094; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0001xxxxx101xxxxxxxxxxxxx + ldff1sb. */ + return 1670; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0101xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1682; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x001xxxxxx101xxxxxxxxxxxxx + ld1rb. */ + return 1538; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x011xxxxxx101xxxxxxxxxxxxx + ld1rh. */ + return 1542; + } + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0x0000101xxxxxxxxxxxxx + urecpe. */ + return 2302; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0x1000101xxxxxxxxxxxxx + sqabs. */ + return 2164; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx00x100101xxxxxxxxxxxxx + sadalp. */ + return 2128; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx01x100101xxxxxxxxxxxxx + smaxp. */ + return 2142; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxx10101xxxxxxxxxxxxx + sminp. */ + return 2143; + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx000001101xxxxxxxxxxxxx + ursqrte. */ + return 2307; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx010001101xxxxxxxxxxxxx + addp. */ + return 2053; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0x1001101xxxxxxxxxxxxx + sqneg. */ + return 2191; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx00x101101xxxxxxxxxxxxx + uadalp. */ + return 2259; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx01x101101xxxxxxxxxxxxx + umaxp. */ + return 2267; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxx11101xxxxxxxxxxxxx + uminp. */ + return 2268; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx101xxxxxxxxxxxxx + ldff1sb. */ + return 1669; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1680; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0001xxxxx101xxxxxxxxxxxxx + ldff1sb. */ + return 1671; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1010x0xxxxxxxxxx + smlslb. */ + return 2150; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1011x0xxxxxxxxxx + umlslb. */ + return 2275; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1010x1xxxxxxxxxx + smlslt. */ + return 2153; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1011x1xxxxxxxxxx + umlslt. */ + return 2278; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1683; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0011xxxxx101xxxxxxxxxxxxx + prfh. */ + return 1783; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1010x0xxxxxxxxxx + smlslb. */ + return 2151; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1011x0xxxxxxxxxx + umlslb. */ + return 2276; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1010x1xxxxxxxxxx + smlslt. */ + return 2154; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1011x1xxxxxxxxxx + umlslt. */ + return 2279; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx101xxxxxxxxxxxxx + ldff1sh. */ + return 1681; + } + } + } + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx011xxxxxxxxxxxxx + mls. */ + return 1743; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x0xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1627; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x0xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1647; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011000xxxxxxxxxx + sqdmlalb. */ + return 2169; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011100xxxxxxxxxx + sqrdmlah. */ + return 2198; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011010xxxxxxxxxx + sqdmlslb. */ + return 2176; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011110xxxxxxxxxx + usdot. */ + return 2396; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011001xxxxxxxxxx + sqdmlalt. */ + return 2173; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011101xxxxxxxxxx + sqrdmlsh. */ + return 2202; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0xx0xxxxx011x11xxxxxxxxxx + sqdmlslt. */ + return 2180; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x00x0xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1636; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1655; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011000xxxxxxxxxx + mul. */ + return 2111; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011100xxxxxxxxxx + sqdmulh. */ + return 2184; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011x10xxxxxxxxxx + smulh. */ + return 2156; + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011001xxxxxxxxxx + pmul. */ + return 2114; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011101xxxxxxxxxx + sqrdmulh. */ + return 2206; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx1xxxxx011x11xxxxxxxxxx + umulh. */ + return 2281; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x00x1xxxxx011xxxxxxxxxxxxx + prfd. */ + return 1773; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x01x1xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1648; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x00x1xxxxx011xxxxxxxxxxxxx + prfd. */ + return 1775; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0110xxxxxxxxxxxx + cmla. */ + return 2063; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0110xxxxxxxxxxxx + cmla. */ + return 2064; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx0111xxxxxxxxxxxx + sqrdcmlah. */ + return 2192; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx0111xxxxxxxxxxxx + sqrdcmlah. */ + return 2193; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x1xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1656; + } + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx0xxxxx111xxxxxxxxxxxxx + msb. */ + return 1746; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00010xxxx111000xxxxxxxxxx + cntb. */ + return 1348; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01010xxxx111000xxxxxxxxxx + cntw. */ + return 1352; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx111000xxxxxxxxxx + cnth. */ + return 1350; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx111000xxxxxxxxxx + cntd. */ + return 1349; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00011xxxx111000xxxxxxxxxx + incb. */ + return 1484; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01011xxxx111000xxxxxxxxxx + incw. */ + return 1492; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx111000xxxxxxxxxx + inch. */ + return 1488; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx111000xxxxxxxxxx + incd. */ + return 1486; + } + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00010xxxx111100xxxxxxxxxx + sqincb. */ + return 1851; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01010xxxx111100xxxxxxxxxx + sqincw. */ + return 1863; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx111100xxxxxxxxxx + sqinch. */ + return 1857; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx111100xxxxxxxxxx + sqincd. */ + return 1854; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00011xxxx111100xxxxxxxxxx + sqincb. */ + return 1850; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01011xxxx111100xxxxxxxxxx + sqincw. */ + return 1862; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx111100xxxxxxxxxx + sqinch. */ + return 1856; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx111100xxxxxxxxxx + sqincd. */ + return 1853; + } + } + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00010xxxx111x10xxxxxxxxxx + sqdecb. */ + return 1837; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01010xxxx111x10xxxxxxxxxx + sqdecw. */ + return 1849; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx111x10xxxxxxxxxx + sqdech. */ + return 1843; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx111x10xxxxxxxxxx + sqdecd. */ + return 1840; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00011xxxx111x10xxxxxxxxxx + sqdecb. */ + return 1836; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01011xxxx111x10xxxxxxxxxx + sqdecw. */ + return 1848; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx111x10xxxxxxxxxx + sqdech. */ + return 1842; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx111x10xxxxxxxxxx + sqdecd. */ + return 1839; + } + } + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0001xxxxx111001xxxxxxxxxx + decb. */ + return 1359; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx111001xxxxxxxxxx + decw. */ + return 1367; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0011xxxxx111001xxxxxxxxxx + dech. */ + return 1363; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx111001xxxxxxxxxx + decd. */ + return 1361; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00010xxxx111101xxxxxxxxxx + uqincb. */ + return 1998; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01010xxxx111101xxxxxxxxxx + uqincw. */ + return 2010; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx111101xxxxxxxxxx + uqinch. */ + return 2004; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx111101xxxxxxxxxx + uqincd. */ + return 2001; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00011xxxx111101xxxxxxxxxx + uqincb. */ + return 1999; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01011xxxx111101xxxxxxxxxx + uqincw. */ + return 2011; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx111101xxxxxxxxxx + uqinch. */ + return 2005; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx111101xxxxxxxxxx + uqincd. */ + return 2002; + } + } + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00010xxxx111x11xxxxxxxxxx + uqdecb. */ + return 1984; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01010xxxx111x11xxxxxxxxxx + uqdecw. */ + return 1996; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00110xxxx111x11xxxxxxxxxx + uqdech. */ + return 1990; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01110xxxx111x11xxxxxxxxxx + uqdecd. */ + return 1987; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00011xxxx111x11xxxxxxxxxx + uqdecb. */ + return 1985; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01011xxxx111x11xxxxxxxxxx + uqdecw. */ + return 1997; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x00111xxxx111x11xxxxxxxxxx + uqdech. */ + return 1991; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x01111xxxx111x11xxxxxxxxxx + uqdecd. */ + return 1988; + } + } + } + } + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0000xxxxx111xxxxxxxxxxxxx + prfb. */ + return 1770; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0100xxxxx111xxxxxxxxxxxxx + prfh. */ + return 1784; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0001xxxxx111xxxxxxxxxxxxx + ldff1b. */ + return 1638; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x0101xxxxx111xxxxxxxxxxxxx + ldff1h. */ + return 1659; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x001xxxxxx111xxxxxxxxxxxxx + ld1rb. */ + return 1540; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x011xxxxxx111xxxxxxxxxxxxx + ld1rh. */ + return 1544; + } + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0000xxxxx111xxxxxxxxxxxxx + prfb. */ + return 1772; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0100xxxxx111xxxxxxxxxxxxx + prfh. */ + return 1786; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0010xxxxx111xxxxxxxxxxxxx + ldff1b. */ + return 1637; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x0110xxxxx111xxxxxxxxxxxxx + ldff1h. */ + return 1657; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x00x1xxxxx111x00xxxxxxxxxx + sqdmulh. */ + return 2181; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x00x1xxxxx111x10xxxxxxxxxx + mul. */ + return 2108; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x00x1xxxxx111xx1xxxxxxxxxx + sqrdmulh. */ + return 2203; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0001xxxxx111xxxxxxxxxxxxx + ldff1b. */ + return 1639; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0011xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1776; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1110x0xxxxxxxxxx + sqdmullb. */ + return 2185; + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx111100xxxxxxxxxx + sqdmulh. */ + return 2182; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx111110xxxxxxxxxx + mul. */ + return 2109; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1110x1xxxxxxxxxx + sqdmullt. */ + return 2188; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx1111x1xxxxxxxxxx + sqrdmulh. */ + return 2204; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0101xxxxx111xxxxxxxxxxxxx + ldff1h. */ + return 1660; + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1110x0xxxxxxxxxx + sqdmullb. */ + return 2186; + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx111100xxxxxxxxxx + sqdmulh. */ + return 2183; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx111110xxxxxxxxxx + mul. */ + return 2110; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1110x1xxxxxxxxxx + sqdmullt. */ + return 2189; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx1111x1xxxxxxxxxx + sqrdmulh. */ + return 2205; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x0111xxxxx111xxxxxxxxxxxxx + ldff1h. */ + return 1658; + } + } + } + } + } + } + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx000xxxxxxxx0xxxx + cmphs. */ + return 1332; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx000xxxxxxxx1xxxx + cmphi. */ + return 1329; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00x0xxxxx000xxxxxxxxxxxxx + ld1rqb. */ + return 1546; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01x0xxxxx000xxxxxxxxxxxxx + ld1rqh. */ + return 1550; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx010xxxxxxxx0xxxx + cmpge. */ + return 1323; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx010xxxxxxxx1xxxx + cmpgt. */ + return 1326; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0000xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1504; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0100xxxxx010xxxxxxxxxxxxx + ld1sw. */ + return 1584; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0010xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1506; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0110xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1526; + } + } + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx001xxxxxxxx0xxxx + cmpeq. */ + return 1320; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx001xxxxxxxx1xxxx + cmpne. */ + return 1343; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00x0xxxxx001xxxxxxxxxxxxx + ld1rqb. */ + return 1545; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01x0xxxxx001xxxxxxxxxxxxx + ld1rqh. */ + return 1549; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx011xxxxxxxx0xxxx + cmplt. */ + return 1341; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx011xxxxxxxx1xxxx + cmple. */ + return 1335; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0000xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1628; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0100xxxxx011xxxxxxxxxxxxx + ldff1sw. */ + return 1684; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0010xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1632; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0110xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1651; + } + } + } + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xxxxx0xxxxxxxxxxxxxxx + fcmla. */ + return 1389; + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0x00xxxxx0x0xxxxxxxxxxxxx + st1b. */ + return 1866; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx0x0xxxxxxxxxxxxx + st1b. */ + return 1870; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx0x0xxxxxxxxxxxxx + st1h. */ + return 1891; + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0000xxxxx001xxxxxxxxxxxxx + stnt1b. */ + return 2243; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx001xxxxxxxxxxxxx + stnt1h. */ + return 2246; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx001xxxxxxxxxxxxx + stnt1b. */ + return 2242; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx001xxxxxxxxxxxxx + stnt1h. */ + return 2245; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0000xxxxx011xxxxxxxxxxxxx + stnt1b. */ + return 1936; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx011xxxxxxxxxxxxx + stnt1h. */ + return 1940; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx011xxxxxxxxxxxxx + st3b. */ + return 1920; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx011xxxxxxxxxxxxx + st3h. */ + return 1924; + } } } } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x0xx0xxxxx100xxxxxxxx0xxxx + cmpge. */ + return 1324; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x0xx0xxxxx100xxxxxxxx1xxxx + cmpgt. */ + return 1327; + } + } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx110xxxxxxxx0xxxx + cmphs. */ + return 1333; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx110xxxxxxxx1xxxx + cmphi. */ + return 1330; + } + } + else + { + if (((word >> 22) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x0000xxxxx111xxxxxxxxxxxxx - prfb. */ - return 1759; + 101001x0000xxxxx110xxxxxxxxxxxxx + ldnt1b. */ + return 1719; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x0100xxxxx111xxxxxxxxxxxxx - prfh. */ - return 1773; + 101001x0100xxxxx110xxxxxxxxxxxxx + ldnt1h. */ + return 1723; } } else @@ -6218,44 +8440,88 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x0001xxxxx111xxxxxxxxxxxxx - ldff1b. */ - return 1627; + 101001x0010xxxxx110xxxxxxxxxxxxx + ld3b. */ + return 1611; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x0101xxxxx111xxxxxxxxxxxxx - ldff1h. */ - return 1648; + 101001x0110xxxxx110xxxxxxxxxxxxx + ld3h. */ + return 1615; + } + } + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx00x00x1x0xxxxxxxxxxxxx + fcadd. */ + return 1388; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx01x00x1x0xxxxxxxxxxxxx + faddp. */ + return 2069; + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xx1001x0xxxxxxxxxxxxx + fmaxnmp. */ + return 2077; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xx1011x0xxxxxxxxxxxxx + fminnmp. */ + return 2079; } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x001xxxxxx111xxxxxxxxxxxxx - ld1rb. */ - return 1529; + 011001x0xx0xxx101x0xxxxxxxxxxxxx + fmaxp. */ + return 2078; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x011xxxxxx111xxxxxxxxxxxxx - ld1rh. */ - return 1533; + 011001x0xx0xxx111x0xxxxxxxxxxxxx + fminp. */ + return 2080; } } } - } - else - { - if (((word >> 21) & 0x1) == 0) + else { if (((word >> 22) & 0x1) == 0) { @@ -6263,17 +8529,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0000xxxxx111xxxxxxxxxxxxx - prfb. */ - return 1761; + 111001x0000xxxxx1x0xxxxxxxxxxxxx + st1b. */ + return 1867; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0100xxxxx111xxxxxxxxxxxxx - prfh. */ - return 1775; + 111001x0100xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1886; } } else @@ -6282,17 +8548,130 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0010xxxxx111xxxxxxxxxxxxx - ldff1b. */ - return 1626; + 111001x0010xxxxx1x0xxxxxxxxxxxxx + st1b. */ + return 1871; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0110xxxxx111xxxxxxxxxxxxx - ldff1h. */ - return 1646; + 111001x0110xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1892; + } + } + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx101xxxxxxxx0xxxx + cmpeq. */ + return 1321; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx101xxxxxxxx1xxxx + cmpne. */ + return 1344; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00000xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1511; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01000xxxx101xxxxxxxxxxxxx + ld1sw. */ + return 1589; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00100xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1513; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01100xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1534; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00001xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1703; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01001xxxx101xxxxxxxxxxxxx + ldnf1sw. */ + return 1716; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00101xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1705; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01101xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1709; + } + } } } } @@ -6302,19 +8681,63 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0001xxxxx111xxxxxxxxxxxxx - ldff1b. */ - return 1628; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0000xxxxx101xxxxxxxxxxxxx + fcvtxnt. */ + return 2075; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0000xxxxx101xxxxxxxxxxxxx + st1b. */ + return 1868; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0101xxxxx111xxxxxxxxxxxxx - ldff1h. */ - return 1649; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxx00101xxxxxxxxxxxxx + fcvtnt. */ + return 2072; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxx10101xxxxxxxxxxxxx + bfcvtnt. */ + return 2425; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0100xxxx1101xxxxxxxxxxxxx + fcvtlt. */ + return 2070; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1887; + } } } else @@ -6323,36 +8746,46 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x0011xxxxx111xxxxxxxxxxxxx - prfd. */ - return 1765; + x11001x0010xxxxx101xxxxxxxxxxxxx + st1b. */ + return 1875; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x0111xxxxx111xxxxxxxxxxxxx - ldff1h. */ - return 1647; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0110xxxx0101xxxxxxxxxxxxx + fcvtnt. */ + return 2073; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0110xxxx1101xxxxxxxxxxxxx + fcvtlt. */ + return 2071; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1896; + } } } } } - } - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) + else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { if (((word >> 31) & 0x1) == 0) { @@ -6360,58 +8793,91 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx0xxxxx000xxxxxxxx0xxxx - cmphs. */ - return 1321; + 001001x0xx0xxxxx111xxxxxxxx0xxxx + cmplo. */ + return 1337; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx0xxxxx000xxxxxxxx1xxxx - cmphi. */ - return 1318; + 001001x0xx0xxxxx111xxxxxxxx1xxxx + cmpls. */ + return 1339; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00x0xxxxx000xxxxxxxxxxxxx - ld1rqb. */ - return 1535; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0000xxxxx111xxxxxxxxxxxxx + ldnt1b. */ + return 1720; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0100xxxxx111xxxxxxxxxxxxx + ldnt1h. */ + return 1724; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01x0xxxxx000xxxxxxxxxxxxx - ld1rqh. */ - return 1539; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0010xxxxx111xxxxxxxxxxxxx + ld3b. */ + return 1612; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0110xxxxx111xxxxxxxxxxxxx + ld3h. */ + return 1616; + } } } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx0xxxxx010xxxxxxxx0xxxx - cmpge. */ - return 1312; + x11001x0x000xxxx111xxxxxxxxxxxxx + st1b. */ + return 1873; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx010xxxxxxxx1xxxx - cmpgt. */ - return 1315; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00100xxxx111xxxxxxxxxxxxx + st1b. */ + return 1876; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x01100xxxx111xxxxxxxxxxxxx + st1h. */ + return 1897; + } } } else @@ -6422,17 +8888,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0000xxxxx010xxxxxxxxxxxxx - ld1b. */ - return 1493; + x11001x00001xxxx111xxxxxxxxxxxxx + stnt1b. */ + return 1937; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0100xxxxx010xxxxxxxxxxxxx - ld1sw. */ - return 1573; + x11001x01001xxxx111xxxxxxxxxxxxx + stnt1h. */ + return 1941; } } else @@ -6441,84 +8907,112 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0010xxxxx010xxxxxxxxxxxxx - ld1b. */ - return 1495; + x11001x00101xxxx111xxxxxxxxxxxxx + st3b. */ + return 1921; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0110xxxxx010xxxxxxxxxxxxx - ld1h. */ - return 1515; + x11001x01101xxxx111xxxxxxxxxxxxx + st3h. */ + return 1925; } } } } } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx0xxxxxxxx0xxxx + cmphs. */ + return 1334; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx0xxxxxxxx1xxxx + cmphi. */ + return 1331; + } + } else { if (((word >> 14) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx001xxxxxxxx0xxxx - cmpeq. */ - return 1309; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx001xxxxxxxx1xxxx - cmpne. */ - return 1332; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00x1xxxxxx00xxxxxxxxxxxxx + ld1rob. */ + return 2401; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00x0xxxxx001xxxxxxxxxxxxx - ld1rqb. */ - return 1534; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01x0xxxxx001xxxxxxxxxxxxx - ld1rqh. */ - return 1538; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01x1xxxxxx00xxxxxxxxxxxxx + ld1roh. */ + return 2402; } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx011xxxxxxxx0xxxx - cmplt. */ - return 1330; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1505; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1525; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx011xxxxxxxx1xxxx - cmple. */ - return 1324; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1507; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1527; + } } } else @@ -6529,17 +9023,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0000xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1617; + 101001x0001xxxxx110xxxxxxxxxxxxx + ld2b. */ + return 1603; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0100xxxxx011xxxxxxxxxxxxx - ldff1sw. */ - return 1673; + 101001x0101xxxxx110xxxxxxxxxxxxx + ld2h. */ + return 1607; } } else @@ -6548,17 +9042,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0010xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1621; + 101001x0011xxxxx110xxxxxxxxxxxxx + ld4b. */ + return 1619; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0110xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1640; + 101001x0111xxxxx110xxxxxxxxxxxxx + ld4h. */ + return 1623; } } } @@ -6567,174 +9061,185 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x0xx0xxxxx0xxxxxxxxxxxxxxx - fcmla. */ - return 1378; - } - else + if (((word >> 15) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0x00xxxxx0x0xxxxxxxxxxxxx - st1b. */ - return 1855; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0010xxxxx0x0xxxxxxxxxxxxx - st1b. */ - return 1859; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0110xxxxx0x0xxxxxxxxxxxxx - st1h. */ - return 1880; - } - } - } - else + if (((word >> 14) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0000xxxxx0x1xxxxxxxxxxxxx - stnt1b. */ - return 1925; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00x1xxxxx0000x0xxxxxxxxxx + fmla. */ + return 1442; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0101xxxxx0000x0xxxxxxxxxx + fmla. */ + return 1443; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx0000x0xxxxxxxxxx + fmla. */ + return 1444; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0100xxxxx0x1xxxxxxxxxxxxx - stnt1h. */ - return 1929; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00x1xxxxx0000x1xxxxxxxxxx + fmls. */ + return 1446; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0101xxxxx0000x1xxxxxxxxxx + fmls. */ + return 1447; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx0000x1xxxxxxxxxx + fmls. */ + return 1448; + } + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 111001x0010xxxxx0x1xxxxxxxxxxxxx - st3b. */ - return 1909; + x11001x0x01xxxxx0001xxxxxxxxxxxx + fcmla. */ + return 1390; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 111001x0110xxxxx0x1xxxxxxxxxxxxx - st3h. */ - return 1913; + x11001x0x11xxxxx0001xxxxxxxxxxxx + fcmla. */ + return 1391; } } } - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x0xx0xxxxx100xxxxxxxx0xxxx - cmpge. */ - return 1313; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x0xx0xxxxx100xxxxxxxx1xxxx - cmpgt. */ - return 1316; - } - } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx0xxxxx110xxxxxxxx0xxxx - cmphs. */ - return 1322; + x11001x0001xxxxx010xxxxxxxxxxxxx + st1b. */ + return 1869; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx110xxxxxxxx1xxxx - cmphi. */ - return 1319; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx010xx0xxxxxxxxxx + fmlalb. */ + return 2081; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx010xx1xxxxxxxxxx + fmlalt. */ + return 2083; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0101xxxxx010xxxxxxxxxxxxx + st1h. */ + return 1888; + } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0000xxxxx110xxxxxxxxxxxxx - ldnt1b. */ - return 1708; + 011001x0011xxxxx010xxxxxxxxxxxxx + bfdot. */ + return 2422; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0100xxxxx110xxxxxxxxxxxxx - ldnt1h. */ - return 1712; + 111001x0011xxxxx010xxxxxxxxxxxxx + st1b. */ + return 1872; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0010xxxxx110xxxxxxxxxxxxx - ld3b. */ - return 1600; + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx010xx0xxxxxxxxxx + bfmlalb. */ + return 2429; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx010xx1xxxxxxxxxx + bfmlalt. */ + return 2428; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0110xxxxx110xxxxxxxxxxxxx - ld3h. */ - return 1604; + 111001x0111xxxxx010xxxxxxxxxxxxx + st1h. */ + return 1893; } } } @@ -6742,80 +9247,124 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x0xx0xxxxx1x0xxxxxxxxxxxxx - fcadd. */ - return 1377; - } - else + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 111001x0000xxxxx1x0xxxxxxxxxxxxx - st1b. */ - return 1856; + 011001x0x01xxxxx1x0xx0xxxxxxxxxx + fmlalb. */ + return 2082; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 111001x0100xxxxx1x0xxxxxxxxxxxxx - st1h. */ - return 1875; + 011001x0x01xxxxx1x0xx1xxxxxxxxxx + fmlalt. */ + return 2084; } } else { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0x01xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1889; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0011xxxxx1x0xxxxxxxxxxxxx + bfdot. */ + return 2421; + } + else + { + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 111001x0010xxxxx1x0xxxxxxxxxxxxx - st1b. */ - return 1860; + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx1x0xx0xxxxxxxxxx + bfmlalb. */ + return 2427; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0111xxxxx1x0xx1xxxxxxxxxx + bfmlalt. */ + return 2426; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 111001x0110xxxxx1x0xxxxxxxxxxxxx + 111001x0111xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1881; + return 1894; } } } } } - else + } + else + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx1xxxxxxxx0xxxx + cmplo. */ + return 1338; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx1xxxxxxxx1xxxx + cmpls. */ + return 1340; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx0xxxxx101xxxxxxxx0xxxx - cmpeq. */ - return 1310; + 101001x00x1xxxxx001xxxxxxxxxxxxx + ld1rob. */ + return 2405; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx0xxxxx101xxxxxxxx1xxxx - cmpne. */ - return 1333; + 101001x01x1xxxxx001xxxxxxxxxxxxx + ld1roh. */ + return 2406; } } else @@ -6828,17 +9377,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x00000xxxx101xxxxxxxxxxxxx + 101001x00010xxxx101xxxxxxxxxxxxx ld1b. */ - return 1500; + return 1512; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x01000xxxx101xxxxxxxxxxxxx - ld1sw. */ - return 1578; + 101001x01010xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1533; } } else @@ -6847,17 +9396,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x00100xxxx101xxxxxxxxxxxxx + 101001x00110xxxx101xxxxxxxxxxxxx ld1b. */ - return 1502; + return 1514; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x01100xxxx101xxxxxxxxxxxxx + 101001x01110xxxx101xxxxxxxxxxxxx ld1h. */ - return 1523; + return 1535; } } } @@ -6869,17 +9418,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x00001xxxx101xxxxxxxxxxxxx + 101001x00011xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1692; + return 1704; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x01001xxxx101xxxxxxxxxxxxx - ldnf1sw. */ - return 1705; + 101001x01011xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1708; } } else @@ -6888,41 +9437,239 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x00101xxxx101xxxxxxxxxxxxx + 101001x00111xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1694; + return 1706; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x01101xxxx101xxxxxxxxxxxxx + 101001x01111xxxx101xxxxxxxxxxxxx ldnf1h. */ - return 1698; + return 1710; } } } } } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1630; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1649; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1634; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1653; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx111xxxxxxxxxxxxx + ld2b. */ + return 1604; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx111xxxxxxxxxxxxx + ld2h. */ + return 1608; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx111xxxxxxxxxxxxx + ld4b. */ + return 1620; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx111xxxxxxxxxxxxx + ld4h. */ + return 1624; + } + } + } + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00x1xxxxx001xxxxxxxxxxxxx + fmul. */ + return 1453; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0101xxxxx001xxxxxxxxxxxxx + fmul. */ + return 1454; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx001xxxxxxxxxxxxx + fmul. */ + return 1455; + } + } + } else { if (((word >> 22) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0x01xxxxx101xx0xxxxxxxxxx + fmlslb. */ + return 2086; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0x01xxxxx101xx1xxxxxxxxxx + fmlslt. */ + return 2088; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0x01xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1890; + } + } + else { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0000xxxxx101xxxxxxxxxxxxx + x11001x0011xxxxx101xxxxxxxxxxxxx st1b. */ - return 1857; + return 1877; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0100xxxxx101xxxxxxxxxxxxx + x11001x0111xxxxx101xxxxxxxxxxxxx st1h. */ - return 1876; + return 1898; + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0001xxxxx011xxxxxxxxxxxxx + st2b. */ + return 1912; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx011xx0xxxxxxxxxx + fmlslb. */ + return 2085; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0101xxxxx011xx1xxxxxxxxxx + fmlslt. */ + return 2087; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0101xxxxx011xxxxxxxxxxxxx + st2h. */ + return 1916; + } } } else @@ -6931,156 +9678,134 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0010xxxxx101xxxxxxxxxxxxx - st1b. */ - return 1864; + x11001x0011xxxxx011xxxxxxxxxxxxx + st4b. */ + return 1928; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0110xxxxx101xxxxxxxxxxxxx - st1h. */ - return 1885; + x11001x0111xxxxx011xxxxxxxxxxxxx + st4h. */ + return 1932; } } } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx111xxxxxxxx0xxxx - cmplo. */ - return 1326; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx0xxxxx111xxxxxxxx1xxxx - cmpls. */ - return 1328; - } - } - else + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0000xxxxx111xxxxxxxxxxxxx - ldnt1b. */ - return 1709; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0100xxxxx111xxxxxxxxxxxxx - ldnt1h. */ - return 1713; - } - } - else + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0010xxxxx111xxxxxxxxxxxxx - ld3b. */ - return 1601; + x11001x00010xxxx111xxxxxxxxxxxxx + st1b. */ + return 1874; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0110xxxxx111xxxxxxxxxxxxx - ld3h. */ - return 1605; + x11001x00011xxxx111xxxxxxxxxxxxx + st2b. */ + return 1913; } } - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x000xxxx111xxxxxxxxxxxxx - st1b. */ - return 1862; - } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00100xxxx111xxxxxxxxxxxxx - st1b. */ - return 1865; + 011001x0101xxxxx111xxxxxxxxxxxxx + fmmla. */ + return 2399; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01100xxxx111xxxxxxxxxxxxx - st1h. */ - return 1886; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01010xxxx111xxxxxxxxxxxxx + st1h. */ + return 1895; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01011xxxx111xxxxxxxxxxxxx + st2h. */ + return 1917; + } } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00001xxxx111xxxxxxxxxxxxx - stnt1b. */ - return 1926; + 011001x0011xxxxx111xxxxxxxxxxxxx + bfmmla. */ + return 2423; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01001xxxx111xxxxxxxxxxxxx - stnt1h. */ - return 1930; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x00110xxxx111xxxxxxxxxxxxx + st1b. */ + return 1878; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x00111xxxx111xxxxxxxxxxxxx + st4b. */ + return 1929; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00101xxxx111xxxxxxxxxxxxx - st3b. */ - return 1910; + 011001x0111xxxxx111xxxxxxxxxxxxx + fmmla. */ + return 2400; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01101xxxx111xxxxxxxxxxxxx - st3h. */ - return 1914; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01110xxxx111xxxxxxxxxxxxx + st1h. */ + return 1899; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x01111xxxx111xxxxxxxxxxxxx + st4h. */ + return 1933; + } } } } @@ -7089,461 +9814,819 @@ aarch64_opcode_lookup_1 (uint32_t word) } } } - else + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x10000xxxxxxxxxxxxxxxxxxxx + orr. */ + return 1758; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x11000xxxxxxxxxxxxxxxxxxxx + and. */ + return 1286; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x10100xxxxxxxxxxxxxxxxxxxx + eor. */ + return 1373; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x11100xxxxxxxxxxxxxxxxxxxx + dupm. */ + return 1371; + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx1xxxxxxx0xxxxxxxx0xxxx - cmphs. */ - return 1323; + 000001x1xx01xxxx0xxxxxxxxxxxxxxx + cpy. */ + return 1356; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 001001x0xx1xxxxxxx0xxxxxxxx1xxxx - cmphi. */ - return 1320; + 000001x1xx01xxxx1xxxxxxxxxxxxxxx + fcpy. */ + return 1403; } } - else + } + else + { + if (((word >> 14) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0001xxxxx0x0xxxxxxxxxxxxx - ld1b. */ - return 1494; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1001xxxxx000xxxxxxxxxxxxx + ext. */ + return 1378; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000x00xxxxxxxxxx + zip1. */ + return 2409; + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000010xxxxxxxxxx + uzp1. */ + return 2411; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000110xxxxxxxxxx + trn1. */ + return 2413; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000x01xxxxxxxxxx + zip2. */ + return 2410; + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000011xxxxxxxxxx + uzp2. */ + return 2412; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1101xxxxx000111xxxxxxxxxx + trn2. */ + return 2414; + } + } + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0101xxxxx0x0xxxxxxxxxxxxx - ld1h. */ - return 1514; + 000001x1x11xxxxx000xxxxxxxxxxxxx + ext. */ + return 2068; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0011xxxxx0x0xxxxxxxxxxxxx - ld1b. */ - return 1496; + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0000100xxxxxxxxxxxxx + cpy. */ + return 1354; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1000100xxxxxxxxxxxxx + clasta. */ + return 1312; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0100100xxxxxxxxxxxxx + revb. */ + return 1806; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1100100xxxxxxxxxxxxx + splice. */ + return 1833; + } + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0010100xxxxxxxxxxxxx + lasta. */ + return 1500; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1010100xxxxxxxxxxxxx + clasta. */ + return 1313; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xx110100xxxxxxxxxxxxx + revw. */ + return 1808; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx0x0xxxxxxxxxxxxx - ld1h. */ - return 1516; + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0001100xxxxxxxxxxxxx + compact. */ + return 1353; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1001100xxxxxxxxxxxxx + clastb. */ + return 1315; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0101100xxxxxxxxxxxxx + revh. */ + return 1807; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1101100xxxxxxxxxxxxx + splice. */ + return 2163; + } + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0011100xxxxxxxxxxxxx + lastb. */ + return 1502; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1011100xxxxxxxxxxxxx + clastb. */ + return 1316; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xx111100xxxxxxxxxxxxx + rbit. */ + return 1799; + } + } } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0001xxxxx1x0xxxxxxxxxxxxx - ld2b. */ - return 1592; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001000xxxxxxxxxx + dup. */ + return 1369; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001100xxxxxxxxxx + tbl. */ + return 1956; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx001010xxxxxxxxxx + tbl. */ + return 2252; + } + 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 + 000001x1xx100000001110xxxxxxxxxx + dup. */ + return 1368; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx110000001110xxxxxxxxxx + sunpklo. */ + return 1952; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1000001110xxxxxxxxxx + rev. */ + return 1805; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx10x100001110xxxxxxxxxx + insr. */ + return 1497; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x100001110xxxxxxxxxx + insr. */ + return 1498; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxx10001110xxxxxxxxxx + uunpklo. */ + return 2015; + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxx01001110xxxxxxxxxx + sunpkhi. */ + return 1951; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxx11001110xxxxxxxxxx + uunpkhi. */ + return 2014; + } + } + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0101xxxxx1x0xxxxxxxxxxxxx - ld2h. */ - return 1596; + 000001x1xx1xxxxx001xx1xxxxxxxxxx + tbx. */ + return 2253; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0011xxxxx1x0xxxxxxxxxxxxx - ld4b. */ - return 1608; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx100xx0101xxxxxxxxxxxxx + lasta. */ + return 1499; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx110xx0101xxxxxxxxxxxxx + clasta. */ + return 1314; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1xx0101xxxxxxxxxxxxx + cpy. */ + return 1355; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx1x0xxxxxxxxxxxxx - ld4h. */ - return 1612; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx10xxx1101xxxxxxxxxxxxx + lastb. */ + return 1501; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11xxx1101xxxxxxxxxxxxx + clastb. */ + return 1317; + } } } } } - } - else - { - if (((word >> 15) & 0x1) == 0) + else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x00x1xxxxx0000x0xxxxxxxxxx - fmla. */ - return 1431; + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx10xxxx010000xxxxxxxxxx + zip1. */ + return 2032; + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x0x0010000xxxxxxxxxx + punpklo. */ + return 1798; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x1x0010000xxxxxxxxxx + rev. */ + return 1804; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11xxx1010000xxxxxxxxxx + punpkhi. */ + return 1797; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011000xxxxxxxxxx + zip1. */ + return 2033; + } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0101xxxxx0000x0xxxxxxxxxx - fmla. */ - return 1432; + 000001x1xx1xxxxx010100xxxxxxxxxx + trn1. */ + return 1957; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0111xxxxx0000x0xxxxxxxxxx - fmla. */ - return 1433; + 000001x1xx1xxxxx011100xxxxxxxxxx + trn1. */ + return 1958; } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00x1xxxxx0000x1xxxxxxxxxx - fmls. */ - return 1435; + 000001x1xx1xxxxx010x10xxxxxxxxxx + uzp1. */ + return 2019; } else { - if (((word >> 22) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011x10xxxxxxxxxx + uzp1. */ + return 2020; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0101xxxxx0000x1xxxxxxxxxx - fmls. */ - return 1436; + 000001x1xx1xxxxx010001xxxxxxxxxx + zip2. */ + return 2034; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0111xxxxx0000x1xxxxxxxxxx - fmls. */ - return 1437; + 000001x1xx1xxxxx011001xxxxxxxxxx + zip2. */ + return 2035; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx010101xxxxxxxxxx + trn2. */ + return 1959; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011101xxxxxxxxxx + trn2. */ + return 1960; } } - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x01xxxxx0001xxxxxxxxxxxx - fcmla. */ - return 1379; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x11xxxxx0001xxxxxxxxxxxx - fcmla. */ - return 1380; - } - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0001xxxxx010xxxxxxxxxxxxx - st1b. */ - return 1858; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0101xxxxx010xxxxxxxxxxxxx - st1h. */ - return 1877; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0011xxxxx010xxxxxxxxxxxxx - st1b. */ - return 1861; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0111xxxxx010xxxxxxxxxxxxx - st1h. */ - return 1882; + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx010x11xxxxxxxxxx + uzp2. */ + return 2021; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011x11xxxxxxxxxx + uzp2. */ + return 2022; + } } } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0x01xxxxx1x0xxxxxxxxxxxxx - st1h. */ - return 1878; - } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0x11xxxxx1x0xxxxxxxxxxxxx - st1h. */ - return 1883; + 000001x1xx1xxxxx11xxxxxxxxxxxxxx + sel. */ + return 1823; } } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx1xxxxxxx1xxxxxxxx0xxxx - cmplo. */ - return 1327; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x0xxxxxx000xxxxxxxxxxxxx + ldr. */ + return 1727; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x1xxxxxx000xxxxxxxxxxxxx + prfb. */ + return 1771; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 001001x0xx1xxxxxxx1xxxxxxxx1xxxx - cmpls. */ - return 1329; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10xxxxxxx100xxxxxxxxxxxxx + ld1rsh. */ + return 1556; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x11xxxxxxx100xxxxxxxxxxxxx + ld1rsb. */ + return 1553; + } } } else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00010xxxxx01xxxxxxxxxxxxx - ld1b. */ - return 1501; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01010xxxxx01xxxxxxxxxxxxx - ld1h. */ - return 1522; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x0xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1591; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00110xxxxx01xxxxxxxxxxxxx - ld1b. */ - return 1503; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01110xxxxx01xxxxxxxxxxxxx - ld1h. */ - return 1524; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x1xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1592; } } else { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00011xxxxx01xxxxxxxxxxxxx - ldnf1b. */ - return 1693; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01011xxxxx01xxxxxxxxxxxxx - ldnf1h. */ - return 1697; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x110xxxxxx010xxxxxxxxxxxxx + ldr. */ + return 1728; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x00111xxxxx01xxxxxxxxxxxxx - ldnf1b. */ - return 1695; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x01111xxxxx01xxxxxxxxxxxxx - ldnf1h. */ - return 1699; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x111xxxxxx010xxxxxxxxxxxxx + prfw. */ + return 1792; } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0001xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1619; + 100001x1000xxxxx110xxxxxxxxxxxxx + prfw. */ + return 1788; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 101001x0101xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1638; + 100001x1100xxxxx110xxxxxxxxxxxxx + prfd. */ + return 1774; } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0011xxxxx011xxxxxxxxxxxxx - ldff1b. */ - return 1623; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx011xxxxxxxxxxxxx - ldff1h. */ - return 1642; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x01xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1599; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0001xxxxx111xxxxxxxxxxxxx - ld2b. */ - return 1593; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0101xxxxx111xxxxxxxxxxxxx - ld2h. */ - return 1597; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x101xxxxxx110xxxxxxxxxxxxx + ld1rw. */ + return 1559; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0011xxxxx111xxxxxxxxxxxxx - ld4b. */ - return 1609; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 101001x0111xxxxx111xxxxxxxxxxxxx - ld4h. */ - return 1613; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x111xxxxxx110xxxxxxxxxxxxx + ld1rsb. */ + return 1555; } } } @@ -7555,43 +10638,106 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1xxxxxxxx001xxxxxxxxxxxxx + prfh. */ + return 1785; + } + else + { + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00x1xxxxx001xxxxxxxxxxxxx - fmul. */ - return 1442; + 100001x1x0xxxxxx101xxxxxxxxxxxxx + ldnt1w. */ + return 2099; } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0101xxxxx001xxxxxxxxxxxxx - fmul. */ - return 1443; + 100001x101xxxxxx101xxxxxxxxxxxxx + ld1rsh. */ + return 1557; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0111xxxxx001xxxxxxxxxxxxx - fmul. */ - return 1444; + 100001x111xxxxxx101xxxxxxxxxxxxx + ld1rsb. */ + return 1554; } } } - else + } + else + { + if (((word >> 15) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x0xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1691; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x1xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1692; + } + } + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0x01xxxxx101xxxxxxxxxxxxx - st1h. */ - return 1879; + 100001x11xxxxxxx011xxxxxxxxxxxxx + prfd. */ + return 1778; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1000xxxxx111xxxxxxxxxxxxx + prfw. */ + return 1791; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1100xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1777; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x01xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1701; + } } else { @@ -7599,984 +10745,783 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0011xxxxx101xxxxxxxxxxxxx - st1b. */ - return 1866; + 100001x101xxxxxx111xxxxxxxxxxxxx + ld1rw. */ + return 1560; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x0111xxxxx101xxxxxxxxxxxxx - st1h. */ - return 1887; + 100001x111xxxxxx111xxxxxxxxxxxxx + ld1rd. */ + return 1541; } } } } - else + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0001xxxxx011xxxxxxxxxxxxx - st2b. */ - return 1901; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000000xxxxxxxxxx + saddlb. */ + return 2129; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000100xxxxxxxxxx + ssublb. */ + return 2236; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000010xxxxxxxxxx + uaddlb. */ + return 2260; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000110xxxxxxxxxx + usublb. */ + return 2313; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0101xxxxx011xxxxxxxxxxxxx - st2h. */ - return 1905; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000001xxxxxxxxxx + saddlt. */ + return 2131; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000101xxxxxxxxxx + ssublt. */ + return 2238; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000011xxxxxxxxxx + uaddlt. */ + return 2261; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx000111xxxxxxxxxx + usublt. */ + return 2314; + } + } } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0011xxxxx011xxxxxxxxxxxxx - st4b. */ - return 1917; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x0111xxxxx011xxxxxxxxxxxxx - st4h. */ - return 1921; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1xx0xxxxx000xxxxxxxxxxxxx + ld1sw. */ + return 1585; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x00010xxxx111xxxxxxxxxxxxx - st1b. */ - return 1863; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000000xxxxxxxxxx + sqshrunb. */ + return 2219; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000100xxxxxxxxxx + shrnb. */ + return 2137; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01010xxxx111xxxxxxxxxxxxx - st1h. */ - return 1884; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000010xxxxxxxxxx + sqrshrunb. */ + return 2211; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000110xxxxxxxxxx + rshrnb. */ + return 2119; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x00110xxxx111xxxxxxxxxxxxx - st1b. */ - return 1867; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000001xxxxxxxxxx + sqshrunt. */ + return 2220; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000101xxxxxxxxxx + shrnt. */ + return 2138; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01110xxxx111xxxxxxxxxxxxx - st1h. */ - return 1888; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000011xxxxxxxxxx + sqrshrunt. */ + return 2212; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx000111xxxxxxxxxx + rshrnt. */ + return 2120; + } } } } else { - if (((word >> 22) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1xx1xxxxx000xxxxxxxxxxxxx + ld1sw. */ + return 1586; + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x00011xxxx111xxxxxxxxxxxxx - st2b. */ - return 1902; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100000xxxxxxxxxx + saddlbt. */ + return 2130; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100100xxxxxxxxxx + eorbt. */ + return 2066; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x01011xxxx111xxxxxxxxxxxxx - st2h. */ - return 1906; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx100010xxxxxxxxxx + ssublbt. */ + return 2237; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1000xxxxx100110xxxxxxxxxx + smmla. */ + return 2393; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1100xxxxx100110xxxxxxxxxx + usmmla. */ + return 2395; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx100110xxxxxxxxxx + ummla. */ + return 2394; + } + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x00111xxxx111xxxxxxxxxxxxx - st4b. */ - return 1918; + 010001x1xx0xxxxx100x01xxxxxxxxxx + eortb. */ + return 2067; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x01111xxxx111xxxxxxxxxxxxx - st4h. */ - return 1922; + 010001x1xx0xxxxx100x11xxxxxxxxxx + ssubltb. */ + return 2239; } } } - } - } - } - } - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x10000xxxxxxxxxxxxxxxxxxxx - orr. */ - return 1747; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x11000xxxxxxxxxxxxxxxxxxxx - and. */ - return 1275; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x10100xxxxxxxxxxxxxxxxxxxx - eor. */ - return 1362; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x11100xxxxxxxxxxxxxxxxxxxx - dupm. */ - return 1360; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x00xxxxx100xxxxxxxxxxxxx + ldnt1sw. */ + return 2098; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x10xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1587; + } } } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx01xxxx0xxxxxxxxxxxxxxx - cpy. */ - return 1345; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx01xxxx1xxxxxxxxxxxxxxx - fcpy. */ - return 1392; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx100xxxxxxxx0xxxx + match. */ + return 2101; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx100xxxxxxxx1xxxx + nmatch. */ + return 2113; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x01xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1590; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1x11xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1588; + } + } } } } else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx000xxxxxxxxxxxxx - ext. */ - return 1367; - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x0000100xxxxxxxxxxxxx - cpy. */ - return 1343; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1000100xxxxxxxxxxxxx - clasta. */ - return 1301; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010000xxxxxxxxxx + saddwb. */ + return 2132; } else { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x0100100xxxxxxxxxxxxx - revb. */ - return 1795; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1100100xxxxxxxxxxxxx - splice. */ - return 1822; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010100xxxxxxxxxx + ssubwb. */ + return 2240; } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x0010100xxxxxxxxxxxxx - lasta. */ - return 1489; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1010100xxxxxxxxxxxxx - clasta. */ - return 1302; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010010xxxxxxxxxx + uaddwb. */ + return 2262; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xx110100xxxxxxxxxxxxx - revw. */ - return 1797; + 010001x1xx0xxxxx010110xxxxxxxxxx + usubwb. */ + return 2315; } } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x0001100xxxxxxxxxxxxx - compact. */ - return 1342; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1001100xxxxxxxxxxxxx - clastb. */ - return 1304; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010001xxxxxxxxxx + saddwt. */ + return 2133; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xx101100xxxxxxxxxxxxx - revh. */ - return 1796; + 010001x1xx0xxxxx010101xxxxxxxxxx + ssubwt. */ + return 2241; } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x0011100xxxxxxxxxxxxx - lastb. */ - return 1491; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1011100xxxxxxxxxxxxx - clastb. */ - return 1305; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx010011xxxxxxxxxx + uaddwt. */ + return 2263; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xx111100xxxxxxxxxxxxx - rbit. */ - return 1788; + 010001x1xx0xxxxx010111xxxxxxxxxx + usubwt. */ + return 2316; } } } } - } - else - { - if (((word >> 15) & 0x1) == 0) + else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx00100xxxxxxxxxxx - dup. */ - return 1358; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx00110xxxxxxxxxxx - tbl. */ - return 1945; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x0xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1595; } else { - if (((word >> 16) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x11x0xxxxx010xxxxxxxxxxxxx + ld1d. */ + return 1517; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx100000001x1xxxxxxxxxxx - dup. */ - return 1357; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx110000001x1xxxxxxxxxxx - sunpklo. */ - return 1941; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1000001x1xxxxxxxxxxx - rev. */ - return 1794; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010000xxxxxxxxxx + sqxtnb. */ + return 2223; } else { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx10x100001x1xxxxxxxxxxx - insr. */ - return 1486; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx11x100001x1xxxxxxxxxxx - insr. */ - return 1487; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010100xxxxxxxxxx + sqxtunb. */ + return 2225; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xxx10001x1xxxxxxxxxxx - uunpklo. */ - return 2004; + 010001x10x1xxxxx010x10xxxxxxxxxx + uqxtnb. */ + return 2300; } } else { - if (((word >> 17) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxx01001x1xxxxxxxxxxx - sunpkhi. */ - return 1940; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxx11001x1xxxxxxxxxxx - uunpkhi. */ - return 2003; - } - } - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx100xx0101xxxxxxxxxxxxx - lasta. */ - return 1488; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010001xxxxxxxxxx + sqxtnt. */ + return 2224; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x1xxxxx010101xxxxxxxxxx + sqxtunt. */ + return 2226; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx110xx0101xxxxxxxxxxxxx - clasta. */ - return 1303; + 010001x10x1xxxxx010x11xxxxxxxxxx + uqxtnt. */ + return 2301; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1x1xx0101xxxxxxxxxxxxx - cpy. */ - return 1344; - } } else { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx10xxx1101xxxxxxxxxxxxx - lastb. */ - return 1490; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx11xxx1101xxxxxxxxxxxxx - clastb. */ - return 1306; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x1xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1596; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x11x1xxxxx010xxxxxxxxxxxxx + ld1d. */ + return 1518; + } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { if (((word >> 11) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx110000xxxxxxxxxx + sabalb. */ + return 2124; + } + else + { + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx10xxxx010000xxxxxxxxxx - zip1. */ - return 2021; + 010001x10x0xxxxx110100xxxxxxxxxx + adclb. */ + return 2049; } else { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx11x0x0010000xxxxxxxxxx - punpklo. */ - return 1787; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx11x1x0010000xxxxxxxxxx - rev. */ - return 1793; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx11xxx1010000xxxxxxxxxx - punpkhi. */ - return 1786; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x11x0xxxxx110100xxxxxxxxxx + sbclb. */ + return 2134; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx011000xxxxxxxxxx - zip1. */ - return 2022; - } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xxxxx010100xxxxxxxxxx - trn1. */ - return 1946; + 010001x1xx0xxxxx110001xxxxxxxxxx + sabalt. */ + return 2125; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx011100xxxxxxxxxx - trn1. */ - return 1947; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x10x0xxxxx110101xxxxxxxxxx + adclt. */ + return 2050; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x11x0xxxxx110101xxxxxxxxxx + sbclt. */ + return 2135; + } } } } else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx010x10xxxxxxxxxx - uzp1. */ - return 2008; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx011x10xxxxxxxxxx - uzp1. */ - return 2009; - } - } - } - else - { - if (((word >> 11) & 0x1) == 0) { if (((word >> 12) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xxxxx010001xxxxxxxxxx - zip2. */ - return 2023; + 010001x1xx0xxxxx110010xxxxxxxxxx + uabalb. */ + return 2255; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xxxxx011001xxxxxxxxxx - zip2. */ - return 2024; + 010001x1xx0xxxxx110011xxxxxxxxxx + uabalt. */ + return 2256; } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xxxxx010101xxxxxxxxxx - trn2. */ - return 1948; + 010001x1xx0xxxx011011xxxxxxxxxxx + cadd. */ + return 2058; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 000001x1xx1xxxxx011101xxxxxxxxxx - trn2. */ - return 1949; + 010001x1xx0xxxx111011xxxxxxxxxxx + sqcadd. */ + return 2166; } } } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx010x11xxxxxxxxxx - uzp2. */ - return 2010; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx011x11xxxxxxxxxx - uzp2. */ - return 2011; - } - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 000001x1xx1xxxxx11xxxxxxxxxxxxxx - sel. */ - return 1812; - } - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1x0xxxxxx000xxxxxxxxxxxxx - ldr. */ - return 1716; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1x1xxxxxx000xxxxxxxxxxxxx - prfb. */ - return 1760; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10xxxxxxx100xxxxxxxxxxxxx - ld1rsh. */ - return 1545; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x11xxxxxxx100xxxxxxxxxxxxx - ld1rsb. */ - return 1542; - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10x0xxxxx010xxxxxxxxxxxxx - ld1w. */ - return 1580; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10x1xxxxx010xxxxxxxxxxxxx - ld1w. */ - return 1581; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x110xxxxxx010xxxxxxxxxxxxx - ldr. */ - return 1717; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x111xxxxxx010xxxxxxxxxxxxx - prfw. */ - return 1781; - } - } - } - else - { - if (((word >> 22) & 0x1) == 0) + } + else { - if (((word >> 21) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1000xxxxx110xxxxxxxxxxxxx - prfw. */ - return 1777; + 110001x1000xxxxx110xxxxxxxxxxxxx + ldnt1w. */ + return 2100; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1100xxxxx110xxxxxxxxxxxxx - prfd. */ - return 1763; + 110001x1100xxxxx110xxxxxxxxxxxxx + ldnt1d. */ + return 2093; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1x01xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1588; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1010xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1597; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1110xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1519; + } } } - else + } + else + { + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x101xxxxxx110xxxxxxxxxxxxx - ld1rw. */ - return 1548; + x10001x1001xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1602; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x111xxxxxx110xxxxxxxxxxxxx - ld1rsb. */ - return 1544; + x10001x1011xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1598; } } - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1xxxxxxxx001xxxxxxxxxxxxx - prfh. */ - return 1774; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10xxxxxxx101xxxxxxxxxxxxx - ld1rsh. */ - return 1546; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x11xxxxxxx101xxxxxxxxxxxxx - ld1rsb. */ - return 1543; - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x10x0xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1680; + 010001x11x1xxxxx110xxxxxxxxxxxxx + histcnt. */ + return 2089; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x10x1xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1681; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x11xxxxxxx011xxxxxxxxxxxxx - prfd. */ - return 1767; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1000xxxxx111xxxxxxxxxxxxx - prfw. */ - return 1780; + 110001x1101xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1522; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 100001x1100xxxxx111xxxxxxxxxxxxx - prfd. */ - return 1766; + 110001x1111xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1520; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x1x01xxxxx111xxxxxxxxxxxxx - ldff1w. */ - return 1690; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x101xxxxxx111xxxxxxxxxxxxx - ld1rw. */ - return 1549; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 100001x111xxxxxx111xxxxxxxxxxxxx - ld1rd. */ - return 1530; - } } } } } } - } - else - { - if (((word >> 13) & 0x1) == 0) + else { if (((word >> 14) & 0x1) == 0) { @@ -8584,92 +11529,150 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx000xxxxxxxxxxxxx - ld1sw. */ - return 1574; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx1xxxxx000xxxxxxxxxxxxx - ld1sw. */ - return 1575; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx100xxxxxxxxxxxxx - ld1sw. */ - return 1576; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1x01xxxxx100xxxxxxxxxxxxx - ld1sw. */ - return 1579; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1x11xxxxx100xxxxxxxxxxxxx - ld1sw. */ - return 1577; - } - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x0xxxxx010xxxxxxxxxxxxx - ld1w. */ - return 1584; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x00xxxxxxxxxx + sabdlb. */ + return 2126; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x10xxxxxxxxxx + uabdlb. */ + return 2257; + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x01xxxxxxxxxx + sabdlt. */ + return 2127; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx001x11xxxxxxxxxx + uabdlt. */ + return 2258; + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x11x0xxxxx010xxxxxxxxxxxxx - ld1d. */ - return 1506; + 110001x1xx0xxxxx001xxxxxxxxxxxxx + ldff1sw. */ + return 1686; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x1xxxxx010xxxxxxxxxxxxx - ld1w. */ - return 1585; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001000xxxxxxxxxx + sqshrnb. */ + return 2217; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001100xxxxxxxxxx + uqshrnb. */ + return 2296; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001010xxxxxxxxxx + sqrshrnb. */ + return 2209; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001110xxxxxxxxxx + uqrshrnb. */ + return 2291; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001001xxxxxxxxxx + sqshrnt. */ + return 2218; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001101xxxxxxxxxx + uqshrnt. */ + return 2297; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001011xxxxxxxxxx + sqrshrnt. */ + return 2210; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx001111xxxxxxxxxx + uqrshrnt. */ + return 2292; + } + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x11x1xxxxx010xxxxxxxxxxxxx - ld1d. */ - return 1507; + 110001x1xx1xxxxx001xxxxxxxxxxxxx + ldff1sw. */ + return 1687; } } } @@ -8677,117 +11680,117 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x0xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1586; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101000xxxxxxxxxx + sshllb. */ + return 2233; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101100xxxxxxxxxx + bext. */ + return 2338; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101010xxxxxxxxxx + ushllb. */ + return 2309; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101110xxxxxxxxxx + bgrp. */ + return 2339; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101001xxxxxxxxxx + sshllt. */ + return 2234; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101101xxxxxxxxxx + bdep. */ + return 2337; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx101x11xxxxxxxxxx + ushllt. */ + return 2310; + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x11x0xxxxx110xxxxxxxxxxxxx - ld1d. */ - return 1508; + 110001x1xx0xxxxx101xxxxxxxxxxxxx + ldff1sw. */ + return 1688; } } else { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1001xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1591; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1101xxxxx110xxxxxxxxxxxxx - ld1d. */ - return 1511; - } - } - else - { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x1011xxxxx110xxxxxxxxxxxxx - ld1w. */ - return 1587; + 010001x1x01xxxxx101xxxxxxxxxxxxx + histseg. */ + return 2090; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x10001x1111xxxxx110xxxxxxxxxxxxx - ld1d. */ - return 1509; + 110001x1x01xxxxx101xxxxxxxxxxxxx + ldff1sw. */ + return 1690; } } - } - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx001xxxxxxxxxxxxx - ldff1sw. */ - return 1675; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx1xxxxx001xxxxxxxxxxxxx - ldff1sw. */ - return 1676; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1xx0xxxxx101xxxxxxxxxxxxx - ldff1sw. */ - return 1677; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1x01xxxxx101xxxxxxxxxxxxx - ldff1sw. */ - return 1679; - } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 x10001x1x11xxxxx101xxxxxxxxxxxxx ldff1sw. */ - return 1678; + return 1689; } } } @@ -8798,40 +11801,238 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x0xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1686; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011000xxxxxxxxxx + sqdmullb. */ + return 2187; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011100xxxxxxxxxx + smullb. */ + return 2159; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x00xxxxx011010xxxxxxxxxx + pmullb. */ + return 2334; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx011010xxxxxxxxxx + pmullb. */ + return 2115; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011110xxxxxxxxxx + umullb. */ + return 2284; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011001xxxxxxxxxx + sqdmullt. */ + return 2190; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011101xxxxxxxxxx + smullt. */ + return 2162; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x00xxxxx011011xxxxxxxxxx + pmullt. */ + return 2335; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1x10xxxxx011011xxxxxxxxxx + pmullt. */ + return 2116; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx011111xxxxxxxxxx + umullt. */ + return 2287; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x11x0xxxxx011xxxxxxxxxxxxx - ldff1d. */ - return 1631; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x0xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1697; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x11x0xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1642; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x10x1xxxxx011xxxxxxxxxxxxx - ldff1w. */ - return 1687; + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011000xxxxxxxxxx + addhnb. */ + return 2051; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011100xxxxxxxxxx + subhnb. */ + return 2249; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011010xxxxxxxxxx + raddhnb. */ + return 2117; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011110xxxxxxxxxx + rsubhnb. */ + return 2121; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011001xxxxxxxxxx + addhnt. */ + return 2052; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011101xxxxxxxxxx + subhnt. */ + return 2250; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011011xxxxxxxxxx + raddhnt. */ + return 2118; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx1xxxxx011111xxxxxxxxxx + rsubhnt. */ + return 2122; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x11x1xxxxx011xxxxxxxxxxxxx - ldff1d. */ - return 1632; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x10x1xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1698; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x11x1xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1643; + } } } } @@ -8839,42 +12040,130 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1000xxxxx111xxxxxxxxxxxxx - prfw. */ - return 1782; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111000xxxxxxxxxx + ssra. */ + return 2235; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111100xxxxxxxxxx + sri. */ + return 2228; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111010xxxxxxxxxx + srsra. */ + return 2232; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111110xxxxxxxxxx + saba. */ + return 2123; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1100xxxxx111xxxxxxxxxxxxx - prfd. */ - return 1768; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111001xxxxxxxxxx + usra. */ + return 2312; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111101xxxxxxxxxx + sli. */ + return 2141; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111011xxxxxxxxxx + ursra. */ + return 2308; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1xx0xxxxx111111xxxxxxxxxx + uaba. */ + return 2254; + } + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1010xxxxx111xxxxxxxxxxxxx - ldff1w. */ - return 1688; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1000xxxxx111xxxxxxxxxxxxx + prfw. */ + return 1793; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1100xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1779; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1110xxxxx111xxxxxxxxxxxxx - ldff1d. */ - return 1633; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1010xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1699; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1110xxxxx111xxxxxxxxxxxxx + ldff1d. */ + return 1644; + } } } } @@ -8884,11 +12173,88 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x10001x1001xxxxx111xxxxxxxxxxxxx - ldff1w. */ - return 1691; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx001110x0xxxxxxxxxx + aesmc. */ + return 2333; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx101110x0xxxxxxxxxx + aese. */ + return 2331; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxx11110x0xxxxxxxxxx + sm4e. */ + return 2328; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxxx1111x0xxxxxxxxxx + sm4ekey. */ + return 2329; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx0x1110x1xxxxxxxxxx + aesimc. */ + return 2332; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx1x1110x1xxxxxxxxxx + aesd. */ + return 2330; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxxx1111x1xxxxxxxxxx + rax1. */ + return 2336; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x1001xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1702; + } } else { @@ -8896,7 +12262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1101xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1635; + return 1646; } } else @@ -8907,7 +12273,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1011xxxxx111xxxxxxxxxxxxx ldff1w. */ - return 1689; + return 1700; } else { @@ -8915,7 +12281,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1111xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1634; + return 1645; } } } @@ -8944,7 +12310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx000xxxxxxxx0xxxx cmpge. */ - return 1314; + return 1325; } else { @@ -8952,7 +12318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx000xxxxxxxx1xxxx cmpgt. */ - return 1317; + return 1328; } } else @@ -8963,7 +12329,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x0xxxxx000xxxxxxxxxxxxx ld1rqw. */ - return 1541; + return 1552; } else { @@ -8971,92 +12337,202 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x0xxxxx000xxxxxxxxxxxxx ld1rqd. */ - return 1537; + return 1548; } } } else { - if (((word >> 4) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00000xxxxxx0xxxx - whilelt. */ - return 2018; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000000xxxxx0xxxx + whilege. */ + return 2317; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000100xxxxx0xxxx + whilege. */ + return 2318; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000010xxxxx0xxxx + whilehs. */ + return 2323; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000110xxxxx0xxxx + whilehs. */ + return 2324; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00010xxxxxx0xxxx - whilelt. */ - return 2019; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000001xxxxx0xxxx + whilelt. */ + return 2029; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000101xxxxx0xxxx + whilelt. */ + return 2030; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000011xxxxx0xxxx + whilelo. */ + return 2025; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000111xxxxx0xxxx + whilelo. */ + return 2026; + } + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00001xxxxxx0xxxx - whilelo. */ - return 2014; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000000xxxxx1xxxx + whilegt. */ + return 2319; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000100xxxxx1xxxx + whilegt. */ + return 2320; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000010xxxxx1xxxx + whilehi. */ + return 2321; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000110xxxxx1xxxx + whilehi. */ + return 2322; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00011xxxxxx0xxxx - whilelo. */ - return 2015; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000001xxxxx1xxxx + whilele. */ + return 2023; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000101xxxxx1xxxx + whilele. */ + return 2024; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000011xxxxx1xxxx + whilels. */ + return 2027; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx000111xxxxx1xxxx + whilels. */ + return 2028; + } + } } } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00000xxxxxx1xxxx - whilele. */ - return 2012; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00010xxxxxx1xxxx - whilele. */ - return 2013; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10x1xxxxx000xxxxxxxxxxxxx + ld1row. */ + return 2403; } else { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00001xxxxxx1xxxx - whilels. */ - return 2016; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx00011xxxxxx1xxxx - whilels. */ - return 2017; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11x1xxxxx000xxxxxxxxxxxxx + ld1rod. */ + return 2404; } } } @@ -9075,7 +12551,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000x00xxxxxxxxxx fadd. */ - return 1372; + return 1383; } else { @@ -9085,7 +12561,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000010xxxxxxxxxx fmul. */ - return 1439; + return 1450; } else { @@ -9093,7 +12569,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000110xxxxxxxxxx frecps. */ - return 1452; + return 1463; } } } @@ -9105,7 +12581,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000x01xxxxxxxxxx fsub. */ - return 1465; + return 1476; } else { @@ -9115,7 +12591,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000011xxxxxxxxxx ftsmul. */ - return 1471; + return 1482; } else { @@ -9123,7 +12599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000111xxxxxxxxxx frsqrts. */ - return 1462; + return 1473; } } } @@ -9134,7 +12610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx000xxxxxxxxxxxxx fmla. */ - return 1430; + return 1441; } } else @@ -9143,7 +12619,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1xxxxxxxx000xxxxxxxxxxxxx str. */ - return 1933; + return 1944; } } } @@ -9161,7 +12637,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx001xxxxxxxx0xxxx cmplt. */ - return 1331; + return 1342; } else { @@ -9169,7 +12645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx001xxxxxxxx1xxxx cmple. */ - return 1325; + return 1336; } } else @@ -9180,7 +12656,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x0xxxxx001xxxxxxxxxxxxx ld1rqw. */ - return 1540; + return 1551; } else { @@ -9188,181 +12664,258 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x0xxxxx001xxxxxxxxxxxxx ld1rqd. */ - return 1536; + return 1547; } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx000000001xxxxxxxxxxxxx - faddv. */ - return 1376; - } - else + if (((word >> 19) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx010000001xxxxxxxx0xxxx - fcmge. */ - return 1383; + 011001x1xx000000001xxxxxxxxxxxxx + faddv. */ + return 1387; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx010000001xxxxxxxx1xxxx - fcmgt. */ - return 1385; + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010000001xxxxxxxx0xxxx + fcmge. */ + return 1394; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010000001xxxxxxxx1xxxx + fcmgt. */ + return 1396; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1000001xxxxxxxxxxxxx + fadda. */ + return 1386; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0x1000001xxxxxxxxxxxxx - fadda. */ - return 1375; + 011001x1xx0xx100001xxxxxxxxxxxxx + fmaxnmv. */ + return 1433; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx100001xxxxxxxxxxxxx - fmaxnmv. */ - return 1422; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx010001xxxxxxxxxxxxx + fcmeq. */ + return 1392; + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x0110001xxxxxxxxxxxxx + fmaxv. */ + return 1434; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1110001xxxxxxxxxxxxx + frecpe. */ + return 1462; + } + } } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx010001xxxxxxxxxxxxx - fcmeq. */ - return 1381; + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx001001xxxxxxxx0xxxx + fcmlt. */ + return 1399; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx001001xxxxxxxx1xxxx + fcmle. */ + return 1398; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xx101001xxxxxxxxxxxxx + fminnmv. */ + return 1439; + } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0x0110001xxxxxxxxxxxxx - fmaxv. */ - return 1423; + 011001x1xx0xx011001xxxxxxxxxxxxx + fcmne. */ + return 1400; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0x1110001xxxxxxxxxxxxx - frecpe. */ - return 1451; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x0111001xxxxxxxxxxxxx + fminv. */ + return 1440; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1111001xxxxxxxxxxxxx + frsqrte. */ + return 1472; + } } } } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1000xxxxx001xxxxxxxxxxxxx + stnt1w. */ + return 2248; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1100xxxxx001xxxxxxxxxxxxx + stnt1d. */ + return 2244; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1x10xxxxx001xxxxxxxxxxxxx + stnt1w. */ + return 2247; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx001001xxxxxxxx0xxxx - fcmlt. */ - return 1388; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0xx001001xxxxxxxx1xxxx - fcmle. */ - return 1387; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0010xxxxxxx0xxxx + ctermeq. */ + return 1357; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0xx101001xxxxxxxxxxxxx - fminnmv. */ - return 1428; + 001001x1xx1xxxxx0011xxxxxxx0xxxx + whilewr. */ + return 2326; } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x11001x1xx0xx011001xxxxxxxxxxxxx - fcmne. */ - return 1389; + 001001x1xx1xxxxx0010xxxxxxx1xxxx + ctermne. */ + return 1358; } else { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0x0111001xxxxxxxxxxxxx - fminv. */ - return 1429; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x11001x1xx0x1111001xxxxxxxxxxxxx - frsqrte. */ - return 1461; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xxxxx0011xxxxxxx1xxxx + whilerw. */ + return 2325; } } } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx001xxxxxxxx0xxxx - ctermeq. */ - return 1346; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x01001x1xx1xxxxx001xxxxxxxx1xxxx - ctermne. */ - return 1347; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10x1xxxxx001xxxxxxxxxxxxx + ld1row. */ + return 2407; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11x1xxxxx001xxxxxxxxxxxxx + ld1rod. */ + return 2408; + } } } else @@ -9371,7 +12924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x1xx1xxxxx001xxxxxxxxxxxxx fmls. */ - return 1434; + return 1445; } } } @@ -9398,7 +12951,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10000xxxx01xxxx0xxxx0xxxx and. */ - return 1277; + return 1288; } else { @@ -9406,7 +12959,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10000xxxx01xxxx0xxxx1xxxx bic. */ - return 1289; + return 1300; } } else @@ -9417,7 +12970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x100010xxx01xxxx0xxxxxxxxx brka. */ - return 1291; + return 1302; } else { @@ -9425,7 +12978,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x100011xxx01xxxx0xxxxxxxxx brkn. */ - return 1295; + return 1306; } } } @@ -9437,7 +12990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1000xxxxx01xxxx1xxxx0xxxx eor. */ - return 1364; + return 1375; } else { @@ -9445,7 +12998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1000xxxxx01xxxx1xxxx1xxxx sel. */ - return 1813; + return 1824; } } } @@ -9457,7 +13010,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx010xxxxxxxxxxxxx ld1sh. */ - return 1563; + return 1574; } else { @@ -9465,7 +13018,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx011xxxxxxxxxxxxx ldff1sh. */ - return 1663; + return 1674; } } } @@ -9483,7 +13036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11000xxxx01xxxx0xxxx0xxxx orr. */ - return 1749; + return 1760; } else { @@ -9491,7 +13044,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11000xxxx01xxxx0xxxx1xxxx orn. */ - return 1744; + return 1755; } } else @@ -9500,7 +13053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11001xxxx01xxxx0xxxxxxxxx brkb. */ - return 1293; + return 1304; } } else @@ -9511,7 +13064,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1100xxxxx01xxxx1xxxx0xxxx nor. */ - return 1741; + return 1752; } else { @@ -9519,7 +13072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1100xxxxx01xxxx1xxxx1xxxx nand. */ - return 1738; + return 1749; } } } @@ -9531,7 +13084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1551; + return 1562; } else { @@ -9539,7 +13092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1651; + return 1662; } } } @@ -9560,7 +13113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10100xxxx01xxxx0xxxx0xxxx ands. */ - return 1278; + return 1289; } else { @@ -9570,7 +13123,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x101010xxx01xxxx0xxxx0xxxx brkas. */ - return 1292; + return 1303; } else { @@ -9578,7 +13131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x101011xxx01xxxx0xxxx0xxxx brkns. */ - return 1296; + return 1307; } } } @@ -9588,7 +13141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1010xxxxx01xxxx1xxxx0xxxx eors. */ - return 1365; + return 1376; } } else @@ -9597,7 +13150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1010xxxxx01xxxxxxxxx1xxxx bics. */ - return 1290; + return 1301; } } else @@ -9608,7 +13161,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1582; + return 1593; } else { @@ -9616,7 +13169,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1682; + return 1693; } } } @@ -9634,7 +13187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11100xxxx01xxxx0xxxx0xxxx orrs. */ - return 1750; + return 1761; } else { @@ -9642,7 +13195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11101xxxx01xxxx0xxxx0xxxx brkbs. */ - return 1294; + return 1305; } } else @@ -9651,7 +13204,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx1xxxx0xxxx nors. */ - return 1742; + return 1753; } } else @@ -9662,7 +13215,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx0xxxx1xxxx orns. */ - return 1745; + return 1756; } else { @@ -9670,7 +13223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx1xxxx1xxxx nands. */ - return 1739; + return 1750; } } } @@ -9682,7 +13235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1553; + return 1564; } else { @@ -9690,7 +13243,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1655; + return 1666; } } } @@ -9708,7 +13261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1001xxxxx010xxxxxxxxxxxxx ld1sh. */ - return 1564; + return 1575; } else { @@ -9716,7 +13269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1101xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1552; + return 1563; } } else @@ -9727,7 +13280,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1011xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1583; + return 1594; } else { @@ -9735,7 +13288,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1111xxxxx010xxxxxxxxxxxxx ld1d. */ - return 1505; + return 1516; } } } @@ -9749,7 +13302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1001xxxxx011xxxxxxxxxxxxx ldff1sh. */ - return 1665; + return 1676; } else { @@ -9757,7 +13310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1101xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1653; + return 1664; } } else @@ -9768,7 +13321,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1011xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1684; + return 1695; } else { @@ -9776,7 +13329,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1111xxxxx011xxxxxxxxxxxxx ldff1d. */ - return 1629; + return 1640; } } } @@ -9796,7 +13349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx010xxxxxxxx0xxxx fcmge. */ - return 1384; + return 1395; } else { @@ -9804,7 +13357,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx010xxxxxxxx1xxxx fcmgt. */ - return 1386; + return 1397; } } else @@ -9813,7 +13366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx010xxxxxxxxxxxxx fnmla. */ - return 1448; + return 1459; } } else @@ -9824,7 +13377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x0xxxxxx010xxxxxxxxxxxxx str. */ - return 1934; + return 1945; } else { @@ -9834,7 +13387,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx010xxxxxxxxxxxxx st1w. */ - return 1893; + return 1904; } else { @@ -9844,7 +13397,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1011xxxxx010xxxxxxxxxxxxx st1w. */ - return 1895; + return 1906; } else { @@ -9852,7 +13405,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1111xxxxx010xxxxxxxxxxxxx st1d. */ - return 1872; + return 1883; } } } @@ -9870,7 +13423,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx011xxxxxxxx0xxxx fcmeq. */ - return 1382; + return 1393; } else { @@ -9878,7 +13431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx011xxxxxxxx1xxxx fcmne. */ - return 1390; + return 1401; } } else @@ -9891,7 +13444,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx011xxxxxxxxxxxxx stnt1w. */ - return 1931; + return 1942; } else { @@ -9899,7 +13452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx011xxxxxxxxxxxxx stnt1d. */ - return 1927; + return 1938; } } else @@ -9910,7 +13463,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx011xxxxxxxxxxxxx st3w. */ - return 1915; + return 1926; } else { @@ -9918,7 +13471,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx011xxxxxxxxxxxxx st3d. */ - return 1911; + return 1922; } } } @@ -9931,7 +13484,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx011xxxxxxxxxxxxx fnmls. */ - return 1449; + return 1460; } else { @@ -9943,7 +13496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx011xxxxxxxxxxxxx st2w. */ - return 1907; + return 1918; } else { @@ -9951,7 +13504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx011xxxxxxxxxxxxx st2d. */ - return 1903; + return 1914; } } else @@ -9962,7 +13515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1011xxxxx011xxxxxxxxxxxxx st4w. */ - return 1923; + return 1934; } else { @@ -9970,7 +13523,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1111xxxxx011xxxxxxxxxxxxx st4d. */ - return 1919; + return 1930; } } } @@ -9995,7 +13548,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1xx0xxxxx100xxxxxxxx0xxxx cmpeq. */ - return 1311; + return 1322; } else { @@ -10003,7 +13556,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x1xx0xxxxx100xxxxxxxx1xxxx cmpne. */ - return 1334; + return 1345; } } else @@ -10018,7 +13571,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10000xxxx101xxxxxxxxxxxxx ld1sh. */ - return 1570; + return 1581; } else { @@ -10026,7 +13579,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11000xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1557; + return 1568; } } else @@ -10037,7 +13590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10100xxxx101xxxxxxxxxxxxx ld1w. */ - return 1589; + return 1600; } else { @@ -10045,7 +13598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11100xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1559; + return 1570; } } } @@ -10059,7 +13612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10001xxxx101xxxxxxxxxxxxx ldnf1sh. */ - return 1703; + return 1714; } else { @@ -10067,7 +13620,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11001xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1700; + return 1711; } } else @@ -10078,7 +13631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10101xxxx101xxxxxxxxxxxxx ldnf1w. */ - return 1706; + return 1717; } else { @@ -10086,7 +13639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11101xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1702; + return 1713; } } } @@ -10106,7 +13659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x000xxxx11xxxxxxxxx0xxxx brkpa. */ - return 1297; + return 1308; } else { @@ -10114,7 +13667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x100xxxx11xxxxxxxxx0xxxx brkpas. */ - return 1298; + return 1309; } } else @@ -10127,7 +13680,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx010xx011xxxxxxxxx0xxxx ptest. */ - return 1783; + return 1794; } else { @@ -10141,7 +13694,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx01100x0xxxxx0xxxx pfirst. */ - return 1753; + return 1764; } else { @@ -10149,7 +13702,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx01110x0xxxxx0xxxx ptrue. */ - return 1784; + return 1795; } } else @@ -10160,7 +13713,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x0011xx011x1x0xxxxx0xxxx rdffr. */ - return 1790; + return 1801; } else { @@ -10168,7 +13721,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x1011xx011x1x0xxxxx0xxxx rdffrs. */ - return 1791; + return 1802; } } } @@ -10178,7 +13731,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx011xxx1xxxxx0xxxx pfalse. */ - return 1752; + return 1763; } } } @@ -10192,7 +13745,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111x0x0xxxxx0xxxx ptrues. */ - return 1785; + return 1796; } else { @@ -10200,7 +13753,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111x1x0xxxxx0xxxx rdffr. */ - return 1789; + return 1800; } } else @@ -10209,7 +13762,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111xxx1xxxxx0xxxx pnext. */ - return 1754; + return 1765; } } } @@ -10222,7 +13775,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x00xxxxx11xxxxxxxxx1xxxx brkpb. */ - return 1299; + return 1310; } else { @@ -10230,7 +13783,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x10xxxxx11xxxxxxxxx1xxxx brkpbs. */ - return 1300; + return 1311; } } } @@ -10246,7 +13799,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx110xxxxxxxxxxxxx ldnt1w. */ - return 1714; + return 1725; } else { @@ -10254,7 +13807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx110xxxxxxxxxxxxx ldnt1d. */ - return 1710; + return 1721; } } else @@ -10265,7 +13818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx110xxxxxxxxxxxxx ld3w. */ - return 1606; + return 1617; } else { @@ -10273,7 +13826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx110xxxxxxxxxxxxx ld3d. */ - return 1602; + return 1613; } } } @@ -10287,7 +13840,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx111xxxxxxxxxxxxx ldnt1w. */ - return 1715; + return 1726; } else { @@ -10295,7 +13848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx111xxxxxxxxxxxxx ldnt1d. */ - return 1711; + return 1722; } } else @@ -10306,7 +13859,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx111xxxxxxxxxxxxx ld3w. */ - return 1607; + return 1618; } else { @@ -10314,7 +13867,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx111xxxxxxxxxxxxx ld3d. */ - return 1603; + return 1614; } } } @@ -10343,7 +13896,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000100xxxxxxxxxxxxx fadd. */ - return 1373; + return 1384; } else { @@ -10351,7 +13904,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000100100xxxxxxxxxxxxx fmaxnm. */ - return 1420; + return 1431; } } else @@ -10362,7 +13915,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000010100xxxxxxxxxxxxx fmul. */ - return 1440; + return 1451; } else { @@ -10370,7 +13923,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000110100xxxxxxxxxxxxx fmax. */ - return 1418; + return 1429; } } } @@ -10384,7 +13937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000001100xxxxxxxxxxxxx fsub. */ - return 1466; + return 1477; } else { @@ -10392,7 +13945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000101100xxxxxxxxxxxxx fminnm. */ - return 1426; + return 1437; } } else @@ -10403,7 +13956,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000011100xxxxxxxxxxxxx fsubr. */ - return 1468; + return 1479; } else { @@ -10411,7 +13964,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000111100xxxxxxxxxxxxx fmin. */ - return 1424; + return 1435; } } } @@ -10422,7 +13975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010xxx100xxxxxxxxxxxxx ftmad. */ - return 1470; + return 1481; } } else @@ -10439,7 +13992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000100xxxxxxxxxxxxx fabd. */ - return 1368; + return 1379; } else { @@ -10447,7 +14000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011000100xxxxxxxxxxxxx fadd. */ - return 1374; + return 1385; } } else @@ -10458,7 +14011,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001100100xxxxxxxxxxxxx fdivr. */ - return 1414; + return 1425; } else { @@ -10466,7 +14019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011100100xxxxxxxxxxxxx fmaxnm. */ - return 1421; + return 1432; } } } @@ -10480,7 +14033,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001010100xxxxxxxxxxxxx fmulx. */ - return 1445; + return 1456; } else { @@ -10488,7 +14041,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011010100xxxxxxxxxxxxx fmul. */ - return 1441; + return 1452; } } else @@ -10497,7 +14050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1110100xxxxxxxxxxxxx fmax. */ - return 1419; + return 1430; } } } @@ -10513,7 +14066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001001100xxxxxxxxxxxxx fscale. */ - return 1463; + return 1474; } else { @@ -10521,7 +14074,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011001100xxxxxxxxxxxxx fsub. */ - return 1467; + return 1478; } } else @@ -10532,7 +14085,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001101100xxxxxxxxxxxxx fdiv. */ - return 1413; + return 1424; } else { @@ -10540,7 +14093,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011101100xxxxxxxxxxxxx fminnm. */ - return 1427; + return 1438; } } } @@ -10552,7 +14105,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1011100xxxxxxxxxxxxx fsubr. */ - return 1469; + return 1480; } else { @@ -10560,7 +14113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1111100xxxxxxxxxxxxx fmin. */ - return 1425; + return 1436; } } } @@ -10574,7 +14127,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx110xxxxxxxx0xxxx fcmuo. */ - return 1391; + return 1402; } else { @@ -10582,7 +14135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx110xxxxxxxx1xxxx facge. */ - return 1370; + return 1381; } } } @@ -10596,7 +14149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1889; + return 1900; } else { @@ -10604,7 +14157,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx1x0xxxxxxxxxxxxx st1d. */ - return 1868; + return 1879; } } else @@ -10613,7 +14166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1894; + return 1905; } } } @@ -10625,11 +14178,11 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 16) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { if (((word >> 20) & 0x1) == 0) { @@ -10637,7 +14190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000101xxxxxxxxxxxxx frintn. */ - return 1457; + return 1468; } else { @@ -10645,43 +14198,10 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010000101xxxxxxxxxxxxx scvtf. */ - return 1803; + return 1814; } } else - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1x0001000101xxxxxxxxxxxxx - fcvt. */ - return 1393; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1x1001000101xxxxxxxxxxxxx - fcvt. */ - return 1395; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1xx011000101xxxxxxxxxxxxx - fcvtzs. */ - return 1403; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) { if (((word >> 20) & 0x1) == 0) { @@ -10689,7 +14209,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000100101xxxxxxxxxxxxx frinta. */ - return 1454; + return 1465; } else { @@ -10699,7 +14219,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0010100101xxxxxxxxxxxxx scvtf. */ - return 1802; + return 1813; } else { @@ -10709,7 +14229,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101010100101xxxxxxxxxxxxx scvtf. */ - return 1801; + return 1812; } else { @@ -10717,49 +14237,60 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111010100101xxxxxxxxxxxxx scvtf. */ - return 1805; + return 1816; } } } } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000010101xxxxxxxxxxxxx + frintm. */ + return 1467; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010010101xxxxxxxxxxxxx + scvtf. */ + return 1811; + } + } else { if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx001100101xxxxxxxxxxxxx - frecpx. */ - return 1453; + 011001x1xx000110101xxxxxxxxxxxxx + frintx. */ + return 1470; } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1x0011100101xxxxxxxxxxxxx - fcvtzs. */ - return 1402; + 011001x10x010110101xxxxxxxxxxxxx + scvtf. */ + return 1815; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x101011100101xxxxxxxxxxxxx - fcvtzs. */ - return 1400; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x111011100101xxxxxxxxxxxxx - fcvtzs. */ - return 1404; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x11x010110101xxxxxxxxxxxxx + scvtf. */ + return 1817; } } } @@ -10767,96 +14298,151 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1xx000010101xxxxxxxxxxxxx - frintm. */ - return 1456; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0001000101xxxxxxxxxxxxx + fcvt. */ + return 1404; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x1001000101xxxxxxxxxxxxx + fcvt. */ + return 1406; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx010010101xxxxxxxxxxxxx - scvtf. */ - return 1800; + 011001x1xx001100101xxxxxxxxxxxxx + frecpx. */ + return 1464; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x1xx001010101xxxxxxxxxxxxx - fcvt. */ - return 1397; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x100001x10101xxxxxxxxxxxxx + fcvtx. */ + return 2074; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x110001x10101xxxxxxxxxxxxx + bfcvt. */ + return 2424; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx011010101xxxxxxxxxxxxx - fcvtzs. */ - return 1399; + 011001x1x1001x10101xxxxxxxxxxxxx + fcvt. */ + return 1408; } } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x100011xx0101xxxxxxxxxxxxx + flogb. */ + return 2076; + } + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x1xx000110101xxxxxxxxxxxxx - frintx. */ - return 1459; + 011001x110011xx0101xxxxxxxxxxxxx + fcvtzs. */ + return 1413; } - else + } + else + { + if (((word >> 17) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 011001x10x010110101xxxxxxxxxxxxx - scvtf. */ - return 1804; + 011001x1x1011000101xxxxxxxxxxxxx + fcvtzs. */ + return 1414; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x11x010110101xxxxxxxxxxxxx - scvtf. */ - return 1806; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1411; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1415; + } } } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x10x0x1110101xxxxxxxxxxxxx - fcvtzs. */ - return 1401; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 011001x11x0x1110101xxxxxxxxxxxxx - fcvtzs. */ - return 1405; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x1011010101xxxxxxxxxxxxx + fcvtzs. */ + return 1410; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101011110101xxxxxxxxxxxxx + fcvtzs. */ + return 1412; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111011110101xxxxxxxxxxxxx + fcvtzs. */ + return 1416; + } + } } } } @@ -10876,7 +14462,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000001101xxxxxxxxxxxxx frintp. */ - return 1458; + return 1469; } else { @@ -10884,7 +14470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010001101xxxxxxxxxxxxx ucvtf. */ - return 1955; + return 1966; } } else @@ -10897,7 +14483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0001001101xxxxxxxxxxxxx fcvt. */ - return 1394; + return 1405; } else { @@ -10905,7 +14491,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1001001101xxxxxxxxxxxxx fcvt. */ - return 1396; + return 1407; } } else @@ -10914,7 +14500,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011001101xxxxxxxxxxxxx fcvtzu. */ - return 1410; + return 1421; } } } @@ -10928,7 +14514,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x00x0101101xxxxxxxxxxxxx ucvtf. */ - return 1954; + return 1965; } else { @@ -10938,7 +14524,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1010x0101101xxxxxxxxxxxxx ucvtf. */ - return 1953; + return 1964; } else { @@ -10946,7 +14532,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1110x0101101xxxxxxxxxxxxx ucvtf. */ - return 1957; + return 1968; } } } @@ -10958,7 +14544,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001101101xxxxxxxxxxxxx fsqrt. */ - return 1464; + return 1475; } else { @@ -10968,7 +14554,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0011101101xxxxxxxxxxxxx fcvtzu. */ - return 1409; + return 1420; } else { @@ -10978,7 +14564,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101011101101xxxxxxxxxxxxx fcvtzu. */ - return 1407; + return 1418; } else { @@ -10986,7 +14572,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111011101101xxxxxxxxxxxxx fcvtzu. */ - return 1411; + return 1422; } } } @@ -11005,7 +14591,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000011101xxxxxxxxxxxxx frintz. */ - return 1460; + return 1471; } else { @@ -11013,7 +14599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010011101xxxxxxxxxxxxx ucvtf. */ - return 1952; + return 1963; } } else @@ -11024,7 +14610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001011101xxxxxxxxxxxxx fcvt. */ - return 1398; + return 1409; } else { @@ -11032,7 +14618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011011101xxxxxxxxxxxxx fcvtzu. */ - return 1406; + return 1417; } } } @@ -11046,7 +14632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000111101xxxxxxxxxxxxx frinti. */ - return 1455; + return 1466; } else { @@ -11056,7 +14642,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x10x010111101xxxxxxxxxxxxx ucvtf. */ - return 1956; + return 1967; } else { @@ -11064,7 +14650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x11x010111101xxxxxxxxxxxxx ucvtf. */ - return 1958; + return 1969; } } } @@ -11076,7 +14662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x10x0x1111101xxxxxxxxxxxxx fcvtzu. */ - return 1408; + return 1419; } else { @@ -11084,7 +14670,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x11x0x1111101xxxxxxxxxxxxx fcvtzu. */ - return 1412; + return 1423; } } } @@ -11101,7 +14687,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx101xxxxxxxxxxxxx st1w. */ - return 1890; + return 1901; } else { @@ -11109,7 +14695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx101xxxxxxxxxxxxx st1d. */ - return 1869; + return 1880; } } else @@ -11120,7 +14706,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx101xxxxxxxxxxxxx st1w. */ - return 1897; + return 1908; } else { @@ -11128,7 +14714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx101xxxxxxxxxxxxx st1d. */ - return 1873; + return 1884; } } } @@ -11141,7 +14727,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx111xxxxxxxxxxxxx facgt. */ - return 1371; + return 1382; } else { @@ -11151,7 +14737,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1xx00xxxx111xxxxxxxxxxxxx st1w. */ - return 1898; + return 1909; } else { @@ -11163,7 +14749,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10001xxxx111xxxxxxxxxxxxx stnt1w. */ - return 1932; + return 1943; } else { @@ -11171,7 +14757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11001xxxx111xxxxxxxxxxxxx stnt1d. */ - return 1928; + return 1939; } } else @@ -11182,7 +14768,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10101xxxx111xxxxxxxxxxxxx st3w. */ - return 1916; + return 1927; } else { @@ -11190,7 +14776,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11101xxxx111xxxxxxxxxxxxx st3d. */ - return 1912; + return 1923; } } } @@ -11221,7 +14807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10000010xxxxxxxxxxxxxx cntp. */ - return 1340; + return 1351; } else { @@ -11235,7 +14821,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010x000xxxxxxxxxx sqincp. */ - return 1847; + return 1858; } else { @@ -11243,7 +14829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010x100xxxxxxxxxx wrffr. */ - return 2020; + return 2031; } } else @@ -11252,7 +14838,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010xx10xxxxxxxxxx sqincp. */ - return 1849; + return 1860; } } else @@ -11261,7 +14847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100010xxx1xxxxxxxxxx sqincp. */ - return 1848; + return 1859; } } } @@ -11275,7 +14861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10010x00xxxxxxxxxxx incp. */ - return 1478; + return 1489; } else { @@ -11283,7 +14869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10010x10xxxxxxxxxxx setffr. */ - return 1814; + return 1825; } } else @@ -11292,7 +14878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10010xx1xxxxxxxxxxx incp. */ - return 1479; + return 1490; } } } @@ -11306,7 +14892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1010xx00xxxxxxxxxx sqdecp. */ - return 1833; + return 1844; } else { @@ -11314,7 +14900,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1010xx10xxxxxxxxxx sqdecp. */ - return 1835; + return 1846; } } else @@ -11323,7 +14909,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1010xxx1xxxxxxxxxx sqdecp. */ - return 1834; + return 1845; } } } @@ -11341,7 +14927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x00110xx00xxxxxxxxxx uqincp. */ - return 1995; + return 2006; } else { @@ -11349,7 +14935,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10110xx00xxxxxxxxxx decp. */ - return 1353; + return 1364; } } else @@ -11358,7 +14944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1110xx00xxxxxxxxxx uqdecp. */ - return 1981; + return 1992; } } else @@ -11371,7 +14957,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x00110xx10xxxxxxxxxx uqincp. */ - return 1996; + return 2007; } else { @@ -11379,7 +14965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10x10110xx10xxxxxxxxxx decp. */ - return 1354; + return 1365; } } else @@ -11388,7 +14974,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1110xx10xxxxxxxxxx uqdecp. */ - return 1982; + return 1993; } } } @@ -11400,7 +14986,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx0110xxx1xxxxxxxxxx uqincp. */ - return 1997; + return 2008; } else { @@ -11408,7 +14994,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10xx1110xxx1xxxxxxxxxx uqdecp. */ - return 1983; + return 1994; } } } @@ -11423,7 +15009,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10010xxxx10xxxxxxxxxxxxxx ld1sh. */ - return 1571; + return 1582; } else { @@ -11431,7 +15017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11010xxxx10xxxxxxxxxxxxxx ld1sb. */ - return 1558; + return 1569; } } else @@ -11442,7 +15028,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10110xxxx10xxxxxxxxxxxxxx ld1w. */ - return 1590; + return 1601; } else { @@ -11450,7 +15036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11110xxxx10xxxxxxxxxxxxxx ld1d. */ - return 1510; + return 1521; } } } @@ -11465,7 +15051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10011xxxx10xxxxxxxxxxxxxx ldnf1sh. */ - return 1704; + return 1715; } else { @@ -11473,7 +15059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11011xxxx10xxxxxxxxxxxxxx ldnf1sb. */ - return 1701; + return 1712; } } else @@ -11484,7 +15070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10111xxxx10xxxxxxxxxxxxxx ldnf1w. */ - return 1707; + return 1718; } else { @@ -11492,7 +15078,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11111xxxx10xxxxxxxxxxxxxx ldnf1d. */ - return 1696; + return 1707; } } } @@ -11515,7 +15101,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10000011xxxxxxxxxxxxxx add. */ - return 1267; + return 1278; } else { @@ -11523,7 +15109,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11000011xxxxxxxxxxxxxx mul. */ - return 1736; + return 1747; } } else @@ -11534,7 +15120,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100011xxxxxxxxxxxxxx smax. */ - return 1815; + return 1826; } else { @@ -11542,7 +15128,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11100011xxxxxxxxxxxxxx dup. */ - return 1359; + return 1370; } } } @@ -11552,7 +15138,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10011xxxxxxxxxxxxxx sqadd. */ - return 1824; + return 1835; } } else @@ -11563,7 +15149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx01011xxxxxxxxxxxxxx smin. */ - return 1818; + return 1829; } else { @@ -11571,7 +15157,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx11011xxxxxxxxxxxxxx sqsub. */ - return 1854; + return 1865; } } } @@ -11587,7 +15173,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x000111xxxxxxxxxxxxxx sub. */ - return 1936; + return 1947; } else { @@ -11597,7 +15183,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100111xxxxxxxxxxxxxx umax. */ - return 1964; + return 1975; } else { @@ -11605,7 +15191,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11100111xxxxxxxxxxxxxx fdup. */ - return 1415; + return 1426; } } } @@ -11615,7 +15201,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10111xxxxxxxxxxxxxx uqadd. */ - return 1972; + return 1983; } } else @@ -11628,7 +15214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x001111xxxxxxxxxxxxxx subr. */ - return 1938; + return 1949; } else { @@ -11636,7 +15222,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x101111xxxxxxxxxxxxxx umin. */ - return 1967; + return 1978; } } else @@ -11645,7 +15231,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx11111xxxxxxxxxxxxxx uqsub. */ - return 2002; + return 2013; } } } @@ -11662,7 +15248,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx110xxxxxxxxxxxxx ld2w. */ - return 1598; + return 1609; } else { @@ -11670,7 +15256,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx110xxxxxxxxxxxxx ld2d. */ - return 1594; + return 1605; } } else @@ -11681,7 +15267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx110xxxxxxxxxxxxx ld4w. */ - return 1614; + return 1625; } else { @@ -11689,7 +15275,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx110xxxxxxxxxxxxx ld4d. */ - return 1610; + return 1621; } } } @@ -11703,7 +15289,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx111xxxxxxxxxxxxx ld2w. */ - return 1599; + return 1610; } else { @@ -11711,7 +15297,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx111xxxxxxxxxxxxx ld2d. */ - return 1595; + return 1606; } } else @@ -11722,7 +15308,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx111xxxxxxxxxxxxx ld4w. */ - return 1615; + return 1626; } else { @@ -11730,7 +15316,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx111xxxxxxxxxxxxx ld4d. */ - return 1611; + return 1622; } } } @@ -11749,7 +15335,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx100xxxxxxxxxxxxx fmad. */ - return 1417; + return 1428; } else { @@ -11757,7 +15343,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx110xxxxxxxxxxxxx fnmad. */ - return 1447; + return 1458; } } else @@ -11770,7 +15356,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1891; + return 1902; } else { @@ -11778,7 +15364,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx1x0xxxxxxxxxxxxx st1d. */ - return 1870; + return 1881; } } else @@ -11787,7 +15373,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x11xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 1896; + return 1907; } } } @@ -11801,7 +15387,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx101xxxxxxxxxxxxx fmsb. */ - return 1438; + return 1449; } else { @@ -11813,7 +15399,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx101xxxxxxxxxxxxx st1w. */ - return 1892; + return 1903; } else { @@ -11821,7 +15407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx101xxxxxxxxxxxxx st1d. */ - return 1871; + return 1882; } } else @@ -11830,7 +15416,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x11xxxxx101xxxxxxxxxxxxx st1w. */ - return 1899; + return 1910; } } } @@ -11842,7 +15428,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx111xxxxxxxxxxxxx fnmsb. */ - return 1450; + return 1461; } else { @@ -11854,7 +15440,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10x10xxxx111xxxxxxxxxxxxx st1w. */ - return 1900; + return 1911; } else { @@ -11862,7 +15448,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11x10xxxx111xxxxxxxxxxxxx st1d. */ - return 1874; + return 1885; } } else @@ -11875,7 +15461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10011xxxx111xxxxxxxxxxxxx st2w. */ - return 1908; + return 1919; } else { @@ -11883,7 +15469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11011xxxx111xxxxxxxxxxxxx st2d. */ - return 1904; + return 1915; } } else @@ -11894,7 +15480,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10111xxxx111xxxxxxxxxxxxx st4w. */ - return 1924; + return 1935; } else { @@ -11902,7 +15488,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11111xxxx111xxxxxxxxxxxxx st4d. */ - return 1920; + return 1931; } } } @@ -11970,11 +15556,22 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11010100xx1xxxxxxxxxxxxxxxx0xx00 - brk. */ - return 752; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11010100x01xxxxxxxxxxxxxxxx0xx00 + brk. */ + return 752; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11010100x11xxxxxxxxxxxxxxxx0xx00 + tcancel. */ + return 1192; + } } } else @@ -11993,7 +15590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11010100xx1xxxxxxxxxxxxxxxx0xx10 dcps2. */ - return 755; + return 756; } } } @@ -12015,7 +15612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11010100xx1xxxxxxxxxxxxxxxx0xx01 dcps1. */ - return 754; + return 755; } } else @@ -12034,7 +15631,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11010100xx1xxxxxxxxxxxxxxxx0xx11 dcps3. */ - return 756; + return 757; } } } @@ -12189,7 +15786,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1010101xx0xxxxxxxxxxxxxxxxxxxxx xaflag. */ - return 810; + return 811; } else { @@ -12218,8 +15815,8 @@ aarch64_opcode_lookup_1 (uint32_t word) /* 33222222222211111111110000000000 10987654321098765432109876543210 x1010101xx1xxxxxxxxxxxxxxxxxxxxx - sysl. */ - return 1218; + tstart. */ + return 1189; } else { @@ -12262,7 +15859,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx110110xxxxxxxxxxxxxxxxxxxxxxxx tbz. */ - return 1228; + return 1239; } } else @@ -12281,7 +15878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx110111xxxxxxxxxxxxxxxxxxxxxxxx tbnz. */ - return 1229; + return 1240; } } } @@ -12313,7 +15910,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx10110000xxxxxxxxxxxxxxxxxxxxxx stnp. */ - return 969; + return 973; } } else @@ -12365,7 +15962,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx10110100xxxxxxxxxxxxxxxxxxxxxx stp. */ - return 973; + return 977; } } } @@ -12429,7 +16026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx10110x10xxxxxxxxxxxxxxxxxxxxxx stp. */ - return 979; + return 983; } } } @@ -12453,7 +16050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx10110001xxxxxxxxxxxxxxxxxxxxxx ldnp. */ - return 970; + return 974; } } else @@ -12505,7 +16102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx10110101xxxxxxxxxxxxxxxxxxxxxx ldp. */ - return 974; + return 978; } } } @@ -12569,7 +16166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx10110x11xxxxxxxxxxxxxxxxxxxxxx ldp. */ - return 980; + return 984; } } } @@ -12584,7 +16181,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011100xxxxxxxxxxxxxxxxxxxxxxxx ldr. */ - return 984; + return 988; } else { @@ -12598,7 +16195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x0xxxxxxxxxx00xxxxxxxxxx stur. */ - return 924; + return 925; } else { @@ -12606,7 +16203,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x1xxxxxxxxxx00xxxxxxxxxx ldur. */ - return 925; + return 926; } } else @@ -12617,7 +16214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x0xxxxxxxxxx10xxxxxxxxxx str. */ - return 903; + return 904; } else { @@ -12625,7 +16222,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x1xxxxxxxxxx10xxxxxxxxxx ldr. */ - return 904; + return 905; } } } @@ -12637,7 +16234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x0xxxxxxxxxxx1xxxxxxxxxx str. */ - return 872; + return 873; } else { @@ -12645,7 +16242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x1xxxxxxxxxxx1xxxxxxxxxx ldr. */ - return 873; + return 874; } } } @@ -12658,7 +16255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11101x0xxxxxxxxxxxxxxxxxxxxxx str. */ - return 891; + return 892; } else { @@ -12666,7 +16263,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11101x1xxxxxxxxxxxxxxxxxxxxxx ldr. */ - return 892; + return 893; } } } @@ -12806,11 +16403,22 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x001110xx0xxxxxxx1001xxxxxxxxxx - fcmeq. */ - return 300; + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx0x1001xxxxxxxxxx + fcmeq. */ + return 300; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx1x1001xxxxxxxxxx + smmla. */ + return 2415; + } } } else @@ -12842,7 +16450,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0101xxxxxxxxxx sdot. */ - return 2039; + return 2341; } } else @@ -12902,32 +16510,54 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x001110xx0xxxxxxx1011xxxxxxxxxx - smov. */ - return 151; + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx0x1011xxxxxxxxxx + smov. */ + return 151; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxx1x1011xxxxxxxxxx + usmmla. */ + return 2417; + } } } else { if (((word >> 13) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x001110x00xxxxxxx0111xxxxxxxxxx - ins. */ - return 154; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110x00xxxxx0x0111xxxxxxxxxx + ins. */ + return 154; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110x10xxxxx0x0111xxxxxxxxxx + fmulx. */ + return 298; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0x001110x10xxxxxxx0111xxxxxxxxxx - fmulx. */ - return 298; + 0x001110xx0xxxxx1x0111xxxxxxxxxx + usdot. */ + return 2418; } } else @@ -12974,7 +16604,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110000xxxxxxxxxxxxxxxxxxxxx eor3. */ - return 2046; + return 2348; } else { @@ -12982,7 +16612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110100xxxxxxxxxxxxxxxxxxxxx xar. */ - return 2048; + return 2350; } } else @@ -12993,7 +16623,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx0xxxxxxxxxxxxxxx sm3ss1. */ - return 2050; + return 2352; } else { @@ -13007,7 +16637,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx00xxxxxxxxxx sm3tt1a. */ - return 2051; + return 2353; } else { @@ -13015,7 +16645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx00xxxxxxxxxx sha512su0. */ - return 2044; + return 2346; } } else @@ -13024,7 +16654,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx10xxxxxxxxxx sm3tt2a. */ - return 2053; + return 2355; } } else @@ -13037,7 +16667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx01xxxxxxxxxx sm3tt1b. */ - return 2052; + return 2354; } else { @@ -13045,7 +16675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx01xxxxxxxxxx sm4e. */ - return 2057; + return 2359; } } else @@ -13054,7 +16684,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx11xxxxxxxxxx sm3tt2b. */ - return 2054; + return 2356; } } } @@ -13235,7 +16865,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx100101xxxxxxxxxx udot. */ - return 2038; + return 2340; } } else @@ -13258,11 +16888,66 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xx101110xx0xxxxx1x1xx1xxxxxxxxxx - fcadd. */ - return 373; + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx101x01xxxxxxxxxx + ummla. */ + return 2416; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx111x01xxxxxxxxxx + fcadd. */ + return 373; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx1x1011xxxxxxxxxx + bfmmla. */ + return 2432; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x0xxxxx1x1111xxxxxxxxxx + bfdot. */ + return 2430; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01011101x0xxxxx1x1111xxxxxxxxxx + bfmlalb. */ + return 2437; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11011101x0xxxxx1x1111xxxxxxxxxx + bfmlalt. */ + return 2436; + } + } + } + } } } } @@ -13282,7 +16967,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx0xxx00xxxxxxxxxxxxxxxx fcvtzs. */ - return 763; + return 764; } else { @@ -13290,7 +16975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx0xxx10xxxxxxxxxxxxxxxx scvtf. */ - return 759; + return 760; } } else @@ -13301,7 +16986,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx0xxx01xxxxxxxxxxxxxxxx fcvtzu. */ - return 765; + return 766; } else { @@ -13309,7 +16994,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx0xxx11xxxxxxxxxxxxxxxx ucvtf. */ - return 761; + return 762; } } } @@ -13815,21 +17500,43 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 00001110xx1xxxx1011010xxxxxxxxxx - fcvtn. */ - return 178; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000011100x1xxxx1011010xxxxxxxxxx + fcvtn. */ + return 178; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010011100x1xxxx1011010xxxxxxxxxx + fcvtn2. */ + return 179; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01001110xx1xxxx1011010xxxxxxxxxx - fcvtn2. */ - return 179; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000011101x1xxxx1011010xxxxxxxxxx + bfcvtn. */ + return 2433; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010011101x1xxxx1011010xxxxxxxxxx + bfcvtn2. */ + return 2434; + } } } } @@ -14146,7 +17853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx0xxxxxxxxxxxxxxx bcax. */ - return 2049; + return 2351; } } else @@ -14757,7 +18464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx100000xxxxxxxxxx sha512h. */ - return 2042; + return 2344; } } } @@ -14809,7 +18516,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx110000xxxxxxxxxx sm3partw1. */ - return 2055; + return 2357; } } } @@ -15052,7 +18759,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100010xxxxxxxxxx sha512su1. */ - return 2045; + return 2347; } } else @@ -15128,7 +18835,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110010xxxxxxxxxx sm4ekey. */ - return 2058; + return 2360; } } else @@ -15954,7 +19661,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100001xxxxxxxxxx sha512h2. */ - return 2043; + return 2345; } } else @@ -15986,7 +19693,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110001xxxxxxxxxx sm3partw2. */ - return 2056; + return 2358; } } else @@ -16226,7 +19933,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100011xxxxxxxxxx rax1. */ - return 2047; + return 2349; } } else @@ -16258,7 +19965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2061; + return 2363; } else { @@ -16266,7 +19973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 2065; + return 2367; } } } @@ -16288,7 +19995,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2062; + return 2364; } else { @@ -16296,7 +20003,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 2066; + return 2368; } } } @@ -16335,7 +20042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2059; + return 2361; } else { @@ -16343,7 +20050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 2063; + return 2365; } } else @@ -16365,7 +20072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2060; + return 2362; } else { @@ -16373,7 +20080,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 2064; + return 2366; } } else @@ -16503,7 +20210,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx100000x00000xxxxxxxxxx fcvtns. */ - return 767; + return 768; } else { @@ -16511,7 +20218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx110000x00000xxxxxxxxxx fcvtms. */ - return 787; + return 788; } } else @@ -16522,7 +20229,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx101000x00000xxxxxxxxxx fcvtps. */ - return 783; + return 784; } else { @@ -16530,7 +20237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx111000x00000xxxxxxxxxx fcvtzs. */ - return 791; + return 792; } } } @@ -16540,7 +20247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx100x00000xxxxxxxxxx fcvtas. */ - return 775; + return 776; } } else @@ -16551,7 +20258,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx010x00000xxxxxxxxxx scvtf. */ - return 771; + return 772; } else { @@ -16561,7 +20268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x0110x00000xxxxxxxxxx fmov. */ - return 779; + return 780; } else { @@ -16571,7 +20278,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx101110x00000xxxxxxxxxx fmov. */ - return 795; + return 796; } else { @@ -16579,7 +20286,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx111110x00000xxxxxxxxxx fjcvtzs. */ - return 797; + return 798; } } } @@ -16599,7 +20306,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx100001x00000xxxxxxxxxx fcvtnu. */ - return 769; + return 770; } else { @@ -16607,7 +20314,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx110001x00000xxxxxxxxxx fcvtmu. */ - return 789; + return 790; } } else @@ -16618,7 +20325,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx101001x00000xxxxxxxxxx fcvtpu. */ - return 785; + return 786; } else { @@ -16626,7 +20333,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx111001x00000xxxxxxxxxx fcvtzu. */ - return 793; + return 794; } } } @@ -16636,7 +20343,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx101x00000xxxxxxxxxx fcvtau. */ - return 777; + return 778; } } else @@ -16647,7 +20354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx011x00000xxxxxxxxxx ucvtf. */ - return 773; + return 774; } else { @@ -16657,7 +20364,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x0111x00000xxxxxxxxxx fmov. */ - return 781; + return 782; } else { @@ -16665,7 +20372,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x1111x00000xxxxxxxxxx fmov. */ - return 796; + return 797; } } } @@ -16687,7 +20394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x0000010000xxxxxxxxxx fmov. */ - return 816; + return 817; } else { @@ -16695,7 +20402,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x1000010000xxxxxxxxxx frint32z. */ - return 812; + return 813; } } else @@ -16704,7 +20411,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx100010000xxxxxxxxxx frintn. */ - return 825; + return 826; } } else @@ -16717,7 +20424,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x0001010000xxxxxxxxxx fneg. */ - return 820; + return 821; } else { @@ -16725,7 +20432,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x1001010000xxxxxxxxxx frint64z. */ - return 814; + return 815; } } else @@ -16734,7 +20441,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx101010000xxxxxxxxxx frintm. */ - return 829; + return 830; } } } @@ -16750,7 +20457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x0000110000xxxxxxxxxx fabs. */ - return 818; + return 819; } else { @@ -16758,7 +20465,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x1000110000xxxxxxxxxx frint32x. */ - return 813; + return 814; } } else @@ -16767,7 +20474,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx100110000xxxxxxxxxx frintp. */ - return 827; + return 828; } } else @@ -16780,7 +20487,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x0001110000xxxxxxxxxx fsqrt. */ - return 822; + return 823; } else { @@ -16788,7 +20495,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1x1001110000xxxxxxxxxx frint64x. */ - return 815; + return 816; } } else @@ -16797,7 +20504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx101110000xxxxxxxxxx frintz. */ - return 831; + return 832; } } } @@ -16810,7 +20517,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx01xx10000xxxxxxxxxx fcvt. */ - return 824; + return 825; } else { @@ -16822,7 +20529,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx110010000xxxxxxxxxx frinta. */ - return 833; + return 834; } else { @@ -16830,7 +20537,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx111010000xxxxxxxxxx frintx. */ - return 835; + return 836; } } else @@ -16839,7 +20546,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xx11x110000xxxxxxxxxx frinti. */ - return 837; + return 838; } } } @@ -16855,7 +20562,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xxxxxxx1000xxxxx00xxx fcmp. */ - return 802; + return 803; } else { @@ -16863,7 +20570,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xxxxxxx1000xxxxx10xxx fcmpe. */ - return 804; + return 805; } } else @@ -16874,7 +20581,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xxxxxxx1000xxxxx01xxx fcmp. */ - return 806; + return 807; } else { @@ -16882,7 +20589,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xxxxxxx1000xxxxx11xxx fcmpe. */ - return 808; + return 809; } } } @@ -16895,7 +20602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x11110xx1xxxxxxxx100xxxxxxxxxx fmov. */ - return 865; + return 866; } else { @@ -16945,7 +20652,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x11110xx1xxxxx000010xxxxxxxxxx fmul. */ - return 839; + return 840; } else { @@ -16966,7 +20673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxx100010xxxxxxxxxx fnmul. */ - return 855; + return 856; } else { @@ -16999,7 +20706,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxx010010xxxxxxxxxx fmax. */ - return 847; + return 848; } else { @@ -17164,7 +20871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxx001010xxxxxxxxxx fadd. */ - return 843; + return 844; } else { @@ -17291,7 +20998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011110xx1xxxxx011010xxxxxxxxxx fmaxnm. */ - return 851; + return 852; } else { @@ -17338,7 +21045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x11110xx1xxxxx000110xxxxxxxxxx fdiv. */ - return 841; + return 842; } else { @@ -17377,7 +21084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11110xx1xxxxx010110xxxxxxxxxx fmin. */ - return 849; + return 850; } else { @@ -17546,7 +21253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxx001110xxxxxxxxxx fsub. */ - return 845; + return 846; } else { @@ -17697,7 +21404,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxx011110xxxxxxxxxx fminnm. */ - return 853; + return 854; } else { @@ -17799,7 +21506,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxxxxxx01xxxxx0xxxx fccmp. */ - return 798; + return 799; } else { @@ -17807,7 +21514,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxxxxxx01xxxxx1xxxx fccmpe. */ - return 800; + return 801; } } else @@ -17970,7 +21677,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011110xx1xxxxxxxxx11xxxxxxxxxx fcsel. */ - return 867; + return 868; } else { @@ -18181,7 +21888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2067; + return 2369; } else { @@ -18189,7 +21896,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0000x0xxxxxxxxxx fmlal. */ - return 2071; + return 2373; } } else @@ -18211,7 +21918,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2068; + return 2370; } else { @@ -18219,7 +21926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 2072; + return 2374; } } else @@ -18469,7 +22176,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011111xx0xxxxx0xxxxxxxxxxxxxxx fmadd. */ - return 857; + return 858; } else { @@ -18477,7 +22184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011111xx1xxxxx0xxxxxxxxxxxxxxx fnmadd. */ - return 861; + return 862; } } else @@ -18725,7 +22432,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2069; + return 2371; } else { @@ -18733,7 +22440,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 2073; + return 2375; } } } @@ -18755,7 +22462,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2070; + return 2372; } else { @@ -18763,7 +22470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 2074; + return 2376; } } } @@ -18819,7 +22526,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx001111xxxxxxxx1110x0xxxxxxxxxx sdot. */ - return 2041; + return 2343; } else { @@ -18827,7 +22534,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101111xxxxxxxx1110x0xxxxxxxxxx udot. */ - return 2040; + return 2342; } } } @@ -18920,11 +22627,66 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx01111xxxxxxxx1111x0xxxxxxxxxx - sqrdmlsh. */ - return 130; + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00111100xxxxxx1111x0xxxxxxxxxx + sudot. */ + return 2420; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00111110xxxxxx1111x0xxxxxxxxxx + usdot. */ + return 2419; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00111101xxxxxx1111x0xxxxxxxxxx + bfdot. */ + return 2431; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x000111111xxxxxx1111x0xxxxxxxxxx + bfmlalb. */ + return 2439; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x100111111xxxxxx1111x0xxxxxxxxxx + bfmlalt. */ + return 2438; + } + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101111xxxxxxxx1111x0xxxxxxxxxx + sqrdmlsh. */ + return 130; + } } } } @@ -19159,7 +22921,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011111xx0xxxxx1xxxxxxxxxxxxxxx fmsub. */ - return 859; + return 860; } else { @@ -19167,7 +22929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011111xx1xxxxx1xxxxxxxxxxxxxxx fnmsub. */ - return 863; + return 864; } } else @@ -19403,58 +23165,62 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 19: return NULL; /* addg --> NULL. */ case 16: value = 20; break; /* sub --> subg. */ case 20: return NULL; /* subg --> NULL. */ - case 967: value = 971; break; /* stnp --> stp. */ - case 971: return NULL; /* stp --> NULL. */ - case 965: value = 966; break; /* stllrb --> stllrh. */ - case 966: return NULL; /* stllrh --> NULL. */ - case 968: value = 972; break; /* ldnp --> ldp. */ - case 972: return NULL; /* ldp --> NULL. */ - case 1617: value = 1618; break; /* ldff1b --> ldff1b. */ - case 1618: return NULL; /* ldff1b --> NULL. */ - case 1673: value = 1674; break; /* ldff1sw --> ldff1sw. */ - case 1674: return NULL; /* ldff1sw --> NULL. */ - case 1621: value = 1622; break; /* ldff1b --> ldff1b. */ - case 1622: return NULL; /* ldff1b --> NULL. */ - case 1640: value = 1641; break; /* ldff1h --> ldff1h. */ - case 1641: return NULL; /* ldff1h --> NULL. */ - case 1619: value = 1620; break; /* ldff1b --> ldff1b. */ - case 1620: return NULL; /* ldff1b --> NULL. */ - case 1638: value = 1639; break; /* ldff1h --> ldff1h. */ - case 1639: return NULL; /* ldff1h --> NULL. */ - case 1623: value = 1624; break; /* ldff1b --> ldff1b. */ - case 1624: return NULL; /* ldff1b --> NULL. */ - case 1642: value = 1643; break; /* ldff1h --> ldff1h. */ - case 1643: return NULL; /* ldff1h --> NULL. */ - case 1663: value = 1664; break; /* ldff1sh --> ldff1sh. */ - case 1664: return NULL; /* ldff1sh --> NULL. */ - case 1651: value = 1652; break; /* ldff1sb --> ldff1sb. */ - case 1652: return NULL; /* ldff1sb --> NULL. */ - case 1682: value = 1683; break; /* ldff1w --> ldff1w. */ - case 1683: return NULL; /* ldff1w --> NULL. */ - case 1655: value = 1656; break; /* ldff1sb --> ldff1sb. */ - case 1656: return NULL; /* ldff1sb --> NULL. */ - case 1665: value = 1666; break; /* ldff1sh --> ldff1sh. */ - case 1666: return NULL; /* ldff1sh --> NULL. */ - case 1653: value = 1654; break; /* ldff1sb --> ldff1sb. */ - case 1654: return NULL; /* ldff1sb --> NULL. */ - case 1684: value = 1685; break; /* ldff1w --> ldff1w. */ - case 1685: return NULL; /* ldff1w --> NULL. */ - case 1629: value = 1630; break; /* ldff1d --> ldff1d. */ - case 1630: return NULL; /* ldff1d --> NULL. */ - case 810: value = 811; break; /* xaflag --> axflag. */ - case 811: value = 1185; break; /* axflag --> msr. */ - case 1185: value = 1186; break; /* msr --> hint. */ - case 1186: value = 1202; break; /* hint --> clrex. */ - case 1202: value = 1203; break; /* clrex --> dsb. */ - case 1203: value = 1206; break; /* dsb --> dmb. */ - case 1206: value = 1207; break; /* dmb --> isb. */ - case 1207: value = 1208; break; /* isb --> sb. */ - case 1208: value = 1209; break; /* sb --> sys. */ - case 1209: value = 1217; break; /* sys --> msr. */ - case 1217: value = 2075; break; /* msr --> cfinv. */ - case 2075: return NULL; /* cfinv --> NULL. */ - case 1218: value = 1219; break; /* sysl --> mrs. */ - case 1219: return NULL; /* mrs --> NULL. */ + case 971: value = 975; break; /* stnp --> stp. */ + case 975: return NULL; /* stp --> NULL. */ + case 969: value = 970; break; /* stllrb --> stllrh. */ + case 970: return NULL; /* stllrh --> NULL. */ + case 972: value = 976; break; /* ldnp --> ldp. */ + case 976: return NULL; /* ldp --> NULL. */ + case 1628: value = 1629; break; /* ldff1b --> ldff1b. */ + case 1629: return NULL; /* ldff1b --> NULL. */ + case 1684: value = 1685; break; /* ldff1sw --> ldff1sw. */ + case 1685: return NULL; /* ldff1sw --> NULL. */ + case 1632: value = 1633; break; /* ldff1b --> ldff1b. */ + case 1633: return NULL; /* ldff1b --> NULL. */ + case 1651: value = 1652; break; /* ldff1h --> ldff1h. */ + case 1652: return NULL; /* ldff1h --> NULL. */ + case 1630: value = 1631; break; /* ldff1b --> ldff1b. */ + case 1631: return NULL; /* ldff1b --> NULL. */ + case 1649: value = 1650; break; /* ldff1h --> ldff1h. */ + case 1650: return NULL; /* ldff1h --> NULL. */ + case 1634: value = 1635; break; /* ldff1b --> ldff1b. */ + case 1635: return NULL; /* ldff1b --> NULL. */ + case 1653: value = 1654; break; /* ldff1h --> ldff1h. */ + case 1654: return NULL; /* ldff1h --> NULL. */ + case 1674: value = 1675; break; /* ldff1sh --> ldff1sh. */ + case 1675: return NULL; /* ldff1sh --> NULL. */ + case 1662: value = 1663; break; /* ldff1sb --> ldff1sb. */ + case 1663: return NULL; /* ldff1sb --> NULL. */ + case 1693: value = 1694; break; /* ldff1w --> ldff1w. */ + case 1694: return NULL; /* ldff1w --> NULL. */ + case 1666: value = 1667; break; /* ldff1sb --> ldff1sb. */ + case 1667: return NULL; /* ldff1sb --> NULL. */ + case 1676: value = 1677; break; /* ldff1sh --> ldff1sh. */ + case 1677: return NULL; /* ldff1sh --> NULL. */ + case 1664: value = 1665; break; /* ldff1sb --> ldff1sb. */ + case 1665: return NULL; /* ldff1sb --> NULL. */ + case 1695: value = 1696; break; /* ldff1w --> ldff1w. */ + case 1696: return NULL; /* ldff1w --> NULL. */ + case 1640: value = 1641; break; /* ldff1d --> ldff1d. */ + case 1641: return NULL; /* ldff1d --> NULL. */ + case 811: value = 812; break; /* xaflag --> axflag. */ + case 812: value = 1190; break; /* axflag --> tcommit. */ + case 1190: value = 1193; break; /* tcommit --> msr. */ + case 1193: value = 1194; break; /* msr --> hint. */ + case 1194: value = 1203; break; /* hint --> dgh. */ + case 1203: value = 1212; break; /* dgh --> clrex. */ + case 1212: value = 1213; break; /* clrex --> dsb. */ + case 1213: value = 1216; break; /* dsb --> dmb. */ + case 1216: value = 1217; break; /* dmb --> isb. */ + case 1217: value = 1218; break; /* isb --> sb. */ + case 1218: value = 1219; break; /* sb --> sys. */ + case 1219: value = 1227; break; /* sys --> cfinv. */ + case 1227: value = 1228; break; /* cfinv --> msr. */ + case 1228: return NULL; /* msr --> NULL. */ + case 1189: value = 1191; break; /* tstart --> ttest. */ + case 1191: value = 1229; break; /* ttest --> sysl. */ + case 1229: value = 1230; break; /* sysl --> mrs. */ + case 1230: return NULL; /* mrs --> NULL. */ case 440: value = 441; break; /* st4 --> st1. */ case 441: value = 442; break; /* st1 --> st2. */ case 442: value = 443; break; /* st2 --> st3. */ @@ -19487,98 +23253,100 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 478: return NULL; /* ld2r --> NULL. */ case 477: value = 479; break; /* ld4 --> ld4r. */ case 479: return NULL; /* ld4r --> NULL. */ - case 763: value = 764; break; /* fcvtzs --> fcvtzs. */ - case 764: return NULL; /* fcvtzs --> NULL. */ - case 759: value = 760; break; /* scvtf --> scvtf. */ - case 760: return NULL; /* scvtf --> NULL. */ - case 765: value = 766; break; /* fcvtzu --> fcvtzu. */ - case 766: return NULL; /* fcvtzu --> NULL. */ - case 761: value = 762; break; /* ucvtf --> ucvtf. */ - case 762: return NULL; /* ucvtf --> NULL. */ - case 767: value = 768; break; /* fcvtns --> fcvtns. */ - case 768: return NULL; /* fcvtns --> NULL. */ - case 787: value = 788; break; /* fcvtms --> fcvtms. */ - case 788: return NULL; /* fcvtms --> NULL. */ - case 783: value = 784; break; /* fcvtps --> fcvtps. */ - case 784: return NULL; /* fcvtps --> NULL. */ - case 791: value = 792; break; /* fcvtzs --> fcvtzs. */ - case 792: return NULL; /* fcvtzs --> NULL. */ - case 775: value = 776; break; /* fcvtas --> fcvtas. */ - case 776: return NULL; /* fcvtas --> NULL. */ - case 771: value = 772; break; /* scvtf --> scvtf. */ - case 772: return NULL; /* scvtf --> NULL. */ - case 779: value = 780; break; /* fmov --> fmov. */ - case 780: return NULL; /* fmov --> NULL. */ - case 769: value = 770; break; /* fcvtnu --> fcvtnu. */ - case 770: return NULL; /* fcvtnu --> NULL. */ - case 789: value = 790; break; /* fcvtmu --> fcvtmu. */ - case 790: return NULL; /* fcvtmu --> NULL. */ - case 785: value = 786; break; /* fcvtpu --> fcvtpu. */ - case 786: return NULL; /* fcvtpu --> NULL. */ - case 793: value = 794; break; /* fcvtzu --> fcvtzu. */ - case 794: return NULL; /* fcvtzu --> NULL. */ - case 777: value = 778; break; /* fcvtau --> fcvtau. */ - case 778: return NULL; /* fcvtau --> NULL. */ - case 773: value = 774; break; /* ucvtf --> ucvtf. */ - case 774: return NULL; /* ucvtf --> NULL. */ - case 781: value = 782; break; /* fmov --> fmov. */ - case 782: return NULL; /* fmov --> NULL. */ - case 816: value = 817; break; /* fmov --> fmov. */ - case 817: return NULL; /* fmov --> NULL. */ - case 825: value = 826; break; /* frintn --> frintn. */ - case 826: return NULL; /* frintn --> NULL. */ - case 820: value = 821; break; /* fneg --> fneg. */ - case 821: return NULL; /* fneg --> NULL. */ - case 829: value = 830; break; /* frintm --> frintm. */ - case 830: return NULL; /* frintm --> NULL. */ - case 818: value = 819; break; /* fabs --> fabs. */ - case 819: return NULL; /* fabs --> NULL. */ - case 827: value = 828; break; /* frintp --> frintp. */ - case 828: return NULL; /* frintp --> NULL. */ - case 822: value = 823; break; /* fsqrt --> fsqrt. */ - case 823: return NULL; /* fsqrt --> NULL. */ - case 831: value = 832; break; /* frintz --> frintz. */ - case 832: return NULL; /* frintz --> NULL. */ - case 833: value = 834; break; /* frinta --> frinta. */ - case 834: return NULL; /* frinta --> NULL. */ - case 835: value = 836; break; /* frintx --> frintx. */ - case 836: return NULL; /* frintx --> NULL. */ - case 837: value = 838; break; /* frinti --> frinti. */ - case 838: return NULL; /* frinti --> NULL. */ - case 802: value = 803; break; /* fcmp --> fcmp. */ - case 803: return NULL; /* fcmp --> NULL. */ - case 804: value = 805; break; /* fcmpe --> fcmpe. */ - case 805: return NULL; /* fcmpe --> NULL. */ - case 806: value = 807; break; /* fcmp --> fcmp. */ - case 807: return NULL; /* fcmp --> NULL. */ - case 808: value = 809; break; /* fcmpe --> fcmpe. */ - case 809: return NULL; /* fcmpe --> NULL. */ - case 865: value = 866; break; /* fmov --> fmov. */ - case 866: return NULL; /* fmov --> NULL. */ - case 839: value = 840; break; /* fmul --> fmul. */ - case 840: return NULL; /* fmul --> NULL. */ - case 855: value = 856; break; /* fnmul --> fnmul. */ - case 856: return NULL; /* fnmul --> NULL. */ - case 847: value = 848; break; /* fmax --> fmax. */ - case 848: return NULL; /* fmax --> NULL. */ - case 843: value = 844; break; /* fadd --> fadd. */ - case 844: return NULL; /* fadd --> NULL. */ - case 851: value = 852; break; /* fmaxnm --> fmaxnm. */ - case 852: return NULL; /* fmaxnm --> NULL. */ - case 841: value = 842; break; /* fdiv --> fdiv. */ - case 842: return NULL; /* fdiv --> NULL. */ - case 849: value = 850; break; /* fmin --> fmin. */ - case 850: return NULL; /* fmin --> NULL. */ - case 845: value = 846; break; /* fsub --> fsub. */ - case 846: return NULL; /* fsub --> NULL. */ - case 853: value = 854; break; /* fminnm --> fminnm. */ - case 854: return NULL; /* fminnm --> NULL. */ - case 798: value = 799; break; /* fccmp --> fccmp. */ - case 799: return NULL; /* fccmp --> NULL. */ - case 800: value = 801; break; /* fccmpe --> fccmpe. */ - case 801: return NULL; /* fccmpe --> NULL. */ - case 867: value = 868; break; /* fcsel --> fcsel. */ - case 868: return NULL; /* fcsel --> NULL. */ + case 764: value = 765; break; /* fcvtzs --> fcvtzs. */ + case 765: return NULL; /* fcvtzs --> NULL. */ + case 760: value = 761; break; /* scvtf --> scvtf. */ + case 761: return NULL; /* scvtf --> NULL. */ + case 766: value = 767; break; /* fcvtzu --> fcvtzu. */ + case 767: return NULL; /* fcvtzu --> NULL. */ + case 762: value = 763; break; /* ucvtf --> ucvtf. */ + case 763: return NULL; /* ucvtf --> NULL. */ + case 768: value = 769; break; /* fcvtns --> fcvtns. */ + case 769: return NULL; /* fcvtns --> NULL. */ + case 788: value = 789; break; /* fcvtms --> fcvtms. */ + case 789: return NULL; /* fcvtms --> NULL. */ + case 784: value = 785; break; /* fcvtps --> fcvtps. */ + case 785: return NULL; /* fcvtps --> NULL. */ + case 792: value = 793; break; /* fcvtzs --> fcvtzs. */ + case 793: return NULL; /* fcvtzs --> NULL. */ + case 776: value = 777; break; /* fcvtas --> fcvtas. */ + case 777: return NULL; /* fcvtas --> NULL. */ + case 772: value = 773; break; /* scvtf --> scvtf. */ + case 773: return NULL; /* scvtf --> NULL. */ + case 780: value = 781; break; /* fmov --> fmov. */ + case 781: return NULL; /* fmov --> NULL. */ + case 770: value = 771; break; /* fcvtnu --> fcvtnu. */ + case 771: return NULL; /* fcvtnu --> NULL. */ + case 790: value = 791; break; /* fcvtmu --> fcvtmu. */ + case 791: return NULL; /* fcvtmu --> NULL. */ + case 786: value = 787; break; /* fcvtpu --> fcvtpu. */ + case 787: return NULL; /* fcvtpu --> NULL. */ + case 794: value = 795; break; /* fcvtzu --> fcvtzu. */ + case 795: return NULL; /* fcvtzu --> NULL. */ + case 778: value = 779; break; /* fcvtau --> fcvtau. */ + case 779: return NULL; /* fcvtau --> NULL. */ + case 774: value = 775; break; /* ucvtf --> ucvtf. */ + case 775: return NULL; /* ucvtf --> NULL. */ + case 782: value = 783; break; /* fmov --> fmov. */ + case 783: return NULL; /* fmov --> NULL. */ + case 817: value = 818; break; /* fmov --> fmov. */ + case 818: return NULL; /* fmov --> NULL. */ + case 826: value = 827; break; /* frintn --> frintn. */ + case 827: return NULL; /* frintn --> NULL. */ + case 821: value = 822; break; /* fneg --> fneg. */ + case 822: return NULL; /* fneg --> NULL. */ + case 830: value = 831; break; /* frintm --> frintm. */ + case 831: return NULL; /* frintm --> NULL. */ + case 819: value = 820; break; /* fabs --> fabs. */ + case 820: return NULL; /* fabs --> NULL. */ + case 828: value = 829; break; /* frintp --> frintp. */ + case 829: return NULL; /* frintp --> NULL. */ + case 823: value = 824; break; /* fsqrt --> fsqrt. */ + case 824: return NULL; /* fsqrt --> NULL. */ + case 832: value = 833; break; /* frintz --> frintz. */ + case 833: return NULL; /* frintz --> NULL. */ + case 825: value = 2435; break; /* fcvt --> bfcvt. */ + case 2435: return NULL; /* bfcvt --> NULL. */ + case 834: value = 835; break; /* frinta --> frinta. */ + case 835: return NULL; /* frinta --> NULL. */ + case 836: value = 837; break; /* frintx --> frintx. */ + case 837: return NULL; /* frintx --> NULL. */ + case 838: value = 839; break; /* frinti --> frinti. */ + case 839: return NULL; /* frinti --> NULL. */ + case 803: value = 804; break; /* fcmp --> fcmp. */ + case 804: return NULL; /* fcmp --> NULL. */ + case 805: value = 806; break; /* fcmpe --> fcmpe. */ + case 806: return NULL; /* fcmpe --> NULL. */ + case 807: value = 808; break; /* fcmp --> fcmp. */ + case 808: return NULL; /* fcmp --> NULL. */ + case 809: value = 810; break; /* fcmpe --> fcmpe. */ + case 810: return NULL; /* fcmpe --> NULL. */ + case 866: value = 867; break; /* fmov --> fmov. */ + case 867: return NULL; /* fmov --> NULL. */ + case 840: value = 841; break; /* fmul --> fmul. */ + case 841: return NULL; /* fmul --> NULL. */ + case 856: value = 857; break; /* fnmul --> fnmul. */ + case 857: return NULL; /* fnmul --> NULL. */ + case 848: value = 849; break; /* fmax --> fmax. */ + case 849: return NULL; /* fmax --> NULL. */ + case 844: value = 845; break; /* fadd --> fadd. */ + case 845: return NULL; /* fadd --> NULL. */ + case 852: value = 853; break; /* fmaxnm --> fmaxnm. */ + case 853: return NULL; /* fmaxnm --> NULL. */ + case 842: value = 843; break; /* fdiv --> fdiv. */ + case 843: return NULL; /* fdiv --> NULL. */ + case 850: value = 851; break; /* fmin --> fmin. */ + case 851: return NULL; /* fmin --> NULL. */ + case 846: value = 847; break; /* fsub --> fsub. */ + case 847: return NULL; /* fsub --> NULL. */ + case 854: value = 855; break; /* fminnm --> fminnm. */ + case 855: return NULL; /* fminnm --> NULL. */ + case 799: value = 800; break; /* fccmp --> fccmp. */ + case 800: return NULL; /* fccmp --> NULL. */ + case 801: value = 802; break; /* fccmpe --> fccmpe. */ + case 802: return NULL; /* fccmpe --> NULL. */ + case 868: value = 869; break; /* fcsel --> fcsel. */ + case 869: return NULL; /* fcsel --> NULL. */ case 133: value = 374; break; /* movi --> sshr. */ case 374: value = 376; break; /* sshr --> srshr. */ case 376: return NULL; /* srshr --> NULL. */ @@ -19597,10 +23365,10 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 399: value = 401; break; /* ursra --> sli. */ case 401: value = 403; break; /* sli --> uqshl. */ case 403: return NULL; /* uqshl --> NULL. */ - case 857: value = 858; break; /* fmadd --> fmadd. */ - case 858: return NULL; /* fmadd --> NULL. */ - case 861: value = 862; break; /* fnmadd --> fnmadd. */ - case 862: return NULL; /* fnmadd --> NULL. */ + case 858: value = 859; break; /* fmadd --> fmadd. */ + case 859: return NULL; /* fmadd --> NULL. */ + case 862: value = 863; break; /* fnmadd --> fnmadd. */ + case 863: return NULL; /* fnmadd --> NULL. */ case 135: value = 380; break; /* movi --> shrn. */ case 380: value = 381; break; /* shrn --> shrn2. */ case 381: value = 388; break; /* shrn2 --> sshll. */ @@ -19629,10 +23397,10 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 395: return NULL; /* fcvtzs --> NULL. */ case 418: value = 419; break; /* fcvtzu --> fcvtzu. */ case 419: return NULL; /* fcvtzu --> NULL. */ - case 859: value = 860; break; /* fmsub --> fmsub. */ - case 860: return NULL; /* fmsub --> NULL. */ - case 863: value = 864; break; /* fnmsub --> fnmsub. */ - case 864: return NULL; /* fnmsub --> NULL. */ + case 860: value = 861; break; /* fmsub --> fmsub. */ + case 861: return NULL; /* fmsub --> NULL. */ + case 864: value = 865; break; /* fnmsub --> fnmsub. */ + case 865: return NULL; /* fnmsub --> NULL. */ case 598: value = 599; break; /* scvtf --> scvtf. */ case 599: return NULL; /* scvtf --> NULL. */ case 600: value = 601; break; /* fcvtzs --> fcvtzs. */ @@ -19693,95 +23461,95 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode) case 741: value = 742; break; /* smsubl --> smnegl. */ case 744: value = 745; break; /* umaddl --> umull. */ case 746: value = 747; break; /* umsubl --> umnegl. */ - case 757: value = 758; break; /* extr --> ror. */ - case 987: value = 988; break; /* and --> bic. */ - case 989: value = 990; break; /* orr --> mov. */ - case 992: value = 993; break; /* ands --> tst. */ - case 996: value = 998; break; /* orr --> uxtw. */ - case 999: value = 1000; break; /* orn --> mvn. */ - case 1003: value = 1004; break; /* ands --> tst. */ - case 1034: value = 1130; break; /* ldaddb --> staddb. */ - case 1035: value = 1131; break; /* ldaddh --> staddh. */ - case 1036: value = 1132; break; /* ldadd --> stadd. */ - case 1038: value = 1133; break; /* ldaddlb --> staddlb. */ - case 1041: value = 1134; break; /* ldaddlh --> staddlh. */ - case 1044: value = 1135; break; /* ldaddl --> staddl. */ - case 1046: value = 1136; break; /* ldclrb --> stclrb. */ - case 1047: value = 1137; break; /* ldclrh --> stclrh. */ - case 1048: value = 1138; break; /* ldclr --> stclr. */ - case 1050: value = 1139; break; /* ldclrlb --> stclrlb. */ - case 1053: value = 1140; break; /* ldclrlh --> stclrlh. */ - case 1056: value = 1141; break; /* ldclrl --> stclrl. */ - case 1058: value = 1142; break; /* ldeorb --> steorb. */ - case 1059: value = 1143; break; /* ldeorh --> steorh. */ - case 1060: value = 1144; break; /* ldeor --> steor. */ - case 1062: value = 1145; break; /* ldeorlb --> steorlb. */ - case 1065: value = 1146; break; /* ldeorlh --> steorlh. */ - case 1068: value = 1147; break; /* ldeorl --> steorl. */ - case 1070: value = 1148; break; /* ldsetb --> stsetb. */ - case 1071: value = 1149; break; /* ldseth --> stseth. */ - case 1072: value = 1150; break; /* ldset --> stset. */ - case 1074: value = 1151; break; /* ldsetlb --> stsetlb. */ - case 1077: value = 1152; break; /* ldsetlh --> stsetlh. */ - case 1080: value = 1153; break; /* ldsetl --> stsetl. */ - case 1082: value = 1154; break; /* ldsmaxb --> stsmaxb. */ - case 1083: value = 1155; break; /* ldsmaxh --> stsmaxh. */ - case 1084: value = 1156; break; /* ldsmax --> stsmax. */ - case 1086: value = 1157; break; /* ldsmaxlb --> stsmaxlb. */ - case 1089: value = 1158; break; /* ldsmaxlh --> stsmaxlh. */ - case 1092: value = 1159; break; /* ldsmaxl --> stsmaxl. */ - case 1094: value = 1160; break; /* ldsminb --> stsminb. */ - case 1095: value = 1161; break; /* ldsminh --> stsminh. */ - case 1096: value = 1162; break; /* ldsmin --> stsmin. */ - case 1098: value = 1163; break; /* ldsminlb --> stsminlb. */ - case 1101: value = 1164; break; /* ldsminlh --> stsminlh. */ - case 1104: value = 1165; break; /* ldsminl --> stsminl. */ - case 1106: value = 1166; break; /* ldumaxb --> stumaxb. */ - case 1107: value = 1167; break; /* ldumaxh --> stumaxh. */ - case 1108: value = 1168; break; /* ldumax --> stumax. */ - case 1110: value = 1169; break; /* ldumaxlb --> stumaxlb. */ - case 1113: value = 1170; break; /* ldumaxlh --> stumaxlh. */ - case 1116: value = 1171; break; /* ldumaxl --> stumaxl. */ - case 1118: value = 1172; break; /* lduminb --> stuminb. */ - case 1119: value = 1173; break; /* lduminh --> stuminh. */ - case 1120: value = 1174; break; /* ldumin --> stumin. */ - case 1122: value = 1175; break; /* lduminlb --> stuminlb. */ - case 1125: value = 1176; break; /* lduminlh --> stuminlh. */ - case 1128: value = 1177; break; /* lduminl --> stuminl. */ - case 1178: value = 1179; break; /* movn --> mov. */ - case 1180: value = 1181; break; /* movz --> mov. */ - case 1186: value = 1227; break; /* hint --> autibsp. */ - case 1203: value = 1205; break; /* dsb --> pssbb. */ - case 1209: value = 1216; break; /* sys --> cpp. */ - case 1275: value = 2025; break; /* and --> bic. */ - case 1277: value = 1258; break; /* and --> mov. */ - case 1278: value = 1262; break; /* ands --> movs. */ - case 1313: value = 2026; break; /* cmpge --> cmple. */ - case 1316: value = 2029; break; /* cmpgt --> cmplt. */ - case 1318: value = 2027; break; /* cmphi --> cmplo. */ - case 1321: value = 2028; break; /* cmphs --> cmpls. */ - case 1343: value = 1255; break; /* cpy --> mov. */ - case 1344: value = 1257; break; /* cpy --> mov. */ - case 1345: value = 2036; break; /* cpy --> fmov. */ - case 1357: value = 1250; break; /* dup --> mov. */ - case 1358: value = 1252; break; /* dup --> mov. */ - case 1359: value = 2035; break; /* dup --> fmov. */ - case 1360: value = 1253; break; /* dupm --> mov. */ - case 1362: value = 2030; break; /* eor --> eon. */ - case 1364: value = 1263; break; /* eor --> not. */ - case 1365: value = 1264; break; /* eors --> nots. */ - case 1370: value = 2031; break; /* facge --> facle. */ - case 1371: value = 2032; break; /* facgt --> faclt. */ - case 1384: value = 2033; break; /* fcmge --> fcmle. */ - case 1386: value = 2034; break; /* fcmgt --> fcmlt. */ - case 1392: value = 1247; break; /* fcpy --> fmov. */ - case 1415: value = 1246; break; /* fdup --> fmov. */ - case 1746: value = 1248; break; /* orr --> mov. */ - case 1747: value = 2037; break; /* orr --> orn. */ - case 1749: value = 1251; break; /* orr --> mov. */ - case 1750: value = 1261; break; /* orrs --> movs. */ - case 1812: value = 1256; break; /* sel --> mov. */ - case 1813: value = 1259; break; /* sel --> mov. */ + case 758: value = 759; break; /* extr --> ror. */ + case 991: value = 992; break; /* and --> bic. */ + case 993: value = 994; break; /* orr --> mov. */ + case 996: value = 997; break; /* ands --> tst. */ + case 1000: value = 1002; break; /* orr --> uxtw. */ + case 1003: value = 1004; break; /* orn --> mvn. */ + case 1007: value = 1008; break; /* ands --> tst. */ + case 1038: value = 1134; break; /* ldaddb --> staddb. */ + case 1039: value = 1135; break; /* ldaddh --> staddh. */ + case 1040: value = 1136; break; /* ldadd --> stadd. */ + case 1042: value = 1137; break; /* ldaddlb --> staddlb. */ + case 1045: value = 1138; break; /* ldaddlh --> staddlh. */ + case 1048: value = 1139; break; /* ldaddl --> staddl. */ + case 1050: value = 1140; break; /* ldclrb --> stclrb. */ + case 1051: value = 1141; break; /* ldclrh --> stclrh. */ + case 1052: value = 1142; break; /* ldclr --> stclr. */ + case 1054: value = 1143; break; /* ldclrlb --> stclrlb. */ + case 1057: value = 1144; break; /* ldclrlh --> stclrlh. */ + case 1060: value = 1145; break; /* ldclrl --> stclrl. */ + case 1062: value = 1146; break; /* ldeorb --> steorb. */ + case 1063: value = 1147; break; /* ldeorh --> steorh. */ + case 1064: value = 1148; break; /* ldeor --> steor. */ + case 1066: value = 1149; break; /* ldeorlb --> steorlb. */ + case 1069: value = 1150; break; /* ldeorlh --> steorlh. */ + case 1072: value = 1151; break; /* ldeorl --> steorl. */ + case 1074: value = 1152; break; /* ldsetb --> stsetb. */ + case 1075: value = 1153; break; /* ldseth --> stseth. */ + case 1076: value = 1154; break; /* ldset --> stset. */ + case 1078: value = 1155; break; /* ldsetlb --> stsetlb. */ + case 1081: value = 1156; break; /* ldsetlh --> stsetlh. */ + case 1084: value = 1157; break; /* ldsetl --> stsetl. */ + case 1086: value = 1158; break; /* ldsmaxb --> stsmaxb. */ + case 1087: value = 1159; break; /* ldsmaxh --> stsmaxh. */ + case 1088: value = 1160; break; /* ldsmax --> stsmax. */ + case 1090: value = 1161; break; /* ldsmaxlb --> stsmaxlb. */ + case 1093: value = 1162; break; /* ldsmaxlh --> stsmaxlh. */ + case 1096: value = 1163; break; /* ldsmaxl --> stsmaxl. */ + case 1098: value = 1164; break; /* ldsminb --> stsminb. */ + case 1099: value = 1165; break; /* ldsminh --> stsminh. */ + case 1100: value = 1166; break; /* ldsmin --> stsmin. */ + case 1102: value = 1167; break; /* ldsminlb --> stsminlb. */ + case 1105: value = 1168; break; /* ldsminlh --> stsminlh. */ + case 1108: value = 1169; break; /* ldsminl --> stsminl. */ + case 1110: value = 1170; break; /* ldumaxb --> stumaxb. */ + case 1111: value = 1171; break; /* ldumaxh --> stumaxh. */ + case 1112: value = 1172; break; /* ldumax --> stumax. */ + case 1114: value = 1173; break; /* ldumaxlb --> stumaxlb. */ + case 1117: value = 1174; break; /* ldumaxlh --> stumaxlh. */ + case 1120: value = 1175; break; /* ldumaxl --> stumaxl. */ + case 1122: value = 1176; break; /* lduminb --> stuminb. */ + case 1123: value = 1177; break; /* lduminh --> stuminh. */ + case 1124: value = 1178; break; /* ldumin --> stumin. */ + case 1126: value = 1179; break; /* lduminlb --> stuminlb. */ + case 1129: value = 1180; break; /* lduminlh --> stuminlh. */ + case 1132: value = 1181; break; /* lduminl --> stuminl. */ + case 1182: value = 1183; break; /* movn --> mov. */ + case 1184: value = 1185; break; /* movz --> mov. */ + case 1194: value = 1238; break; /* hint --> autibsp. */ + case 1213: value = 1215; break; /* dsb --> pssbb. */ + case 1219: value = 1226; break; /* sys --> cpp. */ + case 1286: value = 2036; break; /* and --> bic. */ + case 1288: value = 1269; break; /* and --> mov. */ + case 1289: value = 1273; break; /* ands --> movs. */ + case 1324: value = 2037; break; /* cmpge --> cmple. */ + case 1327: value = 2040; break; /* cmpgt --> cmplt. */ + case 1329: value = 2038; break; /* cmphi --> cmplo. */ + case 1332: value = 2039; break; /* cmphs --> cmpls. */ + case 1354: value = 1266; break; /* cpy --> mov. */ + case 1355: value = 1268; break; /* cpy --> mov. */ + case 1356: value = 2047; break; /* cpy --> fmov. */ + case 1368: value = 1261; break; /* dup --> mov. */ + case 1369: value = 1263; break; /* dup --> mov. */ + case 1370: value = 2046; break; /* dup --> fmov. */ + case 1371: value = 1264; break; /* dupm --> mov. */ + case 1373: value = 2041; break; /* eor --> eon. */ + case 1375: value = 1274; break; /* eor --> not. */ + case 1376: value = 1275; break; /* eors --> nots. */ + case 1381: value = 2042; break; /* facge --> facle. */ + case 1382: value = 2043; break; /* facgt --> faclt. */ + case 1395: value = 2044; break; /* fcmge --> fcmle. */ + case 1397: value = 2045; break; /* fcmgt --> fcmlt. */ + case 1403: value = 1258; break; /* fcpy --> fmov. */ + case 1426: value = 1257; break; /* fdup --> fmov. */ + case 1757: value = 1259; break; /* orr --> mov. */ + case 1758: value = 2048; break; /* orr --> orn. */ + case 1760: value = 1262; break; /* orr --> mov. */ + case 1761: value = 1272; break; /* orrs --> movs. */ + case 1823: value = 1267; break; /* sel --> mov. */ + case 1824: value = 1270; break; /* sel --> mov. */ default: return NULL; } @@ -19849,128 +23617,129 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) case 742: value = 741; break; /* smnegl --> smsubl. */ case 745: value = 744; break; /* umull --> umaddl. */ case 747: value = 746; break; /* umnegl --> umsubl. */ - case 758: value = 757; break; /* ror --> extr. */ - case 988: value = 987; break; /* bic --> and. */ - case 990: value = 989; break; /* mov --> orr. */ - case 993: value = 992; break; /* tst --> ands. */ - case 998: value = 997; break; /* uxtw --> mov. */ - case 997: value = 996; break; /* mov --> orr. */ - case 1000: value = 999; break; /* mvn --> orn. */ - case 1004: value = 1003; break; /* tst --> ands. */ - case 1130: value = 1034; break; /* staddb --> ldaddb. */ - case 1131: value = 1035; break; /* staddh --> ldaddh. */ - case 1132: value = 1036; break; /* stadd --> ldadd. */ - case 1133: value = 1038; break; /* staddlb --> ldaddlb. */ - case 1134: value = 1041; break; /* staddlh --> ldaddlh. */ - case 1135: value = 1044; break; /* staddl --> ldaddl. */ - case 1136: value = 1046; break; /* stclrb --> ldclrb. */ - case 1137: value = 1047; break; /* stclrh --> ldclrh. */ - case 1138: value = 1048; break; /* stclr --> ldclr. */ - case 1139: value = 1050; break; /* stclrlb --> ldclrlb. */ - case 1140: value = 1053; break; /* stclrlh --> ldclrlh. */ - case 1141: value = 1056; break; /* stclrl --> ldclrl. */ - case 1142: value = 1058; break; /* steorb --> ldeorb. */ - case 1143: value = 1059; break; /* steorh --> ldeorh. */ - case 1144: value = 1060; break; /* steor --> ldeor. */ - case 1145: value = 1062; break; /* steorlb --> ldeorlb. */ - case 1146: value = 1065; break; /* steorlh --> ldeorlh. */ - case 1147: value = 1068; break; /* steorl --> ldeorl. */ - case 1148: value = 1070; break; /* stsetb --> ldsetb. */ - case 1149: value = 1071; break; /* stseth --> ldseth. */ - case 1150: value = 1072; break; /* stset --> ldset. */ - case 1151: value = 1074; break; /* stsetlb --> ldsetlb. */ - case 1152: value = 1077; break; /* stsetlh --> ldsetlh. */ - case 1153: value = 1080; break; /* stsetl --> ldsetl. */ - case 1154: value = 1082; break; /* stsmaxb --> ldsmaxb. */ - case 1155: value = 1083; break; /* stsmaxh --> ldsmaxh. */ - case 1156: value = 1084; break; /* stsmax --> ldsmax. */ - case 1157: value = 1086; break; /* stsmaxlb --> ldsmaxlb. */ - case 1158: value = 1089; break; /* stsmaxlh --> ldsmaxlh. */ - case 1159: value = 1092; break; /* stsmaxl --> ldsmaxl. */ - case 1160: value = 1094; break; /* stsminb --> ldsminb. */ - case 1161: value = 1095; break; /* stsminh --> ldsminh. */ - case 1162: value = 1096; break; /* stsmin --> ldsmin. */ - case 1163: value = 1098; break; /* stsminlb --> ldsminlb. */ - case 1164: value = 1101; break; /* stsminlh --> ldsminlh. */ - case 1165: value = 1104; break; /* stsminl --> ldsminl. */ - case 1166: value = 1106; break; /* stumaxb --> ldumaxb. */ - case 1167: value = 1107; break; /* stumaxh --> ldumaxh. */ - case 1168: value = 1108; break; /* stumax --> ldumax. */ - case 1169: value = 1110; break; /* stumaxlb --> ldumaxlb. */ - case 1170: value = 1113; break; /* stumaxlh --> ldumaxlh. */ - case 1171: value = 1116; break; /* stumaxl --> ldumaxl. */ - case 1172: value = 1118; break; /* stuminb --> lduminb. */ - case 1173: value = 1119; break; /* stuminh --> lduminh. */ - case 1174: value = 1120; break; /* stumin --> ldumin. */ - case 1175: value = 1122; break; /* stuminlb --> lduminlb. */ - case 1176: value = 1125; break; /* stuminlh --> lduminlh. */ - case 1177: value = 1128; break; /* stuminl --> lduminl. */ - case 1179: value = 1178; break; /* mov --> movn. */ - case 1181: value = 1180; break; /* mov --> movz. */ - case 1227: value = 1226; break; /* autibsp --> autibz. */ - case 1226: value = 1225; break; /* autibz --> autiasp. */ - case 1225: value = 1224; break; /* autiasp --> autiaz. */ - case 1224: value = 1223; break; /* autiaz --> pacibsp. */ - case 1223: value = 1222; break; /* pacibsp --> pacibz. */ - case 1222: value = 1221; break; /* pacibz --> paciasp. */ - case 1221: value = 1220; break; /* paciasp --> paciaz. */ - case 1220: value = 1201; break; /* paciaz --> psb. */ - case 1201: value = 1200; break; /* psb --> esb. */ - case 1200: value = 1199; break; /* esb --> autib1716. */ - case 1199: value = 1198; break; /* autib1716 --> autia1716. */ - case 1198: value = 1197; break; /* autia1716 --> pacib1716. */ - case 1197: value = 1196; break; /* pacib1716 --> pacia1716. */ - case 1196: value = 1195; break; /* pacia1716 --> xpaclri. */ - case 1195: value = 1194; break; /* xpaclri --> sevl. */ - case 1194: value = 1193; break; /* sevl --> sev. */ - case 1193: value = 1192; break; /* sev --> wfi. */ - case 1192: value = 1191; break; /* wfi --> wfe. */ - case 1191: value = 1190; break; /* wfe --> yield. */ - case 1190: value = 1189; break; /* yield --> bti. */ - case 1189: value = 1188; break; /* bti --> csdb. */ - case 1188: value = 1187; break; /* csdb --> nop. */ - case 1187: value = 1186; break; /* nop --> hint. */ - case 1205: value = 1204; break; /* pssbb --> ssbb. */ - case 1204: value = 1203; break; /* ssbb --> dsb. */ - case 1216: value = 1215; break; /* cpp --> dvp. */ - case 1215: value = 1214; break; /* dvp --> cfp. */ - case 1214: value = 1213; break; /* cfp --> tlbi. */ - case 1213: value = 1212; break; /* tlbi --> ic. */ - case 1212: value = 1211; break; /* ic --> dc. */ - case 1211: value = 1210; break; /* dc --> at. */ - case 1210: value = 1209; break; /* at --> sys. */ - case 2025: value = 1275; break; /* bic --> and. */ - case 1258: value = 1277; break; /* mov --> and. */ - case 1262: value = 1278; break; /* movs --> ands. */ - case 2026: value = 1313; break; /* cmple --> cmpge. */ - case 2029: value = 1316; break; /* cmplt --> cmpgt. */ - case 2027: value = 1318; break; /* cmplo --> cmphi. */ - case 2028: value = 1321; break; /* cmpls --> cmphs. */ - case 1255: value = 1343; break; /* mov --> cpy. */ - case 1257: value = 1344; break; /* mov --> cpy. */ - case 2036: value = 1260; break; /* fmov --> mov. */ - case 1260: value = 1345; break; /* mov --> cpy. */ - case 1250: value = 1357; break; /* mov --> dup. */ - case 1252: value = 1249; break; /* mov --> mov. */ - case 1249: value = 1358; break; /* mov --> dup. */ - case 2035: value = 1254; break; /* fmov --> mov. */ - case 1254: value = 1359; break; /* mov --> dup. */ - case 1253: value = 1360; break; /* mov --> dupm. */ - case 2030: value = 1362; break; /* eon --> eor. */ - case 1263: value = 1364; break; /* not --> eor. */ - case 1264: value = 1365; break; /* nots --> eors. */ - case 2031: value = 1370; break; /* facle --> facge. */ - case 2032: value = 1371; break; /* faclt --> facgt. */ - case 2033: value = 1384; break; /* fcmle --> fcmge. */ - case 2034: value = 1386; break; /* fcmlt --> fcmgt. */ - case 1247: value = 1392; break; /* fmov --> fcpy. */ - case 1246: value = 1415; break; /* fmov --> fdup. */ - case 1248: value = 1746; break; /* mov --> orr. */ - case 2037: value = 1747; break; /* orn --> orr. */ - case 1251: value = 1749; break; /* mov --> orr. */ - case 1261: value = 1750; break; /* movs --> orrs. */ - case 1256: value = 1812; break; /* mov --> sel. */ - case 1259: value = 1813; break; /* mov --> sel. */ + case 759: value = 758; break; /* ror --> extr. */ + case 992: value = 991; break; /* bic --> and. */ + case 994: value = 993; break; /* mov --> orr. */ + case 997: value = 996; break; /* tst --> ands. */ + case 1002: value = 1001; break; /* uxtw --> mov. */ + case 1001: value = 1000; break; /* mov --> orr. */ + case 1004: value = 1003; break; /* mvn --> orn. */ + case 1008: value = 1007; break; /* tst --> ands. */ + case 1134: value = 1038; break; /* staddb --> ldaddb. */ + case 1135: value = 1039; break; /* staddh --> ldaddh. */ + case 1136: value = 1040; break; /* stadd --> ldadd. */ + case 1137: value = 1042; break; /* staddlb --> ldaddlb. */ + case 1138: value = 1045; break; /* staddlh --> ldaddlh. */ + case 1139: value = 1048; break; /* staddl --> ldaddl. */ + case 1140: value = 1050; break; /* stclrb --> ldclrb. */ + case 1141: value = 1051; break; /* stclrh --> ldclrh. */ + case 1142: value = 1052; break; /* stclr --> ldclr. */ + case 1143: value = 1054; break; /* stclrlb --> ldclrlb. */ + case 1144: value = 1057; break; /* stclrlh --> ldclrlh. */ + case 1145: value = 1060; break; /* stclrl --> ldclrl. */ + case 1146: value = 1062; break; /* steorb --> ldeorb. */ + case 1147: value = 1063; break; /* steorh --> ldeorh. */ + case 1148: value = 1064; break; /* steor --> ldeor. */ + case 1149: value = 1066; break; /* steorlb --> ldeorlb. */ + case 1150: value = 1069; break; /* steorlh --> ldeorlh. */ + case 1151: value = 1072; break; /* steorl --> ldeorl. */ + case 1152: value = 1074; break; /* stsetb --> ldsetb. */ + case 1153: value = 1075; break; /* stseth --> ldseth. */ + case 1154: value = 1076; break; /* stset --> ldset. */ + case 1155: value = 1078; break; /* stsetlb --> ldsetlb. */ + case 1156: value = 1081; break; /* stsetlh --> ldsetlh. */ + case 1157: value = 1084; break; /* stsetl --> ldsetl. */ + case 1158: value = 1086; break; /* stsmaxb --> ldsmaxb. */ + case 1159: value = 1087; break; /* stsmaxh --> ldsmaxh. */ + case 1160: value = 1088; break; /* stsmax --> ldsmax. */ + case 1161: value = 1090; break; /* stsmaxlb --> ldsmaxlb. */ + case 1162: value = 1093; break; /* stsmaxlh --> ldsmaxlh. */ + case 1163: value = 1096; break; /* stsmaxl --> ldsmaxl. */ + case 1164: value = 1098; break; /* stsminb --> ldsminb. */ + case 1165: value = 1099; break; /* stsminh --> ldsminh. */ + case 1166: value = 1100; break; /* stsmin --> ldsmin. */ + case 1167: value = 1102; break; /* stsminlb --> ldsminlb. */ + case 1168: value = 1105; break; /* stsminlh --> ldsminlh. */ + case 1169: value = 1108; break; /* stsminl --> ldsminl. */ + case 1170: value = 1110; break; /* stumaxb --> ldumaxb. */ + case 1171: value = 1111; break; /* stumaxh --> ldumaxh. */ + case 1172: value = 1112; break; /* stumax --> ldumax. */ + case 1173: value = 1114; break; /* stumaxlb --> ldumaxlb. */ + case 1174: value = 1117; break; /* stumaxlh --> ldumaxlh. */ + case 1175: value = 1120; break; /* stumaxl --> ldumaxl. */ + case 1176: value = 1122; break; /* stuminb --> lduminb. */ + case 1177: value = 1123; break; /* stuminh --> lduminh. */ + case 1178: value = 1124; break; /* stumin --> ldumin. */ + case 1179: value = 1126; break; /* stuminlb --> lduminlb. */ + case 1180: value = 1129; break; /* stuminlh --> lduminlh. */ + case 1181: value = 1132; break; /* stuminl --> lduminl. */ + case 1183: value = 1182; break; /* mov --> movn. */ + case 1185: value = 1184; break; /* mov --> movz. */ + case 1238: value = 1237; break; /* autibsp --> autibz. */ + case 1237: value = 1236; break; /* autibz --> autiasp. */ + case 1236: value = 1235; break; /* autiasp --> autiaz. */ + case 1235: value = 1234; break; /* autiaz --> pacibsp. */ + case 1234: value = 1233; break; /* pacibsp --> pacibz. */ + case 1233: value = 1232; break; /* pacibz --> paciasp. */ + case 1232: value = 1231; break; /* paciasp --> paciaz. */ + case 1231: value = 1211; break; /* paciaz --> tsb. */ + case 1211: value = 1210; break; /* tsb --> psb. */ + case 1210: value = 1209; break; /* psb --> esb. */ + case 1209: value = 1208; break; /* esb --> autib1716. */ + case 1208: value = 1207; break; /* autib1716 --> autia1716. */ + case 1207: value = 1206; break; /* autia1716 --> pacib1716. */ + case 1206: value = 1205; break; /* pacib1716 --> pacia1716. */ + case 1205: value = 1204; break; /* pacia1716 --> xpaclri. */ + case 1204: value = 1202; break; /* xpaclri --> sevl. */ + case 1202: value = 1201; break; /* sevl --> sev. */ + case 1201: value = 1200; break; /* sev --> wfi. */ + case 1200: value = 1199; break; /* wfi --> wfe. */ + case 1199: value = 1198; break; /* wfe --> yield. */ + case 1198: value = 1197; break; /* yield --> bti. */ + case 1197: value = 1196; break; /* bti --> csdb. */ + case 1196: value = 1195; break; /* csdb --> nop. */ + case 1195: value = 1194; break; /* nop --> hint. */ + case 1215: value = 1214; break; /* pssbb --> ssbb. */ + case 1214: value = 1213; break; /* ssbb --> dsb. */ + case 1226: value = 1225; break; /* cpp --> dvp. */ + case 1225: value = 1224; break; /* dvp --> cfp. */ + case 1224: value = 1223; break; /* cfp --> tlbi. */ + case 1223: value = 1222; break; /* tlbi --> ic. */ + case 1222: value = 1221; break; /* ic --> dc. */ + case 1221: value = 1220; break; /* dc --> at. */ + case 1220: value = 1219; break; /* at --> sys. */ + case 2036: value = 1286; break; /* bic --> and. */ + case 1269: value = 1288; break; /* mov --> and. */ + case 1273: value = 1289; break; /* movs --> ands. */ + case 2037: value = 1324; break; /* cmple --> cmpge. */ + case 2040: value = 1327; break; /* cmplt --> cmpgt. */ + case 2038: value = 1329; break; /* cmplo --> cmphi. */ + case 2039: value = 1332; break; /* cmpls --> cmphs. */ + case 1266: value = 1354; break; /* mov --> cpy. */ + case 1268: value = 1355; break; /* mov --> cpy. */ + case 2047: value = 1271; break; /* fmov --> mov. */ + case 1271: value = 1356; break; /* mov --> cpy. */ + case 1261: value = 1368; break; /* mov --> dup. */ + case 1263: value = 1260; break; /* mov --> mov. */ + case 1260: value = 1369; break; /* mov --> dup. */ + case 2046: value = 1265; break; /* fmov --> mov. */ + case 1265: value = 1370; break; /* mov --> dup. */ + case 1264: value = 1371; break; /* mov --> dupm. */ + case 2041: value = 1373; break; /* eon --> eor. */ + case 1274: value = 1375; break; /* not --> eor. */ + case 1275: value = 1376; break; /* nots --> eors. */ + case 2042: value = 1381; break; /* facle --> facge. */ + case 2043: value = 1382; break; /* faclt --> facgt. */ + case 2044: value = 1395; break; /* fcmle --> fcmge. */ + case 2045: value = 1397; break; /* fcmlt --> fcmgt. */ + case 1258: value = 1403; break; /* fmov --> fcpy. */ + case 1257: value = 1426; break; /* fmov --> fdup. */ + case 1259: value = 1757; break; /* mov --> orr. */ + case 2048: value = 1758; break; /* orn --> orr. */ + case 1262: value = 1760; break; /* mov --> orr. */ + case 1272: value = 1761; break; /* movs --> orrs. */ + case 1267: value = 1823; break; /* mov --> sel. */ + case 1270: value = 1824; break; /* mov --> sel. */ default: return NULL; } @@ -19994,14 +23763,14 @@ aarch64_extract_operand (const aarch64_operand *self, case 5: case 6: case 7: - case 9: + case 8: case 10: case 11: - case 15: + case 12: case 16: case 17: case 18: - case 20: + case 19: case 21: case 22: case 23: @@ -20011,57 +23780,57 @@ aarch64_extract_operand (const aarch64_operand *self, case 27: case 28: case 29: - case 159: - case 160: - case 161: - case 162: - case 163: + case 30: case 164: case 165: case 166: case 167: case 168: - case 181: - case 182: - case 183: - case 184: - case 185: - case 186: - case 187: + case 169: + case 170: + case 171: + case 172: + case 173: case 188: case 189: + case 190: + case 191: + case 192: case 193: + case 194: + case 195: case 196: + case 202: + case 205: return aarch64_ext_regno (self, info, code, inst, errors); - case 8: + case 9: return aarch64_ext_regrt_sysins (self, info, code, inst, errors); - case 12: - return aarch64_ext_regno_pair (self, info, code, inst, errors); case 13: - return aarch64_ext_reg_extended (self, info, code, inst, errors); + return aarch64_ext_regno_pair (self, info, code, inst, errors); case 14: + return aarch64_ext_reg_extended (self, info, code, inst, errors); + case 15: return aarch64_ext_reg_shifted (self, info, code, inst, errors); - case 19: + case 20: return aarch64_ext_ft (self, info, code, inst, errors); - case 30: case 31: case 32: case 33: - case 198: - return aarch64_ext_reglane (self, info, code, inst, errors); case 34: - return aarch64_ext_reglist (self, info, code, inst, errors); + case 208: + return aarch64_ext_reglane (self, info, code, inst, errors); case 35: - return aarch64_ext_ldst_reglist (self, info, code, inst, errors); + return aarch64_ext_reglist (self, info, code, inst, errors); case 36: - return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors); + return aarch64_ext_ldst_reglist (self, info, code, inst, errors); case 37: - return aarch64_ext_ldst_elemlist (self, info, code, inst, errors); + return aarch64_ext_ldst_reglist_r (self, info, code, inst, errors); case 38: + return aarch64_ext_ldst_elemlist (self, info, code, inst, errors); case 39: case 40: case 41: - case 51: + case 42: case 52: case 53: case 54: @@ -20077,109 +23846,112 @@ aarch64_extract_operand (const aarch64_operand *self, case 64: case 65: case 66: - case 77: - case 78: + case 67: + case 68: case 79: case 80: case 81: - case 156: - case 158: - case 173: - case 174: - case 175: - case 176: - case 177: - case 178: - case 179: + case 82: + case 83: + case 161: + case 163: case 180: + case 181: + case 182: + case 183: + case 184: + case 185: + case 186: + case 187: + case 207: return aarch64_ext_imm (self, info, code, inst, errors); - case 42: case 43: - return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors); case 44: + return aarch64_ext_advsimd_imm_shift (self, info, code, inst, errors); case 45: case 46: - return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors); case 47: + return aarch64_ext_advsimd_imm_modified (self, info, code, inst, errors); + case 48: return aarch64_ext_shll_imm (self, info, code, inst, errors); - case 50: - case 147: + case 51: + case 151: return aarch64_ext_fpimm (self, info, code, inst, errors); - case 67: - case 154: + case 69: + case 159: return aarch64_ext_limm (self, info, code, inst, errors); - case 68: + case 70: return aarch64_ext_aimm (self, info, code, inst, errors); - case 69: + case 71: return aarch64_ext_imm_half (self, info, code, inst, errors); - case 70: - return aarch64_ext_fbits (self, info, code, inst, errors); case 72: - case 73: - case 152: - return aarch64_ext_imm_rotate2 (self, info, code, inst, errors); + return aarch64_ext_fbits (self, info, code, inst, errors); case 74: - case 151: - return aarch64_ext_imm_rotate1 (self, info, code, inst, errors); case 75: + case 156: + return aarch64_ext_imm_rotate2 (self, info, code, inst, errors); case 76: + case 155: + case 157: + return aarch64_ext_imm_rotate1 (self, info, code, inst, errors); + case 77: + case 78: return aarch64_ext_cond (self, info, code, inst, errors); - case 82: - case 91: - return aarch64_ext_addr_simple (self, info, code, inst, errors); - case 83: - return aarch64_ext_addr_regoff (self, info, code, inst, errors); case 84: + case 93: + return aarch64_ext_addr_simple (self, info, code, inst, errors); case 85: + return aarch64_ext_addr_regoff (self, info, code, inst, errors); case 86: + case 87: case 88: case 90: + case 92: return aarch64_ext_addr_simm (self, info, code, inst, errors); - case 87: - return aarch64_ext_addr_simm10 (self, info, code, inst, errors); case 89: + return aarch64_ext_addr_simm10 (self, info, code, inst, errors); + case 91: return aarch64_ext_addr_uimm12 (self, info, code, inst, errors); - case 92: - return aarch64_ext_addr_offset (self, info, code, inst, errors); - case 93: - return aarch64_ext_simd_addr_post (self, info, code, inst, errors); case 94: - return aarch64_ext_sysreg (self, info, code, inst, errors); + return aarch64_ext_addr_offset (self, info, code, inst, errors); case 95: - return aarch64_ext_pstatefield (self, info, code, inst, errors); + return aarch64_ext_simd_addr_post (self, info, code, inst, errors); case 96: + return aarch64_ext_sysreg (self, info, code, inst, errors); case 97: + return aarch64_ext_pstatefield (self, info, code, inst, errors); case 98: case 99: case 100: - return aarch64_ext_sysins_op (self, info, code, inst, errors); case 101: case 102: - return aarch64_ext_barrier (self, info, code, inst, errors); + return aarch64_ext_sysins_op (self, info, code, inst, errors); case 103: - return aarch64_ext_prfop (self, info, code, inst, errors); case 104: + return aarch64_ext_barrier (self, info, code, inst, errors); case 105: - return aarch64_ext_hint (self, info, code, inst, errors); + return aarch64_ext_prfop (self, info, code, inst, errors); case 106: - return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors); + return aarch64_ext_none (self, info, code, inst, errors); case 107: + return aarch64_ext_hint (self, info, code, inst, errors); case 108: case 109: + return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors); case 110: - return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 111: - return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors); case 112: - return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors); case 113: + return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 114: + return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors); case 115: + return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors); case 116: - return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors); case 117: case 118: case 119: + return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors); case 120: case 121: case 122: @@ -20190,57 +23962,65 @@ aarch64_extract_operand (const aarch64_operand *self, case 127: case 128: case 129: - return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors); case 130: case 131: case 132: case 133: + return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors); case 134: case 135: case 136: case 137: - return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors); case 138: case 139: case 140: case 141: - return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors); + return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors); case 142: - return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors); case 143: - return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors); case 144: - return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors); case 145: - return aarch64_ext_sve_aimm (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors); case 146: - return aarch64_ext_sve_asimm (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors); + case 147: + return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors); case 148: - return aarch64_ext_sve_float_half_one (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors); case 149: - return aarch64_ext_sve_float_half_two (self, info, code, inst, errors); + return aarch64_ext_sve_aimm (self, info, code, inst, errors); case 150: - return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors); + return aarch64_ext_sve_asimm (self, info, code, inst, errors); + case 152: + return aarch64_ext_sve_float_half_one (self, info, code, inst, errors); case 153: + return aarch64_ext_sve_float_half_two (self, info, code, inst, errors); + case 154: + return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors); + case 158: return aarch64_ext_inv_limm (self, info, code, inst, errors); - case 155: + case 160: return aarch64_ext_sve_limm_mov (self, info, code, inst, errors); - case 157: + case 162: return aarch64_ext_sve_scale (self, info, code, inst, errors); - case 169: - case 170: + case 174: + case 175: + case 176: return aarch64_ext_sve_shlimm (self, info, code, inst, errors); - case 171: - case 172: + case 177: + case 178: + case 179: return aarch64_ext_sve_shrimm (self, info, code, inst, errors); - case 190: - case 191: - case 192: + case 197: + case 198: + case 199: + case 200: + case 201: return aarch64_ext_sve_quad_index (self, info, code, inst, errors); - case 194: + case 203: return aarch64_ext_sve_index (self, info, code, inst, errors); - case 195: - case 197: + case 204: + case 206: return aarch64_ext_sve_reglist (self, info, code, inst, errors); default: assert (0); abort (); }