X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Faarch64-dis-2.c;h=224bb450f0478e6794e07f6c6556543cc0f58688;hb=c5d0745b0d3edfea9e82a4b304ea1847790d72e4;hp=19b3dcf5b2759c0414107b1d10ef045a329e8656;hpb=c2c4ff8d52a2cd3263a547b0384692498714aa1b;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index 19b3dcf5b2..224bb450f0 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-2016 Free Software Foundation, Inc. +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. Contributed by ARM Ltd. This file is part of the GNU opcodes library. @@ -38,7 +38,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0 + 0xxx0000xxxxxxxxxxxxxxxxxxxxxxxx adr. */ return 1155; } @@ -46,7 +46,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1 + 1xxx0000xxxxxxxxxxxxxxxxxxxxxxxx adrp. */ return 1156; } @@ -59,7 +59,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx1000x00x + x00x0001xxxxxxxxxxxxxxxxxxxxxxxx add. */ return 12; } @@ -67,7 +67,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx1000x01x + x10x0001xxxxxxxxxxxxxxxxxxxxxxxx sub. */ return 16; } @@ -78,7 +78,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx1000x10x + x01x0001xxxxxxxxxxxxxxxxxxxxxxxx adds. */ return 14; } @@ -86,7 +86,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx1000x11x + x11x0001xxxxxxxxxxxxxxxxxxxxxxxx subs. */ return 17; } @@ -113,7 +113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx000x0010000 + 0000100x000xxxxx0xxxxxxxxxxxxxxx stxrb. */ return 910; } @@ -121,7 +121,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx000x0010010 + 0100100x000xxxxx0xxxxxxxxxxxxxxx stxrh. */ return 916; } @@ -130,7 +130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx000x00100x1 + 1x00100x000xxxxx0xxxxxxxxxxxxxxx stxr. */ return 922; } @@ -141,7 +141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx100x00100x0 + 0x00100x001xxxxx0xxxxxxxxxxxxxxx casp. */ return 990; } @@ -149,7 +149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx100x00100x1 + 1x00100x001xxxxx0xxxxxxxxxxxxxxx stxp. */ return 924; } @@ -165,7 +165,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx000x0010000 + 0000100x000xxxxx1xxxxxxxxxxxxxxx stlxrb. */ return 911; } @@ -173,7 +173,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx000x0010010 + 0100100x000xxxxx1xxxxxxxxxxxxxxx stlxrh. */ return 917; } @@ -182,7 +182,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx000x00100x1 + 1x00100x000xxxxx1xxxxxxxxxxxxxxx stlxr. */ return 923; } @@ -193,7 +193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx100x00100x0 + 0x00100x001xxxxx1xxxxxxxxxxxxxxx caspl. */ return 992; } @@ -201,7 +201,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx100x00100x1 + 1x00100x001xxxxx1xxxxxxxxxxxxxxx stlxp. */ return 925; } @@ -212,7 +212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx00x00101xx + xx10100x00xxxxxxxxxxxxxxxxxxxxxx stnp. */ return 941; } @@ -229,7 +229,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx001x00100x0 + 0x00100x100xxxxx0xxxxxxxxxxxxxxx stllrb. */ return 939; } @@ -237,7 +237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx001x00100x1 + 1x00100x100xxxxx0xxxxxxxxxxxxxxx stllr. */ return 938; } @@ -250,7 +250,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx101x0010000 + 0000100x101xxxxx0xxxxxxxxxxxxxxx casb. */ return 978; } @@ -258,7 +258,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx101x0010010 + 0100100x101xxxxx0xxxxxxxxxxxxxxx cash. */ return 979; } @@ -267,7 +267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx101x00100x1 + 1x00100x101xxxxx0xxxxxxxxxxxxxxx cas. */ return 980; } @@ -283,7 +283,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx001x0010000 + 0000100x100xxxxx1xxxxxxxxxxxxxxx stlrb. */ return 914; } @@ -291,7 +291,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx001x0010010 + 0100100x100xxxxx1xxxxxxxxxxxxxxx stlrh. */ return 920; } @@ -300,7 +300,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx001x00100x1 + 1x00100x100xxxxx1xxxxxxxxxxxxxxx stlr. */ return 930; } @@ -313,7 +313,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx101x0010000 + 0000100x101xxxxx1xxxxxxxxxxxxxxx caslb. */ return 982; } @@ -321,7 +321,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx101x0010010 + 0100100x101xxxxx1xxxxxxxxxxxxxxx caslh. */ return 985; } @@ -330,7 +330,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx101x00100x1 + 1x00100x101xxxxx1xxxxxxxxxxxxxxx casl. */ return 988; } @@ -341,7 +341,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx01x00101xx + xx10100x10xxxxxxxxxxxxxxxxxxxxxx stp. */ return 950; } @@ -363,7 +363,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx010x0010000 + 0000100x010xxxxx0xxxxxxxxxxxxxxx ldxrb. */ return 912; } @@ -371,7 +371,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx010x0010010 + 0100100x010xxxxx0xxxxxxxxxxxxxxx ldxrh. */ return 918; } @@ -380,7 +380,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx010x00100x1 + 1x00100x010xxxxx0xxxxxxxxxxxxxxx ldxr. */ return 926; } @@ -391,7 +391,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx110x00100x0 + 0x00100x011xxxxx0xxxxxxxxxxxxxxx caspa. */ return 991; } @@ -399,7 +399,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx110x00100x1 + 1x00100x011xxxxx0xxxxxxxxxxxxxxx ldxp. */ return 928; } @@ -415,7 +415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx010x0010000 + 0000100x010xxxxx1xxxxxxxxxxxxxxx ldaxrb. */ return 913; } @@ -423,7 +423,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx010x0010010 + 0100100x010xxxxx1xxxxxxxxxxxxxxx ldaxrh. */ return 919; } @@ -432,7 +432,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx010x00100x1 + 1x00100x010xxxxx1xxxxxxxxxxxxxxx ldaxr. */ return 927; } @@ -443,7 +443,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx110x00100x0 + 0x00100x011xxxxx1xxxxxxxxxxxxxxx caspal. */ return 993; } @@ -451,7 +451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx110x00100x1 + 1x00100x011xxxxx1xxxxxxxxxxxxxxx ldaxp. */ return 929; } @@ -464,7 +464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx10x001010x + x010100x01xxxxxxxxxxxxxxxxxxxxxx ldnp. */ return 942; } @@ -472,7 +472,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx10x001011x + x110100x01xxxxxxxxxxxxxxxxxxxxxx ldpsw. */ return 949; } @@ -492,7 +492,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx011x0010000 + 0000100x110xxxxx0xxxxxxxxxxxxxxx ldlarb. */ return 936; } @@ -500,7 +500,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx011x0010010 + 0100100x110xxxxx0xxxxxxxxxxxxxxx ldlarh. */ return 937; } @@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx011x00100x1 + 1x00100x110xxxxx0xxxxxxxxxxxxxxx ldlar. */ return 935; } @@ -522,7 +522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx111x0010000 + 0000100x111xxxxx0xxxxxxxxxxxxxxx casab. */ return 981; } @@ -530,7 +530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx111x0010010 + 0100100x111xxxxx0xxxxxxxxxxxxxxx casah. */ return 984; } @@ -539,7 +539,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx111x00100x1 + 1x00100x111xxxxx0xxxxxxxxxxxxxxx casa. */ return 987; } @@ -555,7 +555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx011x0010000 + 0000100x110xxxxx1xxxxxxxxxxxxxxx ldarb. */ return 915; } @@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx011x0010010 + 0100100x110xxxxx1xxxxxxxxxxxxxxx ldarh. */ return 921; } @@ -572,7 +572,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx011x00100x1 + 1x00100x110xxxxx1xxxxxxxxxxxxxxx ldar. */ return 931; } @@ -585,7 +585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx111x0010000 + 0000100x111xxxxx1xxxxxxxxxxxxxxx casalb. */ return 983; } @@ -593,7 +593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx111x0010010 + 0100100x111xxxxx1xxxxxxxxxxxxxxx casalh. */ return 986; } @@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx111x00100x1 + 1x00100x111xxxxx1xxxxxxxxxxxxxxx casal. */ return 989; } @@ -615,7 +615,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx11x001010x + x010100x11xxxxxxxxxxxxxxxxxxxxxx ldp. */ return 951; } @@ -623,7 +623,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx11x001011x + x110100x11xxxxxxxxxxxxxxxxxxxxxx ldpsw. */ return 954; } @@ -641,7 +641,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx000110x0 + 0x011000xxxxxxxxxxxxxxxxxxxxxxxx ldr. */ return 955; } @@ -651,7 +651,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx00011001 + 10011000xxxxxxxxxxxxxxxxxxxxxxxx ldrsw. */ return 957; } @@ -659,7 +659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx00011011 + 11011000xxxxxxxxxxxxxxxxxxxxxxxx prfm. */ return 958; } @@ -683,7 +683,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx00000011100 + 00111000000xxxxxxxxx00xxxxxxxxxx sturb. */ return 896; } @@ -691,7 +691,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx00000011110 + 01111000000xxxxxxxxx00xxxxxxxxxx sturh. */ return 901; } @@ -700,7 +700,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx000000111x1 + 1x111000000xxxxxxxxx00xxxxxxxxxx stur. */ return 904; } @@ -713,7 +713,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx01000011100 + 00111000010xxxxxxxxx00xxxxxxxxxx ldurb. */ return 897; } @@ -721,7 +721,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx01000011110 + 01111000010xxxxxxxxx00xxxxxxxxxx ldurh. */ return 902; } @@ -730,7 +730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx010000111x1 + 1x111000010xxxxxxxxx00xxxxxxxxxx ldur. */ return 905; } @@ -744,7 +744,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0x100011100 + 001110001x0xxxxxxxxx00xxxxxxxxxx ldursb. */ return 898; } @@ -752,7 +752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0x100011101 + 101110001x0xxxxxxxxx00xxxxxxxxxx ldursw. */ return 906; } @@ -763,7 +763,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0x100011110 + 011110001x0xxxxxxxxx00xxxxxxxxxx ldursh. */ return 903; } @@ -771,7 +771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0x100011111 + 111110001x0xxxxxxxxx00xxxxxxxxxx prfum. */ return 907; } @@ -798,7 +798,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx10000011100 + 00111000001xxxxx000000xxxxxxxxxx ldaddb. */ return 1006; } @@ -806,7 +806,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx10000011110 + 01111000001xxxxx000000xxxxxxxxxx ldaddh. */ return 1007; } @@ -815,7 +815,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx100000111x1 + 1x111000001xxxxx000000xxxxxxxxxx ldadd. */ return 1008; } @@ -828,7 +828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx10100011100 + 00111000101xxxxx000000xxxxxxxxxx ldaddab. */ return 1009; } @@ -836,7 +836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx10100011110 + 01111000101xxxxx000000xxxxxxxxxx ldaddah. */ return 1012; } @@ -845,7 +845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx101000111x1 + 1x111000101xxxxx000000xxxxxxxxxx ldadda. */ return 1015; } @@ -861,7 +861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx11000011100 + 00111000011xxxxx000000xxxxxxxxxx ldaddlb. */ return 1010; } @@ -869,7 +869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx11000011110 + 01111000011xxxxx000000xxxxxxxxxx ldaddlh. */ return 1013; } @@ -878,7 +878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx110000111x1 + 1x111000011xxxxx000000xxxxxxxxxx ldaddl. */ return 1016; } @@ -891,7 +891,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx11100011100 + 00111000111xxxxx000000xxxxxxxxxx ldaddalb. */ return 1011; } @@ -899,7 +899,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx11100011110 + 01111000111xxxxx000000xxxxxxxxxx ldaddalh. */ return 1014; } @@ -908,7 +908,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx111000111x1 + 1x111000111xxxxx000000xxxxxxxxxx ldaddal. */ return 1017; } @@ -927,7 +927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx10000011100 + 00111000001xxxxx100000xxxxxxxxxx swpb. */ return 994; } @@ -935,7 +935,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx10000011110 + 01111000001xxxxx100000xxxxxxxxxx swph. */ return 995; } @@ -944,7 +944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx100000111x1 + 1x111000001xxxxx100000xxxxxxxxxx swp. */ return 996; } @@ -957,7 +957,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx10100011100 + 00111000101xxxxx100000xxxxxxxxxx swpab. */ return 997; } @@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx10100011110 + 01111000101xxxxx100000xxxxxxxxxx swpah. */ return 1000; } @@ -974,7 +974,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx101000111x1 + 1x111000101xxxxx100000xxxxxxxxxx swpa. */ return 1003; } @@ -990,7 +990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx11000011100 + 00111000011xxxxx100000xxxxxxxxxx swplb. */ return 998; } @@ -998,7 +998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx11000011110 + 01111000011xxxxx100000xxxxxxxxxx swplh. */ return 1001; } @@ -1007,7 +1007,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx110000111x1 + 1x111000011xxxxx100000xxxxxxxxxx swpl. */ return 1004; } @@ -1020,7 +1020,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx11100011100 + 00111000111xxxxx100000xxxxxxxxxx swpalb. */ return 999; } @@ -1028,7 +1028,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx11100011110 + 01111000111xxxxx100000xxxxxxxxxx swpalh. */ return 1002; } @@ -1037,7 +1037,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx111000111x1 + 1x111000111xxxxx100000xxxxxxxxxx swpal. */ return 1005; } @@ -1059,7 +1059,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx10000011100 + 00111000001xxxxx010000xxxxxxxxxx ldsmaxb. */ return 1054; } @@ -1067,7 +1067,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx10000011110 + 01111000001xxxxx010000xxxxxxxxxx ldsmaxh. */ return 1055; } @@ -1076,7 +1076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx100000111x1 + 1x111000001xxxxx010000xxxxxxxxxx ldsmax. */ return 1056; } @@ -1089,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx10100011100 + 00111000101xxxxx010000xxxxxxxxxx ldsmaxab. */ return 1057; } @@ -1097,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx10100011110 + 01111000101xxxxx010000xxxxxxxxxx ldsmaxah. */ return 1060; } @@ -1106,7 +1106,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx101000111x1 + 1x111000101xxxxx010000xxxxxxxxxx ldsmaxa. */ return 1063; } @@ -1122,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx11000011100 + 00111000011xxxxx010000xxxxxxxxxx ldsmaxlb. */ return 1058; } @@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx11000011110 + 01111000011xxxxx010000xxxxxxxxxx ldsmaxlh. */ return 1061; } @@ -1139,7 +1139,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx110000111x1 + 1x111000011xxxxx010000xxxxxxxxxx ldsmaxl. */ return 1064; } @@ -1152,7 +1152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx11100011100 + 00111000111xxxxx010000xxxxxxxxxx ldsmaxalb. */ return 1059; } @@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx11100011110 + 01111000111xxxxx010000xxxxxxxxxx ldsmaxalh. */ return 1062; } @@ -1169,7 +1169,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx111000111x1 + 1x111000111xxxxx010000xxxxxxxxxx ldsmaxal. */ return 1065; } @@ -1184,7 +1184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx00011100 + 00111000xx1xxxxx110000xxxxxxxxxx ldaprb. */ return 932; } @@ -1192,7 +1192,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx00011110 + 01111000xx1xxxxx110000xxxxxxxxxx ldaprh. */ return 933; } @@ -1201,7 +1201,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx000111x1 + 1x111000xx1xxxxx110000xxxxxxxxxx ldapr. */ return 934; } @@ -1222,7 +1222,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx10000011100 + 00111000001xxxxxx01000xxxxxxxxxx ldeorb. */ return 1030; } @@ -1230,7 +1230,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx10000011110 + 01111000001xxxxxx01000xxxxxxxxxx ldeorh. */ return 1031; } @@ -1239,7 +1239,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx100000111x1 + 1x111000001xxxxxx01000xxxxxxxxxx ldeor. */ return 1032; } @@ -1252,7 +1252,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx10100011100 + 00111000101xxxxxx01000xxxxxxxxxx ldeorab. */ return 1033; } @@ -1260,7 +1260,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx10100011110 + 01111000101xxxxxx01000xxxxxxxxxx ldeorah. */ return 1036; } @@ -1269,7 +1269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx101000111x1 + 1x111000101xxxxxx01000xxxxxxxxxx ldeora. */ return 1039; } @@ -1285,7 +1285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx11000011100 + 00111000011xxxxxx01000xxxxxxxxxx ldeorlb. */ return 1034; } @@ -1293,7 +1293,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx11000011110 + 01111000011xxxxxx01000xxxxxxxxxx ldeorlh. */ return 1037; } @@ -1302,7 +1302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx110000111x1 + 1x111000011xxxxxx01000xxxxxxxxxx ldeorl. */ return 1040; } @@ -1315,7 +1315,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx11100011100 + 00111000111xxxxxx01000xxxxxxxxxx ldeoralb. */ return 1035; } @@ -1323,7 +1323,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx11100011110 + 01111000111xxxxxx01000xxxxxxxxxx ldeoralh. */ return 1038; } @@ -1332,7 +1332,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00010xxxxxx111000111x1 + 1x111000111xxxxxx01000xxxxxxxxxx ldeoral. */ return 1041; } @@ -1351,7 +1351,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx10000011100 + 00111000001xxxxxx11000xxxxxxxxxx ldumaxb. */ return 1078; } @@ -1359,7 +1359,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx10000011110 + 01111000001xxxxxx11000xxxxxxxxxx ldumaxh. */ return 1079; } @@ -1368,7 +1368,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx100000111x1 + 1x111000001xxxxxx11000xxxxxxxxxx ldumax. */ return 1080; } @@ -1381,7 +1381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx10100011100 + 00111000101xxxxxx11000xxxxxxxxxx ldumaxab. */ return 1081; } @@ -1389,7 +1389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx10100011110 + 01111000101xxxxxx11000xxxxxxxxxx ldumaxah. */ return 1084; } @@ -1398,7 +1398,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx101000111x1 + 1x111000101xxxxxx11000xxxxxxxxxx ldumaxa. */ return 1087; } @@ -1414,7 +1414,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx11000011100 + 00111000011xxxxxx11000xxxxxxxxxx ldumaxlb. */ return 1082; } @@ -1422,7 +1422,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx11000011110 + 01111000011xxxxxx11000xxxxxxxxxx ldumaxlh. */ return 1085; } @@ -1431,7 +1431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx110000111x1 + 1x111000011xxxxxx11000xxxxxxxxxx ldumaxl. */ return 1088; } @@ -1444,7 +1444,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx11100011100 + 00111000111xxxxxx11000xxxxxxxxxx ldumaxalb. */ return 1083; } @@ -1452,7 +1452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx11100011110 + 01111000111xxxxxx11000xxxxxxxxxx ldumaxalh. */ return 1086; } @@ -1461,7 +1461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00011xxxxxx111000111x1 + 1x111000111xxxxxx11000xxxxxxxxxx ldumaxal. */ return 1089; } @@ -1486,7 +1486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx10000011100 + 00111000001xxxxxx00100xxxxxxxxxx ldclrb. */ return 1018; } @@ -1494,7 +1494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx10000011110 + 01111000001xxxxxx00100xxxxxxxxxx ldclrh. */ return 1019; } @@ -1503,7 +1503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx100000111x1 + 1x111000001xxxxxx00100xxxxxxxxxx ldclr. */ return 1020; } @@ -1516,7 +1516,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx10100011100 + 00111000101xxxxxx00100xxxxxxxxxx ldclrab. */ return 1021; } @@ -1524,7 +1524,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx10100011110 + 01111000101xxxxxx00100xxxxxxxxxx ldclrah. */ return 1024; } @@ -1533,7 +1533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx101000111x1 + 1x111000101xxxxxx00100xxxxxxxxxx ldclra. */ return 1027; } @@ -1549,7 +1549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx11000011100 + 00111000011xxxxxx00100xxxxxxxxxx ldclrlb. */ return 1022; } @@ -1557,7 +1557,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx11000011110 + 01111000011xxxxxx00100xxxxxxxxxx ldclrlh. */ return 1025; } @@ -1566,7 +1566,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx110000111x1 + 1x111000011xxxxxx00100xxxxxxxxxx ldclrl. */ return 1028; } @@ -1579,7 +1579,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx11100011100 + 00111000111xxxxxx00100xxxxxxxxxx ldclralb. */ return 1023; } @@ -1587,7 +1587,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx11100011110 + 01111000111xxxxxx00100xxxxxxxxxx ldclralh. */ return 1026; } @@ -1596,7 +1596,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx111000111x1 + 1x111000111xxxxxx00100xxxxxxxxxx ldclral. */ return 1029; } @@ -1615,7 +1615,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx10000011100 + 00111000001xxxxxx10100xxxxxxxxxx ldsminb. */ return 1066; } @@ -1623,7 +1623,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx10000011110 + 01111000001xxxxxx10100xxxxxxxxxx ldsminh. */ return 1067; } @@ -1632,7 +1632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx100000111x1 + 1x111000001xxxxxx10100xxxxxxxxxx ldsmin. */ return 1068; } @@ -1645,7 +1645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx10100011100 + 00111000101xxxxxx10100xxxxxxxxxx ldsminab. */ return 1069; } @@ -1653,7 +1653,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx10100011110 + 01111000101xxxxxx10100xxxxxxxxxx ldsminah. */ return 1072; } @@ -1662,7 +1662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx101000111x1 + 1x111000101xxxxxx10100xxxxxxxxxx ldsmina. */ return 1075; } @@ -1678,7 +1678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx11000011100 + 00111000011xxxxxx10100xxxxxxxxxx ldsminlb. */ return 1070; } @@ -1686,7 +1686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx11000011110 + 01111000011xxxxxx10100xxxxxxxxxx ldsminlh. */ return 1073; } @@ -1695,7 +1695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx110000111x1 + 1x111000011xxxxxx10100xxxxxxxxxx ldsminl. */ return 1076; } @@ -1708,7 +1708,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx11100011100 + 00111000111xxxxxx10100xxxxxxxxxx ldsminalb. */ return 1071; } @@ -1716,7 +1716,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx11100011110 + 01111000111xxxxxx10100xxxxxxxxxx ldsminalh. */ return 1074; } @@ -1725,7 +1725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx111000111x1 + 1x111000111xxxxxx10100xxxxxxxxxx ldsminal. */ return 1077; } @@ -1747,7 +1747,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx10000011100 + 00111000001xxxxxx01100xxxxxxxxxx ldsetb. */ return 1042; } @@ -1755,7 +1755,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx10000011110 + 01111000001xxxxxx01100xxxxxxxxxx ldseth. */ return 1043; } @@ -1764,7 +1764,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx100000111x1 + 1x111000001xxxxxx01100xxxxxxxxxx ldset. */ return 1044; } @@ -1777,7 +1777,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx10100011100 + 00111000101xxxxxx01100xxxxxxxxxx ldsetab. */ return 1045; } @@ -1785,7 +1785,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx10100011110 + 01111000101xxxxxx01100xxxxxxxxxx ldsetah. */ return 1048; } @@ -1794,7 +1794,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx101000111x1 + 1x111000101xxxxxx01100xxxxxxxxxx ldseta. */ return 1051; } @@ -1810,7 +1810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx11000011100 + 00111000011xxxxxx01100xxxxxxxxxx ldsetlb. */ return 1046; } @@ -1818,7 +1818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx11000011110 + 01111000011xxxxxx01100xxxxxxxxxx ldsetlh. */ return 1049; } @@ -1827,7 +1827,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx110000111x1 + 1x111000011xxxxxx01100xxxxxxxxxx ldsetl. */ return 1052; } @@ -1840,7 +1840,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx11100011100 + 00111000111xxxxxx01100xxxxxxxxxx ldsetalb. */ return 1047; } @@ -1848,7 +1848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx11100011110 + 01111000111xxxxxx01100xxxxxxxxxx ldsetalh. */ return 1050; } @@ -1857,7 +1857,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00110xxxxxx111000111x1 + 1x111000111xxxxxx01100xxxxxxxxxx ldsetal. */ return 1053; } @@ -1876,7 +1876,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx10000011100 + 00111000001xxxxxx11100xxxxxxxxxx lduminb. */ return 1090; } @@ -1884,7 +1884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx10000011110 + 01111000001xxxxxx11100xxxxxxxxxx lduminh. */ return 1091; } @@ -1893,7 +1893,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx100000111x1 + 1x111000001xxxxxx11100xxxxxxxxxx ldumin. */ return 1092; } @@ -1906,7 +1906,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx10100011100 + 00111000101xxxxxx11100xxxxxxxxxx lduminab. */ return 1093; } @@ -1914,7 +1914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx10100011110 + 01111000101xxxxxx11100xxxxxxxxxx lduminah. */ return 1096; } @@ -1923,7 +1923,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx101000111x1 + 1x111000101xxxxxx11100xxxxxxxxxx ldumina. */ return 1099; } @@ -1939,7 +1939,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx11000011100 + 00111000011xxxxxx11100xxxxxxxxxx lduminlb. */ return 1094; } @@ -1947,7 +1947,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx11000011110 + 01111000011xxxxxx11100xxxxxxxxxx lduminlh. */ return 1097; } @@ -1956,7 +1956,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx110000111x1 + 1x111000011xxxxxx11100xxxxxxxxxx lduminl. */ return 1100; } @@ -1969,7 +1969,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx11100011100 + 00111000111xxxxxx11100xxxxxxxxxx lduminalb. */ return 1095; } @@ -1977,7 +1977,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx11100011110 + 01111000111xxxxxx11100xxxxxxxxxx lduminalh. */ return 1098; } @@ -1986,7 +1986,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx111000111x1 + 1x111000111xxxxxx11100xxxxxxxxxx lduminal. */ return 1101; } @@ -2011,7 +2011,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx00000011100 + 00111000000xxxxxxxxx10xxxxxxxxxx sttrb. */ return 887; } @@ -2019,7 +2019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx00000011110 + 01111000000xxxxxxxxx10xxxxxxxxxx sttrh. */ return 890; } @@ -2028,7 +2028,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx000000111x1 + 1x111000000xxxxxxxxx10xxxxxxxxxx sttr. */ return 893; } @@ -2041,7 +2041,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx01000011100 + 00111000010xxxxxxxxx10xxxxxxxxxx ldtrb. */ return 888; } @@ -2049,7 +2049,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx01000011110 + 01111000010xxxxxxxxx10xxxxxxxxxx ldtrh. */ return 891; } @@ -2058,7 +2058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx010000111x1 + 1x111000010xxxxxxxxx10xxxxxxxxxx ldtr. */ return 894; } @@ -2072,7 +2072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx0x100011100 + 001110001x0xxxxxxxxx10xxxxxxxxxx ldtrsb. */ return 889; } @@ -2080,7 +2080,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx0x100011101 + 101110001x0xxxxxxxxx10xxxxxxxxxx ldtrsw. */ return 895; } @@ -2089,7 +2089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx0x10001111x + x11110001x0xxxxxxxxx10xxxxxxxxxx ldtrsh. */ return 892; } @@ -2107,7 +2107,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx10000011100 + 00111000001xxxxxxxxx10xxxxxxxxxx strb. */ return 875; } @@ -2115,7 +2115,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx10000011110 + 01111000001xxxxxxxxx10xxxxxxxxxx strh. */ return 880; } @@ -2124,7 +2124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx100000111x1 + 1x111000001xxxxxxxxx10xxxxxxxxxx str. */ return 883; } @@ -2137,7 +2137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx11000011100 + 00111000011xxxxxxxxx10xxxxxxxxxx ldrb. */ return 876; } @@ -2145,7 +2145,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx11000011110 + 01111000011xxxxxxxxx10xxxxxxxxxx ldrh. */ return 881; } @@ -2154,7 +2154,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx110000111x1 + 1x111000011xxxxxxxxx10xxxxxxxxxx ldr. */ return 884; } @@ -2168,7 +2168,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx1x100011100 + 001110001x1xxxxxxxxx10xxxxxxxxxx ldrsb. */ return 877; } @@ -2176,7 +2176,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx1x100011101 + 101110001x1xxxxxxxxx10xxxxxxxxxx ldrsw. */ return 885; } @@ -2187,7 +2187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx1x100011110 + 011110001x1xxxxxxxxx10xxxxxxxxxx ldrsh. */ return 882; } @@ -2195,7 +2195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx1x100011111 + 111110001x1xxxxxxxxx10xxxxxxxxxx prfm. */ return 886; } @@ -2218,7 +2218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx00000011100 + 00111000000xxxxxxxxxx1xxxxxxxxxx strb. */ return 852; } @@ -2226,7 +2226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx00000011110 + 01111000000xxxxxxxxxx1xxxxxxxxxx strh. */ return 857; } @@ -2235,7 +2235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx000000111x1 + 1x111000000xxxxxxxxxx1xxxxxxxxxx str. */ return 860; } @@ -2248,7 +2248,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx01000011100 + 00111000010xxxxxxxxxx1xxxxxxxxxx ldrb. */ return 853; } @@ -2256,7 +2256,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx01000011110 + 01111000010xxxxxxxxxx1xxxxxxxxxx ldrh. */ return 858; } @@ -2265,7 +2265,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx010000111x1 + 1x111000010xxxxxxxxxx1xxxxxxxxxx ldr. */ return 861; } @@ -2279,7 +2279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx0x100011100 + 001110001x0xxxxxxxxxx1xxxxxxxxxx ldrsb. */ return 854; } @@ -2287,7 +2287,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx0x100011101 + 101110001x0xxxxxxxxxx1xxxxxxxxxx ldrsw. */ return 862; } @@ -2296,7 +2296,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx0x10001111x + x11110001x0xxxxxxxxxx1xxxxxxxxxx ldrsh. */ return 859; } @@ -2308,7 +2308,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx1x0000111xx + xx1110000x1xxxxxxxxxx1xxxxxxxxxx ldraa. */ return 908; } @@ -2316,7 +2316,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx1x1000111xx + xx1110001x1xxxxxxxxxx1xxxxxxxxxx ldrab. */ return 909; } @@ -2330,103 +2330,246 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { if (((word >> 30) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx0010011x00 - strb. */ - return 863; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0001100100xxxxxxxxxxxxxxxxxxxxxx + stlurb. */ + return 2027; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1001100100xxxxxxxxxxxxxxxxxxxxxx + stlur. */ + return 2035; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx0010011x10 - strh. */ - return 868; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0101100100xxxxxxxxxxxxxxxxxxxxxx + stlurh. */ + return 2031; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1101100100xxxxxxxxxxxxxxxxxxxxxx + stlur. */ + return 2038; + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx0010011xx1 - str. */ - return 871; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0011100100xxxxxxxxxxxxxxxxxxxxxx + strb. */ + return 863; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0111100100xxxxxxxxxxxxxxxxxxxxxx + strh. */ + return 868; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x11100100xxxxxxxxxxxxxxxxxxxxxx + str. */ + return 871; + } } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { if (((word >> 30) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx1010011x00 - ldrb. */ - return 864; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0001100101xxxxxxxxxxxxxxxxxxxxxx + ldapurb. */ + return 2028; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1001100101xxxxxxxxxxxxxxxxxxxxxx + ldapur. */ + return 2036; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx1010011x10 - ldrh. */ - return 869; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0101100101xxxxxxxxxxxxxxxxxxxxxx + ldapurh. */ + return 2032; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1101100101xxxxxxxxxxxxxxxxxxxxxx + ldapur. */ + return 2039; + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx1010011xx1 - ldr. */ - return 872; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0011100101xxxxxxxxxxxxxxxxxxxxxx + ldrb. */ + return 864; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0111100101xxxxxxxxxxxxxxxxxxxxxx + ldrh. */ + return 869; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x11100101xxxxxxxxxxxxxxxxxxxxxx + ldr. */ + return 872; + } } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx110011x00 - ldrsb. */ - return 865; + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0001100110xxxxxxxxxxxxxxxxxxxxxx + ldapursb. */ + return 2030; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1001100110xxxxxxxxxxxxxxxxxxxxxx + ldapursw. */ + return 2037; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x101100110xxxxxxxxxxxxxxxxxxxxxx + ldapursh. */ + return 2034; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx110011x01 - ldrsw. */ - return 873; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x001100111xxxxxxxxxxxxxxxxxxxxxx + ldapursb. */ + return 2029; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x101100111xxxxxxxxxxxxxxxxxxxxxx + ldapursh. */ + return 2033; + } } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx110011x10 - ldrsh. */ - return 870; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001110011xxxxxxxxxxxxxxxxxxxxxxx + ldrsb. */ + return 865; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101110011xxxxxxxxxxxxxxxxxxxxxxx + ldrsw. */ + return 873; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx110011x11 - prfm. */ - return 874; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011110011xxxxxxxxxxxxxxxxxxxxxxx + ldrsh. */ + return 870; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111110011xxxxxxxxxxxxxxxxxxxxxxx + prfm. */ + return 874; + } } } } @@ -2448,7 +2591,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx00100x00x + x00x00100xxxxxxxxxxxxxxxxxxxxxxx and. */ return 959; } @@ -2456,7 +2599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx00100x01x + x10x00100xxxxxxxxxxxxxxxxxxxxxxx eor. */ return 963; } @@ -2467,7 +2610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx00100x10x + x01x00100xxxxxxxxxxxxxxxxxxxxxxx orr. */ return 961; } @@ -2475,7 +2618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx00100x11x + x11x00100xxxxxxxxxxxxxxxxxxxxxxx ands. */ return 964; } @@ -2489,7 +2632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx10100x00x + x00x00101xxxxxxxxxxxxxxxxxxxxxxx movn. */ return 1150; } @@ -2497,7 +2640,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx10100x01x + x10x00101xxxxxxxxxxxxxxxxxxxxxxx movz. */ return 1152; } @@ -2506,7 +2649,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx10100x1xx + xx1x00101xxxxxxxxxxxxxxxxxxxxxxx movk. */ return 1154; } @@ -2524,7 +2667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx0101000x + x0001010xx0xxxxxxxxxxxxxxxxxxxxx and. */ return 966; } @@ -2532,7 +2675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx0101001x + x1001010xx0xxxxxxxxxxxxxxxxxxxxx eor. */ return 973; } @@ -2543,7 +2686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx0101010x + x0101010xx0xxxxxxxxxxxxxxxxxxxxx orr. */ return 968; } @@ -2551,7 +2694,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx0101011x + x1101010xx0xxxxxxxxxxxxxxxxxxxxx ands. */ return 975; } @@ -2573,7 +2716,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0000101100x + x0011010000xxxxxxxxx00xxxxxxxxxx adc. */ return 0; } @@ -2581,7 +2724,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0000101101x + x1011010000xxxxxxxxx00xxxxxxxxxx sbc. */ return 2; } @@ -2592,7 +2735,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0000101110x + x0111010000xxxxxxxxx00xxxxxxxxxx adcs. */ return 1; } @@ -2600,7 +2743,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx0000101111x + x1111010000xxxxxxxxx00xxxxxxxxxx sbcs. */ return 4; } @@ -2612,7 +2755,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx00101011x0x + x0x11010100xxxxxxxxx00xxxxxxxxxx csel. */ return 656; } @@ -2620,7 +2763,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx00101011x1x + x1x11010100xxxxxxxxx00xxxxxxxxxx csinv. */ return 660; } @@ -2634,7 +2777,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx01001011x0x + x0x11010010xxxxxxxxx00xxxxxxxxxx ccmn. */ return 654; } @@ -2642,7 +2785,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxx01001011x1x + x1x11010010xxxxxxxxx00xxxxxxxxxx ccmp. */ return 655; } @@ -2659,7 +2802,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00000x0xxxx01101011xxx + xxx11010110xxxx0x00000xxxxxxxxxx rbit. */ return 679; } @@ -2667,7 +2810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00000x1xxxx01101011xxx + xxx11010110xxxx1x00000xxxxxxxxxx pacia. */ return 687; } @@ -2678,7 +2821,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00001xxxxxx01101011x0x + x0x11010110xxxxxx10000xxxxxxxxxx crc32b. */ return 716; } @@ -2686,7 +2829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00001xxxxxx01101011x1x + x1x11010110xxxxxx10000xxxxxxxxxx xpaci. */ return 703; } @@ -2698,7 +2841,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0001xxxxxxx01101011x0x + x0x11010110xxxxxxx1000xxxxxxxxxx lslv. */ return 707; } @@ -2706,7 +2849,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0001xxxxxxx01101011x1x + x1x11010110xxxxxxx1000xxxxxxxxxx paciza. */ return 695; } @@ -2722,7 +2865,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100x0xxxx01101011xxx + xxx11010110xxxx0x00100xxxxxxxxxx clz. */ return 684; } @@ -2730,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100x1xxxx01101011xxx + xxx11010110xxxx1x00100xxxxxxxxxx autia. */ return 691; } @@ -2739,7 +2882,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx01101011xxx + xxx11010110xxxxxx10100xxxxxxxxxx crc32cb. */ return 720; } @@ -2750,7 +2893,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0011xxxxxxx01101011x0x + x0x11010110xxxxxxx1100xxxxxxxxxx pacga. */ return 715; } @@ -2758,7 +2901,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0011xxxxxxx01101011x1x + x1x11010110xxxxxxx1100xxxxxxxxxx autiza. */ return 699; } @@ -2769,131 +2912,153 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx0x001011x0x - ccmn. */ - return 652; + xxx11010x00xxxxxx0xx10xxxxxxxxxx + setf8. */ + return 2025; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxx0x001011x1x - ccmp. */ - return 653; + xxx11010x00xxxxxx1xx10xxxxxxxxxx + setf16. */ + return 2026; } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x11010010xxxxxxxxx10xxxxxxxxxx + ccmn. */ + return 652; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x11010010xxxxxxxxx10xxxxxxxxxx + ccmp. */ + return 653; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01000xxxxxx0x101011x0x - udiv. */ - return 705; - } - else + if (((word >> 14) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x11010110xxxxxx00010xxxxxxxxxx + udiv. */ + return 705; + } + else + { + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01000x0xxxx0x101011x10 - rev. */ - return 681; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01x11010110xxxx0x00010xxxxxxxxxx + rev. */ + return 681; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11x11010110xxxx0x00010xxxxxxxxxx + rev32. */ + return 686; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01000x0xxxx0x101011x11 - rev32. */ - return 686; + x1x11010110xxxx1x00010xxxxxxxxxx + pacda. */ + return 689; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01000x1xxxx0x101011x1x - pacda. */ - return 689; - } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11010110xxxxxx10010xxxxxxxxxx + crc32w. */ + return 718; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01001xxxxxx0x101011xxx - crc32w. */ - return 718; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x11010110xxxxxxx1010xxxxxxxxxx + asrv. */ + return 711; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x11010110xxxxxxx1010xxxxxxxxxx + pacdza. */ + return 697; + } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101xxxxxxx0x101011x0x - asrv. */ - return 711; + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11010110xxxxxx00110xxxxxxxxxx + autda. */ + return 693; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11010110xxxxxx10110xxxxxxxxxx + crc32cw. */ + return 722; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101xxxxxxx0x101011x1x - pacdza. */ - return 697; + xxx11010110xxxxxxx1110xxxxxxxxxx + autdza. */ + return 701; } } } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01100xxxxxx0x101011xxx - autda. */ - return 693; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01101xxxxxx0x101011xxx - crc32cw. */ - return 722; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111xxxxxxx0x101011xxx - autdza. */ - return 701; - } - } } } } @@ -2903,21 +3068,32 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10xxxxxxxxx00x01011x0x - csinc. */ - return 657; + xxx11010000xxxxxxxxx01xxxxxxxxxx + rmif. */ + return 2024; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10xxxxxxxxx00x01011x1x - csneg. */ - return 663; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x11010100xxxxxxxxx01xxxxxxxxxx + csinc. */ + return 657; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x11010100xxxxxxxxx01xxxxxxxxxx + csneg. */ + return 663; + } } } else @@ -2932,7 +3108,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10000x0xxxx01x01011xxx + xxx11010x10xxxx0x00001xxxxxxxxxx rev16. */ return 680; } @@ -2940,7 +3116,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10000x1xxxx01x01011xxx + xxx11010x10xxxx1x00001xxxxxxxxxx pacib. */ return 688; } @@ -2951,7 +3127,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10001xxxxxx01x01011x0x + x0x11010x10xxxxxx10001xxxxxxxxxx crc32h. */ return 717; } @@ -2959,7 +3135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10001xxxxxx01x01011x1x + x1x11010x10xxxxxx10001xxxxxxxxxx xpacd. */ return 704; } @@ -2971,7 +3147,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1001xxxxxxx01x01011x0x + x0x11010x10xxxxxxx1001xxxxxxxxxx lsrv. */ return 709; } @@ -2979,7 +3155,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1001xxxxxxx01x01011x1x + x1x11010x10xxxxxxx1001xxxxxxxxxx pacizb. */ return 696; } @@ -2995,7 +3171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10100x0xxxx01x01011xxx + xxx11010x10xxxx0x00101xxxxxxxxxx cls. */ return 685; } @@ -3003,7 +3179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10100x1xxxx01x01011xxx + xxx11010x10xxxx1x00101xxxxxxxxxx autib. */ return 692; } @@ -3012,7 +3188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10101xxxxxx01x01011xxx + xxx11010x10xxxxxx10101xxxxxxxxxx crc32ch. */ return 721; } @@ -3021,7 +3197,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1011xxxxxxx01x01011xxx + xxx11010x10xxxxxxx1101xxxxxxxxxx autizb. */ return 700; } @@ -3040,7 +3216,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11000xxxxxx0xx01011x0x + x0x11010xx0xxxxxx00011xxxxxxxxxx sdiv. */ return 706; } @@ -3050,7 +3226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11000x0xxxx0xx01011x1x + x1x11010xx0xxxx0x00011xxxxxxxxxx rev. */ return 682; } @@ -3058,7 +3234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11000x1xxxx0xx01011x1x + x1x11010xx0xxxx1x00011xxxxxxxxxx pacdb. */ return 690; } @@ -3068,7 +3244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11001xxxxxx0xx01011xxx + xxx11010xx0xxxxxx10011xxxxxxxxxx crc32x. */ return 719; } @@ -3079,7 +3255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1101xxxxxxx0xx01011x0x + x0x11010xx0xxxxxxx1011xxxxxxxxxx rorv. */ return 713; } @@ -3087,7 +3263,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1101xxxxxxx0xx01011x1x + x1x11010xx0xxxxxxx1011xxxxxxxxxx pacdzb. */ return 698; } @@ -3101,7 +3277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11100xxxxxx0xx01011xxx + xxx11010xx0xxxxxx00111xxxxxxxxxx autdb. */ return 694; } @@ -3109,7 +3285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11101xxxxxx0xx01011xxx + xxx11010xx0xxxxxx10111xxxxxxxxxx crc32cx. */ return 723; } @@ -3118,7 +3294,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1111xxxxxxx0xx01011xxx + xxx11010xx0xxxxxxx1111xxxxxxxxxx autdzb. */ return 702; } @@ -3135,7 +3311,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1xx0101x00x + x00x1010xx1xxxxxxxxxxxxxxxxxxxxx bic. */ return 967; } @@ -3143,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1xx0101x01x + x10x1010xx1xxxxxxxxxxxxxxxxxxxxx eon. */ return 974; } @@ -3154,7 +3330,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1xx0101x10x + x01x1010xx1xxxxxxxxxxxxxxxxxxxxx orn. */ return 971; } @@ -3162,7 +3338,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1xx0101x11x + x11x1010xx1xxxxxxxxxxxxxxxxxxxxx bics. */ return 977; } @@ -3182,7 +3358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx01100x00x + x00x00110xxxxxxxxxxxxxxxxxxxxxxx sbfm. */ return 612; } @@ -3190,7 +3366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx01100x01x + x10x00110xxxxxxxxxxxxxxxxxxxxxxx ubfm. */ return 623; } @@ -3199,7 +3375,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx01100x1xx + xx1x00110xxxxxxxxxxxxxxxxxxxxxxx bfm. */ return 619; } @@ -3208,7 +3384,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxx11100xxxx + xxxx00111xxxxxxxxxxxxxxxxxxxxxxx extr. */ return 746; } @@ -3225,7 +3401,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx1101000x + x0001011xx0xxxxxxxxxxxxxxxxxxxxx add. */ return 19; } @@ -3233,7 +3409,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx1101001x + x1001011xx0xxxxxxxxxxxxxxxxxxxxx sub. */ return 22; } @@ -3244,7 +3420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx1101010x + x0101011xx0xxxxxxxxxxxxxxxxxxxxx adds. */ return 20; } @@ -3252,7 +3428,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx1101011x + x1101011xx0xxxxxxxxxxxxxxxxxxxxx subs. */ return 24; } @@ -3266,7 +3442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx00x11011xxx + xxx11011x00xxxxx0xxxxxxxxxxxxxxx madd. */ return 724; } @@ -3276,7 +3452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx01011011xxx + xxx11011010xxxxx0xxxxxxxxxxxxxxx smulh. */ return 732; } @@ -3284,7 +3460,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx01111011xxx + xxx11011110xxxxx0xxxxxxxxxxxxxxx umulh. */ return 737; } @@ -3294,7 +3470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx0xx11011xxx + xxx11011xx0xxxxx1xxxxxxxxxxxxxxx msub. */ return 726; } @@ -3312,7 +3488,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1x01101000x + x00010110x1xxxxxxxxxxxxxxxxxxxxx add. */ return 6; } @@ -3320,7 +3496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1x01101001x + x10010110x1xxxxxxxxxxxxxxxxxxxxx sub. */ return 9; } @@ -3331,7 +3507,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1x01101010x + x01010110x1xxxxxxxxxxxxxxxxxxxxx adds. */ return 7; } @@ -3339,7 +3515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1x01101011x + x11010110x1xxxxxxxxxxxxxxxxxxxxx subs. */ return 10; } @@ -3351,7 +3527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx1x011011xxx + xxx110110x1xxxxx0xxxxxxxxxxxxxxx smaddl. */ return 728; } @@ -3359,7 +3535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx1x011011xxx + xxx110110x1xxxxx1xxxxxxxxxxxxxxx smsubl. */ return 730; } @@ -3371,7 +3547,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx1x11101xxxx + xxxx10111x1xxxxx0xxxxxxxxxxxxxxx umaddl. */ return 733; } @@ -3379,7 +3555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx1x11101xxxx + xxxx10111x1xxxxx1xxxxxxxxxxxxxxx umsubl. */ return 735; } @@ -3397,9 +3573,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 24) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { if (((word >> 14) & 0x1) == 0) { @@ -3423,7 +3599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000000000xx0x100000 + 000001x0xx000000000xxxxxxxxxxxxx add. */ return 1232; } @@ -3431,9 +3607,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000000010xx0x100000 + 000001x0xx010000000xxxxxxxxxxxxx mul. */ - return 1658; + return 1685; } } else @@ -3442,17 +3618,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000000100xx0x100000 + 000001x0xx001000000xxxxxxxxxxxxx smax. */ - return 1731; + return 1764; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000000110xx0x100000 + 000001x0xx011000000xxxxxxxxxxxxx orr. */ - return 1669; + return 1696; } } } @@ -3462,17 +3638,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0000010x0xx0x100000 + 000001x0xx0x0100000xxxxxxxxxxxxx sdiv. */ - return 1725; + return 1755; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0000011x0xx0x100000 + 000001x0xx0x1100000xxxxxxxxxxxxx sabd. */ - return 1719; + return 1746; } } } @@ -3484,9 +3660,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0000100x0xx0x100000 + 000001x0xx0x0010000xxxxxxxxxxxxx smulh. */ - return 1736; + return 1769; } else { @@ -3494,15 +3670,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000010100xx0x100000 + 000001x0xx001010000xxxxxxxxxxxxx smin. */ - return 1734; + return 1767; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000010110xx0x100000 + 000001x0xx011010000xxxxxxxxxxxxx and. */ return 1240; } @@ -3512,9 +3688,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000011xx0xx0x100000 + 000001x0xx0xx110000xxxxxxxxxxxxx sdivr. */ - return 1726; + return 1756; } } } @@ -3528,9 +3704,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0001000x0xx0x100000 + 000001x0xx0x0001000xxxxxxxxxxxxx sub. */ - return 1852; + return 1885; } else { @@ -3538,15 +3714,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000100100xx0x100000 + 000001x0xx001001000xxxxxxxxxxxxx umax. */ - return 1874; + return 1913; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000100110xx0x100000 + 000001x0xx011001000xxxxxxxxxxxxx eor. */ return 1327; } @@ -3558,17 +3734,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0001010x0xx0x100000 + 000001x0xx0x0101000xxxxxxxxxxxxx udiv. */ - return 1871; + return 1907; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0001011x0xx0x100000 + 000001x0xx0x1101000xxxxxxxxxxxxx uabd. */ - return 1865; + return 1898; } } } @@ -3582,17 +3758,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000110000xx0x100000 + 000001x0xx000011000xxxxxxxxxxxxx subr. */ - return 1854; + return 1887; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000110010xx0x100000 + 000001x0xx010011000xxxxxxxxxxxxx umulh. */ - return 1879; + return 1918; } } else @@ -3601,15 +3777,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000110100xx0x100000 + 000001x0xx001011000xxxxxxxxxxxxx umin. */ - return 1877; + return 1916; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000110110xx0x100000 + 000001x0xx011011000xxxxxxxxxxxxx bic. */ return 1252; } @@ -3619,9 +3795,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000111xx0xx0x100000 + 000001x0xx0xx111000xxxxxxxxxxxxx udivr. */ - return 1872; + return 1908; } } } @@ -3632,17 +3808,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx0x00x100001 + 100001x00x0xxxxx000xxxxxxxxxxxxx ld1sb. */ - return 1487; + return 1514; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx0x10x100001 + 100001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1498; + return 1525; } } } @@ -3652,17 +3828,39 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx0x00x10001x + x10001x00x0xxxxx000xxxxxxxxxxxxx ld1sb. */ - return 1491; + return 1518; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx0x10x10001x - ld1sh. */ - return 1502; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x01x0xxxxx000xx0xxxxxxxxxx + sdot. */ + return 1757; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x01x0xxxxx000xx1xxxxxxxxxx + udot. */ + return 1909; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x0xxxxx000xxxxxxxxxxxxx + ld1sh. */ + return 1529; + } } } } @@ -3680,7 +3878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx1xx0x100000 + 000001x0xx1xxxxx000000xxxxxxxxxx add. */ return 1230; } @@ -3688,18 +3886,18 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001000xxxxx1xx0x100000 + 000001x0xx1xxxxx000100xxxxxxxxxx sqadd. */ - return 1738; + return 1771; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x000xxxxx1xx0x100000 + 000001x0xx1xxxxx000x10xxxxxxxxxx sqsub. */ - return 1768; + return 1801; } } else @@ -3710,26 +3908,26 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100000xxxxx1xx0x100000 + 000001x0xx1xxxxx000001xxxxxxxxxx sub. */ - return 1850; + return 1883; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101000xxxxx1xx0x100000 + 000001x0xx1xxxxx000101xxxxxxxxxx uqadd. */ - return 1880; + return 1919; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x000xxxxx1xx0x100000 + 000001x0xx1xxxxx000x11xxxxxxxxxx uqsub. */ - return 1910; + return 1949; } } } @@ -3739,17 +3937,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1x00x100001 + 100001x00x1xxxxx000xxxxxxxxxxxxx prfb. */ - return 1677; + return 1704; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1x10x100001 + 100001x01x1xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1499; + return 1526; } } } @@ -3759,17 +3957,61 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1x00x10001x + x10001x00x1xxxxx000xxxxxxxxxxxxx prfb. */ - return 1678; + return 1705; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1x10x10001x - ld1sh. */ - return 1503; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000xx0xxxxxxxxxx + sdot. */ + return 1758; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000xx0xxxxxxxxxx + sdot. */ + return 1759; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0101xxxxx000xx1xxxxxxxxxx + udot. */ + return 1910; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x0111xxxxx000xx1xxxxxxxxxx + udot. */ + return 1911; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 110001x01x1xxxxx000xxxxxxxxxxxxx + ld1sh. */ + return 1530; + } } } } @@ -3792,7 +4034,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0010x0000xx0x100000 + 000001x0xx0000x0100xxxxxxxxxxxxx asr. */ return 1248; } @@ -3800,7 +4042,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0010x0010xx0x100000 + 000001x0xx0100x0100xxxxxxxxxxxxx asr. */ return 1246; } @@ -3809,7 +4051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0010x01x0xx0x100000 + 000001x0xx0x10x0100xxxxxxxxxxxxx asr. */ return 1247; } @@ -3820,7 +4062,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0010x1x00xx0x100000 + 000001x0xx00x1x0100xxxxxxxxxxxxx asrd. */ return 1249; } @@ -3828,7 +4070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0010x1x10xx0x100000 + 000001x0xx01x1x0100xxxxxxxxxxxxx asrr. */ return 1250; } @@ -3846,35 +4088,35 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001100000xx0x100000 + 000001x0xx000001100xxxxxxxxxxxxx lsr. */ - return 1649; + return 1676; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001100010xx0x100000 + 000001x0xx010001100xxxxxxxxxxxxx lsr. */ - return 1647; + return 1674; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0011001x0xx0x100000 + 000001x0xx0x1001100xxxxxxxxxxxxx lsr. */ - return 1648; + return 1675; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001101xx0xx0x100000 + 000001x0xx0xx101100xxxxxxxxxxxxx lsrr. */ - return 1650; + return 1677; } } else @@ -3887,35 +4129,35 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001110000xx0x100000 + 000001x0xx000011100xxxxxxxxxxxxx lsl. */ - return 1643; + return 1670; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001110010xx0x100000 + 000001x0xx010011100xxxxxxxxxxxxx lsl. */ - return 1641; + return 1668; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0011101x0xx0x100000 + 000001x0xx0x1011100xxxxxxxxxxxxx lsl. */ - return 1642; + return 1669; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001111xx0xx0x100000 + 000001x0xx0xx111100xxxxxxxxxxxxx lslr. */ - return 1644; + return 1671; } } } @@ -3928,7 +4170,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0001xxxxx1xx0x100000 + 000001x0xx1xxxxx1000x0xxxxxxxxxx asr. */ return 1244; } @@ -3936,7 +4178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxx1xx0x100000 + 000001x0xx1xxxxx1001x0xxxxxxxxxx asr. */ return 1245; } @@ -3949,17 +4191,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100001xxxxx1xx0x100000 + 000001x0xx1xxxxx100001xxxxxxxxxx lsr. */ - return 1645; + return 1672; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101001xxxxx1xx0x100000 + 000001x0xx1xxxxx100101xxxxxxxxxx lsr. */ - return 1646; + return 1673; } } else @@ -3968,17 +4210,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110001xxxxx1xx0x100000 + 000001x0xx1xxxxx100011xxxxxxxxxx lsl. */ - return 1639; + return 1666; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111001xxxxx1xx0x100000 + 000001x0xx1xxxxx100111xxxxxxxxxx lsl. */ - return 1640; + return 1667; } } } @@ -3992,17 +4234,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxxx000x100001 + 100001x000xxxxxx100xxxxxxxxxxxxx ld1sb. */ - return 1493; + return 1520; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxxx010x100001 + 100001x010xxxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1506; + return 1533; } } else @@ -4011,17 +4253,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxxx100x100001 + 100001x001xxxxxx100xxxxxxxxxxxxx ld1rb. */ - return 1471; + return 1490; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxxx110x100001 + 100001x011xxxxxx100xxxxxxxxxxxxx ld1rsw. */ - return 1484; + return 1511; } } } @@ -4034,17 +4276,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx0x00x10001x + x10001x00x0xxxxx100xxxxxxxxxxxxx ld1sb. */ - return 1492; + return 1519; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx0x10x10001x + x10001x01x0xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1504; + return 1531; } } else @@ -4055,17 +4297,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx1000x10001x + x10001x0001xxxxx100xxxxxxxxxxxxx ld1sb. */ - return 1497; + return 1524; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx1010x10001x + x10001x0101xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1509; + return 1536; } } else @@ -4074,17 +4316,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx1100x10001x + x10001x0011xxxxx100xxxxxxxxxxxxx prfb. */ - return 1679; + return 1706; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx1110x10001x + x10001x0111xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1505; + return 1532; } } } @@ -4103,9 +4345,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0xx0x100000 + 000001x0xx0xxxxx010xxxxxxxxxxxxx mla. */ - return 1652; + return 1679; } else { @@ -4113,17 +4355,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x00x100001 + 100001x00x0xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1437; + return 1456; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x10x100001 + 100001x01x0xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1457; + return 1476; } } } @@ -4133,17 +4375,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x00x10001x + x10001x00x0xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1442; + return 1461; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x10x10001x + x10001x01x0xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1462; + return 1481; } } } @@ -4161,17 +4403,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx1xx0x100000 + 000001x0xx1xxxxx010000xxxxxxxxxx index. */ - return 1428; + return 1447; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100010xxxxx1xx0x100000 + 000001x0xx1xxxxx010001xxxxxxxxxx index. */ - return 1429; + return 1448; } } else @@ -4182,7 +4424,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx01010xxxxx1000x100000 + 000001x0001xxxxx01010xxxxxxxxxxx addvl. */ return 1234; } @@ -4190,16 +4432,16 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx01010xxxxx1010x100000 + 000001x0101xxxxx01010xxxxxxxxxxx rdvl. */ - return 1713; + return 1740; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx01010xxxxx11x0x100000 + 000001x0x11xxxxx01010xxxxxxxxxxx addpl. */ return 1233; } @@ -4211,17 +4453,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x010xxxxx1xx0x100000 + 000001x0xx1xxxxx010x10xxxxxxxxxx index. */ - return 1430; + return 1449; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x010xxxxx1xx0x100000 + 000001x0xx1xxxxx010x11xxxxxxxxxx index. */ - return 1427; + return 1446; } } } @@ -4231,17 +4473,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x00x100001 + 100001x00x1xxxxx010xxxxxxxxxxxxx prfw. */ - return 1697; + return 1724; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x10x100001 + 100001x01x1xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1458; + return 1477; } } } @@ -4251,17 +4493,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x00x10001x + x10001x00x1xxxxx010xxxxxxxxxxxxx prfw. */ - return 1699; + return 1726; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x10x10001x + x10001x01x1xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1463; + return 1482; } } } @@ -4276,9 +4518,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0xx0x100000 + 000001x0xx0xxxxx110xxxxxxxxxxxxx mad. */ - return 1651; + return 1678; } else { @@ -4292,9 +4534,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00x011xxxx010x0x100000 + 000001x0x010xxxx110x00xxxxxxxxxx sqincw. */ - return 1765; + return 1798; } else { @@ -4302,17 +4544,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00x011xxxx01100x100000 + 000001x00110xxxx110x00xxxxxxxxxx sqinch. */ - return 1759; + return 1792; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00x011xxxx01110x100000 + 000001x01110xxxx110x00xxxxxxxxxx sqincd. */ - return 1756; + return 1789; } } } @@ -4322,9 +4564,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00x011xxxx110x0x100000 + 000001x0x011xxxx110x00xxxxxxxxxx incw. */ - return 1425; + return 1444; } else { @@ -4332,17 +4574,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00x011xxxx11100x100000 + 000001x00111xxxx110x00xxxxxxxxxx inch. */ - return 1421; + return 1440; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00x011xxxx11110x100000 + 000001x01111xxxx110x00xxxxxxxxxx incd. */ - return 1419; + return 1438; } } } @@ -4353,9 +4595,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x011xxxxx10x0x100000 + 000001x0x01xxxxx110x10xxxxxxxxxx sqdecw. */ - return 1751; + return 1784; } else { @@ -4363,17 +4605,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x011xxxxx1100x100000 + 000001x0011xxxxx110x10xxxxxxxxxx sqdech. */ - return 1745; + return 1778; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x011xxxxx1110x100000 + 000001x0111xxxxx110x10xxxxxxxxxx sqdecd. */ - return 1742; + return 1775; } } } @@ -4388,9 +4630,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxx010x0x100000 + 000001x0x010xxxx110x01xxxxxxxxxx uqincw. */ - return 1907; + return 1946; } else { @@ -4398,17 +4640,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxx01100x100000 + 000001x00110xxxx110x01xxxxxxxxxx uqinch. */ - return 1901; + return 1940; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxx01110x100000 + 000001x01110xxxx110x01xxxxxxxxxx uqincd. */ - return 1898; + return 1937; } } } @@ -4418,7 +4660,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxx110x0x100000 + 000001x0x011xxxx110x01xxxxxxxxxx decw. */ return 1319; } @@ -4428,7 +4670,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxx11100x100000 + 000001x00111xxxx110x01xxxxxxxxxx dech. */ return 1315; } @@ -4436,7 +4678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxx11110x100000 + 000001x01111xxxx110x01xxxxxxxxxx decd. */ return 1313; } @@ -4449,9 +4691,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x011xxxxx10x0x100000 + 000001x0x01xxxxx110x11xxxxxxxxxx uqdecw. */ - return 1893; + return 1932; } else { @@ -4459,17 +4701,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x011xxxxx1100x100000 + 000001x0011xxxxx110x11xxxxxxxxxx uqdech. */ - return 1887; + return 1926; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x011xxxxx1110x100000 + 000001x0111xxxxx110x11xxxxxxxxxx uqdecd. */ - return 1884; + return 1923; } } } @@ -4486,17 +4728,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0000x100001 + 100001x0000xxxxx110xxxxxxxxxxxxx prfb. */ - return 1676; + return 1703; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0010x100001 + 100001x0100xxxxx110xxxxxxxxxxxxx prfh. */ - return 1691; + return 1718; } } else @@ -4505,17 +4747,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1000x100001 + 100001x0001xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1444; + return 1463; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1010x100001 + 100001x0101xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1466; + return 1485; } } } @@ -4525,17 +4767,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxxx100x100001 + 100001x001xxxxxx110xxxxxxxxxxxxx ld1rb. */ - return 1473; + return 1492; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxxx110x100001 + 100001x011xxxxxx110xxxxxxxxxxxxx ld1rh. */ - return 1477; + return 1496; } } } @@ -4548,17 +4790,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0x00x10001x + x10001x00x0xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1443; + return 1462; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0x10x10001x + x10001x01x0xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1464; + return 1483; } } else @@ -4569,17 +4811,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1000x10001x + x10001x0001xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1449; + return 1468; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1010x10001x + x10001x0101xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1470; + return 1489; } } else @@ -4588,17 +4830,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1100x10001x + x10001x0011xxxxx110xxxxxxxxxxxxx prfw. */ - return 1700; + return 1727; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1110x10001x + x10001x0111xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1465; + return 1484; } } } @@ -4608,683 +4850,254 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 21) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx000xxxxx0xx0x1001xx - cmphs. */ - return 1285; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx000xxxxx0xx0x1001xx - cmphi. */ - return 1282; - } - } - else + if (((word >> 21) & 0x1) == 0) { if (((word >> 30) & 0x1) == 0) { if (((word >> 31) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx010xxxxx0xx0x100100 - cmpge. */ - return 1276; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx010xxxxx0xx0x100100 - cmpgt. */ - return 1279; - } - } - else - { - if (((word >> 22) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0000x100101 - ld1b. */ - return 1438; + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000x00001xxxxxxxxxxxxx + saddv. */ + return 1747; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx000x01001xxxxxxxxxxxxx + uaddv. */ + return 1899; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx010x0x001xxxxxxxxxxxxx + movprfx. */ + return 1682; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0010x100101 - ld1sw. */ - return 1510; + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001x00001xxxxxxxxxxxxx + smaxv. */ + return 1765; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011x00001xxxxxxxxxxxxx + orv. */ + return 1699; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx001x01001xxxxxxxxxxxxx + umaxv. */ + return 1914; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx011x01001xxxxxxxxxxxxx + eorv. */ + return 1330; + } + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0100x100101 - ld1b. */ - return 1440; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx00xx10001xxxxxxxxxxxxx + sminv. */ + return 1768; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0xx01xx10001xxxxxxxxxxxxx + andv. */ + return 1243; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0110x100101 - ld1h. */ - return 1460; + 000001x0xx0xxx11001xxxxxxxxxxxxx + uminv. */ + return 1917; } } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx00x0x10011x - st1b. */ - return 1770; - } else { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0100x10011x - st1b. */ - return 1774; + 100001x00x0xxxxx001xxxxxxxxxxxxx + ldff1sb. */ + return 1606; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0110x10011x - st1h. */ - return 1795; + 100001x01x0xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1614; } } } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) + else { - if (((word >> 4) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx001xxxxx0xx0x10010x - cmpge. */ - return 1277; + x10001x00x0xxxxx001xxxxxxxxxxxxx + ldff1sb. */ + return 1610; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx001xxxxx0xx0x10010x - cmpgt. */ - return 1280; + x10001x01x0xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1618; } } - else + } + else + { + if (((word >> 23) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx011xxxxx0xx0x100100 - cmphs. */ - return 1286; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx011xxxxx0xx0x100100 - cmphi. */ - return 1283; - } - } - else + if (((word >> 30) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0000x100101 - ldnt1b. */ - return 1629; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0010x100101 - ldnt1h. */ - return 1633; - } - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0100x100101 - ld3b. */ - return 1537; + 000001x0001xxxxx001xxxxxxxxxxxxx + and. */ + return 1238; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0110x100101 - ld3h. */ - return 1541; + 000001x0011xxxxx001xxxxxxxxxxxxx + orr. */ + return 1694; } } - } - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0000x10011x - st1b. */ - return 1771; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0010x10011x - st1h. */ - return 1790; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0100x10011x - st1b. */ - return 1775; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0110x10011x - st1h. */ - return 1796; - } - } - } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx0xxxxxxx1xx0x100100 - cmphs. */ - return 1287; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx0xxxxxxx1xx0x100100 - cmphi. */ - return 1284; - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1000x100101 - ld1b. */ - return 1439; - } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1010x100101 - ld1h. */ - return 1459; + 100001x00x1xxxxx001xxxxxxxxxxxxx + prfh. */ + return 1717; } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1100x100101 - ld1b. */ - return 1441; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1110x100101 - ld1h. */ - return 1461; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x00x1xxxxx001xxxxxxxxxxxxx + prfh. */ + return 1719; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1000x100101 - ld2b. */ - return 1529; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0101xxxxx001xxxxxxxxxxxxx + eor. */ + return 1325; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x0111xxxxx001xxxxxxxxxxxxx + bic. */ + return 1251; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1010x100101 - ld2h. */ - return 1533; + 100001x01x1xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1615; } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1100x100101 - ld4b. */ - return 1545; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1110x100101 - ld4h. */ - return 1549; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x01x1xxxxx001xxxxxxxxxxxxx + ldff1sh. */ + return 1619; } } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1000x10011x - st1b. */ - return 1773; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1010x10011x - st1h. */ - return 1792; - } - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1100x10011x - st1b. */ - return 1776; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x0xxxxx1110x10011x - st1h. */ - return 1797; - } - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx10x0x10011x - st1h. */ - return 1793; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx11x0x10011x - st1h. */ - return 1798; - } - } - } - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 16) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10000x000xx0x100000 - saddv. */ - return 1720; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10010x000xx0x100000 - uaddv. */ - return 1866; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100x0x010xx0x100000 - movprfx. */ - return 1655; - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10000x100xx0x100000 - smaxv. */ - return 1732; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10000x110xx0x100000 - orv. */ - return 1672; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10010x100xx0x100000 - umaxv. */ - return 1875; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10010x110xx0x100000 - eorv. */ - return 1330; - } - } - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10001xx00xx0x100000 - sminv. */ - return 1735; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10001xx10xx0x100000 - andv. */ - return 1243; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10011xxx0xx0x100000 - uminv. */ - return 1878; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx0x00x100001 - ldff1sb. */ - return 1579; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx0x10x100001 - ldff1sh. */ - return 1587; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx0x00x10001x - ldff1sb. */ - return 1583; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx0x10x10001x - ldff1sh. */ - return 1591; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1000x100000 - and. */ - return 1238; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1100x100000 - orr. */ - return 1667; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1x00x100001 - prfh. */ - return 1690; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1x00x10001x - prfh. */ - return 1692; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1010x100000 - eor. */ - return 1325; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1110x100000 - bic. */ - return 1251; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1x10x100001 - ldff1sh. */ - return 1588; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1x10x10001x - ldff1sh. */ - return 1592; - } - } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { if (((word >> 16) & 0x1) == 0) { @@ -5296,15 +5109,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010000x0xx0x100000 + 000001x0xx0x0000101xxxxxxxxxxxxx sxtb. */ - return 1857; + return 1890; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010001x0xx0x100000 + 000001x0xx0x1000101xxxxxxxxxxxxx cls. */ return 1271; } @@ -5315,15 +5128,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010010x0xx0x100000 + 000001x0xx0x0100101xxxxxxxxxxxxx sxtw. */ - return 1859; + return 1892; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010011x0xx0x100000 + 000001x0xx0x1100101xxxxxxxxxxxxx fabs. */ return 1333; } @@ -5337,15 +5150,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010100x0xx0x100000 + 000001x0xx0x0010101xxxxxxxxxxxxx sxth. */ - return 1858; + return 1891; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010101x0xx0x100000 + 000001x0xx0x1010101xxxxxxxxxxxxx cnt. */ return 1300; } @@ -5356,7 +5169,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010110x0xx0x100000 + 000001x0xx0x0110101xxxxxxxxxxxxx abs. */ return 1229; } @@ -5364,9 +5177,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1010111x0xx0x100000 + 000001x0xx0x1110101xxxxxxxxxxxxx not. */ - return 1664; + return 1691; } } } @@ -5381,15 +5194,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1011000x0xx0x100000 + 000001x0xx0x0001101xxxxxxxxxxxxx uxtb. */ - return 1914; + return 1953; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1011001x0xx0x100000 + 000001x0xx0x1001101xxxxxxxxxxxxx clz. */ return 1272; } @@ -5400,17 +5213,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1011010x0xx0x100000 + 000001x0xx0x0101101xxxxxxxxxxxxx uxtw. */ - return 1916; + return 1955; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1011011x0xx0x100000 + 000001x0xx0x1101101xxxxxxxxxxxxx fneg. */ - return 1391; + return 1410; } } } @@ -5422,15 +5235,15 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1011100x0xx0x100000 + 000001x0xx0x0011101xxxxxxxxxxxxx uxth. */ - return 1915; + return 1954; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx1011101x0xx0x100000 + 000001x0xx0x1011101xxxxxxxxxxxxx cnot. */ return 1299; } @@ -5439,9 +5252,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101111xx0xx0x100000 + 000001x0xx0xx111101xxxxxxxxxxxxx neg. */ - return 1661; + return 1688; } } } @@ -5456,7 +5269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0101xxxxx1000x100000 + 000001x0001xxxxx1010xxxxxxxxxxxx adr. */ return 1235; } @@ -5464,7 +5277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0101xxxxx1100x100000 + 000001x0011xxxxx1010xxxxxxxxxxxx adr. */ return 1236; } @@ -5473,7 +5286,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0101xxxxx1x10x100000 + 000001x01x1xxxxx1010xxxxxxxxxxxx adr. */ return 1237; } @@ -5486,26 +5299,26 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001101xxxxx1xx0x100000 + 000001x0xx1xxxxx101100xxxxxxxxxx ftssel. */ - return 1417; + return 1436; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx011101xxxxx1xx0x100000 + 000001x0xx1xxxxx101110xxxxxxxxxx fexpa. */ - return 1370; + return 1380; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1101xxxxx1xx0x100000 + 000001x0xx1xxxxx1011x1xxxxxxxxxx movprfx. */ - return 1654; + return 1681; } } } @@ -5518,17 +5331,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxxx000x100001 + 100001x000xxxxxx101xxxxxxxxxxxxx ldff1sb. */ - return 1585; + return 1612; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxxx010x100001 + 100001x010xxxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1595; + return 1622; } } else @@ -5537,17 +5350,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxxx100x100001 + 100001x001xxxxxx101xxxxxxxxxxxxx ld1rb. */ - return 1472; + return 1491; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxxx110x100001 + 100001x011xxxxxx101xxxxxxxxxxxxx ld1rh. */ - return 1476; + return 1495; } } } @@ -5560,17 +5373,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0x00x10001x + x10001x00x0xxxxx101xxxxxxxxxxxxx ldff1sb. */ - return 1584; + return 1611; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0x10x10001x + x10001x01x0xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1593; + return 1620; } } else @@ -5581,17 +5394,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1000x10001x + x10001x0001xxxxx101xxxxxxxxxxxxx ldff1sb. */ - return 1586; + return 1613; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1010x10001x + x10001x0101xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1596; + return 1623; } } else @@ -5600,17 +5413,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1100x10001x + x10001x0011xxxxx101xxxxxxxxxxxxx prfh. */ - return 1693; + return 1720; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1110x10001x + x10001x0111xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1594; + return 1621; } } } @@ -5629,9 +5442,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0xx0x100000 + 000001x0xx0xxxxx011xxxxxxxxxxxxx mls. */ - return 1653; + return 1680; } else { @@ -5639,17 +5452,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x00x100001 + 100001x00x0xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1553; + return 1580; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x10x100001 + 100001x01x0xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1568; + return 1595; } } } @@ -5659,17 +5472,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x00x10001x + x10001x00x0xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1558; + return 1585; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x10x10001x + x10001x01x0xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1573; + return 1600; } } } @@ -5681,17 +5494,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x00x10000x + x00001x00x1xxxxx011xxxxxxxxxxxxx prfd. */ - return 1683; + return 1710; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x00x10001x + x10001x00x1xxxxx011xxxxxxxxxxxxx prfd. */ - return 1685; + return 1712; } } else @@ -5700,17 +5513,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x10x10000x + x00001x01x1xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1569; + return 1596; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x10x10001x + x10001x01x1xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1574; + return 1601; } } } @@ -5725,9 +5538,9 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0xx0x100000 + 000001x0xx0xxxxx111xxxxxxxxxxxxx msb. */ - return 1656; + return 1683; } else { @@ -5745,7 +5558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx01000x100000 + 000001x00010xxxx111000xxxxxxxxxx cntb. */ return 1301; } @@ -5753,7 +5566,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx01010x100000 + 000001x01010xxxx111000xxxxxxxxxx cntw. */ return 1305; } @@ -5764,7 +5577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx01100x100000 + 000001x00110xxxx111000xxxxxxxxxx cnth. */ return 1303; } @@ -5772,7 +5585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx01110x100000 + 000001x01110xxxx111000xxxxxxxxxx cntd. */ return 1302; } @@ -5786,17 +5599,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx11000x100000 + 000001x00011xxxx111000xxxxxxxxxx incb. */ - return 1418; + return 1437; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx11010x100000 + 000001x01011xxxx111000xxxxxxxxxx incw. */ - return 1426; + return 1445; } } else @@ -5805,17 +5618,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx11100x100000 + 000001x00111xxxx111000xxxxxxxxxx inch. */ - return 1422; + return 1441; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxx11110x100000 + 000001x01111xxxx111000xxxxxxxxxx incd. */ - return 1420; + return 1439; } } } @@ -5830,17 +5643,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx01000x100000 + 000001x00010xxxx111100xxxxxxxxxx sqincb. */ - return 1755; + return 1788; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx01010x100000 + 000001x01010xxxx111100xxxxxxxxxx sqincw. */ - return 1767; + return 1800; } } else @@ -5849,17 +5662,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx01100x100000 + 000001x00110xxxx111100xxxxxxxxxx sqinch. */ - return 1761; + return 1794; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx01110x100000 + 000001x01110xxxx111100xxxxxxxxxx sqincd. */ - return 1758; + return 1791; } } } @@ -5871,17 +5684,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx11000x100000 + 000001x00011xxxx111100xxxxxxxxxx sqincb. */ - return 1754; + return 1787; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx11010x100000 + 000001x01011xxxx111100xxxxxxxxxx sqincw. */ - return 1766; + return 1799; } } else @@ -5890,17 +5703,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx11100x100000 + 000001x00111xxxx111100xxxxxxxxxx sqinch. */ - return 1760; + return 1793; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001111xxxx11110x100000 + 000001x01111xxxx111100xxxxxxxxxx sqincd. */ - return 1757; + return 1790; } } } @@ -5916,17 +5729,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx01000x100000 + 000001x00010xxxx111x10xxxxxxxxxx sqdecb. */ - return 1741; + return 1774; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx01010x100000 + 000001x01010xxxx111x10xxxxxxxxxx sqdecw. */ - return 1753; + return 1786; } } else @@ -5935,17 +5748,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx01100x100000 + 000001x00110xxxx111x10xxxxxxxxxx sqdech. */ - return 1747; + return 1780; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx01110x100000 + 000001x01110xxxx111x10xxxxxxxxxx sqdecd. */ - return 1744; + return 1777; } } } @@ -5957,17 +5770,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx11000x100000 + 000001x00011xxxx111x10xxxxxxxxxx sqdecb. */ - return 1740; + return 1773; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx11010x100000 + 000001x01011xxxx111x10xxxxxxxxxx sqdecw. */ - return 1752; + return 1785; } } else @@ -5976,17 +5789,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx11100x100000 + 000001x00111xxxx111x10xxxxxxxxxx sqdech. */ - return 1746; + return 1779; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01x111xxxx11110x100000 + 000001x01111xxxx111x10xxxxxxxxxx sqdecd. */ - return 1743; + return 1776; } } } @@ -6004,7 +5817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1000x100000 + 000001x0001xxxxx111001xxxxxxxxxx decb. */ return 1312; } @@ -6012,7 +5825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1010x100000 + 000001x0101xxxxx111001xxxxxxxxxx decw. */ return 1320; } @@ -6023,7 +5836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1100x100000 + 000001x0011xxxxx111001xxxxxxxxxx dech. */ return 1316; } @@ -6031,7 +5844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1110x100000 + 000001x0111xxxxx111001xxxxxxxxxx decd. */ return 1314; } @@ -6047,17 +5860,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx01000x100000 + 000001x00010xxxx111101xxxxxxxxxx uqincb. */ - return 1896; + return 1935; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx01010x100000 + 000001x01010xxxx111101xxxxxxxxxx uqincw. */ - return 1908; + return 1947; } } else @@ -6066,17 +5879,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx01100x100000 + 000001x00110xxxx111101xxxxxxxxxx uqinch. */ - return 1902; + return 1941; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx01110x100000 + 000001x01110xxxx111101xxxxxxxxxx uqincd. */ - return 1899; + return 1938; } } } @@ -6088,17 +5901,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx11000x100000 + 000001x00011xxxx111101xxxxxxxxxx uqincb. */ - return 1897; + return 1936; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx11010x100000 + 000001x01011xxxx111101xxxxxxxxxx uqincw. */ - return 1909; + return 1948; } } else @@ -6107,17 +5920,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx11100x100000 + 000001x00111xxxx111101xxxxxxxxxx uqinch. */ - return 1903; + return 1942; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxx11110x100000 + 000001x01111xxxx111101xxxxxxxxxx uqincd. */ - return 1900; + return 1939; } } } @@ -6133,17 +5946,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx01000x100000 + 000001x00010xxxx111x11xxxxxxxxxx uqdecb. */ - return 1882; + return 1921; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx01010x100000 + 000001x01010xxxx111x11xxxxxxxxxx uqdecw. */ - return 1894; + return 1933; } } else @@ -6152,17 +5965,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx01100x100000 + 000001x00110xxxx111x11xxxxxxxxxx uqdech. */ - return 1888; + return 1927; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx01110x100000 + 000001x01110xxxx111x11xxxxxxxxxx uqdecd. */ - return 1885; + return 1924; } } } @@ -6174,17 +5987,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx11000x100000 + 000001x00011xxxx111x11xxxxxxxxxx uqdecb. */ - return 1883; + return 1922; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx11010x100000 + 000001x01011xxxx111x11xxxxxxxxxx uqdecw. */ - return 1895; + return 1934; } } else @@ -6193,17 +6006,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx11100x100000 + 000001x00111xxxx111x11xxxxxxxxxx uqdech. */ - return 1889; + return 1928; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x111xxxx11110x100000 + 000001x01111xxxx111x11xxxxxxxxxx uqdecd. */ - return 1886; + return 1925; } } } @@ -6221,17 +6034,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0000x100001 + 100001x0000xxxxx111xxxxxxxxxxxxx prfb. */ - return 1680; + return 1707; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0010x100001 + 100001x0100xxxxx111xxxxxxxxxxxxx prfh. */ - return 1694; + return 1721; } } else @@ -6240,17 +6053,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1000x100001 + 100001x0001xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1560; + return 1587; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1010x100001 + 100001x0101xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1577; + return 1604; } } } @@ -6260,17 +6073,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxxx100x100001 + 100001x001xxxxxx111xxxxxxxxxxxxx ld1rb. */ - return 1474; + return 1493; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxxx110x100001 + 100001x011xxxxxx111xxxxxxxxxxxxx ld1rh. */ - return 1478; + return 1497; } } } @@ -6285,17 +6098,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0000x10001x + x10001x0000xxxxx111xxxxxxxxxxxxx prfb. */ - return 1682; + return 1709; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0010x10001x + x10001x0100xxxxx111xxxxxxxxxxxxx prfh. */ - return 1696; + return 1723; } } else @@ -6304,17 +6117,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0100x10001x + x10001x0010xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1559; + return 1586; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0110x10001x + x10001x0110xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1575; + return 1602; } } } @@ -6326,17 +6139,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1000x10001x + x10001x0001xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1561; + return 1588; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1010x10001x + x10001x0101xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1578; + return 1605; } } else @@ -6345,17 +6158,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1100x10001x + x10001x0011xxxxx111xxxxxxxxxxxxx prfd. */ - return 1686; + return 1713; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1110x10001x + x10001x0111xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1576; + return 1603; } } } @@ -6363,34 +6176,59 @@ aarch64_opcode_lookup_1 (uint32_t word) } } } - else + } + else + { + if (((word >> 21) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx100xxxxx0xx0x1001xx - cmpeq. */ - return 1273; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx000xxxxxxxx0xxxx + cmphs. */ + return 1285; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx000xxxxxxxx1xxxx + cmphi. */ + return 1282; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00x0xxxxx000xxxxxxxxxxxxx + ld1rqb. */ + return 1499; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01x0xxxxx000xxxxxxxxxxxxx + ld1rqh. */ + return 1503; + } + } } else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx100xxxxx0xx0x1001xx - cmpne. */ - return 1296; - } - } - else - { - if (((word >> 30) & 0x1) == 0) { if (((word >> 31) & 0x1) == 0) { @@ -6398,124 +6236,83 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx101xxxxx0xx0x100100 - cmpeq. */ - return 1274; + 001001x0xx0xxxxx010xxxxxxxx0xxxx + cmpge. */ + return 1276; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx101xxxxx0xx0x100100 - cmpne. */ - return 1297; + 001001x0xx0xxxxx010xxxxxxxx1xxxx + cmpgt. */ + return 1279; } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00000x100101 - ld1b. */ - return 1445; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00010x100101 - ld1sw. */ - return 1515; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0000xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1457; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00100x100101 - ld1b. */ - return 1447; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00110x100101 - ld1h. */ - return 1468; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0100xxxxx010xxxxxxxxxxxxx + ld1sw. */ + return 1537; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10000x100101 - ldnf1b. */ - return 1613; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10010x100101 - ldnf1sw. */ - return 1626; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0010xxxxx010xxxxxxxxxxxxx + ld1b. */ + return 1459; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10100x100101 - ldnf1b. */ - return 1615; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10110x100101 - ldnf1h. */ - return 1619; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0110xxxxx010xxxxxxxxxxxxx + ld1h. */ + return 1479; } } } } - else + } + else + { + if (((word >> 14) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0000x10011x - st1b. */ - return 1772; + 001001x0xx0xxxxx001xxxxxxxx0xxxx + cmpeq. */ + return 1273; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0010x10011x - st1h. */ - return 1791; + 001001x0xx0xxxxx001xxxxxxxx1xxxx + cmpne. */ + return 1296; } } else @@ -6524,27 +6321,21 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0100x10011x - st1b. */ - return 1779; + 101001x00x0xxxxx001xxxxxxxxxxxxx + ld1rqb. */ + return 1498; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0110x10011x - st1h. */ - return 1800; + 101001x01x0xxxxx001xxxxxxxxxxxxx + ld1rqh. */ + return 1502; } } } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) + else { if (((word >> 31) & 0x1) == 0) { @@ -6552,7 +6343,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx110xxxxx0xx0x100100 + 001001x0xx0xxxxx011xxxxxxxx0xxxx cmplt. */ return 1294; } @@ -6560,7 +6351,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx110xxxxx0xx0x100100 + 001001x0xx0xxxxx011xxxxxxxx1xxxx cmple. */ return 1288; } @@ -6573,17 +6364,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0000x100101 + 101001x0000xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1554; + return 1581; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0010x100101 + 101001x0100xxxxx011xxxxxxxxxxxxx ldff1sw. */ - return 1597; + return 1624; } } else @@ -6592,21 +6383,65 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0100x100101 + 101001x0010xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1556; + return 1583; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0110x100101 + 101001x0110xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1571; + return 1598; } } } } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xxxxx0xxxxxxxxxxxxxxx + fcmla. */ + return 1342; + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0x00xxxxx0x0xxxxxxxxxxxxx + st1b. */ + return 1803; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx0x0xxxxxxxxxxxxx + st1b. */ + return 1807; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx0x0xxxxxxxxxxxxx + st1h. */ + return 1828; + } + } + } else { if (((word >> 22) & 0x1) == 0) @@ -6615,17 +6450,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0000x10011x + 111001x0000xxxxx0x1xxxxxxxxxxxxx stnt1b. */ - return 1840; + return 1873; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0010x10011x + 111001x0100xxxxx0x1xxxxxxxxxxxxx stnt1h. */ - return 1844; + return 1877; } } else @@ -6634,24 +6469,49 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0100x10011x + 111001x0010xxxxx0x1xxxxxxxxxxxxx st3b. */ - return 1824; + return 1857; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0110x10011x + 111001x0110xxxxx0x1xxxxxxxxxxxxx st3h. */ - return 1828; + return 1861; } } } } - else + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x0xx0xxxxx100xxxxxxxx0xxxx + cmpge. */ + return 1277; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x0xx0xxxxx100xxxxxxxx1xxxx + cmpgt. */ + return 1280; + } + } + else { if (((word >> 31) & 0x1) == 0) { @@ -6659,17 +6519,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx111xxxxx0xx0x100100 - cmplo. */ - return 1290; + 001001x0xx0xxxxx110xxxxxxxx0xxxx + cmphs. */ + return 1286; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx111xxxxx0xx0x100100 - cmpls. */ - return 1292; + 001001x0xx0xxxxx110xxxxxxxx1xxxx + cmphi. */ + return 1283; } } else @@ -6680,17 +6540,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0000x100101 + 101001x0000xxxxx110xxxxxxxxxxxxx ldnt1b. */ - return 1630; + return 1656; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0010x100101 + 101001x0100xxxxx110xxxxxxxxxxxxx ldnt1h. */ - return 1634; + return 1660; } } else @@ -6699,166 +6559,251 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0100x100101 + 101001x0010xxxxx110xxxxxxxxxxxxx ld3b. */ - return 1538; + return 1564; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0110x100101 + 101001x0110xxxxx110xxxxxxxxxxxxx ld3h. */ - return 1542; + return 1568; } } } } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x0xx0xxxxx1x0xxxxxxxxxxxxx + fcadd. */ + return 1341; + } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx000x0x10011x + 111001x0000xxxxx1x0xxxxxxxxxxxxx st1b. */ - return 1777; + return 1804; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx00100x10011x - st1b. */ - return 1780; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx00110x10011x - st1h. */ - return 1801; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0100xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1823; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx10000x10011x - stnt1b. */ - return 1841; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx10010x10011x - stnt1h. */ - return 1845; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0010xxxxx1x0xxxxxxxxxxxxx + st1b. */ + return 1808; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx10100x10011x - st3b. */ - return 1825; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx10110x10011x - st3h. */ - return 1829; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x0110xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1829; } } } } } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx1xxxxxxx1xx0x100100 - cmplo. */ - return 1291; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx1xxxxxxx1xx0x100100 - cmpls. */ - return 1293; - } - } - else + if (((word >> 14) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx101xxxxxxxx0xxxx + cmpeq. */ + return 1274; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx101xxxxxxxx1xxxx + cmpne. */ + return 1297; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx01000x100101 - ld1b. */ - return 1446; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00000xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1464; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01000xxxx101xxxxxxxxxxxxx + ld1sw. */ + return 1542; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx01010x100101 - ld1h. */ - return 1467; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00100xxxx101xxxxxxxxxxxxx + ld1b. */ + return 1466; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01100xxxx101xxxxxxxxxxxxx + ld1h. */ + return 1487; + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx01100x100101 - ld1b. */ - return 1448; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00001xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1640; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01001xxxx101xxxxxxxxxxxxx + ldnf1sw. */ + return 1653; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx01110x100101 - ld1h. */ - return 1469; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x00101xxxx101xxxxxxxxxxxxx + ldnf1b. */ + return 1642; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x01101xxxx101xxxxxxxxxxxxx + ldnf1h. */ + return 1646; + } } } } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0000xxxxx101xxxxxxxxxxxxx + st1b. */ + return 1805; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0100xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1824; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0010xxxxx101xxxxxxxxxxxxx + st1b. */ + return 1812; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0110xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1833; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx111xxxxxxxx0xxxx + cmplo. */ + return 1290; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx0xxxxx111xxxxxxxx1xxxx + cmpls. */ + return 1292; + } + } else { if (((word >> 22) & 0x1) == 0) @@ -6867,17 +6812,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx11000x100101 - ldnf1b. */ - return 1614; + 101001x0000xxxxx111xxxxxxxxxxxxx + ldnt1b. */ + return 1657; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx11010x100101 - ldnf1h. */ - return 1618; + 101001x0100xxxxx111xxxxxxxxxxxxx + ldnt1h. */ + return 1661; } } else @@ -6886,43 +6831,32 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx11100x100101 - ldnf1b. */ - return 1616; + 101001x0010xxxxx111xxxxxxxxxxxxx + ld3b. */ + return 1565; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxx11110x100101 - ldnf1h. */ - return 1620; + 101001x0110xxxxx111xxxxxxxxxxxxx + ld3h. */ + return 1569; } } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1000x100101 - ldff1b. */ - return 1555; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1010x100101 - ldff1h. */ - return 1570; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0x000xxxx111xxxxxxxxxxxxx + st1b. */ + return 1810; } else { @@ -6930,17 +6864,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1100x100101 - ldff1b. */ - return 1557; + x11001x00100xxxx111xxxxxxxxxxxxx + st1b. */ + return 1813; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1110x100101 - ldff1h. */ - return 1572; + x11001x01100xxxx111xxxxxxxxxxxxx + st1h. */ + return 1834; } } } @@ -6952,17 +6886,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1000x100101 - ld2b. */ - return 1530; + x11001x00001xxxx111xxxxxxxxxxxxx + stnt1b. */ + return 1874; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1010x100101 - ld2h. */ - return 1534; + x11001x01001xxxx111xxxxxxxxxxxxx + stnt1h. */ + return 1878; } } else @@ -6971,58 +6905,226 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1100x100101 - ld4b. */ - return 1546; + x11001x00101xxxx111xxxxxxxxxxxxx + st3b. */ + return 1858; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1110x100101 - ld4h. */ - return 1550; + x11001x01101xxxx111xxxxxxxxxxxxx + st3h. */ + return 1862; } } } } } } - else + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxxx10x0x10011x - st1h. */ - return 1794; + 001001x0xx1xxxxxxx0xxxxxxxx0xxxx + cmphs. */ + return 1287; } else { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx0xxxxxxxx1xxxx + cmphi. */ + return 1284; + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxxx1100x10011x - st1b. */ - return 1781; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx0x0xxxxxxxxxxxxx + ld1b. */ + return 1458; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx0x0xxxxxxxxxxxxx + ld1h. */ + return 1478; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx10xxxxxx1110x10011x - st1h. */ - return 1802; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx0x0xxxxxxxxxxxxx + ld1b. */ + return 1460; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx0x0xxxxxxxxxxxxx + ld1h. */ + return 1480; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx1x0xxxxxxxxxxxxx + ld2b. */ + return 1556; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx1x0xxxxxxxxxxxxx + ld2h. */ + return 1560; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx1x0xxxxxxxxxxxxx + ld4b. */ + return 1572; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx1x0xxxxxxxxxxxxx + ld4h. */ + return 1576; + } } } } - else + } + else + { + if (((word >> 15) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00x1xxxxx0000x0xxxxxxxxxx + fmla. */ + return 1395; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0101xxxxx0000x0xxxxxxxxxx + fmla. */ + return 1396; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx0000x0xxxxxxxxxx + fmla. */ + return 1397; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00x1xxxxx0000x1xxxxxxxxxx + fmls. */ + return 1399; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0101xxxxx0000x1xxxxxxxxxx + fmls. */ + return 1400; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx0000x1xxxxxxxxxx + fmls. */ + return 1401; + } + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0x01xxxxx0001xxxxxxxxxxxx + fcmla. */ + return 1343; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0x11xxxxx0001xxxxxxxxxxxx + fcmla. */ + return 1344; + } + } + } + else { if (((word >> 22) & 0x1) == 0) { @@ -7030,17 +7132,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1000x10011x - st2b. */ - return 1816; + x11001x0001xxxxx010xxxxxxxxxxxxx + st1b. */ + return 1806; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1010x10011x - st2h. */ - return 1820; + x11001x0101xxxxx010xxxxxxxxxxxxx + st1h. */ + return 1825; } } else @@ -7049,21 +7151,68 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1100x10011x - st4b. */ - return 1832; + x11001x0011xxxxx010xxxxxxxxxxxxx + st1b. */ + return 1809; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1110x10011x - st4h. */ - return 1836; + x11001x0111xxxxx010xxxxxxxxxxxxx + st1h. */ + return 1830; } } } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0x01xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1826; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0x11xxxxx1x0xxxxxxxxxxxxx + st1h. */ + return 1831; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx1xxxxxxxx0xxxx + cmplo. */ + return 1291; + } else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x0xx1xxxxxxx1xxxxxxxx1xxxx + cmpls. */ + return 1293; + } + } + else + { + if (((word >> 14) & 0x1) == 0) { if (((word >> 20) & 0x1) == 0) { @@ -7073,17 +7222,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx01000x10011x - st1b. */ - return 1778; + 101001x00010xxxxx01xxxxxxxxxxxxx + ld1b. */ + return 1465; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx01010x10011x - st1h. */ - return 1799; + 101001x01010xxxxx01xxxxxxxxxxxxx + ld1h. */ + return 1486; } } else @@ -7092,17 +7241,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx01100x10011x - st1b. */ - return 1782; + 101001x00110xxxxx01xxxxxxxxxxxxx + ld1b. */ + return 1467; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx01110x10011x - st1h. */ - return 1803; + 101001x01110xxxxx01xxxxxxxxxxxxx + ld1h. */ + return 1488; } } } @@ -7114,17 +7263,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11000x10011x - st2b. */ - return 1817; + 101001x00011xxxxx01xxxxxxxxxxxxx + ldnf1b. */ + return 1641; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11010x10011x - st2h. */ - return 1821; + 101001x01011xxxxx01xxxxxxxxxxxxx + ldnf1h. */ + return 1645; } } else @@ -7133,633 +7282,170 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11100x10011x - st4b. */ - return 1833; + 101001x00111xxxxx01xxxxxxxxxxxxx + ldnf1b. */ + return 1643; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11110x10011x - st4h. */ - return 1837; + 101001x01111xxxxx01xxxxxxxxxxxxx + ldnf1h. */ + return 1647; } } } } - } - } - } - } - } - } - 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 - xxxxxxxxxxxxxxxxxxxx00001x100000 - orr. */ - return 1668; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxx00011x100000 - and. */ - return 1239; - } - } else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxx00101x100000 - eor. */ - return 1326; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxx00111x100000 - dupm. */ - return 1324; - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxx10xx1x100000 - cpy. */ - return 1309; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxx10xx1x100000 - fcpy. */ - return 1352; - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) { if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1xx1x100000 - ext. */ - return 1331; - } - else - { - if (((word >> 16) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010000x1xx1x100000 - cpy. */ - return 1307; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010001x1xx1x100000 - clasta. */ - return 1265; - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010010x1xx1x100000 - revb. */ - return 1716; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010011x1xx1x100000 - splice. */ - return 1737; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0001xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1582; } else { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010100x1xx1x100000 - lasta. */ - return 1434; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010101x1xx1x100000 - clasta. */ - return 1266; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001011xx1xx1x100000 - revw. */ - return 1718; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0101xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1597; } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0011000x1xx1x100000 - compact. */ - return 1306; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0011001x1xx1x100000 - clastb. */ - return 1268; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001101xx1xx1x100000 - revh. */ - return 1717; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx011xxxxxxxxxxxxx + ldff1b. */ + return 1584; } else { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0011100x1xx1x100000 - lastb. */ - return 1436; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0011101x1xx1x100000 - clastb. */ - return 1269; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001111xx1xx1x100000 - rbit. */ - return 1709; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx011xxxxxxxxxxxxx + ldff1h. */ + return 1599; } } } - } - else - { - if (((word >> 15) & 0x1) == 0) + else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx00100xxxxx1xx1x100000 - dup. */ - return 1322; + 101001x0001xxxxx111xxxxxxxxxxxxx + ld2b. */ + return 1557; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx01100xxxxx1xx1x100000 - tbl. */ - return 1860; + 101001x0101xxxxx111xxxxxxxxxxxxx + ld2h. */ + return 1561; } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x100000001xx1x100000 - dup. */ - return 1321; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x100000011xx1x100000 - sunpklo. */ - return 1856; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x1000001x1xx1x100000 - rev. */ - return 1715; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x100001x01xx1x100000 - insr. */ - return 1431; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x100001x11xx1x100000 - insr. */ - return 1432; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x10001xxx1xx1x100000 - uunpklo. */ - return 1913; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0011xxxxx111xxxxxxxxxxxxx + ld4b. */ + return 1573; } else { - if (((word >> 17) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x10010xxx1xx1x100000 - sunpkhi. */ - return 1855; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x10011xxx1xx1x100000 - uunpkhi. */ - return 1912; - } - } - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1010xx001xx1x100000 - lasta. */ - return 1433; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1010xx011xx1x100000 - clasta. */ - return 1267; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1010xx1x1xx1x100000 - cpy. */ - return 1308; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011xxx01xx1x100000 - lastb. */ - return 1435; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011xxx11xx1x100000 - clastb. */ - return 1270; + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x0111xxxxx111xxxxxxxxxxxxx + ld4h. */ + return 1577; } } } } } - else + } + else + { + if (((word >> 14) & 0x1) == 0) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010xxxx01xx1x100000 - zip1. */ - return 1930; - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0000100x0x11xx1x100000 - punpklo. */ - return 1708; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0000100x1x11xx1x100000 - rev. */ - return 1714; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0000101xxx11xx1x100000 - punpkhi. */ - return 1707; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000110xxxxx1xx1x100000 - zip1. */ - return 1931; - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001010xxxxx1xx1x100000 - trn1. */ - return 1861; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001110xxxxx1xx1x100000 - trn1. */ - return 1862; - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01x010xxxxx1xx1x100000 - uzp1. */ - return 1917; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01x110xxxxx1xx1x100000 - uzp1. */ - return 1918; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00x1xxxxx001xxxxxxxxxxxxx + fmul. */ + return 1406; } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100010xxxxx1xx1x100000 - zip2. */ - return 1932; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100110xxxxx1xx1x100000 - zip2. */ - return 1933; - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101010xxxxx1xx1x100000 - trn2. */ - return 1863; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101110xxxxx1xx1x100000 - trn2. */ - return 1864; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0101xxxxx001xxxxxxxxxxxxx + fmul. */ + return 1407; } else { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx11x010xxxxx1xx1x100000 - uzp2. */ - return 1919; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx11x110xxxxx1xx1x100000 - uzp2. */ - return 1920; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx001xxxxxxxxxxxxx + fmul. */ + return 1408; } } } else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11xxxxx1xx1x100000 - sel. */ - return 1727; - } - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) { if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxxx0x1x100001 - ldr. */ - return 1637; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxxx1x1x100001 - prfb. */ - return 1681; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxxxx01x100001 - ld1rsh. */ - return 1482; + x11001x0x01xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1827; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxxxx11x100001 - ld1rsb. */ - return 1479; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0011xxxxx101xxxxxxxxxxxxx + st1b. */ + return 1814; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x0111xxxxx101xxxxxxxxxxxxx + st1h. */ + return 1835; + } } } } @@ -7767,212 +7453,127 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x01x100001 - ld1w. */ - return 1517; + x11001x0001xxxxx011xxxxxxxxxxxxx + st2b. */ + return 1849; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x01x100001 - ld1w. */ - return 1518; + x11001x0101xxxxx011xxxxxxxxxxxxx + st2h. */ + return 1853; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxxx011x100001 - ldr. */ - return 1638; + x11001x0011xxxxx011xxxxxxxxxxxxx + st4b. */ + return 1865; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxxx111x100001 - prfw. */ - return 1702; + x11001x0111xxxxx011xxxxxxxxxxxxx + st4h. */ + return 1869; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0001x100001 - prfw. */ - return 1698; + x11001x00010xxxx111xxxxxxxxxxxxx + st1b. */ + return 1811; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0011x100001 - prfd. */ - return 1684; + x11001x01010xxxx111xxxxxxxxxxxxx + st1h. */ + return 1832; } } else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx10x1x100001 - ld1w. */ - return 1525; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxxx101x100001 - ld1rw. */ - return 1485; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxxx111x100001 - ld1rsb. */ - return 1481; - } - } - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxxxxx1x100001 - prfh. */ - return 1695; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxxxx01x100001 - ld1rsh. */ - return 1483; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxxxx11x100001 - ld1rsb. */ - return 1480; - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x01x100001 - ldff1w. */ - return 1603; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x01x100001 - ldff1w. */ - return 1604; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxxxx11x100001 - prfd. */ - return 1688; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0001x100001 - prfw. */ - return 1701; + x11001x00110xxxx111xxxxxxxxxxxxx + st1b. */ + return 1815; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0011x100001 - prfd. */ - return 1687; + x11001x01110xxxx111xxxxxxxxxxxxx + st1h. */ + return 1836; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx10x1x100001 - ldff1w. */ - return 1611; - } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxxx101x100001 - ld1rw. */ - return 1486; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00011xxxx111xxxxxxxxxxxxx + st2b. */ + return 1850; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x01011xxxx111xxxxxxxxxxxxx + st2h. */ + return 1854; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxxx111x100001 - ld1rd. */ - return 1475; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x00111xxxx111xxxxxxxxxxxxx + st4b. */ + return 1866; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x01111xxxx111xxxxxxxxxxxxx + st4h. */ + return 1870; + } } } } @@ -7980,83 +7581,37 @@ 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 >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx0xx1x10001x - ld1sw. */ - return 1511; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1xx1x10001x - ld1sw. */ - return 1512; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx0xx1x10001x - ld1sw. */ - return 1513; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx10x1x10001x - ld1sw. */ - return 1516; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx11x1x10001x - ld1sw. */ - return 1514; - } - } - } - } - else + if (((word >> 21) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x01x10001x - ld1w. */ - return 1521; + 000001x10000xxxxxxxxxxxxxxxxxxxx + orr. */ + return 1695; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0x11x10001x - ld1d. */ - return 1451; + 000001x11000xxxxxxxxxxxxxxxxxxxx + and. */ + return 1239; } } else @@ -8065,1390 +7620,1277 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x01x10001x - ld1w. */ - return 1522; + 000001x10100xxxxxxxxxxxxxxxxxxxx + eor. */ + return 1326; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x11x10001x - ld1d. */ - return 1452; + 000001x11100xxxxxxxxxxxxxxxxxxxx + dupm. */ + return 1324; } } } else { - if (((word >> 21) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0x01x10001x - ld1w. */ - return 1523; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0x11x10001x - ld1d. */ - return 1453; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx01xxxx0xxxxxxxxxxxxxxx + cpy. */ + return 1309; } else { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1001x10001x - ld1w. */ - return 1528; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1011x10001x - ld1d. */ - return 1456; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1101x10001x - ld1w. */ - return 1524; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1111x10001x - ld1d. */ - return 1454; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx01xxxx1xxxxxxxxxxxxxxx + fcpy. */ + return 1356; } } } - } - else - { - if (((word >> 14) & 0x1) == 0) + else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx0xx1x10001x - ldff1sw. */ - return 1598; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1xx1x10001x - ldff1sw. */ - return 1599; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0xx1x10001x - ldff1sw. */ - return 1600; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx10x1x10001x - ldff1sw. */ - return 1602; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx11x1x10001x - ldff1sw. */ - return 1601; - } - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x01x10001x - ldff1w. */ - return 1607; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0x11x10001x - ldff1d. */ - return 1563; - } - } - else + if (((word >> 13) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x01x10001x - ldff1w. */ - return 1608; - } - else + if (((word >> 15) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x11x10001x - ldff1d. */ - return 1564; - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0001x10001x - prfw. */ - return 1703; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0011x10001x - prfd. */ - return 1689; - } + 000001x1xx1xxxxx000xxxxxxxxxxxxx + ext. */ + return 1331; } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0101x10001x - ldff1w. */ - return 1609; + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0000100xxxxxxxxxxxxx + cpy. */ + return 1307; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1000100xxxxxxxxxxxxx + clasta. */ + return 1265; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0100100xxxxxxxxxxxxx + revb. */ + return 1743; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1100100xxxxxxxxxxxxx + splice. */ + return 1770; + } + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0010100xxxxxxxxxxxxx + lasta. */ + return 1453; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1010100xxxxxxxxxxxxx + clasta. */ + return 1266; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xx110100xxxxxxxxxxxxx + revw. */ + return 1745; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0111x10001x - ldff1d. */ - return 1565; + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0001100xxxxxxxxxxxxx + compact. */ + return 1306; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1001100xxxxxxxxxxxxx + clastb. */ + return 1268; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xx101100xxxxxxxxxxxxx + revh. */ + return 1744; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x0011100xxxxxxxxxxxxx + lastb. */ + return 1455; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1011100xxxxxxxxxxxxx + clastb. */ + return 1269; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xx111100xxxxxxxxxxxxx + rbit. */ + return 1736; + } + } } } } else { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1001x10001x - ldff1w. */ - return 1612; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1011x10001x - ldff1d. */ - return 1567; - } - } - else + if (((word >> 15) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1101x10001x - ldff1w. */ - return 1610; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx00100xxxxxxxxxxx + dup. */ + return 1322; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx00110xxxxxxxxxxx + tbl. */ + return 1893; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1111x10001x - ldff1d. */ - return 1566; - } - } - } - } - } - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx000xxxxx0xx1x10010x - cmpge. */ - return 1278; + 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 + 000001x1xx100000001x1xxxxxxxxxxx + dup. */ + return 1321; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx110000001x1xxxxxxxxxxx + sunpklo. */ + return 1889; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1x1000001x1xxxxxxxxxxx + rev. */ + return 1742; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx10x100001x1xxxxxxxxxxx + insr. */ + return 1450; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x100001x1xxxxxxxxxxx + insr. */ + return 1451; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxx10001x1xxxxxxxxxxx + uunpklo. */ + return 1952; + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxx01001x1xxxxxxxxxxx + sunpkhi. */ + return 1888; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxx11001x1xxxxxxxxxxx + uunpkhi. */ + return 1951; + } + } + } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxx00000xxxxx1xx1x10010x - whilelt. */ - return 1927; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx100xx0101xxxxxxxxxxxxx + lasta. */ + return 1452; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx110xx0101xxxxxxxxxxxxx + clasta. */ + return 1267; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxx01000xxxxx1xx1x10010x - whilelt. */ - return 1928; + 000001x1xx1x1xx0101xxxxxxxxxxxxx + cpy. */ + return 1308; } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxx10000xxxxx1xx1x10010x - whilelo. */ - return 1923; + 000001x1xx10xxx1101xxxxxxxxxxxxx + lastb. */ + return 1454; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxx11000xxxxx1xx1x10010x - whilelo. */ - return 1924; + 000001x1xx11xxx1101xxxxxxxxxxxxx + clastb. */ + return 1270; } } } } - else + } + else + { + if (((word >> 15) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx000xxxxx0xx1x10010x - cmpgt. */ - return 1281; - } - else + if (((word >> 10) & 0x1) == 0) { if (((word >> 11) & 0x1) == 0) { if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxx00000xxxxx1xx1x10010x - whilele. */ - return 1921; + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx10xxxx010000xxxxxxxxxx + zip1. */ + return 1969; + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x0x0010000xxxxxxxxxx + punpklo. */ + return 1735; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11x1x0010000xxxxxxxxxx + rev. */ + return 1741; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx11xxx1010000xxxxxxxxxx + punpkhi. */ + return 1734; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011000xxxxxxxxxx + zip1. */ + return 1970; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxx01000xxxxx1xx1x10010x - whilele. */ - return 1922; + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx010100xxxxxxxxxx + trn1. */ + return 1894; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011100xxxxxxxxxx + trn1. */ + return 1895; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxx10000xxxxx1xx1x10010x - whilels. */ - return 1925; + 000001x1xx1xxxxx010x10xxxxxxxxxx + uzp1. */ + return 1956; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxx11000xxxxx1xx1x10010x - whilels. */ - return 1926; + 000001x1xx1xxxxx011x10xxxxxxxxxx + uzp1. */ + return 1957; } } } - } - } - else - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00x000xxxxx0xx1x100110 - fadd. */ - return 1336; + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx010001xxxxxxxxxx + zip2. */ + return 1971; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011001xxxxxxxxxx + zip2. */ + return 1972; + } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010000xxxxx0xx1x100110 - fmul. */ - return 1387; + 000001x1xx1xxxxx010101xxxxxxxxxx + trn2. */ + return 1896; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx011000xxxxx0xx1x100110 - frecps. */ - return 1397; + 000001x1xx1xxxxx011101xxxxxxxxxx + trn2. */ + return 1897; } } } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10x000xxxxx0xx1x100110 - fsub. */ - return 1410; + 000001x1xx1xxxxx010x11xxxxxxxxxx + uzp2. */ + return 1958; } else { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110000xxxxx0xx1x100110 - ftsmul. */ - return 1416; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx0xx1x100110 - frsqrts. */ - return 1407; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 000001x1xx1xxxxx011x11xxxxxxxxxx + uzp2. */ + return 1959; } } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxx1xx1x100110 - fmla. */ - return 1384; - } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx000xxxxxxxx1x100111 - str. */ - return 1848; + 000001x1xx1xxxxx11xxxxxxxxxxxxxx + sel. */ + return 1760; } } } - else + } + else + { + if (((word >> 13) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx100xxxxx0xx1x10010x - cmplt. */ - return 1295; + 100001x1x0xxxxxx000xxxxxxxxxxxxx + ldr. */ + return 1664; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx100xxxxx0xx1x10010x - cmple. */ - return 1289; + 100001x1x1xxxxxx000xxxxxxxxxxxxx + prfb. */ + return 1708; } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10xxxxxxx100xxxxxxxxxxxxx + ld1rsh. */ + return 1509; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x11xxxxxxx100xxxxxxxxxxxxx + ld1rsb. */ + return 1506; + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100000000xx1x10011x - faddv. */ - return 1340; - } - else - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx100000010xx1x10011x - fcmge. */ - return 1343; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx100000010xx1x10011x - fcmgt. */ - return 1345; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1000001x0xx1x10011x - fadda. */ - return 1339; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100001xx0xx1x10011x - fmaxnmv. */ - return 1376; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x0xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1544; } else { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100010xx0xx1x10011x - fcmeq. */ - return 1341; - } - else - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1000110x0xx1x10011x - fmaxv. */ - return 1377; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1000111x0xx1x10011x - frecpe. */ - return 1396; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x1xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1545; } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx100100xx0xx1x10011x - fcmlt. */ - return 1348; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx100100xx0xx1x10011x - fcmle. */ - return 1347; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100101xx0xx1x10011x - fminnmv. */ - return 1382; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x110xxxxxx010xxxxxxxxxxxxx + ldr. */ + return 1665; } else { - if (((word >> 18) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x111xxxxxx010xxxxxxxxxxxxx + prfw. */ + return 1729; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx100110xx0xx1x10011x - fcmne. */ - return 1349; + 100001x1000xxxxx110xxxxxxxxxxxxx + prfw. */ + return 1725; } else { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1001110x0xx1x10011x - fminv. */ - return 1383; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1001111x0xx1x10011x - frsqrte. */ - return 1406; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1100xxxxx110xxxxxxxxxxxxx + prfd. */ + return 1711; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x01xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1552; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x101xxxxxx110xxxxxxxxxxxxx + ld1rw. */ + return 1512; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x111xxxxxx110xxxxxxxxxxxxx + ld1rsb. */ + return 1508; + } } } } - else + } + else + { + if (((word >> 14) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1xxxxxxxx001xxxxxxxxxxxxx + prfh. */ + return 1722; + } + else + { + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx100xxxxx1xx1x10010x - ctermeq. */ - return 1310; + 100001x10xxxxxxx101xxxxxxxxxxxxx + ld1rsh. */ + return 1510; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx100xxxxx1xx1x10010x - ctermne. */ - return 1311; + 100001x11xxxxxxx101xxxxxxxxxxxxx + ld1rsb. */ + return 1507; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx100xxxxx1xx1x10011x - fmls. */ - return 1385; - } } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 9) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxxx00001x100100 - and. */ - return 1241; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxx0xxxx10xxxx00001x100100 - bic. */ - return 1253; - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxx0xxxx10xxx010001x100100 - brka. */ - return 1255; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxx0xxxx10xxx110001x100100 - brkn. */ - return 1259; - } - } - } - else - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx1xxxx10xxxxx0001x100100 - eor. */ - return 1328; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxx1xxxx10xxxxx0001x100100 - sel. */ - return 1728; - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0001x100101 - ld1sh. */ - return 1500; - } - else + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x0xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1630; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x10x1xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1631; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x11xxxxxxx011xxxxxxxxxxxxx + prfd. */ + return 1715; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0001x100101 - ldff1sh. */ - return 1589; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx10xxxxx0001x10011x - stnt1w. */ - return 1846; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - if (((word >> 9) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxxx00101x100100 - ands. */ - return 1242; - } - else - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxx010101x100100 - brkas. */ - return 1256; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxx110101x100100 - brkns. */ - return 1260; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx1xxxx10xxxxx0101x100100 - eors. */ - return 1329; - } + 100001x1000xxxxx111xxxxxxxxxxxxx + prfw. */ + return 1728; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxxx10xxxxx0101x100100 - bics. */ - return 1254; + 100001x1100xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1714; } } else { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0101x100101 - ld1w. */ - return 1519; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0101x100101 - ldff1w. */ - return 1605; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 100001x1x01xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1638; } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0101x10011x - st1w. */ - return 1808; + 100001x101xxxxxx111xxxxxxxxxxxxx + ld1rw. */ + return 1513; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0101x10011x - st3w. */ - return 1830; + 100001x111xxxxxx111xxxxxxxxxxxxx + ld1rd. */ + return 1494; } } } } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1xx0xxxxx000xxxxxxxxxxxxx + ld1sw. */ + return 1538; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1xx1xxxxx000xxxxxxxxxxxxx + ld1sw. */ + return 1539; + } + } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1xx0xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1540; + } + else { if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1001x1001xx - ld1sh. */ - return 1501; + x10001x1x01xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1543; } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1101x10010x - ld1w. */ - return 1520; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1101x10011x - st1w. */ - return 1810; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1x11xxxxx100xxxxxxxxxxxxx + ld1sw. */ + return 1541; + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x10x0xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1548; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x11x0xxxxx010xxxxxxxxxxxxx + ld1d. */ + return 1470; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x10x1xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1549; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x11x1xxxxx010xxxxxxxxxxxxx + ld1d. */ + return 1471; + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x10x0xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1550; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x11x0xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1472; } } else { if (((word >> 22) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1001x10010x - ldff1sh. */ - return 1590; + x10001x1001xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1555; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1001x10011x - st2w. */ - return 1822; + x10001x1101xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1475; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1101x10010x - ldff1w. */ - return 1606; + x10001x1011xxxxx110xxxxxxxxxxxxx + ld1w. */ + return 1551; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1101x10011x - st4w. */ - return 1838; + x10001x1111xxxxx110xxxxxxxxxxxxx + ld1d. */ + return 1473; } } } } } - else - { - if (((word >> 30) & 0x1) == 0) + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1xx0xxxxx001xxxxxxxxxxxxx + ldff1sw. */ + return 1625; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1xx1xxxxx001xxxxxxxxxxxxx + ldff1sw. */ + return 1626; + } + } + else { if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1xx0xxxxx101xxxxxxxxxxxxx + ldff1sw. */ + return 1627; + } + else { if (((word >> 22) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1x01xxxxx101xxxxxxxxxxxxx + ldff1sw. */ + return 1629; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1x11xxxxx101xxxxxxxxxxxxx + ldff1sw. */ + return 1628; + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x10x0xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1634; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x11x0xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1590; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x10x1xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1635; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x11x1xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1591; + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) { - if (((word >> 9) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxxx00011x100100 - orr. */ - return 1670; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxx0xxxx10xxxx00011x100100 - orn. */ - return 1665; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxx0xxxx10xxxx10011x100100 - brkb. */ - return 1257; - } - } - else - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx1xxxx10xxxxx0011x100100 - nor. */ - return 1662; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxx1xxxx10xxxxx0011x100100 - nand. */ - return 1659; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1000xxxxx111xxxxxxxxxxxxx + prfw. */ + return 1730; } else { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0011x100101 - ld1sb. */ - return 1488; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0011x100101 - ldff1sb. */ - return 1580; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1100xxxxx111xxxxxxxxxxxxx + prfd. */ + return 1716; } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) - { - if (((word >> 9) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxxx00111x100100 - orrs. */ - return 1671; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx0xxxx10xxxx10111x100100 - brkbs. */ - return 1258; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxx1xxxx10xxxxx0111x100100 - nors. */ - return 1663; - } - } - else - { - if (((word >> 9) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxx0xxxx10xxxxx0111x100100 - orns. */ - return 1666; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxx1xxxx10xxxxx0111x100100 - nands. */ - return 1660; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1010xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1636; } else { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx0111x100101 - ld1sb. */ - return 1490; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0111x100101 - ldff1sb. */ - return 1582; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10001x1110xxxxx111xxxxxxxxxxxxx + ldff1d. */ + return 1592; } } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1011x10010x - ld1sb. */ - return 1489; + x10001x1001xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1639; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1111x10010x - ld1d. */ - return 1450; + x10001x1101xxxxx111xxxxxxxxxxxxx + ldff1d. */ + return 1594; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1011x10010x - ldff1sb. */ - return 1581; + x10001x1011xxxxx111xxxxxxxxxxxxx + ldff1w. */ + return 1637; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1111x10010x + x10001x1111xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1562; + return 1593; } } } } - else + } + } + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { if (((word >> 31) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx010xxxxx0x11x100110 - fcmge. */ - return 1344; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx010xxxxx0x11x100110 - fcmgt. */ - return 1346; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx0xxxxx000xxxxxxxx0xxxx + cmpge. */ + return 1278; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxx1x11x100110 - fnmla. */ - return 1393; + 001001x1xx0xxxxx000xxxxxxxx1xxxx + cmpgt. */ + return 1281; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxxx011x100111 - str. */ - return 1849; + 101001x10x0xxxxx000xxxxxxxxxxxxx + ld1rqw. */ + return 1505; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx010xxxxxx111x100111 - st1d. */ - return 1787; + 101001x11x0xxxxx000xxxxxxxxxxxxx + ld1rqd. */ + return 1501; } } } else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx110xxxxx0x11x100110 - fcmeq. */ - return 1342; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx110xxxxx0x11x100110 - fcmne. */ - return 1350; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0011x100111 - stnt1d. */ - return 1842; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx0111x100111 - st3d. */ - return 1826; - } - } - } - else - { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1x11x100110 - fnmls. */ - return 1394; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1011x100111 - st2d. */ - return 1818; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx110xxxxx1111x100111 - st4d. */ - return 1834; - } - } - } - } - } - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) { if (((word >> 4) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxx001xxxxx0xx1x10010x - cmpeq. */ - return 1275; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxxxxx001xxxxx0xx1x10010x - cmpne. */ - return 1298; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00001x10010x - ld1sh. */ - return 1507; + x01001x1xx1xxxxx00000xxxxxx0xxxx + whilelt. */ + return 1966; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00011x10010x - ld1sb. */ - return 1494; + x01001x1xx1xxxxx00010xxxxxx0xxxx + whilelt. */ + return 1967; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00101x10010x - ld1w. */ - return 1526; + x01001x1xx1xxxxx00001xxxxxx0xxxx + whilelo. */ + return 1962; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx00111x10010x - ld1sb. */ - return 1496; + x01001x1xx1xxxxx00011xxxxxx0xxxx + whilelo. */ + return 1963; } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10001x10010x - ldnf1sh. */ - return 1624; + x01001x1xx1xxxxx00000xxxxxx1xxxx + whilele. */ + return 1960; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10011x10010x - ldnf1sb. */ - return 1621; + x01001x1xx1xxxxx00010xxxxxx1xxxx + whilele. */ + return 1961; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10101x10010x - ldnf1w. */ - return 1627; + x01001x1xx1xxxxx00001xxxxxx1xxxx + whilels. */ + return 1964; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxx10111x10010x - ldnf1sb. */ - return 1623; + x01001x1xx1xxxxx00011xxxxxx1xxxx + whilels. */ + return 1965; } } } @@ -9458,1192 +8900,1178 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 31) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxxx11xxxx000x1x100100 - brkpa. */ - return 1261; + 011001x1xx0xxxxx000x00xxxxxxxxxx + fadd. */ + return 1336; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxx11xxxx001x1x100100 - brkpas. */ - return 1262; - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxxx110xx010xx1x100100 - ptest. */ - return 1704; + 011001x1xx0xxxxx000010xxxxxxxxxx + fmul. */ + return 1403; } else { - if (((word >> 10) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx0x00110xx110xx1x100100 - pfirst. */ - return 1674; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx0x01110xx110xx1x100100 - ptrue. */ - return 1705; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx0x1x110xx1100x1x100100 - rdffr. */ - return 1711; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx0x1x110xx1101x1x100100 - rdffrs. */ - return 1712; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx1xxx110xx110xx1x100100 - pfalse. */ - return 1673; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx000110xxxxxxxxxx + frecps. */ + return 1416; } } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx000x01xxxxxxxxxx + fsub. */ + return 1429; + } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx0x0x111xxx10xx1x100100 - ptrues. */ - return 1706; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx0x1x111xxx10xx1x100100 - rdffr. */ - return 1710; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx000011xxxxxxxxxx + ftsmul. */ + return 1435; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxx1xxx111xxx10xx1x100100 - pnext. */ - return 1675; + 011001x1xx0xxxxx000111xxxxxxxxxx + frsqrts. */ + return 1426; } } } } else { - if (((word >> 22) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx000xxxxxxxxxxxxx + fmla. */ + return 1394; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1xxxxxxxx000xxxxxxxxxxxxx + str. */ + return 1881; + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxxx11xxxxx00x1x100100 - brkpb. */ - return 1263; + 001001x1xx0xxxxx001xxxxxxxx0xxxx + cmplt. */ + return 1295; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxxx11xxxxx01x1x100100 - brkpbs. */ - return 1264; + 001001x1xx0xxxxx001xxxxxxxx1xxxx + cmple. */ + return 1289; } } - } - else - { - if (((word >> 13) & 0x1) == 0) + else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0001x100101 - ldnt1w. */ - return 1635; + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10x0xxxxx001xxxxxxxxxxxxx + ld1rqw. */ + return 1504; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11x0xxxxx001xxxxxxxxxxxxx + ld1rqd. */ + return 1500; + } + } + } + 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 + x11001x1xx000000001xxxxxxxxxxxxx + faddv. */ + return 1340; + } + else + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx010000001xxxxxxxx0xxxx + fcmge. */ + return 1347; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx010000001xxxxxxxx1xxxx + fcmgt. */ + return 1349; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0x1000001xxxxxxxxxxxxx + fadda. */ + return 1339; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0011x100101 - ldnt1d. */ - return 1631; + x11001x1xx0xx100001xxxxxxxxxxxxx + fmaxnmv. */ + return 1386; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0101x100101 - ld3w. */ - return 1543; + x11001x1xx0xx010001xxxxxxxxxxxxx + fcmeq. */ + return 1345; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx0111x100101 - ld3d. */ - return 1539; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0x0110001xxxxxxxxxxxxx + fmaxv. */ + return 1387; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0x1110001xxxxxxxxxxxxx + frecpe. */ + return 1415; + } } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0001x100101 - ldnt1w. */ - return 1636; + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0xx001001xxxxxxxx0xxxx + fcmlt. */ + return 1352; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0xx001001xxxxxxxx1xxxx + fcmle. */ + return 1351; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0011x100101 - ldnt1d. */ - return 1632; + x11001x1xx0xx101001xxxxxxxxxxxxx + fminnmv. */ + return 1392; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0101x100101 - ld3w. */ - return 1544; + x11001x1xx0xx011001xxxxxxxxxxxxx + fcmne. */ + return 1353; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0111x100101 - ld3d. */ - return 1540; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0x0111001xxxxxxxxxxxxx + fminv. */ + return 1393; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx0x1111001xxxxxxxxxxxxx + frsqrte. */ + return 1425; + } } } } } } - } - else - { - if (((word >> 13) & 0x1) == 0) + else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0001x10011x - st1w. */ - return 1804; + x01001x1xx1xxxxx001xxxxxxxx0xxxx + ctermeq. */ + return 1310; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0101x10011x - st1w. */ - return 1809; + x01001x1xx1xxxxx001xxxxxxxx1xxxx + ctermne. */ + return 1311; } } else { - if (((word >> 31) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11001x1xx1xxxxx001xxxxxxxxxxxxx + fmls. */ + return 1398; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 9) & 0x1) == 0) { if (((word >> 20) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001000000x11x100110 - fadd. */ - return 1337; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001001000x11x100110 - fmaxnm. */ - return 1374; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001010000x11x100110 - fmul. */ - return 1388; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001011000x11x100110 - fmax. */ - return 1372; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x10000xxxx01xxxx0xxxx0xxxx + and. */ + return 1241; } else { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001100000x11x100110 - fsub. */ - return 1411; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001101000x11x100110 - fminnm. */ - return 1380; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001110000x11x100110 - fsubr. */ - return 1413; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001111000x11x100110 - fmin. */ - return 1378; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x10000xxxx01xxxx0xxxx1xxxx + bic. */ + return 1253; + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x100010xxx01xxxx0xxxxxxxxx + brka. */ + return 1255; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x100011xxx01xxxx0xxxxxxxxx + brkn. */ + return 1259; } } + } + else + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1000xxxxx01xxxx1xxxx0xxxx + eor. */ + return 1328; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxx010x11x100110 - ftmad. */ - return 1415; + 001001x1000xxxxx01xxxx1xxxx1xxxx + sel. */ + return 1761; } } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1000xxxxx010xxxxxxxxxxxxx + ld1sh. */ + return 1527; + } else { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001000100x11x100110 - fabd. */ - return 1332; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001000110x11x100110 - fadd. */ - return 1338; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001001100x11x100110 - fdivr. */ - return 1368; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001001110x11x100110 - fmaxnm. */ - return 1375; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1000xxxxx011xxxxxxxxxxxxx + ldff1sh. */ + return 1616; + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 9) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x11000xxxx01xxxx0xxxx0xxxx + orr. */ + return 1697; } else { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001010100x11x100110 - fmulx. */ - return 1390; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001010110x11x100110 - fmul. */ - return 1389; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0010111x0x11x100110 - fmax. */ - return 1373; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x11000xxxx01xxxx0xxxx1xxxx + orn. */ + return 1692; } } else { - if (((word >> 17) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x11001xxxx01xxxx0xxxxxxxxx + brkb. */ + return 1257; + } + } + else + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1100xxxxx01xxxx1xxxx0xxxx + nor. */ + return 1689; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1100xxxxx01xxxx1xxxx1xxxx + nand. */ + return 1686; + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1100xxxxx010xxxxxxxxxxxxx + ld1sb. */ + return 1515; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1100xxxxx011xxxxxxxxxxxxx + ldff1sb. */ + return 1607; + } + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + if (((word >> 9) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001100100x11x100110 - fscale. */ - return 1408; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001100110x11x100110 - fsub. */ - return 1412; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001101100x11x100110 - fdiv. */ - return 1367; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx001101110x11x100110 - fminnm. */ - return 1381; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x10100xxxx01xxxx0xxxx0xxxx + ands. */ + return 1242; } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0011101x0x11x100110 - fsubr. */ - return 1414; + 001001x101010xxx01xxxx0xxxx0xxxx + brkas. */ + return 1256; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0011111x0x11x100110 - fmin. */ - return 1379; + 001001x101011xxx01xxxx0xxxx0xxxx + brkns. */ + return 1260; } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1010xxxxx01xxxx1xxxx0xxxx + eors. */ + return 1329; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1010xxxxx01xxxxxxxxx1xxxx + bics. */ + return 1254; } } else { - if (((word >> 4) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx0xxxxxxxx011xxxxx0x11x100110 - fcmuo. */ - return 1351; + 101001x1010xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1546; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxxxxx011xxxxx0x11x100110 - facge. */ - return 1334; + 101001x1010xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1632; } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx0x11x100111 - st1d. */ - return 1783; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + if (((word >> 9) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x11100xxxx01xxxx0xxxx0xxxx + orrs. */ + return 1698; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x11101xxxx01xxxx0xxxx0xxxx + brkbs. */ + return 1258; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1110xxxxx01xxxx1xxxx0xxxx + nors. */ + return 1690; + } + } + else + { + if (((word >> 9) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1110xxxxx01xxxx0xxxx1xxxx + orns. */ + return 1693; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1110xxxxx01xxxx1xxxx1xxxx + nands. */ + return 1687; + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1110xxxxx010xxxxxxxxxxxxx + ld1sb. */ + return 1517; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1110xxxxx011xxxxxxxxxxxxx + ldff1sb. */ + return 1609; + } + } } } } else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0001x10011x - st1w. */ - return 1805; + x01001x1001xxxxx010xxxxxxxxxxxxx + ld1sh. */ + return 1528; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0101x10011x - st1w. */ - return 1812; + x01001x1101xxxxx010xxxxxxxxxxxxx + ld1sb. */ + return 1516; } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - 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 - xxxxxxxxxxxxx101000000x11x100110 - frintn. */ - return 1402; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101000010x11x100110 - scvtf. */ - return 1722; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101000100011x100110 - fcvt. */ - return 1353; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101000100111x100110 - fcvt. */ - return 1355; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101000110x11x100110 - fcvtzs. */ - return 1360; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101001000x11x100110 - frinta. */ - return 1399; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101001010011x100110 - scvtf. */ - return 1721; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101001010111x100110 - scvtf. */ - return 1723; - } - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101001100x11x100110 - frecpx. */ - return 1398; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101001110011x100110 - fcvtzs. */ - return 1359; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101001110111x100110 - fcvtzs. */ - return 1361; - } - } - } - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1010100x0x11x100110 - frintm. */ - return 1401; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1010101x0x11x100110 - fcvt. */ - return 1357; - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101011000x11x100110 - frintx. */ - return 1404; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101011010x11x100110 - scvtf. */ - return 1724; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1010111x0x11x100110 - fcvtzs. */ - return 1362; - } - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1011xxxxx010xxxxxxxxxxxxx + ld1w. */ + return 1547; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1111xxxxx010xxxxxxxxxxxxx + ld1d. */ + return 1469; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1001xxxxx011xxxxxxxxxxxxx + ldff1sh. */ + return 1617; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1101xxxxx011xxxxxxxxxxxxx + ldff1sb. */ + return 1608; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1011xxxxx011xxxxxxxxxxxxx + ldff1w. */ + return 1633; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1111xxxxx011xxxxxxxxxxxxx + ldff1d. */ + return 1589; + } + } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx010xxxxxxxx0xxxx + fcmge. */ + return 1348; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx010xxxxxxxx1xxxx + fcmgt. */ + return 1350; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx010xxxxxxxxxxxxx + fnmla. */ + return 1412; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1x0xxxxxx010xxxxxxxxxxxxx + str. */ + return 1882; + } + else + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1x10xxxxx010xxxxxxxxxxxxx + st1w. */ + return 1841; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1011xxxxx010xxxxxxxxxxxxx + st1w. */ + return 1843; } else { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101100000x11x100110 - frintp. */ - return 1403; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101100010x11x100110 - ucvtf. */ - return 1868; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101100100011x100110 - fcvt. */ - return 1354; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101100100111x100110 - fcvt. */ - return 1356; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101100110x11x100110 - fcvtzu. */ - return 1364; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011010x0011x100110 - ucvtf. */ - return 1867; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011010x0111x100110 - ucvtf. */ - return 1869; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101101100x11x100110 - fsqrt. */ - return 1409; - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101101110011x100110 - fcvtzu. */ - return 1363; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101101110111x100110 - fcvtzu. */ - return 1365; - } - } - } - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011100x0x11x100110 - frintz. */ - return 1405; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011101x0x11x100110 - fcvt. */ - return 1358; - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101111000x11x100110 - frinti. */ - return 1400; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101111010x11x100110 - ucvtf. */ - return 1870; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1011111x0x11x100110 - fcvtzu. */ - return 1366; - } - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1111xxxxx010xxxxxxxxxxxxx + st1d. */ + return 1820; + } + } + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx011xxxxxxxx0xxxx + fcmeq. */ + return 1346; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx011xxxxxxxx1xxxx + fcmne. */ + return 1354; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1000xxxxx011xxxxxxxxxxxxx + stnt1w. */ + return 1879; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1100xxxxx011xxxxxxxxxxxxx + stnt1d. */ + return 1875; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1010xxxxx011xxxxxxxxxxxxx + st3w. */ + return 1863; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1110xxxxx011xxxxxxxxxxxxx + st3d. */ + return 1859; + } + } + } + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx011xxxxxxxxxxxxx + fnmls. */ + return 1413; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1001xxxxx011xxxxxxxxxxxxx + st2w. */ + return 1855; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1101xxxxx011xxxxxxxxxxxxx + st2d. */ + return 1851; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0011x100111 - st1d. */ - return 1784; + 111001x1011xxxxx011xxxxxxxxxxxxx + st4w. */ + return 1871; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx0111x100111 - st1d. */ - return 1788; + 111001x1111xxxxx011xxxxxxxxxxxxx + st4d. */ + return 1867; } } } } + } + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1xx0xxxxx100xxxxxxxx0xxxx + cmpeq. */ + return 1275; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x1xx0xxxxx100xxxxxxxx1xxxx + cmpne. */ + return 1298; + } + } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx00x01x10011x - st1w. */ - return 1813; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x10000xxxx101xxxxxxxxxxxxx + ld1sh. */ + return 1534; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x11000xxxx101xxxxxxxxxxxxx + ld1sb. */ + return 1521; + } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx10001x10011x - stnt1w. */ - return 1847; + x01001x10100xxxx101xxxxxxxxxxxxx + ld1w. */ + return 1553; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx10101x10011x - st3w. */ - return 1831; + x01001x11100xxxx101xxxxxxxxxxxxx + ld1sb. */ + return 1523; } } } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0x11x100110 - facgt. */ - return 1335; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x10001xxxx101xxxxxxxxxxxxx + ldnf1sh. */ + return 1651; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x11001xxxx101xxxxxxxxxxxxx + ldnf1sb. */ + return 1648; + } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0011x100111 - stnt1d. */ - return 1843; + x01001x10101xxxx101xxxxxxxxxxxxx + ldnf1w. */ + return 1654; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx0111x100111 - st3d. */ - return 1827; + x01001x11101xxxx101xxxxxxxxxxxxx + ldnf1sb. */ + return 1650; } } } } } - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) + else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx01000001xx1x100100 - cntp. */ - return 1304; - } - else - { - if (((word >> 10) & 0x1) == 0) - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000x01000101xx1x100100 - sqincp. */ - return 1762; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001x01000101xx1x100100 - wrffr. */ - return 1929; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01xx01000101xx1x100100 - sqincp. */ - return 1764; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxx01000101xx1x100100 - sqincp. */ - return 1763; - } - } - } - else - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx00x01001x01xx1x100100 - incp. */ - return 1423; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx01x01001x01xx1x100100 - setffr. */ - return 1729; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1xx01001x01xx1x100100 - incp. */ - return 1424; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1x000xxxx11xxxxxxxxx0xxxx + brkpa. */ + return 1261; } else { - if (((word >> 10) & 0x1) == 0) - { - if (((word >> 11) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00xx0101xx01xx1x100100 - sqdecp. */ - return 1748; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01xx0101xx01xx1x100100 - sqdecp. */ - return 1750; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxx0101xx01xx1x100100 - sqdecp. */ - return 1749; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1x100xxxx11xxxxxxxxx0xxxx + brkpas. */ + return 1262; } } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00xx01100x01xx1x100100 - uqincp. */ - return 1904; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00xx01101x01xx1x100100 - decp. */ - return 1317; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00xx0111xx01xx1x100100 - uqdecp. */ - return 1890; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx010xx011xxxxxxxxx0xxxx + ptest. */ + return 1731; } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01xx01100x01xx1x100100 - uqincp. */ - return 1905; + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx011xx01100x0xxxxx0xxxx + pfirst. */ + return 1701; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx011xx01110x0xxxxx0xxxx + ptrue. */ + return 1732; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01xx01101x01xx1x100100 - decp. */ - return 1318; + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1x0011xx011x1x0xxxxx0xxxx + rdffr. */ + return 1738; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1x1011xx011x1x0xxxxx0xxxx + rdffrs. */ + return 1739; + } } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01xx0111xx01xx1x100100 - uqdecp. */ - return 1891; + 001001x1xx011xx011xxx1xxxxx0xxxx + pfalse. */ + return 1700; } } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxx0110xx01xx1x100100 - uqincp. */ - return 1906; + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx01xxx111x0x0xxxxx0xxxx + ptrues. */ + return 1733; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx01xxx111x1x0xxxxx0xxxx + rdffr. */ + return 1737; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxx0111xx01xx1x100100 - uqdecp. */ - return 1892; + 001001x1xx01xxx111xxx1xxxxx0xxxx + pnext. */ + return 1702; } } } } else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1x00xxxxx11xxxxxxxxx1xxxx + brkpb. */ + return 1263; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1x10xxxxx11xxxxxxxxx1xxxx + brkpbs. */ + return 1264; + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) { if (((word >> 22) & 0x1) == 0) { @@ -10651,17 +10079,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx01001x100101 - ld1sh. */ - return 1508; + 101001x1000xxxxx110xxxxxxxxxxxxx + ldnt1w. */ + return 1662; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx01011x100101 - ld1sb. */ - return 1495; + 101001x1100xxxxx110xxxxxxxxxxxxx + ldnt1d. */ + return 1658; } } else @@ -10670,109 +10098,156 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx01101x100101 - ld1w. */ - return 1527; + 101001x1010xxxxx110xxxxxxxxxxxxx + ld3w. */ + return 1570; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx01111x100101 - ld1d. */ - return 1455; + 101001x1110xxxxx110xxxxxxxxxxxxx + ld3d. */ + return 1566; } } } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx11001x10010x - ldnf1sh. */ - return 1625; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx11011x10010x - ldnf1sb. */ - return 1622; - } - } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx11101x10010x - ldnf1w. */ - return 1628; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1000xxxxx111xxxxxxxxxxxxx + ldnt1w. */ + return 1663; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1100xxxxx111xxxxxxxxxxxxx + ldnt1d. */ + return 1659; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx01xxxx11111x10010x - ldnf1d. */ - return 1617; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1010xxxxx111xxxxxxxxxxxxx + ld3w. */ + return 1571; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1110xxxxx111xxxxxxxxxxxxx + ld3d. */ + return 1567; + } } } } } - else + } + else + { + if (((word >> 13) & 0x1) == 0) { if (((word >> 31) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 18) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11000001xx1x100100 - add. */ - return 1231; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000000100xxxxxxxxxxxxx + fadd. */ + return 1337; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000100100xxxxxxxxxxxxx + fmaxnm. */ + return 1384; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11000011xx1x100100 - mul. */ - return 1657; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000010100xxxxxxxxxxxxx + fmul. */ + return 1404; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000110100xxxxxxxxxxxxx + fmax. */ + return 1382; + } } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11000101xx1x100100 - smax. */ - return 1730; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000001100xxxxxxxxxxxxx + fsub. */ + return 1430; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000101100xxxxxxxxxxxxx + fminnm. */ + return 1390; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11000111xx1x100100 - dup. */ - return 1323; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000011100xxxxxxxxxxxxx + fsubr. */ + return 1432; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000111100xxxxxxxxxxxxx + fmin. */ + return 1388; + } } } } @@ -10780,244 +10255,200 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxx11001xx1xx1x100100 - sqadd. */ - return 1739; + 011001x1xx010xxx100xxxxxxxxxxxxx + ftmad. */ + return 1434; } } else { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11010xx1xx1x100100 - smin. */ - return 1733; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11011xx1xx1x100100 - sqsub. */ - return 1769; - } - } - } - else - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx111000x1xx1x100100 - sub. */ - return 1851; + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001000100xxxxxxxxxxxxx + fabd. */ + return 1332; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011000100xxxxxxxxxxxxx + fadd. */ + return 1338; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001100100xxxxxxxxxxxxx + fdivr. */ + return 1378; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011100100xxxxxxxxxxxxx + fmaxnm. */ + return 1385; + } + } } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11100101xx1x100100 - umax. */ - return 1873; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001010100xxxxxxxxxxxxx + fmulx. */ + return 1409; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011010100xxxxxxxxxxxxx + fmul. */ + return 1405; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxx11100111xx1x100100 - fdup. */ - return 1369; + 011001x1xx0x1110100xxxxxxxxxxxxx + fmax. */ + return 1383; } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11101xx1xx1x100100 - uqadd. */ - return 1881; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx111100x1xx1x100100 - subr. */ - return 1853; + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001001100xxxxxxxxxxxxx + fscale. */ + return 1427; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011001100xxxxxxxxxxxxx + fsub. */ + return 1431; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001101100xxxxxxxxxxxxx + fdiv. */ + return 1377; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011101100xxxxxxxxxxxxx + fminnm. */ + return 1391; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx111101x1xx1x100100 - umin. */ - return 1876; + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1011100xxxxxxxxxxxxx + fsubr. */ + return 1433; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0x1111100xxxxxxxxxxxxx + fmin. */ + return 1389; + } } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxx11111xx1xx1x100100 - uqsub. */ - return 1911; - } - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1001x100101 - ld2w. */ - return 1535; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1011x100101 - ld2d. */ - return 1531; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1101x100101 - ld4w. */ - return 1551; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1111x100101 - ld4d. */ - return 1547; - } } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1001x100101 - ld2w. */ - return 1536; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1011x100101 - ld2d. */ - return 1532; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx110xxxxxxxx0xxxx + fcmuo. */ + return 1355; } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1101x100101 - ld4w. */ - return 1552; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1111x100101 - ld4d. */ - return 1548; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx0xxxxx110xxxxxxxx1xxxx + facge. */ + return 1334; } } } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1001x10011x - st1w. */ - return 1806; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1101x10011x - st1w. */ - return 1811; - } - } else { - if (((word >> 31) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx001xxxxx1x11x100110 - fmad. */ - return 1371; + 111001x1000xxxxx1x0xxxxxxxxxxxxx + st1w. */ + return 1837; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx011xxxxx1x11x100110 - fnmad. */ - return 1392; + 111001x1100xxxxx1x0xxxxxxxxxxxxx + st1d. */ + return 1816; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxx0x1xxxxx1x11x100111 - st1d. */ - return 1785; + 111001x1x10xxxxx1x0xxxxxxxxxxxxx + st1w. */ + return 1842; } } } @@ -11025,611 +10456,1119 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 14) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1001x10011x - st1w. */ - return 1807; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1101x10011x - st1w. */ - return 1814; - } - } - else - { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1x11x100110 - fmsb. */ - return 1386; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx101xxxxx1x11x100111 - st1d. */ - return 1786; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx01x01x10011x - st1w. */ - return 1815; - } - else + if (((word >> 16) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11001x10011x - st2w. */ - return 1823; + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000000101xxxxxxxxxxxxx + frintn. */ + return 1421; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010000101xxxxxxxxxxxxx + scvtf. */ + return 1751; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0001000101xxxxxxxxxxxxx + fcvt. */ + return 1357; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x1001000101xxxxxxxxxxxxx + fcvt. */ + return 1359; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011000101xxxxxxxxxxxxx + fcvtzs. */ + return 1367; + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000100101xxxxxxxxxxxxx + frinta. */ + return 1418; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0010100101xxxxxxxxxxxxx + scvtf. */ + return 1750; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101010100101xxxxxxxxxxxxx + scvtf. */ + return 1749; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111010100101xxxxxxxxxxxxx + scvtf. */ + return 1753; + } + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001100101xxxxxxxxxxxxx + frecpx. */ + return 1417; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1366; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1364; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111011100101xxxxxxxxxxxxx + fcvtzs. */ + return 1368; + } + } + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11101x10011x - st4w. */ - return 1839; + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000010101xxxxxxxxxxxxx + frintm. */ + return 1420; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010010101xxxxxxxxxxxxx + scvtf. */ + return 1748; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001010101xxxxxxxxxxxxx + fcvt. */ + return 1361; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011010101xxxxxxxxxxxxx + fcvtzs. */ + return 1363; + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000110101xxxxxxxxxxxxx + frintx. */ + return 1423; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x10x010110101xxxxxxxxxxxxx + scvtf. */ + return 1752; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x11x010110101xxxxxxxxxxxxx + scvtf. */ + return 1754; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x10x0x1110101xxxxxxxxxxxxx + fcvtzs. */ + return 1365; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x11x0x1110101xxxxxxxxxxxxx + fcvtzs. */ + return 1369; + } + } + } } } - } - else - { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxxx1x11x100110 - fnmsb. */ - return 1395; - } else { - if (((word >> 20) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx01x11x100111 - st1d. */ - return 1789; + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000001101xxxxxxxxxxxxx + frintp. */ + return 1422; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010001101xxxxxxxxxxxxx + ucvtf. */ + return 1903; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0001001101xxxxxxxxxxxxx + fcvt. */ + return 1358; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x1001001101xxxxxxxxxxxxx + fcvt. */ + return 1360; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011001101xxxxxxxxxxxxx + fcvtzu. */ + return 1374; + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x00x0101101xxxxxxxxxxxxx + ucvtf. */ + return 1902; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1010x0101101xxxxxxxxxxxxx + ucvtf. */ + return 1901; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1110x0101101xxxxxxxxxxxxx + ucvtf. */ + return 1905; + } + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001101101xxxxxxxxxxxxx + fsqrt. */ + return 1428; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1x0011101101xxxxxxxxxxxxx + fcvtzu. */ + return 1373; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x101011101101xxxxxxxxxxxxx + fcvtzu. */ + return 1371; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x111011101101xxxxxxxxxxxxx + fcvtzu. */ + return 1375; + } + } + } + } + } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11011x100111 - st2d. */ - return 1819; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000011101xxxxxxxxxxxxx + frintz. */ + return 1424; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx010011101xxxxxxxxxxxxx + ucvtf. */ + return 1900; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx001011101xxxxxxxxxxxxx + fcvt. */ + return 1362; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx011011101xxxxxxxxxxxxx + fcvtzu. */ + return 1370; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx111xxxx11111x100111 - st4d. */ - return 1835; - } - } - } - } - } - } - } - } - } - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxxxx101000 - b. */ - return 630; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxxxx101001 - bl. */ - return 631; - } - } - else - { - if (((word >> 24) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - if (((word >> 25) & 0x1) == 0) - { - if (((word >> 31) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxxxxxxxxxxxx00101010 - b.c. */ - return 651; - } - else - { - if (((word >> 0) & 0x1) == 0) - { - if (((word >> 1) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 00xx0xxxxxxxxxxxxxxxx0xx00101011 - hlt. */ - return 742; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 00xx0xxxxxxxxxxxxxxxx1xx00101011 - brk. */ - return 741; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01xx0xxxxxxxxxxxxxxxx0xx00101011 - hvc. */ - return 739; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01xx0xxxxxxxxxxxxxxxx1xx00101011 - dcps2. */ - return 744; - } - } - } - else - { - if (((word >> 1) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 10xx0xxxxxxxxxxxxxxxx0xx00101011 - svc. */ - return 738; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 10xx0xxxxxxxxxxxxxxxx1xx00101011 - dcps1. */ - return 743; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11xx0xxxxxxxxxxxxxxxx0xx00101011 - smc. */ - return 740; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11xx0xxxxxxxxxxxxxxxx1xx00101011 - dcps3. */ - return 745; - } - } - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxxxxxxxxx0000110101x - br. */ - return 632; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxxxxxxxxx0010110101x - eret. */ - return 635; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxxxxxxxxx01x0110101x - ret. */ - return 634; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxxxxxxxxx1x00110101x - blr. */ - return 633; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxxxxxxxxxxxxx1x10110101x - drps. */ - return 636; - } - } - } - } - else - { - if (((word >> 10) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx0xxxxxxxxxx0000x10101x - braaz. */ - return 641; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx000111101xxxxxxxxxxxxx + frinti. */ + return 1419; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x10x010111101xxxxxxxxxxxxx + ucvtf. */ + return 1904; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x11x010111101xxxxxxxxxxxxx + ucvtf. */ + return 1906; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x10x0x1111101xxxxxxxxxxxxx + fcvtzu. */ + return 1372; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x11x0x1111101xxxxxxxxxxxxx + fcvtzu. */ + return 1376; + } + } + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx0xxxxxxxxxx0010x10101x - eretaa. */ - return 647; + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1000xxxxx101xxxxxxxxxxxxx + st1w. */ + return 1838; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1100xxxxx101xxxxxxxxxxxxx + st1d. */ + return 1817; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1010xxxxx101xxxxxxxxxxxxx + st1w. */ + return 1845; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1110xxxxx101xxxxxxxxxxxxx + st1d. */ + return 1821; + } + } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx0xxxxxxxxxx01x0x10101x - retaa. */ - return 645; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx0xxxxxxxxxx1xx0x10101x - blraaz. */ - return 643; - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxx1xxxxx1xxxxxxxxxx0000x10101x - brabz. */ - return 642; + 011001x1xx0xxxxx111xxxxxxxxxxxxx + facgt. */ + return 1335; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx1xxxxxxxxxx0010x10101x - eretab. */ - return 648; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx1xxxxxxxxxx01x0x10101x - retab. */ - return 646; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx1xxxxxxxxxx1xx0x10101x - blrabz. */ - return 644; - } - } - } - } - else - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 25) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx0xx1010101x - msr. */ - return 1157; - } - else - { - if (((word >> 10) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0xxxxxxxxxx0xx1110101x - braa. */ - return 637; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx0xx1110101x - brab. */ - return 638; - } - } - } - else - { - if (((word >> 25) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx1xx1010101x - sysl. */ - return 1182; - } - else - { - if (((word >> 10) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0xxxxxxxxxx1xx1110101x - blraa. */ - return 639; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxx1xx1110101x - blrab. */ - return 640; - } - } - } - } - } - } - else - { - if (((word >> 24) & 0x1) == 0) - { - if (((word >> 25) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx001011xx - cbz. */ - return 649; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx011011xx - tbz. */ - return 1192; - } - } - else - { - if (((word >> 25) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx101011xx - cbnz. */ - return 650; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx111011xx - tbnz. */ - return 1193; - } - } - } - } - } - else - { - if (((word >> 25) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 24) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx00001100xx - st4. */ - return 434; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx00001101xx - stnp. */ - return 943; + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1xx00xxxx111xxxxxxxxxxxxx + st1w. */ + return 1846; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x10001xxxx111xxxxxxxxxxxxx + stnt1w. */ + return 1880; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x11001xxxx111xxxxxxxxxxxxx + stnt1d. */ + return 1876; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x10101xxxx111xxxxxxxxxxxxx + st3w. */ + return 1864; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x11101xxxx111xxxxxxxxxxxxx + st3d. */ + return 1860; + } + } + } + } + } + } } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx000101100xx - st1. */ - return 450; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx100101100xx - st2. */ - return 452; - } - } - else + if (((word >> 14) & 0x1) == 0) { - if (((word >> 21) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx000101100xx - st3. */ - return 451; + 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 + 001001x1xx10000010xxxxxxxxxxxxxx + cntp. */ + return 1304; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10100010x000xxxxxxxxxx + sqincp. */ + return 1795; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10100010x100xxxxxxxxxx + wrffr. */ + return 1968; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10100010xx10xxxxxxxxxx + sqincp. */ + return 1797; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10100010xxx1xxxxxxxxxx + sqincp. */ + return 1796; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x10010x00xxxxxxxxxxx + incp. */ + return 1442; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x10010x10xxxxxxxxxxx + setffr. */ + return 1762; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x10010xx1xxxxxxxxxxx + incp. */ + return 1443; + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx1010xx00xxxxxxxxxx + sqdecp. */ + return 1781; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx1010xx10xxxxxxxxxx + sqdecp. */ + return 1783; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx1010xxx1xxxxxxxxxx + sqdecp. */ + return 1782; + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x00110xx00xxxxxxxxxx + uqincp. */ + return 1943; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x10110xx00xxxxxxxxxx + decp. */ + return 1317; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx1110xx00xxxxxxxxxx + uqdecp. */ + return 1929; + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x00110xx10xxxxxxxxxx + uqincp. */ + return 1944; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10x10110xx10xxxxxxxxxx + decp. */ + return 1318; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx1110xx10xxxxxxxxxx + uqdecp. */ + return 1930; + } + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx0110xxx1xxxxxxxxxx + uqincp. */ + return 1945; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10xx1110xxx1xxxxxxxxxx + uqdecp. */ + return 1931; + } + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10010xxxx10xxxxxxxxxxxxxx + ld1sh. */ + return 1535; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11010xxxx10xxxxxxxxxxxxxx + ld1sb. */ + return 1522; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x10110xxxx10xxxxxxxxxxxxxx + ld1w. */ + return 1554; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x11110xxxx10xxxxxxxxxxxxxx + ld1d. */ + return 1474; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx100101100xx - st4. */ - return 453; + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x10011xxxx10xxxxxxxxxxxxxx + ldnf1sh. */ + return 1652; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x11011xxxx10xxxxxxxxxxxxxx + ldnf1sb. */ + return 1649; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x10111xxxx10xxxxxxxxxxxxxx + ldnf1w. */ + return 1655; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01001x11111xxxx10xxxxxxxxxxxxxx + ldnf1d. */ + return 1644; + } + } } } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx00101101xx - stp. */ - return 947; - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 24) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx001001100xx - st4. */ - return 442; - } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx001101100xx - st1. */ - return 462; + 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 + 001001x1xx10000011xxxxxxxxxxxxxx + add. */ + return 1231; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx11000011xxxxxxxxxxxxxx + mul. */ + return 1684; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10100011xxxxxxxxxxxxxx + smax. */ + return 1763; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx11100011xxxxxxxxxxxxxx + dup. */ + return 1323; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xx10011xxxxxxxxxxxxxx + sqadd. */ + return 1772; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xx01011xxxxxxxxxxxxxx + smin. */ + return 1766; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xx11011xxxxxxxxxxxxxx + sqsub. */ + return 1802; + } + } + } + else + { + if (((word >> 17) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1x000111xxxxxxxxxxxxxx + sub. */ + return 1884; + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx10100111xxxxxxxxxxxxxx + umax. */ + return 1912; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx11100111xxxxxxxxxxxxxx + fdup. */ + return 1379; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xx10111xxxxxxxxxxxxxx + uqadd. */ + return 1920; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1x001111xxxxxxxxxxxxxx + subr. */ + return 1886; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1x101111xxxxxxxxxxxxxx + umin. */ + return 1915; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 001001x1xx1xx11111xxxxxxxxxxxxxx + uqsub. */ + return 1950; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx001101100xx - st3. */ - return 463; + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1001xxxxx110xxxxxxxxxxxxx + ld2w. */ + return 1562; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1101xxxxx110xxxxxxxxxxxxx + ld2d. */ + return 1558; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1011xxxxx110xxxxxxxxxxxxx + ld4w. */ + return 1578; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1111xxxxx110xxxxxxxxxxxxx + ld4d. */ + return 1574; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1001xxxxx111xxxxxxxxxxxxx + ld2w. */ + return 1563; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1101xxxxx111xxxxxxxxxxxxx + ld2d. */ + return 1559; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1011xxxxx111xxxxxxxxxxxxx + ld4w. */ + return 1579; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 101001x1111xxxxx111xxxxxxxxxxxxx + ld4d. */ + return 1575; + } + } + } } } } @@ -11637,360 +11576,300 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 13) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx101x01100xx - st2. */ - return 464; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx101x01100xx - st4. */ - return 465; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx01x01101xx - stp. */ - return 952; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 24) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx10001100xx - ld4. */ - return 438; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx10001101xx - ldnp. */ - return 944; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx010101100xx - ld1. */ - return 454; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx110101100xx - ld2. */ - return 458; - } - } - else - { - if (((word >> 21) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx010101100xx - ld3. */ - return 455; + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx100xxxxxxxxxxxxx + fmad. */ + return 1381; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx110xxxxxxxxxxxxx + fnmad. */ + return 1411; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx110101100xx - ld4. */ - return 459; + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1001xxxxx1x0xxxxxxxxxxxxx + st1w. */ + return 1839; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1101xxxxx1x0xxxxxxxxxxxxx + st1d. */ + return 1818; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1x11xxxxx1x0xxxxxxxxxxxxx + st1w. */ + return 1844; + } } } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx10101101xx - ldp. */ - return 948; - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) - { - if (((word >> 24) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxx011001100xx - ld4. */ - return 446; - } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx011101100xx - ld1. */ - return 466; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx101xxxxxxxxxxxxx + fmsb. */ + return 1402; + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1001xxxxx101xxxxxxxxxxxxx + st1w. */ + return 1840; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1101xxxxx101xxxxxxxxxxxxx + st1d. */ + return 1819; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x1x11xxxxx101xxxxxxxxxxxxx + st1w. */ + return 1847; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx011101100xx - ld3. */ - return 467; - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx0xxxxxxx111x01100xx - ld2. */ - return 470; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxx1xxxxxxx111x01100xx - ld4. */ - return 471; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx11x01101xx - ldp. */ - return 953; - } - } - } - } - else - { - if (((word >> 24) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxxxx001110xx - ldr. */ - return 956; - } - else - { - if (((word >> 10) & 0x1) == 0) - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxxx0x001111xx - stur. */ - return 899; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx00xxxxxxxxxx1x001111xx - ldur. */ - return 900; - } - } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxxx0x001111xx - str. */ - return 878; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx01xxxxxxxxxx1x001111xx - ldr. */ - return 879; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 011001x1xx1xxxxx111xxxxxxxxxxxxx + fnmsb. */ + return 1414; + } + else + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x10x10xxxx111xxxxxxxxxxxxx + st1w. */ + return 1848; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x11x10xxxx111xxxxxxxxxxxxx + st1d. */ + return 1822; + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x10011xxxx111xxxxxxxxxxxxx + st2w. */ + return 1856; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x11011xxxx111xxxxxxxxxxxxx + st2d. */ + return 1852; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x10111xxxx111xxxxxxxxxxxxx + st4w. */ + return 1872; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 111001x11111xxxx111xxxxxxxxxxxxx + st4d. */ + return 1868; + } + } + } + } + } } } } - else - { - if (((word >> 22) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxxx0x001111xx - str. */ - return 855; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1xxxxxxxxxxx1x001111xx - ldr. */ - return 856; - } - } } } - else + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { - if (((word >> 22) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx0x10111xxx - str. */ - return 866; + 000101xxxxxxxxxxxxxxxxxxxxxxxxxx + b. */ + return 630; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxxxxxxxx1x10111xxx - ldr. */ - return 867; + 100101xxxxxxxxxxxxxxxxxxxxxxxxxx + bl. */ + return 631; } } - } - } - else - { - if (((word >> 24) & 0x1) == 0) - { - if (((word >> 21) & 0x1) == 0) + else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 25) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000xxxxxxxx0xx011100xx - tbl. */ - return 414; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001xxxxxxxx0xx011100xx - tbx. */ - return 415; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01010100xxxxxxxxxxxxxxxxxxx0xxxx + b.c. */ + return 651; } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 0) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 1) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010x0xxxxxx0xx011100xx - trn1. */ - return 257; + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11010100xx0xxxxxxxxxxxxxxxx0xx00 + hlt. */ + return 742; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11010100xx1xxxxxxxxxxxxxxxx0xx00 + brk. */ + return 741; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010x1xxxxxx0xx011100xx - trn2. */ - return 260; + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11010100xx0xxxxxxxxxxxxxxxx0xx10 + hvc. */ + return 739; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11010100xx1xxxxxxxxxxxxxxxx0xx10 + dcps2. */ + return 744; + } } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 1) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01100xxxxxx0xx011100xx - uzp1. */ - return 256; + 11010100xx0xxxxxxxxxxxxxxxx0xx01 + svc. */ + return 738; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01101xxxxxx0xx011100xx - uzp2. */ - return 259; + 11010100xx1xxxxxxxxxxxxxxxx0xx01 + dcps1. */ + return 743; } } else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01110xxxxxx0xx011100xx - zip1. */ - return 258; + 11010100xx0xxxxxxxxxxxxxxxx0xx11 + smc. */ + return 740; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx01111xxxxxx0xx011100xx - zip2. */ - return 261; + 11010100xx1xxxxxxxxxxxxxxxx0xx11 + dcps3. */ + return 745; } } } @@ -11998,1131 +11877,727 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0xxxxxxxxxx0xx011101xx - ext. */ - return 130; - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10xxx0xxxxx00x011100xx - dup. */ - return 147; + x1010110000xxxxxxxxxxxxxxxx0xxxx + br. */ + return 632; } else { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1100x0xxxxx00x011100xx - dup. */ - return 148; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1101x0xxxxx00x011100xx - smov. */ - return 149; - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1110x0xxxxx00x011100xx - ins. */ - return 152; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1111x0xxxxx00x011100xx - umov. */ - return 150; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010110100xxxxxxxxxxxxxxxx0xxxx + eret. */ + return 635; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010110x10xxxxxxxxxxxxxxxx0xxxx + ret. */ + return 634; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101100x1xxxxxxxxxxxxxxxx0xxxx + blr. */ + return 633; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101101x1xxxxxxxxxxxxxxxx0xxxx + drps. */ + return 636; + } + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0000xxxxxxxxxx0xxxxx1xxxx + braaz. */ + return 641; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0100xxxxxxxxxx0xxxxx1xxxx + eretaa. */ + return 647; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xxxx0xxxxx00x011101xx - ins. */ - return 154; + x10101x0x10xxxxxxxxxx0xxxxx1xxxx + retaa. */ + return 645; } } else { - if (((word >> 11) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0xx1xxxxxxxxxx0xxxxx1xxxx + blraaz. */ + return 643; + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1000x0xxxxx010011100xx - fmaxnm. */ - return 286; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1000x0xxxxx010011101xx - fmaxnmp. */ - return 337; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1000x0xxxxx011011100xx - fminnm. */ - return 302; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1000x0xxxxx011011101xx - fminnmp. */ - return 353; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1001x0xxxxx010011100xx - fcmeq. */ - return 294; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1001x0xxxxx010011101xx - fcmge. */ - return 343; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1001x0xxxxx01101110xxx - fcmgt. */ - return 357; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0000xxxxxxxxxx1xxxxx1xxxx + brabz. */ + return 642; } else { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010x0xxxxx010011100xx - fadd. */ - return 290; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010x0xxxxx010011101xx - faddp. */ - return 339; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010x0xxxxx011011100xx - fsub. */ - return 306; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010x0xxxxx011011101xx - fabd. */ - return 355; - } - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1011x0xxxxx010011100xx - fmax. */ - return 296; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1011x0xxxxx010011101xx - fmaxp. */ - return 347; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1011x0xxxxx011011100xx - fmin. */ - return 308; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1011x0xxxxx011011101xx - fminp. */ - return 361; - } - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0100xxxxxxxxxx1xxxxx1xxxx + eretab. */ + return 648; } } else { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1100x0xxxxx01001110xxx - fmla. */ - return 288; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1100x0xxxxx01101110xxx - fmls. */ - return 304; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1101x0xxxxx01001110xxx - facge. */ - return 345; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1101x0xxxxx01101110xxx - facgt. */ - return 359; - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1110x0xxxxx01x011100xx - fmulx. */ - return 292; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1110x0xxxxx01x011101xx - fmul. */ - return 341; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1111x0xxxxx010011100xx - frecps. */ - return 298; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1111x0xxxxx010011101xx - fdiv. */ - return 349; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1111x0xxxxx01101110xxx - frsqrts. */ - return 310; - } - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0x10xxxxxxxxxx1xxxxx1xxxx + retab. */ + return 646; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10101x0xx1xxxxxxxxxx1xxxxx1xxxx + blrabz. */ + return 644; + } + } + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 25) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010101xx0xxxxxxxxxxxxxxxxxxxxx + msr. */ + return 1157; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010111xx0xxxxxxxxxx0xxxxxxxxxx + braa. */ + return 637; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010111xx0xxxxxxxxxx1xxxxxxxxxx + brab. */ + return 638; + } + } + } + else + { + if (((word >> 25) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010101xx1xxxxxxxxxxxxxxxxxxxxx + sysl. */ + return 1182; + } + else + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010111xx1xxxxxxxxxx0xxxxxxxxxx + blraa. */ + return 639; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1010111xx1xxxxxxxxxx1xxxxxxxxxx + blrab. */ + return 640; + } + } + } + } + } + } + else + { + if (((word >> 24) & 0x1) == 0) + { + if (((word >> 25) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx110100xxxxxxxxxxxxxxxxxxxxxxxx + cbz. */ + return 649; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx110110xxxxxxxxxxxxxxxxxxxxxxxx + tbz. */ + return 1192; + } + } + else + { + if (((word >> 25) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx110101xxxxxxxxxxxxxxxxxxxxxxxx + cbnz. */ + return 650; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx110111xxxxxxxxxxxxxxxxxxxxxxxx + tbnz. */ + return 1193; + } + } + } + } + } + else + { + if (((word >> 25) & 0x1) == 0) + { + if (((word >> 28) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 24) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00110000xxxxxxxxxxxxxxxxxxxxxx + st4. */ + return 434; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx10110000xxxxxxxxxxxxxxxxxxxxxx + stnp. */ + return 943; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101000xxxxxxx0xxxxxxxxxxxxx + st1. */ + return 450; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101001xxxxxxx0xxxxxxxxxxxxx + st2. */ + return 452; + } + } + else + { + if (((word >> 21) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101000xxxxxxx1xxxxxxxxxxxxx + st3. */ + return 451; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101001xxxxxxx1xxxxxxxxxxxxx + st4. */ + return 453; } } } else { - if (((word >> 13) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx10110100xxxxxxxxxxxxxxxxxxxxxx + stp. */ + return 947; + } + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 24) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001100100xxxxxxxxxxxxxxxxxxxxx + st4. */ + return 442; + } + else + { + if (((word >> 13) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10x001xxxxx0xx01110xxx - sqrdmlah. */ - return 364; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx11x001xxxxx0xx01110xxx - sqrdmlsh. */ - return 365; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101100xxxxxxx0xxxxxxxxxxxxx + st1. */ + return 462; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xx011xxxxx0xx01110xxx - fcmla. */ - return 366; + xx001101100xxxxxxx1xxxxxxxxxxxxx + st3. */ + return 463; } } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00110x101xxxxxxx0xxxxxxxxxxxxx + st2. */ + return 464; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1xx1x1xxxxx0xx01110xxx - fcadd. */ - return 367; + xx00110x101xxxxxxx1xxxxxxxxxxxxx + st4. */ + return 465; } } } - } - else - { - if (((word >> 29) & 0x1) == 0) + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx10110x10xxxxxxxxxxxxxxxxxxxxxx + stp. */ + return 952; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 24) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00110001xxxxxxxxxxxxxxxxxxxxxx + ld4. */ + return 438; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx10110001xxxxxxxxxxxxxxxxxxxxxx + ldnp. */ + return 944; + } + } + else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxx00xxx0xx0111100x - fcvtzs. */ - return 752; + xx001101010xxxxxxx0xxxxxxxxxxxxx + ld1. */ + return 454; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxx01xxx0xx0111100x - scvtf. */ - return 748; + xx001101011xxxxxxx0xxxxxxxxxxxxx + ld2. */ + return 458; } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 21) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxx10xxx0xx0111100x - fcvtzu. */ - return 754; + xx001101010xxxxxxx1xxxxxxxxxxxxx + ld3. */ + return 455; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxxx11xxx0xx0111100x - ucvtf. */ - return 750; + xx001101011xxxxxxx1xxxxxxxxxxxxx + ld4. */ + return 459; } } } else { - if (((word >> 10) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx10110101xxxxxxxxxxxxxxxxxxxxxx + ldp. */ + return 948; + } + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 24) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x000xxxxxx0xx0111101x - sha1c. */ - return 672; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x001xxxxxx0xx0111101x - sha256h. */ - return 676; - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x010xxxxxx0xx0111101x - sha1m. */ - return 674; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x011xxxxxx0xx0111101x - sha256su1. */ - return 678; - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x100xxxxxx0xx0111101x - sha1p. */ - return 673; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x101xxxxxx0xx0111101x - sha256h2. */ - return 677; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x11xxxxxxx0xx0111101x - sha1su0. */ - return 675; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001100110xxxxxxxxxxxxxxxxxxxxx + ld4. */ + return 446; } else { - if (((word >> 11) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10x0xxxxxxx0xx0111101x - dup. */ - return 529; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10x1xxxxxxx0xx0111101x - fcmeq. */ - return 550; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101110xxxxxxx0xxxxxxxxxxxxx + ld1. */ + return 466; } else { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx11x0xxxxxxx0xx0111101x - fmulx. */ - return 548; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx11x1xxxxxxx0x00111101x - frecps. */ - return 552; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx11x1xxxxxxx0x10111101x - frsqrts. */ - return 554; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001101110xxxxxxx1xxxxxxxxxxxxx + ld3. */ + return 467; } } } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00110x111xxxxxxx0xxxxxxxxxxxxx + ld2. */ + return 470; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx00110x111xxxxxxx1xxxxxxxxxxxxx + ld4. */ + return 471; + } + } } else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx10110x11xxxxxxxxxxxxxxxxxxxxxx + ldp. */ + return 953; + } + } + } + } + else + { + if (((word >> 24) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011100xxxxxxxxxxxxxxxxxxxxxxxx + ldr. */ + return 956; + } + else + { + if (((word >> 10) & 0x1) == 0) { if (((word >> 11) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx000xxxxxxx0xx011111xx - sqrdmlah. */ - return 582; - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx001xxxxxxx0x0011111xx - fcmge. */ - return 567; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx001xxxxxxx0x1011111xx - fcmgt. */ - return 573; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111100x0xxxxxxxxxx00xxxxxxxxxx + stur. */ + return 899; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx01xxxxxxxx0xx011111xx - fabd. */ - return 571; + xx111100x1xxxxxxxxxx00xxxxxxxxxx + ldur. */ + return 900; } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxx1x0xxxxxxx0xx011111xx - sqrdmlsh. */ - return 583; + xx111100x0xxxxxxxxxx10xxxxxxxxxx + str. */ + return 878; } else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x1xxxxxxx0x0011111xx - facge. */ - return 569; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxxx1x1xxxxxxx0x1011111xx - facgt. */ - return 575; - } + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111100x1xxxxxxxxxx10xxxxxxxxxx + ldr. */ + return 879; } } } + else + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111100x0xxxxxxxxxxx1xxxxxxxxxx + str. */ + return 855; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111100x1xxxxxxxxxxx1xxxxxxxxxx + ldr. */ + return 856; + } + } } } else { - if (((word >> 10) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx1xx0111000x - saddl. */ - return 42; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx1xx0111001x - saddl2. */ - return 43; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx1xx0111010x - uaddl. */ - return 74; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000xxxxx1xx0111011x - uaddl2. */ - return 75; - } - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000000001xx01111xxx - fcvtns. */ - return 756; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000000011xx01111xxx - fcvtms. */ - return 776; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000000101xx01111xxx - fcvtps. */ - return 772; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000000111xx01111xxx - fcvtzs. */ - return 780; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000001xx1xx01111xxx - fcvtas. */ - return 764; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000010xx1xx01111xxx - scvtf. */ - return 760; - } - else - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0000000110x1xx01111xxx - fmov. */ - return 768; - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000011101xx01111xxx - fmov. */ - return 784; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000011111xx01111xxx - fjcvtzs. */ - return 786; - } - } - } - } - } - else - { - if (((word >> 17) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000100001xx01111xxx - fcvtnu. */ - return 758; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000100011xx01111xxx - fcvtmu. */ - return 778; - } - } - else - { - if (((word >> 20) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000100101xx01111xxx - fcvtpu. */ - return 774; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000100111xx01111xxx - fcvtzu. */ - return 782; - } - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000101xx1xx01111xxx - fcvtau. */ - return 766; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000000110xx1xx01111xxx - ucvtf. */ - return 762; - } - else - { - if (((word >> 19) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0000001110x1xx01111xxx - fmov. */ - return 770; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0000001111x1xx01111xxx - fmov. */ - return 785; - } - } - } - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx1xx0111x00x - smlal. */ - return 58; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx1xx0111x01x - smlal2. */ - return 59; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx1xx0111x10x - umlal. */ - return 90; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000001xxxxx1xx0111x11x - umlal2. */ - return 91; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11101x0xxxxxxxxxxxxxxxxxxxxxx + str. */ + return 866; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11101x1xxxxxxxxxxxxxxxxxxxxxx + ldr. */ + return 867; + } + } + } + } + else + { + if (((word >> 24) & 0x1) == 0) + { + if (((word >> 21) & 0x1) == 0) + { + if (((word >> 28) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxxxx000xxxxxxxxxx + tbl. */ + return 414; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxxxx100xxxxxxxxxx + tbx. */ + return 415; } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx1xx0111000x - addhn. */ - return 50; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx1xx0111001x - addhn2. */ - return 51; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx1xx0111010x - raddhn. */ - return 82; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010xxxxx1xx0111011x - raddhn2. */ - return 83; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxx0x010xxxxxxxxxx + trn1. */ + return 257; } else { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx0111000x - smull. */ - return 66; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx0111001x - smull2. */ - return 67; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx0111010x - umull. */ - return 94; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011xxxxx1xx0111011x - umull2. */ - return 95; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxx1x010xxxxxxxxxx + trn2. */ + return 260; } } else { - if (((word >> 17) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010000xx1xx01111xxx - fmov. */ - return 799; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010001xx1xx01111xxx - frintn. */ - return 808; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010100xx1xx01111xxx - fneg. */ - return 803; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010101xx1xx01111xxx - frintm. */ - return 812; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxx00110xxxxxxxxxx + uzp1. */ + return 256; } else { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011000xx1xx01111xxx - fabs. */ - return 801; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011001xx1xx01111xxx - frintp. */ - return 810; - } - } - else - { - if (((word >> 18) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011100xx1xx01111xxx - fsqrt. */ - return 805; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011101xx1xx01111xxx - frintz. */ - return 814; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxx10110xxxxxxxxxx + uzp2. */ + return 259; } } else { - if (((word >> 18) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00001xx10xx1xx01111xxx - fcvt. */ - return 807; + 0x001110xx0xxxxxx01110xxxxxxxxxx + zip1. */ + return 258; } else { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 16) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010011xx1xx01111xxx - frinta. */ - return 816; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000010111xx1xx01111xxx - frintx. */ - return 818; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000011x11xx1xx01111xxx - frinti. */ - return 820; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxx11110xxxxxxxxxx + zip2. */ + return 261; } } } @@ -13130,216 +12605,194 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000100xxxxx1xx0111000x - ssubl. */ - return 46; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000100xxxxx1xx0111001x - ssubl2. */ - return 47; - } - } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000100xxxxx1xx0111010x - usubl. */ - return 78; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000100xxxxx1xx0111011x - usubl2. */ - return 79; - } - } - } - else + if (((word >> 13) & 0x1) == 0) { - if (((word >> 3) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx00xxxxx000100xxxxx1xx01111xxx - fcmp. */ - return 791; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxx01xxxxx000100xxxxx1xx01111xxx - fcmpe. */ - return 793; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110x00xxxxxxx0001xxxxxxxxxx + dup. */ + return 147; } else { - if (((word >> 4) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxx10xxxxx000100xxxxx1xx01111xxx - fcmp. */ - return 795; + 0x001110010xxxxxxx0001xxxxxxxxxx + fmaxnm. */ + return 286; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxx11xxxxx000100xxxxx1xx01111xxx - fcmpe. */ - return 797; + 0x001110110xxxxxxx0001xxxxxxxxxx + fminnm. */ + return 302; } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxxx1001xxxxxxxxxx + fcmeq. */ + return 294; + } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000101xxxxx1xx0111x00x - smlsl. */ - return 62; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011100x0xxxxx0x0101xxxxxxxxxx + fadd. */ + return 290; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011101x0xxxxx0x0101xxxxxxxxxx + fsub. */ + return 306; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000101xxxxx1xx0111x01x - smlsl2. */ - return 63; + 0x001110xx0xxxxx1x0101xxxxxxxxxx + sdot. */ + return 1987; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000101xxxxx1xx0111x10x - umlsl. */ - return 92; + 0x0011100x0xxxxxxx1101xxxxxxxxxx + fmax. */ + return 296; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000101xxxxx1xx0111x11x - umlsl2. */ - return 93; + 0x0011101x0xxxxxxx1101xxxxxxxxxx + fmin. */ + return 308; } } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000110xxxxx1xx0111x00x - subhn. */ - return 54; + 0x001110x00xxxxxxx0011xxxxxxxxxx + dup. */ + return 148; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000110xxxxx1xx0111x01x - subhn2. */ - return 55; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110010xxxxxxx0011xxxxxxxxxx + fmla. */ + return 288; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110110xxxxxxx0011xxxxxxxxxx + fmls. */ + return 304; + } } } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000110xxxxx1xx0111x10x - rsubhn. */ - return 86; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000110xxxxx1xx0111x11x - rsubhn2. */ - return 87; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx0xxxxxxx1011xxxxxxxxxx + smov. */ + return 149; } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxxx10x0111xx0x - pmull. */ - return 70; + 0x001110x00xxxxxxx0111xxxxxxxxxx + ins. */ + return 152; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxxx10x0111xx1x - pmull2. */ - return 72; + 0x001110x10xxxxxxx0111xxxxxxxxxx + fmulx. */ + return 292; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx000111xxxxx11x0111xx0x - pmull. */ - return 71; + 0x001110x00xxxxxxx1111xxxxxxxxxx + umov. */ + return 150; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx000111xxxxx11x0111xx1x - pmull2. */ - return 73; + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110010xxxxxxx1111xxxxxxxxxx + frecps. */ + return 298; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110110xxxxxxx1111xxxxxxxxxx + frsqrts. */ + return 310; + } } } } @@ -13348,256 +12801,358 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110000xxxxxxxxxxxxxxxxxxxxx + eor3. */ + return 1994; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110100xxxxxxxxxxxxxxxxxxxxx + xar. */ + return 1996; + } + } + else + { + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110x10xxxxx0xxxxxxxxxxxxxxx + sm3ss1. */ + return 1998; + } + else + { + if (((word >> 10) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001000xxxxx1xx0111000x - saddw. */ - return 44; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001000xxxxx1xx0111001x - saddw2. */ - return 45; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110010xxxxx1xxx00xxxxxxxxxx + sm3tt1a. */ + return 1999; } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001000xxxxx1xx0111010x - uaddw. */ - return 76; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001000xxxxx1xx0111011x - uaddw2. */ - return 77; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110110xxxxx1xxx00xxxxxxxxxx + sha512su0. */ + return 1992; } } else { - if (((word >> 30) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110x10xxxxx1xxx10xxxxxxxxxx + sm3tt2a. */ + return 2001; + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001001xxxxx1xx01110x0x - sqdmlal. */ - return 60; + 1x001110010xxxxx1xxx01xxxxxxxxxx + sm3tt1b. */ + return 2000; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001001xxxxx1xx01110x1x - sqdmlal2. */ - return 61; + 1x001110110xxxxx1xxx01xxxxxxxxxx + sm4e. */ + return 2005; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110x10xxxxx1xxx11xxxxxxxxxx + sm3tt2b. */ + return 2002; + } } - else + } + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxxxxxxx0xxxxxxxxxx + ext. */ + return 130; + } + else + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110x00xxxxx0xxxx1xxxxxxxxxx + ins. */ + return 154; + } + else + { + if (((word >> 11) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001010xxxxx1xx0111000x - sabal. */ - return 52; + xx101110010xxxxx0x0001xxxxxxxxxx + fmaxnmp. */ + return 337; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001010xxxxx1xx0111001x - sabal2. */ - return 53; + xx101110110xxxxx0x0001xxxxxxxxxx + fminnmp. */ + return 353; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001010xxxxx1xx0111010x - uabal. */ - return 84; + xx101110010xxxxx0x1001xxxxxxxxxx + fcmge. */ + return 343; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001010xxxxx1xx0111011x - uabal2. */ - return 85; + xx101110110xxxxx0x1001xxxxxxxxxx + fcmgt. */ + return 357; } } } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001011xxxxx1xx01110x0x - sqdmull. */ - return 68; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx001011xxxxx1xx01110x1x - sqdmull2. */ - return 69; - } - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001100xxxxx1xx0111000x - ssubw. */ - return 48; + xx101110010xxxxx0x0101xxxxxxxxxx + faddp. */ + return 339; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001100xxxxx1xx0111001x - ssubw2. */ - return 49; + xx101110110xxxxx0x0101xxxxxxxxxx + fabd. */ + return 355; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001100xxxxx1xx0111010x - usubw. */ - return 80; + xx101110010xxxxx0x1101xxxxxxxxxx + fmaxp. */ + return 347; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001100xxxxx1xx0111011x - usubw2. */ - return 81; + xx101110110xxxxx0x1101xxxxxxxxxx + fminp. */ + return 361; } } } - else + } + else + { + if (((word >> 12) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001101xxxxx1xx01110x0x - sqdmlsl. */ - return 64; + xx101110010xxxxx0xx011xxxxxxxxxx + facge. */ + return 345; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001101xxxxx1xx01110x1x - sqdmlsl2. */ - return 65; + xx101110110xxxxx0xx011xxxxxxxxxx + facgt. */ + return 359; } } - } - else - { - if (((word >> 29) & 0x1) == 0) + else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx1xx0111000x - sabdl. */ - return 56; + xx101110x10xxxxx0x0111xxxxxxxxxx + fmul. */ + return 341; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx1xx0111001x - sabdl2. */ - return 57; + xx101110x10xxxxx0x1111xxxxxxxxxx + fdiv. */ + return 349; } } - else + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx1xx0111010x - uabdl. */ - return 88; + xx101110xx0xxxxx100001xxxxxxxxxx + sqrdmlah. */ + return 364; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00111xxxxxx1xx0111011x - uabdl2. */ - return 89; + xx101110xx0xxxxx100101xxxxxxxxxx + udot. */ + return 1986; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx100x11xxxxxxxxxx + sqrdmlsh. */ + return 365; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx110xx1xxxxxxxxxx + fcmla. */ + return 366; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx0xxxxx1x1xx1xxxxxxxxxx + fcadd. */ + return 367; + } + } + } + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx0xxx00xxxxxxxxxxxxxxxx + fcvtzs. */ + return 752; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx0xxx10xxxxxxxxxxxxxxxx + scvtf. */ + return 748; + } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx001xxxxxxxx1xx01111x0x - fmov. */ - return 848; + x0011110xx0xxx01xxxxxxxxxxxxxxxx + fcvtzu. */ + return 754; } else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx0xxx11xxxxxxxxxxxxxxxx + ucvtf. */ + return 750; + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) { if (((word >> 13) & 0x1) == 0) { @@ -13605,26 +13160,119 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00100xxxxxx1xx01111x1x - sqdmlal. */ - return 416; + x1011110xx0xxxxxx000x0xxxxxxxxxx + sha1c. */ + return 672; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx00101xxxxxx1xx01111x1x - sqdmull. */ - return 418; + x1011110xx0xxxxxx100x0xxxxxxxxxx + sha256h. */ + return 676; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxx010x0xxxxxxxxxx + sha1m. */ + return 674; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxx110x0xxxxxxxxxx + sha256su1. */ + return 678; + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxx001x0xxxxxxxxxx + sha1p. */ + return 673; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxx101x0xxxxxxxxxx + sha256h2. */ + return 677; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0011xxxxxxx1xx01111x1x - sqdmlsl. */ - return 417; + x1011110xx0xxxxxxx11x0xxxxxxxxxx + sha1su0. */ + return 675; + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxxx0x01xxxxxxxxxx + dup. */ + return 529; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxxx1x01xxxxxxxxxx + fcmeq. */ + return 550; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx0xxxxxxx0x11xxxxxxxxxx + fmulx. */ + return 548; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10111100x0xxxxxxx1x11xxxxxxxxxx + frecps. */ + return 552; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10111101x0xxxxxxx1x11xxxxxxxxxx + frsqrts. */ + return 554; + } } } } @@ -13632,1293 +13280,1766 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx0xxxxxxx000xxxxxxxxxxx + sqrdmlah. */ + return 582; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x0xxxxxxx100xxxxxxxxxxx + fcmge. */ + return 567; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x0xxxxxxx100xxxxxxxxxxx + fcmgt. */ + return 573; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx0xxxxxxxx10xxxxxxxxxxx + fabd. */ + return 571; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx0xxxxxxx0x1xxxxxxxxxxx + sqrdmlsh. */ + return 583; + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x0xxxxxxx1x1xxxxxxxxxxx + facge. */ + return 569; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x0xxxxxxx1x1xxxxxxxxxxx + facgt. */ + return 575; + } + } + } + } + } + } + else + { + if (((word >> 28) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010000xxxxx1xx011100xx - rev64. */ - return 156; + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx000000xxxxxxxxxx + saddl. */ + return 42; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx000000xxxxxxxxxx + saddl2. */ + return 43; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx010000xxxxxxxxxx + addhn. */ + return 50; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx010000xxxxxxxxxx + addhn2. */ + return 51; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010000xxxxx1xx011101xx - rev32. */ - return 207; + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx001000xxxxxxxxxx + ssubl. */ + return 46; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx001000xxxxxxxxxx + ssubl2. */ + return 47; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx011000xxxxxxxxxx + subhn. */ + return 54; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx011000xxxxxxxxxx + subhn2. */ + return 55; + } + } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010000xxxxx1xx01111x0x - fmul. */ - return 822; + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx000100xxxxxxxxxx + saddw. */ + return 44; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx000100xxxxxxxxxx + saddw2. */ + return 45; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx010100xxxxxxxxxx + sabal. */ + return 52; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx010100xxxxxxxxxx + sabal2. */ + return 53; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010000xxxxx1xx01111x1x - sha1h. */ - return 669; + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx001100xxxxxxxxxx + ssubw. */ + return 48; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx001100xxxxxxxxxx + ssubw2. */ + return 49; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxxx011100xxxxxxxxxx + sabdl. */ + return 56; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx011100xxxxxxxxxx + sabdl2. */ + return 57; + } + } } } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100010xxxx1xx011100xx - cmgt. */ - return 164; + 0x001110xx1xxxxx000010xxxxxxxxxx + rev64. */ + return 156; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100010xxxx1xx011101xx - cmge. */ - return 213; + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1x0xx0010010xxxxxxxxxx + cls. */ + return 160; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1x1xx0010010xxxxxxxxxx + aese. */ + return 665; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxx1010010xxxxxxxxxx + sqxtn. */ + return 170; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxx1010010xxxxxxxxxx + sqxtn2. */ + return 171; + } + } } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxx0001010xxxxxxxxxx + saddlp. */ + return 158; + } + else + { + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100011xx0x1x0011100xx - frintn. */ - return 176; + 00001110xx1xxxx1001010xxxxxxxxxx + xtn. */ + return 168; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100011xx0x1x0011101xx - frinta. */ - return 224; + 01001110xx1xxxx1001010xxxxxxxxxx + xtn2. */ + return 169; + } + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1x0xx0011010xxxxxxxxxx + sadalp. */ + return 162; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1x1xx0011010xxxxxxxxxx + aesmc. */ + return 667; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxx1011010xxxxxxxxxx + fcvtn. */ + return 172; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxx1011010xxxxxxxxxx + fcvtn2. */ + return 173; } } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx000110xxxxxxxxxx + rev16. */ + return 157; + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1x0xxx010110xxxxxxxxxx + cnt. */ + return 161; + } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100011xx0x1x101110xxx - frintp. */ - return 196; + 0x001110xx1x1xxx010110xxxxxxxxxx + aesd. */ + return 666; + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx10xxxx001110xxxxxxxxxx + suqadd. */ + return 159; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx11xxxx001110xxxxxxxxxx + saddlv. */ + return 27; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100011xx1x1x0011100xx - frintn. */ - return 177; + 0x001110xx1x0xx0011110xxxxxxxxxx + sqabs. */ + return 163; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100011xx1x1x0011101xx - frinta. */ - return 225; + 0x001110xx1x1xx0011110xxxxxxxxxx + aesimc. */ + return 668; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100011xx1x1x101110xxx - frintp. */ - return 197; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001110xx1xxxx1011110xxxxxxxxxx + fcvtl. */ + return 174; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxx1011110xxxxxxxxxx + fcvtl2. */ + return 175; + } } } } } - else + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010001xxxxx1xx0111100x - fnmul. */ - return 838; + 0x001110xx1xxxxx000001xxxxxxxxxx + shadd. */ + return 262; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010001xxxxx1xx0111101x - cmgt. */ - return 476; + 0x001110xx1xxxxx010001xxxxxxxxxx + sshl. */ + return 269; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010001xxxxx1xx011111xx - cmge. */ - return 505; + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx001001xxxxxxxxxx + shsub. */ + return 265; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx011001xxxxxxxxxx + smax. */ + return 273; + } } } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) + else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100100xx0x1xx011100xx - cls. */ - return 160; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100100xx0x1xx011101xx - clz. */ - return 210; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx000101xxxxxxxxxx + srhadd. */ + return 264; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100100xx1x1xx01110xxx - aese. */ - return 665; + 0x001110xx1xxxxx010101xxxxxxxxxx + srshl. */ + return 271; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100101xxxx1xx0111000x - sqxtn. */ - return 170; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100101xxxx1xx0111001x - sqxtn2. */ - return 171; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx001101xxxxxxxxxx + cmgt. */ + return 267; } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100101xxxx1xx0111010x - uqxtn. */ - return 220; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100101xxxx1xx0111011x - uqxtn2. */ - return 221; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx011101xxxxxxxxxx + sabd. */ + return 275; } } } - else + } + else + { + if (((word >> 12) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010010xxxxx1xx0111100x - fmax. */ - return 830; + 0x001110xx1xxxxx000011xxxxxxxxxx + sqadd. */ + return 263; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010010xxxxx1xx0111101x - sqxtn. */ - return 480; + 0x001110xx1xxxxx010011xxxxxxxxxx + sqshl. */ + return 270; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010010xxxxx1xx011111xx - uqxtn. */ - return 509; + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx001011xxxxxxxxxx + sqsub. */ + return 266; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx011011xxxxxxxxxx + smin. */ + return 274; + } } } - } - else - { - if (((word >> 16) & 0x1) == 0) + else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 22) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100110xx001xx011100xx - fcmgt. */ - return 188; + 0x001110001xxxxx000111xxxxxxxxxx + and. */ + return 299; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100110xx001xx011101xx - fcmge. */ - return 239; + 0x001110101xxxxx000111xxxxxxxxxx + orr. */ + return 311; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100110xx001xx011110xx - fcmgt. */ - return 489; + 0x001110011xxxxx000111xxxxxxxxxx + bic. */ + return 300; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0100110xx001xx011111xx - fcmge. */ - return 519; + 0x001110111xxxxx000111xxxxxxxxxx + orn. */ + return 313; } } } else { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x0011100xx - fmaxnmv. */ - return 35; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x0011101xx - fmaxnmv. */ - return 34; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x0011110xx - fmaxnmp. */ - return 533; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x0011111xx - fmaxnmp. */ - return 532; - } - } - } - else - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x1011100xx - fminnmv. */ - return 39; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x1011101xx - fminnmv. */ - return 38; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x1011110xx - fminnmp. */ - return 539; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx011x1011111xx - fminnmp. */ - return 538; - } - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx010111xxxxxxxxxx + sqrshl. */ + return 272; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx001111xxxxxxxxxx + cmge. */ + return 268; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx011111xxxxxxxxxx + saba. */ + return 276; + } + } + } + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110xx1xxxxx0xxxxxxxxxxxxxxx + bcax. */ + return 1997; + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx000000xxxxxxxxxx + uaddl. */ + return 74; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx000000xxxxxxxxxx + uaddl2. */ + return 75; } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx1x1xx011100xx - fcmgt. */ - return 189; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx1x1xx011101xx - fcmge. */ - return 240; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx010000xxxxxxxxxx + raddhn. */ + return 82; } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx1x1xx011110xx - fcmgt. */ - return 490; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100110xx1x1xx011111xx - fcmge. */ - return 520; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx010000xxxxxxxxxx + raddhn2. */ + return 83; } } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx0x1x0011100xx - fcvtas. */ - return 184; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx0x1x0011101xx - fcvtau. */ - return 232; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx0x1x0011110xx - fcvtas. */ - return 485; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx0x1x0011111xx - fcvtau. */ - return 515; - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx001000xxxxxxxxxx + usubl. */ + return 78; } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx0x1x10111x0xx - urecpe. */ - return 204; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx0x1x10111x1xx - ursqrte. */ - return 251; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx001000xxxxxxxxxx + usubl2. */ + return 79; } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx1x1xx011100xx - fcvtas. */ - return 185; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx1x1xx011101xx - fcvtau. */ - return 233; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx011000xxxxxxxxxx + rsubhn. */ + return 86; } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx1x1xx011110xx - fcvtas. */ - return 486; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0100111xx1x1xx011111xx - fcvtau. */ - return 516; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx011000xxxxxxxxxx + rsubhn2. */ + return 87; } } } } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) + else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101000xxxx1xx011100xx - saddlp. */ - return 158; + x0101110xx1xxxxx000100xxxxxxxxxx + uaddw. */ + return 76; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101000xxxx1xx011101xx - uaddlp. */ - return 208; + x1101110xx1xxxxx000100xxxxxxxxxx + uaddw2. */ + return 77; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101001xxxx1xx0111000x - xtn. */ - return 168; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101001xxxx1xx0111001x - xtn2. */ - return 169; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx010100xxxxxxxxxx + uabal. */ + return 84; } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101001xxxx1xx0111010x - sqxtun. */ - return 216; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101001xxxx1xx0111011x - sqxtun2. */ - return 217; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx010100xxxxxxxxxx + uabal2. */ + return 85; } } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010100xxxxx1xx0111100x - fadd. */ - return 826; + x0101110xx1xxxxx001100xxxxxxxxxx + usubw. */ + return 80; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010100xxxxx1xx0111101x - sha256su0. */ - return 671; + x1101110xx1xxxxx001100xxxxxxxxxx + usubw2. */ + return 81; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010100xxxxx1xx011111xx - sqxtun. */ - return 508; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx011100xxxxxxxxxx + uabdl. */ + return 88; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx011100xxxxxxxxxx + uabdl2. */ + return 89; + } } } } - else + } + else + { + if (((word >> 12) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx000010xxxxxxxxxx + rev32. */ + return 207; + } + else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101010xxx01xx01110xxx - cmlt. */ - return 166; + xx101110xx1xxxx0010010xxxxxxxxxx + clz. */ + return 210; } else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxx1010010xxxxxxxxxx + uqxtn. */ + return 220; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxx1010010xxxxxxxxxx + uqxtn2. */ + return 221; + } + } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101010xxx01xx01111xxx - cmlt. */ - return 478; + xx101110xx1xxxx0001010xxxxxxxxxx + uaddlp. */ + return 208; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxx1001010xxxxxxxxxx + sqxtun. */ + return 216; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxx1001010xxxxxxxxxx + sqxtun2. */ + return 217; + } } } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101010xxx11xx0111x0xx - smaxv. */ - return 28; - } - else + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101010xxx11xx0111x1xx - umaxv. */ - return 32; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) - { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x0011100xx - fcvtns. */ - return 180; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x0011101xx - fcvtnu. */ - return 228; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x0011110xx - fcvtns. */ - return 481; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x0011111xx - fcvtnu. */ - return 511; - } - } - } - else - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x1011100xx - fcvtps. */ - return 200; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x1011101xx - fcvtpu. */ - return 247; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x1011110xx - fcvtps. */ - return 495; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx001x1011111xx - fcvtpu. */ - return 523; - } - } - } + xx101110xx1xxxx0011010xxxxxxxxxx + uadalp. */ + return 211; } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101011xx011xx0111x0xx - sminv. */ - return 29; + x0101110xx1xxxx1011010xxxxxxxxxx + fcvtxn. */ + return 222; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101011xx011xx0111x1xx - uminv. */ - return 33; + x1101110xx1xxxx1011010xxxxxxxxxx + fcvtxn2. */ + return 223; } } } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110x01xxxxx0x0110xxxxxxxxxx + not. */ + return 236; + } else { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110x11xxxxx0x0110xxxxxxxxxx + rbit. */ + return 238; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x0011100xx - fcvtns. */ - return 181; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x0011101xx - fcvtnu. */ - return 229; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx10xxx0001110xxxxxxxxxx + usqadd. */ + return 209; } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x0011110xx - fcvtns. */ - return 482; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x0011111xx - fcvtnu. */ - return 512; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx11xxx0001110xxxxxxxxxx + uaddlv. */ + return 31; } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x1011100xx - fcvtps. */ - return 201; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x1011101xx - fcvtpu. */ - return 248; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxx1001110xxxxxxxxxx + shll. */ + return 218; } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x1011110xx - fcvtps. */ - return 496; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101011xx1x1x1011111xx - fcvtpu. */ - return 524; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxx1001110xxxxxxxxxx + shll2. */ + return 219; } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx011110xxxxxxxxxx + sqneg. */ + return 212; + } + } + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx000001xxxxxxxxxx + uhadd. */ + return 314; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx010001xxxxxxxxxx + ushl. */ + return 321; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx001001xxxxxxxxxx + uhsub. */ + return 317; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx011001xxxxxxxxxx + umax. */ + return 325; + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx000101xxxxxxxxxx + urhadd. */ + return 316; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx010101xxxxxxxxxx + urshl. */ + return 323; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx001101xxxxxxxxxx + cmhi. */ + return 319; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx011101xxxxxxxxxx + uabd. */ + return 327; + } } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101100xx0x1xx011100xx - sadalp. */ - return 162; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101100xx0x1xx011101xx - uadalp. */ - return 211; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0101100xx1x1xx01110xxx - aesmc. */ - return 667; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx000011xxxxxxxxxx + uqadd. */ + return 315; } else { - if (((word >> 29) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx010011xxxxxxxxxx + uqshl. */ + return 322; + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx001011xxxxxxxxxx + uqsub. */ + return 318; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx011011xxxxxxxxxx + umin. */ + return 326; + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 22) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101101xxxx1xx0111000x - fcvtn. */ - return 172; + xx101110001xxxxx000111xxxxxxxxxx + eor. */ + return 350; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101101xxxx1xx0111001x - fcvtn2. */ - return 173; + xx101110101xxxxx000111xxxxxxxxxx + bit. */ + return 362; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101101xxxx1xx0111010x - fcvtxn. */ - return 222; + xx101110011xxxxx000111xxxxxxxxxx + bsl. */ + return 351; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0101101xxxx1xx0111011x - fcvtxn2. */ - return 223; + xx101110111xxxxx000111xxxxxxxxxx + bif. */ + return 363; } } } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010110xxxxx1xx011110xx - fmaxnm. */ - return 834; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010110xxxxx1xx011111xx - fcvtxn. */ - return 510; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx010111xxx0x1xx01110xxx - fcmlt. */ - return 192; - } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010111xxx0x1xx01111xxx - fcmlt. */ - return 493; + xx101110xx1xxxxx010111xxxxxxxxxx + uqrshl. */ + return 324; } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010111xxx1x1xx01110xxx - fcmlt. */ - return 193; + xx101110xx1xxxxx001111xxxxxxxxxx + cmhs. */ + return 320; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx010111xxx1x1xx01111xxx - fcmlt. */ - return 494; + xx101110xx1xxxxx011111xxxxxxxxxx + uaba. */ + return 328; } } } } } } - else + } + else + { + if (((word >> 10) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011000xxxxx1xx01110xxx - rev16. */ - return 157; + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001110xx1xxxxx100000xxxxxxxxxx + smlal. */ + return 58; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx100000xxxxxxxxxx + smlal2. */ + return 59; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11001110xx1xxxxx100000xxxxxxxxxx + sha512h. */ + return 1990; + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx100000xxxxxxxxxx + umlal. */ + return 90; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx100000xxxxxxxxxx + umlal2. */ + return 91; + } + } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011000xxxxx1xx01111x0x - fdiv. */ - return 824; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001110xx1xxxxx110000xxxxxxxxxx + smull. */ + return 66; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001110xx1xxxxx110000xxxxxxxxxx + smull2. */ + return 67; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 11001110xx1xxxxx110000xxxxxxxxxx + sm3partw1. */ + return 2003; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011000xxxxx1xx01111x1x - sha1su1. */ - return 670; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx110000xxxxxxxxxx + umull. */ + return 94; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx110000xxxxxxxxxx + umull2. */ + return 95; + } } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001110xx1xxxxx101000xxxxxxxxxx + smlsl. */ + return 62; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1001110xx1xxxxx101000xxxxxxxxxx + smlsl2. */ + return 63; + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101110xx1xxxxx101000xxxxxxxxxx + umlsl. */ + return 92; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101110xx1xxxxx101000xxxxxxxxxx + umlsl2. */ + return 93; + } + } + } + else + { + if (((word >> 22) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110010xxxx1xx011100xx - cmeq. */ - return 165; + x0x01110x01xxxxx111000xxxxxxxxxx + pmull. */ + return 70; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110010xxxx1xx011101xx - cmle. */ - return 214; + x1x01110x01xxxxx111000xxxxxxxxxx + pmull2. */ + return 72; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110010xxxx1xx011110xx - cmeq. */ - return 477; + x0x01110x11xxxxx111000xxxxxxxxxx + pmull. */ + return 71; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110010xxxx1xx011111xx - cmle. */ - return 506; + x1x01110x11xxxxx111000xxxxxxxxxx + pmull2. */ + return 73; } } } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x01110xx1xxxxx100100xxxxxxxxxx + sqdmlal. */ + return 60; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x01110xx1xxxxx100100xxxxxxxxxx + sqdmlal2. */ + return 61; + } + } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x01110xx1xxxxx110100xxxxxxxxxx + sqdmull. */ + return 68; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x01110xx1xxxxx110100xxxxxxxxxx + sqdmull2. */ + return 69; + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x01110xx1xxxxx1x1100xxxxxxxxxx + sqdmlsl. */ + return 64; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x01110xx1xxxxx1x1100xxxxxxxxxx + sqdmlsl2. */ + return 65; + } + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110011xx0x1x00111x0xx - frintm. */ - return 178; + 0x001110xx1xxxx0100010xxxxxxxxxx + cmgt. */ + return 164; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110011xx0x1x00111x1xx - frintx. */ - return 226; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011100x1x0xx1100010xxxxxxxxxx + frintn. */ + return 176; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011101x1x0xx1100010xxxxxxxxxx + frintp. */ + return 196; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011100x1x1xx1100010xxxxxxxxxx + frintn. */ + return 177; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011101x1x1xx1100010xxxxxxxxxx + frintp. */ + return 197; + } + } } } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110011xx0x1x10111x0xx - frintz. */ - return 198; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110011xx0x1x10111x1xx - frinti. */ - return 245; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110xx1xxxxx100010xxxxxxxxxx + sha512su1. */ + return 1993; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110011xx1x1x00111x0xx - frintm. */ - return 179; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110011xx1x1x00111x1xx - frintx. */ - return 227; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxx0100010xxxxxxxxxx + cmge. */ + return 213; } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110011xx1x1x10111x0xx - frintz. */ - return 199; + xx101110xx1x0xx1100010xxxxxxxxxx + frinta. */ + return 224; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110011xx1x1x10111x1xx - frinti. */ - return 246; + xx101110xx1x1xx1100010xxxxxxxxxx + frinta. */ + return 225; } } } } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) + else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011010xxx0x1xx011100xx - cnt. */ - return 161; + if (((word >> 31) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011100x1xxxx0110010xxxxxxxxxx + fmaxnmv. */ + return 35; + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011100x1x0xx1110010xxxxxxxxxx + fcvtas. */ + return 184; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x0011100x1x1xx1110010xxxxxxxxxx + fcvtas. */ + return 185; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x0011100x1xxxxx110010xxxxxxxxxx + sm4ekey. */ + return 2006; + } } else { - if (((word >> 22) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx011010xxx0x10x011101xx - not. */ - return 236; + xx1011100x1xxxx0110010xxxxxxxxxx + fmaxnmv. */ + return 34; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011010xxx0x11x011101xx - rbit. */ - return 238; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1x0xx1110010xxxxxxxxxx + fcvtau. */ + return 232; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1x1xx1110010xxxxxxxxxx + fcvtau. */ + return 233; + } } } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011010xxx1x1xx01110xxx - aesd. */ - return 666; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011010xxxxx1xx01111xxx - fmin. */ - return 832; - } - } - else - { - if (((word >> 16) & 0x1) == 0) - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110110xx001xx011100xx - fcmeq. */ - return 190; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x100xx0110010xxxxxxxxxx + fcmgt. */ + return 188; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x100xx0110010xxxxxxxxxx + fcmge. */ + return 239; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110110xx001xx011101xx - fcmle. */ - return 241; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x110xx0110010xxxxxxxxxx + fminnmv. */ + return 39; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x110xx0110010xxxxxxxxxx + fminnmv. */ + return 38; + } } } else @@ -14927,17 +15048,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110110xx001xx011110xx - fcmeq. */ - return 491; + xx0011101x1x1xx0110010xxxxxxxxxx + fcmgt. */ + return 189; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110110xx001xx011111xx - fcmle. */ - return 521; + xx1011101x1x1xx0110010xxxxxxxxxx + fcmge. */ + return 240; } } } @@ -14947,40 +15068,35 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110110xx011xx0111x0xx - faddp. */ - return 535; + xx0011101x1xxxx1110010xxxxxxxxxx + urecpe. */ + return 204; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110110xx011xx0111x1xx - faddp. */ - return 534; + xx1011101x1xxxx1110010xxxxxxxxxx + ursqrte. */ + return 251; } } } - else + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110110xx1x1xx011100xx - fcmeq. */ - return 191; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110110xx1x1xx011101xx - fcmle. */ - return 242; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01110xx10xxx0101010xxxxxxxxxx + cmlt. */ + return 166; } else { @@ -14988,44 +15104,63 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110110xx1x1xx011110xx - fcmeq. */ - return 492; + xx001110xx11xxx0101010xxxxxxxxxx + smaxv. */ + return 28; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110110xx1x1xx011111xx - fcmle. */ - return 522; + xx101110xx11xxx0101010xxxxxxxxxx + umaxv. */ + return 32; } } } - } - else - { - if (((word >> 19) & 0x1) == 0) + else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x0011100xx - scvtf. */ - return 186; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x100xx1101010xxxxxxxxxx + fcvtns. */ + return 180; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x100xx1101010xxxxxxxxxx + fcvtnu. */ + return 228; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x0011101xx - ucvtf. */ - return 234; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x100xx1101010xxxxxxxxxx + fcvtps. */ + return 200; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x100xx1101010xxxxxxxxxx + fcvtpu. */ + return 247; + } } } else @@ -15034,39 +15169,39 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x0011110xx - scvtf. */ - return 487; + xx001110xx110xx1101010xxxxxxxxxx + sminv. */ + return 29; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x0011111xx - ucvtf. */ - return 517; + xx101110xx110xx1101010xxxxxxxxxx + uminv. */ + return 33; } } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x1011100xx - frecpe. */ - return 205; + xx0011100x1x1xx1101010xxxxxxxxxx + fcvtns. */ + return 181; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x1011101xx - frsqrte. */ - return 252; + xx1011100x1x1xx1101010xxxxxxxxxx + fcvtnu. */ + return 229; } } else @@ -15075,42 +15210,89 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x1011110xx - frecpe. */ - return 499; + xx0011101x1x1xx1101010xxxxxxxxxx + fcvtps. */ + return 201; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx0x1x1011111xx - frsqrte. */ - return 527; + xx1011101x1x1xx1101010xxxxxxxxxx + fcvtpu. */ + return 248; } } } } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01110xx1x0xxx111010xxxxxxxxxx + fcmlt. */ + return 192; + } else { - if (((word >> 23) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01110xx1x1xxx111010xxxxxxxxxx + fcmlt. */ + return 193; + } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001110xx1xxxx0100110xxxxxxxxxx + cmeq. */ + return 165; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxx0100110xxxxxxxxxx + cmle. */ + return 214; + } + } + else + { + if (((word >> 19) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x0011100xx - scvtf. */ - return 187; + xx0011100x1x0xx1100110xxxxxxxxxx + frintm. */ + return 178; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x0011101xx - ucvtf. */ - return 235; + xx1011100x1x0xx1100110xxxxxxxxxx + frintx. */ + return 226; } } else @@ -15119,39 +15301,39 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x0011110xx - scvtf. */ - return 488; + xx0011101x1x0xx1100110xxxxxxxxxx + frintz. */ + return 198; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x0011111xx - ucvtf. */ - return 518; + xx1011101x1x0xx1100110xxxxxxxxxx + frinti. */ + return 245; } } } else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x1011100xx - frecpe. */ - return 206; + xx0011100x1x1xx1100110xxxxxxxxxx + frintm. */ + return 179; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x1011101xx - frsqrte. */ - return 253; + xx1011100x1x1xx1100110xxxxxxxxxx + frintx. */ + return 227; } } else @@ -15160,52 +15342,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x1011110xx - frecpe. */ - return 500; + xx0011101x1x1xx1100110xxxxxxxxxx + frintz. */ + return 199; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0110111xx1x1x1011111xx - frsqrte. */ - return 528; + xx1011101x1x1xx1100110xxxxxxxxxx + frinti. */ + return 246; } } } } } - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) + else { if (((word >> 16) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111000xxx01xx011100xx - suqadd. */ - return 159; + xx001110xx1x0xx0110110xxxxxxxxxx + fcmeq. */ + return 190; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111000xxx01xx011101xx - usqadd. */ - return 209; + xx101110xx1x0xx0110110xxxxxxxxxx + fcmle. */ + return 241; } } else @@ -15214,82 +15387,118 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111000xxx11xx011100xx - saddlv. */ - return 27; + xx001110xx1x1xx0110110xxxxxxxxxx + fcmeq. */ + return 191; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1x1xx0110110xxxxxxxxxx + fcmle. */ + return 242; + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x1x0xx1110110xxxxxxxxxx + scvtf. */ + return 186; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1x0xx1110110xxxxxxxxxx + ucvtf. */ + return 234; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x1x0xx1110110xxxxxxxxxx + frecpe. */ + return 205; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x1x0xx1110110xxxxxxxxxx + frsqrte. */ + return 252; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x1x1xx1110110xxxxxxxxxx + scvtf. */ + return 187; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1x1xx1110110xxxxxxxxxx + ucvtf. */ + return 235; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111000xxx11xx011101xx - uaddlv. */ - return 31; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x1x1xx1110110xxxxxxxxxx + frecpe. */ + return 206; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x1x1xx1110110xxxxxxxxxx + frsqrte. */ + return 253; + } } } } - else - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111001xxxx1xx01110x0x - shll. */ - return 218; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111001xxxx1xx01110x1x - shll2. */ - return 219; - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011100xxxxx1xx0111100x - fsub. */ - return 828; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011100xxxxx1xx0111101x - suqadd. */ - return 474; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx011100xxxxx1xx011111xx - usqadd. */ - return 503; - } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111010xxxx1xx011100xx + xx001110xx1xxxx0101110xxxxxxxxxx abs. */ return 167; } @@ -15297,46 +15506,24 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111010xxxx1xx011101xx + xx101110xx1xxxx0101110xxxxxxxxxx neg. */ return 215; } } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111010xxxx1xx011110xx - abs. */ - return 479; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111010xxxx1xx011111xx - neg. */ - return 507; - } - } - } - else - { - if (((word >> 19) & 0x1) == 0) - { - if (((word >> 20) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 23) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x0011100xx + xx0011100x100xx1101110xxxxxxxxxx fcvtms. */ return 182; } @@ -15344,7 +15531,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x0011101xx + xx1011100x100xx1101110xxxxxxxxxx fcvtmu. */ return 230; } @@ -15355,29 +15542,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x0011110xx - fcvtms. */ - return 483; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x0011111xx - fcvtmu. */ - return 513; - } - } - } - else - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x1011100xx + xx0011101x100xx1101110xxxxxxxxxx fcvtzs. */ return 202; } @@ -15385,63 +15550,30 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x1011101xx + xx1011101x100xx1101110xxxxxxxxxx fcvtzu. */ return 249; } } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x1011110xx - fcvtzs. */ - return 497; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx001x1011111xx - fcvtzu. */ - return 525; - } - } } - } - else - { - if (((word >> 28) & 0x1) == 0) + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx011xx01110xxx + xxx01110xx110xx1101110xxxxxxxxxx addv. */ return 30; } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx011xx01111xxx - addp. */ - return 531; - } } - } - else - { - if (((word >> 23) & 0x1) == 0) + else { - if (((word >> 28) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x0011100xx + xx0011100x1x1xx1101110xxxxxxxxxx fcvtms. */ return 183; } @@ -15449,7 +15581,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x0011101xx + xx1011100x1x1xx1101110xxxxxxxxxx fcvtmu. */ return 231; } @@ -15460,359 +15592,614 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x0011110xx - fcvtms. */ - return 484; + xx0011101x1x1xx1101110xxxxxxxxxx + fcvtzs. */ + return 203; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x0011111xx - fcvtmu. */ - return 514; + xx1011101x1x1xx1101110xxxxxxxxxx + fcvtzu. */ + return 250; } } } - else + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 19) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 20) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x1011100xx - fcvtzs. */ - return 203; + xx001110xx100xx0111110xxxxxxxxxx + fabs. */ + return 194; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x1011101xx - fcvtzu. */ - return 250; + xx101110xx100xx0111110xxxxxxxxxx + fneg. */ + return 243; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x1011110xx - fcvtzs. */ - return 498; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x110xx0111110xxxxxxxxxx + fmaxv. */ + return 37; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x110xx0111110xxxxxxxxxx + fmaxv. */ + return 36; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111011xx1x1x1011111xx - fcvtzu. */ - return 526; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x110xx0111110xxxxxxxxxx + fminv. */ + return 41; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x110xx0111110xxxxxxxxxx + fminv. */ + return 40; + } } } } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001110xx1x1xx0111110xxxxxxxxxx + fabs. */ + return 195; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1x1xx0111110xxxxxxxxxx + fneg. */ + return 244; + } + } + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01110xx1x0xx1111110xxxxxxxxxx + fsqrt. */ + return 254; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01110xx1x1xx1111110xxxxxxxxxx + fsqrt. */ + return 255; + } + } + } + } + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001110xx1xxxxx100001xxxxxxxxxx + add. */ + return 277; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001110xx1xxxxx100001xxxxxxxxxx + sha512h2. */ + return 1991; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx100001xxxxxxxxxx + sub. */ + return 329; } } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) + else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111100xx0x1xx011100xx - sqabs. */ - return 163; + 0x0011100x1xxxxx110001xxxxxxxxxx + fmaxnm. */ + return 285; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111100xx0x1xx011101xx - sqneg. */ - return 212; + 1x0011100x1xxxxx110001xxxxxxxxxx + sm3partw2. */ + return 2004; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111100xx1x1xx01110xxx - aesimc. */ - return 668; + xx1011100x1xxxxx110001xxxxxxxxxx + fmaxnmp. */ + return 336; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111101xxxx1xx01110x0x - fcvtl. */ - return 174; + xx0011101x1xxxxx110001xxxxxxxxxx + fminnm. */ + return 301; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111101xxxx1xx01110x1x - fcvtl2. */ - return 175; + xx1011101x1xxxxx110001xxxxxxxxxx + fminnmp. */ + return 352; } } } - else + } + else + { + if (((word >> 14) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001110xx1xxxxx101001xxxxxxxxxx + smaxp. */ + return 281; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx101001xxxxxxxxxx + umaxp. */ + return 333; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx011110xxxxx1xx0111100x - fminnm. */ - return 836; + xx0011100x1xxxxx111001xxxxxxxxxx + fcmeq. */ + return 293; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx011110xxxxx1xx0111101x - sqabs. */ - return 475; + xx1011100x1xxxxx111001xxxxxxxxxx + fcmge. */ + return 342; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx011110xxxxx1xx011111xx - sqneg. */ - return 504; + xxx011101x1xxxxx111001xxxxxxxxxx + fcmgt. */ + return 356; + } + } + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001110xx1xxxxx100101xxxxxxxxxx + mla. */ + return 279; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx100101xxxxxxxxxx + mls. */ + return 331; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x1xxxxx110101xxxxxxxxxx + fadd. */ + return 289; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1xxxxx110101xxxxxxxxxx + faddp. */ + return 338; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x1xxxxx110101xxxxxxxxxx + fsub. */ + return 305; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x1xxxxx110101xxxxxxxxxx + fabd. */ + return 354; + } } } } else { - if (((word >> 16) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 19) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 20) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001110xx1xxxxx101101xxxxxxxxxx + sqdmulh. */ + return 283; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx101101xxxxxxxxxx + sqrdmulh. */ + return 335; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx001xx0111x0xx - fabs. */ - return 194; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx001xx0111x1xx - fneg. */ - return 243; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x1xxxxx111101xxxxxxxxxx + fmax. */ + return 295; } else { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x0011100xx - fmaxv. */ - return 37; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x0011101xx - fmaxv. */ - return 36; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x0011110xx - fmaxp. */ - return 537; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x0011111xx - fmaxp. */ - return 536; - } - } - } - else - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x1011100xx - fminv. */ - return 41; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x1011101xx - fminv. */ - return 40; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x1011110xx - fminp. */ - return 541; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0111110xx011x1011111xx - fminp. */ - return 540; - } - } - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1xxxxx111101xxxxxxxxxx + fmaxp. */ + return 346; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011101x1xxxxx111101xxxxxxxxxx + fmin. */ + return 307; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011101x1xxxxx111101xxxxxxxxxx + fminp. */ + return 360; } } - else + } + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111110xx1x1xx0111x0xx - fabs. */ - return 195; + 0x001110xx1xxxxx100011xxxxxxxxxx + cmtst. */ + return 278; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111110xx1x1xx0111x1xx - fneg. */ - return 244; + 1x001110xx1xxxxx100011xxxxxxxxxx + rax1. */ + return 1995; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx100011xxxxxxxxxx + cmeq. */ + return 330; + } } else { - if (((word >> 19) & 0x1) == 0) + if (((word >> 23) & 0x1) == 0) { - if (((word >> 28) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111111xx0x1xx01110xxx - fsqrt. */ - return 254; + xx0011100x1xxxxx110011xxxxxxxxxx + fmla. */ + return 287; } else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01011100x1xxxxx110011xxxxxxxxxx + fmlal2. */ + return 2009; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11011100x1xxxxx110011xxxxxxxxxx + fmlal2. */ + return 2013; + } + } + } + else + { + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111111xx0x1xx01111xxx - frecpx. */ - return 501; + xx0011101x1xxxxx110011xxxxxxxxxx + fmls. */ + return 303; + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x01011101x1xxxxx110011xxxxxxxxxx + fmlsl2. */ + return 2010; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x11011101x1xxxxx110011xxxxxxxxxx + fmlsl2. */ + return 2014; + } } } + } + } + else + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001110xx1xxxxx101011xxxxxxxxxx + sminp. */ + return 282; + } else { - if (((word >> 28) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101110xx1xxxxx101011xxxxxxxxxx + uminp. */ + return 334; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x00011100x1xxxxx111011xxxxxxxxxx + fmlal. */ + return 2007; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10011100x1xxxxx111011xxxxxxxxxx + fmlal. */ + return 2011; + } + } + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111111xx1x1xx01110xxx - fsqrt. */ - return 255; + xx1011100x1xxxxx111011xxxxxxxxxx + facge. */ + return 344; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x00011101x1xxxxx111011xxxxxxxxxx + fmlsl. */ + return 2008; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x10011101x1xxxxx111011xxxxxxxxxx + fmlsl. */ + return 2012; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0111111xx1x1xx01111xxx - frecpx. */ - return 502; + xx1011101x1xxxxx111011xxxxxxxxxx + facgt. */ + return 358; } } } } } - } - } - } - } - else - { - if (((word >> 11) & 0x1) == 0) - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) + else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100000xxxxx1xx011100xx - shadd. */ - return 262; + xx001110xx1xxxxx100111xxxxxxxxxx + mul. */ + return 280; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100000xxxxx1xx011101xx - uhadd. */ - return 314; + xx101110xx1xxxxx100111xxxxxxxxxx + pmul. */ + return 332; } } else @@ -15821,182 +16208,477 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100001xxxxx1xx011100xx - add. */ - return 277; + xx001110xx1xxxxx110111xxxxxxxxxx + fmulx. */ + return 291; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100001xxxxx1xx011101xx - sub. */ - return 329; + xx101110xx1xxxxx110111xxxxxxxxxx + fmul. */ + return 340; } } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01110xx1xxxxx101111xxxxxxxxxx + addp. */ + return 284; + } + else + { + if (((word >> 23) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100010xxxxx1xx011100xx - sshl. */ - return 269; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0011100x1xxxxx111111xxxxxxxxxx + frecps. */ + return 297; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1011100x1xxxxx111111xxxxxxxxxx + fdiv. */ + return 348; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100010xxxxx1xx011101xx - ushl. */ - return 321; + xxx011101x1xxxxx111111xxxxxxxxxx + frsqrts. */ + return 309; + } + } + } + } + } + } + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + if (((word >> 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 + xxx11110xx100000x00000xxxxxxxxxx + fcvtns. */ + return 756; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx110000x00000xxxxxxxxxx + fcvtms. */ + return 776; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx101000x00000xxxxxxxxxx + fcvtps. */ + return 772; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx111000x00000xxxxxxxxxx + fcvtzs. */ + return 780; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx100x00000xxxxxxxxxx + fcvtas. */ + return 764; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx010x00000xxxxxxxxxx + scvtf. */ + return 760; + } + else + { + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1x0110x00000xxxxxxxxxx + fmov. */ + return 768; + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx101110x00000xxxxxxxxxx + fmov. */ + return 784; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx111110x00000xxxxxxxxxx + fjcvtzs. */ + return 786; + } + } + } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100011xxxxx1x0011100xx - fmaxnm. */ - return 285; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx100001x00000xxxxxxxxxx + fcvtnu. */ + return 758; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx110001x00000xxxxxxxxxx + fcvtmu. */ + return 778; + } + } + else + { + if (((word >> 20) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx101001x00000xxxxxxxxxx + fcvtpu. */ + return 774; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx111001x00000xxxxxxxxxx + fcvtzu. */ + return 782; + } + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100011xxxxx1x0011101xx - fmaxnmp. */ - return 336; + xxx11110xx1xx101x00000xxxxxxxxxx + fcvtau. */ + return 766; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100011xxxxx1x1011100xx - fminnm. */ - return 301; + xxx11110xx1xx011x00000xxxxxxxxxx + ucvtf. */ + return 762; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100011xxxxx1x1011101xx - fminnmp. */ - return 352; + if (((word >> 19) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1x0111x00000xxxxxxxxxx + fmov. */ + return 770; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1x1111x00000xxxxxxxxxx + fmov. */ + return 785; + } } } } } - } - else - { - if (((word >> 14) & 0x1) == 0) + else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 17) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100100xxxxx1xx011100xx - shsub. */ - return 265; + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx000010000xxxxxxxxxx + fmov. */ + return 799; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx100010000xxxxxxxxxx + frintn. */ + return 808; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx001010000xxxxxxxxxx + fneg. */ + return 803; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx101010000xxxxxxxxxx + frintm. */ + return 812; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100100xxxxx1xx011101xx - uhsub. */ - return 317; + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx000110000xxxxxxxxxx + fabs. */ + return 801; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx100110000xxxxxxxxxx + frintp. */ + return 810; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx001110000xxxxxxxxxx + fsqrt. */ + return 805; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx101110000xxxxxxxxxx + frintz. */ + return 814; + } + } } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 18) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100101xxxxx1xx011100xx - smaxp. */ - return 281; + xxx11110xx1xx01xx10000xxxxxxxxxx + fcvt. */ + return 807; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100101xxxxx1xx011101xx - umaxp. */ - return 333; + if (((word >> 15) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx110010000xxxxxxxxxx + frinta. */ + return 816; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx111010000xxxxxxxxxx + frintx. */ + return 818; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xx11x110000xxxxxxxxxx + frinti. */ + return 820; + } } } } + } + else + { + if (((word >> 3) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xxxxxxx1000xxxxx00xxx + fcmp. */ + return 791; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xxxxxxx1000xxxxx10xxx + fcmpe. */ + return 793; + } + } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 4) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100110xxxxx1xx011100xx - smax. */ - return 273; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100110xxxxx1xx011101xx - umax. */ - return 325; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xxxxxxx1000xxxxx01xxx + fcmp. */ + return 795; } else { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1x0011100xx - fcmeq. */ - return 293; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1x0011101xx - fcmge. */ - return 342; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxx1x101110xxx - fcmgt. */ - return 356; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xxxxxxx1000xxxxx11xxx + fcmpe. */ + return 797; + } + } + } + } + else + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0x11110xx1xxxxxxxx100xxxxxxxxxx + fmov. */ + return 848; + } + else + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x11110xx1xxxxxx00100xxxxxxxxxx + sqdmlal. */ + return 416; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x11110xx1xxxxxx10100xxxxxxxxxx + sqdmull. */ + return 418; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1x11110xx1xxxxxxx1100xxxxxxxxxx + sqdmlsl. */ + return 417; + } } } - else + } + else + { + if (((word >> 12) & 0x1) == 0) { if (((word >> 13) & 0x1) == 0) { @@ -16004,40 +16686,51 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101000xxxxx1xx011100xx - srhadd. */ - return 264; + x0x11110xx1xxxxx000010xxxxxxxxxx + fmul. */ + return 822; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101000xxxxx1xx011101xx - urhadd. */ - return 316; + x1x11110xx1xxxxx000010xxxxxxxxxx + sha1h. */ + return 669; } } else { if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101001xxxxx1xx011100xx - mla. */ - return 279; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx1xxxxx100010xxxxxxxxxx + fnmul. */ + return 838; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx1xxxxx100010xxxxxxxxxx + cmgt. */ + return 476; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101001xxxxx1xx011101xx - mls. */ - return 331; + xx111110xx1xxxxx100010xxxxxxxxxx + cmge. */ + return 505; } } } @@ -16047,59 +16740,158 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101010xxxxx1xx011100xx - srshl. */ - return 271; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx1xxxxx010010xxxxxxxxxx + fmax. */ + return 830; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx1xxxxx010010xxxxxxxxxx + sqxtn. */ + return 480; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101010xxxxx1xx011101xx - urshl. */ - return 323; + xx111110xx1xxxxx010010xxxxxxxxxx + uqxtn. */ + return 509; } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101011xxxxx1x0011100xx - fadd. */ - return 289; + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx100xx0110010xxxxxxxxxx + fcmgt. */ + return 489; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx100xx0110010xxxxxxxxxx + fcmge. */ + return 519; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x110xx0110010xxxxxxxxxx + fmaxnmp. */ + return 533; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x110xx0110010xxxxxxxxxx + fmaxnmp. */ + return 532; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x110xx0110010xxxxxxxxxx + fminnmp. */ + return 539; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x110xx0110010xxxxxxxxxx + fminnmp. */ + return 538; + } + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101011xxxxx1x0011101xx - faddp. */ - return 338; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx1x1xx0110010xxxxxxxxxx + fcmgt. */ + return 490; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1x1xx0110010xxxxxxxxxx + fcmge. */ + return 520; + } } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101011xxxxx1x1011100xx - fsub. */ - return 305; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx1x0xx1110010xxxxxxxxxx + fcvtas. */ + return 485; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1x0xx1110010xxxxxxxxxx + fcvtau. */ + return 515; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101011xxxxx1x1011101xx - fabd. */ - return 354; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx1x1xx1110010xxxxxxxxxx + fcvtas. */ + return 486; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1x1xx1110010xxxxxxxxxx + fcvtau. */ + return 516; + } } } } @@ -16111,288 +16903,175 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101100xxxxx1xx011100xx - cmgt. */ - return 267; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101100xxxxx1xx011101xx - cmhi. */ - return 319; - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101101xxxxx1xx011100xx - sqdmulh. */ - return 283; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101101xxxxx1xx011101xx - sqrdmulh. */ - return 335; - } - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101110xxxxx1xx011100xx - sabd. */ - return 275; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101110xxxxx1xx011101xx - uabd. */ - return 327; - } - } - else - { - if (((word >> 23) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxxx1x0011100xx - fmax. */ - return 295; + x0011110xx1xxxxx001010xxxxxxxxxx + fadd. */ + return 826; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxxx1x0011101xx - fmaxp. */ - return 346; + x1011110xx1xxxxx001010xxxxxxxxxx + sha256su0. */ + return 671; } } else { - if (((word >> 29) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxxx001010xxxxxxxxxx + sqxtun. */ + return 508; + } + } + else + { + if (((word >> 16) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xxxx0101010xxxxxxxxxx + cmlt. */ + return 478; + } + else + { + if (((word >> 19) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101111xxxxx1x1011100xx - fmin. */ - return 307; + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x1x0xx1101010xxxxxxxxxx + fcvtns. */ + return 481; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x1x0xx1101010xxxxxxxxxx + fcvtnu. */ + return 511; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x1x0xx1101010xxxxxxxxxx + fcvtps. */ + return 495; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x1x0xx1101010xxxxxxxxxx + fcvtpu. */ + return 523; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx101111xxxxx1x1011101xx - fminp. */ - return 360; + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x1x1xx1101010xxxxxxxxxx + fcvtns. */ + return 482; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x1x1xx1101010xxxxxxxxxx + fcvtnu. */ + return 512; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x1x1xx1101010xxxxxxxxxx + fcvtps. */ + return 496; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x1x1xx1101010xxxxxxxxxx + fcvtpu. */ + return 524; + } + } } } } } - } - } - } - else - { - if (((word >> 29) & 0x1) == 0) - { - if (((word >> 30) & 0x1) == 0) - { - if (((word >> 4) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx0xxxxx10xxxxxxxxx1xx0111100x - fccmp. */ - return 787; - } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxx1xxxxx10xxxxxxxxx1xx0111100x - fccmpe. */ - return 789; - } - } - else - { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { - if (((word >> 14) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10000xxxxxx1xx0111101x - add. */ - return 559; + xx011110xx1xxxxx011010xxxxxxxxxx + fmaxnm. */ + return 834; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx10001xxxxxx1xx0111101x - sshl. */ - return 557; + xx111110xx1xxxxx011010xxxxxxxxxx + fcvtxn. */ + return 510; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1001xxxxxxx1xx0111101x - fcmeq. */ - return 549; - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010xxxxxxx1xx0111101x - srshl. */ - return 558; - } - else - { - if (((word >> 15) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1011x0xxxxx1xx0111101x - cmgt. */ - return 555; + xxx11110xx1x0xxx111010xxxxxxxxxx + fcmlt. */ + return 493; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1011x1xxxxx1xx0111101x - sqdmulh. */ - return 546; + xxx11110xx1x1xxx111010xxxxxxxxxx + fcmlt. */ + return 494; } } } } } else - { - if (((word >> 12) & 0x1) == 0) - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10000xxxxxx1xx011111xx - sub. */ - return 580; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10001xxxxxx1xx011111xx - ushl. */ - return 578; - } - } - else - { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1001xxxxxxx1x0011111xx - fcmge. */ - return 566; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1001xxxxxxx1x1011111xx - fcmgt. */ - return 572; - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010x0xxxxx1xx011111xx - urshl. */ - return 579; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1010x1xxxxx1xx011111xx - fabd. */ - return 570; - } - } - else - { - if (((word >> 15) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1011x0xxxxx1xx011111xx - cmhi. */ - return 576; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1011x1xxxxx1xx011111xx - sqrdmulh. */ - return 565; - } - } - } - } - } - } - else - { - if (((word >> 28) & 0x1) == 0) - { - if (((word >> 12) & 0x1) == 0) { if (((word >> 13) & 0x1) == 0) { @@ -16400,21 +17079,21 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110000xxxxx1xx011100xx - sqadd. */ - return 263; + x0x11110xx1xxxxx000110xxxxxxxxxx + fdiv. */ + return 824; } else { /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110000xxxxx1xx011101xx - uqadd. */ - return 315; + 10987654321098765432109876543210 + x1x11110xx1xxxxx000110xxxxxxxxxx + sha1su1. */ + return 670; } } else @@ -16423,17 +17102,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110001xxxxx1xx011100xx - cmtst. */ - return 278; + xx011110xx1xxxxx100110xxxxxxxxxx + cmeq. */ + return 477; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110001xxxxx1xx011101xx - cmeq. */ - return 330; + xx111110xx1xxxxx100110xxxxxxxxxx + cmle. */ + return 506; } } } @@ -16441,40 +17120,161 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110010xxxxx1xx011100xx - sqshl. */ - return 270; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110010xxxxx1xx011101xx - uqshl. */ - return 322; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1xxxxx010110xxxxxxxxxx + fmin. */ + return 832; } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110011xxxxx1x001110xxx - fmla. */ - return 287; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx100xx0110110xxxxxxxxxx + fcmeq. */ + return 491; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx100xx0110110xxxxxxxxxx + fcmle. */ + return 521; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx110xx0110110xxxxxxxxxx + faddp. */ + return 535; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx110xx0110110xxxxxxxxxx + faddp. */ + return 534; + } + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx1x1xx0110110xxxxxxxxxx + fcmeq. */ + return 492; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1x1xx0110110xxxxxxxxxx + fcmle. */ + return 522; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110011xxxxx1x101110xxx - fmls. */ - return 303; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x1x0xx1110110xxxxxxxxxx + scvtf. */ + return 487; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x1x0xx1110110xxxxxxxxxx + ucvtf. */ + return 517; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x1x0xx1110110xxxxxxxxxx + frecpe. */ + return 499; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x1x0xx1110110xxxxxxxxxx + frsqrte. */ + return 527; + } + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x1x1xx1110110xxxxxxxxxx + scvtf. */ + return 488; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x1x1xx1110110xxxxxxxxxx + ucvtf. */ + return 518; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x1x1xx1110110xxxxxxxxxx + frecpe. */ + return 500; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x1x1xx1110110xxxxxxxxxx + frsqrte. */ + return 528; + } + } + } } } } @@ -16487,38 +17287,148 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110100xxxxx1xx011100xx - sqsub. */ - return 266; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx1xxxxx001110xxxxxxxxxx + fsub. */ + return 828; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx1xxxxx001110xxxxxxxxxx + suqadd. */ + return 474; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110100xxxxx1xx011101xx - uqsub. */ - return 318; + xx111110xx1xxxxx001110xxxxxxxxxx + usqadd. */ + return 503; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110101xxxxx1xx011100xx - sminp. */ - return 282; + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx011110xx1xxxx0101110xxxxxxxxxx + abs. */ + return 479; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxx0101110xxxxxxxxxx + neg. */ + return 507; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110101xxxxx1xx011101xx - uminp. */ - return 334; + if (((word >> 19) & 0x1) == 0) + { + if (((word >> 20) & 0x1) == 0) + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x100xx1101110xxxxxxxxxx + fcvtms. */ + return 483; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x100xx1101110xxxxxxxxxx + fcvtmu. */ + return 513; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x100xx1101110xxxxxxxxxx + fcvtzs. */ + return 497; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x100xx1101110xxxxxxxxxx + fcvtzu. */ + return 525; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx110xx1101110xxxxxxxxxx + addp. */ + return 531; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111100x1x1xx1101110xxxxxxxxxx + fcvtms. */ + return 484; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x1x1xx1101110xxxxxxxxxx + fcvtmu. */ + return 514; + } + } + else + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx0111101x1x1xx1101110xxxxxxxxxx + fcvtzs. */ + return 498; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x1x1xx1101110xxxxxxxxxx + fcvtzu. */ + return 526; + } + } + } } } } @@ -16528,52 +17438,35 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110110xxxxx1xx011100xx - smin. */ - return 274; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx1xxxxx011110xxxxxxxxxx + fminnm. */ + return 836; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx1xxxxx011110xxxxxxxxxx + sqabs. */ + return 475; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110110xxxxx1xx011101xx - umin. */ - return 326; + xx111110xx1xxxxx011110xxxxxxxxxx + sqneg. */ + return 504; } } else { - if (((word >> 23) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110111xxxxx1x001110xxx - facge. */ - return 344; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110111xxxxx1x101110xxx - facgt. */ - return 358; - } - } - } - } - } - else - { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - if (((word >> 15) & 0x1) == 0) - { - if (((word >> 22) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { @@ -16581,17 +17474,17 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx100011100xx - and. */ - return 299; + xx0111100x1xxxx0111110xxxxxxxxxx + fmaxp. */ + return 537; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx100011101xx - eor. */ - return 350; + xx1111100x1xxxx0111110xxxxxxxxxx + fmaxp. */ + return 536; } } else @@ -16600,206 +17493,215 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx101011100xx - orr. */ - return 311; + xx0111101x1xxxx0111110xxxxxxxxxx + fminp. */ + return 541; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx101011101xx - bit. */ - return 362; + xx1111101x1xxxx0111110xxxxxxxxxx + fminp. */ + return 540; } } } else { - if (((word >> 23) & 0x1) == 0) + if (((word >> 19) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx110011100xx - bic. */ - return 300; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx110011101xx - bsl. */ - return 351; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1x0xx1111110xxxxxxxxxx + frecpx. */ + return 501; } else { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx111011100xx - orn. */ - return 313; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111000xxxxx111011101xx - bif. */ - return 363; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx11110xx1x1xx1111110xxxxxxxxxx + frecpx. */ + return 502; } } } - else + } + } + } + } + } + else + { + if (((word >> 11) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + if (((word >> 4) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx1xxxxxxxxx01xxxxx0xxxx + fccmp. */ + return 787; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0011110xx1xxxxxxxxx01xxxxx1xxxx + fccmpe. */ + return 789; + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111001xxxxx1xx011100xx - mul. */ - return 280; + x1011110xx1xxxxxx00001xxxxxxxxxx + add. */ + return 559; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111001xxxxx1xx011101xx - pmul. */ - return 332; + x1011110xx1xxxxxx10001xxxxxxxxxx + sshl. */ + return 557; } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx1xxxxxxx1001xxxxxxxxxx + fcmeq. */ + return 549; + } } else { - if (((word >> 15) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111010xxxxx1xx011100xx - sqrshl. */ - return 272; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111010xxxxx1xx011101xx - uqrshl. */ - return 324; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1011110xx1xxxxxxx0101xxxxxxxxxx + srshl. */ + return 558; } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 15) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111011xxxxx1xx011100xx - fmulx. */ - return 291; + x1011110xx1xxxxx0x1101xxxxxxxxxx + cmgt. */ + return 555; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111011xxxxx1xx011101xx - fmul. */ - return 340; + x1011110xx1xxxxx1x1101xxxxxxxxxx + sqdmulh. */ + return 546; } } } } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 13) & 0x1) == 0) + { + if (((word >> 14) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxxxx00001xxxxxxxxxx + sub. */ + return 580; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxxxx10001xxxxxxxxxx + ushl. */ + return 578; + } + } + else + { + if (((word >> 23) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111100x1xxxxxxx1001xxxxxxxxxx + fcmge. */ + return 566; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx1111101x1xxxxxxx1001xxxxxxxxxx + fcmgt. */ + return 572; + } + } + } else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { if (((word >> 15) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111100xxxxx1xx011100xx - cmge. */ - return 268; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111100xxxxx1xx011101xx - cmhs. */ - return 320; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxxx0x0101xxxxxxxxxx + urshl. */ + return 579; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx111101xxxxx1xx01110xxx - addp. */ - return 284; + xx111110xx1xxxxx1x0101xxxxxxxxxx + fabd. */ + return 570; } } else { if (((word >> 15) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111110xxxxx1xx011100xx - saba. */ - return 276; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111110xxxxx1xx011101xx - uaba. */ - return 328; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxxx0x1101xxxxxxxxxx + cmhi. */ + return 576; } else { - if (((word >> 23) & 0x1) == 0) - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111111xxxxx1x0011100xx - frecps. */ - return 297; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111111xxxxx1x0011101xx - fdiv. */ - return 348; - } - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx111111xxxxx1x101110xxx - frsqrts. */ - return 309; - } + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx111110xx1xxxxx1x1101xxxxxxxxxx + sqrdmulh. */ + return 565; } } } @@ -16813,7 +17715,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11xxxxxxxxx1xx0111100x + x0011110xx1xxxxxxxxx11xxxxxxxxxx fcsel. */ return 850; } @@ -16829,7 +17731,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110000xxxxx1xx0111101x + x1011110xx1xxxxx000011xxxxxxxxxx sqadd. */ return 542; } @@ -16837,7 +17739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110001xxxxx1xx0111101x + x1011110xx1xxxxx100011xxxxxxxxxx cmtst. */ return 560; } @@ -16846,7 +17748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11001xxxxxx1xx0111101x + x1011110xx1xxxxxx10011xxxxxxxxxx sqshl. */ return 544; } @@ -16855,7 +17757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1101xxxxxxx1xx0111101x + x1011110xx1xxxxxxx1011xxxxxxxxxx sqsub. */ return 543; } @@ -16868,7 +17770,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x0xxxxx1xx0111101x + x1011110xx1xxxxx0x0111xxxxxxxxxx sqrshl. */ return 545; } @@ -16876,7 +17778,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x1xxxxx1xx0111101x + x1011110xx1xxxxx1x0111xxxxxxxxxx fmulx. */ return 547; } @@ -16887,7 +17789,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11110xxxxxx1xx0111101x + x1011110xx1xxxxxx01111xxxxxxxxxx cmge. */ return 556; } @@ -16897,7 +17799,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11111xxxxxx1x00111101x + x10111100x1xxxxxx11111xxxxxxxxxx frecps. */ return 551; } @@ -16905,7 +17807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11111xxxxxx1x10111101x + x10111101x1xxxxxx11111xxxxxxxxxx frsqrts. */ return 553; } @@ -16926,7 +17828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110000xxxxx1xx011111xx + xx111110xx1xxxxx000011xxxxxxxxxx uqadd. */ return 561; } @@ -16934,7 +17836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110001xxxxx1xx011111xx + xx111110xx1xxxxx100011xxxxxxxxxx cmeq. */ return 581; } @@ -16943,7 +17845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11001xxxxxx1xx011111xx + xx111110xx1xxxxxx10011xxxxxxxxxx uqshl. */ return 563; } @@ -16954,7 +17856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11010xxxxxx1xx011111xx + xx111110xx1xxxxxx01011xxxxxxxxxx uqsub. */ return 562; } @@ -16964,7 +17866,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11011xxxxxx1x0011111xx + xx1111100x1xxxxxx11011xxxxxxxxxx facge. */ return 568; } @@ -16972,7 +17874,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11011xxxxxx1x1011111xx + xx1111101x1xxxxxx11011xxxxxxxxxx facgt. */ return 574; } @@ -16985,7 +17887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110xxxxxxx1xx011111xx + xx111110xx1xxxxxxx0111xxxxxxxxxx uqrshl. */ return 564; } @@ -16993,7 +17895,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1111xxxxxxx1xx011111xx + xx111110xx1xxxxxxx1111xxxxxxxxxx cmhs. */ return 577; } @@ -17018,19 +17920,63 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 14) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x0000xxxxxxxx11110xxx - mla. */ - return 117; + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001111xxxxxxxx0000x0xxxxxxxxxx + fmlal. */ + return 2015; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1001111xxxxxxxx0000x0xxxxxxxxxx + fmlal. */ + return 2019; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101111xxxxxxxx0000x0xxxxxxxxxx + mla. */ + return 117; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x0010xxxxxxxx11110xxx - mls. */ - return 120; + if (((word >> 29) & 0x1) == 0) + { + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001111xxxxxxxx0100x0xxxxxxxxxx + fmlsl. */ + return 2016; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1001111xxxxxxxx0100x0xxxxxxxxxx + fmlsl. */ + return 2020; + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101111xxxxxxxx0100x0xxxxxxxxxx + mls. */ + return 120; + } } } else @@ -17043,7 +17989,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0100xxxxxxxx1111000x + x0001111xxxxxxxx0010x0xxxxxxxxxx smlal. */ return 96; } @@ -17051,7 +17997,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0100xxxxxxxx1111001x + x1001111xxxxxxxx0010x0xxxxxxxxxx smlal2. */ return 97; } @@ -17062,7 +18008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0100xxxxxxxx1111010x + x0101111xxxxxxxx0010x0xxxxxxxxxx umlal. */ return 118; } @@ -17070,7 +18016,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0100xxxxxxxx1111011x + x1101111xxxxxxxx0010x0xxxxxxxxxx umlal2. */ return 119; } @@ -17084,7 +18030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0110xxxxxxxx1111000x + x0001111xxxxxxxx0110x0xxxxxxxxxx smlsl. */ return 100; } @@ -17092,7 +18038,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0110xxxxxxxx1111001x + x1001111xxxxxxxx0110x0xxxxxxxxxx smlsl2. */ return 101; } @@ -17103,7 +18049,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0110xxxxxxxx1111010x + x0101111xxxxxxxx0110x0xxxxxxxxxx umlsl. */ return 121; } @@ -17111,7 +18057,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0110xxxxxxxx1111011x + x1101111xxxxxxxx0110x0xxxxxxxxxx umlsl2. */ return 122; } @@ -17131,7 +18077,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1000xxxxxxx0111100xx + xx0011110xxxxxxx0001x0xxxxxxxxxx fmla. */ return 112; } @@ -17139,7 +18085,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1000xxxxxxx1111100xx + xx0011111xxxxxxx0001x0xxxxxxxxxx fmla. */ return 111; } @@ -17150,7 +18096,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1010xxxxxxx0111100xx + xx0011110xxxxxxx0101x0xxxxxxxxxx fmls. */ return 114; } @@ -17158,7 +18104,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1010xxxxxxx1111100xx + xx0011111xxxxxxx0101x0xxxxxxxxxx fmls. */ return 113; } @@ -17172,7 +18118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1100xxxxxxxx1111000x + x0001111xxxxxxxx0011x0xxxxxxxxxx sqdmlal. */ return 98; } @@ -17180,7 +18126,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1100xxxxxxxx1111001x + x1001111xxxxxxxx0011x0xxxxxxxxxx sqdmlal2. */ return 99; } @@ -17191,7 +18137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1110xxxxxxxx1111000x + x0001111xxxxxxxx0111x0xxxxxxxxxx sqdmlsl. */ return 102; } @@ -17199,7 +18145,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1110xxxxxxxx1111001x + x1001111xxxxxxxx0111x0xxxxxxxxxx sqdmlsl2. */ return 103; } @@ -17210,7 +18156,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1xx0xxxxxxxx111101xx + xx101111xxxxxxxx0xx1x0xxxxxxxxxx fcmla. */ return 129; } @@ -17224,7 +18170,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x0xx0xxxxxxxx111100xx + xx001111xxxxxxxx0xx0x1xxxxxxxxxx movi. */ return 131; } @@ -17232,7 +18178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x0xx0xxxxxxxx111101xx + xx101111xxxxxxxx0xx0x1xxxxxxxxxx mvni. */ return 139; } @@ -17243,7 +18189,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1xx0xxxxxxxx111100xx + xx001111xxxxxxxx0xx1x1xxxxxxxxxx orr. */ return 132; } @@ -17251,7 +18197,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1xx0xxxxxxxx111101xx + xx101111xxxxxxxx0xx1x1xxxxxxxxxx bic. */ return 140; } @@ -17268,7 +18214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx0xx1111100x + x0011111xx0xxxxx0xxxxxxxxxxxxxxx fmadd. */ return 840; } @@ -17276,7 +18222,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx0xxxxx1xx1111100x + x0011111xx1xxxxx0xxxxxxxxxxxxxxx fnmadd. */ return 844; } @@ -17293,7 +18239,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx000xxxxxxx01111101x + x10111110xxxxxxx000xx0xxxxxxxxxx fmla. */ return 425; } @@ -17301,7 +18247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx000xxxxxxx11111101x + x10111111xxxxxxx000xx0xxxxxxxxxx fmla. */ return 424; } @@ -17312,7 +18258,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx010xxxxxxx01111101x + x10111110xxxxxxx010xx0xxxxxxxxxx fmls. */ return 427; } @@ -17320,7 +18266,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx010xxxxxxx11111101x + x10111111xxxxxxx010xx0xxxxxxxxxx fmls. */ return 426; } @@ -17332,7 +18278,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx100xxxxxxxx1111101x + x1011111xxxxxxxx001xx0xxxxxxxxxx sqdmlal. */ return 419; } @@ -17340,7 +18286,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx110xxxxxxxx1111101x + x1011111xxxxxxxx011xx0xxxxxxxxxx sqdmlsl. */ return 420; } @@ -17354,7 +18300,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x00x0xxxxxxxx1111101x + x1011111xxxxxxxx0x00x1xxxxxxxxxx sshr. */ return 584; } @@ -17362,7 +18308,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x01x0xxxxxxxx1111101x + x1011111xxxxxxxx0x10x1xxxxxxxxxx srshr. */ return 586; } @@ -17375,7 +18321,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1000xxxxxxxx1111101x + x1011111xxxxxxxx0001x1xxxxxxxxxx ssra. */ return 585; } @@ -17383,7 +18329,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1010xxxxxxxx1111101x + x1011111xxxxxxxx0101x1xxxxxxxxxx shl. */ return 588; } @@ -17394,7 +18340,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1100xxxxxxxx1111101x + x1011111xxxxxxxx0011x1xxxxxxxxxx srsra. */ return 587; } @@ -17402,7 +18348,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1x1110xxxxxxxx1111101x + x1011111xxxxxxxx0111x1xxxxxxxxxx sqshl. */ return 589; } @@ -17421,7 +18367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0000xxxxxxxx111111xx + xx111111xxxxxxxx0000xxxxxxxxxxxx ushr. */ return 596; } @@ -17429,7 +18375,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0010xxxxxxxx111111xx + xx111111xxxxxxxx0100xxxxxxxxxxxx sri. */ return 600; } @@ -17440,7 +18386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0100xxxxxxxx111111xx + xx111111xxxxxxxx0010xxxxxxxxxxxx urshr. */ return 598; } @@ -17448,7 +18394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx0110xxxxxxxx111111xx + xx111111xxxxxxxx0110xxxxxxxxxxxx sqshlu. */ return 602; } @@ -17462,7 +18408,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx1000xxxxxxxx111111xx + xx111111xxxxxxxx0001xxxxxxxxxxxx usra. */ return 597; } @@ -17470,7 +18416,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx1010xxxxxxxx111111xx + xx111111xxxxxxxx0101xxxxxxxxxxxx sli. */ return 601; } @@ -17481,7 +18427,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx1100xxxxxxxx111111xx + xx111111xxxxxxxx0011xxxxxxxxxxxx ursra. */ return 599; } @@ -17489,7 +18435,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxx1110xxxxxxxx111111xx + xx111111xxxxxxxx0111xxxxxxxxxxxx uqshl. */ return 603; } @@ -17502,76 +18448,87 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 28) & 0x1) == 0) { - if (((word >> 10) & 0x1) == 0) + if (((word >> 14) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 13) & 0x1) == 0) - { - if (((word >> 14) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x0001xxxxxxxx11110xxx - mul. */ - return 104; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x0011xxxxxxxx11110xxx - sqdmulh. */ - return 109; - } - } - else + if (((word >> 12) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x01x1xxxxxxxx1111000x - smull. */ - return 105; + xx001111xxxxxxxx1000x0xxxxxxxxxx + mul. */ + return 104; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x01x1xxxxxxxx1111001x - smull2. */ - return 106; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101111xxxxxxxx1000x0xxxxxxxxxx + fmlal2. */ + return 2017; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101111xxxxxxxx1000x0xxxxxxxxxx + fmlal2. */ + return 2021; + } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x01x1xxxxxxxx1111010x - umull. */ - return 123; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001111xxxxxxxx1010x0xxxxxxxxxx + smull. */ + return 105; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1001111xxxxxxxx1010x0xxxxxxxxxx + smull2. */ + return 106; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x01x1xxxxxxxx1111011x - umull2. */ - return 124; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101111xxxxxxxx1010x0xxxxxxxxxx + umull. */ + return 123; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101111xxxxxxxx1010x0xxxxxxxxxx + umull2. */ + return 124; + } } } } - } - else - { - if (((word >> 13) & 0x1) == 0) + else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 13) & 0x1) == 0) { if (((word >> 23) & 0x1) == 0) { @@ -17579,7 +18536,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxxxx0111100xx + xx0011110xxxxxxx1001x0xxxxxxxxxx fmul. */ return 116; } @@ -17587,7 +18544,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxxxx0111101xx + xx1011110xxxxxxx1001x0xxxxxxxxxx fmulx. */ return 126; } @@ -17598,7 +18555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxxxx1111100xx + xx0011111xxxxxxx1001x0xxxxxxxxxx fmul. */ return 115; } @@ -17606,41 +18563,19 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxxxx1111101xx + xx1011111xxxxxxx1001x0xxxxxxxxxx fmulx. */ return 125; } } } else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x1011xxxxxxxx111100xx - sqrdmulh. */ - return 110; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x1011xxxxxxxx111101xx - sqrdmlah. */ - return 127; - } - } - } - else - { - if (((word >> 14) & 0x1) == 0) { if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1101xxxxxxxx11110x0x + x0x01111xxxxxxxx1011x0xxxxxxxxxx sqdmull. */ return 107; } @@ -17648,27 +18583,16 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1101xxxxxxxx11110x1x + x1x01111xxxxxxxx1011x0xxxxxxxxxx sqdmull2. */ return 108; } } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx0x1111xxxxxxxx11110xxx - sqrdmlsh. */ - return 128; - } } } - } - else - { - if (((word >> 11) & 0x1) == 0) + else { - if (((word >> 14) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { if (((word >> 12) & 0x1) == 0) { @@ -17676,7 +18600,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100x01xxxxxxxx111100xx + xx001111xxxxxxxx10x001xxxxxxxxxx movi. */ return 133; } @@ -17684,7 +18608,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100x01xxxxxxxx111101xx + xx101111xxxxxxxx10x001xxxxxxxxxx mvni. */ return 141; } @@ -17695,7 +18619,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101x01xxxxxxxx111100xx + xx001111xxxxxxxx10x101xxxxxxxxxx orr. */ return 134; } @@ -17703,7 +18627,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101x01xxxxxxxx111101xx + xx101111xxxxxxxx10x101xxxxxxxxxx bic. */ return 142; } @@ -17711,173 +18635,239 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { if (((word >> 29) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxxxxxx111100xx - movi. */ - return 135; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0001111xxxxxxxx10x011xxxxxxxxxx + rshrn. */ + return 376; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1001111xxxxxxxx10x011xxxxxxxxxx + rshrn2. */ + return 377; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx10x011xxxxxxxx111101xx - mvni. */ - return 143; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101111xxxxxxxx10x011xxxxxxxxxx + sqrshrun. */ + return 400; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101111xxxxxxxx10x011xxxxxxxxxx + sqrshrun2. */ + return 401; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxxxxx111100xx - movi. */ - return 136; + x0001111xxxxxxxx10x111xxxxxxxxxx + sqrshrn. */ + return 380; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100111xxxxxxxx111101xx - movi. */ - return 144; + x1001111xxxxxxxx10x111xxxxxxxxxx + sqrshrn2. */ + return 381; } } else { - if (((word >> 29) & 0x1) == 0) + if (((word >> 30) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxxxxxx111100xx - fmov. */ - return 137; + x0101111xxxxxxxx10x111xxxxxxxxxx + uqrshrn. */ + return 404; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101111xxxxxxxx111101xx - fmov. */ - return 146; + x1101111xxxxxxxx10x111xxxxxxxxxx + uqrshrn2. */ + return 405; } } } } } - else + } + else + { + if (((word >> 13) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 10) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110xx1xxxxxxxx1111000x - rshrn. */ - return 376; + xx001111xxxxxxxx1100x0xxxxxxxxxx + sqdmulh. */ + return 109; } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx110xx1xxxxxxxx1111001x - rshrn2. */ - return 377; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x0101111xxxxxxxx1100x0xxxxxxxxxx + fmlsl2. */ + return 2018; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x1101111xxxxxxxx1100x0xxxxxxxxxx + fmlsl2. */ + return 2022; + } } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110xx1xxxxxxxx1111010x - sqrshrun. */ - return 400; + xx001111xxxxxxxx1101x0xxxxxxxxxx + sqrdmulh. */ + return 110; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110xx1xxxxxxxx1111011x - sqrshrun2. */ - return 401; + xx101111xxxxxxxx1101x0xxxxxxxxxx + sqrdmlah. */ + return 127; } } } else { - if (((word >> 13) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { - if (((word >> 29) & 0x1) == 0) + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001111xxxxxxxx110xx1xxxxxxxxxx + movi. */ + return 135; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101111xxxxxxxx110xx1xxxxxxxxxx + mvni. */ + return 143; + } + } + } + else + { + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 29) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx001111xxxxxxxx1110xxxxxxxxxxxx + movi. */ + return 136; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xx101111xxxxxxxx1110xxxxxxxxxxxx + movi. */ + return 144; + } + } + else + { + if (((word >> 10) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + xxx01111xxxxxxxx1111x0xxxxxxxxxx + sqrdmlsh. */ + return 128; + } + else + { + if (((word >> 11) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x1xxxxxxxx1111000x - sqrshrn. */ - return 380; + xx001111xxxxxxxx111101xxxxxxxxxx + fmov. */ + return 137; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x1xxxxxxxx1111001x - sqrshrn2. */ - return 381; + xx101111xxxxxxxx111101xxxxxxxxxx + fmov. */ + return 146; } } else { - if (((word >> 30) & 0x1) == 0) + if (((word >> 29) & 0x1) == 0) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x1xxxxxxxx1111010x - uqrshrn. */ - return 404; + xx001111xxxxxxxx111111xxxxxxxxxx + fmov. */ + return 138; } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x1xxxxxxxx1111011x - uqrshrn2. */ - return 405; + xx101111xxxxxxxx111111xxxxxxxxxx + fcvtzu. */ + return 412; } } } - else - { - if (((word >> 29) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1111x1xxxxxxxx111100xx - fmov. */ - return 138; - } - else - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - xxxxxxxxxx1111x1xxxxxxxx111101xx - fcvtzu. */ - return 412; - } - } } } } @@ -17892,7 +18882,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx0xx1111100x + x0011111xx0xxxxx1xxxxxxxxxxxxxxx fmsub. */ return 842; } @@ -17900,7 +18890,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxxxxxxx1xxxxx1xx1111100x + x0011111xx1xxxxx1xxxxxxxxxxxxxxx fnmsub. */ return 846; } @@ -17913,7 +18903,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x0xx1xxxxxxxx1111101x + x1011111xxxxxxxx1xx0x0xxxxxxxxxx sqdmulh. */ return 422; } @@ -17927,7 +18917,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxxxx01111101x + x10111110xxxxxxx1001x0xxxxxxxxxx fmul. */ return 429; } @@ -17935,7 +18925,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1001xxxxxxx11111101x + x10111111xxxxxxx1001x0xxxxxxxxxx fmul. */ return 428; } @@ -17944,7 +18934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x1011xxxxxxxx1111101x + x1011111xxxxxxxx1101x0xxxxxxxxxx sqrdmulh. */ return 423; } @@ -17953,7 +18943,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0x11x1xxxxxxxx1111101x + x1011111xxxxxxxx1x11x0xxxxxxxxxx sqdmull. */ return 421; } @@ -17967,7 +18957,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx100xx1xxxxxxxx1111101x + x1011111xxxxxxxx1xx001xxxxxxxxxx scvtf. */ return 592; } @@ -17975,7 +18965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101xx1xxxxxxxx1111101x + x1011111xxxxxxxx1xx101xxxxxxxxxx sqshrn. */ return 590; } @@ -17986,7 +18976,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x0x1xxxxxxxx1111101x + x1011111xxxxxxxx1x0x11xxxxxxxxxx sqrshrn. */ return 591; } @@ -17994,7 +18984,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx11x1x1xxxxxxxx1111101x + x1011111xxxxxxxx1x1x11xxxxxxxxxx fcvtzs. */ return 594; } @@ -18014,7 +19004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx001xxxxxxx0111111xx + xx1111110xxxxxxx100xx0xxxxxxxxxx fmulx. */ return 431; } @@ -18022,7 +19012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx001xxxxxxx1111111xx + xx1111111xxxxxxx100xx0xxxxxxxxxx fmulx. */ return 430; } @@ -18031,7 +19021,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx011xxxxxxxx111111xx + xx111111xxxxxxxx110xx0xxxxxxxxxx sqrdmlah. */ return 432; } @@ -18040,7 +19030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx0xx1x1xxxxxxxx111111xx + xx111111xxxxxxxx1x1xx0xxxxxxxxxx sqrdmlsh. */ return 433; } @@ -18055,7 +19045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1000x1xxxxxxxx111111xx + xx111111xxxxxxxx1x0001xxxxxxxxxx sqshrun. */ return 604; } @@ -18063,7 +19053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1001x1xxxxxxxx111111xx + xx111111xxxxxxxx1x1001xxxxxxxxxx ucvtf. */ return 608; } @@ -18072,7 +19062,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx101xx1xxxxxxxx111111xx + xx111111xxxxxxxx1xx101xxxxxxxxxx uqshrn. */ return 606; } @@ -18083,7 +19073,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx110xx1xxxxxxxx111111xx + xx111111xxxxxxxx1xx011xxxxxxxxxx sqrshrun. */ return 605; } @@ -18093,7 +19083,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1110x1xxxxxxxx111111xx + xx111111xxxxxxxx1x0111xxxxxxxxxx uqrshrn. */ return 607; } @@ -18101,7 +19091,7 @@ aarch64_opcode_lookup_1 (uint32_t word) { /* 33222222222211111111110000000000 10987654321098765432109876543210 - xxxxxxxxxx1111x1xxxxxxxx111111xx + xx111111xxxxxxxx1x1111xxxxxxxxxx fcvtzu. */ return 610; } @@ -18147,7 +19137,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 1174: value = 1175; break; /* dmb --> isb. */ case 1175: value = 1176; break; /* isb --> sys. */ case 1176: value = 1181; break; /* sys --> msr. */ - case 1181: return NULL; /* msr --> NULL. */ + case 1181: value = 2023; break; /* msr --> cfinv. */ + case 2023: return NULL; /* cfinv --> NULL. */ case 1182: value = 1183; break; /* sysl --> mrs. */ case 1183: return NULL; /* mrs --> NULL. */ case 434: value = 435; break; /* st4 --> st1. */ @@ -18314,11 +19305,13 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 403: return NULL; /* uqshrn2 --> NULL. */ case 136: value = 386; break; /* movi --> scvtf. */ case 386: value = 387; break; /* scvtf --> scvtf. */ - case 387: return NULL; /* scvtf --> NULL. */ + case 387: value = 1989; break; /* scvtf --> sdot. */ + case 1989: return NULL; /* sdot --> NULL. */ case 144: value = 145; break; /* movi --> movi. */ case 145: value = 410; break; /* movi --> ucvtf. */ case 410: value = 411; break; /* ucvtf --> ucvtf. */ - case 411: return NULL; /* ucvtf --> NULL. */ + case 411: value = 1988; break; /* ucvtf --> udot. */ + case 1988: return NULL; /* udot --> NULL. */ case 138: value = 388; break; /* fmov --> fcvtzs. */ case 388: value = 389; break; /* fcvtzs --> fcvtzs. */ case 389: return NULL; /* fcvtzs --> NULL. */ @@ -18446,35 +19439,35 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode) case 1152: value = 1153; break; /* movz --> mov. */ case 1158: value = 1191; break; /* hint --> autibsp. */ case 1176: value = 1180; break; /* sys --> tlbi. */ - case 1239: value = 1934; break; /* and --> bic. */ + case 1239: value = 1973; break; /* and --> bic. */ case 1241: value = 1222; break; /* and --> mov. */ case 1242: value = 1226; break; /* ands --> movs. */ - case 1277: value = 1935; break; /* cmpge --> cmple. */ - case 1280: value = 1938; break; /* cmpgt --> cmplt. */ - case 1282: value = 1936; break; /* cmphi --> cmplo. */ - case 1285: value = 1937; break; /* cmphs --> cmpls. */ + case 1277: value = 1974; break; /* cmpge --> cmple. */ + case 1280: value = 1977; break; /* cmpgt --> cmplt. */ + case 1282: value = 1975; break; /* cmphi --> cmplo. */ + case 1285: value = 1976; break; /* cmphs --> cmpls. */ case 1307: value = 1219; break; /* cpy --> mov. */ case 1308: value = 1221; break; /* cpy --> mov. */ - case 1309: value = 1945; break; /* cpy --> fmov. */ + case 1309: value = 1984; break; /* cpy --> fmov. */ case 1321: value = 1214; break; /* dup --> mov. */ case 1322: value = 1216; break; /* dup --> mov. */ - case 1323: value = 1944; break; /* dup --> fmov. */ + case 1323: value = 1983; break; /* dup --> fmov. */ case 1324: value = 1217; break; /* dupm --> mov. */ - case 1326: value = 1939; break; /* eor --> eon. */ + case 1326: value = 1978; break; /* eor --> eon. */ case 1328: value = 1227; break; /* eor --> not. */ case 1329: value = 1228; break; /* eors --> nots. */ - case 1334: value = 1940; break; /* facge --> facle. */ - case 1335: value = 1941; break; /* facgt --> faclt. */ - case 1344: value = 1942; break; /* fcmge --> fcmle. */ - case 1346: value = 1943; break; /* fcmgt --> fcmlt. */ - case 1352: value = 1211; break; /* fcpy --> fmov. */ - case 1369: value = 1210; break; /* fdup --> fmov. */ - case 1667: value = 1212; break; /* orr --> mov. */ - case 1668: value = 1946; break; /* orr --> orn. */ - case 1670: value = 1215; break; /* orr --> mov. */ - case 1671: value = 1225; break; /* orrs --> movs. */ - case 1727: value = 1220; break; /* sel --> mov. */ - case 1728: value = 1223; break; /* sel --> mov. */ + case 1334: value = 1979; break; /* facge --> facle. */ + case 1335: value = 1980; break; /* facgt --> faclt. */ + case 1348: value = 1981; break; /* fcmge --> fcmle. */ + case 1350: value = 1982; break; /* fcmgt --> fcmlt. */ + case 1356: value = 1211; break; /* fcpy --> fmov. */ + case 1379: value = 1210; break; /* fdup --> fmov. */ + case 1694: value = 1212; break; /* orr --> mov. */ + case 1695: value = 1985; break; /* orr --> orn. */ + case 1697: value = 1215; break; /* orr --> mov. */ + case 1698: value = 1225; break; /* orrs --> movs. */ + case 1760: value = 1220; break; /* sel --> mov. */ + case 1761: value = 1223; break; /* sel --> mov. */ default: return NULL; } @@ -18624,38 +19617,38 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) case 1179: value = 1178; break; /* ic --> dc. */ case 1178: value = 1177; break; /* dc --> at. */ case 1177: value = 1176; break; /* at --> sys. */ - case 1934: value = 1239; break; /* bic --> and. */ + case 1973: value = 1239; break; /* bic --> and. */ case 1222: value = 1241; break; /* mov --> and. */ case 1226: value = 1242; break; /* movs --> ands. */ - case 1935: value = 1277; break; /* cmple --> cmpge. */ - case 1938: value = 1280; break; /* cmplt --> cmpgt. */ - case 1936: value = 1282; break; /* cmplo --> cmphi. */ - case 1937: value = 1285; break; /* cmpls --> cmphs. */ + case 1974: value = 1277; break; /* cmple --> cmpge. */ + case 1977: value = 1280; break; /* cmplt --> cmpgt. */ + case 1975: value = 1282; break; /* cmplo --> cmphi. */ + case 1976: value = 1285; break; /* cmpls --> cmphs. */ case 1219: value = 1307; break; /* mov --> cpy. */ case 1221: value = 1308; break; /* mov --> cpy. */ - case 1945: value = 1224; break; /* fmov --> mov. */ + case 1984: value = 1224; break; /* fmov --> mov. */ case 1224: value = 1309; break; /* mov --> cpy. */ case 1214: value = 1321; break; /* mov --> dup. */ case 1216: value = 1213; break; /* mov --> mov. */ case 1213: value = 1322; break; /* mov --> dup. */ - case 1944: value = 1218; break; /* fmov --> mov. */ + case 1983: value = 1218; break; /* fmov --> mov. */ case 1218: value = 1323; break; /* mov --> dup. */ case 1217: value = 1324; break; /* mov --> dupm. */ - case 1939: value = 1326; break; /* eon --> eor. */ + case 1978: value = 1326; break; /* eon --> eor. */ case 1227: value = 1328; break; /* not --> eor. */ case 1228: value = 1329; break; /* nots --> eors. */ - case 1940: value = 1334; break; /* facle --> facge. */ - case 1941: value = 1335; break; /* faclt --> facgt. */ - case 1942: value = 1344; break; /* fcmle --> fcmge. */ - case 1943: value = 1346; break; /* fcmlt --> fcmgt. */ - case 1211: value = 1352; break; /* fmov --> fcpy. */ - case 1210: value = 1369; break; /* fmov --> fdup. */ - case 1212: value = 1667; break; /* mov --> orr. */ - case 1946: value = 1668; break; /* orn --> orr. */ - case 1215: value = 1670; break; /* mov --> orr. */ - case 1225: value = 1671; break; /* movs --> orrs. */ - case 1220: value = 1727; break; /* mov --> sel. */ - case 1223: value = 1728; break; /* mov --> sel. */ + case 1979: value = 1334; break; /* facle --> facge. */ + case 1980: value = 1335; break; /* faclt --> facgt. */ + case 1981: value = 1348; break; /* fcmle --> fcmge. */ + case 1982: value = 1350; break; /* fcmlt --> fcmgt. */ + case 1211: value = 1356; break; /* fmov --> fcpy. */ + case 1210: value = 1379; break; /* fmov --> fdup. */ + case 1212: value = 1694; break; /* mov --> orr. */ + case 1985: value = 1695; break; /* orn --> orr. */ + case 1215: value = 1697; break; /* mov --> orr. */ + case 1225: value = 1698; break; /* movs --> orrs. */ + case 1220: value = 1760; break; /* mov --> sel. */ + case 1223: value = 1761; break; /* mov --> sel. */ default: return NULL; } @@ -18694,29 +19687,28 @@ aarch64_extract_operand (const aarch64_operand *self, case 26: case 27: case 28: - case 36: - case 37: - case 144: - case 145: - case 146: - case 147: - case 148: - case 149: - case 150: + case 29: case 151: case 152: case 153: - case 166: - case 167: - case 168: - case 169: - case 170: - case 171: - case 172: + case 154: + case 155: + case 156: + case 157: + case 158: + case 159: + case 160: case 173: case 174: case 175: + case 176: + case 177: case 178: + case 179: + case 180: + case 181: + case 185: + case 188: return aarch64_ext_regno (self, info, code, inst); case 8: return aarch64_ext_regrt_sysins (self, info, code, inst); @@ -18728,21 +19720,23 @@ aarch64_extract_operand (const aarch64_operand *self, return aarch64_ext_reg_shifted (self, info, code, inst); case 19: return aarch64_ext_ft (self, info, code, inst); - case 29: case 30: case 31: - return aarch64_ext_reglane (self, info, code, inst); case 32: - return aarch64_ext_reglist (self, info, code, inst); + case 190: + return aarch64_ext_reglane (self, info, code, inst); case 33: - return aarch64_ext_ldst_reglist (self, info, code, inst); + return aarch64_ext_reglist (self, info, code, inst); case 34: - return aarch64_ext_ldst_reglist_r (self, info, code, inst); + return aarch64_ext_ldst_reglist (self, info, code, inst); case 35: + return aarch64_ext_ldst_reglist_r (self, info, code, inst); + case 36: return aarch64_ext_ldst_elemlist (self, info, code, inst); + case 37: case 38: - case 48: - case 49: + case 39: + case 40: case 50: case 51: case 52: @@ -18754,100 +19748,105 @@ aarch64_extract_operand (const aarch64_operand *self, case 58: case 59: case 60: - case 71: - case 72: - case 73: + case 61: + case 62: + case 63: case 74: case 75: - case 141: - case 143: - case 158: - case 159: - case 160: - case 161: - case 162: - case 163: - case 164: + case 76: + case 77: + case 78: + case 148: + case 150: case 165: + case 166: + case 167: + case 168: + case 169: + case 170: + case 171: + case 172: return aarch64_ext_imm (self, info, code, inst); - case 39: - case 40: - return aarch64_ext_advsimd_imm_shift (self, info, code, inst); case 41: case 42: + return aarch64_ext_advsimd_imm_shift (self, info, code, inst); case 43: - return aarch64_ext_advsimd_imm_modified (self, info, code, inst); case 44: + case 45: + return aarch64_ext_advsimd_imm_modified (self, info, code, inst); + case 46: return aarch64_ext_shll_imm (self, info, code, inst); - case 47: - case 134: - return aarch64_ext_fpimm (self, info, code, inst); - case 61: + case 49: case 139: + return aarch64_ext_fpimm (self, info, code, inst); + case 64: + case 146: return aarch64_ext_limm (self, info, code, inst); - case 62: + case 65: return aarch64_ext_aimm (self, info, code, inst); - case 63: - return aarch64_ext_imm_half (self, info, code, inst); - case 64: - return aarch64_ext_fbits (self, info, code, inst); case 66: + return aarch64_ext_imm_half (self, info, code, inst); case 67: - case 68: - return aarch64_ext_imm_rotate (self, info, code, inst); + return aarch64_ext_fbits (self, info, code, inst); case 69: case 70: + case 144: + return aarch64_ext_imm_rotate2 (self, info, code, inst); + case 71: + case 143: + return aarch64_ext_imm_rotate1 (self, info, code, inst); + case 72: + case 73: return aarch64_ext_cond (self, info, code, inst); - case 76: - case 83: - return aarch64_ext_addr_simple (self, info, code, inst); - case 77: - return aarch64_ext_addr_regoff (self, info, code, inst); - case 78: case 79: + case 86: + return aarch64_ext_addr_simple (self, info, code, inst); case 80: - return aarch64_ext_addr_simm (self, info, code, inst); + return aarch64_ext_addr_regoff (self, info, code, inst); case 81: - return aarch64_ext_addr_simm10 (self, info, code, inst); case 82: - return aarch64_ext_addr_uimm12 (self, info, code, inst); + case 83: + return aarch64_ext_addr_simm (self, info, code, inst); case 84: - return aarch64_ext_simd_addr_post (self, info, code, inst); + return aarch64_ext_addr_simm10 (self, info, code, inst); case 85: - return aarch64_ext_sysreg (self, info, code, inst); - case 86: - return aarch64_ext_pstatefield (self, info, code, inst); + return aarch64_ext_addr_uimm12 (self, info, code, inst); case 87: + return aarch64_ext_addr_offset (self, info, code, inst); case 88: + return aarch64_ext_simd_addr_post (self, info, code, inst); case 89: + return aarch64_ext_sysreg (self, info, code, inst); case 90: - return aarch64_ext_sysins_op (self, info, code, inst); + return aarch64_ext_pstatefield (self, info, code, inst); case 91: case 92: - return aarch64_ext_barrier (self, info, code, inst); case 93: - return aarch64_ext_prfop (self, info, code, inst); case 94: - return aarch64_ext_hint (self, info, code, inst); + return aarch64_ext_sysins_op (self, info, code, inst); case 95: case 96: + return aarch64_ext_barrier (self, info, code, inst); case 97: + return aarch64_ext_prfop (self, info, code, inst); case 98: - return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst); + return aarch64_ext_hint (self, info, code, inst); case 99: - return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst); + return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst); case 100: - return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst); case 101: case 102: case 103: + return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst); case 104: - return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst); + return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst); case 105: + return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst); case 106: case 107: case 108: case 109: + return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst); case 110: case 111: case 112: @@ -18855,53 +19854,62 @@ aarch64_extract_operand (const aarch64_operand *self, case 114: case 115: case 116: - return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst); case 117: case 118: case 119: case 120: case 121: + return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst); case 122: case 123: case 124: - return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst); case 125: case 126: case 127: case 128: - return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst); case 129: - return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst); + return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst); case 130: - return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst); case 131: - return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst); case 132: - return aarch64_ext_sve_aimm (self, info, code, inst); case 133: - return aarch64_ext_sve_asimm (self, info, code, inst); + return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst); + case 134: + return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst); case 135: - return aarch64_ext_sve_float_half_one (self, info, code, inst); + return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst); case 136: - return aarch64_ext_sve_float_half_two (self, info, code, inst); + return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst); case 137: - return aarch64_ext_sve_float_zero_one (self, info, code, inst); + return aarch64_ext_sve_aimm (self, info, code, inst); case 138: - return aarch64_ext_inv_limm (self, info, code, inst); + return aarch64_ext_sve_asimm (self, info, code, inst); case 140: - return aarch64_ext_sve_limm_mov (self, info, code, inst); + return aarch64_ext_sve_float_half_one (self, info, code, inst); + case 141: + return aarch64_ext_sve_float_half_two (self, info, code, inst); case 142: + return aarch64_ext_sve_float_zero_one (self, info, code, inst); + case 145: + return aarch64_ext_inv_limm (self, info, code, inst); + case 147: + return aarch64_ext_sve_limm_mov (self, info, code, inst); + case 149: return aarch64_ext_sve_scale (self, info, code, inst); - case 154: - case 155: + case 161: + case 162: return aarch64_ext_sve_shlimm (self, info, code, inst); - case 156: - case 157: + case 163: + case 164: return aarch64_ext_sve_shrimm (self, info, code, inst); - case 176: + case 182: + case 183: + case 184: + return aarch64_ext_sve_quad_index (self, info, code, inst); + case 186: return aarch64_ext_sve_index (self, info, code, inst); - case 177: - case 179: + case 187: + case 189: return aarch64_ext_sve_reglist (self, info, code, inst); default: assert (0); abort (); }