diff --git a/arch/arm64/disassembler/decode.h b/arch/arm64/disassembler/decode.h index 2d90eb1d7..11e5a64b2 100644 --- a/arch/arm64/disassembler/decode.h +++ b/arch/arm64/disassembler/decode.h @@ -380,6 +380,7 @@ typedef struct context_ uint64_t pac; bool pacia1716; bool pacib1716; + uint64_t pacinst; uint64_t page; uint64_t pair; uint64_t pairs; @@ -397,6 +398,7 @@ typedef struct context_ uint64_t postindex; uint64_t pref_hint; uint64_t prfop; + bool priority; uint64_t ptype; uint64_t r; uint64_t rd; @@ -422,6 +424,7 @@ typedef struct context_ uint64_t sel_a; uint64_t sel_b; uint64_t selem; + uint64_t select; uint64_t setflags; uint64_t sf; uint64_t sh; diff --git a/arch/arm64/disassembler/decode0.c b/arch/arm64/disassembler/decode0.c index ac2a60465..e100f6375 100644 --- a/arch/arm64/disassembler/decode0.c +++ b/arch/arm64/disassembler/decode0.c @@ -70,17 +70,17 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(!op0 && !(op1&0x305f) && (op2&0x24)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_12_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_31_sme if(!op0 && (op1&0x305f)==1 && !(op2&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_11_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_25_sme if(!op0 && (op1&0x305e)==2 && !(op2&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_10_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_22_sme if(!op0 && (op1&0x305c)==4 && !(op2&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_9_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_17_sme if(!op0 && (op1&0x3058)==8 && !(op2&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_8_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_13_sme if(!op0 && (op1&0x3050)==0x40 && !(op2&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_7_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_9_sme if(!op0 && (op1&0x3010)==0x1000 && !(op2&4)) { /* GROUP: mortlach2_ss_prod */ op0 = (INSWORD>>24)&1; @@ -118,7 +118,7 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(!op0 && !(op1&0x2010) && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_4_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_6_sme if(!op0 && (op1&0x2010)==0x10) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_3_sme if(!op0 && (op1&0x3000)==0x2000 && !(op2&12)) { @@ -231,7 +231,7 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(!(op0&2) && (op1&0x3000)==0x2000 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_5_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_4_sme if(!(op0&2) && (op1&0x307f)==0x3000 && (op2&0x28)==8) { /* GROUP: mortlach2_64bit_prod4 */ op0 = (INSWORD>>29)&1; @@ -248,21 +248,21 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(!(op0&2) && (op1&0x307f)==0x3000 && (op2&0x28)==0x28) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_20_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_32_sme if(!(op0&2) && (op1&0x307f)==0x3001 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_19_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_26_sme if(!(op0&2) && (op1&0x307e)==0x3002 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_18_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_23_sme if(!(op0&2) && (op1&0x307c)==0x3004 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_17_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_18_sme if(!(op0&2) && (op1&0x3078)==0x3008 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_16_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_14_sme if(!(op0&2) && (op1&0x3070)==0x3010 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_15_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_10_sme if(!(op0&2) && (op1&0x3060)==0x3020 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_14_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_8_sme if(!(op0&2) && (op1&0x3040)==0x3040 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_13_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_7_sme if(!(op0&2) && (op1&0x3000)==0x3000 && !(op2&8)) { /* GROUP: mortlach_64bit_prod */ op0 = (INSWORD>>29)&1; @@ -318,17 +318,26 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(op0==2 && (op1&0x6e00)==0x600) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_21_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_11_sme if(op0==2 && (op1&0x7e00)==0x2600) { /* GROUP: mortlach_zt_expand_nctg */ op0 = (INSWORD>>16)&7; op1 = (INSWORD>>14)&3; + op4 = (INSWORD>>6)&1; op2 = (INSWORD>>5)&1; op3 = (INSWORD>>2)&3; + if(!(op0&6) && !op1 && !op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_68_mortlach_zt_expand_nctg + if(op0==2 && !op1 && !op4 && !op2 && !op3) + return decode_iclass_mortlach_expand_4dst3src_nctg(ctx, dec); + if(op0==2 && !op1 && op4 && !op2 && !op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_70_mortlach_zt_expand_nctg if(op0==3 && !op1 && !op2 && !op3) return decode_iclass_mortlach_expand_4dst2src_nctg(ctx, dec); - if(op0==3 && !op1 && op2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_68_mortlach_zt_expand_nctg + if((op0&6)==2 && !op1 && op2 && !op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_69_mortlach_zt_expand_nctg + if((op0&4)==4 && !op1 && !op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_67_mortlach_zt_expand_nctg if(op1==2 && !op3) return decode_iclass_mortlach_expand_4dst_nctg(ctx, dec); if(!(op1&1) && op3==1) @@ -337,36 +346,37 @@ int decode_spec(context *ctx, Instruction *dec) return decode_iclass_mortlach_expand_2dst_nctg(ctx, dec); if((op3&2)==2) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_65_mortlach_zt_expand_nctg - if(op0!=3 && !op1 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_67_mortlach_zt_expand_nctg UNMATCHED; } if(op0==2 && (op1&0x7e00)==0x3600) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_22_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_15_sme if(op0==2 && (op1&0x6e00)==0x2200) { /* GROUP: mortlach_zt_expand_ctg */ op0 = (INSWORD>>22)&1; op1 = (INSWORD>>14)&0x1f; + op4 = (INSWORD>>6)&1; op2 = (INSWORD>>5)&1; op3 = INSWORD&3; if(!op0 && !(op1&0x1b) && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_72_mortlach_zt_expand_ctg - if(!op0 && op1==8 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_73_mortlach_zt_expand_ctg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_74_mortlach_zt_expand_ctg + if(!op0 && op1==8 && !op4 && !op2 && !op3) + return decode_iclass_mortlach_expand_4dst3src_ctg(ctx, dec); + if(!op0 && op1==8 && op4 && !op2 && !op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_76_mortlach_zt_expand_ctg if(!op0 && op1==12 && !op2 && !op3) return decode_iclass_mortlach_expand_4dst2src_ctg(ctx, dec); - if(!op0 && op1==12 && op2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_74_mortlach_zt_expand_ctg + if(!op0 && (op1&0x1b)==8 && op2 && !op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_75_mortlach_zt_expand_ctg if(!op0 && (op1&0x13)==0x10 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_71_mortlach_zt_expand_ctg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_73_mortlach_zt_expand_ctg if(!op0 && (op1&3)==2 && !op3) return decode_iclass_mortlach_expand_4dst_ctg(ctx, dec); if(!op0 && !(op1&1) && op3==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_70_mortlach_zt_expand_ctg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_72_mortlach_zt_expand_ctg if(!op0 && op1&1 && !(op3&1)) return decode_iclass_mortlach_expand_2dst_ctg(ctx, dec); if(!op0 && op3&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_69_mortlach_zt_expand_ctg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_71_mortlach_zt_expand_ctg if(op0) return decode_iclass_mortlach_expand_1dst(ctx, dec); UNMATCHED; @@ -384,9 +394,9 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1 && !op2 && op3==3 && !op4 && !op5) return decode_iclass_mortlach_multi4_za_insert_ctg(ctx, dec); if(!op0 && op1 && !op2 && op3==3 && op4==2 && !op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_82_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_84_mortlach_ins if(!op0 && op1 && op2==1 && (op3&6)==2 && !(op4&1) && !op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_80_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_83_mortlach_ins if(!op1) return decode_iclass_mortlach_insert_pred(ctx, dec); if(op1 && !(op2&2) && !op3 && !(op4&1) && !op5) @@ -394,21 +404,21 @@ int decode_spec(context *ctx, Instruction *dec) if(op1 && !(op2&2) && op3==1 && !op4 && !op5) return decode_iclass_mortlach_multi4_insert_ctg(ctx, dec); if(op1 && !(op2&2) && op3==1 && op4==2 && !op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_81_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_82_mortlach_ins if(op1 && !(op2&2) && !(op3&4) && !(op4&1) && op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_78_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_80_mortlach_ins if(op1 && !(op2&2) && !(op3&4) && op4&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_77_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_79_mortlach_ins if(op1 && !(op2&2) && (op3&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_76_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_78_mortlach_ins if(op1 && (op2&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_75_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_77_mortlach_ins if(op0 && op1 && !(op2&2) && (op3&6)==2 && !(op4&1) && !op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_79_mortlach_ins + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_81_mortlach_ins UNMATCHED; } if(op0==2 && !(op1&0x4e80) && (op2&0x10)==0x10) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_24_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_16_sme if(op0==2 && (op1&0x4e80)==0x80) { /* GROUP: mortlach_ext */ op0 = (INSWORD>>22)&3; @@ -426,15 +436,15 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1 && !op2 && op3==3 && op4==2 && !op5) return decode_iclass_mortlach_multi4_za_extract_zero(ctx, dec); if(!op0 && op1 && !op2 && op3==3 && !(op4&1) && op5==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_91_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_93_mortlach_ext if(!op0 && op1 && op2==1 && (op3&6)==2 && !(op4&1) && !(op5&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_89_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_92_mortlach_ext if(!op1 && !op3 && (op4&2)==2) return decode_iclass_mortlach_extract_zero(ctx, dec); if(!op1 && !(op4&2)) return decode_iclass_mortlach_extract_pred(ctx, dec); if(!op1 && op3 && (op4&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_87_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_86_mortlach_ext if(op1 && !(op2&2) && !op3 && !op4 && !(op5&1)) return decode_iclass_mortlach_multi2_extract_ctg(ctx, dec); if(op1 && !(op2&2) && !op3 && op4==2 && !(op5&1)) @@ -444,17 +454,17 @@ int decode_spec(context *ctx, Instruction *dec) if(op1 && !(op2&2) && op3==1 && op4==2 && !op5) return decode_iclass_mortlach_multi4_extract_zero(ctx, dec); if(op1 && !(op2&2) && op3==1 && !(op4&1) && op5==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_90_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_91_mortlach_ext if(op1 && !(op2&2) && !(op3&4) && !(op4&1) && op5&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_86_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_89_mortlach_ext if(op1 && !(op2&2) && !(op3&4) && op4&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_85_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_88_mortlach_ext if(op1 && !(op2&2) && (op3&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_84_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_87_mortlach_ext if(op1 && (op2&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_83_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_85_mortlach_ext if(op0 && op1 && !(op2&2) && (op3&6)==2 && !(op4&1) && !(op5&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_88_mortlach_ext + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_90_mortlach_ext UNMATCHED; } if(op0==2 && (op1&0x4e00)==0x400 && !(op2&8)) { @@ -463,19 +473,19 @@ int decode_spec(context *ctx, Instruction *dec) op1 = (INSWORD>>17)&3; op2 = (INSWORD>>4)&1; if(!op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_92_mortlach_hvadd + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_94_mortlach_hvadd if(op0 && !op1 && !op2) return decode_iclass_mortlach_addhv(ctx, dec); if(op0 && !op1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_94_mortlach_hvadd + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_96_mortlach_hvadd if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_93_mortlach_hvadd + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_95_mortlach_hvadd UNMATCHED; } if(op0==2 && (op1&0x4e00)==0x400 && (op2&8)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_23_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_12_sme if(op0==2 && (op1&0x4800)==0x800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_6_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_5_sme if(op0==2 && (op1&0x6c20)==0x4800) { /* GROUP: mortlach_multi_array_1a */ op0 = (INSWORD>>22)&1; @@ -485,7 +495,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && !op2 && op3) return decode_iclass_mortlach_multi2_zz_za_fp8_fma_long_long_sm(ctx, dec); if(!op0 && !op1 && op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_98_mortlach_multi_array_1a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_100_mortlach_multi_array_1a if(!op0 && op1==2) return decode_iclass_mortlach_multi2_zz_za_fma_long_sm(ctx, dec); if(!op0 && op1==3) @@ -495,13 +505,13 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==5 && (op2&2)==2) return decode_iclass_mortlach_multi2_z_za_mixed_dot_sm(ctx, dec); if(op0 && !op1 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_96_mortlach_multi_array_1a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_99_mortlach_multi_array_1a if(op0 && op1==2) return decode_iclass_mortlach_multi2_zz_za_mla_long_sm(ctx, dec); if(op0 && op1==3) return decode_iclass_mortlach_multi1_zz_za_mla_long_sm(ctx, dec); if(op0 && op1==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_95_mortlach_multi_array_1a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_97_mortlach_multi_array_1a if(op0 && op1==5 && (op2&2)==2) return decode_iclass_mortlach_multi2_z_za_2way_dot_sm(ctx, dec); if(!op1 && !op3) @@ -517,7 +527,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op1==7 && !(op2&4)) return decode_iclass_mortlach_multi2_zz_za_f16_sm(ctx, dec); if(op1==7 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_97_mortlach_multi_array_1a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_98_mortlach_multi_array_1a UNMATCHED; } if(op0==2 && (op1&0x6c20)==0x4c00) { @@ -529,29 +539,29 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && !op2 && op3) return decode_iclass_mortlach_multi4_zz_za_fp8_fma_long_long_sm(ctx, dec); if(!op0 && !op1 && op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_106_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_107_mortlach_multi_array_1b if(!op0 && op1==1 && !op2) return decode_iclass_mortlach_multi1_zz_za_fp8_fma_long_long_sm(ctx, dec); if(!op0 && op1==1 && op2==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_105_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_108_mortlach_multi_array_1b if(!op0 && op1==2) return decode_iclass_mortlach_multi4_zz_za_fma_long_sm(ctx, dec); if(!op0 && op1==3 && !(op2&6)) return decode_iclass_mortlach_multi1_zz_za_fp8_fma_long_sm(ctx, dec); if(!op0 && (op1&5)==1 && (op2&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_101_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_105_mortlach_multi_array_1b if(!op0 && (op1&5)==1 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_100_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_102_mortlach_multi_array_1b if(!op0 && op1==4) return decode_iclass_mortlach_multi4_z_za_fpdot_sm(ctx, dec); if(!op0 && op1==5 && (op2&2)==2) return decode_iclass_mortlach_multi4_z_za_mixed_dot_sm(ctx, dec); if(op0 && !op1 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_104_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_106_mortlach_multi_array_1b if(op0 && op1==2) return decode_iclass_mortlach_multi4_zz_za_mla_long_sm(ctx, dec); if(op0 && (op1&5)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_99_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_101_mortlach_multi_array_1b if(op0 && op1==4) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_103_mortlach_multi_array_1b if(op0 && op1==5 && (op2&2)==2) @@ -567,7 +577,27 @@ int decode_spec(context *ctx, Instruction *dec) if(op1==7 && !(op2&4)) return decode_iclass_mortlach_multi4_zz_za_f16_sm(ctx, dec); if(op1==7 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_102_mortlach_multi_array_1b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_104_mortlach_multi_array_1b + UNMATCHED; + } + if(op0==2 && (op1&0x683c)==0x483c) { + /* GROUP: mortlach_multi_sve_6 */ + op0 = (INSWORD>>10)&3; + op1 = INSWORD&15; + if(op0==1 && !(op1&3)) + return decode_iclass_mortlach_multi4_lut6_16_ctg(ctx, dec); + if(op0==1 && (op1&3)==1) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_112_mortlach_multi_sve_6 + if(op0==1 && (op1&2)==2) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_110_mortlach_multi_sve_6 + if(op0==3 && !(op1&12)) + return decode_iclass_mortlach_multi4_lut6_16_nctg(ctx, dec); + if(op0==3 && (op1&12)==4) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_113_mortlach_multi_sve_6 + if(op0==3 && (op1&8)==8) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_111_mortlach_multi_sve_6 + if(!(op0&1)) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_109_mortlach_multi_sve_6 UNMATCHED; } if(op0==2 && (op1&0x6860)==0x6800) { @@ -582,41 +612,41 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op3 && op4 && !op5 && !op6) return decode_iclass_mortlach_multi2_zz_za_fp8_fma_long_long_mm(ctx, dec); if(!op0 && !op3 && op4 && op5==1 && !op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_120_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_130_mortlach_multi_array_2a if(!op0 && !op3 && op4 && (op5&6)==4 && !op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_118_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_128_mortlach_multi_array_2a if(!op0 && !op3 && op4 && !(op5&2) && op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_115_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_124_mortlach_multi_array_2a if(!op0 && op3==2 && !op4 && !(op5&1)) return decode_iclass_mortlach_multi2_zz_za_fma_long_mm(ctx, dec); if(!op0 && op3==2 && op4 && !op5) return decode_iclass_mortlach_multi2_zz_za_fp8_fma_long_mm(ctx, dec); if(!op0 && op3==2 && op4 && op5==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_119_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_129_mortlach_multi_array_2a if(!op0 && op3==2 && op4 && (op5&3)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_117_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_125_mortlach_multi_array_2a if(!op0 && (op3&5)==1 && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_109_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_116_mortlach_multi_array_2a if(!op0 && op3==4 && !(op5&2)) return decode_iclass_mortlach_multi2_z_za_fpdot_mm(ctx, dec); if(!op0 && op3==5 && !op4 && (op5&6)==2) return decode_iclass_mortlach_multi2_z_za_mixed_dot_mm(ctx, dec); if(!op0 && op3==5 && !op4 && (op5&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_123_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_126_mortlach_multi_array_2a if(!op0 && op3==6 && op4 && !(op5&2)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_121_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_122_mortlach_multi_array_2a if(!op0 && (op3&5)==5 && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_110_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_117_mortlach_multi_array_2a if(!op0 && !(op3&1) && op4 && (op5&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_111_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_118_mortlach_multi_array_2a if(op0 && op3==2 && !op4 && !(op5&1)) return decode_iclass_mortlach_multi2_zz_za_mla_long_mm(ctx, dec); if(op0 && op3==4 && !op4 && !(op5&2)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_124_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_123_mortlach_multi_array_2a if(op0 && op3==5 && !op4 && (op5&2)==2) return decode_iclass_mortlach_multi2_z_za_2way_dot_mm(ctx, dec); if(op0 && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_107_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_114_mortlach_multi_array_2a if(!op1 && !op2 && op3==7 && !op4 && !(op5&4)) return decode_iclass_mortlach_multi2_z_za_float_mm(ctx, dec); if(!op1 && !op2 && op3==7 && !op4 && (op5&4)==4) @@ -624,17 +654,17 @@ int decode_spec(context *ctx, Instruction *dec) if(!op1 && op2==2 && op3==7 && !op4 && !(op5&4)) return decode_iclass_mortlach_multi2_z_za_f16_mm(ctx, dec); if(!op1 && op2==2 && op3==7 && !op4 && (op5&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_122_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_131_mortlach_multi_array_2a if(!op1 && op2&1 && op3==7 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_113_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_127_mortlach_multi_array_2a if(!op3 && !op4 && !op6) return decode_iclass_mortlach_multi2_zz_za_mla_long_long_mm(ctx, dec); if(!op3 && !op4 && op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_114_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_120_mortlach_multi_array_2a if(op3==2 && !op4 && op5&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_116_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_121_mortlach_multi_array_2a if((op3&5)==1 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_108_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_115_mortlach_multi_array_2a if(op3==4 && !op4 && (op5&2)==2) return decode_iclass_mortlach_multi2_zz_za_f16_mm(ctx, dec); if(op3==5 && !op4 && !(op5&2)) @@ -644,7 +674,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op3==6 && !op4 && (op5&4)==4) return decode_iclass_mortlach_multi2_zz_za_int_mm(ctx, dec); if(op1 && op3==7 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_112_mortlach_multi_array_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_119_mortlach_multi_array_2a UNMATCHED; } if(op0==2 && (op1&0x6860)==0x6840) { @@ -659,33 +689,33 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !(op2&1) && !op3 && op4==1 && !op5 && !op6) return decode_iclass_mortlach_multi4_zz_za_fp8_fma_long_long_mm(ctx, dec); if(!op0 && !(op2&1) && !op3 && op4==1 && op5==1 && !op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_139_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_150_mortlach_multi_array_2b if(!op0 && !(op2&1) && !op3 && op4==1 && (op5&6)==4 && !op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_137_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_147_mortlach_multi_array_2b if(!op0 && !(op2&1) && !op3 && op4==1 && !(op5&2) && op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_134_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_144_mortlach_multi_array_2b if(!op0 && !(op2&1) && op3==2 && !op4 && !(op5&1)) return decode_iclass_mortlach_multi4_zz_za_fma_long_mm(ctx, dec); if(!op0 && !(op2&1) && op3==2 && op4==1 && !op5) return decode_iclass_mortlach_multi4_zz_za_fp8_fma_long_mm(ctx, dec); if(!op0 && !(op2&1) && op3==2 && op4==1 && op5==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_138_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_148_mortlach_multi_array_2b if(!op0 && !(op2&1) && op3==2 && op4==1 && (op5&3)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_136_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_145_mortlach_multi_array_2b if(!op0 && !(op2&1) && (op3&5)==1 && op4==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_129_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_136_mortlach_multi_array_2b if(!op0 && !(op2&1) && op3==4 && !(op4&2) && !(op5&2)) return decode_iclass_mortlach_multi4_z_za_fpdot_mm(ctx, dec); if(!op0 && !(op2&1) && op3==5 && !op4 && (op5&6)==2) return decode_iclass_mortlach_multi4_z_za_mixed_dot_mm(ctx, dec); if(!op0 && !(op2&1) && op3==5 && !op4 && (op5&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_142_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_146_mortlach_multi_array_2b if(!op0 && !(op2&1) && op3==6 && op4==1 && !(op5&2)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_140_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_142_mortlach_multi_array_2b if(!op0 && !(op2&1) && (op3&5)==5 && op4==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_130_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_137_mortlach_multi_array_2b if(!op0 && !(op2&1) && !(op3&1) && op4==1 && (op5&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_131_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_138_mortlach_multi_array_2b if(op0 && !(op2&1) && op3==2 && !op4 && !(op5&1)) return decode_iclass_mortlach_multi4_zz_za_mla_long_mm(ctx, dec); if(op0 && !(op2&1) && op3==4 && !op4 && !(op5&2)) @@ -693,7 +723,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0 && !(op2&1) && op3==5 && !op4 && (op5&2)==2) return decode_iclass_mortlach_multi4_z_za_2way_dot_mm(ctx, dec); if(op0 && !(op2&1) && op4==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_127_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_134_mortlach_multi_array_2b if(!op1 && !op2 && op3==7 && !op4 && !(op5&4)) return decode_iclass_mortlach_multi4_z_za_float_mm(ctx, dec); if(!op1 && !op2 && op3==7 && !op4 && (op5&4)==4) @@ -701,15 +731,15 @@ int decode_spec(context *ctx, Instruction *dec) if(!op1 && op2==2 && op3==7 && !op4 && !(op5&4)) return decode_iclass_mortlach_multi4_z_za_f16_mm(ctx, dec); if(!op1 && op2==2 && op3==7 && !op4 && (op5&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_141_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_149_mortlach_multi_array_2b if(!(op2&1) && !op3 && !op4 && !op6) return decode_iclass_mortlach_multi4_zz_za_mla_long_long_mm(ctx, dec); if(!(op2&1) && !op3 && !op4 && op6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_133_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_140_mortlach_multi_array_2b if(!(op2&1) && op3==2 && !op4 && op5&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_135_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_141_mortlach_multi_array_2b if(!(op2&1) && (op3&5)==1 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_128_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_135_mortlach_multi_array_2b if(!(op2&1) && op3==4 && !op4 && (op5&2)==2) return decode_iclass_mortlach_multi4_zz_za_f16_mm(ctx, dec); if(!(op2&1) && op3==5 && !op4 && !(op5&2)) @@ -719,13 +749,15 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op2&1) && op3==6 && !op4 && (op5&4)==4) return decode_iclass_mortlach_multi4_zz_za_int_mm(ctx, dec); if(!(op2&1) && (op4&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_126_mortlach_multi_array_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_133_mortlach_multi_array_2b if(op2&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_125_mortlach_multi_array_2b - if(op1 && !(op2&1) && op3==7 && !op4) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_132_mortlach_multi_array_2b + if(op1 && !(op2&1) && op3==7 && !op4) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_139_mortlach_multi_array_2b UNMATCHED; } + if(op0==2 && (op1&0x683c)==0x683c) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_19_sme if(op0==2 && (op1&0x4c00)==0x4000) { /* GROUP: mortlach_multi_indexed_1 */ op0 = (INSWORD>>22)&3; @@ -736,17 +768,17 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==1 && !op2) return decode_iclass_mortlach_multi1_fp8_fma_long_long_idx(ctx, dec); if(op0==1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_144_mortlach_multi_indexed_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_151_mortlach_multi_indexed_1 if(op0==2 && !op1 && !(op2&1)) return decode_iclass_mortlach_multi1_mla_long_long_idx_d(ctx, dec); if(op0==2 && !op1 && op2&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_146_mortlach_multi_indexed_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_152_mortlach_multi_indexed_1 if(op0==2 && op1) return decode_iclass_mortlach_multi1_fma_long_idx(ctx, dec); if(op0==3 && !op1 && !(op2&4)) return decode_iclass_mortlach_multi1_fp8_fma_long_idx(ctx, dec); if(op0==3 && !op1 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_145_mortlach_multi_indexed_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_153_mortlach_multi_indexed_1 if(op0==3 && op1) return decode_iclass_mortlach_multi1_mla_long_idx(ctx, dec); UNMATCHED; @@ -766,15 +798,15 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==2 && !op1 && !op2) return decode_iclass_mortlach_multi2_mla_long_long_idx_d(ctx, dec); if(op0==2 && op1==1 && !op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_149_mortlach_multi_indexed_2 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_155_mortlach_multi_indexed_2 if(op0==2 && !(op1&2) && op2 && !op3) return decode_iclass_mortlach_multi2_fp8_fma_long_long_idx(ctx, dec); if(op0==2 && !(op1&2) && op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_148_mortlach_multi_indexed_2 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_156_mortlach_multi_indexed_2 if(op0==2 && (op1&2)==2 && !op2) return decode_iclass_mortlach_multi2_fma_long_idx(ctx, dec); if(op0==2 && (op1&2)==2 && op2 && !(op3&2)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_150_mortlach_multi_indexed_2 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_157_mortlach_multi_indexed_2 if(op0==2 && (op1&2)==2 && op2 && (op3&2)==2) return decode_iclass_mortlach_multi2_fp8_fma_long_idx(ctx, dec); if(op0==3 && !op1 && !op2) @@ -786,7 +818,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==3 && op2 && !(op3&2)) return decode_iclass_mortlach_multi2_fp8_fdot_idx(ctx, dec); if(op0==3 && op2 && (op3&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_147_mortlach_multi_indexed_2 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_154_mortlach_multi_indexed_2 UNMATCHED; } if(op0==2 && (op1&0x4c20)==0x4420) { @@ -800,37 +832,37 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !(op1&2) && op2==4 && !op3) return decode_iclass_mortlach_multi4_fp8_fma_long_long_idx(ctx, dec); if(!op0 && !(op1&2) && op2==4 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_157_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_165_mortlach_multi_indexed_3 if(!op0 && (op1&2)==2 && !(op2&4)) return decode_iclass_mortlach_multi4_zza_idx_h(ctx, dec); if(!op0 && (op1&2)==2 && op2==4) return decode_iclass_mortlach_multi4_fp8_fdot_idx_h(ctx, dec); if(!op0 && op2==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_153_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_161_mortlach_multi_indexed_3 if(!op0 && (op2&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_152_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_159_mortlach_multi_indexed_3 if(op0==1 && !(op2&4)) return decode_iclass_mortlach_multi4_zza_idx_s(ctx, dec); if(op0==2 && !op1 && !(op2&6)) return decode_iclass_mortlach_multi4_mla_long_long_idx_d(ctx, dec); if(op0==2 && op1==1 && !(op2&6)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_158_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_163_mortlach_multi_indexed_3 if(op0==2 && !(op1&2) && (op2&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_155_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_162_mortlach_multi_indexed_3 if(op0==2 && (op1&2)==2 && !(op2&6)) return decode_iclass_mortlach_multi4_fma_long_idx(ctx, dec); if(op0==2 && (op1&2)==2 && op2==2) return decode_iclass_mortlach_multi4_fp8_fma_long_idx(ctx, dec); if(op0==2 && (op1&2)==2 && op2==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_156_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_164_mortlach_multi_indexed_3 if(op0==3 && !(op1&2) && !(op2&6)) return decode_iclass_mortlach_multi4_zza_idx_d(ctx, dec); if(op0==3 && (op1&2)==2 && !(op2&6)) return decode_iclass_mortlach_multi4_mla_long_idx(ctx, dec); if(op0==3 && (op2&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_154_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_160_mortlach_multi_indexed_3 if(op0 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_151_mortlach_multi_indexed_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_158_mortlach_multi_indexed_3 UNMATCHED; } if(op0==2 && (op1&0x4c3e)==0x4828) { @@ -841,31 +873,31 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && !(op2&6)) return decode_iclass_mortlach_multi2_z_z_minmax_sm(ctx, dec); if(!op0 && !op1 && op2==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_165_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_172_mortlach_multi_sve_2a if(!op0 && op1==1 && !(op2&6)) return decode_iclass_mortlach_multi2_z_z_fminmax_sm(ctx, dec); if(!op0 && op1==1 && op2==4) return decode_iclass_mortlach_multi2_z_z_fscale_sm(ctx, dec); if(!op0 && op1==1 && op2==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_166_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_173_mortlach_multi_sve_2a if(!op0 && !(op1&2) && (op2&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_161_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_167_mortlach_multi_sve_2a if(!op0 && op1==2) return decode_iclass_mortlach_multi2_z_z_shift_sm(ctx, dec); if(!op0 && op1==3 && !op2) return decode_iclass_mortlach_multi2_z_z_add_sm(ctx, dec); if(!op0 && op1==3 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_163_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_168_mortlach_multi_sve_2a if(op0 && !op1 && !op2) return decode_iclass_mortlach_multi2_z_z_sqdmulh_sm(ctx, dec); if(op0 && !op1 && (op2&3)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_162_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_170_mortlach_multi_sve_2a if(op0 && !op1 && op2&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_160_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_169_mortlach_multi_sve_2a if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_159_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_166_mortlach_multi_sve_2a if(!op1 && op2==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_164_mortlach_multi_sve_2a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_171_mortlach_multi_sve_2a UNMATCHED; } if(op0==2 && (op1&0x4c3e)==0x482a && !(op2&2)) { @@ -876,44 +908,44 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && !(op2&6)) return decode_iclass_mortlach_multi4_z_z_minmax_sm(ctx, dec); if(!op0 && !op1 && op2==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_173_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_180_mortlach_multi_sve_2b if(!op0 && op1==1 && !(op2&6)) return decode_iclass_mortlach_multi4_z_z_fminmax_sm(ctx, dec); if(!op0 && op1==1 && op2==4) return decode_iclass_mortlach_multi4_z_z_fscale_sm(ctx, dec); if(!op0 && op1==1 && op2==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_174_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_181_mortlach_multi_sve_2b if(!op0 && !(op1&2) && (op2&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_169_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_175_mortlach_multi_sve_2b if(!op0 && op1==2) return decode_iclass_mortlach_multi4_z_z_shift_sm(ctx, dec); if(!op0 && op1==3 && !op2) return decode_iclass_mortlach_multi4_z_z_add_sm(ctx, dec); if(!op0 && op1==3 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_171_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_176_mortlach_multi_sve_2b if(op0 && !op1 && !op2) return decode_iclass_mortlach_multi4_z_z_sqdmulh_sm(ctx, dec); if(op0 && !op1 && (op2&3)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_170_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_178_mortlach_multi_sve_2b if(op0 && !op1 && op2&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_168_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_177_mortlach_multi_sve_2b if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_167_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_174_mortlach_multi_sve_2b if(!op1 && op2==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_172_mortlach_multi_sve_2b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_179_mortlach_multi_sve_2b UNMATCHED; } if(op0==2 && (op1&0x4c3e)==0x482a && (op2&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_29_sme - if(op0==2 && (op1&0x4c3c)==0x4c28) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_27_sme + if(op0==2 && (op1&0x4c3c)==0x4c28) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_20_sme if(op0==2 && (op1&0x48ff)==0x482e && !(op2&2)) { /* GROUP: mortlach_multi_sve_2d0 */ op0 = (INSWORD>>7)&7; if(!op0) return decode_iclass_mortlach_multi4_z_z_minmax_mm(ctx, dec); if(op0==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_176_mortlach_multi_sve_2d0 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_183_mortlach_multi_sve_2d0 if(op0==2) return decode_iclass_mortlach_multi4_z_z_fminmax_mm(ctx, dec); if(op0==3) @@ -921,7 +953,7 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&6)==4) return decode_iclass_mortlach_multi4_z_z_shift_mm(ctx, dec); if((op0&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_175_mortlach_multi_sve_2d0 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_182_mortlach_multi_sve_2d0 UNMATCHED; } if(op0==2 && (op1&0x48ff)==0x482f && !(op2&2)) { @@ -930,20 +962,18 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0) return decode_iclass_mortlach_multi4_z_z_sqdmulh_mm(ctx, dec); if(op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_177_mortlach_multi_sve_2d1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_184_mortlach_multi_sve_2d1 UNMATCHED; } - if(op0==2 && (op1&0x48fe)==0x482e && (op2&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_30_sme - if(op0==2 && (op1&0x48fe)==0x48ae) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_28_sme + if(op0==2 && (op1&0x48fe)==0x48ae && !(op2&2)) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_33_sme if(op0==2 && (op1&0x487f)==0x482c) { /* GROUP: mortlach_multi_sve_2c0 */ op0 = (INSWORD>>7)&7; if(!op0) return decode_iclass_mortlach_multi2_z_z_minmax_mm(ctx, dec); if(op0==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_179_mortlach_multi_sve_2c0 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_186_mortlach_multi_sve_2c0 if(op0==2) return decode_iclass_mortlach_multi2_z_z_fminmax_mm(ctx, dec); if(op0==3) @@ -951,7 +981,7 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&6)==4) return decode_iclass_mortlach_multi2_z_z_shift_mm(ctx, dec); if((op0&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_178_mortlach_multi_sve_2c0 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_185_mortlach_multi_sve_2c0 UNMATCHED; } if(op0==2 && (op1&0x487f)==0x482d) { @@ -960,13 +990,13 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0) return decode_iclass_mortlach_multi2_z_z_sqdmulh_mm(ctx, dec); if(op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_180_mortlach_multi_sve_2c1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_187_mortlach_multi_sve_2c1 UNMATCHED; } - if(op0==2 && (op1&0x487c)==0x483c) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_26_sme - if(op0==2 && (op1&0x486c)==0x486c) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_25_sme + if(op0==2 && (op1&0x487e)==0x482e && (op2&2)==2) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_28_sme + if(op0==2 && (op1&0x487c)==0x486c) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_21_sme if(op0==2 && (op1&0x4838)==0x4820) { /* GROUP: mortlach_multi_sve_1 */ op0 = (INSWORD>>16)&3; @@ -975,17 +1005,17 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==1 && !op1 && !op2) return decode_iclass_mortlach_multi4_select_int(ctx, dec); if(op0==1 && !op1 && op2==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_185_mortlach_multi_sve_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_192_mortlach_multi_sve_1 if(op0==1 && op1==2 && !(op2&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_184_mortlach_multi_sve_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_191_mortlach_multi_sve_1 if(op0==3 && !(op1&1) && !(op2&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_183_mortlach_multi_sve_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_190_mortlach_multi_sve_1 if(!(op0&1) && !(op1&1) && !(op2&1)) return decode_iclass_mortlach_multi2_select_int(ctx, dec); if(!(op1&1) && op2&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_182_mortlach_multi_sve_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_189_mortlach_multi_sve_1 if(op1&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_181_mortlach_multi_sve_1 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_188_mortlach_multi_sve_1 UNMATCHED; } if(op0==2 && (op1&0x4838)==0x4830) { @@ -996,9 +1026,9 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==5) return decode_iclass_mortlach_multi2_z_z_long_zip(ctx, dec); if(op0==1 && op1==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_187_mortlach_multi_sve_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_194_mortlach_multi_sve_3 if(op0==2 && op1==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_188_mortlach_multi_sve_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_195_mortlach_multi_sve_3 if(op0==3 && op1==5) return decode_iclass_mortlach_multi2_qrshr(ctx, dec); if(!op1) @@ -1010,7 +1040,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op1==3 && !op2) return decode_iclass_mortlach_multi4_clamp_int(ctx, dec); if((op1&6)==2 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_186_mortlach_multi_sve_3 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_193_mortlach_multi_sve_3 if(op1==4) return decode_iclass_mortlach_multi2_z_z_zip(ctx, dec); if((op1&6)==6) @@ -1028,8 +1058,6 @@ int decode_spec(context *ctx, Instruction *dec) return decode_iclass_mortlach_multi2_fpint_cvrt(ctx, dec); if(!op0 && !op1 && op2==2 && !(op4&1)) return decode_iclass_mortlach_multi2_intfp_cvrt(ctx, dec); - if(!op0 && op1==1 && op2==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_220_mortlach_multi_sve_4 if(!op0 && op1==4 && op2==1 && !(op3&2) && !op4) return decode_iclass_mortlach_multi4_fpint_cvrt(ctx, dec); if(!op0 && op1==4 && op2==2 && !(op3&2) && !op4) @@ -1039,11 +1067,13 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==5 && op2==3 && !op3 && !(op4&1)) return decode_iclass_mortlach_multi4_z_z_long_zip(ctx, dec); if(op0==1 && !op1 && op2==1 && !(op4&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_219_mortlach_multi_sve_4 - if(op0==1 && op1==5 && !op2 && !(op3&2) && (op4&2)==2) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_218_mortlach_multi_sve_4 + if(op0==1 && op1==1 && op2==3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_211_mortlach_multi_sve_4 + if(op0==1 && op1==5 && !op2 && !(op3&2) && (op4&2)==2) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_225_mortlach_multi_sve_4 if(op0==1 && (op1&6)==4 && !op2 && !(op3&2) && !(op4&2)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_217_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_219_mortlach_multi_sve_4 if(!(op0&2) && !op1 && !op2) return decode_iclass_mortlach_multi2_narrow_fp_cvrt(ctx, dec); if(!(op0&2) && !op1 && op2==3) @@ -1051,29 +1081,29 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&2) && op1==1 && !op2 && !(op3&1)) return decode_iclass_mortlach_multi2_narrow_fp8_cvrt(ctx, dec); if(!(op0&2) && op1==1 && !op2 && op3&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_221_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_212_mortlach_multi_sve_4 if(op0==2 && !op1 && !op2) return decode_iclass_mortlach_multi2_wide_fp_cvrt(ctx, dec); if(op0==2 && op1==1 && !op2 && (op3&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_214_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_220_mortlach_multi_sve_4 if(op0==2 && (op1&3)==1 && !op2 && !(op3&2)) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_213_mortlach_multi_sve_4 if(op0==3 && !(op1&6) && !op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_205_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_200_mortlach_multi_sve_4 if(op0==3 && op1==5 && !op2 && !(op3&2) && (op4&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_207_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_226_mortlach_multi_sve_4 if(op0==3 && (op1&6)==4 && !op2 && !(op3&2) && !(op4&2)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_206_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_221_mortlach_multi_sve_4 if((op0&2)==2 && !op1 && op2==3 && op4&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_209_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_215_mortlach_multi_sve_4 if((op0&2)==2 && !op1 && op2&1 && !(op4&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_208_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_201_mortlach_multi_sve_4 if(!(op0&1) && op1==4 && !op2 && !(op3&2) && !(op4&2)) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_222_mortlach_multi_sve_4 if(!op1 && op2==1 && op4&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_201_mortlach_multi_sve_4 - if(!op1 && op2==2 && op4&1) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_203_mortlach_multi_sve_4 + if(!op1 && op2==2 && op4&1) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_204_mortlach_multi_sve_4 if(op1==1 && op2==1) return decode_iclass_mortlach_multi2_wide_int(ctx, dec); if(op1==1 && op2==2) @@ -1081,51 +1111,51 @@ int decode_spec(context *ctx, Instruction *dec) if((op1&6)==2 && !(op3&1) && !(op4&1)) return decode_iclass_mortlach_multi2_frint(ctx, dec); if(op1==4 && op2==1 && !(op3&2) && op4==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_202_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_223_mortlach_multi_sve_4 if(op1==4 && op2==1 && (op3&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_194_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_205_mortlach_multi_sve_4 if(op1==4 && op2==2 && !(op3&2) && op4==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_204_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_224_mortlach_multi_sve_4 if(op1==4 && op2==3) return decode_iclass_mortlach_multi4_narrow_int_cvrt(ctx, dec); if(op1==4 && op2!=3 && !(op3&2) && (op4&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_195_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_206_mortlach_multi_sve_4 if(op1==5 && op2==1 && !(op3&1) && !(op4&2)) return decode_iclass_mortlach_multi4_wide_int(ctx, dec); if(op1==5 && op2==1 && !(op3&1) && (op4&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_200_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_216_mortlach_multi_sve_4 if(op1==5 && op2==1 && op3&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_199_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_207_mortlach_multi_sve_4 if(op1==5 && op2==2 && !op3 && !(op4&1)) return decode_iclass_mortlach_multi4_z_z_zip(ctx, dec); if(op1==5 && op2==3 && (op3&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_196_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_208_mortlach_multi_sve_4 if(op1==5 && (op2&2)==2 && !op3 && op4&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_198_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_217_mortlach_multi_sve_4 if(op1==5 && (op2&2)==2 && op3==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_197_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_209_mortlach_multi_sve_4 if((op1&6)==4 && !(op2&1) && (op3&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_193_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_198_mortlach_multi_sve_4 if((op1&6)==6 && !op3 && !op4) return decode_iclass_mortlach_multi4_frint(ctx, dec); if((op1&6)==6 && !op3 && op4==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_192_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_210_mortlach_multi_sve_4 if((op1&6)==6 && op3==2 && !(op4&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_191_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_199_mortlach_multi_sve_4 if((op1&2)==2 && !(op3&1) && op4&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_190_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_197_mortlach_multi_sve_4 if((op1&2)==2 && op3&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_189_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_196_mortlach_multi_sve_4 if(op0 && !op1 && op2==2 && !(op4&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_211_mortlach_multi_sve_4 - if(op0 && op1==1 && op2==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_215_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_214_mortlach_multi_sve_4 if(op0 && op1==4 && op2==1 && !(op3&2) && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_210_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_227_mortlach_multi_sve_4 if(op0 && op1==4 && op2==2 && !(op3&2) && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_212_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_228_mortlach_multi_sve_4 if(op0 && op1==5 && op2==3 && !op3 && !(op4&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_216_mortlach_multi_sve_4 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_229_mortlach_multi_sve_4 + if(op0!=1 && op1==1 && op2==3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_202_mortlach_multi_sve_4 UNMATCHED; } if(op0==2 && (op1&0x483f)==0x4839 && !(op2&0x21)) { @@ -1136,19 +1166,19 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==1 && !op1 && !op2) return decode_iclass_mortlach_multi4_fmul_mm(ctx, dec); if(op0==1 && !op1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_225_mortlach_multi_sve_5a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_232_mortlach_multi_sve_5a if(op0==1 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_224_mortlach_multi_sve_5a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_231_mortlach_multi_sve_5a if(op0==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_223_mortlach_multi_sve_5a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_230_mortlach_multi_sve_5a if(!(op0&1)) return decode_iclass_mortlach_multi2_fmul_mm(ctx, dec); UNMATCHED; } if(op0==2 && (op1&0x483f)==0x4839 && (op2&0x21)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_35_sme - if(op0==2 && (op1&0x483f)==0x4839 && (op2&0x20)==0x20) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_34_sme + if(op0==2 && (op1&0x483f)==0x4839 && (op2&0x20)==0x20) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_29_sme if(op0==2 && (op1&0x483f)==0x483a && !(op2&0x21)) { /* GROUP: mortlach_multi_sve_5b */ op0 = (INSWORD>>16)&1; @@ -1159,17 +1189,17 @@ int decode_spec(context *ctx, Instruction *dec) if(op0 && !op1 && !op2) return decode_iclass_mortlach_multi4_fmul_sm(ctx, dec); if(op0 && !op1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_227_mortlach_multi_sve_5b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_234_mortlach_multi_sve_5b if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_226_mortlach_multi_sve_5b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_233_mortlach_multi_sve_5b UNMATCHED; } if(op0==2 && (op1&0x483f)==0x483a && (op2&0x21)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_33_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_35_sme if(op0==2 && (op1&0x483f)==0x483a && (op2&0x20)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_32_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_30_sme if(op0==2 && (op1&0x483f)==0x483b) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_31_sme + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_24_sme if(op0==3) { /* GROUP: mortlach_mem */ op0 = (INSWORD>>21)&15; @@ -1186,31 +1216,31 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&14)==8 && op2 && !op3 && !op4) return decode_iclass_mortlach_zt_ldst(ctx, dec); if((op0&14)==8 && op2 && !op3 && op4==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_238_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_245_mortlach_mem if((op0&14)==8 && op2 && !op3 && (op4&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_237_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_244_mortlach_mem if((op0&14)==8 && op2 && op3==8 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_236_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_243_mortlach_mem if((op0&14)==8 && op2 && (op3&0x17)==0x10 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_235_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_242_mortlach_mem if((op0&14)==8 && (op3&7)==1 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_233_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_240_mortlach_mem if((op0&14)==8 && (op3&6)==2 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_232_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_239_mortlach_mem if((op0&14)==8 && (op3&4)==4 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_231_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_238_mortlach_mem if((op0&14)==8 && op1 && !op2 && !(op3&7) && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_234_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_241_mortlach_mem if((op0&14)==10 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_229_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_236_mortlach_mem if((op0&14)==12 && !(op4&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_230_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_237_mortlach_mem if(op0==14 && !(op4&4)) return decode_iclass_mortlach_contig_qload(ctx, dec); if(op0==15 && !(op4&4)) return decode_iclass_mortlach_contig_qstore(ctx, dec); if((op4&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_228_mortlach_mem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_235_mortlach_mem UNMATCHED; } UNMATCHED; @@ -1288,7 +1318,7 @@ int decode_spec(context *ctx, Instruction *dec) /* GROUP: sve_int_unpred_logical */ op0 = (INSWORD>>10)&7; if(!(op0&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_260_sve_int_unpred_logical + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_265_sve_int_unpred_logical if(op0==4) return decode_iclass_sve_int_bin_cons_log(ctx, dec); if(op0==5) @@ -1331,8 +1361,10 @@ int decode_spec(context *ctx, Instruction *dec) return decode_iclass_sve_int_mul_b(ctx, dec); if((op0&6)==4) return decode_iclass_sve_int_sqdmulh(ctx, dec); - if((op0&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_261_sve_int_unpred_arit_b + if(op0==6) + return decode_iclass_sve_int_addqp(ctx, dec); + if(op0==7) + return decode_iclass_sve_int_addsubp(ctx, dec); UNMATCHED; } if(!op0 && (op1&0x90)==0x10 && (op2&0x38)==0x20) { @@ -1364,15 +1396,15 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==4) return decode_iclass_sve_int_count(ctx, dec); if(!op0 && op1==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_264_sve_countelt + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_268_sve_countelt if(op0 && !op1) return decode_iclass_sve_int_countvlv1(ctx, dec); if(op0 && op1==4) return decode_iclass_sve_int_pred_pattern_a(ctx, dec); if(op0 && (op1&3)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_263_sve_countelt + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_267_sve_countelt if((op1&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_262_sve_countelt + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_266_sve_countelt if((op1&6)==6) return decode_iclass_sve_int_pred_pattern_b(ctx, dec); UNMATCHED; @@ -1392,7 +1424,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0) return decode_iclass_sve_int_perm_bin_long_perm_zz(ctx, dec); if(op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_265_sve_perm_inter_long + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_269_sve_perm_inter_long UNMATCHED; } if(!op0 && (op1&0x98)==0x80) { @@ -1402,7 +1434,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==3 && !op1) return decode_iclass_sve_int_dup_mask_imm(ctx, dec); if(op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_266_sve_maskimm + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_270_sve_maskimm if(op0!=3 && !op1) return decode_iclass_sve_int_log_imm(ctx, dec); UNMATCHED; @@ -1413,11 +1445,11 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&4)) return decode_iclass_sve_int_dup_imm_pred(ctx, dec); if((op0&6)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_267_sve_wideimm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_271_sve_wideimm_pred if(op0==6) return decode_iclass_sve_int_dup_fpimm_pred(ctx, dec); if(op0==7) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_268_sve_wideimm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_272_sve_wideimm_pred UNMATCHED; } if(!op0 && (op1&0x90)==0x90 && op2==9) { @@ -1429,9 +1461,9 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==1 && !op1) return decode_iclass_sve_int_perm_extq(ctx, dec); if(op0==1 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_270_sve_perm_quads_a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_274_sve_perm_quads_a if((op0&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_269_sve_perm_quads_a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_273_sve_perm_quads_a UNMATCHED; } if(!op0 && (op1&0x90)==0x90 && op2==14) { @@ -1445,33 +1477,33 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==4) return decode_iclass_sve_int_perm_insrs(ctx, dec); if(!op0 && (op1&3)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_272_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_277_sve_perm_unpred_d if(!op0 && (op1&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_271_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_275_sve_perm_unpred_d if(op0==1 && !(op1&1) && !op3) return decode_iclass_sve_int_mov_v2p(ctx, dec); if(op0==1 && !(op1&1) && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_277_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_278_sve_perm_unpred_d if(op0==1 && op1&1 && !op2) return decode_iclass_sve_int_mov_p2v(ctx, dec); if(op0==1 && op1&1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_276_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_279_sve_perm_unpred_d if(op0==2 && !(op1&4)) return decode_iclass_sve_int_perm_unpk(ctx, dec); if(op0==2 && op1==4) return decode_iclass_sve_int_perm_insrv(ctx, dec); if(op0==2 && op1==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_275_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_281_sve_perm_unpred_d if(op0==2 && (op1&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_274_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_280_sve_perm_unpred_d if(op0==3 && !op1) return decode_iclass_sve_int_perm_reverse_z(ctx, dec); if(op0==3 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_273_sve_perm_unpred_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_276_sve_perm_unpred_d UNMATCHED; } if(!op0 && (op1&0x90)==0x90 && op2==15) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_257_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_259_sve if(!op0 && (op1&0x90)==0x90 && (op2&0x38)==0x10) { /* GROUP: sve_perm_predicates */ op0 = (INSWORD>>22)&3; @@ -1485,23 +1517,23 @@ int decode_spec(context *ctx, Instruction *dec) if(op1==0x14 && !op2 && !op3) return decode_iclass_sve_int_perm_reverse_p(ctx, dec); if(op1==0x15 && !op2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_286_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_290_sve_perm_predicates if((op1&0x1a)==0x10 && op2==2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_284_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_288_sve_perm_predicates if((op1&0x1a)==0x10 && (op2&13)==4 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_283_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_287_sve_perm_predicates if((op1&0x1a)==0x10 && (op2&9)==8 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_282_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_286_sve_perm_predicates if((op1&0x1a)==0x12 && !(op2&1) && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_281_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_285_sve_perm_predicates if((op1&0x18)==0x18 && !(op2&1) && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_280_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_284_sve_perm_predicates if(!(op2&1) && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_279_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_283_sve_perm_predicates if(op2&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_278_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_282_sve_perm_predicates if(op0 && (op1&0x1e)==0x10 && !op2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_285_sve_perm_predicates + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_289_sve_perm_predicates UNMATCHED; } if(!op0 && (op1&0x90)==0x90 && (op2&0x30)==0x20) { @@ -1517,7 +1549,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && op3) return decode_iclass_sve_int_perm_last_r(ctx, dec); if(!op0 && op1==1 && op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_291_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_294_sve_perm_pred if(!op0 && op1==1 && !op3) return decode_iclass_sve_int_perm_last_v(ctx, dec); if(!op0 && (op1&6)==2) @@ -1531,25 +1563,25 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==6 && !op2 && !op3) return decode_iclass_sve_int_perm_splice(ctx, dec); if(!op0 && op1==6 && !op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_292_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_295_sve_perm_pred if(!op0 && op1==6 && op2 && !op3) return decode_iclass_sve_intx_perm_splice(ctx, dec); if(!op0 && op1==7 && !op2) return decode_iclass_sve_int_perm_revd(ctx, dec); if(!op0 && op1==7 && op2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_293_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_296_sve_perm_pred if(!op0 && (op1&4)==4 && op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_289_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_292_sve_perm_pred if(!op0 && (op1&3)==1 && !op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_290_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_293_sve_perm_pred if(op0 && !op1 && !op2 && !op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_288_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_297_sve_perm_pred if(op0 && !op1 && op2 && !op3) return decode_iclass_sve_int_perm_expand(ctx, dec); if(op0 && !op1 && op3) return decode_iclass_sve_int_perm_clast_rz(ctx, dec); if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_287_sve_perm_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_291_sve_perm_pred UNMATCHED; } if(op0==1 && !(op1&0x90)) { @@ -1567,7 +1599,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0) return decode_iclass_sve_int_brkp(ctx, dec); if(op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_294_sve_pred_gen_b + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_298_sve_pred_gen_b UNMATCHED; } if(op0==1 && (op1&0x98)==0x88 && (op2&0x30)==0x10) { @@ -1579,19 +1611,19 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==8 && !op2 && !op3) return decode_iclass_sve_int_brkn(ctx, dec); if(!op0 && op1==8 && !op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_300_sve_pred_gen_c + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_304_sve_pred_gen_c if(op0 && op1==8 && !op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_299_sve_pred_gen_c + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_303_sve_pred_gen_c if(!op1 && !op2) return decode_iclass_sve_int_break(ctx, dec); if(!(op1&7) && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_298_sve_pred_gen_c + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_302_sve_pred_gen_c if((op1&7)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_297_sve_pred_gen_c + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_301_sve_pred_gen_c if((op1&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_296_sve_pred_gen_c + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_300_sve_pred_gen_c if((op1&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_295_sve_pred_gen_c + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_299_sve_pred_gen_c UNMATCHED; } if(op0==1 && (op1&0x98)==0x88 && (op2&0x30)==0x30) { @@ -1604,47 +1636,47 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !(op2&1) && !op4) return decode_iclass_sve_int_ptest(ctx, dec); if(!op0 && op2&1 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_305_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_310_sve_pred_gen_d if(op0==1 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_304_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_308_sve_pred_gen_d if(op0==8 && !op1 && !op2 && !op4) return decode_iclass_sve_int_pfirst(ctx, dec); if(op0==8 && !op1 && op2==2 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_314_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_315_sve_pred_gen_d if(op0==8 && op1==4 && op2==2 && !op3 && !op4) return decode_iclass_sve_int_pfalse(ctx, dec); if(op0==8 && op1==4 && op2==2 && op3 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_315_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_318_sve_pred_gen_d if(op0==8 && op1==6 && !op2 && !op4) return decode_iclass_sve_int_rdffr(ctx, dec); if(op0==9 && !op1 && !op2 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_311_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_316_sve_pred_gen_d if(op0==9 && !op1 && op2==2 && !op4) return decode_iclass_sve_int_pnext(ctx, dec); if(op0==9 && op1==4 && op2==2 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_312_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_317_sve_pred_gen_d if(op0==9 && op1==6 && !op2 && !op3 && !op4) return decode_iclass_sve_int_rdffr_2(ctx, dec); if(op0==9 && op1==6 && !op2 && op3 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_313_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_319_sve_pred_gen_d if((op0&14)==8 && op1==2 && !(op2&1) && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_310_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_312_sve_pred_gen_d if((op0&14)==8 && !(op1&5) && op2&1 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_307_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_311_sve_pred_gen_d if((op0&14)==8 && op1==4 && !(op2&2) && !op4) return decode_iclass_sve_int_ptrue(ctx, dec); if((op0&14)==8 && op1==4 && op2==3 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_309_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_314_sve_pred_gen_d if((op0&14)==8 && op1==6 && op2 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_308_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_313_sve_pred_gen_d if((op0&14)==8 && op1&1 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_306_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_309_sve_pred_gen_d if(!(op0&6) && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_303_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_307_sve_pred_gen_d if((op0&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_302_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_306_sve_pred_gen_d if((op0&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_301_sve_pred_gen_d + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_305_sve_pred_gen_d UNMATCHED; } if(op0==1 && (op1&0x9c)==0x90 && (op2&0x30)==0x20) { @@ -1656,7 +1688,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op1) return decode_iclass_sve_int_pcount_pred(ctx, dec); if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_316_sve_pred_count_a + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_320_sve_pred_count_a UNMATCHED; } if(op0==1 && (op1&0x9c)==0x94 && (op2&0x3c)==0x20) { @@ -1685,19 +1717,19 @@ int decode_spec(context *ctx, Instruction *dec) if(op0 && !op1 && !op2 && !op3 && !op4) return decode_iclass_sve_int_setffr(ctx, dec); if(op0 && !op1 && !op2 && op3 && !op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_320_sve_pred_wrffr + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_324_sve_pred_wrffr if(!op1 && !op2 && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_319_sve_pred_wrffr + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_323_sve_pred_wrffr if(!op1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_318_sve_pred_wrffr + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_322_sve_pred_wrffr if(op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_317_sve_pred_wrffr + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_321_sve_pred_wrffr UNMATCHED; } if(op0==1 && (op1&0x9c)==0x94 && (op2&0x38)==0x28) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_248_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_255_sve if(op0==1 && (op1&0x98)==0x98 && (op2&0x30)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_239_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_246_sve if(op0==1 && (op1&0x90)==0x90 && !(op2&0x30)) { /* GROUP: sve_cmpgpr */ op0 = (INSWORD>>12)&3; @@ -1708,11 +1740,11 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==2 && !op1 && !op2) return decode_iclass_sve_int_cterm(ctx, dec); if(op0==2 && !op1 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_322_sve_cmpgpr + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_326_sve_cmpgpr if(op0==3 && !op1) return decode_iclass_sve_int_whilenc(ctx, dec); if((op0&2)==2 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_321_sve_cmpgpr + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_325_sve_cmpgpr UNMATCHED; } if(op0==1 && (op1&0x90)==0x90 && (op2&0x30)==0x10 && op3) { @@ -1726,15 +1758,15 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==7 && !op2 && !op3) return decode_iclass_sve_int_pn_ptrue(ctx, dec); if(!op0 && op1==7 && !op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_325_sve_while_pn + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_329_sve_while_pn if(!op0 && op1==7 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_324_sve_while_pn + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_328_sve_while_pn if((op1&6)==2) return decode_iclass_sve_int_while_rr_pair(ctx, dec); if(!(op1&2)) return decode_iclass_sve_int_while_rr_pn(ctx, dec); if(op0 && (op1&6)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_323_sve_while_pn + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_327_sve_while_pn UNMATCHED; } if(op0==1 && (op1&0x90)==0x90 && (op2&0x30)==0x30) { @@ -1754,7 +1786,7 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(op0==2 && (op1&0xb0)==0x20 && (op2&0x3e)==0x32) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_258_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_260_sve if(op0==2 && !(op1&0x90) && !(op2&0x20)) { /* GROUP: sve_intx_muladd_unpred */ op0 = (INSWORD>>10)&0x1f; @@ -1775,7 +1807,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==0x1e) return decode_iclass_sve_intx_mixed_dot(ctx, dec); if(op0==0x1f) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_326_sve_intx_muladd_unpred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_330_sve_intx_muladd_unpred UNMATCHED; } if(op0==2 && !(op1&0x90) && (op2&0x30)==0x20) { @@ -1785,9 +1817,9 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==2 && op1) return decode_iclass_sve_intx_accumulate_long_pairs(ctx, dec); if(op0==3 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_329_sve_intx_predicated + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_333_sve_intx_predicated if((op0&14)==6 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_328_sve_intx_predicated + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_332_sve_intx_predicated if(!(op0&10) && op1) return decode_iclass_sve_intx_pred_arith_unary(ctx, dec); if(!(op0&8) && !op1) @@ -1799,11 +1831,9 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&12)==12 && !op1) return decode_iclass_sve_intx_pred_arith_binary_sat(ctx, dec); if((op0&12)==12 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_327_sve_intx_predicated + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_331_sve_intx_predicated UNMATCHED; } - if(op0==2 && !(op1&0x90) && (op2&0x3d)==0x35) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_255_sve if(op0==2 && (op1&0x90)==0x10) { /* GROUP: sve_intx_by_indexed_elem */ op0 = (INSWORD>>10)&0x3f; @@ -1820,7 +1850,7 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&0x3c)==0x10) return decode_iclass_sve_intx_cdot_by_indexed_elem(ctx, dec); if((op0&0x3c)==0x14) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_330_sve_intx_by_indexed_elem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_334_sve_intx_by_indexed_elem if((op0&0x3c)==0x18) return decode_iclass_sve_intx_cmla_by_indexed_elem(ctx, dec); if((op0&0x3c)==0x1c) @@ -1836,7 +1866,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==0x3e) return decode_iclass_sve_intx_mul_by_indexed_elem(ctx, dec); if(op0==0x3f) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_331_sve_intx_by_indexed_elem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_335_sve_intx_by_indexed_elem UNMATCHED; } if(op0==2 && (op1&0x90)==0x80 && !(op2&0x20)) { @@ -1857,7 +1887,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && (op1&12)==8) return decode_iclass_sve_intx_shift_long(ctx, dec); if(op0 && (op1&12)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_332_sve_intx_constructive + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_336_sve_intx_constructive if(!(op1&12)) return decode_iclass_sve_intx_clong(ctx, dec); if((op1&14)==4) @@ -1865,7 +1895,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op1==6) return decode_iclass_sve_intx_mmla(ctx, dec); if(op1==7) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_333_sve_intx_constructive + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_337_sve_intx_constructive if((op1&12)==12) return decode_iclass_sve_intx_perm_bit(ctx, dec); UNMATCHED; @@ -1887,7 +1917,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op1==7) return decode_iclass_sve_intx_aba(ctx, dec); if(op0 && op1==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_334_sve_intx_acc + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_338_sve_intx_acc UNMATCHED; } if(op0==2 && (op1&0x90)==0x90 && !(op2&0x20)) { @@ -1903,35 +1933,40 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && op2 && op3==2 && !op4 && !op5) return decode_iclass_sve_intx_multi_extract_narrow(ctx, dec); if(!op0 && !op1 && op2 && op3==2 && !op4 && op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_340_sve_intx_narrowing + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_344_sve_intx_narrowing if(!op0 && !op1 && op2 && op3==2 && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_339_sve_intx_narrowing + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_343_sve_intx_narrowing if(!op0 && !(op3&2)) return decode_iclass_sve_intx_shift_narrow(ctx, dec); if(!op0 && op1 && op3==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_338_sve_intx_narrowing + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_341_sve_intx_narrowing if(op0 && !(op3&2) && !op4 && !op5) return decode_iclass_sve_intx_multi_shift_narrow(ctx, dec); if(op0 && !(op3&2) && !op4 && op5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_336_sve_intx_narrowing + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_342_sve_intx_narrowing if(op0 && !(op3&2) && op4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_335_sve_intx_narrowing + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_339_sve_intx_narrowing if(op0 && op3==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_337_sve_intx_narrowing + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_340_sve_intx_narrowing if(op3==3) return decode_iclass_sve_intx_arith_narrow(ctx, dec); UNMATCHED; } if(op0==2 && (op1&0x90)==0x90 && (op2&0x38)==0x28) { /* GROUP: sve_intx_histseg_lut */ + op2 = (INSWORD>>23)&1; op0 = (INSWORD>>22)&1; op1 = (INSWORD>>10)&7; - if(!op0 && (op1&5)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_341_sve_intx_histseg_lut + if(!op2 && !op0 && op1==1) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_346_sve_intx_histseg_lut + if(!op2 && !op0 && op1==3) + return decode_iclass_sve_intx_lut6_8(ctx, dec); + if(op2 && !op0 && (op1&5)==1) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_345_sve_intx_histseg_lut if(op0 && op1==1) return decode_iclass_sve_intx_lut4_8(ctx, dec); if(op0 && op1==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_342_sve_intx_histseg_lut + return decode_iclass_sve_intx_lut6_16(ctx, dec); if(!op1) return decode_iclass_sve_intx_histseg(ctx, dec); if(op1==4) @@ -1952,9 +1987,9 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && !(op2&6) && !op3) return decode_iclass_sve_crypto_unary(ctx, dec); if(!op0 && !op1 && !(op2&6) && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_347_sve_intx_crypto + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_352_sve_intx_crypto if(!op0 && op1==1 && !(op2&6)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_345_sve_intx_crypto + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_351_sve_intx_crypto if(!op0 && (op1&2)==2 && !(op2&6)) return decode_iclass_sve_crypto_binary_dest(ctx, dec); if(!(op0&1) && (op1&2)==2 && (op2&6)==2) @@ -1962,9 +1997,9 @@ int decode_spec(context *ctx, Instruction *dec) if(op0&1 && (op1&2)==2 && (op2&6)==2) return decode_iclass_sve_crypto_binary_multi4(ctx, dec); if(!op1 && (op2&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_346_sve_intx_crypto + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_349_sve_intx_crypto if(op1==1 && (op2&6)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_344_sve_intx_crypto + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_350_sve_intx_crypto if((op2&6)==4) return decode_iclass_sve_crypto_binary_const(ctx, dec); if(op2==6 && !op4) @@ -1974,13 +2009,11 @@ int decode_spec(context *ctx, Instruction *dec) if((op2&6)==6 && op4) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_348_sve_intx_crypto if(op0 && !(op2&6)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_343_sve_intx_crypto + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_347_sve_intx_crypto UNMATCHED; } - if(op0==3 && (op1&0xd0)==0x50 && op2==0x38) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_256_sve if(op0==3 && (op1&0xb0)==0x10 && (op2&0x3c)==0x1c) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_245_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_256_sve if(op0==3 && (op1&0xb0)==0x10 && (op2&0x33)==0x22) { /* GROUP: sve_fp8_fma_w */ op0 = (INSWORD>>23)&1; @@ -1990,27 +2023,27 @@ int decode_spec(context *ctx, Instruction *dec) if(op0 && !op1) return decode_iclass_sve_fp8_fma_long(ctx, dec); if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_349_sve_fp8_fma_w + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_353_sve_fp8_fma_w UNMATCHED; } if(op0==3 && (op1&0xb0)==0x10 && (op2&0x33)==0x23) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_252_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_257_sve if(op0==3 && (op1&0xb0)==0x10 && (op2&0x34)==0x34) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_246_sve - if(op0==3 && (op1&0xb0)==0x30 && (op2&0x32)==0x22) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_249_sve + if(op0==3 && (op1&0xb0)==0x30 && (op2&0x32)==0x22) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_250_sve if(op0==3 && (op1&0xb0)==0x30 && (op2&0x14)==0x14) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_240_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_247_sve if(op0==3 && (op1&0x9f)==1 && (op2&0x38)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_251_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_264_sve if(op0==3 && (op1&0x9e)==4 && (op2&0x38)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_250_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_261_sve if(op0==3 && !(op1&0x9a) && (op2&0x30)==0x30) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_242_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_251_sve if(op0==3 && (op1&0x9a)==2 && (op2&0x20)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_241_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_248_sve if(op0==3 && (op1&0x9c)==8 && (op2&0x30)==0x30) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_243_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_252_sve if(op0==3 && (op1&0x9c)==12 && (op2&0x20)==0x20) { /* GROUP: sve_fp_zeroing_unary */ op0 = (INSWORD>>16)&7; @@ -2027,9 +2060,9 @@ int decode_spec(context *ctx, Instruction *dec) UNMATCHED; } if(op0==3 && (op1&0x90)==0x10 && op2==11) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_254_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_262_sve if(op0==3 && (op1&0x90)==0x10 && (op2&0x3c)==12) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_244_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_253_sve if(op0==3 && (op1&0x90)==0x10 && (op2&0x34)==0x10) { /* GROUP: sve_fp_fma_w_by_indexed_elem */ op0 = (INSWORD>>23)&1; @@ -2037,7 +2070,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1) return decode_iclass_sve_fp_fdot_by_indexed_elem(ctx, dec); if(!op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_350_sve_fp_fma_w_by_indexed_elem + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_354_sve_fp_fma_w_by_indexed_elem if(op0) return decode_iclass_sve_fp_fma_long_by_indexed_elem(ctx, dec); UNMATCHED; @@ -2049,17 +2082,17 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1) return decode_iclass_sve_fp_fdot(ctx, dec); if(!op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_351_sve_fp_fma_w + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_355_sve_fp_fma_w if(op0) return decode_iclass_sve_fp_fma_long(ctx, dec); UNMATCHED; } if(op0==3 && (op1&0x90)==0x10 && (op2&0x36)==0x24) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_247_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_254_sve if(op0==3 && (op1&0x90)==0x10 && (op2&0x3e)==0x3a) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_253_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_258_sve if(op0==3 && (op1&0x9c)==0x84 && (op2&0x3c)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_259_sve + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_263_sve if(op0==3 && (op1&0x9c)==0x84 && (op2&0x3c)==12) { /* GROUP: sve_fp_unary_unpred */ op0 = (INSWORD>>22)&3; @@ -2071,17 +2104,23 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1==2 && !op3) return decode_iclass_sve_fp8_fcvt_narrow(ctx, dec); if(!op0 && op1==2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_356_sve_fp_unary_unpred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_361_sve_fp_unary_unpred if(!op0 && op1==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_355_sve_fp_unary_unpred - if((op1&6)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_353_sve_fp_unary_unpred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_359_sve_fp_unary_unpred + if(op1==4) + return decode_iclass_sve_fp_ucvtf_wide(ctx, dec); + if(op1==5 && !(op2&2) && !op3) + return decode_iclass_sve_fp_fcvtzu_narrow(ctx, dec); + if(op1==5 && !(op2&2) && op3) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_360_sve_fp_unary_unpred + if(op1==5 && (op2&2)==2) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_358_sve_fp_unary_unpred if((op1&6)==6 && !op2) return decode_iclass_sve_fp_2op_u_zd(ctx, dec); if((op1&6)==6 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_354_sve_fp_unary_unpred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_357_sve_fp_unary_unpred if(op0 && !(op1&4)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_352_sve_fp_unary_unpred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_356_sve_fp_unary_unpred UNMATCHED; } if(op0==3 && (op1&0x9c)==0x88 && (op2&0x38)==8) { @@ -2090,7 +2129,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0) return decode_iclass_sve_fp_2op_p_pd(ctx, dec); if(op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_357_sve_fp_cmpzero + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_362_sve_fp_cmpzero UNMATCHED; } if(op0==3 && (op1&0x9c)==0x8c && (op2&0x38)==8) { @@ -2099,7 +2138,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0) return decode_iclass_sve_fp_2op_p_vd(ctx, dec); if(op0) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_358_sve_fp_slowreduce + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_363_sve_fp_slowreduce UNMATCHED; } if(op0==3 && (op1&0x90)==0x80 && (op2&0x38)==0x20) { @@ -2112,11 +2151,11 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==2 && !op1) return decode_iclass_sve_fp_ftmad(ctx, dec); if(op0==2 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_359_sve_fp_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_364_sve_fp_pred if(op0==3 && !op2) return decode_iclass_sve_fp_2op_i_p_zds(ctx, dec); if(op0==3 && op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_360_sve_fp_pred + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_365_sve_fp_pred UNMATCHED; } if(op0==3 && (op1&0x90)==0x80 && (op2&0x38)==0x28) { @@ -2152,7 +2191,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && op1&1 && !(op2&4) && !op3) return decode_iclass_sve_mem_32b_prfm_sv(ctx, dec); if(!op0 && op1&1 && !(op2&4) && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_361_sve_mem32 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_366_sve_mem32 if(op0==1 && op1&1 && !(op2&4)) return decode_iclass_sve_mem_32b_gld_sv_a(ctx, dec); if(op0==2 && op1&1 && !(op2&4)) @@ -2160,15 +2199,15 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==3 && !(op1&2) && !op2 && !op3) return decode_iclass_sve_mem_32b_pfill(ctx, dec); if(op0==3 && !(op1&2) && !op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_364_sve_mem32 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_370_sve_mem32 if(op0==3 && !(op1&2) && op2==2) return decode_iclass_sve_mem_32b_fill(ctx, dec); if(op0==3 && !(op1&2) && (op2&5)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_362_sve_mem32 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_367_sve_mem32 if(op0==3 && (op1&2)==2 && !(op2&4) && !op3) return decode_iclass_sve_mem_prfm_si(ctx, dec); if(op0==3 && (op1&2)==2 && !(op2&4) && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_363_sve_mem32 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_368_sve_mem32 if(!op1 && (op2&6)==4) return decode_iclass_sve_mem_32b_gldnt_vs(ctx, dec); if(!op1 && op2==6 && !op3) @@ -2176,7 +2215,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!op1 && op2==7 && !op3) return decode_iclass_sve_mem_32b_prfm_vi(ctx, dec); if(!op1 && (op2&6)==6 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_365_sve_mem32 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_369_sve_mem32 if(op1==1 && (op2&4)==4) return decode_iclass_sve_mem_32b_gld_vi(ctx, dec); if((op1&2)==2 && (op2&4)==4) @@ -2203,7 +2242,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==1 && op2==4) return decode_iclass_sve_mem_eldq_ss(ctx, dec); if((op0&2)==2 && op2==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_366_sve_memcld + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_371_sve_memcld if(!op1 && op2==1) return decode_iclass_sve_mem_ldqr_si(ctx, dec); if(!op1 && op2==5) @@ -2219,9 +2258,9 @@ int decode_spec(context *ctx, Instruction *dec) if(op0 && !op1 && op2==7) return decode_iclass_sve_mem_eld_si(ctx, dec); if(op0 && op1 && op2==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_367_sve_memcld + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_372_sve_memcld if(op0 && op1 && op2==7) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_368_sve_memcld + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_373_sve_memcld if(op0 && op2==6) return decode_iclass_sve_mem_eld_ss(ctx, dec); UNMATCHED; @@ -2235,17 +2274,17 @@ int decode_spec(context *ctx, Instruction *dec) if(!op0 && !op1 && op2==5) return decode_iclass_sve_mem_64b_gldq_vs(ctx, dec); if(!op0 && op1==1 && !(op2&4) && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_370_sve_mem64 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_375_sve_mem64 if(!op0 && op1==3 && (op2&4)==4 && !op3) return decode_iclass_sve_mem_64b_prfm_sv2(ctx, dec); if(!op0 && op1==3 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_369_sve_mem64 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_374_sve_mem64 if(!op0 && op1&1 && !(op2&4) && !op3) return decode_iclass_sve_mem_64b_prfm_sv(ctx, dec); if(!op1 && op2==7 && !op3) return decode_iclass_sve_mem_64b_prfm_vi(ctx, dec); if(!op1 && op2==7 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_372_sve_mem64 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_377_sve_mem64 if(!op1 && (op2&5)==4) return decode_iclass_sve_mem_64b_gldnt_vs(ctx, dec); if(op1==1 && (op2&4)==4) @@ -2255,7 +2294,7 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op1&1) && !(op2&4)) return decode_iclass_sve_mem_64b_gld_vs(ctx, dec); if(op0 && !op1 && op2==5) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_371_sve_mem64 + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_376_sve_mem64 if(op0 && op1==3 && (op2&4)==4) return decode_iclass_sve_mem_64b_gld_sv2(ctx, dec); if(op0 && op1&1 && !(op2&4)) @@ -2273,7 +2312,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op0&1 && !op1) return decode_iclass_sve_mem_sstnt_32b_vs(ctx, dec); if(op0 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_373_sve_memsst_nt + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_378_sve_memsst_nt UNMATCHED; } if(op0==7 && (op2&0x38)==0x18) { @@ -2294,19 +2333,19 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&4) && !op1 && !op2) return decode_iclass_sve_mem_estq_si(ctx, dec); if(!(op0&4) && op1==1 && !op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_377_sve_memst_cs + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_380_sve_memst_cs if(!(op0&4) && (op1&2)==2 && !op2) return decode_iclass_sve_mem_estq_ss(ctx, dec); if((op0&6)==4 && !op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_374_sve_memst_cs + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_379_sve_memst_cs if(op0==6 && !op2 && !op3) return decode_iclass_sve_mem_pspill(ctx, dec); if(op0==6 && !op2 && op3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_376_sve_memst_cs + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_382_sve_memst_cs if(op0==6 && op2) return decode_iclass_sve_mem_spill(ctx, dec); if(op0==7 && !op2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_375_sve_memst_cs + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_381_sve_memst_cs if(op0!=6 && op2) return decode_iclass_sve_mem_cst_ss(ctx, dec); UNMATCHED; @@ -2381,6 +2420,8 @@ int decode_spec(context *ctx, Instruction *dec) return decode_iclass_sve_intx_clamp(ctx, dec); if(op0==2 && !(op1&0x90) && (op2&0x3d)==0x34) return decode_iclass_sve_ptr_muladd_unpred(ctx, dec); + if(op0==2 && !(op1&0x90) && (op2&0x3d)==0x35) + return decode_iclass_sve_abal(ctx, dec); if(op0==2 && !(op1&0x90) && (op2&0x38)==0x38) return decode_iclass_sve_int_perm_binquads(ctx, dec); if(op0==2 && (op1&0x90)==0x90 && (op2&0x38)==0x20) @@ -2389,6 +2430,8 @@ int decode_spec(context *ctx, Instruction *dec) return decode_iclass_sve_intx_histcnt(ctx, dec); if(op0==3 && (op1&0xd0)==0x10 && op2==0x38) return decode_iclass_sve_fp8_fmmla(ctx, dec); + if(op0==3 && (op1&0xd0)==0x50 && op2==0x38) + return decode_iclass_sve_fp_fmmla_nw(ctx, dec); if(op0==3 && (op1&0xb0)==0x10 && (op2&0x3c)==0x14) return decode_iclass_sve_fp8_fma_long_by_indexed_elem(ctx, dec); if(op0==3 && !(op1&0x9f) && (op2&0x38)==0x20) @@ -2461,53 +2504,53 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==3 && (op1&0x3008)==8) return decode_iclass_compbranch_regs2(ctx, dec); if((op0&6)==2 && (op1&0x2000)==0x2000) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_378_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_383_control if(op0==6 && !(op1&0x3000)) return decode_iclass_exception(ctx, dec); if(op0==6 && (op1&0x3fec)==0x1000) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_389_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_394_control if(op0==6 && (op1&0x3ffc)==0x1020) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_390_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_396_control if(op0==6 && op1==0x1030) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_391_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_397_control if(op0==6 && op1==0x1031) return decode_iclass_systeminstrswithreg(ctx, dec); if(op0==6 && op1==0x1032 && op2==0x1f) return decode_iclass_hints(ctx, dec); if(op0==6 && op1==0x1032 && op2!=0x1f) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_392_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_398_control if(op0==6 && op1==0x1033) return decode_iclass_barriers(ctx, dec); if(op0==6 && (op1&0x3fcc)==0x1040) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_388_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_392_control if(op0==6 && (op1&0x3f8f)==0x1004) return decode_iclass_pstate(ctx, dec); if(op0==6 && (op1&0x3f8f)==0x1005) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_387_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_395_control if(op0==6 && (op1&0x3f8e)==0x1006) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_386_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_393_control if(op0==6 && (op1&0x3f88)==0x1008) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_385_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_391_control if(op0==6 && (op1&0x3f80)==0x1200) - return decode_iclass_systemresult(ctx, dec); + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_390_control if(op0==6 && (op1&0x3d80)==0x1080) return decode_iclass_systeminstrs(ctx, dec); if(op0==6 && (op1&0x3d00)==0x1100) return decode_iclass_systemmove(ctx, dec); if(op0==6 && (op1&0x3d80)==0x1400) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_384_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_389_control if(op0==6 && (op1&0x3d80)==0x1480) return decode_iclass_syspairinstrs(ctx, dec); if(op0==6 && (op1&0x3d00)==0x1500) return decode_iclass_systemmovepr(ctx, dec); if(op0==6 && (op1&0x3800)==0x1800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_383_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_386_control if(op0==6 && (op1&0x2000)==0x2000) return decode_iclass_branch_reg(ctx, dec); if(op0==7 && (op1&0x3008)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_382_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_387_control if(op0==7 && (op1&0x2000)==0x2000) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_379_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_384_control if(!(op0&3)) return decode_iclass_branch_imm(ctx, dec); if((op0&3)==1 && !(op1&0x2000)) @@ -2517,11 +2560,11 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&3)==3 && !(op1&0x300c)) return decode_iclass_compbranch_regs(ctx, dec); if((op0&3)==3 && (op1&0x300c)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_381_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_388_control if((op0&3)==3 && (op1&0x3004)==0x1000) return decode_iclass_compbranch_imm(ctx, dec); if((op0&3)==3 && (op1&0x3004)==0x1004) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_380_control + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_385_control UNMATCHED; } if((op1&7)==5) { @@ -2545,23 +2588,23 @@ int decode_spec(context *ctx, Instruction *dec) if(op1 && !op2 && (op3&0x38)==8) return decode_iclass_addsub_pt(ctx, dec); if(op1 && !op2 && (op3&0x38)==0x18) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_395_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_401_dpreg if(op1 && !op2 && op3==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_399_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_406_dpreg if(op1 && !op2 && (op3&0x28)==0x28) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_394_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_400_dpreg if(op1 && !op2 && (op3&0x1f)==1) return decode_iclass_rmif(ctx, dec); if(op1 && !op2 && (op3&0x1e)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_398_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_404_dpreg if(op1 && !op2 && (op3&0x1a)==0x10) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_396_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_402_dpreg if(op1 && !op2 && (op3&15)==2) return decode_iclass_setf(ctx, dec); if(op1 && !op2 && (op3&15)==3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_400_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_405_dpreg if(op1 && !op2 && (op3&14)==6) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_397_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_403_dpreg if(op1 && op2==2 && !(op3&2)) return decode_iclass_condcmp_reg(ctx, dec); if(op1 && op2==2 && (op3&2)==2) @@ -2569,7 +2612,7 @@ int decode_spec(context *ctx, Instruction *dec) if(op1 && op2==4) return decode_iclass_condsel(ctx, dec); if(op1 && (op2&9)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_393_dpreg + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_399_dpreg if(op1 && (op2&8)==8) return decode_iclass_dp_3src(ctx, dec); UNMATCHED; @@ -2583,31 +2626,31 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&13) && !(op1&2) && (op2&7)==5 && (op3&0x183)==2) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_432_simd_dp if(!(op0&13) && op1==3 && op3&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_407_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_412_simd_dp if(op0==4 && !(op1&2) && (op2&7)==5 && (op3&0x183)==2) return decode_iclass_cryptoaes(ctx, dec); if(op0==5 && !(op1&2) && !(op2&4) && !(op3&0x23)) return decode_iclass_cryptosha3(ctx, dec); if(op0==5 && !(op1&2) && !(op2&4) && (op3&0x23)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_424_simd_dp - if(op0==5 && !(op1&2) && !(op2&4) && (op3&0x21)==0x20) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_423_simd_dp + if(op0==5 && !(op1&2) && !(op2&4) && (op3&0x21)==0x20) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_417_simd_dp if(op0==5 && !(op1&2) && (op2&7)==5 && (op3&0x183)==2) return decode_iclass_cryptosha2(ctx, dec); if(op0==7 && !(op1&2) && !(op2&4) && !(op3&1)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_422_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_414_simd_dp if((op0&14)==6 && !(op1&2) && (op2&7)==5 && (op3&0x183)==2) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_433_simd_dp if((op0&13)==5 && !op1 && !(op2&12) && (op3&0x21)==1) return decode_iclass_asisdone(ctx, dec); if((op0&13)==5 && op1==1 && !(op2&12) && (op3&0x21)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_430_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_424_simd_dp if((op0&13)==5 && !(op1&2) && op2==7 && (op3&0x183)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_434_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_437_simd_dp if((op0&13)==5 && !(op1&2) && (op2&12)==8 && (op3&0x31)==1) return decode_iclass_asisdsamefp16(ctx, dec); if((op0&13)==5 && !(op1&2) && (op2&12)==8 && (op3&0x31)==0x11) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_435_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_425_simd_dp if((op0&13)==5 && !(op1&2) && op2==15 && (op3&0x183)==2) return decode_iclass_asisdmiscfp16(ctx, dec); if((op0&13)==5 && !(op1&2) && !(op2&4) && (op3&0x21)==0x21) @@ -2619,7 +2662,7 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&13)==5 && !(op1&2) && (op2&4)==4 && (op3&0x183)==0x82) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_426_simd_dp if((op0&13)==5 && !(op1&2) && (op2&4)==4 && (op3&0x103)==0x102) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_425_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_418_simd_dp if((op0&13)==5 && !(op1&2) && (op2&4)==4 && !(op3&3)) return decode_iclass_asisddiff(ctx, dec); if((op0&13)==5 && !(op1&2) && (op2&4)==4 && op3&1) @@ -2629,7 +2672,7 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&13)==5 && (op1&2)==2 && !(op3&1)) return decode_iclass_asisdelem(ctx, dec); if((op0&12)==4 && op1==3 && op3&1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_406_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_410_simd_dp if(!(op0&11) && !(op1&2) && !(op2&4) && !(op3&0x23)) return decode_iclass_asimdtbl(ctx, dec); if(!(op0&11) && !(op1&2) && !(op2&4) && (op3&0x23)==2) @@ -2639,17 +2682,17 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&9) && !op1 && !(op2&12) && (op3&0x21)==1) return decode_iclass_asimdins(ctx, dec); if(!(op0&9) && op1==1 && !(op2&12) && (op3&0x21)==1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_429_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_419_simd_dp if(!(op0&9) && !(op1&2) && op2==7 && (op3&0x183)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_436_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_434_simd_dp if(!(op0&9) && !(op1&2) && (op2&12)==8 && (op3&0x31)==1) return decode_iclass_asimdsamefp16(ctx, dec); if(!(op0&9) && !(op1&2) && (op2&12)==8 && (op3&0x31)==0x11) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_431_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_420_simd_dp if(!(op0&9) && !(op1&2) && op2==15 && (op3&0x183)==2) return decode_iclass_asimdmiscfp16(ctx, dec); if(!(op0&9) && !(op1&2) && !(op2&4) && (op3&0x21)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_419_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_413_simd_dp if(!(op0&9) && !(op1&2) && !(op2&4) && (op3&0x21)==0x21) return decode_iclass_asimdsame2(ctx, dec); if(!(op0&9) && !(op1&2) && (op2&7)==4 && (op3&0x183)==2) @@ -2657,9 +2700,9 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&9) && !(op1&2) && (op2&7)==6 && (op3&0x183)==2) return decode_iclass_asimdall(ctx, dec); if(!(op0&9) && !(op1&2) && (op2&4)==4 && (op3&0x183)==0x82) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_428_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_421_simd_dp if(!(op0&9) && !(op1&2) && (op2&4)==4 && (op3&0x103)==0x102) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_427_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_415_simd_dp if(!(op0&9) && !(op1&2) && (op2&4)==4 && !(op3&3)) return decode_iclass_asimddiff(ctx, dec); if(!(op0&9) && !(op1&2) && (op2&4)==4 && op3&1) @@ -2671,57 +2714,57 @@ int decode_spec(context *ctx, Instruction *dec) if(!(op0&9) && (op1&2)==2 && !(op3&1)) return decode_iclass_asimdelem(ctx, dec); if((op0&13)==8) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_401_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_407_simd_dp if(op0==12 && !op1 && !(op2&8) && (op3&0x20)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_408_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_422_simd_dp if(op0==12 && !op1 && (op2&12)==8 && (op3&0x30)==0x20) return decode_iclass_crypto3_imm2(ctx, dec); if(op0==12 && !op1 && (op2&12)==8 && (op3&0x30)==0x30) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_420_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_428_simd_dp if(op0==12 && !op1 && (op2&12)==12 && (op3&0x2c)==0x20) return decode_iclass_cryptosha512_3(ctx, dec); if(op0==12 && !op1 && (op2&12)==12 && (op3&0x2c)==0x24) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_418_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_435_simd_dp if(op0==12 && !op1 && (op2&12)==12 && (op3&0x28)==0x28) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_417_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_429_simd_dp if(op0==12 && !op1 && !(op3&0x20)) return decode_iclass_crypto4(ctx, dec); if(op0==12 && op1==1 && !(op2&12)) return decode_iclass_crypto3_imm6(ctx, dec); if(op0==12 && op1==1 && op2==8 && !(op3&0x1e0)) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_414_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_440_simd_dp if(op0==12 && op1==1 && op2==8 && (op3&0x1fc)==0x20) return decode_iclass_cryptosha512_2(ctx, dec); if(op0==12 && op1==1 && op2==8 && (op3&0x1fc)==0x30) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_421_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_443_simd_dp if(op0==12 && op1==1 && op2==8 && (op3&0x1ec)==0x24) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_416_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_442_simd_dp if(op0==12 && op1==1 && op2==8 && (op3&0x1e8)==0x28) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_415_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_441_simd_dp if(op0==12 && op1==1 && op2==8 && (op3&0x1c0)==0x40) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_413_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_439_simd_dp if(op0==12 && op1==1 && op2==8 && (op3&0x180)==0x80) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_412_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_438_simd_dp if(op0==12 && op1==1 && op2==8 && (op3&0x100)==0x100) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_411_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_436_simd_dp if(op0==12 && op1==1 && op2==9) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_410_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_430_simd_dp if(op0==12 && op1==1 && (op2&14)==10) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_409_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_427_simd_dp if(op0==12 && op1==1 && (op2&4)==4) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_405_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_416_simd_dp if(op0==12 && (op1&2)==2) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_404_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_411_simd_dp if(op0==14) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_403_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_409_simd_dp if((op0&13)==13) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_402_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_408_simd_dp if((op0&5)==1 && !(op1&2) && !(op2&4)) return decode_iclass_float2fix(ctx, dec); if((op0&5)==1 && !(op1&2) && (op2&4)==4 && !(op3&0x3f)) return decode_iclass_float2int(ctx, dec); if((op0&5)==1 && !(op1&2) && (op2&4)==4 && (op3&0x3f)==0x20) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_437_simd_dp + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_431_simd_dp if((op0&5)==1 && !(op1&2) && (op2&4)==4 && (op3&0x1f)==0x10) return decode_iclass_floatdp1(ctx, dec); if((op0&5)==1 && !(op1&2) && (op2&4)==4 && (op3&15)==8) @@ -2744,43 +2787,43 @@ int decode_spec(context *ctx, Instruction *dec) op1 = (INSWORD>>26)&1; op2 = (INSWORD>>10)&0x7fff; if(!op0 && !op1 && (op2&0x4800)==0x4800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_442_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_449_ldst if(op0==1 && op1 && (op2&0x4800)==0x4800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_453_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_450_ldst if(!(op0&11) && !op1 && (op2&0x6800)==0x800) return decode_iclass_comswappr(ctx, dec); if(!(op0&11) && !op1 && (op2&0x6800)==0x4000) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_454_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_451_ldst if(!(op0&11) && !op1 && (op2&0x6800)==0x6000) return decode_iclass_comswappr_unpriv(ctx, dec); if(!(op0&11) && op1 && !(op2&0x6fc0)) return decode_iclass_asisdlse(ctx, dec); if(!(op0&11) && op1 && (op2&0x6fc0)==0x40) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_455_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_474_ldst if(!(op0&11) && op1 && (op2&0x6800)==0x2000) return decode_iclass_asisdlsep(ctx, dec); if(!(op0&11) && op1 && (op2&0x4800)==0x800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_443_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_445_ldst if(!(op0&11) && op1 && (op2&0x6f80)==0x4880) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_451_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_470_ldst if(!(op0&11) && op1 && (op2&0x6f00)==0x4900) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_449_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_465_ldst if(!(op0&11) && op1 && (op2&0x6e00)==0x4a00) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_447_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_460_ldst if(!(op0&11) && op1 && (op2&0x6c00)==0x4c00) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_445_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_456_ldst if(!(op0&11) && op1 && (op2&0x6780)==0x4000) return decode_iclass_asisdlso(ctx, dec); if(!(op0&11) && op1 && (op2&0x6000)==0x6000) return decode_iclass_asisdlsop(ctx, dec); if(!(op0&11) && op1 && (op2&0x2f80)==0x80) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_450_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_466_ldst if(!(op0&11) && op1 && (op2&0x2f00)==0x100) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_448_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_461_ldst if(!(op0&11) && op1 && (op2&0x2e00)==0x200) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_446_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_457_ldst if(!(op0&11) && op1 && (op2&0x2c00)==0x400) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_444_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_452_ldst if((op0&11)==1 && !op1 && (op2&0x4803)==0x4003) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_458_ldst if((op0&11)==1 && !op1 && (op2&0x483f)==0x4802) @@ -2788,11 +2831,11 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&11)==1 && !op1 && (op2&0x483f)==0x4803) return decode_iclass_rcwcomswappr(ctx, dec); if((op0&11)==1 && !op1 && (op2&0x483e)==0x4806) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_462_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_471_ldst if((op0&11)==1 && !op1 && (op2&0x483a)==0x480a) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_461_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_467_ldst if((op0&11)==1 && !op1 && (op2&0x4832)==0x4812) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_460_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_462_ldst if((op0&11)==1 && !op1 && (op2&0x4822)==0x4822) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_459_ldst if((op0&11)==1 && !op1 && (op2&0x4803)==0x4800) @@ -2802,27 +2845,27 @@ int decode_spec(context *ctx, Instruction *dec) if(op0==9 && !op1 && (op2&0x4803)==0x4003) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_463_ldst if(op0==9 && op1 && (op2&0x4800)==0x4800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_440_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_453_ldst if((op0&14)==8 && !op1 && (op2&0x4800)==0x4800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_439_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_446_ldst if(op0==13 && !op1 && (op2&0x7fe3)==0x47c3) return decode_iclass_ldst_gcs(ctx, dec); if(op0==13 && !op1 && (op2&0x7fe3)==0x67c3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_472_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_485_ldst if(op0==13 && !op1 && (op2&0x5c03)==0x4003) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_465_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_472_ldst if(op0==13 && !op1 && (op2&0x5e03)==0x4403) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_466_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_475_ldst if(op0==13 && !op1 && (op2&0x5f03)==0x4603) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_467_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_477_ldst if(op0==13 && !op1 && (op2&0x5f83)==0x4703) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_468_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_479_ldst if(op0==13 && !op1 && (op2&0x5fc3)==0x4783) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_469_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_481_ldst if(op0==13 && !op1 && (op2&0x5fe3)==0x47e3) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_470_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_483_ldst if(op0==13 && !op1 && (op2&0x5803)==0x5003) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_464_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_468_ldst if(op0==13 && !op1 && (op2&0x4800)==0x4800) return decode_iclass_ldsttags(ctx, dec); if((op0&11)==8 && !op1 && (op2&0x6800)==0x800) @@ -2832,11 +2875,11 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&11)==8 && !op1 && (op2&0x6800)==0x6000) return decode_iclass_comswap_unpriv(ctx, dec); if((op0&11)==8 && op1) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_438_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_444_ldst if((op0&7)==4 && !op1 && (op2&0x4800)==0x4800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_441_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_447_ldst if((op0&7)==5 && op1 && (op2&0x4800)==0x4800) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_452_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_448_ldst if(!(op0&3) && !op1 && !(op2&0x6800)) return decode_iclass_ldstexclr(ctx, dec); if(!(op0&3) && !op1 && (op2&0x6800)==0x2000) @@ -2848,31 +2891,31 @@ int decode_spec(context *ctx, Instruction *dec) if((op0&3)==1 && !op1 && (op2&0x6fff)==0x6002) return decode_iclass_ldapstl_writeback(ctx, dec); if((op0&3)==1 && !op1 && (op2&0x6fff)==0x6006) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_480_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_486_ldst if((op0&3)==1 && !op1 && (op2&0x6ffb)==0x600a) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_479_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_484_ldst if((op0&3)==1 && !op1 && (op2&0x6ff3)==0x6012) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_478_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_482_ldst if((op0&3)==1 && !op1 && (op2&0x6fe3)==0x6022) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_477_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_480_ldst if((op0&3)==1 && !op1 && (op2&0x6fc3)==0x6042) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_476_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_478_ldst if((op0&3)==1 && !op1 && (op2&0x6f83)==0x6082) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_475_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_476_ldst if((op0&3)==1 && !op1 && (op2&0x6f03)==0x6102) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_474_ldst - if((op0&3)==1 && !op1 && (op2&0x6e03)==0x6202) UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_473_ldst + if((op0&3)==1 && !op1 && (op2&0x6e03)==0x6202) + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_469_ldst if((op0&3)==1 && !op1 && (op2&0x6c03)==0x6402) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_471_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_464_ldst if((op0&3)==1 && !op1 && (op2&0x4803)==0x4000) return decode_iclass_ldapstl_unscaled(ctx, dec); if((op0&3)==1 && op1 && (op2&0x4803)==0x4000) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_456_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_454_ldst if((op0&3)==1 && op1 && (op2&0x4803)==0x4002) return decode_iclass_ldapstl_simd(ctx, dec); if((op0&3)==1 && op1 && (op2&0x4803)==0x4003) - UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_457_ldst + UNALLOCATED(ENC_UNKNOWN); // iclass: UNALLOCATED_455_ldst if((op0&3)==1 && !(op2&0x4000)) return decode_iclass_loadlit(ctx, dec); if((op0&3)==1 && (op2&0x4803)==0x4001) diff --git a/arch/arm64/disassembler/decode1.c b/arch/arm64/disassembler/decode1.c index 4a6a77e69..90c498986 100644 --- a/arch/arm64/disassembler/decode1.c +++ b/arch/arm64/disassembler/decode1.c @@ -11,18 +11,17 @@ int decode_iclass_barriers(context *ctx, Instruction *dec) { uint32_t CRm=(INSWORD>>8)&15, op2=(INSWORD>>5)&7, Rt=INSWORD&0x1f; - if(!CRm && op2==3 && Rt==0x1f && HasTME()) return TCOMMIT(ctx, dec); // -> TCOMMIT_only_barriers - if(CRm && op2==3 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_810_BARRIERS); if((CRm&3)==2 && op2==1 && Rt==0x1f && HasXS()) return DSB(ctx, dec); // -> DSB_BOn_barriers - if((CRm&3)==3 && op2==1 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_811_BARRIERS); - if((CRm&2)==2 && !op2 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_812_BARRIERS); + if((CRm&3)==2 && op2==3 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_823_BARRIERS); + if((CRm&3)==3 && (op2&5)==1 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_822_BARRIERS); + if(!op2 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_821_BARRIERS); if(op2==2 && Rt==0x1f) return CLREX(ctx, dec); // -> CLREX_BN_barriers if(op2==4 && Rt==0x1f) return DSB(ctx, dec); // -> DSB_BO_barriers if(op2==5 && Rt==0x1f) return DMB(ctx, dec); // -> DMB_BO_barriers if(op2==6 && Rt==0x1f) return ISB(ctx, dec); // -> ISB_BI_barriers if(op2==7 && Rt==0x1f && HasSB()) return SB(ctx, dec); // -> SB_only_barriers - if(!(CRm&2) && !(op2&6) && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_809_BARRIERS); - if(Rt!=0x1f) UNALLOCATED(ENC_UNALLOCATED_808_BARRIERS); + if(!(CRm&2) && (op2&5)==1 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_820_BARRIERS); + if(Rt!=0x1f) UNALLOCATED(ENC_UNALLOCATED_819_BARRIERS); UNMATCHED; } @@ -51,7 +50,7 @@ int decode_iclass_compbranch_regs2(context *ctx, Instruction *dec) if(cc==6 && H && HasCMPBR()) return CBHcc_regs(ctx, dec); // -> CBHEQ_16_regs if(cc==7 && !H && HasCMPBR()) return CBBcc_regs(ctx, dec); // -> CBBNE_8_regs if(cc==7 && H && HasCMPBR()) return CBHcc_regs(ctx, dec); // -> CBHNE_16_regs - if((cc&6)==4) UNALLOCATED(ENC_UNALLOCATED_813_COMPBRANCH_REGS2); + if((cc&6)==4) UNALLOCATED(ENC_UNALLOCATED_824_COMPBRANCH_REGS2); UNMATCHED; } @@ -70,7 +69,7 @@ int decode_iclass_compbranch_imm(context *ctx, Instruction *dec) if(sf && cc==3 && HasCMPBR()) return CBcc_imm(ctx, dec); // -> CBLO_64_imm if(sf && cc==6 && HasCMPBR()) return CBcc_imm(ctx, dec); // -> CBEQ_64_imm if(sf && cc==7 && HasCMPBR()) return CBcc_imm(ctx, dec); // -> CBNE_64_imm - if((cc&6)==4) UNALLOCATED(ENC_UNALLOCATED_814_COMPBRANCH_IMM); + if((cc&6)==4) UNALLOCATED(ENC_UNALLOCATED_825_COMPBRANCH_IMM); UNMATCHED; } @@ -89,7 +88,7 @@ int decode_iclass_compbranch_regs(context *ctx, Instruction *dec) if(sf && cc==3 && HasCMPBR()) return CBcc_regs(ctx, dec); // -> CBHS_64_regs if(sf && cc==6 && HasCMPBR()) return CBcc_regs(ctx, dec); // -> CBEQ_64_regs if(sf && cc==7 && HasCMPBR()) return CBcc_regs(ctx, dec); // -> CBNE_64_regs - if((cc&6)==4) UNALLOCATED(ENC_UNALLOCATED_815_COMPBRANCH_REGS); + if((cc&6)==4) UNALLOCATED(ENC_UNALLOCATED_826_COMPBRANCH_REGS); UNMATCHED; } @@ -104,22 +103,21 @@ int decode_iclass_condbranch(context *ctx, Instruction *dec) int decode_iclass_exception(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>21)&7, op2=(INSWORD>>2)&7, LL=INSWORD&3; - if(!opc && !op2 && !LL) UNALLOCATED(ENC_UNALLOCATED_822_EXCEPTION); + if(!opc && !op2 && !LL) UNALLOCATED(ENC_UNALLOCATED_832_EXCEPTION); if(!opc && !op2 && LL==1) return SVC(ctx, dec); // -> SVC_EX_exception if(!opc && !op2 && LL==2) return HVC(ctx, dec); // -> HVC_EX_exception if(!opc && !op2 && LL==3) return SMC(ctx, dec); // -> SMC_EX_exception if(opc==1 && !op2 && !LL) return BRK(ctx, dec); // -> BRK_EX_exception - if(opc==1 && !op2 && LL) UNALLOCATED(ENC_UNALLOCATED_820_EXCEPTION); + if(opc==1 && !op2 && LL) UNALLOCATED(ENC_UNALLOCATED_830_EXCEPTION); if(opc==2 && !op2 && !LL) return HLT(ctx, dec); // -> HLT_EX_exception - if(opc==2 && !op2 && LL) UNALLOCATED(ENC_UNALLOCATED_819_EXCEPTION); - if(opc==3 && !op2 && !LL && HasTME()) return TCANCEL(ctx, dec); // -> TCANCEL_EX_exception + if(opc==2 && !op2 && LL) UNALLOCATED(ENC_UNALLOCATED_831_EXCEPTION); + if(opc==5 && !op2 && !LL) UNALLOCATED(ENC_UNALLOCATED_833_EXCEPTION); if(opc==5 && !op2 && LL==1) return DCPS1(ctx, dec); // -> DCPS1_DC_exception if(opc==5 && !op2 && LL==2) return DCPS2(ctx, dec); // -> DCPS2_DC_exception if(opc==5 && !op2 && LL==3) return DCPS3(ctx, dec); // -> DCPS3_DC_exception - if((opc&3)==3 && !op2 && LL) UNALLOCATED(ENC_UNALLOCATED_818_EXCEPTION); - if((opc&5)==5 && !op2 && !LL) UNALLOCATED(ENC_UNALLOCATED_821_EXCEPTION); - if((opc&5)==4 && !op2) UNALLOCATED(ENC_UNALLOCATED_817_EXCEPTION); - if(op2) UNALLOCATED(ENC_UNALLOCATED_816_EXCEPTION); + if((opc&3)==3 && !op2) UNALLOCATED(ENC_UNALLOCATED_829_EXCEPTION); + if((opc&5)==4 && !op2) UNALLOCATED(ENC_UNALLOCATED_828_EXCEPTION); + if(op2) UNALLOCATED(ENC_UNALLOCATED_827_EXCEPTION); UNMATCHED; } @@ -154,7 +152,9 @@ int decode_iclass_hints(context *ctx, Instruction *dec) if(CRm==3 && op2==7 && HasPAuth()) return AUTIB(ctx, dec); // -> AUTIBSP_HI_hints if(CRm==4 && op2==7 && HasPAuth_LR()) return PACM(ctx, dec); // -> PACM_HI_hints if(CRm==5 && !op2 && HasCHK()) return CHKFEAT(ctx, dec); // -> CHKFEAT_HF_hints + if(CRm==6 && op2==4 && HasCMH()) return STCPH(ctx, dec); // -> STCPH_HI_hints if(CRm==6 && !(op2&6) && HasPCDPHINT()) return STSHH(ctx, dec); // -> STSHH_HI_hints + if(CRm==6 && (op2&6)==2 && HasCMH()) return SHUH(ctx, dec); // -> SHUH_HI_hints if(CRm==4 && !(op2&1) && HasBTI()) return BTI(ctx, dec); // -> BTI_HB_hints if(1) return HINT(ctx, dec); // -> HINT_HM_hints UNMATCHED; @@ -165,9 +165,9 @@ int decode_iclass_miscbranch(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>21)&7, op2=INSWORD&0x1f; if(!opc && op2==0x1f && HasPAuth_LR()) return RETASPPC_imm(ctx, dec); // -> RETAASPPC_only_miscbranch if(opc==1 && op2==0x1f && HasPAuth_LR()) return RETASPPC_imm(ctx, dec); // -> RETABSPPC_only_miscbranch - if(!(opc&6) && op2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_834_MISCBRANCH); - if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_833_MISCBRANCH); - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_832_MISCBRANCH); + if(!(opc&6) && op2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_836_MISCBRANCH); + if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_835_MISCBRANCH); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_834_MISCBRANCH); UNMATCHED; } @@ -178,11 +178,11 @@ int decode_iclass_pstate(context *ctx, Instruction *dec) if(((op1 << 3) | op2)==1 && Rt==0x1f && HasFlagM2()) return XAFLAG(ctx, dec); // -> XAFLAG_M_pstate if(((op1 << 3) | op2)==2 && Rt==0x1f && HasFlagM2()) return AXFLAG(ctx, dec); // -> AXFLAG_M_pstate if(((op1 << 3) | op2)&0x3e && Rt==0x1f) return MSR_imm(ctx, dec); // -> MSR_SI_pstate - if(Rt==0x1e) UNALLOCATED(ENC_UNALLOCATED_839_PSTATE); - if((Rt&0x1e)==0x1c) UNALLOCATED(ENC_UNALLOCATED_838_PSTATE); - if((Rt&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_837_PSTATE); - if((Rt&0x18)==0x10) UNALLOCATED(ENC_UNALLOCATED_836_PSTATE); - if(!(Rt&0x10)) UNALLOCATED(ENC_UNALLOCATED_835_PSTATE); + if(Rt==0x1e) UNALLOCATED(ENC_UNALLOCATED_841_PSTATE); + if((Rt&0x1e)==0x1c) UNALLOCATED(ENC_UNALLOCATED_840_PSTATE); + if((Rt&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_839_PSTATE); + if((Rt&0x18)==0x10) UNALLOCATED(ENC_UNALLOCATED_838_PSTATE); + if(!(Rt&0x10)) UNALLOCATED(ENC_UNALLOCATED_837_PSTATE); UNMATCHED; } @@ -199,9 +199,9 @@ int decode_iclass_systeminstrswithreg(context *ctx, Instruction *dec) uint32_t CRm=(INSWORD>>8)&15, op2=(INSWORD>>5)&7; if(!CRm && !op2 && HasWFxT()) return WFET(ctx, dec); // -> WFET_only_systeminstrswithreg if(!CRm && op2==1 && HasWFxT()) return WFIT(ctx, dec); // -> WFIT_only_systeminstrswithreg - if(!CRm && (op2&6)==2) UNALLOCATED(ENC_UNALLOCATED_842_SYSTEMINSTRSWITHREG); - if(!CRm && (op2&4)==4) UNALLOCATED(ENC_UNALLOCATED_841_SYSTEMINSTRSWITHREG); - if(CRm) UNALLOCATED(ENC_UNALLOCATED_840_SYSTEMINSTRSWITHREG); + if(!CRm && (op2&6)==2) UNALLOCATED(ENC_UNALLOCATED_844_SYSTEMINSTRSWITHREG); + if(!CRm && (op2&4)==4) UNALLOCATED(ENC_UNALLOCATED_843_SYSTEMINSTRSWITHREG); + if(CRm) UNALLOCATED(ENC_UNALLOCATED_842_SYSTEMINSTRSWITHREG); UNMATCHED; } @@ -209,7 +209,7 @@ int decode_iclass_syspairinstrs(context *ctx, Instruction *dec) { uint32_t L=(INSWORD>>21)&1; if(!L && HasSYSINSTR128()) return SYSP(ctx, dec); // -> SYSP_CR_syspairinstrs - if(L) UNALLOCATED(ENC_UNALLOCATED_843_SYSPAIRINSTRS); + if(L) UNALLOCATED(ENC_UNALLOCATED_845_SYSPAIRINSTRS); UNMATCHED; } @@ -229,20 +229,6 @@ int decode_iclass_systemmovepr(context *ctx, Instruction *dec) UNMATCHED; } -int decode_iclass_systemresult(context *ctx, Instruction *dec) -{ - uint32_t op1=(INSWORD>>16)&7, CRn=(INSWORD>>12)&15, CRm=(INSWORD>>8)&15, op2=(INSWORD>>5)&7; - if(op1==3 && CRn==3 && !CRm && op2==3 && HasTME()) return TSTART(ctx, dec); // -> TSTART_BR_systemresult - if(op1==3 && CRn==3 && CRm==1 && op2==3 && HasTME()) return TTEST(ctx, dec); // -> TTEST_BR_systemresult - if(op1==3 && CRn==3 && !(CRm&14) && op2!=3) UNALLOCATED(ENC_UNALLOCATED_849_SYSTEMRESULT); - if(op1==3 && CRn==3 && (CRm&14)==2) UNALLOCATED(ENC_UNALLOCATED_848_SYSTEMRESULT); - if(op1==3 && CRn==3 && (CRm&12)==4) UNALLOCATED(ENC_UNALLOCATED_847_SYSTEMRESULT); - if(op1==3 && CRn==3 && (CRm&8)==8) UNALLOCATED(ENC_UNALLOCATED_846_SYSTEMRESULT); - if(op1==3 && CRn!=3) UNALLOCATED(ENC_UNALLOCATED_845_SYSTEMRESULT); - if(op1!=3) UNALLOCATED(ENC_UNALLOCATED_844_SYSTEMRESULT); - UNMATCHED; -} - int decode_iclass_testbranch(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>24)&1; @@ -271,41 +257,41 @@ int decode_iclass_branch_reg(context *ctx, Instruction *dec) if(opc==4 && op2==0x1f && op3==3 && Rn==0x1f && op4==0x1f && HasPAuth()) return ERETA(ctx, dec); // -> ERETAB_64E_branch_reg if(opc==5 && op2==0x1f && !op3 && Rn==0x1f && !op4) return DRPS(ctx, dec); // -> DRPS_64E_branch_reg if((opc&14)==4 && op2==0x1f && !op3 && Rn==0x1f && op4) UNALLOCATED(ENC_UNALLOCATED_866_BRANCH_REG); - if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && op4==0x1d) UNALLOCATED(ENC_UNALLOCATED_874_BRANCH_REG); - if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && (op4&0x1d)==0x19) UNALLOCATED(ENC_UNALLOCATED_873_BRANCH_REG); - if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && (op4&0x19)==0x11) UNALLOCATED(ENC_UNALLOCATED_872_BRANCH_REG); - if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && (op4&0x11)==1) UNALLOCATED(ENC_UNALLOCATED_871_BRANCH_REG); + if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && op4==0x1d) UNALLOCATED(ENC_UNALLOCATED_870_BRANCH_REG); + if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && (op4&0x1d)==0x19) UNALLOCATED(ENC_UNALLOCATED_869_BRANCH_REG); + if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && (op4&0x19)==0x11) UNALLOCATED(ENC_UNALLOCATED_868_BRANCH_REG); + if(opc==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && (op4&0x11)==1) UNALLOCATED(ENC_UNALLOCATED_867_BRANCH_REG); if(!opc && op2==0x1f && !op3 && !op4) return BR(ctx, dec); // -> BR_64_branch_reg if(!opc && op2==0x1f && op3==2 && op4==0x1f && HasPAuth()) return BRA(ctx, dec); // -> BRAAZ_64_branch_reg if(!opc && op2==0x1f && op3==3 && op4==0x1f && HasPAuth()) return BRA(ctx, dec); // -> BRABZ_64_branch_reg if(opc==1 && op2==0x1f && !op3 && !op4) return BLR(ctx, dec); // -> BLR_64_branch_reg - if(opc==1 && op2==0x1f && !op3 && op4) UNALLOCATED(ENC_UNALLOCATED_865_BRANCH_REG); + if(opc==1 && op2==0x1f && !op3 && op4) UNALLOCATED(ENC_UNALLOCATED_862_BRANCH_REG); if(opc==1 && op2==0x1f && op3==2 && op4==0x1f && HasPAuth()) return BLRA(ctx, dec); // -> BLRAAZ_64_branch_reg if(opc==1 && op2==0x1f && op3==3 && op4==0x1f && HasPAuth()) return BLRA(ctx, dec); // -> BLRABZ_64_branch_reg if(opc==2 && op2==0x1f && !op3 && !op4) return RET(ctx, dec); // -> RET_64R_branch_reg - if(opc==5 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && op4&1) UNALLOCATED(ENC_UNALLOCATED_867_BRANCH_REG); - if(!(opc&13) && op2==0x1f && !op3 && op4) UNALLOCATED(ENC_UNALLOCATED_864_BRANCH_REG); - if(opc==2 && op2==0x1f && (op3&0x3e)==2 && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_868_BRANCH_REG); + if(opc==5 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && op4&1) UNALLOCATED(ENC_UNALLOCATED_865_BRANCH_REG); + if(!(opc&13) && op2==0x1f && !op3 && op4) UNALLOCATED(ENC_UNALLOCATED_861_BRANCH_REG); + if(opc==2 && op2==0x1f && (op3&0x3e)==2 && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_860_BRANCH_REG); if((opc&14)==4 && op2==0x1f && op3==1 && Rn==0x1f) UNALLOCATED(ENC_UNALLOCATED_863_BRANCH_REG); - if((opc&14)==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && !(op4&1)) UNALLOCATED(ENC_UNALLOCATED_870_BRANCH_REG); - if(!(opc&14) && op2==0x1f && (op3&0x3e)==2 && op4!=0x1f) UNALLOCATED(ENC_UNALLOCATED_869_BRANCH_REG); - if((opc&14)==4 && op2==0x1f && !(op3&0x3c) && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_859_BRANCH_REG); - if(opc==1 && op2==0x1f && op3==1) UNALLOCATED(ENC_UNALLOCATED_862_BRANCH_REG); + if((opc&14)==4 && op2==0x1f && (op3&0x3e)==2 && Rn==0x1f && !(op4&1)) UNALLOCATED(ENC_UNALLOCATED_864_BRANCH_REG); + if(!(opc&14) && op2==0x1f && (op3&0x3e)==2 && op4!=0x1f) UNALLOCATED(ENC_UNALLOCATED_857_BRANCH_REG); + if((opc&14)==4 && op2==0x1f && !(op3&0x3c) && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_855_BRANCH_REG); + if(opc==1 && op2==0x1f && op3==1) UNALLOCATED(ENC_UNALLOCATED_859_BRANCH_REG); if(opc==8 && op2==0x1f && op3==2 && HasPAuth()) return BRA(ctx, dec); // -> BRAA_64P_branch_reg if(opc==8 && op2==0x1f && op3==3 && HasPAuth()) return BRA(ctx, dec); // -> BRAB_64P_branch_reg if(opc==9 && op2==0x1f && op3==2 && HasPAuth()) return BLRA(ctx, dec); // -> BLRAA_64P_branch_reg if(opc==9 && op2==0x1f && op3==3 && HasPAuth()) return BLRA(ctx, dec); // -> BLRAB_64P_branch_reg - if(!(opc&13) && op2==0x1f && op3==1) UNALLOCATED(ENC_UNALLOCATED_861_BRANCH_REG); - if(opc==3 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_860_BRANCH_REG); - if((opc&14)==8 && op2==0x1f && !(op3&0x3e)) UNALLOCATED(ENC_UNALLOCATED_857_BRANCH_REG); - if((opc&14)==6 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_858_BRANCH_REG); - if((opc&14)==10 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_856_BRANCH_REG); - if((opc&12)==12 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_855_BRANCH_REG); - if(op2==0x1f && (op3&0x3c)==4) UNALLOCATED(ENC_UNALLOCATED_854_BRANCH_REG); - if(op2==0x1f && (op3&0x38)==8) UNALLOCATED(ENC_UNALLOCATED_853_BRANCH_REG); - if(op2==0x1f && (op3&0x30)==0x10) UNALLOCATED(ENC_UNALLOCATED_852_BRANCH_REG); - if(op2==0x1f && (op3&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_851_BRANCH_REG); - if(op2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_850_BRANCH_REG); + if(!(opc&13) && op2==0x1f && op3==1) UNALLOCATED(ENC_UNALLOCATED_858_BRANCH_REG); + if(opc==3 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_854_BRANCH_REG); + if((opc&14)==8 && op2==0x1f && !(op3&0x3e)) UNALLOCATED(ENC_UNALLOCATED_856_BRANCH_REG); + if((opc&14)==6 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_852_BRANCH_REG); + if((opc&14)==10 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_853_BRANCH_REG); + if((opc&12)==12 && op2==0x1f && !(op3&0x3c)) UNALLOCATED(ENC_UNALLOCATED_851_BRANCH_REG); + if(op2==0x1f && (op3&0x3c)==4) UNALLOCATED(ENC_UNALLOCATED_850_BRANCH_REG); + if(op2==0x1f && (op3&0x38)==8) UNALLOCATED(ENC_UNALLOCATED_849_BRANCH_REG); + if(op2==0x1f && (op3&0x30)==0x10) UNALLOCATED(ENC_UNALLOCATED_848_BRANCH_REG); + if(op2==0x1f && (op3&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_847_BRANCH_REG); + if(op2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_846_BRANCH_REG); UNMATCHED; } @@ -348,10 +334,10 @@ int decode_iclass_memop_128(context *ctx, Instruction *dec) if(S && A && R && o3 && opc==1 && HasD128() && HasTHE()) return RCWSCLRP(ctx, dec); // -> RCWSCLRPAL_128_memop_128 if(S && A && R && o3 && opc==2 && HasD128() && HasTHE()) return RCWSSWPP(ctx, dec); // -> RCWSSWPPAL_128_memop_128 if(S && A && R && o3 && opc==3 && HasD128() && HasTHE()) return RCWSSETP(ctx, dec); // -> RCWSSETPAL_128_memop_128 - if(S && o3 && !opc) UNALLOCATED(ENC_UNALLOCATED_878_MEMOP_128); - if(!S && !o3 && !(opc&5)) UNALLOCATED(ENC_UNALLOCATED_877_MEMOP_128); - if(S && !o3 && !(opc&4)) UNALLOCATED(ENC_UNALLOCATED_876_MEMOP_128); - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_875_MEMOP_128); + if(S && o3 && !opc) UNALLOCATED(ENC_UNALLOCATED_874_MEMOP_128); + if(!S && !o3 && !(opc&5)) UNALLOCATED(ENC_UNALLOCATED_873_MEMOP_128); + if(S && !o3 && !(opc&4)) UNALLOCATED(ENC_UNALLOCATED_872_MEMOP_128); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_871_MEMOP_128); UNMATCHED; } @@ -372,9 +358,9 @@ int decode_iclass_asisdlse(context *ctx, Instruction *dec) if(L && opcode==7 && HasAdvSIMD()) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlse_R1_1v if(L && opcode==8 && HasAdvSIMD()) return LD2_advsimd_mult(ctx, dec); // -> LD2_asisdlse_R2 if(L && opcode==10 && HasAdvSIMD()) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlse_R2_2v - if(opcode==5) UNALLOCATED(ENC_UNALLOCATED_881_ASISDLSE); - if((opcode&5)==1) UNALLOCATED(ENC_UNALLOCATED_880_ASISDLSE); - if((opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_879_ASISDLSE); + if(opcode==5) UNALLOCATED(ENC_UNALLOCATED_877_ASISDLSE); + if((opcode&5)==1) UNALLOCATED(ENC_UNALLOCATED_876_ASISDLSE); + if((opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_875_ASISDLSE); UNMATCHED; } @@ -409,9 +395,9 @@ int decode_iclass_asisdlsep(context *ctx, Instruction *dec) if(L && Rm!=0x1f && opcode==7 && HasAdvSIMD()) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlsep_R1_r1 if(L && Rm!=0x1f && opcode==8 && HasAdvSIMD()) return LD2_advsimd_mult(ctx, dec); // -> LD2_asisdlsep_R2_r if(L && Rm!=0x1f && opcode==10 && HasAdvSIMD()) return LD1_advsimd_mult(ctx, dec); // -> LD1_asisdlsep_R2_r2 - if(opcode==5) UNALLOCATED(ENC_UNALLOCATED_884_ASISDLSEP); - if((opcode&5)==1) UNALLOCATED(ENC_UNALLOCATED_883_ASISDLSEP); - if((opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_882_ASISDLSEP); + if(opcode==5) UNALLOCATED(ENC_UNALLOCATED_880_ASISDLSEP); + if((opcode&5)==1) UNALLOCATED(ENC_UNALLOCATED_879_ASISDLSEP); + if((opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_878_ASISDLSEP); UNMATCHED; } @@ -428,7 +414,7 @@ int decode_iclass_asisdlso(context *ctx, Instruction *dec) if(L && !R && o2 && opcode==4 && !S && size==1 && HasAdvSIMD() && HasLRCPC3()) return LDAP1_advsimd_sngl(ctx, dec); // -> LDAP1_asisdlso_D1 if(L && R && !o2 && opcode==4 && !S && size==1 && HasAdvSIMD()) return LD2_advsimd_sngl(ctx, dec); // -> LD2_asisdlso_D2_2d if(L && R && !o2 && opcode==5 && !S && size==1 && HasAdvSIMD()) return LD4_advsimd_sngl(ctx, dec); // -> LD4_asisdlso_D4_4d - if(!R && o2 && opcode==4 && S && size==1) UNALLOCATED(ENC_UNALLOCATED_893_ASISDLSO); + if(!R && o2 && opcode==4 && S && size==1) UNALLOCATED(ENC_UNALLOCATED_889_ASISDLSO); if(!L && !R && !o2 && opcode==4 && !size && HasAdvSIMD()) return ST1_advsimd_sngl(ctx, dec); // -> ST1_asisdlso_S1_1s if(!L && !R && !o2 && opcode==5 && !size && HasAdvSIMD()) return ST3_advsimd_sngl(ctx, dec); // -> ST3_asisdlso_S3_3s if(!L && R && !o2 && opcode==4 && !size && HasAdvSIMD()) return ST2_advsimd_sngl(ctx, dec); // -> ST2_asisdlso_S2_2s @@ -450,7 +436,7 @@ int decode_iclass_asisdlso(context *ctx, Instruction *dec) if(L && R && !o2 && opcode==3 && !(size&1) && HasAdvSIMD()) return LD4_advsimd_sngl(ctx, dec); // -> LD4_asisdlso_H4_4h if(L && R && !o2 && opcode==6 && !S && HasAdvSIMD()) return LD2R_advsimd(ctx, dec); // -> LD2R_asisdlso_R2 if(L && R && !o2 && opcode==7 && !S && HasAdvSIMD()) return LD4R_advsimd(ctx, dec); // -> LD4R_asisdlso_R4 - if(!o2 && (opcode&6)==4 && S && size==1) UNALLOCATED(ENC_UNALLOCATED_892_ASISDLSO); + if(!o2 && (opcode&6)==4 && S && size==1) UNALLOCATED(ENC_UNALLOCATED_888_ASISDLSO); if(!L && !R && !o2 && !opcode && HasAdvSIMD()) return ST1_advsimd_sngl(ctx, dec); // -> ST1_asisdlso_B1_1b if(!L && !R && !o2 && opcode==1 && HasAdvSIMD()) return ST3_advsimd_sngl(ctx, dec); // -> ST3_asisdlso_B3_3b if(!L && R && !o2 && !opcode && HasAdvSIMD()) return ST2_advsimd_sngl(ctx, dec); // -> ST2_asisdlso_B2_2b @@ -459,12 +445,12 @@ int decode_iclass_asisdlso(context *ctx, Instruction *dec) if(L && !R && !o2 && opcode==1 && HasAdvSIMD()) return LD3_advsimd_sngl(ctx, dec); // -> LD3_asisdlso_B3_3b if(L && R && !o2 && !opcode && HasAdvSIMD()) return LD2_advsimd_sngl(ctx, dec); // -> LD2_asisdlso_B2_2b if(L && R && !o2 && opcode==1 && HasAdvSIMD()) return LD4_advsimd_sngl(ctx, dec); // -> LD4_asisdlso_B4_4b - if(!R && o2 && opcode!=4) UNALLOCATED(ENC_UNALLOCATED_886_ASISDLSO); - if(L && !o2 && (opcode&6)==6 && S) UNALLOCATED(ENC_UNALLOCATED_891_ASISDLSO); - if(!o2 && (opcode&6)==2 && size&1) UNALLOCATED(ENC_UNALLOCATED_889_ASISDLSO); - if(!o2 && (opcode&6)==4 && (size&2)==2) UNALLOCATED(ENC_UNALLOCATED_890_ASISDLSO); - if(!L && !o2 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_888_ASISDLSO); - if(R && o2) UNALLOCATED(ENC_UNALLOCATED_885_ASISDLSO); + if(!R && o2 && opcode!=4) UNALLOCATED(ENC_UNALLOCATED_882_ASISDLSO); + if(L && !o2 && (opcode&6)==6 && S) UNALLOCATED(ENC_UNALLOCATED_886_ASISDLSO); + if(!o2 && (opcode&6)==2 && size&1) UNALLOCATED(ENC_UNALLOCATED_884_ASISDLSO); + if(!o2 && (opcode&6)==4 && (size&2)==2) UNALLOCATED(ENC_UNALLOCATED_885_ASISDLSO); + if(!L && !o2 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_883_ASISDLSO); + if(R && o2) UNALLOCATED(ENC_UNALLOCATED_881_ASISDLSO); UNMATCHED; } @@ -543,11 +529,11 @@ int decode_iclass_asisdlsop(context *ctx, Instruction *dec) if(L && R && Rm==0x1f && opcode==1 && HasAdvSIMD()) return LD4_advsimd_sngl(ctx, dec); // -> LD4_asisdlsop_B4_i4b if(L && R && Rm!=0x1f && !opcode && HasAdvSIMD()) return LD2_advsimd_sngl(ctx, dec); // -> LD2_asisdlsop_BX2_r2b if(L && R && Rm!=0x1f && opcode==1 && HasAdvSIMD()) return LD4_advsimd_sngl(ctx, dec); // -> LD4_asisdlsop_BX4_r4b - if((opcode&6)==4 && S && size==1) UNALLOCATED(ENC_UNALLOCATED_898_ASISDLSOP); - if(L && (opcode&6)==6 && S) UNALLOCATED(ENC_UNALLOCATED_897_ASISDLSOP); - if((opcode&6)==2 && size&1) UNALLOCATED(ENC_UNALLOCATED_895_ASISDLSOP); - if((opcode&6)==4 && (size&2)==2) UNALLOCATED(ENC_UNALLOCATED_896_ASISDLSOP); - if(!L && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_894_ASISDLSOP); + if((opcode&6)==4 && S && size==1) UNALLOCATED(ENC_UNALLOCATED_894_ASISDLSOP); + if(L && (opcode&6)==6 && S) UNALLOCATED(ENC_UNALLOCATED_893_ASISDLSOP); + if((opcode&6)==2 && size&1) UNALLOCATED(ENC_UNALLOCATED_891_ASISDLSOP); + if((opcode&6)==4 && (size&2)==2) UNALLOCATED(ENC_UNALLOCATED_892_ASISDLSOP); + if(!L && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_890_ASISDLSOP); UNMATCHED; } @@ -596,9 +582,9 @@ int decode_iclass_memop(context *ctx, Instruction *dec) if(size==3 && VR && !A && R && o3 && opc==5 && Rt==0x1f && HasLSFE()) return STFMIN(ctx, dec); // -> STFMINL_64 if(size==3 && VR && !A && R && o3 && opc==6 && Rt==0x1f && HasLSFE()) return STFMAXNM(ctx, dec); // -> STFMAXNML_64 if(size==3 && VR && !A && R && o3 && opc==7 && Rt==0x1f && HasLSFE()) return STFMINNM(ctx, dec); // -> STFMINNML_64 - if(size==3 && !VR && !A && !R && Rs!=0x1f && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_920_MEMOP); - if(VR && !A && o3 && opc==1 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_904_MEMOP); - if(VR && !A && o3 && (opc&6)==2 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_902_MEMOP); + if(size==3 && !VR && !A && !R && Rs!=0x1f && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_912_MEMOP); + if(VR && !A && o3 && opc==1 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_916_MEMOP); + if(VR && !A && o3 && (opc&6)==2 && Rt==0x1f) UNALLOCATED(ENC_UNALLOCATED_915_MEMOP); if(!size && !VR && !A && !R && !o3 && !opc && HasLSE()) return LDADDB(ctx, dec); // -> LDADDB_32_memop if(!size && !VR && !A && !R && !o3 && opc==1 && HasLSE()) return LDCLRB(ctx, dec); // -> LDCLRB_32_memop if(!size && !VR && !A && !R && !o3 && opc==2 && HasLSE()) return LDEORB(ctx, dec); // -> LDEORB_32_memop @@ -814,8 +800,8 @@ int decode_iclass_memop(context *ctx, Instruction *dec) if(size==3 && !VR && !A && R && !o3 && opc==6 && HasLSE()) return LDUMAX(ctx, dec); // -> LDUMAXL_64_memop if(size==3 && !VR && !A && R && !o3 && opc==7 && HasLSE()) return LDUMIN(ctx, dec); // -> LDUMINL_64_memop if(size==3 && !VR && !A && R && o3 && !opc && HasLSE()) return SWP(ctx, dec); // -> SWPL_64_memop - if(size==3 && !VR && !A && R && o3 && opc==2) UNALLOCATED(ENC_UNALLOCATED_918_MEMOP); - if(size==3 && !VR && !A && R && o3 && opc==3) UNALLOCATED(ENC_UNALLOCATED_917_MEMOP); + if(size==3 && !VR && !A && R && o3 && opc==2) UNALLOCATED(ENC_UNALLOCATED_913_MEMOP); + if(size==3 && !VR && !A && R && o3 && opc==3) UNALLOCATED(ENC_UNALLOCATED_914_MEMOP); if(size==3 && !VR && A && !R && !o3 && !opc && HasLSE()) return LDADD(ctx, dec); // -> LDADDA_64_memop if(size==3 && !VR && A && !R && !o3 && opc==1 && HasLSE()) return LDCLR(ctx, dec); // -> LDCLRA_64_memop if(size==3 && !VR && A && !R && !o3 && opc==2 && HasLSE()) return LDEOR(ctx, dec); // -> LDEORA_64_memop @@ -855,23 +841,23 @@ int decode_iclass_memop(context *ctx, Instruction *dec) if(size==3 && VR && A && R && !o3 && opc==5 && HasLSFE()) return LDFMIN(ctx, dec); // -> LDFMINAL_64 if(size==3 && VR && A && R && !o3 && opc==6 && HasLSFE()) return LDFMAXNM(ctx, dec); // -> LDFMAXNMAL_64 if(size==3 && VR && A && R && !o3 && opc==7 && HasLSFE()) return LDFMINNM(ctx, dec); // -> LDFMINNMAL_64 - if(VR && !A && o3 && Rt!=0x1f) UNALLOCATED(ENC_UNALLOCATED_900_MEMOP); - if(!(size&2) && !VR && !A && R && o3 && opc==5) UNALLOCATED(ENC_UNALLOCATED_912_MEMOP); - if(!(size&2) && !VR && A && R && o3 && opc==5) UNALLOCATED(ENC_UNALLOCATED_910_MEMOP); - if(size==2 && !VR && !A && o3 && opc==2) UNALLOCATED(ENC_UNALLOCATED_915_MEMOP); - if(size==2 && !VR && !A && o3 && opc==3) UNALLOCATED(ENC_UNALLOCATED_914_MEMOP); - if(size==3 && !VR && !A && R && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_916_MEMOP); - if(!VR && A && R && o3 && opc==4) UNALLOCATED(ENC_UNALLOCATED_909_MEMOP); - if(!(size&2) && !VR && !R && o3 && opc==5) UNALLOCATED(ENC_UNALLOCATED_911_MEMOP); - if(size==2 && !VR && !A && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_913_MEMOP); - if(!VR && !A && o3 && opc==4) UNALLOCATED(ENC_UNALLOCATED_919_MEMOP); - if(!(size&2) && !VR && A && o3 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_908_MEMOP); - if((size&2)==2 && !VR && A && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_906_MEMOP); - if(!VR && !A && o3 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_907_MEMOP); - if(VR && !o3 && opc==1) UNALLOCATED(ENC_UNALLOCATED_903_MEMOP); - if((size&2)==2 && !VR && A && o3 && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_905_MEMOP); - if(VR && !o3 && (opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_901_MEMOP); - if(VR && A && o3) UNALLOCATED(ENC_UNALLOCATED_899_MEMOP); + if(VR && !A && o3 && Rt!=0x1f) UNALLOCATED(ENC_UNALLOCATED_896_MEMOP); + if(!(size&2) && !VR && !A && R && o3 && opc==5) UNALLOCATED(ENC_UNALLOCATED_907_MEMOP); + if(!(size&2) && !VR && A && R && o3 && opc==5) UNALLOCATED(ENC_UNALLOCATED_908_MEMOP); + if(size==2 && !VR && !A && o3 && opc==2) UNALLOCATED(ENC_UNALLOCATED_909_MEMOP); + if(size==2 && !VR && !A && o3 && opc==3) UNALLOCATED(ENC_UNALLOCATED_910_MEMOP); + if(size==3 && !VR && !A && R && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_911_MEMOP); + if(!VR && A && R && o3 && opc==4) UNALLOCATED(ENC_UNALLOCATED_906_MEMOP); + if(!(size&2) && !VR && !R && o3 && opc==5) UNALLOCATED(ENC_UNALLOCATED_904_MEMOP); + if(size==2 && !VR && !A && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_905_MEMOP); + if(!VR && !A && o3 && opc==4) UNALLOCATED(ENC_UNALLOCATED_903_MEMOP); + if(!(size&2) && !VR && A && o3 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_901_MEMOP); + if((size&2)==2 && !VR && A && o3 && (opc&3)==1) UNALLOCATED(ENC_UNALLOCATED_902_MEMOP); + if(!VR && !A && o3 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_899_MEMOP); + if(VR && !o3 && opc==1) UNALLOCATED(ENC_UNALLOCATED_900_MEMOP); + if((size&2)==2 && !VR && A && o3 && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_898_MEMOP); + if(VR && !o3 && (opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_897_MEMOP); + if(VR && A && o3) UNALLOCATED(ENC_UNALLOCATED_895_MEMOP); UNMATCHED; } @@ -910,9 +896,9 @@ int decode_iclass_memop_unpriv(context *ctx, Instruction *dec) if(sz && A && R && !o3 && opc==1 && HasLSUI()) return LDTCLR(ctx, dec); // -> LDTCLRAL_64_memop_unpriv if(sz && A && R && !o3 && opc==3 && HasLSUI()) return LDTSET(ctx, dec); // -> LDTSETAL_64_memop_unpriv if(sz && A && R && o3 && !opc && HasLSUI()) return SWPT(ctx, dec); // -> SWPTAL_64_memop_unpriv - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_923_MEMOP_UNPRIV); - if(o3 && (opc&5)==1) UNALLOCATED(ENC_UNALLOCATED_922_MEMOP_UNPRIV); - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_921_MEMOP_UNPRIV); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_919_MEMOP_UNPRIV); + if(o3 && (opc&5)==1) UNALLOCATED(ENC_UNALLOCATED_918_MEMOP_UNPRIV); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_917_MEMOP_UNPRIV); UNMATCHED; } @@ -935,7 +921,7 @@ int decode_iclass_comswap(context *ctx, Instruction *dec) if(size==3 && !L && o0 && Rt2==0x1f && HasLSE()) return CAS(ctx, dec); // -> CASL_C64_comswap if(size==3 && L && !o0 && Rt2==0x1f && HasLSE()) return CAS(ctx, dec); // -> CASA_C64_comswap if(size==3 && L && o0 && Rt2==0x1f && HasLSE()) return CAS(ctx, dec); // -> CASAL_C64_comswap - if(Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_924_COMSWAP); + if(Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_920_COMSWAP); UNMATCHED; } @@ -946,8 +932,8 @@ int decode_iclass_comswap_unpriv(context *ctx, Instruction *dec) if(sz && !L && o0 && Rt2==0x1f && HasLSUI()) return CAST(ctx, dec); // -> CASLT_C64_comswap_unpriv if(sz && L && !o0 && Rt2==0x1f && HasLSUI()) return CAST(ctx, dec); // -> CASAT_C64_comswap_unpriv if(sz && L && o0 && Rt2==0x1f && HasLSUI()) return CAST(ctx, dec); // -> CASALT_C64_comswap_unpriv - if(sz && Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_926_COMSWAP_UNPRIV); - if(!sz) UNALLOCATED(ENC_UNALLOCATED_925_COMSWAP_UNPRIV); + if(sz && Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_922_COMSWAP_UNPRIV); + if(!sz) UNALLOCATED(ENC_UNALLOCATED_921_COMSWAP_UNPRIV); UNMATCHED; } @@ -962,7 +948,7 @@ int decode_iclass_comswappr(context *ctx, Instruction *dec) if(sz && !L && o0 && Rt2==0x1f && HasLSE()) return CASP(ctx, dec); // -> CASPL_CP64_comswappr if(sz && L && !o0 && Rt2==0x1f && HasLSE()) return CASP(ctx, dec); // -> CASPA_CP64_comswappr if(sz && L && o0 && Rt2==0x1f && HasLSE()) return CASP(ctx, dec); // -> CASPAL_CP64_comswappr - if(Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_927_COMSWAPPR); + if(Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_923_COMSWAPPR); UNMATCHED; } @@ -973,8 +959,8 @@ int decode_iclass_comswappr_unpriv(context *ctx, Instruction *dec) if(sz && !L && o0 && Rt2==0x1f && HasLSUI()) return CASPT(ctx, dec); // -> CASPLT_CP64_comswappr_unpriv if(sz && L && !o0 && Rt2==0x1f && HasLSUI()) return CASPT(ctx, dec); // -> CASPAT_CP64_comswappr_unpriv if(sz && L && o0 && Rt2==0x1f && HasLSUI()) return CASPT(ctx, dec); // -> CASPALT_CP64_comswappr_unpriv - if(sz && Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_929_COMSWAPPR_UNPRIV); - if(!sz) UNALLOCATED(ENC_UNALLOCATED_928_COMSWAPPR_UNPRIV); + if(sz && Rt2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_925_COMSWAPPR_UNPRIV); + if(!sz) UNALLOCATED(ENC_UNALLOCATED_924_COMSWAPPR_UNPRIV); UNMATCHED; } @@ -983,8 +969,8 @@ int decode_iclass_ldst_gcs(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>12)&7; if(!opc && HasGCS()) return GCSSTR(ctx, dec); // -> GCSSTR_64_ldst_gcs if(opc==1 && HasGCS()) return GCSSTTR(ctx, dec); // -> GCSSTTR_64_ldst_gcs - if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_931_LDST_GCS); - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_930_LDST_GCS); + if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_927_LDST_GCS); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_926_LDST_GCS); UNMATCHED; } @@ -998,7 +984,7 @@ int decode_iclass_loadlit(context *ctx, Instruction *dec) if(opc==2 && !VR) return LDRSW_lit(ctx, dec); // -> LDRSW_64_loadlit if(opc==2 && VR && HasFP()) return LDR_lit_fpsimd(ctx, dec); // -> LDR_Q_loadlit if(opc==3 && !VR) return PRFM_lit(ctx, dec); // -> PRFM_P_loadlit - if(opc==3 && VR) UNALLOCATED(ENC_UNALLOCATED_932_LOADLIT); + if(opc==3 && VR) UNALLOCATED(ENC_UNALLOCATED_928_LOADLIT); UNMATCHED; } @@ -1058,7 +1044,7 @@ int decode_iclass_ldsttags(context *ctx, Instruction *dec) if(!opc && !imm9 && !op2 && HasMTE2()) return STZGM(ctx, dec); // -> STZGM_64bulk_ldsttags if(opc==2 && !imm9 && !op2 && HasMTE2()) return STGM(ctx, dec); // -> STGM_64bulk_ldsttags if(opc==3 && !imm9 && !op2 && HasMTE2()) return LDGM(ctx, dec); // -> LDGM_64bulk_ldsttags - if(opc!=1 && imm9 && !op2) UNALLOCATED(ENC_UNALLOCATED_933_LDSTTAGS); + if(opc!=1 && imm9 && !op2) UNALLOCATED(ENC_UNALLOCATED_929_LDSTTAGS); if(!opc && op2==1 && HasMTE()) return STG(ctx, dec); // -> STG_64Spost_ldsttags if(!opc && op2==2 && HasMTE()) return STG(ctx, dec); // -> STG_64Soffset_ldsttags if(!opc && op2==3 && HasMTE()) return STG(ctx, dec); // -> STG_64Spre_ldsttags @@ -1092,7 +1078,7 @@ int decode_iclass_ldstnapair_offs(context *ctx, Instruction *dec) if(opc==3 && !VR && L && HasLSUI()) return LDTNP_gen(ctx, dec); // -> LDTNP_64_ldstnapair_offs if(opc==3 && VR && !L && HasFP() && HasLSUI()) return STTNP_fpsimd(ctx, dec); // -> STTNP_Q_ldstnapair_offs if(opc==3 && VR && L && HasFP() && HasLSUI()) return LDTNP_fpsimd(ctx, dec); // -> LDTNP_Q_ldstnapair_offs - if(opc==1 && !VR) UNALLOCATED(ENC_UNALLOCATED_934_LDSTNAPAIR_OFFS); + if(opc==1 && !VR) UNALLOCATED(ENC_UNALLOCATED_930_LDSTNAPAIR_OFFS); UNMATCHED; } @@ -1131,7 +1117,7 @@ int decode_iclass_ldapstl_simd(context *ctx, Instruction *dec) if(size==2 && opc==1 && HasFP() && HasLRCPC3()) return LDAPUR_fpsimd(ctx, dec); // -> LDAPUR_S_ldapstl_simd if(size==3 && !opc && HasFP() && HasLRCPC3()) return STLUR_fpsimd(ctx, dec); // -> STLUR_D_ldapstl_simd if(size==3 && opc==1 && HasFP() && HasLRCPC3()) return LDAPUR_fpsimd(ctx, dec); // -> LDAPUR_D_ldapstl_simd - if(size && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_935_LDAPSTL_SIMD); + if(size && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_931_LDAPSTL_SIMD); UNMATCHED; } @@ -1149,10 +1135,10 @@ int decode_iclass_ldapstl_unscaled(context *ctx, Instruction *dec) if(size==2 && !opc && HasLRCPC2()) return STLUR_gen(ctx, dec); // -> STLUR_32_ldapstl_unscaled if(size==2 && opc==1 && HasLRCPC2()) return LDAPUR_gen(ctx, dec); // -> LDAPUR_32_ldapstl_unscaled if(size==2 && opc==2 && HasLRCPC2()) return LDAPURSW(ctx, dec); // -> LDAPURSW_64_ldapstl_unscaled - if(size==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_937_LDAPSTL_UNSCALED); + if(size==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_933_LDAPSTL_UNSCALED); if(size==3 && !opc && HasLRCPC2()) return STLUR_gen(ctx, dec); // -> STLUR_64_ldapstl_unscaled if(size==3 && opc==1 && HasLRCPC2()) return LDAPUR_gen(ctx, dec); // -> LDAPUR_64_ldapstl_unscaled - if(size==3 && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_936_LDAPSTL_UNSCALED); + if(size==3 && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_932_LDAPSTL_UNSCALED); UNMATCHED; } @@ -1163,7 +1149,7 @@ int decode_iclass_ldapstl_writeback(context *ctx, Instruction *dec) if(size==2 && L && HasLRCPC3()) return LDAPR(ctx, dec); // -> LDAPR_32L_ldapstl_writeback if(size==3 && !L && HasLRCPC3()) return STLR(ctx, dec); // -> STLR_64S_ldapstl_writeback if(size==3 && L && HasLRCPC3()) return LDAPR(ctx, dec); // -> LDAPR_64L_ldapstl_writeback - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_938_LDAPSTL_WRITEBACK); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_934_LDAPSTL_WRITEBACK); UNMATCHED; } @@ -1176,12 +1162,19 @@ int decode_iclass_ldiappstilp(context *ctx, Instruction *dec) if(size==2 && L && opc2==1 && HasLRCPC3()) return LDIAPP(ctx, dec); // -> LDIAPP_32L_ldiappstilp if(size==3 && !L && !opc2 && HasLRCPC3()) return STILP(ctx, dec); // -> STILP_64SS_ldiappstilp if(size==3 && !L && opc2==1 && HasLRCPC3()) return STILP(ctx, dec); // -> STILP_64S_ldiappstilp + if(size==3 && !L && opc2==5 && HasLSCP()) return STLP_gen(ctx, dec); // -> STLP_64_ldiappstilp if(size==3 && L && !opc2 && HasLRCPC3()) return LDIAPP(ctx, dec); // -> LDIAPP_64LS_ldiappstilp if(size==3 && L && opc2==1 && HasLRCPC3()) return LDIAPP(ctx, dec); // -> LDIAPP_64L_ldiappstilp - if((size&2)==2 && (opc2&14)==2) UNALLOCATED(ENC_UNALLOCATED_942_LDIAPPSTILP); - if((size&2)==2 && (opc2&12)==4) UNALLOCATED(ENC_UNALLOCATED_941_LDIAPPSTILP); - if((size&2)==2 && (opc2&8)==8) UNALLOCATED(ENC_UNALLOCATED_940_LDIAPPSTILP); - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_939_LDIAPPSTILP); + if(size==3 && L && opc2==5 && HasLSCP()) return LDAP_gen(ctx, dec); // -> LDAP_64_ldiappstilp + if(size==3 && L && opc2==6) UNALLOCATED(ENC_UNALLOCATED_942_LDIAPPSTILP); + if(size==3 && L && opc2==7 && HasLSCP()) return LDAPP_gen(ctx, dec); // -> LDAPP_64_ldiappstilp + if(size==3 && opc2==4) UNALLOCATED(ENC_UNALLOCATED_941_LDIAPPSTILP); + if(size==3 && !L && (opc2&14)==6) UNALLOCATED(ENC_UNALLOCATED_940_LDIAPPSTILP); + if((size&2)==2 && !L && (opc2&14)==2) UNALLOCATED(ENC_UNALLOCATED_938_LDIAPPSTILP); + if((size&2)==2 && L && (opc2&14)==2) UNALLOCATED(ENC_UNALLOCATED_939_LDIAPPSTILP); + if(size==2 && (opc2&12)==4) UNALLOCATED(ENC_UNALLOCATED_937_LDIAPPSTILP); + if((size&2)==2 && (opc2&8)==8) UNALLOCATED(ENC_UNALLOCATED_936_LDIAPPSTILP); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_935_LDIAPPSTILP); UNMATCHED; } @@ -1205,15 +1198,15 @@ int decode_iclass_ldst_immpost(context *ctx, Instruction *dec) if(size==2 && !VR && !opc) return STR_imm_gen(ctx, dec); // -> STR_32_ldst_immpost if(size==2 && !VR && opc==1) return LDR_imm_gen(ctx, dec); // -> LDR_32_ldst_immpost if(size==2 && !VR && opc==2) return LDRSW_imm(ctx, dec); // -> LDRSW_64_ldst_immpost - if(size==2 && !VR && opc==3) UNALLOCATED(ENC_UNALLOCATED_945_LDST_IMMPOST); + if(size==2 && !VR && opc==3) UNALLOCATED(ENC_UNALLOCATED_946_LDST_IMMPOST); if(size==2 && VR && !opc && HasFP()) return STR_imm_fpsimd(ctx, dec); // -> STR_S_ldst_immpost if(size==2 && VR && opc==1 && HasFP()) return LDR_imm_fpsimd(ctx, dec); // -> LDR_S_ldst_immpost if(size==3 && !VR && !opc) return STR_imm_gen(ctx, dec); // -> STR_64_ldst_immpost if(size==3 && !VR && opc==1) return LDR_imm_gen(ctx, dec); // -> LDR_64_ldst_immpost if(size==3 && VR && !opc && HasFP()) return STR_imm_fpsimd(ctx, dec); // -> STR_D_ldst_immpost if(size==3 && VR && opc==1 && HasFP()) return LDR_imm_fpsimd(ctx, dec); // -> LDR_D_ldst_immpost - if(size==1 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_946_LDST_IMMPOST); - if(size==2 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_944_LDST_IMMPOST); + if(size==1 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_944_LDST_IMMPOST); + if(size==2 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_945_LDST_IMMPOST); if(size==3 && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_943_LDST_IMMPOST); UNMATCHED; } @@ -1238,15 +1231,15 @@ int decode_iclass_ldst_immpre(context *ctx, Instruction *dec) if(size==2 && !VR && !opc) return STR_imm_gen(ctx, dec); // -> STR_32_ldst_immpre if(size==2 && !VR && opc==1) return LDR_imm_gen(ctx, dec); // -> LDR_32_ldst_immpre if(size==2 && !VR && opc==2) return LDRSW_imm(ctx, dec); // -> LDRSW_64_ldst_immpre - if(size==2 && !VR && opc==3) UNALLOCATED(ENC_UNALLOCATED_949_LDST_IMMPRE); + if(size==2 && !VR && opc==3) UNALLOCATED(ENC_UNALLOCATED_950_LDST_IMMPRE); if(size==2 && VR && !opc && HasFP()) return STR_imm_fpsimd(ctx, dec); // -> STR_S_ldst_immpre if(size==2 && VR && opc==1 && HasFP()) return LDR_imm_fpsimd(ctx, dec); // -> LDR_S_ldst_immpre if(size==3 && !VR && !opc) return STR_imm_gen(ctx, dec); // -> STR_64_ldst_immpre if(size==3 && !VR && opc==1) return LDR_imm_gen(ctx, dec); // -> LDR_64_ldst_immpre if(size==3 && VR && !opc && HasFP()) return STR_imm_fpsimd(ctx, dec); // -> STR_D_ldst_immpre if(size==3 && VR && opc==1 && HasFP()) return LDR_imm_fpsimd(ctx, dec); // -> LDR_D_ldst_immpre - if(size==1 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_950_LDST_IMMPRE); - if(size==2 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_948_LDST_IMMPRE); + if(size==1 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_948_LDST_IMMPRE); + if(size==2 && VR && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_949_LDST_IMMPRE); if(size==3 && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_947_LDST_IMMPRE); UNMATCHED; } @@ -1629,8 +1622,8 @@ int decode_iclass_addsub_immtags(context *ctx, Instruction *dec) uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1; if(sf && !op && !S && HasMTE()) return ADDG(ctx, dec); // -> ADDG_64_addsub_immtags if(sf && op && !S && HasMTE()) return SUBG(ctx, dec); // -> SUBG_64_addsub_immtags - if(sf && S) UNALLOCATED(ENC_UNALLOCATED_786_ADDSUB_IMMTAGS); - if(!sf) UNALLOCATED(ENC_UNALLOCATED_785_ADDSUB_IMMTAGS); + if(sf && S) UNALLOCATED(ENC_UNALLOCATED_797_ADDSUB_IMMTAGS); + if(!sf) UNALLOCATED(ENC_UNALLOCATED_796_ADDSUB_IMMTAGS); UNMATCHED; } @@ -1640,13 +1633,13 @@ int decode_iclass_bitfield(context *ctx, Instruction *dec) if(!sf && !opc && !N) return SBFM(ctx, dec); // -> SBFM_32M_bitfield if(!sf && opc==1 && !N) return BFM(ctx, dec); // -> BFM_32M_bitfield if(!sf && opc==2 && !N) return UBFM(ctx, dec); // -> UBFM_32M_bitfield - if(!sf && opc==3 && !N) UNALLOCATED(ENC_UNALLOCATED_789_BITFIELD); + if(!sf && opc==3 && !N) UNALLOCATED(ENC_UNALLOCATED_800_BITFIELD); if(sf && !opc && N) return SBFM(ctx, dec); // -> SBFM_64M_bitfield if(sf && opc==1 && N) return BFM(ctx, dec); // -> BFM_64M_bitfield if(sf && opc==2 && N) return UBFM(ctx, dec); // -> UBFM_64M_bitfield - if(sf && opc==3 && N) UNALLOCATED(ENC_UNALLOCATED_790_BITFIELD); - if(!sf && N) UNALLOCATED(ENC_UNALLOCATED_787_BITFIELD); - if(sf && !N) UNALLOCATED(ENC_UNALLOCATED_788_BITFIELD); + if(sf && opc==3 && N) UNALLOCATED(ENC_UNALLOCATED_801_BITFIELD); + if(!sf && N) UNALLOCATED(ENC_UNALLOCATED_798_BITFIELD); + if(sf && !N) UNALLOCATED(ENC_UNALLOCATED_799_BITFIELD); UNMATCHED; } @@ -1655,9 +1648,9 @@ int decode_iclass_dp_1src_imm(context *ctx, Instruction *dec) uint32_t sf=INSWORD>>31, opc=(INSWORD>>21)&3, Rd=INSWORD&0x1f; if(sf && !opc && Rd==0x1f && HasPAuth_LR()) return AUTIASPPC_imm(ctx, dec); // -> AUTIASPPC_only_dp_1src_imm if(sf && opc==1 && Rd==0x1f && HasPAuth_LR()) return AUTIBSPPC_imm(ctx, dec); // -> AUTIBSPPC_only_dp_1src_imm - if(sf && !(opc&2) && Rd!=0x1f) UNALLOCATED(ENC_UNALLOCATED_793_DP_1SRC_IMM); - if(sf && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_792_DP_1SRC_IMM); - if(!sf) UNALLOCATED(ENC_UNALLOCATED_791_DP_1SRC_IMM); + if(sf && !(opc&2) && Rd!=0x1f) UNALLOCATED(ENC_UNALLOCATED_804_DP_1SRC_IMM); + if(sf && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_803_DP_1SRC_IMM); + if(!sf) UNALLOCATED(ENC_UNALLOCATED_802_DP_1SRC_IMM); UNMATCHED; } @@ -1665,13 +1658,13 @@ int decode_iclass_extract(context *ctx, Instruction *dec) { uint32_t sf=INSWORD>>31, op21=(INSWORD>>29)&3, N=(INSWORD>>22)&1, o0=(INSWORD>>21)&1, imms=(INSWORD>>10)&0x3f; if(!sf && !op21 && !N && !o0 && !(imms&0x20)) return EXTR(ctx, dec); // -> EXTR_32_extract - if(!sf && !op21 && !N && !o0 && (imms&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_799_EXTRACT); - if(!sf && !op21 && N && !o0) UNALLOCATED(ENC_UNALLOCATED_797_EXTRACT); - if(sf && !op21 && !N && !o0) UNALLOCATED(ENC_UNALLOCATED_798_EXTRACT); + if(!sf && !op21 && !N && !o0 && (imms&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_810_EXTRACT); + if(!sf && !op21 && N && !o0) UNALLOCATED(ENC_UNALLOCATED_808_EXTRACT); + if(sf && !op21 && !N && !o0) UNALLOCATED(ENC_UNALLOCATED_809_EXTRACT); if(sf && !op21 && N && !o0) return EXTR(ctx, dec); // -> EXTR_64_extract - if(!op21 && o0) UNALLOCATED(ENC_UNALLOCATED_796_EXTRACT); - if(op21==1) UNALLOCATED(ENC_UNALLOCATED_794_EXTRACT); - if(op21==2) UNALLOCATED(ENC_UNALLOCATED_795_EXTRACT); + if(!op21 && o0) UNALLOCATED(ENC_UNALLOCATED_807_EXTRACT); + if(op21==1) UNALLOCATED(ENC_UNALLOCATED_805_EXTRACT); + if(op21==2) UNALLOCATED(ENC_UNALLOCATED_806_EXTRACT); UNMATCHED; } @@ -1686,7 +1679,7 @@ int decode_iclass_log_imm(context *ctx, Instruction *dec) if(sf && opc==1) return ORR_log_imm(ctx, dec); // -> ORR_64_log_imm if(sf && opc==2) return EOR_log_imm(ctx, dec); // -> EOR_64_log_imm if(sf && opc==3) return ANDS_log_imm(ctx, dec); // -> ANDS_64S_log_imm - if(!sf && N) UNALLOCATED(ENC_UNALLOCATED_800_LOG_IMM); + if(!sf && N) UNALLOCATED(ENC_UNALLOCATED_811_LOG_IMM); UNMATCHED; } @@ -1701,10 +1694,10 @@ int decode_iclass_minmax_imm(context *ctx, Instruction *dec) if(sf && !op && !S && opc==1 && HasCSSC()) return UMAX_imm(ctx, dec); // -> UMAX_64U_minmax_imm if(sf && !op && !S && opc==2 && HasCSSC()) return SMIN_imm(ctx, dec); // -> SMIN_64_minmax_imm if(sf && !op && !S && opc==3 && HasCSSC()) return UMIN_imm(ctx, dec); // -> UMIN_64U_minmax_imm - if(!op && !S && (opc&12)==4) UNALLOCATED(ENC_UNALLOCATED_804_MINMAX_IMM); - if(!op && !S && (opc&8)==8) UNALLOCATED(ENC_UNALLOCATED_803_MINMAX_IMM); - if(!op && S) UNALLOCATED(ENC_UNALLOCATED_802_MINMAX_IMM); - if(op) UNALLOCATED(ENC_UNALLOCATED_801_MINMAX_IMM); + if(!op && !S && (opc&12)==4) UNALLOCATED(ENC_UNALLOCATED_815_MINMAX_IMM); + if(!op && !S && (opc&8)==8) UNALLOCATED(ENC_UNALLOCATED_814_MINMAX_IMM); + if(!op && S) UNALLOCATED(ENC_UNALLOCATED_813_MINMAX_IMM); + if(op) UNALLOCATED(ENC_UNALLOCATED_812_MINMAX_IMM); UNMATCHED; } @@ -1714,12 +1707,12 @@ int decode_iclass_movewide(context *ctx, Instruction *dec) if(!sf && !opc && !(hw&2)) return MOVN(ctx, dec); // -> MOVN_32_movewide if(!sf && opc==2 && !(hw&2)) return MOVZ(ctx, dec); // -> MOVZ_32_movewide if(!sf && opc==3 && !(hw&2)) return MOVK(ctx, dec); // -> MOVK_32_movewide - if(sf && opc==1 && (hw&2)==2) UNALLOCATED(ENC_UNALLOCATED_807_MOVEWIDE); - if(opc==1 && !(hw&2)) UNALLOCATED(ENC_UNALLOCATED_806_MOVEWIDE); + if(sf && opc==1 && (hw&2)==2) UNALLOCATED(ENC_UNALLOCATED_818_MOVEWIDE); + if(opc==1 && !(hw&2)) UNALLOCATED(ENC_UNALLOCATED_817_MOVEWIDE); if(sf && !opc) return MOVN(ctx, dec); // -> MOVN_64_movewide if(sf && opc==2) return MOVZ(ctx, dec); // -> MOVZ_64_movewide if(sf && opc==3) return MOVK(ctx, dec); // -> MOVK_64_movewide - if(!sf && (hw&2)==2) UNALLOCATED(ENC_UNALLOCATED_805_MOVEWIDE); + if(!sf && (hw&2)==2) UNALLOCATED(ENC_UNALLOCATED_816_MOVEWIDE); UNMATCHED; } @@ -1839,8 +1832,8 @@ int decode_iclass_dp_1src(context *ctx, Instruction *dec) if(sf && !S && opcode2==1 && opcode==0x2f && Rn==0x1f && Rd==0x1e && HasPAuth_LR()) return AUTIB171615(ctx, dec); // -> AUTIB171615_64LR_dp_1src if(sf && !S && opcode2==1 && (opcode&0x3e)==0x2a && Rn==0x1f && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_997_DP_1SRC); if(sf && !S && opcode2==1 && (opcode&0x3e)==0x2c && Rn==0x1f && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_998_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x3c)==0x20 && Rn!=0x1f && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_994_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x38)==0x28 && Rn!=0x1f && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_993_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x3c)==0x20 && Rn!=0x1f && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_995_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x38)==0x28 && Rn!=0x1f && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_994_DP_1SRC); if(sf && !S && opcode2==1 && opcode==8 && Rn==0x1f && HasPAuth()) return PACIA(ctx, dec); // -> PACIZA_64Z_dp_1src if(sf && !S && opcode2==1 && opcode==9 && Rn==0x1f && HasPAuth()) return PACIB(ctx, dec); // -> PACIZB_64Z_dp_1src if(sf && !S && opcode2==1 && opcode==10 && Rn==0x1f && HasPAuth()) return PACDA(ctx, dec); // -> PACDZA_64Z_dp_1src @@ -1853,14 +1846,14 @@ int decode_iclass_dp_1src(context *ctx, Instruction *dec) if(sf && !S && opcode2==1 && opcode==0x11 && Rn==0x1f && HasPAuth()) return XPAC(ctx, dec); // -> XPACD_64Z_dp_1src if(sf && !S && opcode2==1 && opcode==0x24 && Rd==0x1e && HasPAuth_LR()) return AUTIASPPCR(ctx, dec); // -> AUTIASPPCR_64LRR_dp_1src if(sf && !S && opcode2==1 && opcode==0x25 && Rd==0x1e && HasPAuth_LR()) return AUTIBSPPCR(ctx, dec); // -> AUTIBSPPCR_64LRR_dp_1src - if(sf && !S && opcode2==1 && (opcode&0x3e)==0x10 && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_988_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x3e)==0x10 && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_993_DP_1SRC); if(sf && !S && opcode2==1 && (opcode&0x3e)==0x26 && Rd==0x1e) UNALLOCATED(ENC_UNALLOCATED_996_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x38)==8 && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_992_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x30)==0x20 && Rd!=0x1e) UNALLOCATED(ENC_UNALLOCATED_984_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x38)==8 && Rn!=0x1f) UNALLOCATED(ENC_UNALLOCATED_987_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x30)==0x20 && Rd!=0x1e) UNALLOCATED(ENC_UNALLOCATED_985_DP_1SRC); if(!sf && !S && !opcode2 && !opcode) return RBIT_int(ctx, dec); // -> RBIT_32_dp_1src if(!sf && !S && !opcode2 && opcode==1) return REV16_int(ctx, dec); // -> REV16_32_dp_1src if(!sf && !S && !opcode2 && opcode==2) return REV(ctx, dec); // -> REV_32_dp_1src - if(!sf && !S && !opcode2 && opcode==3) UNALLOCATED(ENC_UNALLOCATED_995_DP_1SRC); + if(!sf && !S && !opcode2 && opcode==3) UNALLOCATED(ENC_UNALLOCATED_992_DP_1SRC); if(!sf && !S && !opcode2 && opcode==4) return CLZ_int(ctx, dec); // -> CLZ_32_dp_1src if(!sf && !S && !opcode2 && opcode==5) return CLS_int(ctx, dec); // -> CLS_32_dp_1src if(!sf && !S && !opcode2 && opcode==6 && HasCSSC()) return CTZ(ctx, dec); // -> CTZ_32_dp_1src @@ -1884,11 +1877,11 @@ int decode_iclass_dp_1src(context *ctx, Instruction *dec) if(sf && !S && opcode2==1 && opcode==6 && HasPAuth()) return AUTDA(ctx, dec); // -> AUTDA_64P_dp_1src if(sf && !S && opcode2==1 && opcode==7 && HasPAuth()) return AUTDB(ctx, dec); // -> AUTDB_64P_dp_1src if(!S && !opcode2 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_991_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x3e)==0x12) UNALLOCATED(ENC_UNALLOCATED_987_DP_1SRC); - if(!S && !opcode2 && (opcode&0x3e)==10) UNALLOCATED(ENC_UNALLOCATED_990_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x3c)==0x14) UNALLOCATED(ENC_UNALLOCATED_986_DP_1SRC); - if(!S && !opcode2 && (opcode&0x3c)==12) UNALLOCATED(ENC_UNALLOCATED_989_DP_1SRC); - if(sf && !S && opcode2==1 && (opcode&0x38)==0x18) UNALLOCATED(ENC_UNALLOCATED_985_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x3e)==0x12) UNALLOCATED(ENC_UNALLOCATED_990_DP_1SRC); + if(!S && !opcode2 && (opcode&0x3e)==10) UNALLOCATED(ENC_UNALLOCATED_989_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x3c)==0x14) UNALLOCATED(ENC_UNALLOCATED_988_DP_1SRC); + if(!S && !opcode2 && (opcode&0x3c)==12) UNALLOCATED(ENC_UNALLOCATED_986_DP_1SRC); + if(sf && !S && opcode2==1 && (opcode&0x38)==0x18) UNALLOCATED(ENC_UNALLOCATED_984_DP_1SRC); if(sf && !S && opcode2==1 && (opcode&0x30)==0x30) UNALLOCATED(ENC_UNALLOCATED_983_DP_1SRC); if(!S && !opcode2 && (opcode&0x30)==0x10) UNALLOCATED(ENC_UNALLOCATED_982_DP_1SRC); if(!S && !opcode2 && (opcode&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_981_DP_1SRC); @@ -1930,26 +1923,27 @@ int decode_iclass_dp_2src(context *ctx, Instruction *dec) if(sf && !S && opcode==10) return ASRV(ctx, dec); // -> ASRV_64_dp_2src if(sf && !S && opcode==11) return RORV(ctx, dec); // -> RORV_64_dp_2src if(sf && !S && opcode==12 && HasPAuth()) return PACGA(ctx, dec); // -> PACGA_64P_dp_2src - if(sf && !S && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1008_DP_2SRC); + if(sf && !S && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1013_DP_2SRC); + if(sf && !S && opcode==0x11) UNALLOCATED(ENC_UNALLOCATED_1014_DP_2SRC); if(sf && !S && opcode==0x13 && HasCRC32()) return CRC32(ctx, dec); // -> CRC32X_64C_dp_2src + if(sf && !S && opcode==0x15) UNALLOCATED(ENC_UNALLOCATED_1015_DP_2SRC); if(sf && !S && opcode==0x17 && HasCRC32()) return CRC32C(ctx, dec); // -> CRC32CX_64C_dp_2src if(sf && !S && opcode==0x18 && HasCSSC()) return SMAX_reg(ctx, dec); // -> SMAX_64_dp_2src if(sf && !S && opcode==0x19 && HasCSSC()) return UMAX_reg(ctx, dec); // -> UMAX_64_dp_2src if(sf && !S && opcode==0x1a && HasCSSC()) return SMIN_reg(ctx, dec); // -> SMIN_64_dp_2src if(sf && !S && opcode==0x1b && HasCSSC()) return UMIN_reg(ctx, dec); // -> UMIN_64_dp_2src if(sf && S && !opcode && HasMTE()) return SUBPS(ctx, dec); // -> SUBPS_64S_dp_2src - if(!sf && !S && (opcode&0x3e)==4) UNALLOCATED(ENC_UNALLOCATED_1010_DP_2SRC); - if(!sf && !S && (opcode&0x3b)==0x13) UNALLOCATED(ENC_UNALLOCATED_1013_DP_2SRC); - if(sf && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1014_DP_2SRC); - if(sf && !S && (opcode&0x3e)==14) UNALLOCATED(ENC_UNALLOCATED_1006_DP_2SRC); - if(sf && !S && (opcode&0x3b)==0x12) UNALLOCATED(ENC_UNALLOCATED_1012_DP_2SRC); - if(!S && (opcode&0x3e)==6) UNALLOCATED(ENC_UNALLOCATED_1005_DP_2SRC); - if(S && (opcode&0x3e)==2) UNALLOCATED(ENC_UNALLOCATED_1003_DP_2SRC); - if(!sf && !(opcode&0x3e)) UNALLOCATED(ENC_UNALLOCATED_1009_DP_2SRC); - if(sf && !S && (opcode&0x3a)==0x10) UNALLOCATED(ENC_UNALLOCATED_1011_DP_2SRC); - if(sf && !S && (opcode&0x3c)==0x1c) UNALLOCATED(ENC_UNALLOCATED_1007_DP_2SRC); - if(S && (opcode&0x3c)==4) UNALLOCATED(ENC_UNALLOCATED_1002_DP_2SRC); - if(!sf && !S && (opcode&0x2c)==12) UNALLOCATED(ENC_UNALLOCATED_1004_DP_2SRC); + if(!sf && !S && (opcode&0x3e)==4) UNALLOCATED(ENC_UNALLOCATED_1009_DP_2SRC); + if(!sf && !S && (opcode&0x3b)==0x13) UNALLOCATED(ENC_UNALLOCATED_1010_DP_2SRC); + if(sf && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1012_DP_2SRC); + if(sf && !S && (opcode&0x3e)==14) UNALLOCATED(ENC_UNALLOCATED_1011_DP_2SRC); + if(!S && (opcode&0x3e)==6) UNALLOCATED(ENC_UNALLOCATED_1007_DP_2SRC); + if(S && (opcode&0x3e)==2) UNALLOCATED(ENC_UNALLOCATED_1008_DP_2SRC); + if(!sf && !(opcode&0x3e)) UNALLOCATED(ENC_UNALLOCATED_1004_DP_2SRC); + if(sf && !S && (opcode&0x39)==0x10) UNALLOCATED(ENC_UNALLOCATED_1005_DP_2SRC); + if(sf && !S && (opcode&0x3c)==0x1c) UNALLOCATED(ENC_UNALLOCATED_1006_DP_2SRC); + if(S && (opcode&0x3c)==4) UNALLOCATED(ENC_UNALLOCATED_1003_DP_2SRC); + if(!sf && !S && (opcode&0x2c)==12) UNALLOCATED(ENC_UNALLOCATED_1002_DP_2SRC); if(S && (opcode&0x38)==8) UNALLOCATED(ENC_UNALLOCATED_1001_DP_2SRC); if(S && (opcode&0x30)==0x10) UNALLOCATED(ENC_UNALLOCATED_1000_DP_2SRC); if((opcode&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_999_DP_2SRC); @@ -1971,12 +1965,12 @@ int decode_iclass_dp_3src(context *ctx, Instruction *dec) if(sf && !op54 && op31==5 && !o0) return UMADDL(ctx, dec); // -> UMADDL_64WA_dp_3src if(sf && !op54 && op31==5 && o0) return UMSUBL(ctx, dec); // -> UMSUBL_64WA_dp_3src if(sf && !op54 && op31==6 && !o0) return UMULH(ctx, dec); // -> UMULH_64_dp_3src - if(sf && !op54 && (op31&3)==2 && o0) UNALLOCATED(ENC_UNALLOCATED_1020_DP_3SRC); - if(sf && !op54 && op31==7) UNALLOCATED(ENC_UNALLOCATED_1019_DP_3SRC); - if(!op54 && op31==4) UNALLOCATED(ENC_UNALLOCATED_1018_DP_3SRC); - if(!sf && !op54 && (op31&3)==1) UNALLOCATED(ENC_UNALLOCATED_1017_DP_3SRC); - if(!sf && !op54 && (op31&2)==2) UNALLOCATED(ENC_UNALLOCATED_1016_DP_3SRC); - if(op54) UNALLOCATED(ENC_UNALLOCATED_1015_DP_3SRC); + if(sf && !op54 && (op31&3)==2 && o0) UNALLOCATED(ENC_UNALLOCATED_1021_DP_3SRC); + if(sf && !op54 && op31==7) UNALLOCATED(ENC_UNALLOCATED_1020_DP_3SRC); + if(!op54 && op31==4) UNALLOCATED(ENC_UNALLOCATED_1019_DP_3SRC); + if(!sf && !op54 && (op31&3)==1) UNALLOCATED(ENC_UNALLOCATED_1018_DP_3SRC); + if(!sf && !op54 && (op31&2)==2) UNALLOCATED(ENC_UNALLOCATED_1017_DP_3SRC); + if(op54) UNALLOCATED(ENC_UNALLOCATED_1016_DP_3SRC); UNMATCHED; } @@ -1985,12 +1979,12 @@ int decode_iclass_setf(context *ctx, Instruction *dec) uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1, opcode2=(INSWORD>>15)&0x3f, sz=(INSWORD>>14)&1, o3=(INSWORD>>4)&1, mask=INSWORD&15; if(!sf && !op && S && !opcode2 && !sz && !o3 && mask==13 && HasFlagM()) return SETF(ctx, dec); // -> SETF8_only_setf if(!sf && !op && S && !opcode2 && sz && !o3 && mask==13 && HasFlagM()) return SETF(ctx, dec); // -> SETF16_only_setf - if(!sf && !op && S && !opcode2 && !o3 && mask!=13) UNALLOCATED(ENC_UNALLOCATED_1026_SETF); - if(!sf && !op && S && !opcode2 && o3) UNALLOCATED(ENC_UNALLOCATED_1025_SETF); - if(!sf && !op && S && opcode2) UNALLOCATED(ENC_UNALLOCATED_1024_SETF); - if(!sf && !op && !S) UNALLOCATED(ENC_UNALLOCATED_1023_SETF); - if(!sf && op) UNALLOCATED(ENC_UNALLOCATED_1022_SETF); - if(sf) UNALLOCATED(ENC_UNALLOCATED_1021_SETF); + if(!sf && !op && S && !opcode2 && !o3 && mask!=13) UNALLOCATED(ENC_UNALLOCATED_1027_SETF); + if(!sf && !op && S && !opcode2 && o3) UNALLOCATED(ENC_UNALLOCATED_1026_SETF); + if(!sf && !op && S && opcode2) UNALLOCATED(ENC_UNALLOCATED_1025_SETF); + if(!sf && !op && !S) UNALLOCATED(ENC_UNALLOCATED_1024_SETF); + if(!sf && op) UNALLOCATED(ENC_UNALLOCATED_1023_SETF); + if(sf) UNALLOCATED(ENC_UNALLOCATED_1022_SETF); UNMATCHED; } @@ -2020,10 +2014,10 @@ int decode_iclass_rmif(context *ctx, Instruction *dec) { uint32_t sf=INSWORD>>31, op=(INSWORD>>30)&1, S=(INSWORD>>29)&1, o2=(INSWORD>>4)&1; if(sf && !op && S && !o2 && HasFlagM()) return RMIF(ctx, dec); // -> RMIF_only_rmif - if(sf && !op && S && o2) UNALLOCATED(ENC_UNALLOCATED_1030_RMIF); - if(sf && !op && !S) UNALLOCATED(ENC_UNALLOCATED_1029_RMIF); - if(sf && op) UNALLOCATED(ENC_UNALLOCATED_1028_RMIF); - if(!sf) UNALLOCATED(ENC_UNALLOCATED_1027_RMIF); + if(sf && !op && S && o2) UNALLOCATED(ENC_UNALLOCATED_1031_RMIF); + if(sf && !op && !S) UNALLOCATED(ENC_UNALLOCATED_1030_RMIF); + if(sf && op) UNALLOCATED(ENC_UNALLOCATED_1029_RMIF); + if(!sf) UNALLOCATED(ENC_UNALLOCATED_1028_RMIF); UNMATCHED; } @@ -2038,11 +2032,11 @@ int decode_iclass_asimdall(context *ctx, Instruction *dec) if(!U && !size && opcode==15 && HasAdvSIMD() && HasFP16()) return FMAXV_advsimd(ctx, dec); // -> FMAXV_asimdall_only_H if(!U && size==2 && opcode==12 && HasAdvSIMD() && HasFP16()) return FMINNMV_advsimd(ctx, dec); // -> FMINNMV_asimdall_only_H if(!U && size==2 && opcode==15 && HasAdvSIMD() && HasFP16()) return FMINV_advsimd(ctx, dec); // -> FMINV_asimdall_only_H - if(!Q && U && !(size&1) && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1041_ASIMDALL); - if(Q && U && !(size&1) && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1044_ASIMDALL); - if(!U && !(size&1) && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1043_ASIMDALL); - if(!Q && U && !(size&1) && (opcode&0x1d)==12) UNALLOCATED(ENC_UNALLOCATED_1040_ASIMDALL); - if(!(size&1) && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1039_ASIMDALL); + if(!Q && U && !(size&1) && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1045_ASIMDALL); + if(Q && U && !(size&1) && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1046_ASIMDALL); + if(!U && !(size&1) && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1044_ASIMDALL); + if(!Q && U && !(size&1) && (opcode&0x1d)==12) UNALLOCATED(ENC_UNALLOCATED_1043_ASIMDALL); + if(!(size&1) && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1042_ASIMDALL); if(!U && opcode==3 && HasAdvSIMD()) return SADDLV_advsimd(ctx, dec); // -> SADDLV_asimdall_only if(!U && opcode==10 && HasAdvSIMD()) return SMAXV_advsimd(ctx, dec); // -> SMAXV_asimdall_only if(!U && opcode==0x1a && HasAdvSIMD()) return SMINV_advsimd(ctx, dec); // -> SMINV_asimdall_only @@ -2050,16 +2044,16 @@ int decode_iclass_asimdall(context *ctx, Instruction *dec) if(U && opcode==3 && HasAdvSIMD()) return UADDLV_advsimd(ctx, dec); // -> UADDLV_asimdall_only if(U && opcode==10 && HasAdvSIMD()) return UMAXV_advsimd(ctx, dec); // -> UMAXV_asimdall_only if(U && opcode==0x1a && HasAdvSIMD()) return UMINV_advsimd(ctx, dec); // -> UMINV_asimdall_only - if(U && opcode==0x1b) UNALLOCATED(ENC_UNALLOCATED_1042_ASIMDALL); - if(opcode==1) UNALLOCATED(ENC_UNALLOCATED_1038_ASIMDALL); - if(opcode==11) UNALLOCATED(ENC_UNALLOCATED_1045_ASIMDALL); - if(!(opcode&0x1d)) UNALLOCATED(ENC_UNALLOCATED_1036_ASIMDALL); + if(U && opcode==0x1b) UNALLOCATED(ENC_UNALLOCATED_1041_ASIMDALL); + if(opcode==1) UNALLOCATED(ENC_UNALLOCATED_1039_ASIMDALL); + if(opcode==11) UNALLOCATED(ENC_UNALLOCATED_1040_ASIMDALL); + if(!(opcode&0x1d)) UNALLOCATED(ENC_UNALLOCATED_1038_ASIMDALL); if(!(size&1) && (opcode&0x1c)==4) UNALLOCATED(ENC_UNALLOCATED_1035_ASIMDALL); - if(!(size&1) && (opcode&0x1c)==0x14) UNALLOCATED(ENC_UNALLOCATED_1033_ASIMDALL); - if(!(size&1) && (opcode&0x1c)==0x1c) UNALLOCATED(ENC_UNALLOCATED_1034_ASIMDALL); - if((opcode&14)==8) UNALLOCATED(ENC_UNALLOCATED_1037_ASIMDALL); - if((opcode&0x1c)==0x10) UNALLOCATED(ENC_UNALLOCATED_1032_ASIMDALL); - if(size&1 && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1031_ASIMDALL); + if(!(size&1) && (opcode&0x1c)==0x14) UNALLOCATED(ENC_UNALLOCATED_1036_ASIMDALL); + if(!(size&1) && (opcode&0x1c)==0x1c) UNALLOCATED(ENC_UNALLOCATED_1037_ASIMDALL); + if((opcode&14)==8) UNALLOCATED(ENC_UNALLOCATED_1034_ASIMDALL); + if((opcode&0x1c)==0x10) UNALLOCATED(ENC_UNALLOCATED_1033_ASIMDALL); + if(size&1 && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1032_ASIMDALL); UNMATCHED; } @@ -2067,21 +2061,21 @@ int decode_iclass_asimdins(context *ctx, Instruction *dec) { uint32_t Q=(INSWORD>>30)&1, op=(INSWORD>>29)&1, imm5=(INSWORD>>16)&0x1f, imm4=(INSWORD>>11)&15; if(Q && !op && (imm5&15)==8 && imm4==7 && HasAdvSIMD()) return UMOV_advsimd(ctx, dec); // -> UMOV_asimdins_X_x - if(Q && !op && (imm5&15)==9 && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1054_ASIMDINS); - if(Q && !op && (imm5&14)==10 && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1053_ASIMDINS); - if(Q && !op && (imm5&12)==12 && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1052_ASIMDINS); - if(Q && !op && !(imm5&8) && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1051_ASIMDINS); + if(Q && !op && (imm5&15)==9 && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1055_ASIMDINS); + if(Q && !op && (imm5&14)==10 && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1054_ASIMDINS); + if(Q && !op && (imm5&12)==12 && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1053_ASIMDINS); + if(Q && !op && !(imm5&8) && imm4==7) UNALLOCATED(ENC_UNALLOCATED_1052_ASIMDINS); if(!Q && !op && imm4==5 && HasAdvSIMD()) return SMOV_advsimd(ctx, dec); // -> SMOV_asimdins_W_w if(!Q && !op && imm4==7 && HasAdvSIMD()) return UMOV_advsimd(ctx, dec); // -> UMOV_asimdins_W_w - if(Q && !op && imm4==2) UNALLOCATED(ENC_UNALLOCATED_1050_ASIMDINS); + if(Q && !op && imm4==2) UNALLOCATED(ENC_UNALLOCATED_1051_ASIMDINS); if(Q && !op && imm4==3 && HasAdvSIMD()) return INS_advsimd_gen(ctx, dec); // -> INS_asimdins_IR_r if(Q && !op && imm4==5 && HasAdvSIMD()) return SMOV_advsimd(ctx, dec); // -> SMOV_asimdins_X_x if(!op && !imm4 && HasAdvSIMD()) return DUP_advsimd_elt(ctx, dec); // -> DUP_asimdins_DV_v if(!op && imm4==1 && HasAdvSIMD()) return DUP_advsimd_gen(ctx, dec); // -> DUP_asimdins_DR_r - if(!Q && !op && (imm4&14)==2) UNALLOCATED(ENC_UNALLOCATED_1048_ASIMDINS); + if(!Q && !op && (imm4&14)==2) UNALLOCATED(ENC_UNALLOCATED_1050_ASIMDINS); if(!op && (imm4&13)==4) UNALLOCATED(ENC_UNALLOCATED_1049_ASIMDINS); - if(!op && (imm4&8)==8) UNALLOCATED(ENC_UNALLOCATED_1047_ASIMDINS); - if(!Q && op) UNALLOCATED(ENC_UNALLOCATED_1046_ASIMDINS); + if(!op && (imm4&8)==8) UNALLOCATED(ENC_UNALLOCATED_1048_ASIMDINS); + if(!Q && op) UNALLOCATED(ENC_UNALLOCATED_1047_ASIMDINS); if(Q && op && HasAdvSIMD()) return INS_advsimd_elt(ctx, dec); // -> INS_asimdins_IV_v UNMATCHED; } @@ -2090,7 +2084,7 @@ int decode_iclass_asimdext(context *ctx, Instruction *dec) { uint32_t op2=(INSWORD>>22)&3; if(!op2 && HasAdvSIMD()) return EXT_advsimd(ctx, dec); // -> EXT_asimdext_only - if(op2) UNALLOCATED(ENC_UNALLOCATED_1055_ASIMDEXT); + if(op2) UNALLOCATED(ENC_UNALLOCATED_1056_ASIMDEXT); UNMATCHED; } @@ -2098,13 +2092,13 @@ int decode_iclass_asimdimm(context *ctx, Instruction *dec) { uint32_t Q=(INSWORD>>30)&1, op=(INSWORD>>29)&1, cmode=(INSWORD>>12)&15, o2=(INSWORD>>11)&1; if(!Q && op && cmode==14 && !o2 && HasAdvSIMD()) return MOVI_advsimd(ctx, dec); // -> MOVI_asimdimm_D_ds - if(!Q && op && cmode==15 && !o2) UNALLOCATED(ENC_UNALLOCATED_1058_ASIMDIMM); + if(!Q && op && cmode==15 && !o2) UNALLOCATED(ENC_UNALLOCATED_1059_ASIMDIMM); if(Q && op && cmode==14 && !o2 && HasAdvSIMD()) return MOVI_advsimd(ctx, dec); // -> MOVI_asimdimm_D2_d if(Q && op && cmode==15 && !o2 && HasAdvSIMD()) return FMOV_advsimd(ctx, dec); // -> FMOV_asimdimm_D2_d if(!op && cmode==14 && !o2 && HasAdvSIMD()) return MOVI_advsimd(ctx, dec); // -> MOVI_asimdimm_N_b if(!op && cmode==15 && !o2 && HasAdvSIMD()) return FMOV_advsimd(ctx, dec); // -> FMOV_asimdimm_S_s if(!op && cmode==15 && o2 && HasAdvSIMD() && HasFP16()) return FMOV_advsimd(ctx, dec); // -> FMOV_asimdimm_H_h - if(!op && cmode!=15 && o2) UNALLOCATED(ENC_UNALLOCATED_1057_ASIMDIMM); + if(!op && cmode!=15 && o2) UNALLOCATED(ENC_UNALLOCATED_1058_ASIMDIMM); if(!op && (cmode&13)==8 && !o2 && HasAdvSIMD()) return MOVI_advsimd(ctx, dec); // -> MOVI_asimdimm_L_hl if(!op && (cmode&13)==9 && !o2 && HasAdvSIMD()) return ORR_advsimd_imm(ctx, dec); // -> ORR_asimdimm_L_hl if(!op && (cmode&14)==12 && !o2 && HasAdvSIMD()) return MOVI_advsimd(ctx, dec); // -> MOVI_asimdimm_M_sm @@ -2115,7 +2109,7 @@ int decode_iclass_asimdimm(context *ctx, Instruction *dec) if(!op && (cmode&9)==1 && !o2 && HasAdvSIMD()) return ORR_advsimd_imm(ctx, dec); // -> ORR_asimdimm_L_sl if(op && !(cmode&9) && !o2 && HasAdvSIMD()) return MVNI_advsimd(ctx, dec); // -> MVNI_asimdimm_L_sl if(op && (cmode&9)==1 && !o2 && HasAdvSIMD()) return BIC_advsimd_imm(ctx, dec); // -> BIC_asimdimm_L_sl - if(op && o2) UNALLOCATED(ENC_UNALLOCATED_1056_ASIMDIMM); + if(op && o2) UNALLOCATED(ENC_UNALLOCATED_1057_ASIMDIMM); UNMATCHED; } @@ -2128,7 +2122,7 @@ int decode_iclass_asimdperm(context *ctx, Instruction *dec) if(opcode==5 && HasAdvSIMD()) return UZP2_advsimd(ctx, dec); // -> UZP2_asimdperm_only if(opcode==6 && HasAdvSIMD()) return TRN2_advsimd(ctx, dec); // -> TRN2_asimdperm_only if(opcode==7 && HasAdvSIMD()) return ZIP2_advsimd(ctx, dec); // -> ZIP2_asimdperm_only - if(!(opcode&3)) UNALLOCATED(ENC_UNALLOCATED_1059_ASIMDPERM); + if(!(opcode&3)) UNALLOCATED(ENC_UNALLOCATED_1060_ASIMDPERM); UNMATCHED; } @@ -2136,8 +2130,8 @@ int decode_iclass_asisdone(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>29)&1, imm4=(INSWORD>>11)&15; if(!op && !imm4 && HasAdvSIMD()) return DUP_advsimd_elt(ctx, dec); // -> DUP_asisdone_only - if(!op && imm4) UNALLOCATED(ENC_UNALLOCATED_1061_ASISDONE); - if(op) UNALLOCATED(ENC_UNALLOCATED_1060_ASISDONE); + if(!op && imm4) UNALLOCATED(ENC_UNALLOCATED_1062_ASISDONE); + if(op) UNALLOCATED(ENC_UNALLOCATED_1061_ASISDONE); UNMATCHED; } @@ -2149,24 +2143,24 @@ int decode_iclass_asisdpair(context *ctx, Instruction *dec) if(!U && !size && opcode==15 && HasAdvSIMD() && HasFP16()) return FMAXP_advsimd_pair(ctx, dec); // -> FMAXP_asisdpair_only_H if(!U && size==2 && opcode==12 && HasAdvSIMD() && HasFP16()) return FMINNMP_advsimd_pair(ctx, dec); // -> FMINNMP_asisdpair_only_H if(!U && size==2 && opcode==15 && HasAdvSIMD() && HasFP16()) return FMINP_advsimd_pair(ctx, dec); // -> FMINP_asisdpair_only_H - if(!U && size==3 && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1071_ASISDPAIR); + if(!U && size==3 && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1073_ASISDPAIR); if(!U && size==3 && opcode==0x1b && HasAdvSIMD()) return ADDP_advsimd_pair(ctx, dec); // -> ADDP_asisdpair_only - if(U && size==3 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1073_ASISDPAIR); + if(U && size==3 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1074_ASISDPAIR); if(size==2 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1072_ASISDPAIR); - if(!U && size&1 && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1070_ASISDPAIR); - if(!U && size==3 && (opcode&15)==10) UNALLOCATED(ENC_UNALLOCATED_1068_ASISDPAIR); + if(!U && size&1 && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1071_ASISDPAIR); + if(!U && size==3 && (opcode&15)==10) UNALLOCATED(ENC_UNALLOCATED_1070_ASISDPAIR); if(U && !(size&2) && opcode==12 && HasAdvSIMD()) return FMAXNMP_advsimd_pair(ctx, dec); // -> FMAXNMP_asisdpair_only_SD if(U && !(size&2) && opcode==13 && HasAdvSIMD()) return FADDP_advsimd_pair(ctx, dec); // -> FADDP_asisdpair_only_SD if(U && !(size&2) && opcode==15 && HasAdvSIMD()) return FMAXP_advsimd_pair(ctx, dec); // -> FMAXP_asisdpair_only_SD if(U && (size&2)==2 && opcode==12 && HasAdvSIMD()) return FMINNMP_advsimd_pair(ctx, dec); // -> FMINNMP_asisdpair_only_SD if(U && (size&2)==2 && opcode==15 && HasAdvSIMD()) return FMINP_advsimd_pair(ctx, dec); // -> FMINP_asisdpair_only_SD if(!U && size&1 && (opcode&0x1d)==13) UNALLOCATED(ENC_UNALLOCATED_1069_ASISDPAIR); - if(!U && size==3 && (opcode&14)==8) UNALLOCATED(ENC_UNALLOCATED_1066_ASISDPAIR); + if(!U && size==3 && (opcode&14)==8) UNALLOCATED(ENC_UNALLOCATED_1068_ASISDPAIR); if(opcode==14) UNALLOCATED(ENC_UNALLOCATED_1067_ASISDPAIR); - if(!U && size!=3 && (opcode&12)==8) UNALLOCATED(ENC_UNALLOCATED_1064_ASISDPAIR); + if(!U && size!=3 && (opcode&12)==8) UNALLOCATED(ENC_UNALLOCATED_1066_ASISDPAIR); if((opcode&0x1c)==0x1c) UNALLOCATED(ENC_UNALLOCATED_1065_ASISDPAIR); - if(U && (opcode&12)==8) UNALLOCATED(ENC_UNALLOCATED_1063_ASISDPAIR); - if(!(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1062_ASISDPAIR); + if(U && (opcode&12)==8) UNALLOCATED(ENC_UNALLOCATED_1064_ASISDPAIR); + if(!(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1063_ASISDPAIR); UNMATCHED; } @@ -2178,7 +2172,7 @@ int decode_iclass_asisdshf(context *ctx, Instruction *dec) if(!U && immh && opcode==0x13 && HasAdvSIMD()) return SQRSHRN_advsimd(ctx, dec); // -> SQRSHRN_asisdshf_N if(!U && immh && opcode==0x1c && HasAdvSIMD()) return SCVTF_advsimd_fix(ctx, dec); // -> SCVTF_asisdshf_C if(!U && immh && opcode==0x1f && HasAdvSIMD()) return FCVTZS_advsimd_fix(ctx, dec); // -> FCVTZS_asisdshf_C - if(U && !immh && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1086_ASISDSHF); + if(U && !immh && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1091_ASISDSHF); if(U && immh && opcode==12 && HasAdvSIMD()) return SQSHLU_advsimd(ctx, dec); // -> SQSHLU_asisdshf_R if(U && immh && opcode==14 && HasAdvSIMD()) return UQSHL_advsimd_imm(ctx, dec); // -> UQSHL_asisdshf_R if(U && immh && opcode==0x10 && HasAdvSIMD()) return SQSHRUN_advsimd(ctx, dec); // -> SQSHRUN_asisdshf_N @@ -2187,17 +2181,17 @@ int decode_iclass_asisdshf(context *ctx, Instruction *dec) if(U && immh && opcode==0x13 && HasAdvSIMD()) return UQRSHRN_advsimd(ctx, dec); // -> UQRSHRN_asisdshf_N if(U && immh && opcode==0x1c && HasAdvSIMD()) return UCVTF_advsimd_fix(ctx, dec); // -> UCVTF_asisdshf_C if(U && immh && opcode==0x1f && HasAdvSIMD()) return FCVTZU_advsimd_fix(ctx, dec); // -> FCVTZU_asisdshf_C - if(!immh && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1085_ASISDSHF); - if(!immh && opcode==0x1f) UNALLOCATED(ENC_UNALLOCATED_1088_ASISDSHF); - if(immh && opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1090_ASISDSHF); - if(U && !immh && (opcode&0x1e)==0x10) UNALLOCATED(ENC_UNALLOCATED_1089_ASISDSHF); - if(!immh && (opcode&15)==14) UNALLOCATED(ENC_UNALLOCATED_1084_ASISDSHF); - if(!immh && (opcode&0x1e)==0x12) UNALLOCATED(ENC_UNALLOCATED_1087_ASISDSHF); + if(!immh && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1089_ASISDSHF); + if(!immh && opcode==0x1f) UNALLOCATED(ENC_UNALLOCATED_1090_ASISDSHF); + if(immh && opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1084_ASISDSHF); + if(U && !immh && (opcode&0x1e)==0x10) UNALLOCATED(ENC_UNALLOCATED_1088_ASISDSHF); + if(!immh && (opcode&15)==14) UNALLOCATED(ENC_UNALLOCATED_1087_ASISDSHF); + if(!immh && (opcode&0x1e)==0x12) UNALLOCATED(ENC_UNALLOCATED_1086_ASISDSHF); if(!U && (immh&8)==8 && !opcode && HasAdvSIMD()) return SSHR_advsimd(ctx, dec); // -> SSHR_asisdshf_R if(!U && (immh&8)==8 && opcode==2 && HasAdvSIMD()) return SSRA_advsimd(ctx, dec); // -> SSRA_asisdshf_R if(!U && (immh&8)==8 && opcode==4 && HasAdvSIMD()) return SRSHR_advsimd(ctx, dec); // -> SRSHR_asisdshf_R if(!U && (immh&8)==8 && opcode==6 && HasAdvSIMD()) return SRSRA_advsimd(ctx, dec); // -> SRSRA_asisdshf_R - if(!U && (immh&8)==8 && opcode==8) UNALLOCATED(ENC_UNALLOCATED_1082_ASISDSHF); + if(!U && (immh&8)==8 && opcode==8) UNALLOCATED(ENC_UNALLOCATED_1085_ASISDSHF); if(!U && (immh&8)==8 && opcode==10 && HasAdvSIMD()) return SHL_advsimd(ctx, dec); // -> SHL_asisdshf_R if(U && (immh&8)==8 && !opcode && HasAdvSIMD()) return USHR_advsimd(ctx, dec); // -> USHR_asisdshf_R if(U && (immh&8)==8 && opcode==2 && HasAdvSIMD()) return USRA_advsimd(ctx, dec); // -> USRA_asisdshf_R @@ -2205,15 +2199,15 @@ int decode_iclass_asisdshf(context *ctx, Instruction *dec) if(U && (immh&8)==8 && opcode==6 && HasAdvSIMD()) return URSRA_advsimd(ctx, dec); // -> URSRA_asisdshf_R if(U && (immh&8)==8 && opcode==8 && HasAdvSIMD()) return SRI_advsimd(ctx, dec); // -> SRI_asisdshf_R if(U && (immh&8)==8 && opcode==10 && HasAdvSIMD()) return SLI_advsimd(ctx, dec); // -> SLI_asisdshf_R - if(!U && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1081_ASISDSHF); - if(opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1080_ASISDSHF); - if(!(immh&8) && (opcode&0x1d)==0x19) UNALLOCATED(ENC_UNALLOCATED_1077_ASISDSHF); - if(!U && (opcode&0x1e)==0x10) UNALLOCATED(ENC_UNALLOCATED_1083_ASISDSHF); - if(!(immh&8) && (opcode&13)==8) UNALLOCATED(ENC_UNALLOCATED_1076_ASISDSHF); - if(!(immh&8) && !(opcode&0x19)) UNALLOCATED(ENC_UNALLOCATED_1075_ASISDSHF); + if(!U && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1083_ASISDSHF); + if(opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1082_ASISDSHF); + if(!(immh&8) && (opcode&0x1d)==0x19) UNALLOCATED(ENC_UNALLOCATED_1081_ASISDSHF); + if(!U && (opcode&0x1e)==0x10) UNALLOCATED(ENC_UNALLOCATED_1080_ASISDSHF); + if(!(immh&8) && (opcode&13)==8) UNALLOCATED(ENC_UNALLOCATED_1078_ASISDSHF); + if(!(immh&8) && !(opcode&0x19)) UNALLOCATED(ENC_UNALLOCATED_1077_ASISDSHF); if((immh&8)==8 && (opcode&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_1079_ASISDSHF); - if((opcode&0x1c)==0x14) UNALLOCATED(ENC_UNALLOCATED_1078_ASISDSHF); - if((opcode&0x11)==1) UNALLOCATED(ENC_UNALLOCATED_1074_ASISDSHF); + if((opcode&0x1c)==0x14) UNALLOCATED(ENC_UNALLOCATED_1076_ASISDSHF); + if((opcode&0x11)==1) UNALLOCATED(ENC_UNALLOCATED_1075_ASISDSHF); UNMATCHED; } @@ -2223,10 +2217,10 @@ int decode_iclass_asisddiff(context *ctx, Instruction *dec) if(!U && opcode==9 && HasAdvSIMD()) return SQDMLAL_advsimd_vec(ctx, dec); // -> SQDMLAL_asisddiff_only if(!U && opcode==11 && HasAdvSIMD()) return SQDMLSL_advsimd_vec(ctx, dec); // -> SQDMLSL_asisddiff_only if(!U && opcode==13 && HasAdvSIMD()) return SQDMULL_advsimd_vec(ctx, dec); // -> SQDMULL_asisddiff_only - if(!U && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1094_ASISDDIFF); - if(!U && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1093_ASISDDIFF); - if(!U && !(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1092_ASISDDIFF); - if(U) UNALLOCATED(ENC_UNALLOCATED_1091_ASISDDIFF); + if(!U && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1095_ASISDDIFF); + if(!U && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1094_ASISDDIFF); + if(!U && !(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1093_ASISDDIFF); + if(U) UNALLOCATED(ENC_UNALLOCATED_1092_ASISDDIFF); UNMATCHED; } @@ -2245,52 +2239,51 @@ int decode_iclass_asisdsame(context *ctx, Instruction *dec) if(U && size==3 && opcode==10 && HasAdvSIMD()) return URSHL_advsimd(ctx, dec); // -> URSHL_asisdsame_only if(U && size==3 && opcode==0x10 && HasAdvSIMD()) return SUB_advsimd(ctx, dec); // -> SUB_asisdsame_only if(U && size==3 && opcode==0x11 && HasAdvSIMD()) return CMEQ_advsimd_reg(ctx, dec); // -> CMEQ_asisdsame_only - if(size==1 && opcode==6) UNALLOCATED(ENC_UNALLOCATED_1106_ASISDSAME); - if(size==3 && !opcode) UNALLOCATED(ENC_UNALLOCATED_1112_ASISDSAME); - if(size==3 && opcode==2) UNALLOCATED(ENC_UNALLOCATED_1102_ASISDSAME); - if(size==3 && opcode==0x15) UNALLOCATED(ENC_UNALLOCATED_1113_ASISDSAME); - if(size!=2 && opcode==0x14) UNALLOCATED(ENC_UNALLOCATED_1110_ASISDSAME); - if(size!=3 && opcode==7) UNALLOCATED(ENC_UNALLOCATED_1105_ASISDSAME); - if(!U && !(size&2) && opcode==0x17) UNALLOCATED(ENC_UNALLOCATED_1108_ASISDSAME); + if(size==1 && opcode==6) UNALLOCATED(ENC_UNALLOCATED_1118_ASISDSAME); + if(size==3 && !opcode) UNALLOCATED(ENC_UNALLOCATED_1119_ASISDSAME); + if(size==3 && opcode==2) UNALLOCATED(ENC_UNALLOCATED_1120_ASISDSAME); + if(size==3 && opcode==0x15) UNALLOCATED(ENC_UNALLOCATED_1121_ASISDSAME); + if(size!=2 && opcode==0x14) UNALLOCATED(ENC_UNALLOCATED_1111_ASISDSAME); + if(size!=3 && opcode==7) UNALLOCATED(ENC_UNALLOCATED_1110_ASISDSAME); if(!U && !(size&2) && opcode==0x1b && HasAdvSIMD()) return FMULX_advsimd_vec(ctx, dec); // -> FMULX_asisdsame_only if(!U && !(size&2) && opcode==0x1c && HasAdvSIMD()) return FCMEQ_advsimd_reg(ctx, dec); // -> FCMEQ_asisdsame_only if(!U && !(size&2) && opcode==0x1f && HasAdvSIMD()) return FRECPS_advsimd(ctx, dec); // -> FRECPS_asisdsame_only - if(!U && (size&2)==2 && opcode==0x17) UNALLOCATED(ENC_UNALLOCATED_1114_ASISDSAME); - if(!U && (size&2)==2 && opcode==0x1a) UNALLOCATED(ENC_UNALLOCATED_1119_ASISDSAME); - if(!U && (size&2)==2 && opcode==0x1b) UNALLOCATED(ENC_UNALLOCATED_1120_ASISDSAME); - if(!U && (size&2)==2 && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1118_ASISDSAME); + if(!U && (size&2)==2 && opcode==0x1a) UNALLOCATED(ENC_UNALLOCATED_1115_ASISDSAME); + if(!U && (size&2)==2 && opcode==0x1b) UNALLOCATED(ENC_UNALLOCATED_1116_ASISDSAME); + if(!U && (size&2)==2 && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1117_ASISDSAME); if(!U && (size&2)==2 && opcode==0x1f && HasAdvSIMD()) return FRSQRTS_advsimd(ctx, dec); // -> FRSQRTS_asisdsame_only if(U && !(size&2) && opcode==0x1c && HasAdvSIMD()) return FCMGE_advsimd_reg(ctx, dec); // -> FCMGE_asisdsame_only if(U && !(size&2) && opcode==0x1d && HasAdvSIMD()) return FACGE_advsimd(ctx, dec); // -> FACGE_asisdsame_only if(U && (size&2)==2 && opcode==0x1a && HasAdvSIMD()) return FABD_advsimd(ctx, dec); // -> FABD_asisdsame_only if(U && (size&2)==2 && opcode==0x1c && HasAdvSIMD()) return FCMGT_advsimd_reg(ctx, dec); // -> FCMGT_asisdsame_only if(U && (size&2)==2 && opcode==0x1d && HasAdvSIMD()) return FACGT_advsimd(ctx, dec); // -> FACGT_asisdsame_only - if(size&1 && opcode==4) UNALLOCATED(ENC_UNALLOCATED_1111_ASISDSAME); - if((size&2)==2 && opcode==0x12) UNALLOCATED(ENC_UNALLOCATED_1101_ASISDSAME); - if((size&2)==2 && opcode==0x18) UNALLOCATED(ENC_UNALLOCATED_1116_ASISDSAME); + if(size&1 && opcode==4) UNALLOCATED(ENC_UNALLOCATED_1114_ASISDSAME); + if((size&2)==2 && opcode==0x12) UNALLOCATED(ENC_UNALLOCATED_1112_ASISDSAME); + if((size&2)==2 && opcode==0x18) UNALLOCATED(ENC_UNALLOCATED_1113_ASISDSAME); if(!U && opcode==1 && HasAdvSIMD()) return SQADD_advsimd(ctx, dec); // -> SQADD_asisdsame_only if(!U && opcode==5 && HasAdvSIMD()) return SQSUB_advsimd(ctx, dec); // -> SQSUB_asisdsame_only if(!U && opcode==9 && HasAdvSIMD()) return SQSHL_advsimd_reg(ctx, dec); // -> SQSHL_asisdsame_only if(!U && opcode==11 && HasAdvSIMD()) return SQRSHL_advsimd(ctx, dec); // -> SQRSHL_asisdsame_only if(!U && opcode==0x16 && HasAdvSIMD()) return SQDMULH_advsimd_vec(ctx, dec); // -> SQDMULH_asisdsame_only - if(!U && opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1121_ASISDSAME); + if(!U && opcode==0x17) UNALLOCATED(ENC_UNALLOCATED_1107_ASISDSAME); + if(!U && opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1108_ASISDSAME); if(U && opcode==1 && HasAdvSIMD()) return UQADD_advsimd(ctx, dec); // -> UQADD_asisdsame_only if(U && opcode==5 && HasAdvSIMD()) return UQSUB_advsimd(ctx, dec); // -> UQSUB_asisdsame_only if(U && opcode==9 && HasAdvSIMD()) return UQSHL_advsimd_reg(ctx, dec); // -> UQSHL_asisdsame_only if(U && opcode==11 && HasAdvSIMD()) return UQRSHL_advsimd(ctx, dec); // -> UQRSHL_asisdsame_only if(U && opcode==0x16 && HasAdvSIMD()) return SQRDMULH_advsimd_vec(ctx, dec); // -> SQRDMULH_asisdsame_only - if(U && opcode==0x1b) UNALLOCATED(ENC_UNALLOCATED_1104_ASISDSAME); - if(opcode==0x19) UNALLOCATED(ENC_UNALLOCATED_1115_ASISDSAME); - if(opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1117_ASISDSAME); - if(size&1 && (opcode&0x1d)==12) UNALLOCATED(ENC_UNALLOCATED_1099_ASISDSAME); - if(!(size&2) && (opcode&0x1b)==0x11) UNALLOCATED(ENC_UNALLOCATED_1107_ASISDSAME); - if(size==2 && !(opcode&0x15)) UNALLOCATED(ENC_UNALLOCATED_1097_ASISDSAME); - if(size==2 && (opcode&0x1a)==0x10) UNALLOCATED(ENC_UNALLOCATED_1109_ASISDSAME); - if(U && (opcode&0x17)==0x17) UNALLOCATED(ENC_UNALLOCATED_1103_ASISDSAME); - if((opcode&15)==3) UNALLOCATED(ENC_UNALLOCATED_1100_ASISDSAME); + if(U && opcode==0x1b) UNALLOCATED(ENC_UNALLOCATED_1109_ASISDSAME); + if(opcode==0x19) UNALLOCATED(ENC_UNALLOCATED_1105_ASISDSAME); + if(opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1106_ASISDSAME); + if(size&1 && (opcode&0x1d)==12) UNALLOCATED(ENC_UNALLOCATED_1104_ASISDSAME); + if(!(size&2) && (opcode&0x1b)==0x11) UNALLOCATED(ENC_UNALLOCATED_1101_ASISDSAME); + if(size==2 && !(opcode&0x15)) UNALLOCATED(ENC_UNALLOCATED_1102_ASISDSAME); + if(size==2 && (opcode&0x1a)==0x10) UNALLOCATED(ENC_UNALLOCATED_1103_ASISDSAME); + if(U && (opcode&0x17)==0x17) UNALLOCATED(ENC_UNALLOCATED_1100_ASISDSAME); + if((opcode&15)==3) UNALLOCATED(ENC_UNALLOCATED_1099_ASISDSAME); if((opcode&0x1d)==13) UNALLOCATED(ENC_UNALLOCATED_1098_ASISDSAME); - if(!(size&1) && (opcode&0x15)==4) UNALLOCATED(ENC_UNALLOCATED_1096_ASISDSAME); - if(!(size&2) && !(opcode&5)) UNALLOCATED(ENC_UNALLOCATED_1095_ASISDSAME); + if(!(size&1) && (opcode&0x15)==4) UNALLOCATED(ENC_UNALLOCATED_1097_ASISDSAME); + if(!(size&2) && !(opcode&5)) UNALLOCATED(ENC_UNALLOCATED_1096_ASISDSAME); UNMATCHED; } @@ -2299,20 +2292,21 @@ int decode_iclass_asisdsamefp16(context *ctx, Instruction *dec) uint32_t U=(INSWORD>>29)&1, a=(INSWORD>>23)&1, opcode=(INSWORD>>11)&7; if(!U && !a && opcode==3 && HasAdvSIMD() && HasFP16()) return FMULX_advsimd_vec(ctx, dec); // -> FMULX_asisdsamefp16_only if(!U && !a && opcode==4 && HasAdvSIMD() && HasFP16()) return FCMEQ_advsimd_reg(ctx, dec); // -> FCMEQ_asisdsamefp16_only + if(!U && !a && opcode==6) UNALLOCATED(ENC_UNALLOCATED_1128_ASISDSAMEFP16); if(!U && !a && opcode==7 && HasAdvSIMD() && HasFP16()) return FRECPS_advsimd(ctx, dec); // -> FRECPS_asisdsamefp16_only - if(!U && a && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1128_ASISDSAMEFP16); - if(!U && a && opcode==4) UNALLOCATED(ENC_UNALLOCATED_1124_ASISDSAMEFP16); + if(!U && a && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1129_ASISDSAMEFP16); + if(!U && a && opcode==4) UNALLOCATED(ENC_UNALLOCATED_1130_ASISDSAMEFP16); if(!U && a && opcode==7 && HasAdvSIMD() && HasFP16()) return FRSQRTS_advsimd(ctx, dec); // -> FRSQRTS_asisdsamefp16_only if(U && !a && opcode==4 && HasAdvSIMD() && HasFP16()) return FCMGE_advsimd_reg(ctx, dec); // -> FCMGE_asisdsamefp16_only if(U && !a && opcode==5 && HasAdvSIMD() && HasFP16()) return FACGE_advsimd(ctx, dec); // -> FACGE_asisdsamefp16_only if(U && a && opcode==2 && HasAdvSIMD() && HasFP16()) return FABD_advsimd(ctx, dec); // -> FABD_asisdsamefp16_only if(U && a && opcode==4 && HasAdvSIMD() && HasFP16()) return FCMGT_advsimd_reg(ctx, dec); // -> FCMGT_asisdsamefp16_only if(U && a && opcode==5 && HasAdvSIMD() && HasFP16()) return FACGT_advsimd(ctx, dec); // -> FACGT_asisdsamefp16_only - if(U && a && opcode==6) UNALLOCATED(ENC_UNALLOCATED_1129_ASISDSAMEFP16); + if(!a && opcode==2) UNALLOCATED(ENC_UNALLOCATED_1127_ASISDSAMEFP16); if(!U && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1125_ASISDSAMEFP16); - if(!U && a && (opcode&3)==2) UNALLOCATED(ENC_UNALLOCATED_1123_ASISDSAMEFP16); - if(!a && (opcode&3)==2) UNALLOCATED(ENC_UNALLOCATED_1127_ASISDSAMEFP16); - if(U && (opcode&3)==3) UNALLOCATED(ENC_UNALLOCATED_1126_ASISDSAMEFP16); + if(!U && a && (opcode&3)==2) UNALLOCATED(ENC_UNALLOCATED_1124_ASISDSAMEFP16); + if(U && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1126_ASISDSAMEFP16); + if(U && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1123_ASISDSAMEFP16); if(!(opcode&6)) UNALLOCATED(ENC_UNALLOCATED_1122_ASISDSAMEFP16); UNMATCHED; } @@ -2322,27 +2316,27 @@ int decode_iclass_asisdsame2(context *ctx, Instruction *dec) uint32_t U=(INSWORD>>29)&1, opcode=(INSWORD>>11)&15; if(U && !opcode && HasRDM()) return SQRDMLAH_advsimd_vec(ctx, dec); // -> SQRDMLAH_asisdsame2_only if(U && opcode==1 && HasRDM()) return SQRDMLSH_advsimd_vec(ctx, dec); // -> SQRDMLSH_asisdsame2_only - if(U && (opcode&14)==2) UNALLOCATED(ENC_UNALLOCATED_1133_ASISDSAME2); - if(U && (opcode&12)==4) UNALLOCATED(ENC_UNALLOCATED_1132_ASISDSAME2); - if(U && (opcode&8)==8) UNALLOCATED(ENC_UNALLOCATED_1131_ASISDSAME2); - if(!U) UNALLOCATED(ENC_UNALLOCATED_1130_ASISDSAME2); + if(U && (opcode&14)==2) UNALLOCATED(ENC_UNALLOCATED_1134_ASISDSAME2); + if(U && (opcode&12)==4) UNALLOCATED(ENC_UNALLOCATED_1133_ASISDSAME2); + if(U && (opcode&8)==8) UNALLOCATED(ENC_UNALLOCATED_1132_ASISDSAME2); + if(!U) UNALLOCATED(ENC_UNALLOCATED_1131_ASISDSAME2); UNMATCHED; } int decode_iclass_asisdmisc(context *ctx, Instruction *dec) { uint32_t U=(INSWORD>>29)&1, size=(INSWORD>>22)&3, opcode=(INSWORD>>12)&0x1f; - if(!U && size==2 && opcode==10) UNALLOCATED(ENC_UNALLOCATED_1145_ASISDMISC); + if(!U && size==2 && opcode==10) UNALLOCATED(ENC_UNALLOCATED_1152_ASISDMISC); if(!U && size==3 && opcode==8 && HasAdvSIMD()) return CMGT_advsimd_zero(ctx, dec); // -> CMGT_asisdmisc_Z if(!U && size==3 && opcode==9 && HasAdvSIMD()) return CMEQ_advsimd_zero(ctx, dec); // -> CMEQ_asisdmisc_Z if(!U && size==3 && opcode==10 && HasAdvSIMD()) return CMLT_advsimd(ctx, dec); // -> CMLT_asisdmisc_Z if(!U && size==3 && opcode==11 && HasAdvSIMD()) return ABS_advsimd(ctx, dec); // -> ABS_asisdmisc_R - if(U && !size && opcode==0x16) UNALLOCATED(ENC_UNALLOCATED_1150_ASISDMISC); + if(U && !size && opcode==0x16) UNALLOCATED(ENC_UNALLOCATED_1153_ASISDMISC); if(U && size==1 && opcode==0x16 && HasAdvSIMD()) return FCVTXN_advsimd(ctx, dec); // -> FCVTXN_asisdmisc_N if(U && size==3 && opcode==8 && HasAdvSIMD()) return CMGE_advsimd_zero(ctx, dec); // -> CMGE_asisdmisc_Z if(U && size==3 && opcode==9 && HasAdvSIMD()) return CMLE_advsimd(ctx, dec); // -> CMLE_asisdmisc_Z if(U && size==3 && opcode==11 && HasAdvSIMD()) return NEG_advsimd(ctx, dec); // -> NEG_asisdmisc_R - if(size==2 && opcode==8) UNALLOCATED(ENC_UNALLOCATED_1144_ASISDMISC); + if(size==2 && opcode==8) UNALLOCATED(ENC_UNALLOCATED_1151_ASISDMISC); if(!U && !(size&2) && opcode==0x1a && HasAdvSIMD()) return FCVTNS_advsimd(ctx, dec); // -> FCVTNS_asisdmisc_R if(!U && !(size&2) && opcode==0x1b && HasAdvSIMD()) return FCVTMS_advsimd(ctx, dec); // -> FCVTMS_asisdmisc_R if(!U && !(size&2) && opcode==0x1c && HasAdvSIMD()) return FCVTAS_advsimd(ctx, dec); // -> FCVTAS_asisdmisc_R @@ -2364,27 +2358,28 @@ int decode_iclass_asisdmisc(context *ctx, Instruction *dec) if(U && (size&2)==2 && opcode==0x1a && HasAdvSIMD()) return FCVTPU_advsimd(ctx, dec); // -> FCVTPU_asisdmisc_R if(U && (size&2)==2 && opcode==0x1b && HasAdvSIMD()) return FCVTZU_advsimd_int(ctx, dec); // -> FCVTZU_asisdmisc_R if(U && (size&2)==2 && opcode==0x1d && HasAdvSIMD()) return FRSQRTE_advsimd(ctx, dec); // -> FRSQRTE_asisdmisc_R - if(U && (size&2)==2 && opcode==0x1f) UNALLOCATED(ENC_UNALLOCATED_1147_ASISDMISC); - if((size&2)==2 && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1151_ASISDMISC); + if(U && (size&2)==2 && opcode==0x1f) UNALLOCATED(ENC_UNALLOCATED_1150_ASISDMISC); + if((size&2)==2 && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1147_ASISDMISC); if((size&2)==2 && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1148_ASISDMISC); - if(size==2 && (opcode&0x1d)==9) UNALLOCATED(ENC_UNALLOCATED_1143_ASISDMISC); + if(size==2 && (opcode&0x1d)==9) UNALLOCATED(ENC_UNALLOCATED_1146_ASISDMISC); if(!U && opcode==3 && HasAdvSIMD()) return SUQADD_advsimd(ctx, dec); // -> SUQADD_asisdmisc_R if(!U && opcode==7 && HasAdvSIMD()) return SQABS_advsimd(ctx, dec); // -> SQABS_asisdmisc_R + if(!U && opcode==0x12) UNALLOCATED(ENC_UNALLOCATED_1142_ASISDMISC); if(!U && opcode==0x14 && HasAdvSIMD()) return SQXTN_advsimd(ctx, dec); // -> SQXTN_asisdmisc_N + if(!U && opcode==0x16) UNALLOCATED(ENC_UNALLOCATED_1143_ASISDMISC); if(U && opcode==3 && HasAdvSIMD()) return USQADD_advsimd(ctx, dec); // -> USQADD_asisdmisc_R if(U && opcode==7 && HasAdvSIMD()) return SQNEG_advsimd(ctx, dec); // -> SQNEG_asisdmisc_R if(U && opcode==0x12 && HasAdvSIMD()) return SQXTUN_advsimd(ctx, dec); // -> SQXTUN_asisdmisc_N if(U && opcode==0x14 && HasAdvSIMD()) return UQXTN_advsimd(ctx, dec); // -> UQXTN_asisdmisc_N - if(U && (size&2)==2 && (opcode&0x1b)==10) UNALLOCATED(ENC_UNALLOCATED_1141_ASISDMISC); - if(U && (size&2)==2 && (opcode&0x17)==0x16) UNALLOCATED(ENC_UNALLOCATED_1146_ASISDMISC); - if(opcode==0x19) UNALLOCATED(ENC_UNALLOCATED_1138_ASISDMISC); - if(!(size&2) && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1142_ASISDMISC); - if(U && (opcode&0x1b)==2) UNALLOCATED(ENC_UNALLOCATED_1140_ASISDMISC); - if((opcode&0x17)==0x10) UNALLOCATED(ENC_UNALLOCATED_1137_ASISDMISC); - if(!U && (opcode&11)==2) UNALLOCATED(ENC_UNALLOCATED_1139_ASISDMISC); - if(!(opcode&0x1a)) UNALLOCATED(ENC_UNALLOCATED_1135_ASISDMISC); - if((opcode&0x19)==0x11) UNALLOCATED(ENC_UNALLOCATED_1136_ASISDMISC); - if(!(size&2) && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1134_ASISDMISC); + if(U && (size&2)==2 && (opcode&0x1b)==10) UNALLOCATED(ENC_UNALLOCATED_1144_ASISDMISC); + if(U && (size&2)==2 && (opcode&0x17)==0x16) UNALLOCATED(ENC_UNALLOCATED_1145_ASISDMISC); + if(opcode==0x19) UNALLOCATED(ENC_UNALLOCATED_1141_ASISDMISC); + if(!(size&2) && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1140_ASISDMISC); + if((opcode&0x1b)==1) UNALLOCATED(ENC_UNALLOCATED_1138_ASISDMISC); + if((opcode&0x17)==0x10) UNALLOCATED(ENC_UNALLOCATED_1139_ASISDMISC); + if(!(opcode&0x19)) UNALLOCATED(ENC_UNALLOCATED_1136_ASISDMISC); + if((opcode&0x19)==0x11) UNALLOCATED(ENC_UNALLOCATED_1137_ASISDMISC); + if(!(size&2) && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1135_ASISDMISC); UNMATCHED; } @@ -2398,11 +2393,11 @@ int decode_iclass_asisdmiscfp16(context *ctx, Instruction *dec) if(!U && a && opcode==12 && HasAdvSIMD() && HasFP16()) return FCMGT_advsimd_zero(ctx, dec); // -> FCMGT_asisdmiscfp16_FZ if(!U && a && opcode==13 && HasAdvSIMD() && HasFP16()) return FCMEQ_advsimd_zero(ctx, dec); // -> FCMEQ_asisdmiscfp16_FZ if(!U && a && opcode==14 && HasAdvSIMD() && HasFP16()) return FCMLT_advsimd(ctx, dec); // -> FCMLT_asisdmiscfp16_FZ - if(!U && a && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1159_ASISDMISCFP16); + if(!U && a && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1162_ASISDMISCFP16); if(!U && a && opcode==0x1a && HasAdvSIMD() && HasFP16()) return FCVTPS_advsimd(ctx, dec); // -> FCVTPS_asisdmiscfp16_R if(!U && a && opcode==0x1b && HasAdvSIMD() && HasFP16()) return FCVTZS_advsimd_int(ctx, dec); // -> FCVTZS_asisdmiscfp16_R if(!U && a && opcode==0x1d && HasAdvSIMD() && HasFP16()) return FRECPE_advsimd(ctx, dec); // -> FRECPE_asisdmiscfp16_R - if(!U && a && opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1161_ASISDMISCFP16); + if(!U && a && opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1163_ASISDMISCFP16); if(!U && a && opcode==0x1f && HasAdvSIMD() && HasFP16()) return FRECPX_advsimd(ctx, dec); // -> FRECPX_asisdmiscfp16_R if(U && !a && opcode==0x1a && HasAdvSIMD() && HasFP16()) return FCVTNU_advsimd(ctx, dec); // -> FCVTNU_asisdmiscfp16_R if(U && !a && opcode==0x1b && HasAdvSIMD() && HasFP16()) return FCVTMU_advsimd(ctx, dec); // -> FCVTMU_asisdmiscfp16_R @@ -2413,14 +2408,14 @@ int decode_iclass_asisdmiscfp16(context *ctx, Instruction *dec) if(U && a && opcode==0x1a && HasAdvSIMD() && HasFP16()) return FCVTPU_advsimd(ctx, dec); // -> FCVTPU_asisdmiscfp16_R if(U && a && opcode==0x1b && HasAdvSIMD() && HasFP16()) return FCVTZU_advsimd_int(ctx, dec); // -> FCVTZU_asisdmiscfp16_R if(U && a && opcode==0x1d && HasAdvSIMD() && HasFP16()) return FRSQRTE_advsimd(ctx, dec); // -> FRSQRTE_asisdmiscfp16_R - if(a && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1160_ASISDMISCFP16); - if(!U && !a && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1158_ASISDMISCFP16); - if(U && a && (opcode&0x1e)==14) UNALLOCATED(ENC_UNALLOCATED_1157_ASISDMISCFP16); - if(U && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1156_ASISDMISCFP16); - if((opcode&0x1e)==0x18) UNALLOCATED(ENC_UNALLOCATED_1155_ASISDMISCFP16); - if(a && (opcode&0x1c)==8) UNALLOCATED(ENC_UNALLOCATED_1154_ASISDMISCFP16); - if(!a && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1153_ASISDMISCFP16); - if(!(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1152_ASISDMISCFP16); + if(a && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1161_ASISDMISCFP16); + if(!U && !a && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1159_ASISDMISCFP16); + if(U && a && (opcode&0x1e)==14) UNALLOCATED(ENC_UNALLOCATED_1160_ASISDMISCFP16); + if(U && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1158_ASISDMISCFP16); + if((opcode&0x1e)==0x18) UNALLOCATED(ENC_UNALLOCATED_1157_ASISDMISCFP16); + if(a && (opcode&0x1c)==8) UNALLOCATED(ENC_UNALLOCATED_1156_ASISDMISCFP16); + if(!a && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1155_ASISDMISCFP16); + if(!(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1154_ASISDMISCFP16); UNMATCHED; } @@ -2431,8 +2426,8 @@ int decode_iclass_asisdelem(context *ctx, Instruction *dec) if(!U && !size && opcode==5 && HasAdvSIMD() && HasFP16()) return FMLS_advsimd_elt(ctx, dec); // -> FMLS_asisdelem_RH_H if(!U && !size && opcode==9 && HasAdvSIMD() && HasFP16()) return FMUL_advsimd_elt(ctx, dec); // -> FMUL_asisdelem_RH_H if(U && !size && opcode==9 && HasAdvSIMD() && HasFP16()) return FMULX_advsimd_elt(ctx, dec); // -> FMULX_asisdelem_RH_H - if(size==1 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1169_ASISDELEM); - if(!U && size==1 && (opcode&11)==1) UNALLOCATED(ENC_UNALLOCATED_1168_ASISDELEM); + if(size==1 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1171_ASISDELEM); + if(!U && size==1 && (opcode&11)==1) UNALLOCATED(ENC_UNALLOCATED_1170_ASISDELEM); if(!U && (size&2)==2 && opcode==1 && HasAdvSIMD()) return FMLA_advsimd_elt(ctx, dec); // -> FMLA_asisdelem_R_SD if(!U && (size&2)==2 && opcode==5 && HasAdvSIMD()) return FMLS_advsimd_elt(ctx, dec); // -> FMLS_asisdelem_R_SD if(!U && (size&2)==2 && opcode==9 && HasAdvSIMD()) return FMUL_advsimd_elt(ctx, dec); // -> FMUL_asisdelem_R_SD @@ -2442,14 +2437,14 @@ int decode_iclass_asisdelem(context *ctx, Instruction *dec) if(!U && opcode==11 && HasAdvSIMD()) return SQDMULL_advsimd_elt(ctx, dec); // -> SQDMULL_asisdelem_L if(!U && opcode==12 && HasAdvSIMD()) return SQDMULH_advsimd_elt(ctx, dec); // -> SQDMULH_asisdelem_R if(!U && opcode==13 && HasAdvSIMD()) return SQRDMULH_advsimd_elt(ctx, dec); // -> SQRDMULH_asisdelem_R - if(U && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1166_ASISDELEM); + if(U && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1169_ASISDELEM); if(U && opcode==13 && HasRDM()) return SQRDMLAH_advsimd_elt(ctx, dec); // -> SQRDMLAH_asisdelem_R if(U && opcode==15 && HasRDM()) return SQRDMLSH_advsimd_elt(ctx, dec); // -> SQRDMLSH_asisdelem_R - if(!U && (opcode&13)==8) UNALLOCATED(ENC_UNALLOCATED_1165_ASISDELEM); - if(!U && (opcode&14)==14) UNALLOCATED(ENC_UNALLOCATED_1167_ASISDELEM); - if(!U && !(opcode&9)) UNALLOCATED(ENC_UNALLOCATED_1164_ASISDELEM); - if(U && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1163_ASISDELEM); - if(U && !(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1162_ASISDELEM); + if(!U && (opcode&13)==8) UNALLOCATED(ENC_UNALLOCATED_1167_ASISDELEM); + if(!U && (opcode&14)==14) UNALLOCATED(ENC_UNALLOCATED_1168_ASISDELEM); + if(!U && !(opcode&9)) UNALLOCATED(ENC_UNALLOCATED_1165_ASISDELEM); + if(U && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1166_ASISDELEM); + if(U && !(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1164_ASISDELEM); UNMATCHED; } @@ -2484,12 +2479,12 @@ int decode_iclass_asimdshf(context *ctx, Instruction *dec) if(U && immh && opcode==0x14 && HasAdvSIMD()) return USHLL_advsimd(ctx, dec); // -> USHLL_asimdshf_L if(U && immh && opcode==0x1c && HasAdvSIMD()) return UCVTF_advsimd_fix(ctx, dec); // -> UCVTF_asimdshf_C if(U && immh && opcode==0x1f && HasAdvSIMD()) return FCVTZU_advsimd_fix(ctx, dec); // -> FCVTZU_asimdshf_C - if(immh && opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1173_ASIMDSHF); - if(!U && immh && (opcode&0x1b)==8) UNALLOCATED(ENC_UNALLOCATED_1174_ASIMDSHF); + if(immh && opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1177_ASIMDSHF); + if(!U && immh && (opcode&0x1b)==8) UNALLOCATED(ENC_UNALLOCATED_1176_ASIMDSHF); if(immh && (opcode&0x17)==0x16) UNALLOCATED(ENC_UNALLOCATED_1175_ASIMDSHF); - if(immh && (opcode&0x1d)==0x15) UNALLOCATED(ENC_UNALLOCATED_1172_ASIMDSHF); - if(immh && (opcode&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_1171_ASIMDSHF); - if(immh && (opcode&0x11)==1) UNALLOCATED(ENC_UNALLOCATED_1170_ASIMDSHF); + if(immh && (opcode&0x1d)==0x15) UNALLOCATED(ENC_UNALLOCATED_1174_ASIMDSHF); + if(immh && (opcode&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_1173_ASIMDSHF); + if(immh && (opcode&0x11)==1) UNALLOCATED(ENC_UNALLOCATED_1172_ASIMDSHF); UNMATCHED; } @@ -2504,12 +2499,12 @@ int decode_iclass_asimdtbl(context *ctx, Instruction *dec) if(!op2 && len==2 && op && HasAdvSIMD()) return TBX_advsimd(ctx, dec); // -> TBX_asimdtbl_L3_3 if(!op2 && len==3 && !op && HasAdvSIMD()) return TBL_advsimd(ctx, dec); // -> TBL_asimdtbl_L4_4 if(!op2 && len==3 && op && HasAdvSIMD()) return TBX_advsimd(ctx, dec); // -> TBX_asimdtbl_L4_4 - if(Q && op2==1 && !(len&1) && !op) UNALLOCATED(ENC_UNALLOCATED_1178_ASIMDTBL); + if(Q && op2==1 && !(len&1) && !op) UNALLOCATED(ENC_UNALLOCATED_1180_ASIMDTBL); if(Q && op2==1 && len&1 && !op && HasAdvSIMD() && HasLUT()) return LUTI4_advsimd(ctx, dec); // -> LUTI4_asimdtbl_L5 if(Q && op2==1 && op && HasAdvSIMD() && HasLUT()) return LUTI4_advsimd(ctx, dec); // -> LUTI4_asimdtbl_L7 - if(Q && op2==2 && !op) UNALLOCATED(ENC_UNALLOCATED_1177_ASIMDTBL); + if(Q && op2==2 && !op) UNALLOCATED(ENC_UNALLOCATED_1179_ASIMDTBL); if(Q && op2==2 && op && HasAdvSIMD() && HasLUT()) return LUTI2_advsimd(ctx, dec); // -> LUTI2_asimdtbl_L5 - if(!Q && op2) UNALLOCATED(ENC_UNALLOCATED_1176_ASIMDTBL); + if(!Q && op2) UNALLOCATED(ENC_UNALLOCATED_1178_ASIMDTBL); if(Q && op2==3 && HasAdvSIMD() && HasLUT()) return LUTI2_advsimd(ctx, dec); // -> LUTI2_asimdtbl_L6 UNMATCHED; } @@ -2532,7 +2527,7 @@ int decode_iclass_asimddiff(context *ctx, Instruction *dec) if(!U && opcode==12 && HasAdvSIMD()) return SMULL_advsimd_vec(ctx, dec); // -> SMULL_asimddiff_L if(!U && opcode==13 && HasAdvSIMD()) return SQDMULL_advsimd_vec(ctx, dec); // -> SQDMULL_asimddiff_L if(!U && opcode==14 && HasAdvSIMD()) return PMULL_advsimd(ctx, dec); // -> PMULL_asimddiff_L - if(!U && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1181_ASIMDDIFF); + if(!U && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1182_ASIMDDIFF); if(U && !opcode && HasAdvSIMD()) return UADDL_advsimd(ctx, dec); // -> UADDL_asimddiff_L if(U && opcode==1 && HasAdvSIMD()) return UADDW_advsimd(ctx, dec); // -> UADDW_asimddiff_W if(U && opcode==2 && HasAdvSIMD()) return USUBL_advsimd(ctx, dec); // -> USUBL_asimddiff_L @@ -2544,8 +2539,8 @@ int decode_iclass_asimddiff(context *ctx, Instruction *dec) if(U && opcode==8 && HasAdvSIMD()) return UMLAL_advsimd_vec(ctx, dec); // -> UMLAL_asimddiff_L if(U && opcode==10 && HasAdvSIMD()) return UMLSL_advsimd_vec(ctx, dec); // -> UMLSL_asimddiff_L if(U && opcode==12 && HasAdvSIMD()) return UMULL_advsimd_vec(ctx, dec); // -> UMULL_asimddiff_L - if(U && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1180_ASIMDDIFF); - if(U && (opcode&9)==9) UNALLOCATED(ENC_UNALLOCATED_1179_ASIMDDIFF); + if(U && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1183_ASIMDDIFF); + if(U && (opcode&9)==9) UNALLOCATED(ENC_UNALLOCATED_1181_ASIMDDIFF); UNMATCHED; } @@ -2564,7 +2559,7 @@ int decode_iclass_asimdsame(context *ctx, Instruction *dec) if(U && size==2 && opcode==3 && HasAdvSIMD()) return BIT_advsimd(ctx, dec); // -> BIT_asimdsame_only if(U && size==2 && opcode==0x19 && HasFHM()) return FMLSL_advsimd_vec(ctx, dec); // -> FMLSL2_asimdsame_F if(U && size==3 && opcode==3 && HasAdvSIMD()) return BIF_advsimd(ctx, dec); // -> BIF_asimdsame_only - if(!U && size&1 && opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1184_ASIMDSAME); + if(!U && size&1 && opcode==0x1d) UNALLOCATED(ENC_UNALLOCATED_1186_ASIMDSAME); if(!U && !(size&2) && opcode==0x18 && HasAdvSIMD()) return FMAXNM_advsimd(ctx, dec); // -> FMAXNM_asimdsame_only if(!U && !(size&2) && opcode==0x19 && HasAdvSIMD()) return FMLA_advsimd_vec(ctx, dec); // -> FMLA_asimdsame_only if(!U && !(size&2) && opcode==0x1a && HasAdvSIMD()) return FADD_advsimd(ctx, dec); // -> FADD_asimdsame_only @@ -2576,10 +2571,10 @@ int decode_iclass_asimdsame(context *ctx, Instruction *dec) if(!U && (size&2)==2 && opcode==0x19 && HasAdvSIMD()) return FMLS_advsimd_vec(ctx, dec); // -> FMLS_asimdsame_only if(!U && (size&2)==2 && opcode==0x1a && HasAdvSIMD()) return FSUB_advsimd(ctx, dec); // -> FSUB_asimdsame_only if(!U && (size&2)==2 && opcode==0x1b && HasAdvSIMD() && HasFAMINMAX()) return FAMAX_advsimd(ctx, dec); // -> FAMAX_asimdsame_only - if(!U && (size&2)==2 && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1183_ASIMDSAME); + if(!U && (size&2)==2 && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1185_ASIMDSAME); if(!U && (size&2)==2 && opcode==0x1e && HasAdvSIMD()) return FMIN_advsimd(ctx, dec); // -> FMIN_asimdsame_only if(!U && (size&2)==2 && opcode==0x1f && HasAdvSIMD()) return FRSQRTS_advsimd(ctx, dec); // -> FRSQRTS_asimdsame_only - if(U && size&1 && opcode==0x19) UNALLOCATED(ENC_UNALLOCATED_1185_ASIMDSAME); + if(U && size&1 && opcode==0x19) UNALLOCATED(ENC_UNALLOCATED_1187_ASIMDSAME); if(U && !(size&2) && opcode==0x18 && HasAdvSIMD()) return FMAXNMP_advsimd_vec(ctx, dec); // -> FMAXNMP_asimdsame_only if(U && !(size&2) && opcode==0x1a && HasAdvSIMD()) return FADDP_advsimd_vec(ctx, dec); // -> FADDP_asimdsame_only if(U && !(size&2) && opcode==0x1b && HasAdvSIMD()) return FMUL_advsimd_vec(ctx, dec); // -> FMUL_asimdsame_only @@ -2639,7 +2634,7 @@ int decode_iclass_asimdsame(context *ctx, Instruction *dec) if(U && opcode==0x14 && HasAdvSIMD()) return UMAXP_advsimd(ctx, dec); // -> UMAXP_asimdsame_only if(U && opcode==0x15 && HasAdvSIMD()) return UMINP_advsimd(ctx, dec); // -> UMINP_asimdsame_only if(U && opcode==0x16 && HasAdvSIMD()) return SQRDMULH_advsimd_vec(ctx, dec); // -> SQRDMULH_asimdsame_only - if(U && opcode==0x17) UNALLOCATED(ENC_UNALLOCATED_1182_ASIMDSAME); + if(U && opcode==0x17) UNALLOCATED(ENC_UNALLOCATED_1184_ASIMDSAME); UNMATCHED; } @@ -2651,7 +2646,7 @@ int decode_iclass_asimdsamefp16(context *ctx, Instruction *dec) if(!U && !a && opcode==2 && HasAdvSIMD() && HasFP16()) return FADD_advsimd(ctx, dec); // -> FADD_asimdsamefp16_only if(!U && !a && opcode==3 && HasAdvSIMD() && HasFP16()) return FMULX_advsimd_vec(ctx, dec); // -> FMULX_asimdsamefp16_only if(!U && !a && opcode==4 && HasAdvSIMD() && HasFP16()) return FCMEQ_advsimd_reg(ctx, dec); // -> FCMEQ_asimdsamefp16_only - if(!U && !a && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1187_ASIMDSAMEFP16); + if(!U && !a && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1190_ASIMDSAMEFP16); if(!U && !a && opcode==6 && HasAdvSIMD() && HasFP16()) return FMAX_advsimd(ctx, dec); // -> FMAX_asimdsamefp16_only if(!U && !a && opcode==7 && HasAdvSIMD() && HasFP16()) return FRECPS_advsimd(ctx, dec); // -> FRECPS_asimdsamefp16_only if(!U && a && !opcode && HasAdvSIMD() && HasFP16()) return FMINNM_advsimd(ctx, dec); // -> FMINNM_asimdsamefp16_only @@ -2674,8 +2669,8 @@ int decode_iclass_asimdsamefp16(context *ctx, Instruction *dec) if(U && a && opcode==5 && HasAdvSIMD() && HasFP16()) return FACGT_advsimd(ctx, dec); // -> FACGT_asimdsamefp16_only if(U && a && opcode==6 && HasAdvSIMD() && HasFP16()) return FMINP_advsimd_vec(ctx, dec); // -> FMINP_asimdsamefp16_only if(U && a && opcode==7 && HasFP8()) return FSCALE_advsimd(ctx, dec); // -> FSCALE_asimdsamefp16_only - if(!U && a && (opcode&6)==4) UNALLOCATED(ENC_UNALLOCATED_1186_ASIMDSAMEFP16); - if(U && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1188_ASIMDSAMEFP16); + if(!U && a && (opcode&6)==4) UNALLOCATED(ENC_UNALLOCATED_1188_ASIMDSAMEFP16); + if(U && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1189_ASIMDSAMEFP16); UNMATCHED; } @@ -2687,45 +2682,47 @@ int decode_iclass_asimdsame2(context *ctx, Instruction *dec) if(!Q && !U && size==3 && opcode==15 && HasFP8FMA()) return FMLALB_advsimd_vec(ctx, dec); // -> FMLALB_asimdsame2_J if(Q && !U && !size && opcode==8 && HasFP8FMA()) return FMLALLBB_advsimd_vec(ctx, dec); // -> FMLALLTB_asimdsame2_G if(Q && !U && size==1 && opcode==8 && HasFP8FMA()) return FMLALLBB_advsimd_vec(ctx, dec); // -> FMLALLTT_asimdsame2_G + if(Q && !U && size==1 && opcode==13 && HasF16F32MM()) return FMMLA_advsimd_fp16fp32(ctx, dec); // -> FMMLA_asimd_FP16FP32 if(Q && !U && size==2 && opcode==4 && HasI8MM()) return SMMLA_advsimd_vec(ctx, dec); // -> SMMLA_asimdsame2_G if(Q && !U && size==2 && opcode==5 && HasI8MM()) return USMMLA_advsimd_vec(ctx, dec); // -> USMMLA_asimdsame2_G - if(Q && !U && size==3 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1203_ASIMDSAME2); + if(Q && !U && size==3 && opcode==13 && HasF16MM()) return FMMLA_advsimd_fp16fp16(ctx, dec); // -> FMMLA_asimd_FP16FP16 if(Q && !U && size==3 && opcode==15 && HasFP8FMA()) return FMLALB_advsimd_vec(ctx, dec); // -> FMLALT_asimdsame2_J - if(Q && !U && size!=3 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1197_ASIMDSAME2); if(Q && U && !size && opcode==13 && HasF8F16MM()) return FMMLA_FP8FP16(ctx, dec); // -> FMMLA_asimd_FP8FP16 if(Q && U && size==1 && opcode==13 && HasBF16()) return BFMMLA_advsimd(ctx, dec); // -> BFMMLA_asimdsame2_E if(Q && U && size==2 && opcode==4 && HasI8MM()) return UMMLA_advsimd_vec(ctx, dec); // -> UMMLA_asimdsame2_G - if(Q && U && size==2 && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1204_ASIMDSAME2); + if(Q && U && size==2 && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1207_ASIMDSAME2); if(Q && U && size==2 && opcode==13 && HasF8F32MM()) return FMMLA_FP8FP32(ctx, dec); // -> FMMLA_asimd_FP8FP32 - if(Q && U && size==3 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1207_ASIMDSAME2); + if(Q && U && size==3 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1208_ASIMDSAME2); + if(!U && !size && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1206_ASIMDSAME2); if(!U && !size && opcode==14 && HasFP8()) return FCVTN_advsimd_328(ctx, dec); // -> FCVTN_asimdsame2_H if(!U && !size && opcode==15 && HasFP8DOT4()) return FDOT_advsimd_4wayvec(ctx, dec); // -> FDOT_asimdsame2_DD if(!U && size==1 && opcode==14 && HasFP8()) return FCVTN_advsimd_168(ctx, dec); // -> FCVTN_asimdsame2_D if(!U && size==1 && opcode==15 && HasFP8DOT2()) return FDOT_advsimd_2wayvec(ctx, dec); // -> FDOT_asimdsame2_D - if(!U && size==2 && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1200_ASIMDSAME2); if(!U && size==2 && opcode==3 && HasI8MM()) return USDOT_advsimd_vec(ctx, dec); // -> USDOT_asimdsame2_D - if(!U && size==2 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1196_ASIMDSAME2); + if(!U && size==2 && opcode==15 && HasF16F32DOT()) return FDOT_advsimd_fp16fp32(ctx, dec); // -> FDOT_asimdsame2_FP16FP32 if(U && size==1 && opcode==15 && HasBF16()) return BFDOT_advsimd_vec(ctx, dec); // -> BFDOT_asimdsame2_D if(U && size==3 && opcode==15 && HasBF16()) return BFMLAL_advsimd_vec(ctx, dec); // -> BFMLAL_asimdsame2_F_ - if(!U && !(size&2) && opcode==10) UNALLOCATED(ENC_UNALLOCATED_1201_ASIMDSAME2); - if(!U && !(size&2) && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1202_ASIMDSAME2); - if(!U && size==2 && (opcode&11)==11) UNALLOCATED(ENC_UNALLOCATED_1195_ASIMDSAME2); - if(U && !(size&1) && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1206_ASIMDSAME2); - if(Q && size==2 && (opcode&14)==6) UNALLOCATED(ENC_UNALLOCATED_1191_ASIMDSAME2); - if(!U && !opcode) UNALLOCATED(ENC_UNALLOCATED_1199_ASIMDSAME2); + if(Q && !U && !(size&1) && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1205_ASIMDSAME2); + if(!U && !(size&1) && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1201_ASIMDSAME2); + if(!U && !(size&1) && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1202_ASIMDSAME2); + if(!U && !(size&1) && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1203_ASIMDSAME2); + if(!U && !(size&2) && opcode==10) UNALLOCATED(ENC_UNALLOCATED_1199_ASIMDSAME2); + if(!U && !(size&2) && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1200_ASIMDSAME2); + if(U && !(size&1) && opcode==15) UNALLOCATED(ENC_UNALLOCATED_1204_ASIMDSAME2); + if(Q && size==2 && (opcode&14)==6) UNALLOCATED(ENC_UNALLOCATED_1198_ASIMDSAME2); + if(!U && !opcode) UNALLOCATED(ENC_UNALLOCATED_1196_ASIMDSAME2); if(!U && opcode==2 && HasDotProd()) return SDOT_advsimd_vec(ctx, dec); // -> SDOT_asimdsame2_D - if(!U && size==2 && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1194_ASIMDSAME2); - if(!U && size==3 && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1198_ASIMDSAME2); - if(!U && size!=2 && (opcode&5)==1) UNALLOCATED(ENC_UNALLOCATED_1193_ASIMDSAME2); if(U && !opcode && HasRDM()) return SQRDMLAH_advsimd_vec(ctx, dec); // -> SQRDMLAH_asimdsame2_only if(U && opcode==1 && HasRDM()) return SQRDMLSH_advsimd_vec(ctx, dec); // -> SQRDMLSH_asimdsame2_only if(U && opcode==2 && HasDotProd()) return UDOT_advsimd_vec(ctx, dec); // -> UDOT_asimdsame2_D - if(U && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1205_ASIMDSAME2); - if(!Q && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1192_ASIMDSAME2); - if(Q && size!=2 && (opcode&12)==4) UNALLOCATED(ENC_UNALLOCATED_1190_ASIMDSAME2); + if(U && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1197_ASIMDSAME2); + if(!Q && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1195_ASIMDSAME2); + if(Q && size!=2 && (opcode&12)==4) UNALLOCATED(ENC_UNALLOCATED_1192_ASIMDSAME2); + if(!U && size&1 && (opcode&5)==1) UNALLOCATED(ENC_UNALLOCATED_1194_ASIMDSAME2); + if(!U && (size&2)==2 && (opcode&9)==8) UNALLOCATED(ENC_UNALLOCATED_1193_ASIMDSAME2); if(U && (opcode&13)==12 && HasFCMA()) return FCADD_advsimd_vec(ctx, dec); // -> FCADD_asimdsame2_C if(U && (opcode&12)==8 && HasFCMA()) return FCMLA_advsimd_vec(ctx, dec); // -> FCMLA_asimdsame2_C - if(!Q && (opcode&12)==4) UNALLOCATED(ENC_UNALLOCATED_1189_ASIMDSAME2); + if(!Q && (opcode&12)==4) UNALLOCATED(ENC_UNALLOCATED_1191_ASIMDSAME2); UNMATCHED; } @@ -2740,7 +2737,7 @@ int decode_iclass_asimdmisc(context *ctx, Instruction *dec) if(U && size==1 && opcode==0x17 && HasFP8()) return F12CVTL_advsimd(ctx, dec); // -> F2CVTL_asimdmisc_V if(U && size==2 && opcode==0x17 && HasFP8()) return BF12CVTL_advsimd(ctx, dec); // -> BF1CVTL_asimdmisc_V if(U && size==3 && opcode==0x17 && HasFP8()) return BF12CVTL_advsimd(ctx, dec); // -> BF2CVTL_asimdmisc_V - if(size==2 && opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1219_ASIMDMISC); + if(size==2 && opcode==0x1e) UNALLOCATED(ENC_UNALLOCATED_1221_ASIMDMISC); if(!U && !(size&2) && opcode==0x16 && HasAdvSIMD()) return FCVTN_advsimd(ctx, dec); // -> FCVTN_asimdmisc_N if(!U && !(size&2) && opcode==0x17 && HasAdvSIMD()) return FCVTL_advsimd(ctx, dec); // -> FCVTL_asimdmisc_L if(!U && !(size&2) && opcode==0x18 && HasAdvSIMD()) return FRINTN_advsimd(ctx, dec); // -> FRINTN_asimdmisc_R @@ -2762,7 +2759,7 @@ int decode_iclass_asimdmisc(context *ctx, Instruction *dec) if(!U && (size&2)==2 && opcode==0x1c && HasAdvSIMD()) return URECPE_advsimd(ctx, dec); // -> URECPE_asimdmisc_R if(!U && (size&2)==2 && opcode==0x1d && HasAdvSIMD()) return FRECPE_advsimd(ctx, dec); // -> FRECPE_asimdmisc_R if(U && !(size&1) && opcode==0x16) UNALLOCATED(ENC_UNALLOCATED_1220_ASIMDMISC); - if(U && !(size&2) && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1215_ASIMDMISC); + if(U && !(size&2) && opcode==1) UNALLOCATED(ENC_UNALLOCATED_1217_ASIMDMISC); if(U && !(size&2) && opcode==0x18 && HasAdvSIMD()) return FRINTA_advsimd(ctx, dec); // -> FRINTA_asimdmisc_R if(U && !(size&2) && opcode==0x19 && HasAdvSIMD()) return FRINTX_advsimd(ctx, dec); // -> FRINTX_asimdmisc_R if(U && !(size&2) && opcode==0x1a && HasAdvSIMD()) return FCVTNU_advsimd(ctx, dec); // -> FCVTNU_asimdmisc_R @@ -2773,16 +2770,16 @@ int decode_iclass_asimdmisc(context *ctx, Instruction *dec) if(U && !(size&2) && opcode==0x1f && HasFRINTTS()) return FRINT64X_advsimd(ctx, dec); // -> FRINT64X_asimdmisc_R if(U && (size&2)==2 && opcode==12 && HasAdvSIMD()) return FCMGE_advsimd_zero(ctx, dec); // -> FCMGE_asimdmisc_FZ if(U && (size&2)==2 && opcode==13 && HasAdvSIMD()) return FCMLE_advsimd(ctx, dec); // -> FCMLE_asimdmisc_FZ - if(U && (size&2)==2 && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1214_ASIMDMISC); + if(U && (size&2)==2 && opcode==14) UNALLOCATED(ENC_UNALLOCATED_1218_ASIMDMISC); if(U && (size&2)==2 && opcode==15 && HasAdvSIMD()) return FNEG_advsimd(ctx, dec); // -> FNEG_asimdmisc_R - if(U && (size&2)==2 && opcode==0x18) UNALLOCATED(ENC_UNALLOCATED_1217_ASIMDMISC); + if(U && (size&2)==2 && opcode==0x18) UNALLOCATED(ENC_UNALLOCATED_1219_ASIMDMISC); if(U && (size&2)==2 && opcode==0x19 && HasAdvSIMD()) return FRINTI_advsimd(ctx, dec); // -> FRINTI_asimdmisc_R if(U && (size&2)==2 && opcode==0x1a && HasAdvSIMD()) return FCVTPU_advsimd(ctx, dec); // -> FCVTPU_asimdmisc_R if(U && (size&2)==2 && opcode==0x1b && HasAdvSIMD()) return FCVTZU_advsimd_int(ctx, dec); // -> FCVTZU_asimdmisc_R if(U && (size&2)==2 && opcode==0x1c && HasAdvSIMD()) return URSQRTE_advsimd(ctx, dec); // -> URSQRTE_asimdmisc_R if(U && (size&2)==2 && opcode==0x1d && HasAdvSIMD()) return FRSQRTE_advsimd(ctx, dec); // -> FRSQRTE_asimdmisc_R if(U && (size&2)==2 && opcode==0x1f && HasAdvSIMD()) return FSQRT_advsimd(ctx, dec); // -> FSQRT_asimdmisc_R - if(size==3 && (opcode&0x17)==0x16) UNALLOCATED(ENC_UNALLOCATED_1218_ASIMDMISC); + if(size==3 && (opcode&0x17)==0x16) UNALLOCATED(ENC_UNALLOCATED_1216_ASIMDMISC); if(!U && !opcode && HasAdvSIMD()) return REV64_advsimd(ctx, dec); // -> REV64_asimdmisc_R if(!U && opcode==1 && HasAdvSIMD()) return REV16_advsimd(ctx, dec); // -> REV16_asimdmisc_R if(!U && opcode==2 && HasAdvSIMD()) return SADDLP_advsimd(ctx, dec); // -> SADDLP_asimdmisc_P @@ -2796,9 +2793,9 @@ int decode_iclass_asimdmisc(context *ctx, Instruction *dec) if(!U && opcode==10 && HasAdvSIMD()) return CMLT_advsimd(ctx, dec); // -> CMLT_asimdmisc_Z if(!U && opcode==11 && HasAdvSIMD()) return ABS_advsimd(ctx, dec); // -> ABS_asimdmisc_R if(!U && opcode==0x12 && HasAdvSIMD()) return XTN_advsimd(ctx, dec); // -> XTN_asimdmisc_N - if(!U && opcode==0x13) UNALLOCATED(ENC_UNALLOCATED_1211_ASIMDMISC); + if(!U && opcode==0x13) UNALLOCATED(ENC_UNALLOCATED_1213_ASIMDMISC); if(!U && opcode==0x14 && HasAdvSIMD()) return SQXTN_advsimd(ctx, dec); // -> SQXTN_asimdmisc_N - if(!U && (size&2)==2 && (opcode&0x17)==0x17) UNALLOCATED(ENC_UNALLOCATED_1216_ASIMDMISC); + if(!U && (size&2)==2 && (opcode&0x17)==0x17) UNALLOCATED(ENC_UNALLOCATED_1212_ASIMDMISC); if(U && !opcode && HasAdvSIMD()) return REV32_advsimd(ctx, dec); // -> REV32_asimdmisc_R if(U && opcode==2 && HasAdvSIMD()) return UADDLP_advsimd(ctx, dec); // -> UADDLP_asimdmisc_P if(U && opcode==3 && HasAdvSIMD()) return USQADD_advsimd(ctx, dec); // -> USQADD_asimdmisc_R @@ -2807,15 +2804,15 @@ int decode_iclass_asimdmisc(context *ctx, Instruction *dec) if(U && opcode==7 && HasAdvSIMD()) return SQNEG_advsimd(ctx, dec); // -> SQNEG_asimdmisc_R if(U && opcode==8 && HasAdvSIMD()) return CMGE_advsimd_zero(ctx, dec); // -> CMGE_asimdmisc_Z if(U && opcode==9 && HasAdvSIMD()) return CMLE_advsimd(ctx, dec); // -> CMLE_asimdmisc_Z - if(U && opcode==10) UNALLOCATED(ENC_UNALLOCATED_1213_ASIMDMISC); + if(U && opcode==10) UNALLOCATED(ENC_UNALLOCATED_1215_ASIMDMISC); if(U && opcode==11 && HasAdvSIMD()) return NEG_advsimd(ctx, dec); // -> NEG_asimdmisc_R if(U && opcode==0x12 && HasAdvSIMD()) return SQXTUN_advsimd(ctx, dec); // -> SQXTUN_asimdmisc_N if(U && opcode==0x13 && HasAdvSIMD()) return SHLL_advsimd(ctx, dec); // -> SHLL_asimdmisc_S if(U && opcode==0x14 && HasAdvSIMD()) return UQXTN_advsimd(ctx, dec); // -> UQXTN_asimdmisc_N - if(U && (size&2)==2 && (opcode&0x1b)==1) UNALLOCATED(ENC_UNALLOCATED_1212_ASIMDMISC); - if(opcode==0x15) UNALLOCATED(ENC_UNALLOCATED_1210_ASIMDMISC); - if((opcode&0x1e)==0x10) UNALLOCATED(ENC_UNALLOCATED_1209_ASIMDMISC); - if(!(size&2) && (opcode&0x1c)==12) UNALLOCATED(ENC_UNALLOCATED_1208_ASIMDMISC); + if(U && (size&2)==2 && (opcode&0x1b)==1) UNALLOCATED(ENC_UNALLOCATED_1214_ASIMDMISC); + if(opcode==0x15) UNALLOCATED(ENC_UNALLOCATED_1211_ASIMDMISC); + if((opcode&0x1e)==0x10) UNALLOCATED(ENC_UNALLOCATED_1210_ASIMDMISC); + if(!(size&2) && (opcode&0x1c)==12) UNALLOCATED(ENC_UNALLOCATED_1209_ASIMDMISC); UNMATCHED; } @@ -2846,19 +2843,19 @@ int decode_iclass_asimdmiscfp16(context *ctx, Instruction *dec) if(U && a && opcode==12 && HasAdvSIMD() && HasFP16()) return FCMGE_advsimd_zero(ctx, dec); // -> FCMGE_asimdmiscfp16_FZ if(U && a && opcode==13 && HasAdvSIMD() && HasFP16()) return FCMLE_advsimd(ctx, dec); // -> FCMLE_asimdmiscfp16_FZ if(U && a && opcode==15 && HasAdvSIMD() && HasFP16()) return FNEG_advsimd(ctx, dec); // -> FNEG_asimdmiscfp16_R - if(U && a && opcode==0x18) UNALLOCATED(ENC_UNALLOCATED_1228_ASIMDMISCFP16); + if(U && a && opcode==0x18) UNALLOCATED(ENC_UNALLOCATED_1229_ASIMDMISCFP16); if(U && a && opcode==0x19 && HasAdvSIMD() && HasFP16()) return FRINTI_advsimd(ctx, dec); // -> FRINTI_asimdmiscfp16_R if(U && a && opcode==0x1a && HasAdvSIMD() && HasFP16()) return FCVTPU_advsimd(ctx, dec); // -> FCVTPU_asimdmiscfp16_R if(U && a && opcode==0x1b && HasAdvSIMD() && HasFP16()) return FCVTZU_advsimd_int(ctx, dec); // -> FCVTZU_asimdmiscfp16_R if(U && a && opcode==0x1d && HasAdvSIMD() && HasFP16()) return FRSQRTE_advsimd(ctx, dec); // -> FRSQRTE_asimdmiscfp16_R if(U && a && opcode==0x1f && HasAdvSIMD() && HasFP16()) return FSQRT_advsimd(ctx, dec); // -> FSQRT_asimdmiscfp16_R - if(a && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1227_ASIMDMISCFP16); - if(!U && a && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1225_ASIMDMISCFP16); - if(U && a && (opcode&15)==14) UNALLOCATED(ENC_UNALLOCATED_1226_ASIMDMISCFP16); - if(!a && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1224_ASIMDMISCFP16); - if(a && (opcode&0x1c)==8) UNALLOCATED(ENC_UNALLOCATED_1223_ASIMDMISCFP16); - if(!a && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1222_ASIMDMISCFP16); - if(!(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1221_ASIMDMISCFP16); + if(a && opcode==0x1c) UNALLOCATED(ENC_UNALLOCATED_1228_ASIMDMISCFP16); + if(!U && a && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1226_ASIMDMISCFP16); + if(U && a && (opcode&15)==14) UNALLOCATED(ENC_UNALLOCATED_1227_ASIMDMISCFP16); + if(!a && (opcode&0x1e)==0x1e) UNALLOCATED(ENC_UNALLOCATED_1225_ASIMDMISCFP16); + if(a && (opcode&0x1c)==8) UNALLOCATED(ENC_UNALLOCATED_1224_ASIMDMISCFP16); + if(!a && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1223_ASIMDMISCFP16); + if(!(opcode&8)) UNALLOCATED(ENC_UNALLOCATED_1222_ASIMDMISCFP16); UNMATCHED; } @@ -2877,23 +2874,24 @@ int decode_iclass_asimdelem(context *ctx, Instruction *dec) if(!U && !size && opcode==9 && HasAdvSIMD() && HasFP16()) return FMUL_advsimd_elt(ctx, dec); // -> FMUL_asimdelem_RH_H if(!U && !size && opcode==15 && HasI8MM()) return SUDOT_advsimd_elt(ctx, dec); // -> SUDOT_asimdelem_D if(!U && size==1 && !opcode && HasFP8DOT2()) return FDOT_advsimd_2wayelem(ctx, dec); // -> FDOT_asimdelem_G + if(!U && size==1 && opcode==9 && HasF16F32DOT()) return FDOT_advsimd_elt_fp16fp32(ctx, dec); // -> FDOT_asimdelem_FP16FP32 if(!U && size==1 && opcode==15 && HasBF16()) return BFDOT_advsimd_elt(ctx, dec); // -> BFDOT_asimdelem_E if(!U && size==2 && !opcode && HasFHM()) return FMLAL_advsimd_elt(ctx, dec); // -> FMLAL_asimdelem_LH if(!U && size==2 && opcode==4 && HasFHM()) return FMLSL_advsimd_elt(ctx, dec); // -> FMLSL_asimdelem_LH if(!U && size==2 && opcode==15 && HasI8MM()) return USDOT_advsimd_elt(ctx, dec); // -> USDOT_asimdelem_D if(!U && size==3 && opcode==15 && HasBF16()) return BFMLAL_advsimd_elt(ctx, dec); // -> BFMLAL_asimdelem_F - if(!U && size!=2 && opcode==4) UNALLOCATED(ENC_UNALLOCATED_1231_ASIMDELEM); + if(!U && size!=2 && opcode==4) UNALLOCATED(ENC_UNALLOCATED_1232_ASIMDELEM); if(U && !size && opcode==9 && HasAdvSIMD() && HasFP16()) return FMULX_advsimd_elt(ctx, dec); // -> FMULX_asimdelem_RH_H + if(U && size==1 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1235_ASIMDELEM); if(U && size==2 && opcode==8 && HasFHM()) return FMLAL_advsimd_elt(ctx, dec); // -> FMLAL2_asimdelem_LH if(U && size==2 && opcode==12 && HasFHM()) return FMLSL_advsimd_elt(ctx, dec); // -> FMLSL2_asimdelem_LH - if(size==1 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1234_ASIMDELEM); - if(!U && size==1 && (opcode&11)==1) UNALLOCATED(ENC_UNALLOCATED_1230_ASIMDELEM); + if(!U && size==1 && (opcode&11)==1) UNALLOCATED(ENC_UNALLOCATED_1231_ASIMDELEM); if(!U && (size&2)==2 && opcode==1 && HasAdvSIMD()) return FMLA_advsimd_elt(ctx, dec); // -> FMLA_asimdelem_R_SD if(!U && (size&2)==2 && opcode==5 && HasAdvSIMD()) return FMLS_advsimd_elt(ctx, dec); // -> FMLS_asimdelem_R_SD if(!U && (size&2)==2 && opcode==9 && HasAdvSIMD()) return FMUL_advsimd_elt(ctx, dec); // -> FMUL_asimdelem_R_SD - if(U && !(size&2) && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1232_ASIMDELEM); + if(U && !(size&2) && opcode==12) UNALLOCATED(ENC_UNALLOCATED_1233_ASIMDELEM); if(U && (size&2)==2 && opcode==9 && HasAdvSIMD()) return FMULX_advsimd_elt(ctx, dec); // -> FMULX_asimdelem_R_SD - if(U && size==3 && (opcode&11)==8) UNALLOCATED(ENC_UNALLOCATED_1233_ASIMDELEM); + if(U && size==3 && (opcode&11)==8) UNALLOCATED(ENC_UNALLOCATED_1234_ASIMDELEM); if(!U && opcode==2 && HasAdvSIMD()) return SMLAL_advsimd_elt(ctx, dec); // -> SMLAL_asimdelem_L if(!U && opcode==3 && HasAdvSIMD()) return SQDMLAL_advsimd_elt(ctx, dec); // -> SQDMLAL_asimdelem_L if(!U && opcode==6 && HasAdvSIMD()) return SMLSL_advsimd_elt(ctx, dec); // -> SMLSL_asimdelem_L @@ -2909,7 +2907,7 @@ int decode_iclass_asimdelem(context *ctx, Instruction *dec) if(U && opcode==4 && HasAdvSIMD()) return MLS_advsimd_elt(ctx, dec); // -> MLS_asimdelem_R if(U && opcode==6 && HasAdvSIMD()) return UMLSL_advsimd_elt(ctx, dec); // -> UMLSL_asimdelem_L if(U && opcode==10 && HasAdvSIMD()) return UMULL_advsimd_elt(ctx, dec); // -> UMULL_asimdelem_L - if(U && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1229_ASIMDELEM); + if(U && opcode==11) UNALLOCATED(ENC_UNALLOCATED_1230_ASIMDELEM); if(U && opcode==13 && HasRDM()) return SQRDMLAH_advsimd_elt(ctx, dec); // -> SQRDMLAH_asimdelem_R if(U && opcode==14 && HasDotProd()) return UDOT_advsimd_elt(ctx, dec); // -> UDOT_asimdelem_D if(U && opcode==15 && HasRDM()) return SQRDMLSH_advsimd_elt(ctx, dec); // -> SQRDMLSH_asimdelem_R @@ -2944,12 +2942,12 @@ int decode_iclass_float2fix(context *ctx, Instruction *dec) if(sf && !S && ftype==3 && !rmode && opcode==3 && HasFP16()) return UCVTF_float_fix(ctx, dec); // -> UCVTF_H64_float2fix if(sf && !S && ftype==3 && rmode==3 && !opcode && HasFP16()) return FCVTZS_float_fix(ctx, dec); // -> FCVTZS_64H_float2fix if(sf && !S && ftype==3 && rmode==3 && opcode==1 && HasFP16()) return FCVTZU_float_fix(ctx, dec); // -> FCVTZU_64H_float2fix - if(!S && ftype!=2 && rmode&1 && (opcode&6)==2) UNALLOCATED(ENC_UNALLOCATED_1240_FLOAT2FIX); - if(!S && ftype!=2 && !(rmode&2) && !(opcode&6)) UNALLOCATED(ENC_UNALLOCATED_1238_FLOAT2FIX); - if(!S && ftype!=2 && rmode==2 && !(opcode&4)) UNALLOCATED(ENC_UNALLOCATED_1239_FLOAT2FIX); - if(!S && ftype==2 && !(opcode&4)) UNALLOCATED(ENC_UNALLOCATED_1237_FLOAT2FIX); - if(!S && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1236_FLOAT2FIX); - if(S) UNALLOCATED(ENC_UNALLOCATED_1235_FLOAT2FIX); + if(!S && ftype!=2 && rmode&1 && (opcode&6)==2) UNALLOCATED(ENC_UNALLOCATED_1241_FLOAT2FIX); + if(!S && ftype!=2 && !(rmode&2) && !(opcode&6)) UNALLOCATED(ENC_UNALLOCATED_1239_FLOAT2FIX); + if(!S && ftype!=2 && rmode==2 && !(opcode&4)) UNALLOCATED(ENC_UNALLOCATED_1240_FLOAT2FIX); + if(!S && ftype==2 && !(opcode&4)) UNALLOCATED(ENC_UNALLOCATED_1238_FLOAT2FIX); + if(!S && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1237_FLOAT2FIX); + if(S) UNALLOCATED(ENC_UNALLOCATED_1236_FLOAT2FIX); UNMATCHED; } @@ -2995,7 +2993,7 @@ int decode_iclass_float2int(context *ctx, Instruction *dec) if(!sf && !S && ftype==1 && rmode==3 && opcode==4 && HasFPRCVT()) return SCVTF_sisd(ctx, dec); // -> SCVTF_sisd_32D if(!sf && !S && ftype==1 && rmode==3 && opcode==5 && HasFPRCVT()) return UCVTF_sisd(ctx, dec); // -> UCVTF_sisd_32D if(!sf && !S && ftype==1 && rmode==3 && opcode==6 && HasJSCVT()) return FJCVTZS(ctx, dec); // -> FJCVTZS_32D_float2int - if(!sf && !S && ftype==1 && rmode==3 && opcode==7) UNALLOCATED(ENC_UNALLOCATED_1255_FLOAT2INT); + if(!sf && !S && ftype==1 && rmode==3 && opcode==7) UNALLOCATED(ENC_UNALLOCATED_1258_FLOAT2INT); if(!sf && !S && ftype==3 && !rmode && !opcode && HasFP16()) return FCVTNS_float(ctx, dec); // -> FCVTNS_32H_float2int if(!sf && !S && ftype==3 && !rmode && opcode==1 && HasFP16()) return FCVTNU_float(ctx, dec); // -> FCVTNU_32H_float2int if(!sf && !S && ftype==3 && !rmode && opcode==2 && HasFP16()) return SCVTF_float_int(ctx, dec); // -> SCVTF_H32_float2int @@ -3088,22 +3086,22 @@ int decode_iclass_float2int(context *ctx, Instruction *dec) if(sf && !S && ftype==3 && rmode==3 && opcode==3 && HasFPRCVT()) return FCVTAU_sisd(ctx, dec); // -> FCVTAU_sisd_64H if(sf && !S && ftype==3 && rmode==3 && opcode==4 && HasFPRCVT()) return SCVTF_sisd(ctx, dec); // -> SCVTF_sisd_64H if(sf && !S && ftype==3 && rmode==3 && opcode==5 && HasFPRCVT()) return UCVTF_sisd(ctx, dec); // -> UCVTF_sisd_64H - if(!sf && !S && !ftype && rmode && (opcode&6)==2) UNALLOCATED(ENC_UNALLOCATED_1247_FLOAT2INT); - if(!sf && !S && ftype==2 && rmode==3 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1246_FLOAT2INT); + if(!sf && !S && !ftype && rmode && (opcode&6)==2) UNALLOCATED(ENC_UNALLOCATED_1250_FLOAT2INT); + if(!sf && !S && ftype==2 && rmode==3 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1257_FLOAT2INT); if(!S && ftype!=2 && rmode==1 && (opcode&6)==4) UNALLOCATED(ENC_UNALLOCATED_1249_FLOAT2INT); - if(!sf && !S && !(ftype&1) && rmode==1 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1248_FLOAT2INT); - if(!sf && !S && ftype==1 && !(rmode&2) && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1256_FLOAT2INT); - if(sf && !S && !(ftype&1) && rmode==3 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1254_FLOAT2INT); - if(sf && !S && !ftype && !(rmode&2) && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1257_FLOAT2INT); - if(sf && !S && ftype==1 && rmode==1 && (opcode&2)==2) UNALLOCATED(ENC_UNALLOCATED_1252_FLOAT2INT); - if(sf && !S && ftype==1 && (rmode&2)==2 && (opcode&6)==2) UNALLOCATED(ENC_UNALLOCATED_1251_FLOAT2INT); - if(!S && ftype==2 && rmode&1 && (opcode&6)==4) UNALLOCATED(ENC_UNALLOCATED_1244_FLOAT2INT); - if(!S && ftype==3 && rmode&1 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1253_FLOAT2INT); + if(!sf && !S && !(ftype&1) && rmode==1 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1252_FLOAT2INT); + if(!sf && !S && ftype==1 && !(rmode&2) && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1251_FLOAT2INT); + if(sf && !S && !(ftype&1) && rmode==3 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1256_FLOAT2INT); + if(sf && !S && !ftype && !(rmode&2) && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1253_FLOAT2INT); + if(sf && !S && ftype==1 && rmode==1 && (opcode&2)==2) UNALLOCATED(ENC_UNALLOCATED_1254_FLOAT2INT); + if(sf && !S && ftype==1 && (rmode&2)==2 && (opcode&6)==2) UNALLOCATED(ENC_UNALLOCATED_1255_FLOAT2INT); + if(!S && ftype==2 && rmode&1 && (opcode&6)==4) UNALLOCATED(ENC_UNALLOCATED_1247_FLOAT2INT); + if(!S && ftype==3 && rmode&1 && (opcode&6)==6) UNALLOCATED(ENC_UNALLOCATED_1248_FLOAT2INT); if(!sf && !S && !ftype && (rmode&2)==2 && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1245_FLOAT2INT); - if(sf && !S && ftype==1 && (rmode&2)==2 && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1250_FLOAT2INT); - if(!S && ftype==2 && rmode&1 && !(opcode&4)) UNALLOCATED(ENC_UNALLOCATED_1243_FLOAT2INT); - if(!S && ftype==2 && !(rmode&1)) UNALLOCATED(ENC_UNALLOCATED_1242_FLOAT2INT); - if(S) UNALLOCATED(ENC_UNALLOCATED_1241_FLOAT2INT); + if(sf && !S && ftype==1 && (rmode&2)==2 && (opcode&4)==4) UNALLOCATED(ENC_UNALLOCATED_1246_FLOAT2INT); + if(!S && ftype==2 && rmode&1 && !(opcode&4)) UNALLOCATED(ENC_UNALLOCATED_1244_FLOAT2INT); + if(!S && ftype==2 && !(rmode&1)) UNALLOCATED(ENC_UNALLOCATED_1243_FLOAT2INT); + if(S) UNALLOCATED(ENC_UNALLOCATED_1242_FLOAT2INT); UNMATCHED; } @@ -3114,10 +3112,10 @@ int decode_iclass_cryptoaes(context *ctx, Instruction *dec) if(!size && opcode==5 && HasAES()) return AESD_advsimd(ctx, dec); // -> AESD_B_cryptoaes if(!size && opcode==6 && HasAES()) return AESMC_advsimd(ctx, dec); // -> AESMC_B_cryptoaes if(!size && opcode==7 && HasAES()) return AESIMC_advsimd(ctx, dec); // -> AESIMC_B_cryptoaes - if(!size && !(opcode&0x1c)) UNALLOCATED(ENC_UNALLOCATED_1261_CRYPTOAES); - if(!size && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1260_CRYPTOAES); - if(!size && (opcode&0x10)==0x10) UNALLOCATED(ENC_UNALLOCATED_1259_CRYPTOAES); - if(size) UNALLOCATED(ENC_UNALLOCATED_1258_CRYPTOAES); + if(!size && !(opcode&0x1c)) UNALLOCATED(ENC_UNALLOCATED_1262_CRYPTOAES); + if(!size && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1261_CRYPTOAES); + if(!size && (opcode&0x10)==0x10) UNALLOCATED(ENC_UNALLOCATED_1260_CRYPTOAES); + if(size) UNALLOCATED(ENC_UNALLOCATED_1259_CRYPTOAES); UNMATCHED; } @@ -3127,7 +3125,7 @@ int decode_iclass_crypto4(context *ctx, Instruction *dec) if(!Op0 && HasSHA3()) return EOR3_advsimd(ctx, dec); // -> EOR3_VVV16_crypto4 if(Op0==1 && HasSHA3()) return BCAX_advsimd(ctx, dec); // -> BCAX_VVV16_crypto4 if(Op0==2 && HasSM3()) return SM3SS1_advsimd(ctx, dec); // -> SM3SS1_VVV4_crypto4 - if(Op0==3) UNALLOCATED(ENC_UNALLOCATED_1262_CRYPTO4); + if(Op0==3) UNALLOCATED(ENC_UNALLOCATED_1263_CRYPTO4); UNMATCHED; } @@ -3141,8 +3139,8 @@ int decode_iclass_cryptosha3(context *ctx, Instruction *dec) if(!size && opcode==4 && HasSHA256()) return SHA256H_advsimd(ctx, dec); // -> SHA256H_QQV_cryptosha3 if(!size && opcode==5 && HasSHA256()) return SHA256H2_advsimd(ctx, dec); // -> SHA256H2_QQV_cryptosha3 if(!size && opcode==6 && HasSHA256()) return SHA256SU1_advsimd(ctx, dec); // -> SHA256SU1_VVV_cryptosha3 - if(!size && opcode==7) UNALLOCATED(ENC_UNALLOCATED_1264_CRYPTOSHA3); - if(size) UNALLOCATED(ENC_UNALLOCATED_1263_CRYPTOSHA3); + if(!size && opcode==7) UNALLOCATED(ENC_UNALLOCATED_1265_CRYPTOSHA3); + if(size) UNALLOCATED(ENC_UNALLOCATED_1264_CRYPTOSHA3); UNMATCHED; } @@ -3156,7 +3154,7 @@ int decode_iclass_cryptosha512_3(context *ctx, Instruction *dec) if(O && !opcode && HasSM3()) return SM3PARTW1_advsimd(ctx, dec); // -> SM3PARTW1_VVV4_cryptosha512_3 if(O && opcode==1 && HasSM3()) return SM3PARTW2_advsimd(ctx, dec); // -> SM3PARTW2_VVV4_cryptosha512_3 if(O && opcode==2 && HasSM4()) return SM4EKEY_advsimd(ctx, dec); // -> SM4EKEY_VVV4_cryptosha512_3 - if(O && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1265_CRYPTOSHA512_3); + if(O && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1266_CRYPTOSHA512_3); UNMATCHED; } @@ -3181,11 +3179,11 @@ int decode_iclass_cryptosha2(context *ctx, Instruction *dec) if(!size && !opcode && HasSHA1()) return SHA1H_advsimd(ctx, dec); // -> SHA1H_SS_cryptosha2 if(!size && opcode==1 && HasSHA1()) return SHA1SU1_advsimd(ctx, dec); // -> SHA1SU1_VV_cryptosha2 if(!size && opcode==2 && HasSHA256()) return SHA256SU0_advsimd(ctx, dec); // -> SHA256SU0_VV_cryptosha2 - if(!size && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1270_CRYPTOSHA2); - if(!size && (opcode&0x1c)==4) UNALLOCATED(ENC_UNALLOCATED_1269_CRYPTOSHA2); - if(!size && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1268_CRYPTOSHA2); - if(!size && (opcode&0x10)==0x10) UNALLOCATED(ENC_UNALLOCATED_1267_CRYPTOSHA2); - if(size) UNALLOCATED(ENC_UNALLOCATED_1266_CRYPTOSHA2); + if(!size && opcode==3) UNALLOCATED(ENC_UNALLOCATED_1271_CRYPTOSHA2); + if(!size && (opcode&0x1c)==4) UNALLOCATED(ENC_UNALLOCATED_1270_CRYPTOSHA2); + if(!size && (opcode&0x18)==8) UNALLOCATED(ENC_UNALLOCATED_1269_CRYPTOSHA2); + if(!size && (opcode&0x10)==0x10) UNALLOCATED(ENC_UNALLOCATED_1268_CRYPTOSHA2); + if(size) UNALLOCATED(ENC_UNALLOCATED_1267_CRYPTOSHA2); UNMATCHED; } @@ -3194,7 +3192,7 @@ int decode_iclass_cryptosha512_2(context *ctx, Instruction *dec) uint32_t opcode=(INSWORD>>10)&3; if(!opcode && HasSHA512()) return SHA512SU0_advsimd(ctx, dec); // -> SHA512SU0_VV2_cryptosha512_2 if(opcode==1 && HasSM4()) return SM4E_advsimd(ctx, dec); // -> SM4E_VV4_cryptosha512_2 - if((opcode&2)==2) UNALLOCATED(ENC_UNALLOCATED_1271_CRYPTOSHA512_2); + if((opcode&2)==2) UNALLOCATED(ENC_UNALLOCATED_1272_CRYPTOSHA512_2); UNMATCHED; } @@ -3213,13 +3211,13 @@ int decode_iclass_floatcmp(context *ctx, Instruction *dec) if(!M && !S && ftype==3 && !op && opcode2==8 && HasFP16()) return FCMP_float(ctx, dec); // -> FCMP_HZ_floatcmp if(!M && !S && ftype==3 && !op && opcode2==0x10 && HasFP16()) return FCMPE_float(ctx, dec); // -> FCMPE_H_floatcmp if(!M && !S && ftype==3 && !op && opcode2==0x18 && HasFP16()) return FCMPE_float(ctx, dec); // -> FCMPE_HZ_floatcmp - if(!M && !S && ftype==2 && !op && !(opcode2&7)) UNALLOCATED(ENC_UNALLOCATED_1278_FLOATCMP); - if(!M && !S && !op && (opcode2&7)==1) UNALLOCATED(ENC_UNALLOCATED_1277_FLOATCMP); - if(!M && !S && !op && (opcode2&6)==2) UNALLOCATED(ENC_UNALLOCATED_1276_FLOATCMP); - if(!M && !S && !op && (opcode2&4)==4) UNALLOCATED(ENC_UNALLOCATED_1275_FLOATCMP); - if(!M && !S && op) UNALLOCATED(ENC_UNALLOCATED_1274_FLOATCMP); - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1273_FLOATCMP); - if(M) UNALLOCATED(ENC_UNALLOCATED_1272_FLOATCMP); + if(!M && !S && ftype==2 && !op && !(opcode2&7)) UNALLOCATED(ENC_UNALLOCATED_1279_FLOATCMP); + if(!M && !S && !op && (opcode2&7)==1) UNALLOCATED(ENC_UNALLOCATED_1278_FLOATCMP); + if(!M && !S && !op && (opcode2&6)==2) UNALLOCATED(ENC_UNALLOCATED_1277_FLOATCMP); + if(!M && !S && !op && (opcode2&4)==4) UNALLOCATED(ENC_UNALLOCATED_1276_FLOATCMP); + if(!M && !S && op) UNALLOCATED(ENC_UNALLOCATED_1275_FLOATCMP); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1274_FLOATCMP); + if(M) UNALLOCATED(ENC_UNALLOCATED_1273_FLOATCMP); UNMATCHED; } @@ -3232,9 +3230,9 @@ int decode_iclass_floatccmp(context *ctx, Instruction *dec) if(!M && !S && ftype==1 && op && HasFP()) return FCCMPE_float(ctx, dec); // -> FCCMPE_D_floatccmp if(!M && !S && ftype==3 && !op && HasFP16()) return FCCMP_float(ctx, dec); // -> FCCMP_H_floatccmp if(!M && !S && ftype==3 && op && HasFP16()) return FCCMPE_float(ctx, dec); // -> FCCMPE_H_floatccmp - if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1281_FLOATCCMP); - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1280_FLOATCCMP); - if(M) UNALLOCATED(ENC_UNALLOCATED_1279_FLOATCCMP); + if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1282_FLOATCCMP); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1281_FLOATCCMP); + if(M) UNALLOCATED(ENC_UNALLOCATED_1280_FLOATCCMP); UNMATCHED; } @@ -3243,10 +3241,10 @@ int decode_iclass_floatsel(context *ctx, Instruction *dec) uint32_t M=INSWORD>>31, S=(INSWORD>>29)&1, ftype=(INSWORD>>22)&3; if(!M && !S && !ftype && HasFP()) return FCSEL_float(ctx, dec); // -> FCSEL_S_floatsel if(!M && !S && ftype==1 && HasFP()) return FCSEL_float(ctx, dec); // -> FCSEL_D_floatsel - if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1284_FLOATSEL); + if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1285_FLOATSEL); if(!M && !S && ftype==3 && HasFP16()) return FCSEL_float(ctx, dec); // -> FCSEL_H_floatsel - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1283_FLOATSEL); - if(M) UNALLOCATED(ENC_UNALLOCATED_1282_FLOATSEL); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1284_FLOATSEL); + if(M) UNALLOCATED(ENC_UNALLOCATED_1283_FLOATSEL); UNMATCHED; } @@ -3275,7 +3273,7 @@ int decode_iclass_floatdp1(context *ctx, Instruction *dec) if(!M && !S && ftype==1 && opcode==2 && HasFP()) return FNEG_float(ctx, dec); // -> FNEG_D_floatdp1 if(!M && !S && ftype==1 && opcode==3 && HasFP()) return FSQRT_float(ctx, dec); // -> FSQRT_D_floatdp1 if(!M && !S && ftype==1 && opcode==4 && HasFP()) return FCVT_float(ctx, dec); // -> FCVT_SD_floatdp1 - if(!M && !S && ftype==1 && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1295_FLOATDP1); + if(!M && !S && ftype==1 && opcode==5) UNALLOCATED(ENC_UNALLOCATED_1296_FLOATDP1); if(!M && !S && ftype==1 && opcode==6 && HasBF16()) return BFCVT_float(ctx, dec); // -> BFCVT_BS_floatdp1 if(!M && !S && ftype==1 && opcode==7 && HasFP()) return FCVT_float(ctx, dec); // -> FCVT_HD_floatdp1 if(!M && !S && ftype==1 && opcode==8 && HasFP()) return FRINTN_float(ctx, dec); // -> FRINTN_D_floatdp1 @@ -3302,16 +3300,16 @@ int decode_iclass_floatdp1(context *ctx, Instruction *dec) if(!M && !S && ftype==3 && opcode==12 && HasFP16()) return FRINTA_float(ctx, dec); // -> FRINTA_H_floatdp1 if(!M && !S && ftype==3 && opcode==14 && HasFP16()) return FRINTX_float(ctx, dec); // -> FRINTX_H_floatdp1 if(!M && !S && ftype==3 && opcode==15 && HasFP16()) return FRINTI_float(ctx, dec); // -> FRINTI_H_floatdp1 - if(!M && !S && ftype!=2 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1294_FLOATDP1); + if(!M && !S && ftype!=2 && opcode==13) UNALLOCATED(ENC_UNALLOCATED_1295_FLOATDP1); if(!M && !S && !ftype && (opcode&0x3d)==4) UNALLOCATED(ENC_UNALLOCATED_1293_FLOATDP1); - if(!M && !S && ftype==3 && (opcode&0x3e)==6) UNALLOCATED(ENC_UNALLOCATED_1292_FLOATDP1); - if(!M && !S && !(ftype&2) && (opcode&0x3c)==0x14) UNALLOCATED(ENC_UNALLOCATED_1291_FLOATDP1); + if(!M && !S && ftype==3 && (opcode&0x3e)==6) UNALLOCATED(ENC_UNALLOCATED_1294_FLOATDP1); + if(!M && !S && !(ftype&2) && (opcode&0x3c)==0x14) UNALLOCATED(ENC_UNALLOCATED_1292_FLOATDP1); if(!M && !S && !(ftype&2) && (opcode&0x38)==0x18) UNALLOCATED(ENC_UNALLOCATED_1290_FLOATDP1); - if(!M && !S && ftype==3 && (opcode&0x30)==0x10) UNALLOCATED(ENC_UNALLOCATED_1289_FLOATDP1); - if(!M && !S && ftype==2 && !(opcode&0x20)) UNALLOCATED(ENC_UNALLOCATED_1288_FLOATDP1); - if(!M && !S && (opcode&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_1287_FLOATDP1); - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1286_FLOATDP1); - if(M) UNALLOCATED(ENC_UNALLOCATED_1285_FLOATDP1); + if(!M && !S && ftype==3 && (opcode&0x30)==0x10) UNALLOCATED(ENC_UNALLOCATED_1291_FLOATDP1); + if(!M && !S && ftype==2 && !(opcode&0x20)) UNALLOCATED(ENC_UNALLOCATED_1289_FLOATDP1); + if(!M && !S && (opcode&0x20)==0x20) UNALLOCATED(ENC_UNALLOCATED_1288_FLOATDP1); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1287_FLOATDP1); + if(M) UNALLOCATED(ENC_UNALLOCATED_1286_FLOATDP1); UNMATCHED; } @@ -3345,12 +3343,12 @@ int decode_iclass_floatdp2(context *ctx, Instruction *dec) if(!M && !S && ftype==3 && opcode==6 && HasFP16()) return FMAXNM_float(ctx, dec); // -> FMAXNM_H_floatdp2 if(!M && !S && ftype==3 && opcode==7 && HasFP16()) return FMINNM_float(ctx, dec); // -> FMINNM_H_floatdp2 if(!M && !S && ftype==3 && opcode==8 && HasFP16()) return FNMUL_float(ctx, dec); // -> FNMUL_H_floatdp2 - if(!M && !S && ftype!=2 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1301_FLOATDP2); - if(!M && !S && ftype!=2 && (opcode&14)==10) UNALLOCATED(ENC_UNALLOCATED_1300_FLOATDP2); - if(!M && !S && ftype!=2 && (opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_1299_FLOATDP2); - if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1298_FLOATDP2); - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1297_FLOATDP2); - if(M) UNALLOCATED(ENC_UNALLOCATED_1296_FLOATDP2); + if(!M && !S && ftype!=2 && opcode==9) UNALLOCATED(ENC_UNALLOCATED_1302_FLOATDP2); + if(!M && !S && ftype!=2 && (opcode&14)==10) UNALLOCATED(ENC_UNALLOCATED_1301_FLOATDP2); + if(!M && !S && ftype!=2 && (opcode&12)==12) UNALLOCATED(ENC_UNALLOCATED_1300_FLOATDP2); + if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1299_FLOATDP2); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1298_FLOATDP2); + if(M) UNALLOCATED(ENC_UNALLOCATED_1297_FLOATDP2); UNMATCHED; } @@ -3369,9 +3367,9 @@ int decode_iclass_floatdp3(context *ctx, Instruction *dec) if(!M && !S && ftype==3 && !o1 && o0 && HasFP16()) return FMSUB_float(ctx, dec); // -> FMSUB_H_floatdp3 if(!M && !S && ftype==3 && o1 && !o0 && HasFP16()) return FNMADD_float(ctx, dec); // -> FNMADD_H_floatdp3 if(!M && !S && ftype==3 && o1 && o0 && HasFP16()) return FNMSUB_float(ctx, dec); // -> FNMSUB_H_floatdp3 - if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1304_FLOATDP3); - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1303_FLOATDP3); - if(M) UNALLOCATED(ENC_UNALLOCATED_1302_FLOATDP3); + if(!M && !S && ftype==2) UNALLOCATED(ENC_UNALLOCATED_1305_FLOATDP3); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1304_FLOATDP3); + if(M) UNALLOCATED(ENC_UNALLOCATED_1303_FLOATDP3); UNMATCHED; } @@ -3380,11 +3378,11 @@ int decode_iclass_floatimm(context *ctx, Instruction *dec) uint32_t M=INSWORD>>31, S=(INSWORD>>29)&1, ftype=(INSWORD>>22)&3, imm5=(INSWORD>>5)&0x1f; if(!M && !S && !ftype && !imm5 && HasFP()) return FMOV_float_imm(ctx, dec); // -> FMOV_S_floatimm if(!M && !S && ftype==1 && !imm5 && HasFP()) return FMOV_float_imm(ctx, dec); // -> FMOV_D_floatimm - if(!M && !S && ftype==2 && !imm5) UNALLOCATED(ENC_UNALLOCATED_1308_FLOATIMM); + if(!M && !S && ftype==2 && !imm5) UNALLOCATED(ENC_UNALLOCATED_1309_FLOATIMM); if(!M && !S && ftype==3 && !imm5 && HasFP16()) return FMOV_float_imm(ctx, dec); // -> FMOV_H_floatimm - if(!M && !S && imm5) UNALLOCATED(ENC_UNALLOCATED_1307_FLOATIMM); - if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1306_FLOATIMM); - if(M) UNALLOCATED(ENC_UNALLOCATED_1305_FLOATIMM); + if(!M && !S && imm5) UNALLOCATED(ENC_UNALLOCATED_1308_FLOATIMM); + if(!M && S) UNALLOCATED(ENC_UNALLOCATED_1307_FLOATIMM); + if(M) UNALLOCATED(ENC_UNALLOCATED_1306_FLOATIMM); UNMATCHED; } @@ -3398,7 +3396,7 @@ int decode_iclass_mortlach_addhv(context *ctx, Instruction *dec) uint32_t op=(INSWORD>>22)&1, V=(INSWORD>>16)&1, opc2=INSWORD&7; if(!op && !V && !(opc2&4) && HasSME()) return addha_za_pp_z(ctx, dec); // -> addha_za_pp_z_32 if(!op && V && !(opc2&4) && HasSME()) return addva_za_pp_z(ctx, dec); // -> addva_za_pp_z_32 - if(!op && (opc2&4)==4) UNALLOCATED(ENC_UNALLOCATED_693_MORTLACH_ADDHV); + if(!op && (opc2&4)==4) UNALLOCATED(ENC_UNALLOCATED_697_MORTLACH_ADDHV); if(op && !V && HasSME_I16I64()) return addha_za_pp_z(ctx, dec); // -> addha_za_pp_z_64 if(op && V && HasSME_I16I64()) return addva_za_pp_z(ctx, dec); // -> addva_za_pp_z_64 UNMATCHED; @@ -3490,12 +3488,12 @@ int decode_iclass_mortlach_zt_ldst(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>16)&0x3f, opc2=INSWORD&3; if(opc==0x1f && !opc2 && HasSME2()) return ldr_zt_br(ctx, dec); // -> ldr_zt_br_ if(opc==0x3f && !opc2 && HasSME2()) return str_zt_br(ctx, dec); // -> str_zt_br_ - if((opc&0x1f)==0x1f && opc2) UNALLOCATED(ENC_UNALLOCATED_699_MORTLACH_ZT_LDST); - if((opc&0x1f)==0x1e) UNALLOCATED(ENC_UNALLOCATED_698_MORTLACH_ZT_LDST); - if((opc&0x1e)==0x1c) UNALLOCATED(ENC_UNALLOCATED_697_MORTLACH_ZT_LDST); - if((opc&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_696_MORTLACH_ZT_LDST); - if((opc&0x18)==0x10) UNALLOCATED(ENC_UNALLOCATED_695_MORTLACH_ZT_LDST); - if(!(opc&0x10)) UNALLOCATED(ENC_UNALLOCATED_694_MORTLACH_ZT_LDST); + if((opc&0x1f)==0x1f && opc2) UNALLOCATED(ENC_UNALLOCATED_703_MORTLACH_ZT_LDST); + if((opc&0x1f)==0x1e) UNALLOCATED(ENC_UNALLOCATED_702_MORTLACH_ZT_LDST); + if((opc&0x1e)==0x1c) UNALLOCATED(ENC_UNALLOCATED_701_MORTLACH_ZT_LDST); + if((opc&0x1c)==0x18) UNALLOCATED(ENC_UNALLOCATED_700_MORTLACH_ZT_LDST); + if((opc&0x18)==0x10) UNALLOCATED(ENC_UNALLOCATED_699_MORTLACH_ZT_LDST); + if(!(opc&0x10)) UNALLOCATED(ENC_UNALLOCATED_698_MORTLACH_ZT_LDST); UNMATCHED; } @@ -3517,7 +3515,7 @@ int decode_iclass_mortlach_extract_pred(context *ctx, Instruction *dec) if(size==2 && !Q && HasSME()) return mova_z_p_rza(ctx, dec); // -> mova_z_p_rza_w if(size==3 && !Q && HasSME()) return mova_z_p_rza(ctx, dec); // -> mova_z_p_rza_d if(size==3 && Q && HasSME()) return mova_z_p_rza(ctx, dec); // -> mova_z_p_rza_q - if(size!=3 && Q) UNALLOCATED(ENC_UNALLOCATED_700_MORTLACH_EXTRACT_PRED); + if(size!=3 && Q) UNALLOCATED(ENC_UNALLOCATED_704_MORTLACH_EXTRACT_PRED); UNMATCHED; } @@ -3537,7 +3535,7 @@ int decode_iclass_mortlach_multi4_extract_ctg(context *ctx, Instruction *dec) if(!size && !(opc&4) && HasSME2()) return mova_mz4_za(ctx, dec); // -> mova_mz4_za_b1 if(size==1 && !(opc&4) && HasSME2()) return mova_mz4_za(ctx, dec); // -> mova_mz4_za_h1 if(size==2 && !(opc&4) && HasSME2()) return mova_mz4_za(ctx, dec); // -> mova_mz4_za_w1 - if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_701_MORTLACH_MULTI4_EXTRACT_CTG); + if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_705_MORTLACH_MULTI4_EXTRACT_CTG); if(size==3 && HasSME2()) return mova_mz4_za(ctx, dec); // -> mova_mz4_za_d1 UNMATCHED; } @@ -3560,7 +3558,7 @@ int decode_iclass_mortlach_extract_zero(context *ctx, Instruction *dec) if(size==2 && !Q && HasSME2p1()) return movaz_z_rza(ctx, dec); // -> movaz_z_rza_w if(size==3 && !Q && HasSME2p1()) return movaz_z_rza(ctx, dec); // -> movaz_z_rza_d if(size==3 && Q && HasSME2p1()) return movaz_z_rza(ctx, dec); // -> movaz_z_rza_q - if(size!=3 && Q) UNALLOCATED(ENC_UNALLOCATED_702_MORTLACH_EXTRACT_ZERO); + if(size!=3 && Q) UNALLOCATED(ENC_UNALLOCATED_706_MORTLACH_EXTRACT_ZERO); UNMATCHED; } @@ -3580,7 +3578,7 @@ int decode_iclass_mortlach_multi4_extract_zero(context *ctx, Instruction *dec) if(!size && !(opc&4) && HasSME2p1()) return movaz_mz4_za(ctx, dec); // -> movaz_mz4_za_b1 if(size==1 && !(opc&4) && HasSME2p1()) return movaz_mz4_za(ctx, dec); // -> movaz_mz4_za_h1 if(size==2 && !(opc&4) && HasSME2p1()) return movaz_mz4_za(ctx, dec); // -> movaz_mz4_za_w1 - if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_703_MORTLACH_MULTI4_EXTRACT_ZERO); + if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_707_MORTLACH_MULTI4_EXTRACT_ZERO); if(size==3 && HasSME2p1()) return movaz_mz4_za(ctx, dec); // -> movaz_mz4_za_d1 UNMATCHED; } @@ -3603,7 +3601,7 @@ int decode_iclass_mortlach_insert_pred(context *ctx, Instruction *dec) if(size==2 && !Q && HasSME()) return mova_za_p_rz(ctx, dec); // -> mova_za_p_rz_w if(size==3 && !Q && HasSME()) return mova_za_p_rz(ctx, dec); // -> mova_za_p_rz_d if(size==3 && Q && HasSME()) return mova_za_p_rz(ctx, dec); // -> mova_za_p_rz_q - if(size!=3 && Q) UNALLOCATED(ENC_UNALLOCATED_704_MORTLACH_INSERT_PRED); + if(size!=3 && Q) UNALLOCATED(ENC_UNALLOCATED_708_MORTLACH_INSERT_PRED); UNMATCHED; } @@ -3623,7 +3621,7 @@ int decode_iclass_mortlach_multi4_insert_ctg(context *ctx, Instruction *dec) if(!size && !(opc&4) && HasSME2()) return mova_za4_z(ctx, dec); // -> mova_za4_z_b1 if(size==1 && !(opc&4) && HasSME2()) return mova_za4_z(ctx, dec); // -> mova_za4_z_h1 if(size==2 && !(opc&4) && HasSME2()) return mova_za4_z(ctx, dec); // -> mova_za4_z_w1 - if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_705_MORTLACH_MULTI4_INSERT_CTG); + if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_709_MORTLACH_MULTI4_INSERT_CTG); if(size==3 && HasSME2()) return mova_za4_z(ctx, dec); // -> mova_za4_z_d1 UNMATCHED; } @@ -3668,30 +3666,34 @@ int decode_iclass_mortlach_zero(context *ctx, Instruction *dec) int decode_iclass_mortlach_expand_2dst_ctg(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>15)&15, opc2=(INSWORD>>10)&3; - if(!(opc&12) && !opc2) UNALLOCATED(ENC_UNALLOCATED_707_MORTLACH_EXPAND_2DST_CTG); + if(!(opc&12) && !opc2) UNALLOCATED(ENC_UNALLOCATED_711_MORTLACH_EXPAND_2DST_CTG); if((opc&12)==4 && !opc2 && HasSME2()) return luti4_mz2_ztz(ctx, dec); // -> luti4_mz2_ztz_1 if((opc&8)==8 && !opc2 && HasSME2()) return luti2_mz2_ztz(ctx, dec); // -> luti2_mz2_ztz_1 - if(opc2) UNALLOCATED(ENC_UNALLOCATED_706_MORTLACH_EXPAND_2DST_CTG); + if(opc2) UNALLOCATED(ENC_UNALLOCATED_710_MORTLACH_EXPAND_2DST_CTG); UNMATCHED; } int decode_iclass_mortlach_expand_4dst_ctg(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7, opc2=(INSWORD>>10)&3; - if(!(opc&6) && !opc2) UNALLOCATED(ENC_UNALLOCATED_709_MORTLACH_EXPAND_4DST_CTG); + if(!(opc&6) && !opc2) UNALLOCATED(ENC_UNALLOCATED_713_MORTLACH_EXPAND_4DST_CTG); if((opc&6)==2 && !opc2 && HasSME2()) return luti4_mz4_ztz(ctx, dec); // -> luti4_mz4_ztz_1 if((opc&4)==4 && !opc2 && HasSME2()) return luti2_mz4_ztz(ctx, dec); // -> luti2_mz4_ztz_1 - if(opc2) UNALLOCATED(ENC_UNALLOCATED_708_MORTLACH_EXPAND_4DST_CTG); + if(opc2) UNALLOCATED(ENC_UNALLOCATED_712_MORTLACH_EXPAND_4DST_CTG); UNMATCHED; } int decode_iclass_mortlach_expand_1dst(context *ctx, Instruction *dec) { - uint32_t opc=(INSWORD>>14)&0x1f, opc2=(INSWORD>>10)&3; - if(!(opc&0x18) && !opc2) UNALLOCATED(ENC_UNALLOCATED_711_MORTLACH_EXPAND_1DST); + uint32_t opc=(INSWORD>>14)&0x1f, size=(INSWORD>>12)&3, opc2=(INSWORD>>10)&3; + if(opc==1 && !size && !opc2 && HasSME2p3()) return luti6_z_ztz(ctx, dec); // -> luti6_z_ztz_ + if(opc==1 && size && !opc2) UNALLOCATED(ENC_UNALLOCATED_718_MORTLACH_EXPAND_1DST); + if(!opc && !opc2) UNALLOCATED(ENC_UNALLOCATED_717_MORTLACH_EXPAND_1DST); + if((opc&0x1e)==2 && !opc2) UNALLOCATED(ENC_UNALLOCATED_716_MORTLACH_EXPAND_1DST); + if((opc&0x1c)==4 && !opc2) UNALLOCATED(ENC_UNALLOCATED_715_MORTLACH_EXPAND_1DST); if((opc&0x18)==8 && !opc2 && HasSME2()) return luti4_z_ztz(ctx, dec); // -> luti4_z_ztz_ if((opc&0x10)==0x10 && !opc2 && HasSME2()) return luti2_z_ztz(ctx, dec); // -> luti2_z_ztz_ - if(opc2) UNALLOCATED(ENC_UNALLOCATED_710_MORTLACH_EXPAND_1DST); + if(opc2) UNALLOCATED(ENC_UNALLOCATED_714_MORTLACH_EXPAND_1DST); UNMATCHED; } @@ -3699,27 +3701,36 @@ int decode_iclass_mortlach_expand_4dst2src_ctg(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>10)&3; if(!opc && HasSME_LUTv2()) return luti4_mz4_ztmz2(ctx, dec); // -> luti4_mz4_ztmz2_1 - if(opc) UNALLOCATED(ENC_UNALLOCATED_712_MORTLACH_EXPAND_4DST2SRC_CTG); + if(opc) UNALLOCATED(ENC_UNALLOCATED_719_MORTLACH_EXPAND_4DST2SRC_CTG); + UNMATCHED; +} + +int decode_iclass_mortlach_expand_4dst3src_ctg(context *ctx, Instruction *dec) +{ + uint32_t size=(INSWORD>>12)&3, opc=(INSWORD>>10)&3; + if(!size && !opc && HasSME2p3()) return luti6_mz4_ztz(ctx, dec); // -> luti6_mz4_ztmz3_1 + if(!size && opc) UNALLOCATED(ENC_UNALLOCATED_721_MORTLACH_EXPAND_4DST3SRC_CTG); + if(size) UNALLOCATED(ENC_UNALLOCATED_720_MORTLACH_EXPAND_4DST3SRC_CTG); UNMATCHED; } int decode_iclass_mortlach_expand_2dst_nctg(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>15)&15, opc2=(INSWORD>>10)&3; - if(!(opc&12) && !opc2) UNALLOCATED(ENC_UNALLOCATED_714_MORTLACH_EXPAND_2DST_NCTG); + if(!(opc&12) && !opc2) UNALLOCATED(ENC_UNALLOCATED_723_MORTLACH_EXPAND_2DST_NCTG); if((opc&12)==4 && !opc2 && HasSME2p1()) return luti4_mz2_ztz(ctx, dec); // -> luti4_mz2_ztz_8 if((opc&8)==8 && !opc2 && HasSME2p1()) return luti2_mz2_ztz(ctx, dec); // -> luti2_mz2_ztz_8 - if(opc2) UNALLOCATED(ENC_UNALLOCATED_713_MORTLACH_EXPAND_2DST_NCTG); + if(opc2) UNALLOCATED(ENC_UNALLOCATED_722_MORTLACH_EXPAND_2DST_NCTG); UNMATCHED; } int decode_iclass_mortlach_expand_4dst_nctg(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7, opc2=(INSWORD>>10)&3; - if(!(opc&6) && !opc2) UNALLOCATED(ENC_UNALLOCATED_716_MORTLACH_EXPAND_4DST_NCTG); + if(!(opc&6) && !opc2) UNALLOCATED(ENC_UNALLOCATED_725_MORTLACH_EXPAND_4DST_NCTG); if((opc&6)==2 && !opc2 && HasSME2p1()) return luti4_mz4_ztz(ctx, dec); // -> luti4_mz4_ztz_4 if((opc&4)==4 && !opc2 && HasSME2p1()) return luti2_mz4_ztz(ctx, dec); // -> luti2_mz4_ztz_4 - if(opc2) UNALLOCATED(ENC_UNALLOCATED_715_MORTLACH_EXPAND_4DST_NCTG); + if(opc2) UNALLOCATED(ENC_UNALLOCATED_724_MORTLACH_EXPAND_4DST_NCTG); UNMATCHED; } @@ -3727,7 +3738,16 @@ int decode_iclass_mortlach_expand_4dst2src_nctg(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>10)&3; if(!opc && HasSME2p1() && HasSME_LUTv2()) return luti4_mz4_ztmz2(ctx, dec); // -> luti4_mz4_ztmz2_4 - if(opc) UNALLOCATED(ENC_UNALLOCATED_717_MORTLACH_EXPAND_4DST2SRC_NCTG); + if(opc) UNALLOCATED(ENC_UNALLOCATED_726_MORTLACH_EXPAND_4DST2SRC_NCTG); + UNMATCHED; +} + +int decode_iclass_mortlach_expand_4dst3src_nctg(context *ctx, Instruction *dec) +{ + uint32_t size=(INSWORD>>12)&3, opc=(INSWORD>>10)&3; + if(!size && !opc && HasSME2p3()) return luti6_mz4_ztz(ctx, dec); // -> luti6_mz4_ztmz3_4 + if(!size && opc) UNALLOCATED(ENC_UNALLOCATED_728_MORTLACH_EXPAND_4DST3SRC_NCTG); + if(size) UNALLOCATED(ENC_UNALLOCATED_727_MORTLACH_EXPAND_4DST3SRC_NCTG); UNMATCHED; } @@ -3735,7 +3755,7 @@ int decode_iclass_mortlach_extract_zt(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>5)&0x7f; if(opc==0x1f && HasSME2()) return movt_r_zt(ctx, dec); // -> movt_r_zt_ - if(opc!=0x1f) UNALLOCATED(ENC_UNALLOCATED_718_MORTLACH_EXTRACT_ZT); + if(opc!=0x1f) UNALLOCATED(ENC_UNALLOCATED_729_MORTLACH_EXTRACT_ZT); UNMATCHED; } @@ -3743,7 +3763,7 @@ int decode_iclass_mortlach_insert_zt(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>5)&0x7f; if(opc==0x1f && HasSME2()) return movt_zt_r(ctx, dec); // -> movt_zt_r_ - if(opc!=0x1f) UNALLOCATED(ENC_UNALLOCATED_719_MORTLACH_INSERT_ZT); + if(opc!=0x1f) UNALLOCATED(ENC_UNALLOCATED_730_MORTLACH_INSERT_ZT); UNMATCHED; } @@ -3751,7 +3771,7 @@ int decode_iclass_mortlach_move_to_zt(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>5)&0x7f; if(opc==0x1f && HasSME_LUTv2()) return movt_zt_z(ctx, dec); // -> movt_zt_z_ - if(opc!=0x1f) UNALLOCATED(ENC_UNALLOCATED_720_MORTLACH_MOVE_TO_ZT); + if(opc!=0x1f) UNALLOCATED(ENC_UNALLOCATED_731_MORTLACH_MOVE_TO_ZT); UNMATCHED; } @@ -3780,7 +3800,7 @@ int decode_iclass_mortlach_multi4_mla_long_long_idx_s(context *ctx, Instruction if(!op && U && S && HasSME2()) return umlsll_za_zzi(ctx, dec); // -> umlsll_za_zzi_s4xi if(op && !U && !S && HasSME2()) return usmlall_za_zzi(ctx, dec); // -> usmlall_za_zzi_s4xi if(op && U && !S && HasSME2()) return sumlall_za_zzi(ctx, dec); // -> sumlall_za_zzi_s4xi - if(op && S) UNALLOCATED(ENC_UNALLOCATED_721_MORTLACH_MULTI4_MLA_LONG_LONG_IDX_S); + if(op && S) UNALLOCATED(ENC_UNALLOCATED_732_MORTLACH_MULTI4_MLA_LONG_LONG_IDX_S); UNMATCHED; } @@ -3810,7 +3830,7 @@ int decode_iclass_mortlach_multi4_zza_idx_s(context *ctx, Instruction *dec) if(!op && !opc2 && HasSME2()) return fmla_za_zzi(ctx, dec); // -> fmla_za_zzi_s4xi if(!op && opc2==1 && HasSME_F8F32()) return fdot_za32_z8z8i(ctx, dec); // -> fdot_za32_z8z8i_4xi if(!op && opc2==2 && HasSME2()) return fmls_za_zzi(ctx, dec); // -> fmls_za_zzi_s4xi - if(!op && opc2==3) UNALLOCATED(ENC_UNALLOCATED_722_MORTLACH_MULTI4_ZZA_IDX_S); + if(!op && opc2==3) UNALLOCATED(ENC_UNALLOCATED_733_MORTLACH_MULTI4_ZZA_IDX_S); if(!op && opc2==4 && HasSME2()) return svdot_za_zzi(ctx, dec); // -> svdot_za_zzi_s4xi if(!op && opc2==5 && HasSME2()) return usvdot_za_zzi(ctx, dec); // -> usvdot_za_zzi_s4xi if(!op && opc2==6 && HasSME2()) return uvdot_za_zzi(ctx, dec); // -> uvdot_za_zzi_s4xi @@ -3860,7 +3880,7 @@ int decode_iclass_mortlach_multi4_zza_idx_d(context *ctx, Instruction *dec) if(!op && opc2==3 && HasSME2() && HasSME_I16I64()) return udot_za_zzi(ctx, dec); // -> udot_za_zzi_d4xi if(op && opc2==1 && HasSME2() && HasSME_I16I64()) return svdot_za_zzi(ctx, dec); // -> svdot_za_zzi_d4xi if(op && opc2==3 && HasSME2() && HasSME_I16I64()) return uvdot_za_zzi(ctx, dec); // -> uvdot_za_zzi_d4xi - if(op && !(opc2&1)) UNALLOCATED(ENC_UNALLOCATED_723_MORTLACH_MULTI4_ZZA_IDX_D); + if(op && !(opc2&1)) UNALLOCATED(ENC_UNALLOCATED_734_MORTLACH_MULTI4_ZZA_IDX_D); UNMATCHED; } @@ -3883,7 +3903,7 @@ int decode_iclass_mortlach_multi1_mla_long_long_idx_s(context *ctx, Instruction if(U && !S && !op && HasSME2()) return umlall_za_zzi(ctx, dec); // -> umlall_za_zzi_s if(U && !S && op && HasSME2()) return sumlall_za_zzi(ctx, dec); // -> sumlall_za_zzi_s if(U && S && !op && HasSME2()) return umlsll_za_zzi(ctx, dec); // -> umlsll_za_zzi_s - if(S && op) UNALLOCATED(ENC_UNALLOCATED_724_MORTLACH_MULTI1_MLA_LONG_LONG_IDX_S); + if(S && op) UNALLOCATED(ENC_UNALLOCATED_735_MORTLACH_MULTI1_MLA_LONG_LONG_IDX_S); UNMATCHED; } @@ -3936,7 +3956,7 @@ int decode_iclass_mortlach_multi2_mla_long_long_idx_s(context *ctx, Instruction if(!op && U && S && HasSME2()) return umlsll_za_zzi(ctx, dec); // -> umlsll_za_zzi_s2xi if(op && !U && !S && HasSME2()) return usmlall_za_zzi(ctx, dec); // -> usmlall_za_zzi_s2xi if(op && U && !S && HasSME2()) return sumlall_za_zzi(ctx, dec); // -> sumlall_za_zzi_s2xi - if(op && S) UNALLOCATED(ENC_UNALLOCATED_725_MORTLACH_MULTI2_MLA_LONG_LONG_IDX_S); + if(op && S) UNALLOCATED(ENC_UNALLOCATED_736_MORTLACH_MULTI2_MLA_LONG_LONG_IDX_S); UNMATCHED; } @@ -3958,7 +3978,7 @@ int decode_iclass_mortlach_multi2_zza_idx_s(context *ctx, Instruction *dec) if(!op && opc2==2 && HasSME2()) return fmls_za_zzi(ctx, dec); // -> fmls_za_zzi_s2xi if(!op && opc2==3 && HasSME2()) return bfvdot_za_zzi(ctx, dec); // -> bfvdot_za_zzi_2xi if(!op && opc2==4 && HasSME2()) return svdot_za32_zzi(ctx, dec); // -> svdot_za32_zzi_2xi - if(!op && opc2==5) UNALLOCATED(ENC_UNALLOCATED_726_MORTLACH_MULTI2_ZZA_IDX_S); + if(!op && opc2==5) UNALLOCATED(ENC_UNALLOCATED_737_MORTLACH_MULTI2_ZZA_IDX_S); if(!op && opc2==6 && HasSME2()) return uvdot_za32_zzi(ctx, dec); // -> uvdot_za32_zzi_2xi if(!op && opc2==7 && HasSME_F8F32()) return fdot_za32_z8z8i(ctx, dec); // -> fdot_za32_z8z8i_2xi if(op && !opc2 && HasSME2()) return sdot_za32_zzi(ctx, dec); // -> sdot_za32_zzi_2xi @@ -4038,6 +4058,16 @@ int decode_iclass_mortlach_multi2_fp8_fdot_idx(context *ctx, Instruction *dec) UNMATCHED; } +int decode_iclass_mortlach_multi4_lut6_16_ctg(context *ctx, Instruction *dec) +{ + return luti6_mz4_zmz2(ctx, dec); +} + +int decode_iclass_mortlach_multi4_lut6_16_nctg(context *ctx, Instruction *dec) +{ + return luti6_mz4_zmz2(ctx, dec); +} + int decode_iclass_mortlach_multi2_cld_cldnt_ss_ctg(context *ctx, Instruction *dec) { uint32_t msz=(INSWORD>>13)&3, N=INSWORD&1; @@ -4266,13 +4296,13 @@ int decode_iclass_mortlach_multi4_zz_za_mla_long_long_mm(context *ctx, Instructi { uint32_t sz=(INSWORD>>22)&1, U=(INSWORD>>4)&1, S=(INSWORD>>3)&1, op=(INSWORD>>2)&1; if(!sz && !U && !S && op && HasSME2()) return usmlall_za_zzw(ctx, dec); // -> usmlall_za_zzw_s4x4 - if(!sz && !U && S && op) UNALLOCATED(ENC_UNALLOCATED_729_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM); + if(!sz && !U && S && op) UNALLOCATED(ENC_UNALLOCATED_740_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM); if(!U && !S && !op && HasSME2()) return smlall_za_zzw(ctx, dec); // -> smlall_za_zzw_4x4 if(!U && S && !op && HasSME2()) return smlsll_za_zzw(ctx, dec); // -> smlsll_za_zzw_4x4 if(U && !S && !op && HasSME2()) return umlall_za_zzw(ctx, dec); // -> umlall_za_zzw_4x4 if(U && S && !op && HasSME2()) return umlsll_za_zzw(ctx, dec); // -> umlsll_za_zzw_4x4 - if(!sz && U && op) UNALLOCATED(ENC_UNALLOCATED_728_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM); - if(sz && op) UNALLOCATED(ENC_UNALLOCATED_727_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM); + if(!sz && U && op) UNALLOCATED(ENC_UNALLOCATED_739_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM); + if(sz && op) UNALLOCATED(ENC_UNALLOCATED_738_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM); UNMATCHED; } @@ -4393,13 +4423,13 @@ int decode_iclass_mortlach_multi2_zz_za_mla_long_long_mm(context *ctx, Instructi { uint32_t sz=(INSWORD>>22)&1, U=(INSWORD>>4)&1, S=(INSWORD>>3)&1, op=(INSWORD>>2)&1; if(!sz && !U && !S && op && HasSME2()) return usmlall_za_zzw(ctx, dec); // -> usmlall_za_zzw_s2x2 - if(!sz && !U && S && op) UNALLOCATED(ENC_UNALLOCATED_732_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM); + if(!sz && !U && S && op) UNALLOCATED(ENC_UNALLOCATED_743_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM); if(!U && !S && !op && HasSME2()) return smlall_za_zzw(ctx, dec); // -> smlall_za_zzw_2x2 if(!U && S && !op && HasSME2()) return smlsll_za_zzw(ctx, dec); // -> smlsll_za_zzw_2x2 if(U && !S && !op && HasSME2()) return umlall_za_zzw(ctx, dec); // -> umlall_za_zzw_2x2 if(U && S && !op && HasSME2()) return umlsll_za_zzw(ctx, dec); // -> umlsll_za_zzw_2x2 - if(!sz && U && op) UNALLOCATED(ENC_UNALLOCATED_731_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM); - if(sz && op) UNALLOCATED(ENC_UNALLOCATED_730_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM); + if(!sz && U && op) UNALLOCATED(ENC_UNALLOCATED_742_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM); + if(sz && op) UNALLOCATED(ENC_UNALLOCATED_741_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM); UNMATCHED; } @@ -4523,7 +4553,7 @@ int decode_iclass_mortlach_multi4_z_z_minmax_mm(context *ctx, Instruction *dec) if(!opc && U && HasSME2()) return umax_mz_zzw(ctx, dec); // -> umax_mz_zzw_4x4 if(opc==1 && !U && HasSME2()) return smin_mz_zzw(ctx, dec); // -> smin_mz_zzw_4x4 if(opc==1 && U && HasSME2()) return umin_mz_zzw(ctx, dec); // -> umin_mz_zzw_4x4 - if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_733_MORTLACH_MULTI4_Z_Z_MINMAX_MM); + if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_744_MORTLACH_MULTI4_Z_Z_MINMAX_MM); UNMATCHED; } @@ -4540,7 +4570,7 @@ int decode_iclass_mortlach_multi4_z_z_fminmax_mm(context *ctx, Instruction *dec) if(size && opc==1 && o2 && HasSME2()) return fminnm_mz_zzw(ctx, dec); // -> fminnm_mz_zzw_4x4 if(opc==2 && !o2 && HasSME2() && HasFAMINMAX()) return famax_mz_zzw(ctx, dec); // -> famax_mz_zzw_4x4 if(opc==2 && o2 && HasSME2() && HasFAMINMAX()) return famin_mz_zzw(ctx, dec); // -> famin_mz_zzw_4x4 - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_734_MORTLACH_MULTI4_Z_Z_FMINMAX_MM); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_745_MORTLACH_MULTI4_Z_Z_FMINMAX_MM); UNMATCHED; } @@ -4549,8 +4579,8 @@ int decode_iclass_mortlach_multi4_z_z_fscale_mm(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, opc=(INSWORD>>5)&3, o2=INSWORD&1; if(!size && !opc && !o2 && HasSME2() && HasSVE_BFSCALE()) return bfscale_mz_zzw(ctx, dec); // -> bfscale_mz_zzw_4x4 if(size && !opc && !o2 && HasSME2() && HasFP8()) return fscale_mz_zzw(ctx, dec); // -> fscale_mz_zzw_4x4 - if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_736_MORTLACH_MULTI4_Z_Z_FSCALE_MM); - if(opc) UNALLOCATED(ENC_UNALLOCATED_735_MORTLACH_MULTI4_Z_Z_FSCALE_MM); + if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_747_MORTLACH_MULTI4_Z_Z_FSCALE_MM); + if(opc) UNALLOCATED(ENC_UNALLOCATED_746_MORTLACH_MULTI4_Z_Z_FSCALE_MM); UNMATCHED; } @@ -4559,7 +4589,7 @@ int decode_iclass_mortlach_multi4_z_z_shift_mm(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>5)&7, U=INSWORD&1; if(opc==1 && !U && HasSME2()) return srshl_mz_zzw(ctx, dec); // -> srshl_mz_zzw_4x4 if(opc==1 && U && HasSME2()) return urshl_mz_zzw(ctx, dec); // -> urshl_mz_zzw_4x4 - if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_737_MORTLACH_MULTI4_Z_Z_SHIFT_MM); + if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_748_MORTLACH_MULTI4_Z_Z_SHIFT_MM); UNMATCHED; } @@ -4570,7 +4600,7 @@ int decode_iclass_mortlach_multi2_z_z_minmax_mm(context *ctx, Instruction *dec) if(!opc && U && HasSME2()) return umax_mz_zzw(ctx, dec); // -> umax_mz_zzw_2x2 if(opc==1 && !U && HasSME2()) return smin_mz_zzw(ctx, dec); // -> smin_mz_zzw_2x2 if(opc==1 && U && HasSME2()) return umin_mz_zzw(ctx, dec); // -> umin_mz_zzw_2x2 - if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_738_MORTLACH_MULTI2_Z_Z_MINMAX_MM); + if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_749_MORTLACH_MULTI2_Z_Z_MINMAX_MM); UNMATCHED; } @@ -4587,7 +4617,7 @@ int decode_iclass_mortlach_multi2_z_z_fminmax_mm(context *ctx, Instruction *dec) if(size && opc==1 && o2 && HasSME2()) return fminnm_mz_zzw(ctx, dec); // -> fminnm_mz_zzw_2x2 if(opc==2 && !o2 && HasSME2() && HasFAMINMAX()) return famax_mz_zzw(ctx, dec); // -> famax_mz_zzw_2x2 if(opc==2 && o2 && HasSME2() && HasFAMINMAX()) return famin_mz_zzw(ctx, dec); // -> famin_mz_zzw_2x2 - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_739_MORTLACH_MULTI2_Z_Z_FMINMAX_MM); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_750_MORTLACH_MULTI2_Z_Z_FMINMAX_MM); UNMATCHED; } @@ -4596,8 +4626,8 @@ int decode_iclass_mortlach_multi2_z_z_fscale_mm(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, opc=(INSWORD>>5)&3, o2=INSWORD&1; if(!size && !opc && !o2 && HasSME2() && HasSVE_BFSCALE()) return bfscale_mz_zzw(ctx, dec); // -> bfscale_mz_zzw_2x2 if(size && !opc && !o2 && HasSME2() && HasFP8()) return fscale_mz_zzw(ctx, dec); // -> fscale_mz_zzw_2x2 - if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_741_MORTLACH_MULTI2_Z_Z_FSCALE_MM); - if(opc) UNALLOCATED(ENC_UNALLOCATED_740_MORTLACH_MULTI2_Z_Z_FSCALE_MM); + if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_752_MORTLACH_MULTI2_Z_Z_FSCALE_MM); + if(opc) UNALLOCATED(ENC_UNALLOCATED_751_MORTLACH_MULTI2_Z_Z_FSCALE_MM); UNMATCHED; } @@ -4606,7 +4636,7 @@ int decode_iclass_mortlach_multi2_z_z_shift_mm(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>5)&7, U=INSWORD&1; if(opc==1 && !U && HasSME2()) return srshl_mz_zzw(ctx, dec); // -> srshl_mz_zzw_2x2 if(opc==1 && U && HasSME2()) return urshl_mz_zzw(ctx, dec); // -> urshl_mz_zzw_2x2 - if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_742_MORTLACH_MULTI2_Z_Z_SHIFT_MM); + if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_753_MORTLACH_MULTI2_Z_Z_SHIFT_MM); UNMATCHED; } @@ -4614,7 +4644,7 @@ int decode_iclass_mortlach_multi4_z_z_sqdmulh_mm(context *ctx, Instruction *dec) { uint32_t op=INSWORD&1; if(!op && HasSME2()) return sqdmulh_mz_zzw(ctx, dec); // -> sqdmulh_mz_zzw_4x4 - if(op) UNALLOCATED(ENC_UNALLOCATED_743_MORTLACH_MULTI4_Z_Z_SQDMULH_MM); + if(op) UNALLOCATED(ENC_UNALLOCATED_754_MORTLACH_MULTI4_Z_Z_SQDMULH_MM); UNMATCHED; } @@ -4622,7 +4652,7 @@ int decode_iclass_mortlach_multi2_z_z_sqdmulh_mm(context *ctx, Instruction *dec) { uint32_t op=INSWORD&1; if(!op && HasSME2()) return sqdmulh_mz_zzw(ctx, dec); // -> sqdmulh_mz_zzw_2x2 - if(op) UNALLOCATED(ENC_UNALLOCATED_744_MORTLACH_MULTI2_Z_Z_SQDMULH_MM); + if(op) UNALLOCATED(ENC_UNALLOCATED_755_MORTLACH_MULTI2_Z_Z_SQDMULH_MM); UNMATCHED; } @@ -4635,8 +4665,8 @@ int decode_iclass_mortlach_multi4_zz_za_mla_long_long_sm(context *ctx, Instructi if(!U && S && !op && HasSME2()) return smlsll_za_zzv(ctx, dec); // -> smlsll_za_zzv_4x1 if(U && !S && !op && HasSME2()) return umlall_za_zzv(ctx, dec); // -> umlall_za_zzv_4x1 if(U && S && !op && HasSME2()) return umlsll_za_zzv(ctx, dec); // -> umlsll_za_zzv_4x1 - if(!sz && S && op) UNALLOCATED(ENC_UNALLOCATED_746_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM); - if(sz && op) UNALLOCATED(ENC_UNALLOCATED_745_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM); + if(!sz && S && op) UNALLOCATED(ENC_UNALLOCATED_757_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM); + if(sz && op) UNALLOCATED(ENC_UNALLOCATED_756_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM); UNMATCHED; } @@ -4656,10 +4686,10 @@ int decode_iclass_mortlach_multi4_zz_za_fma_long_sm(context *ctx, Instruction *d if(!op && !S && !o2 && HasSME2()) return fmlal_za_zzv(ctx, dec); // -> fmlal_za_zzv_4x1 if(!op && !S && o2 && HasSME_F8F16()) return fmlal_za_z8z8v(ctx, dec); // -> fmlal_za_z8z8v_4x1 if(!op && S && !o2 && HasSME2()) return fmlsl_za_zzv(ctx, dec); // -> fmlsl_za_zzv_4x1 - if(!op && S && o2) UNALLOCATED(ENC_UNALLOCATED_748_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM); + if(!op && S && o2) UNALLOCATED(ENC_UNALLOCATED_759_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM); if(op && !S && !o2 && HasSME2()) return bfmlal_za_zzv(ctx, dec); // -> bfmlal_za_zzv_4x1 if(op && S && !o2 && HasSME2()) return bfmlsl_za_zzv(ctx, dec); // -> bfmlsl_za_zzv_4x1 - if(op && o2) UNALLOCATED(ENC_UNALLOCATED_747_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM); + if(op && o2) UNALLOCATED(ENC_UNALLOCATED_758_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM); UNMATCHED; } @@ -4670,7 +4700,7 @@ int decode_iclass_mortlach_multi4_zz_za_mla_long_sm(context *ctx, Instruction *d if(!U && S && !op && HasSME2()) return smlsl_za_zzv(ctx, dec); // -> smlsl_za_zzv_4x1 if(U && !S && !op && HasSME2()) return umlal_za_zzv(ctx, dec); // -> umlal_za_zzv_4x1 if(U && S && !op && HasSME2()) return umlsl_za_zzv(ctx, dec); // -> umlsl_za_zzv_4x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_749_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_760_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_SM); UNMATCHED; } @@ -4748,8 +4778,8 @@ int decode_iclass_mortlach_multi2_zz_za_mla_long_long_sm(context *ctx, Instructi if(!U && S && !op && HasSME2()) return smlsll_za_zzv(ctx, dec); // -> smlsll_za_zzv_2x1 if(U && !S && !op && HasSME2()) return umlall_za_zzv(ctx, dec); // -> umlall_za_zzv_2x1 if(U && S && !op && HasSME2()) return umlsll_za_zzv(ctx, dec); // -> umlsll_za_zzv_2x1 - if(!sz && S && op) UNALLOCATED(ENC_UNALLOCATED_751_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM); - if(sz && op) UNALLOCATED(ENC_UNALLOCATED_750_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM); + if(!sz && S && op) UNALLOCATED(ENC_UNALLOCATED_762_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM); + if(sz && op) UNALLOCATED(ENC_UNALLOCATED_761_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM); UNMATCHED; } @@ -4762,13 +4792,13 @@ int decode_iclass_mortlach_multi1_zz_za_mla_long_long_sm(context *ctx, Instructi { uint32_t sz=(INSWORD>>22)&1, U=(INSWORD>>4)&1, S=(INSWORD>>3)&1, op=(INSWORD>>2)&1; if(!sz && !U && !S && op && HasSME2()) return usmlall_za_zzv(ctx, dec); // -> usmlall_za_zzv_s - if(!sz && !U && S && op) UNALLOCATED(ENC_UNALLOCATED_754_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM); + if(!sz && !U && S && op) UNALLOCATED(ENC_UNALLOCATED_765_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM); if(!U && !S && !op && HasSME2()) return smlall_za_zzv(ctx, dec); // -> smlall_za_zzv_1 if(!U && S && !op && HasSME2()) return smlsll_za_zzv(ctx, dec); // -> smlsll_za_zzv_1 if(U && !S && !op && HasSME2()) return umlall_za_zzv(ctx, dec); // -> umlall_za_zzv_1 if(U && S && !op && HasSME2()) return umlsll_za_zzv(ctx, dec); // -> umlsll_za_zzv_1 - if(!sz && U && op) UNALLOCATED(ENC_UNALLOCATED_753_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM); - if(sz && op) UNALLOCATED(ENC_UNALLOCATED_752_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM); + if(!sz && U && op) UNALLOCATED(ENC_UNALLOCATED_764_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM); + if(sz && op) UNALLOCATED(ENC_UNALLOCATED_763_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM); UNMATCHED; } @@ -4778,10 +4808,10 @@ int decode_iclass_mortlach_multi2_zz_za_fma_long_sm(context *ctx, Instruction *d if(!op && !S && !o2 && HasSME2()) return fmlal_za_zzv(ctx, dec); // -> fmlal_za_zzv_2x1 if(!op && !S && o2 && HasSME_F8F16()) return fmlal_za_z8z8v(ctx, dec); // -> fmlal_za_z8z8v_2x1 if(!op && S && !o2 && HasSME2()) return fmlsl_za_zzv(ctx, dec); // -> fmlsl_za_zzv_2x1 - if(!op && S && o2) UNALLOCATED(ENC_UNALLOCATED_756_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM); + if(!op && S && o2) UNALLOCATED(ENC_UNALLOCATED_767_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM); if(op && !S && !o2 && HasSME2()) return bfmlal_za_zzv(ctx, dec); // -> bfmlal_za_zzv_2x1 if(op && S && !o2 && HasSME2()) return bfmlsl_za_zzv(ctx, dec); // -> bfmlsl_za_zzv_2x1 - if(op && o2) UNALLOCATED(ENC_UNALLOCATED_755_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM); + if(op && o2) UNALLOCATED(ENC_UNALLOCATED_766_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM); UNMATCHED; } @@ -4792,7 +4822,7 @@ int decode_iclass_mortlach_multi2_zz_za_mla_long_sm(context *ctx, Instruction *d if(!U && S && !op && HasSME2()) return smlsl_za_zzv(ctx, dec); // -> smlsl_za_zzv_2x1 if(U && !S && !op && HasSME2()) return umlal_za_zzv(ctx, dec); // -> umlal_za_zzv_2x1 if(U && S && !op && HasSME2()) return umlsl_za_zzv(ctx, dec); // -> umlsl_za_zzv_2x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_757_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_768_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_SM); UNMATCHED; } @@ -4905,7 +4935,7 @@ int decode_iclass_mortlach_multi4_z_z_fscale_sm(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, op=INSWORD&1; if(!size && !op && HasSME2() && HasSVE_BFSCALE()) return bfscale_mz_zzv(ctx, dec); // -> bfscale_mz_zzv_4x1 if(size && !op && HasSME2() && HasFP8()) return fscale_mz_zzv(ctx, dec); // -> fscale_mz_zzv_4x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_758_MORTLACH_MULTI4_Z_Z_FSCALE_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_769_MORTLACH_MULTI4_Z_Z_FSCALE_SM); UNMATCHED; } @@ -4914,7 +4944,7 @@ int decode_iclass_mortlach_multi4_z_z_shift_sm(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>5)&7, U=INSWORD&1; if(opc==1 && !U && HasSME2()) return srshl_mz_zzv(ctx, dec); // -> srshl_mz_zzv_4x1 if(opc==1 && U && HasSME2()) return urshl_mz_zzv(ctx, dec); // -> urshl_mz_zzv_4x1 - if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_759_MORTLACH_MULTI4_Z_Z_SHIFT_SM); + if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_770_MORTLACH_MULTI4_Z_Z_SHIFT_SM); UNMATCHED; } @@ -4922,7 +4952,7 @@ int decode_iclass_mortlach_multi4_z_z_add_sm(context *ctx, Instruction *dec) { uint32_t op=INSWORD&1; if(!op && HasSME2()) return add_mz_zzv(ctx, dec); // -> add_mz_zzv_4x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_760_MORTLACH_MULTI4_Z_Z_ADD_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_771_MORTLACH_MULTI4_Z_Z_ADD_SM); UNMATCHED; } @@ -4930,7 +4960,7 @@ int decode_iclass_mortlach_multi4_z_z_sqdmulh_sm(context *ctx, Instruction *dec) { uint32_t op=INSWORD&1; if(!op && HasSME2()) return sqdmulh_mz_zzv(ctx, dec); // -> sqdmulh_mz_zzv_4x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_761_MORTLACH_MULTI4_Z_Z_SQDMULH_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_772_MORTLACH_MULTI4_Z_Z_SQDMULH_SM); UNMATCHED; } @@ -4963,7 +4993,7 @@ int decode_iclass_mortlach_multi2_z_z_fscale_sm(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, op=INSWORD&1; if(!size && !op && HasSME2() && HasSVE_BFSCALE()) return bfscale_mz_zzv(ctx, dec); // -> bfscale_mz_zzv_2x1 if(size && !op && HasSME2() && HasFP8()) return fscale_mz_zzv(ctx, dec); // -> fscale_mz_zzv_2x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_762_MORTLACH_MULTI2_Z_Z_FSCALE_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_773_MORTLACH_MULTI2_Z_Z_FSCALE_SM); UNMATCHED; } @@ -4972,7 +5002,7 @@ int decode_iclass_mortlach_multi2_z_z_shift_sm(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>5)&7, U=INSWORD&1; if(opc==1 && !U && HasSME2()) return srshl_mz_zzv(ctx, dec); // -> srshl_mz_zzv_2x1 if(opc==1 && U && HasSME2()) return urshl_mz_zzv(ctx, dec); // -> urshl_mz_zzv_2x1 - if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_763_MORTLACH_MULTI2_Z_Z_SHIFT_SM); + if(opc!=1) UNALLOCATED(ENC_UNALLOCATED_774_MORTLACH_MULTI2_Z_Z_SHIFT_SM); UNMATCHED; } @@ -4980,7 +5010,7 @@ int decode_iclass_mortlach_multi2_z_z_add_sm(context *ctx, Instruction *dec) { uint32_t op=INSWORD&1; if(!op && HasSME2()) return add_mz_zzv(ctx, dec); // -> add_mz_zzv_2x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_764_MORTLACH_MULTI2_Z_Z_ADD_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_775_MORTLACH_MULTI2_Z_Z_ADD_SM); UNMATCHED; } @@ -4988,7 +5018,7 @@ int decode_iclass_mortlach_multi2_z_z_sqdmulh_sm(context *ctx, Instruction *dec) { uint32_t op=INSWORD&1; if(!op && HasSME2()) return sqdmulh_mz_zzv(ctx, dec); // -> sqdmulh_mz_zzv_2x1 - if(op) UNALLOCATED(ENC_UNALLOCATED_765_MORTLACH_MULTI2_Z_Z_SQDMULH_SM); + if(op) UNALLOCATED(ENC_UNALLOCATED_776_MORTLACH_MULTI2_Z_Z_SQDMULH_SM); UNMATCHED; } @@ -4997,7 +5027,7 @@ int decode_iclass_mortlach_multi2_fclamp(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, op=INSWORD&1; if(!size && !op && HasSME2() && HasSVE_B16B16()) return bfclamp_mz_zz(ctx, dec); // -> bfclamp_mz_zz_2 if(size && !op && HasSME2()) return fclamp_mz_zz(ctx, dec); // -> fclamp_mz_zz_2 - if(op) UNALLOCATED(ENC_UNALLOCATED_766_MORTLACH_MULTI2_FCLAMP); + if(op) UNALLOCATED(ENC_UNALLOCATED_777_MORTLACH_MULTI2_FCLAMP); UNMATCHED; } @@ -5014,7 +5044,7 @@ int decode_iclass_mortlach_multi4_fclamp(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, op=INSWORD&1; if(!size && !op && HasSME2() && HasSVE_B16B16()) return bfclamp_mz_zz(ctx, dec); // -> bfclamp_mz_zz_4 if(size && !op && HasSME2()) return fclamp_mz_zz(ctx, dec); // -> fclamp_mz_zz_4 - if(op) UNALLOCATED(ENC_UNALLOCATED_767_MORTLACH_MULTI4_FCLAMP); + if(op) UNALLOCATED(ENC_UNALLOCATED_778_MORTLACH_MULTI4_FCLAMP); UNMATCHED; } @@ -5048,7 +5078,7 @@ int decode_iclass_mortlach_multi2_qrshr(context *ctx, Instruction *dec) if(!op && !U && HasSME2()) return sqrshr_z_mz2(ctx, dec); // -> sqrshr_z_mz2_ if(!op && U && HasSME2()) return uqrshr_z_mz2(ctx, dec); // -> uqrshr_z_mz2_ if(op && !U && HasSME2()) return sqrshru_z_mz2(ctx, dec); // -> sqrshru_z_mz2_ - if(op && U) UNALLOCATED(ENC_UNALLOCATED_768_MORTLACH_MULTI2_QRSHR); + if(op && U) UNALLOCATED(ENC_UNALLOCATED_779_MORTLACH_MULTI2_QRSHR); UNMATCHED; } @@ -5061,7 +5091,7 @@ int decode_iclass_mortlach_multi4_qrshr(context *ctx, Instruction *dec) if(N && !op && !U && HasSME2()) return sqrshrn_z_mz4(ctx, dec); // -> sqrshrn_z_mz4_ if(N && !op && U && HasSME2()) return uqrshrn_z_mz4(ctx, dec); // -> uqrshrn_z_mz4_ if(N && op && !U && HasSME2()) return sqrshrun_z_mz4(ctx, dec); // -> sqrshrun_z_mz4_ - if(op && U) UNALLOCATED(ENC_UNALLOCATED_769_MORTLACH_MULTI4_QRSHR); + if(op && U) UNALLOCATED(ENC_UNALLOCATED_780_MORTLACH_MULTI4_QRSHR); UNMATCHED; } @@ -5097,7 +5127,7 @@ int decode_iclass_mortlach_multi2_narrow_int_cvrt(context *ctx, Instruction *dec if(!op && !U && HasSME2()) return sqcvt_z_mz2(ctx, dec); // -> sqcvt_z_mz2_ if(!op && U && HasSME2()) return uqcvt_z_mz2(ctx, dec); // -> uqcvt_z_mz2_ if(op && !U && HasSME2()) return sqcvtu_z_mz2(ctx, dec); // -> sqcvtu_z_mz2_ - if(op && U) UNALLOCATED(ENC_UNALLOCATED_770_MORTLACH_MULTI2_NARROW_INT_CVRT); + if(op && U) UNALLOCATED(ENC_UNALLOCATED_781_MORTLACH_MULTI2_NARROW_INT_CVRT); UNMATCHED; } @@ -5137,11 +5167,11 @@ int decode_iclass_mortlach_multi2_frint(context *ctx, Instruction *dec) if(size==2 && !opc && HasSME2()) return frintn_mz_z(ctx, dec); // -> frintn_mz_z_2 if(size==2 && opc==1 && HasSME2()) return frintp_mz_z(ctx, dec); // -> frintp_mz_z_2 if(size==2 && opc==2 && HasSME2()) return frintm_mz_z(ctx, dec); // -> frintm_mz_z_2 - if(size==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_774_MORTLACH_MULTI2_FRINT); + if(size==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_784_MORTLACH_MULTI2_FRINT); if(size==2 && opc==4 && HasSME2()) return frinta_mz_z(ctx, dec); // -> frinta_mz_z_2 - if(size==2 && opc==5) UNALLOCATED(ENC_UNALLOCATED_773_MORTLACH_MULTI2_FRINT); - if(size==2 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_772_MORTLACH_MULTI2_FRINT); - if(size!=2) UNALLOCATED(ENC_UNALLOCATED_771_MORTLACH_MULTI2_FRINT); + if(size==2 && opc==5) UNALLOCATED(ENC_UNALLOCATED_785_MORTLACH_MULTI2_FRINT); + if(size==2 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_783_MORTLACH_MULTI2_FRINT); + if(size!=2) UNALLOCATED(ENC_UNALLOCATED_782_MORTLACH_MULTI2_FRINT); UNMATCHED; } @@ -5178,7 +5208,7 @@ int decode_iclass_mortlach_multi4_narrow_int_cvrt(context *ctx, Instruction *dec if(!op && N && U && HasSME2()) return uqcvtn_z_mz4(ctx, dec); // -> uqcvtn_z_mz4_ if(op && !N && !U && HasSME2()) return sqcvtu_z_mz4(ctx, dec); // -> sqcvtu_z_mz4_ if(op && N && !U && HasSME2()) return sqcvtun_z_mz4(ctx, dec); // -> sqcvtun_z_mz4_ - if(op && U) UNALLOCATED(ENC_UNALLOCATED_775_MORTLACH_MULTI4_NARROW_INT_CVRT); + if(op && U) UNALLOCATED(ENC_UNALLOCATED_786_MORTLACH_MULTI4_NARROW_INT_CVRT); UNMATCHED; } @@ -5220,11 +5250,11 @@ int decode_iclass_mortlach_multi4_frint(context *ctx, Instruction *dec) if(size==2 && !opc && HasSME2()) return frintn_mz_z(ctx, dec); // -> frintn_mz_z_4 if(size==2 && opc==1 && HasSME2()) return frintp_mz_z(ctx, dec); // -> frintp_mz_z_4 if(size==2 && opc==2 && HasSME2()) return frintm_mz_z(ctx, dec); // -> frintm_mz_z_4 - if(size==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_779_MORTLACH_MULTI4_FRINT); + if(size==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_789_MORTLACH_MULTI4_FRINT); if(size==2 && opc==4 && HasSME2()) return frinta_mz_z(ctx, dec); // -> frinta_mz_z_4 - if(size==2 && opc==5) UNALLOCATED(ENC_UNALLOCATED_778_MORTLACH_MULTI4_FRINT); - if(size==2 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_777_MORTLACH_MULTI4_FRINT); - if(size!=2) UNALLOCATED(ENC_UNALLOCATED_776_MORTLACH_MULTI4_FRINT); + if(size==2 && opc==5) UNALLOCATED(ENC_UNALLOCATED_790_MORTLACH_MULTI4_FRINT); + if(size==2 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_788_MORTLACH_MULTI4_FRINT); + if(size!=2) UNALLOCATED(ENC_UNALLOCATED_787_MORTLACH_MULTI4_FRINT); UNMATCHED; } @@ -5246,12 +5276,12 @@ int decode_iclass_mortlach_multi_zero(context *ctx, Instruction *dec) if(opc==2 && !(opc2&4) && HasSME2p1()) return zero_za2_ri(ctx, dec); // -> zero_za2_ri_2 if(opc==3 && !(opc2&4) && HasSME2p1()) return zero_za2_ri(ctx, dec); // -> zero_za2_ri_4 if(opc==5 && !(opc2&4) && HasSME2p1()) return zero_za4_ri(ctx, dec); // -> zero_za4_ri_1 - if(opc==5 && (opc2&4)==4) UNALLOCATED(ENC_UNALLOCATED_782_MORTLACH_MULTI_ZERO); - if((opc&6)==6 && (opc2&6)==2) UNALLOCATED(ENC_UNALLOCATED_781_MORTLACH_MULTI_ZERO); + if(opc==5 && (opc2&4)==4) UNALLOCATED(ENC_UNALLOCATED_792_MORTLACH_MULTI_ZERO); + if((opc&6)==6 && (opc2&6)==2) UNALLOCATED(ENC_UNALLOCATED_793_MORTLACH_MULTI_ZERO); if(!opc && HasSME2p1()) return zero_za1_ri(ctx, dec); // -> zero_za1_ri_2 if(opc==1 && HasSME2p1()) return zero_za2_ri(ctx, dec); // -> zero_za2_ri_1 if(opc==4 && HasSME2p1()) return zero_za1_ri(ctx, dec); // -> zero_za1_ri_4 - if((opc&2)==2 && (opc2&4)==4) UNALLOCATED(ENC_UNALLOCATED_780_MORTLACH_MULTI_ZERO); + if((opc&2)==2 && (opc2&4)==4) UNALLOCATED(ENC_UNALLOCATED_791_MORTLACH_MULTI_ZERO); UNMATCHED; } @@ -5559,8 +5589,8 @@ int decode_iclass_mortlach_zero_zt(context *ctx, Instruction *dec) { uint32_t op0=(INSWORD>>4)&0x3fff, opc=INSWORD&15; if(!op0 && opc==1 && HasSME2()) return zero_zt_i(ctx, dec); // -> zero_zt_i_ - if(!op0 && opc!=1) UNALLOCATED(ENC_UNALLOCATED_784_MORTLACH_ZERO_ZT); - if(op0) UNALLOCATED(ENC_UNALLOCATED_783_MORTLACH_ZERO_ZT); + if(!op0 && opc!=1) UNALLOCATED(ENC_UNALLOCATED_795_MORTLACH_ZERO_ZT); + if(op0) UNALLOCATED(ENC_UNALLOCATED_794_MORTLACH_ZERO_ZT); UNMATCHED; } @@ -5611,7 +5641,7 @@ int decode_iclass_sve_int_tern_log(context *ctx, Instruction *dec) if(opc==1 && o2 && HasSVE2() && HasSME()) return bsl1n_z_zzz(ctx, dec); // -> bsl1n_z_zzz_ if(opc==2 && o2 && HasSVE2() && HasSME()) return bsl2n_z_zzz(ctx, dec); // -> bsl2n_z_zzz_ if(opc==3 && o2 && HasSVE2() && HasSME()) return nbsl_z_zzz(ctx, dec); // -> nbsl_z_zzz_ - if((opc&2)==2 && !o2) UNALLOCATED(ENC_UNALLOCATED_481_SVE_INT_TERN_LOG); + if((opc&2)==2 && !o2) UNALLOCATED(ENC_UNALLOCATED_487_SVE_INT_TERN_LOG); UNMATCHED; } @@ -5620,17 +5650,17 @@ int decode_iclass_sve_int_bin_pred_shift_0(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>18)&3, L=(INSWORD>>17)&1, U=(INSWORD>>16)&1; if(!opc && !L && !U && HasSVE() && HasSME()) return asr_z_p_zi(ctx, dec); // -> asr_z_p_zi_ if(!opc && !L && U && HasSVE() && HasSME()) return lsr_z_p_zi(ctx, dec); // -> lsr_z_p_zi_ - if(!opc && L && !U) UNALLOCATED(ENC_UNALLOCATED_484_SVE_INT_BIN_PRED_SHIFT_0); + if(!opc && L && !U) UNALLOCATED(ENC_UNALLOCATED_489_SVE_INT_BIN_PRED_SHIFT_0); if(!opc && L && U && HasSVE() && HasSME()) return lsl_z_p_zi(ctx, dec); // -> lsl_z_p_zi_ if(opc==1 && !L && !U && HasSVE() && HasSME()) return asrd_z_p_zi(ctx, dec); // -> asrd_z_p_zi_ - if(opc==1 && !L && U) UNALLOCATED(ENC_UNALLOCATED_485_SVE_INT_BIN_PRED_SHIFT_0); + if(opc==1 && !L && U) UNALLOCATED(ENC_UNALLOCATED_490_SVE_INT_BIN_PRED_SHIFT_0); if(opc==1 && L && !U && HasSVE2() && HasSME()) return sqshl_z_p_zi(ctx, dec); // -> sqshl_z_p_zi_ if(opc==1 && L && U && HasSVE2() && HasSME()) return uqshl_z_p_zi(ctx, dec); // -> uqshl_z_p_zi_ if(opc==3 && !L && !U && HasSVE2() && HasSME()) return srshr_z_p_zi(ctx, dec); // -> srshr_z_p_zi_ if(opc==3 && !L && U && HasSVE2() && HasSME()) return urshr_z_p_zi(ctx, dec); // -> urshr_z_p_zi_ - if(opc==3 && L && !U) UNALLOCATED(ENC_UNALLOCATED_483_SVE_INT_BIN_PRED_SHIFT_0); + if(opc==3 && L && !U) UNALLOCATED(ENC_UNALLOCATED_491_SVE_INT_BIN_PRED_SHIFT_0); if(opc==3 && L && U && HasSVE2() && HasSME()) return sqshlu_z_p_zi(ctx, dec); // -> sqshlu_z_p_zi_ - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_482_SVE_INT_BIN_PRED_SHIFT_0); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_488_SVE_INT_BIN_PRED_SHIFT_0); UNMATCHED; } @@ -5643,7 +5673,7 @@ int decode_iclass_sve_int_bin_pred_shift_1(context *ctx, Instruction *dec) if(R && !L && !U && HasSVE() && HasSME()) return asrr_z_p_zz(ctx, dec); // -> asrr_z_p_zz_ if(R && !L && U && HasSVE() && HasSME()) return lsrr_z_p_zz(ctx, dec); // -> lsrr_z_p_zz_ if(R && L && U && HasSVE() && HasSME()) return lslr_z_p_zz(ctx, dec); // -> lslr_z_p_zz_ - if(L && !U) UNALLOCATED(ENC_UNALLOCATED_486_SVE_INT_BIN_PRED_SHIFT_1); + if(L && !U) UNALLOCATED(ENC_UNALLOCATED_492_SVE_INT_BIN_PRED_SHIFT_1); UNMATCHED; } @@ -5652,9 +5682,9 @@ int decode_iclass_sve_int_bin_pred_shift_2(context *ctx, Instruction *dec) uint32_t R=(INSWORD>>18)&1, L=(INSWORD>>17)&1, U=(INSWORD>>16)&1; if(!R && !L && !U && HasSVE() && HasSME()) return asr_z_p_zw(ctx, dec); // -> asr_z_p_zw_ if(!R && !L && U && HasSVE() && HasSME()) return lsr_z_p_zw(ctx, dec); // -> lsr_z_p_zw_ - if(!R && L && !U) UNALLOCATED(ENC_UNALLOCATED_488_SVE_INT_BIN_PRED_SHIFT_2); + if(!R && L && !U) UNALLOCATED(ENC_UNALLOCATED_494_SVE_INT_BIN_PRED_SHIFT_2); if(!R && L && U && HasSVE() && HasSME()) return lsl_z_p_zw(ctx, dec); // -> lsl_z_p_zw_ - if(R) UNALLOCATED(ENC_UNALLOCATED_487_SVE_INT_BIN_PRED_SHIFT_2); + if(R) UNALLOCATED(ENC_UNALLOCATED_493_SVE_INT_BIN_PRED_SHIFT_2); UNMATCHED; } @@ -5663,7 +5693,7 @@ int decode_iclass_sve_int_bin_cons_shift_a(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>10)&3; if(!opc && HasSVE() && HasSME()) return asr_z_zw(ctx, dec); // -> asr_z_zw_ if(opc==1 && HasSVE() && HasSME()) return lsr_z_zw(ctx, dec); // -> lsr_z_zw_ - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_489_SVE_INT_BIN_CONS_SHIFT_A); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_495_SVE_INT_BIN_CONS_SHIFT_A); if(opc==3 && HasSVE() && HasSME()) return lsl_z_zw(ctx, dec); // -> lsl_z_zw_ UNMATCHED; } @@ -5673,7 +5703,7 @@ int decode_iclass_sve_int_bin_cons_shift_b(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>10)&3; if(!opc && HasSVE() && HasSME()) return asr_z_zi(ctx, dec); // -> asr_z_zi_ if(opc==1 && HasSVE() && HasSME()) return lsr_z_zi(ctx, dec); // -> lsr_z_zi_ - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_490_SVE_INT_BIN_CONS_SHIFT_B); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_496_SVE_INT_BIN_CONS_SHIFT_B); if(opc==3 && HasSVE() && HasSME()) return lsl_z_zi(ctx, dec); // -> lsl_z_zi_ UNMATCHED; } @@ -5693,7 +5723,7 @@ int decode_iclass_sve_int_countvlv0(context *ctx, Instruction *dec) if(size==3 && !D && U && HasSVE() && HasSME()) return uqincd_z_zs(ctx, dec); // -> uqincd_z_zs_ if(size==3 && D && !U && HasSVE() && HasSME()) return sqdecd_z_zs(ctx, dec); // -> sqdecd_z_zs_ if(size==3 && D && U && HasSVE() && HasSME()) return uqdecd_z_zs(ctx, dec); // -> uqdecd_z_zs_ - if(!size) UNALLOCATED(ENC_UNALLOCATED_491_SVE_INT_COUNTVLV0); + if(!size) UNALLOCATED(ENC_UNALLOCATED_497_SVE_INT_COUNTVLV0); UNMATCHED; } @@ -5706,7 +5736,7 @@ int decode_iclass_sve_int_countvlv1(context *ctx, Instruction *dec) if(size==2 && D && HasSVE() && HasSME()) return decd_z_zs(ctx, dec); // -> decw_z_zs_ if(size==3 && !D && HasSVE() && HasSME()) return incd_z_zs(ctx, dec); // -> incd_z_zs_ if(size==3 && D && HasSVE() && HasSME()) return decd_z_zs(ctx, dec); // -> decd_z_zs_ - if(!size) UNALLOCATED(ENC_UNALLOCATED_492_SVE_INT_COUNTVLV1); + if(!size) UNALLOCATED(ENC_UNALLOCATED_498_SVE_INT_COUNTVLV1); UNMATCHED; } @@ -5717,7 +5747,7 @@ int decode_iclass_sve_int_count(context *ctx, Instruction *dec) if(size==1 && !op && HasSVE() && HasSME()) return cntb_r_s(ctx, dec); // -> cnth_r_s_ if(size==2 && !op && HasSVE() && HasSME()) return cntb_r_s(ctx, dec); // -> cntw_r_s_ if(size==3 && !op && HasSVE() && HasSME()) return cntb_r_s(ctx, dec); // -> cntd_r_s_ - if(op) UNALLOCATED(ENC_UNALLOCATED_493_SVE_INT_COUNT); + if(op) UNALLOCATED(ENC_UNALLOCATED_499_SVE_INT_COUNT); UNMATCHED; } @@ -5788,7 +5818,7 @@ int decode_iclass_sve_int_count_v_sat(context *ctx, Instruction *dec) if(!D && U && !opc && HasSVE() && HasSME()) return uqincp_z_p_z(ctx, dec); // -> uqincp_z_p_z_ if(D && !U && !opc && HasSVE() && HasSME()) return sqdecp_z_p_z(ctx, dec); // -> sqdecp_z_p_z_ if(D && U && !opc && HasSVE() && HasSME()) return uqdecp_z_p_z(ctx, dec); // -> uqdecp_z_p_z_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_494_SVE_INT_COUNT_V_SAT); + if(opc) UNALLOCATED(ENC_UNALLOCATED_500_SVE_INT_COUNT_V_SAT); UNMATCHED; } @@ -5797,8 +5827,8 @@ int decode_iclass_sve_int_count_v(context *ctx, Instruction *dec) uint32_t op=(INSWORD>>17)&1, D=(INSWORD>>16)&1, opc2=(INSWORD>>9)&3; if(!op && !D && !opc2 && HasSVE() && HasSME()) return incp_z_p_z(ctx, dec); // -> incp_z_p_z_ if(!op && D && !opc2 && HasSVE() && HasSME()) return decp_z_p_z(ctx, dec); // -> decp_z_p_z_ - if(!op && opc2) UNALLOCATED(ENC_UNALLOCATED_496_SVE_INT_COUNT_V); - if(op) UNALLOCATED(ENC_UNALLOCATED_495_SVE_INT_COUNT_V); + if(!op && opc2) UNALLOCATED(ENC_UNALLOCATED_502_SVE_INT_COUNT_V); + if(op) UNALLOCATED(ENC_UNALLOCATED_501_SVE_INT_COUNT_V); UNMATCHED; } @@ -5813,7 +5843,7 @@ int decode_iclass_sve_int_count_r_sat(context *ctx, Instruction *dec) if(D && !U && sf && !op && HasSVE() && HasSME()) return sqdecp_r_p_r(ctx, dec); // -> sqdecp_r_p_r_x if(D && U && !sf && !op && HasSVE() && HasSME()) return uqdecp_r_p_r(ctx, dec); // -> uqdecp_r_p_r_uw if(D && U && sf && !op && HasSVE() && HasSME()) return uqdecp_r_p_r(ctx, dec); // -> uqdecp_r_p_r_x - if(op) UNALLOCATED(ENC_UNALLOCATED_497_SVE_INT_COUNT_R_SAT); + if(op) UNALLOCATED(ENC_UNALLOCATED_503_SVE_INT_COUNT_R_SAT); UNMATCHED; } @@ -5822,8 +5852,8 @@ int decode_iclass_sve_int_count_r(context *ctx, Instruction *dec) uint32_t op=(INSWORD>>17)&1, D=(INSWORD>>16)&1, opc2=(INSWORD>>9)&3; if(!op && !D && !opc2 && HasSVE() && HasSME()) return incp_r_p_r(ctx, dec); // -> incp_r_p_r_ if(!op && D && !opc2 && HasSVE() && HasSME()) return decp_r_p_r(ctx, dec); // -> decp_r_p_r_ - if(!op && opc2) UNALLOCATED(ENC_UNALLOCATED_499_SVE_INT_COUNT_R); - if(op) UNALLOCATED(ENC_UNALLOCATED_498_SVE_INT_COUNT_R); + if(!op && opc2) UNALLOCATED(ENC_UNALLOCATED_505_SVE_INT_COUNT_R); + if(op) UNALLOCATED(ENC_UNALLOCATED_504_SVE_INT_COUNT_R); UNMATCHED; } @@ -5852,7 +5882,7 @@ int decode_iclass_sve_int_bin_cons_arit_0(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, opc=(INSWORD>>10)&7; if(size==3 && opc==2 && HasSVE() && HasCPA()) return addpt_z_zz(ctx, dec); // -> addpt_z_zz_ if(size==3 && opc==3 && HasSVE() && HasCPA()) return subpt_z_zz(ctx, dec); // -> subpt_z_zz_ - if(size!=3 && (opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_500_SVE_INT_BIN_CONS_ARIT_0); + if(size!=3 && (opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_506_SVE_INT_BIN_CONS_ARIT_0); if(!opc && HasSVE() && HasSME()) return add_z_zz(ctx, dec); // -> add_z_zz_ if(opc==1 && HasSVE() && HasSME()) return sub_z_zz(ctx, dec); // -> sub_z_zz_ if(opc==4 && HasSVE() && HasSME()) return sqadd_z_zz(ctx, dec); // -> sqadd_z_zz_ @@ -5867,12 +5897,12 @@ int decode_iclass_sve_int_bin_pred_arit_0(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, opc=(INSWORD>>16)&7; if(size==3 && opc==4 && HasSVE() && HasCPA()) return addpt_z_p_zz(ctx, dec); // -> addpt_z_p_zz_ if(size==3 && opc==5 && HasSVE() && HasCPA()) return subpt_z_p_zz(ctx, dec); // -> subpt_z_p_zz_ - if(size==3 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_502_SVE_INT_BIN_PRED_ARIT_0); + if(size==3 && (opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_509_SVE_INT_BIN_PRED_ARIT_0); if(!opc && HasSVE() && HasSME()) return add_z_p_zz(ctx, dec); // -> add_z_p_zz_ if(opc==1 && HasSVE() && HasSME()) return sub_z_p_zz(ctx, dec); // -> sub_z_p_zz_ - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_503_SVE_INT_BIN_PRED_ARIT_0); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_508_SVE_INT_BIN_PRED_ARIT_0); if(opc==3 && HasSVE() && HasSME()) return subr_z_p_zz(ctx, dec); // -> subr_z_p_zz_ - if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_501_SVE_INT_BIN_PRED_ARIT_0); + if(size!=3 && (opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_507_SVE_INT_BIN_PRED_ARIT_0); UNMATCHED; } @@ -5885,7 +5915,7 @@ int decode_iclass_sve_int_bin_pred_arit_1(context *ctx, Instruction *dec) if(opc==1 && U && HasSVE() && HasSME()) return umin_z_p_zz(ctx, dec); // -> umin_z_p_zz_ if(opc==2 && !U && HasSVE() && HasSME()) return sabd_z_p_zz(ctx, dec); // -> sabd_z_p_zz_ if(opc==2 && U && HasSVE() && HasSME()) return uabd_z_p_zz(ctx, dec); // -> uabd_z_p_zz_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_504_SVE_INT_BIN_PRED_ARIT_1); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_510_SVE_INT_BIN_PRED_ARIT_1); UNMATCHED; } @@ -5893,7 +5923,7 @@ int decode_iclass_sve_int_bin_pred_arit_2(context *ctx, Instruction *dec) { uint32_t H=(INSWORD>>17)&1, U=(INSWORD>>16)&1; if(!H && !U && HasSVE() && HasSME()) return mul_z_p_zz(ctx, dec); // -> mul_z_p_zz_ - if(!H && U) UNALLOCATED(ENC_UNALLOCATED_505_SVE_INT_BIN_PRED_ARIT_2); + if(!H && U) UNALLOCATED(ENC_UNALLOCATED_511_SVE_INT_BIN_PRED_ARIT_2); if(H && !U && HasSVE() && HasSME()) return smulh_z_p_zz(ctx, dec); // -> smulh_z_p_zz_ if(H && U && HasSVE() && HasSME()) return umulh_z_p_zz(ctx, dec); // -> umulh_z_p_zz_ UNMATCHED; @@ -5916,7 +5946,7 @@ int decode_iclass_sve_int_bin_pred_log(context *ctx, Instruction *dec) if(opc==1 && HasSVE() && HasSME()) return eor_z_p_zz(ctx, dec); // -> eor_z_p_zz_ if(opc==2 && HasSVE() && HasSME()) return and_z_p_zz(ctx, dec); // -> and_z_p_zz_ if(opc==3 && HasSVE() && HasSME()) return bic_z_p_zz(ctx, dec); // -> bic_z_p_zz_ - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_506_SVE_INT_BIN_PRED_LOG); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_512_SVE_INT_BIN_PRED_LOG); UNMATCHED; } @@ -5939,7 +5969,7 @@ int decode_iclass_sve_int_cterm(context *ctx, Instruction *dec) uint32_t op=(INSWORD>>23)&1, ne=(INSWORD>>4)&1; if(op && !ne && HasSVE() && HasSME()) return ctermeq_rr(ctx, dec); // -> ctermeq_rr_ if(op && ne && HasSVE() && HasSME()) return ctermeq_rr(ctx, dec); // -> ctermne_rr_ - if(!op) UNALLOCATED(ENC_UNALLOCATED_507_SVE_INT_CTERM); + if(!op) UNALLOCATED(ENC_UNALLOCATED_513_SVE_INT_CTERM); UNMATCHED; } @@ -5960,7 +5990,7 @@ int decode_iclass_sve_int_scmp_vi(context *ctx, Instruction *dec) if(!op && o2 && ne && HasSVE() && HasSME()) return cmpeq_p_p_zi(ctx, dec); // -> cmple_p_p_zi_ if(op && !o2 && !ne && HasSVE() && HasSME()) return cmpeq_p_p_zi(ctx, dec); // -> cmpeq_p_p_zi_ if(op && !o2 && ne && HasSVE() && HasSME()) return cmpeq_p_p_zi(ctx, dec); // -> cmpne_p_p_zi_ - if(op && o2) UNALLOCATED(ENC_UNALLOCATED_508_SVE_INT_SCMP_VI); + if(op && o2) UNALLOCATED(ENC_UNALLOCATED_514_SVE_INT_SCMP_VI); UNMATCHED; } @@ -6006,7 +6036,7 @@ int decode_iclass_sve_int_bin_cons_misc_0_b(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>10)&1; if(!op && HasSVE()) return ftssel_z_zz(ctx, dec); // -> ftssel_z_zz_ - if(op) UNALLOCATED(ENC_UNALLOCATED_509_SVE_INT_BIN_CONS_MISC_0_B); + if(op) UNALLOCATED(ENC_UNALLOCATED_515_SVE_INT_BIN_CONS_MISC_0_B); UNMATCHED; } @@ -6014,7 +6044,7 @@ int decode_iclass_sve_int_bin_cons_misc_0_c(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&0x1f; if(!opc && HasSVE() && HasSSVE_FEXPA()) return fexpa_z_z(ctx, dec); // -> fexpa_z_z_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_510_SVE_INT_BIN_CONS_MISC_0_C); + if(opc) UNALLOCATED(ENC_UNALLOCATED_516_SVE_INT_BIN_CONS_MISC_0_C); UNMATCHED; } @@ -6022,8 +6052,8 @@ int decode_iclass_sve_int_bin_cons_misc_0_d(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>22)&3, opc2=(INSWORD>>16)&0x1f; if(!opc && !opc2 && HasSVE() && HasSME()) return movprfx_z_z(ctx, dec); // -> movprfx_z_z_ - if(!opc && opc2) UNALLOCATED(ENC_UNALLOCATED_512_SVE_INT_BIN_CONS_MISC_0_D); - if(opc) UNALLOCATED(ENC_UNALLOCATED_511_SVE_INT_BIN_CONS_MISC_0_D); + if(!opc && opc2) UNALLOCATED(ENC_UNALLOCATED_518_SVE_INT_BIN_CONS_MISC_0_D); + if(opc) UNALLOCATED(ENC_UNALLOCATED_517_SVE_INT_BIN_CONS_MISC_0_D); UNMATCHED; } @@ -6046,9 +6076,11 @@ int decode_iclass_sve_int_mladdsub_vvv_pred(context *ctx, Instruction *dec) int decode_iclass_sve_intx_dot(context *ctx, Instruction *dec) { uint32_t size=(INSWORD>>22)&3, U=(INSWORD>>10)&1; + if(size==1 && !U && HasSVE2p3() && HasSME2p3()) return sdot_z32_zzz(ctx, dec); // -> sdot_z16_zzz_h + if(size==1 && U && HasSVE2p3() && HasSME2p3()) return udot_z32_zzz(ctx, dec); // -> udot_z16_zzz_h + if(!size) UNALLOCATED(ENC_UNALLOCATED_519_SVE_INTX_DOT); if((size&2)==2 && !U && HasSVE() && HasSME()) return sdot_z_zzz(ctx, dec); // -> sdot_z_zzz_ if((size&2)==2 && U && HasSVE() && HasSME()) return udot_z_zzz(ctx, dec); // -> udot_z_zzz_ - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_513_SVE_INTX_DOT); UNMATCHED; } @@ -6109,7 +6141,7 @@ int decode_iclass_sve_intx_mixed_dot(context *ctx, Instruction *dec) { uint32_t size=(INSWORD>>22)&3; if(size==2 && HasSVE() && HasI8MM() && HasSME() && HasI8MM()) return usdot_z_zzz(ctx, dec); // -> usdot_z_zzz_s - if(size!=2) UNALLOCATED(ENC_UNALLOCATED_514_SVE_INTX_MIXED_DOT); + if(size!=2) UNALLOCATED(ENC_UNALLOCATED_520_SVE_INTX_MIXED_DOT); UNMATCHED; } @@ -6118,16 +6150,16 @@ int decode_iclass_sve_int_reduce_0(context *ctx, Instruction *dec) uint32_t op=(INSWORD>>17)&1, U=(INSWORD>>16)&1; if(!op && !U && HasSVE() && HasSME()) return saddv_r_p_z(ctx, dec); // -> saddv_r_p_z_ if(!op && U && HasSVE() && HasSME()) return uaddv_r_p_z(ctx, dec); // -> uaddv_r_p_z_ - if(op) UNALLOCATED(ENC_UNALLOCATED_515_SVE_INT_REDUCE_0); + if(op) UNALLOCATED(ENC_UNALLOCATED_521_SVE_INT_REDUCE_0); UNMATCHED; } int decode_iclass_sve_int_reduce_0q(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>17)&1, U=(INSWORD>>16)&1; - if(!op && !U) UNALLOCATED(ENC_UNALLOCATED_517_SVE_INT_REDUCE_0Q); + if(!op && !U) UNALLOCATED(ENC_UNALLOCATED_523_SVE_INT_REDUCE_0Q); if(!op && U && HasSVE2p1() && HasSME2p1()) return addqv_z_p_z(ctx, dec); // -> addqv_z_p_z_ - if(op) UNALLOCATED(ENC_UNALLOCATED_516_SVE_INT_REDUCE_0Q); + if(op) UNALLOCATED(ENC_UNALLOCATED_522_SVE_INT_REDUCE_0Q); UNMATCHED; } @@ -6155,7 +6187,7 @@ int decode_iclass_sve_int_movprfx_pred(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>17)&3; if(!opc && HasSVE() && HasSME()) return movprfx_z_p_z(ctx, dec); // -> movprfx_z_p_z_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_518_SVE_INT_MOVPRFX_PRED); + if(opc) UNALLOCATED(ENC_UNALLOCATED_524_SVE_INT_MOVPRFX_PRED); UNMATCHED; } @@ -6165,7 +6197,7 @@ int decode_iclass_sve_int_reduce_2(context *ctx, Instruction *dec) if(!opc && HasSVE() && HasSME()) return orv_r_p_z(ctx, dec); // -> orv_r_p_z_ if(opc==1 && HasSVE() && HasSME()) return eorv_r_p_z(ctx, dec); // -> eorv_r_p_z_ if(opc==2 && HasSVE() && HasSME()) return andv_r_p_z(ctx, dec); // -> andv_r_p_z_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_519_SVE_INT_REDUCE_2); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_525_SVE_INT_REDUCE_2); UNMATCHED; } @@ -6175,7 +6207,7 @@ int decode_iclass_sve_int_reduce_2q(context *ctx, Instruction *dec) if(!opc && HasSVE2p1() && HasSME2p1()) return orqv_z_p_z(ctx, dec); // -> orqv_z_p_z_ if(opc==1 && HasSVE2p1() && HasSME2p1()) return eorqv_z_p_z(ctx, dec); // -> eorqv_z_p_z_ if(opc==2 && HasSVE2p1() && HasSME2p1()) return andqv_z_p_z(ctx, dec); // -> andqv_z_p_z_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_520_SVE_INT_REDUCE_2Q); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_526_SVE_INT_REDUCE_2Q); UNMATCHED; } @@ -6218,7 +6250,7 @@ int decode_iclass_sve_int_un_pred_arit_1(context *ctx, Instruction *dec) if(M && opc==4 && HasSVE() && HasSME()) return fabs_z_p_z(ctx, dec); // -> fabs_z_p_z_m if(M && opc==5 && HasSVE() && HasSME()) return fneg_z_p_z(ctx, dec); // -> fneg_z_p_z_m if(M && opc==6 && HasSVE() && HasSME()) return not_z_p_z(ctx, dec); // -> not_z_p_z_m - if(opc==7) UNALLOCATED(ENC_UNALLOCATED_521_SVE_INT_UN_PRED_ARIT_1); + if(opc==7) UNALLOCATED(ENC_UNALLOCATED_527_SVE_INT_UN_PRED_ARIT_1); UNMATCHED; } @@ -6240,7 +6272,7 @@ int decode_iclass_sve_int_arith_imm0(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>16)&7; if(!opc && HasSVE() && HasSME()) return add_z_zi(ctx, dec); // -> add_z_zi_ if(opc==1 && HasSVE() && HasSME()) return sub_z_zi(ctx, dec); // -> sub_z_zi_ - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_522_SVE_INT_ARITH_IMM0); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_528_SVE_INT_ARITH_IMM0); if(opc==3 && HasSVE() && HasSME()) return subr_z_zi(ctx, dec); // -> subr_z_zi_ if(opc==4 && HasSVE() && HasSME()) return sqadd_z_zi(ctx, dec); // -> sqadd_z_zi_ if(opc==5 && HasSVE() && HasSME()) return uqadd_z_zi(ctx, dec); // -> uqadd_z_zi_ @@ -6256,8 +6288,8 @@ int decode_iclass_sve_int_arith_imm1(context *ctx, Instruction *dec) if(opc==1 && !o2 && HasSVE() && HasSME()) return umax_z_zi(ctx, dec); // -> umax_z_zi_ if(opc==2 && !o2 && HasSVE() && HasSME()) return smin_z_zi(ctx, dec); // -> smin_z_zi_ if(opc==3 && !o2 && HasSVE() && HasSME()) return umin_z_zi(ctx, dec); // -> umin_z_zi_ - if(!(opc&4) && o2) UNALLOCATED(ENC_UNALLOCATED_524_SVE_INT_ARITH_IMM1); - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_523_SVE_INT_ARITH_IMM1); + if(!(opc&4) && o2) UNALLOCATED(ENC_UNALLOCATED_530_SVE_INT_ARITH_IMM1); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_529_SVE_INT_ARITH_IMM1); UNMATCHED; } @@ -6265,8 +6297,8 @@ int decode_iclass_sve_int_arith_imm2(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7, o2=(INSWORD>>13)&1; if(!opc && !o2 && HasSVE() && HasSME()) return mul_z_zi(ctx, dec); // -> mul_z_zi_ - if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_526_SVE_INT_ARITH_IMM2); - if(opc) UNALLOCATED(ENC_UNALLOCATED_525_SVE_INT_ARITH_IMM2); + if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_532_SVE_INT_ARITH_IMM2); + if(opc) UNALLOCATED(ENC_UNALLOCATED_531_SVE_INT_ARITH_IMM2); UNMATCHED; } @@ -6274,7 +6306,7 @@ int decode_iclass_sve_int_dup_imm(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>17)&3; if(!opc && HasSVE() && HasSME()) return dup_z_i(ctx, dec); // -> dup_z_i_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_527_SVE_INT_DUP_IMM); + if(opc) UNALLOCATED(ENC_UNALLOCATED_533_SVE_INT_DUP_IMM); UNMATCHED; } @@ -6282,8 +6314,8 @@ int decode_iclass_sve_int_dup_fpimm(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>17)&3, o2=(INSWORD>>13)&1; if(!opc && !o2 && HasSVE() && HasSME()) return fdup_z_i(ctx, dec); // -> fdup_z_i_ - if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_529_SVE_INT_DUP_FPIMM); - if(opc) UNALLOCATED(ENC_UNALLOCATED_528_SVE_INT_DUP_FPIMM); + if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_535_SVE_INT_DUP_FPIMM); + if(opc) UNALLOCATED(ENC_UNALLOCATED_534_SVE_INT_DUP_FPIMM); UNMATCHED; } @@ -6300,7 +6332,7 @@ int decode_iclass_sve_mem_32b_gld_vs(context *ctx, Instruction *dec) if(opc==1 && U && ff && HasSVE()) return ldff1h_z_p_bz(ctx, dec); // -> ldff1h_z_p_bz_s_x32_unscaled if(opc==2 && U && !ff && HasSVE()) return ld1w_z_p_bz(ctx, dec); // -> ld1w_z_p_bz_s_x32_unscaled if(opc==2 && U && ff && HasSVE()) return ldff1w_z_p_bz(ctx, dec); // -> ldff1w_z_p_bz_s_x32_unscaled - if(opc==2 && !U) UNALLOCATED(ENC_UNALLOCATED_530_SVE_MEM_32B_GLD_VS); + if(opc==2 && !U) UNALLOCATED(ENC_UNALLOCATED_536_SVE_MEM_32B_GLD_VS); UNMATCHED; } @@ -6329,7 +6361,7 @@ int decode_iclass_sve_mem_32b_gld_sv_b(context *ctx, Instruction *dec) uint32_t U=(INSWORD>>14)&1, ff=(INSWORD>>13)&1; if(U && !ff && HasSVE()) return ld1w_z_p_bz(ctx, dec); // -> ld1w_z_p_bz_s_x32_scaled if(U && ff && HasSVE()) return ldff1w_z_p_bz(ctx, dec); // -> ldff1w_z_p_bz_s_x32_scaled - if(!U) UNALLOCATED(ENC_UNALLOCATED_531_SVE_MEM_32B_GLD_SV_B); + if(!U) UNALLOCATED(ENC_UNALLOCATED_537_SVE_MEM_32B_GLD_SV_B); UNMATCHED; } @@ -6360,9 +6392,9 @@ int decode_iclass_sve_mem_32b_gldnt_vs(context *ctx, Instruction *dec) if(!msz && U && HasSVE2()) return ldnt1b_z_p_ar(ctx, dec); // -> ldnt1b_z_p_ar_s_x32_unscaled if(msz==1 && !U && HasSVE2()) return ldnt1sh_z_p_ar(ctx, dec); // -> ldnt1sh_z_p_ar_s_x32_unscaled if(msz==1 && U && HasSVE2()) return ldnt1h_z_p_ar(ctx, dec); // -> ldnt1h_z_p_ar_s_x32_unscaled - if(msz==2 && !U) UNALLOCATED(ENC_UNALLOCATED_533_SVE_MEM_32B_GLDNT_VS); + if(msz==2 && !U) UNALLOCATED(ENC_UNALLOCATED_539_SVE_MEM_32B_GLDNT_VS); if(msz==2 && U && HasSVE2()) return ldnt1w_z_p_ar(ctx, dec); // -> ldnt1w_z_p_ar_s_x32_unscaled - if(msz==3) UNALLOCATED(ENC_UNALLOCATED_532_SVE_MEM_32B_GLDNT_VS); + if(msz==3) UNALLOCATED(ENC_UNALLOCATED_538_SVE_MEM_32B_GLDNT_VS); UNMATCHED; } @@ -6373,7 +6405,7 @@ int decode_iclass_sve_mem_prfm_ss(context *ctx, Instruction *dec) if(msz==1 && Rm!=0x1f && HasSVE() && HasSME()) return prfh_i_p_br(ctx, dec); // -> prfh_i_p_br_s if(msz==2 && Rm!=0x1f && HasSVE() && HasSME()) return prfw_i_p_br(ctx, dec); // -> prfw_i_p_br_s if(msz==3 && Rm!=0x1f && HasSVE() && HasSME()) return prfd_i_p_br(ctx, dec); // -> prfd_i_p_br_s - if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_534_SVE_MEM_PRFM_SS); + if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_540_SVE_MEM_PRFM_SS); UNMATCHED; } @@ -6400,8 +6432,8 @@ int decode_iclass_sve_mem_32b_gld_vi(context *ctx, Instruction *dec) if(msz==1 && U && ff && HasSVE()) return ldff1h_z_p_ai(ctx, dec); // -> ldff1h_z_p_ai_s if(msz==2 && U && !ff && HasSVE()) return ld1w_z_p_ai(ctx, dec); // -> ld1w_z_p_ai_s if(msz==2 && U && ff && HasSVE()) return ldff1w_z_p_ai(ctx, dec); // -> ldff1w_z_p_ai_s - if(msz==2 && !U) UNALLOCATED(ENC_UNALLOCATED_536_SVE_MEM_32B_GLD_VI); - if(msz==3) UNALLOCATED(ENC_UNALLOCATED_535_SVE_MEM_32B_GLD_VI); + if(msz==2 && !U) UNALLOCATED(ENC_UNALLOCATED_542_SVE_MEM_32B_GLD_VI); + if(msz==3) UNALLOCATED(ENC_UNALLOCATED_541_SVE_MEM_32B_GLD_VI); UNMATCHED; } @@ -6444,7 +6476,7 @@ int decode_iclass_sve_mem_64b_gld_vs(context *ctx, Instruction *dec) if(msz==2 && U && ff && HasSVE()) return ldff1w_z_p_bz(ctx, dec); // -> ldff1w_z_p_bz_d_x32_unscaled if(msz==3 && U && !ff && HasSVE()) return ld1d_z_p_bz(ctx, dec); // -> ld1d_z_p_bz_d_x32_unscaled if(msz==3 && U && ff && HasSVE()) return ldff1d_z_p_bz(ctx, dec); // -> ldff1d_z_p_bz_d_x32_unscaled - if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_537_SVE_MEM_64B_GLD_VS); + if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_543_SVE_MEM_64B_GLD_VS); UNMATCHED; } @@ -6471,7 +6503,7 @@ int decode_iclass_sve_mem_64b_gld_sv(context *ctx, Instruction *dec) if(opc==2 && U && ff && HasSVE()) return ldff1w_z_p_bz(ctx, dec); // -> ldff1w_z_p_bz_d_x32_scaled if(opc==3 && U && !ff && HasSVE()) return ld1d_z_p_bz(ctx, dec); // -> ld1d_z_p_bz_d_x32_scaled if(opc==3 && U && ff && HasSVE()) return ldff1d_z_p_bz(ctx, dec); // -> ldff1d_z_p_bz_d_x32_scaled - if(opc==3 && !U) UNALLOCATED(ENC_UNALLOCATED_538_SVE_MEM_64B_GLD_SV); + if(opc==3 && !U) UNALLOCATED(ENC_UNALLOCATED_544_SVE_MEM_64B_GLD_SV); UNMATCHED; } @@ -6484,7 +6516,7 @@ int decode_iclass_sve_mem_64b_gldnt_vs(context *ctx, Instruction *dec) if(msz==1 && U && HasSVE2()) return ldnt1h_z_p_ar(ctx, dec); // -> ldnt1h_z_p_ar_d_64_unscaled if(msz==2 && !U && HasSVE2()) return ldnt1sw_z_p_ar(ctx, dec); // -> ldnt1sw_z_p_ar_d_64_unscaled if(msz==2 && U && HasSVE2()) return ldnt1w_z_p_ar(ctx, dec); // -> ldnt1w_z_p_ar_d_64_unscaled - if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_539_SVE_MEM_64B_GLDNT_VS); + if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_545_SVE_MEM_64B_GLDNT_VS); if(msz==3 && U && HasSVE2()) return ldnt1d_z_p_ar(ctx, dec); // -> ldnt1d_z_p_ar_d_64_unscaled UNMATCHED; } @@ -6521,7 +6553,7 @@ int decode_iclass_sve_mem_64b_gld_vi(context *ctx, Instruction *dec) if(msz==2 && U && ff && HasSVE()) return ldff1w_z_p_ai(ctx, dec); // -> ldff1w_z_p_ai_d if(msz==3 && U && !ff && HasSVE()) return ld1d_z_p_ai(ctx, dec); // -> ld1d_z_p_ai_d if(msz==3 && U && ff && HasSVE()) return ldff1d_z_p_ai(ctx, dec); // -> ldff1d_z_p_ai_d - if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_540_SVE_MEM_64B_GLD_VI); + if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_546_SVE_MEM_64B_GLD_VI); UNMATCHED; } @@ -6542,7 +6574,7 @@ int decode_iclass_sve_mem_64b_gld_vs2(context *ctx, Instruction *dec) if(msz==2 && U && ff && HasSVE()) return ldff1w_z_p_bz(ctx, dec); // -> ldff1w_z_p_bz_d_64_unscaled if(msz==3 && U && !ff && HasSVE()) return ld1d_z_p_bz(ctx, dec); // -> ld1d_z_p_bz_d_64_unscaled if(msz==3 && U && ff && HasSVE()) return ldff1d_z_p_bz(ctx, dec); // -> ldff1d_z_p_bz_d_64_unscaled - if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_541_SVE_MEM_64B_GLD_VS2); + if(msz==3 && !U) UNALLOCATED(ENC_UNALLOCATED_547_SVE_MEM_64B_GLD_VS2); UNMATCHED; } @@ -6569,7 +6601,7 @@ int decode_iclass_sve_mem_64b_gld_sv2(context *ctx, Instruction *dec) if(opc==2 && U && ff && HasSVE()) return ldff1w_z_p_bz(ctx, dec); // -> ldff1w_z_p_bz_d_64_scaled if(opc==3 && U && !ff && HasSVE()) return ld1d_z_p_bz(ctx, dec); // -> ld1d_z_p_bz_d_64_scaled if(opc==3 && U && ff && HasSVE()) return ldff1d_z_p_bz(ctx, dec); // -> ldff1d_z_p_bz_d_64_scaled - if(opc==3 && !U) UNALLOCATED(ENC_UNALLOCATED_542_SVE_MEM_64B_GLD_SV2); + if(opc==3 && !U) UNALLOCATED(ENC_UNALLOCATED_548_SVE_MEM_64B_GLD_SV2); UNMATCHED; } @@ -6584,8 +6616,8 @@ int decode_iclass_sve_mem_ldqr_ss(context *ctx, Instruction *dec) if(msz==2 && ssz==1 && Rm!=0x1f && HasF64MM()) return ld1row_z_p_br(ctx, dec); // -> ld1row_z_p_br_contiguous if(msz==3 && !ssz && Rm!=0x1f && HasSVE() && HasSME()) return ld1rqd_z_p_br(ctx, dec); // -> ld1rqd_z_p_br_contiguous if(msz==3 && ssz==1 && Rm!=0x1f && HasF64MM()) return ld1rod_z_p_br(ctx, dec); // -> ld1rod_z_p_br_contiguous - if(!(ssz&2) && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_544_SVE_MEM_LDQR_SS); - if((ssz&2)==2) UNALLOCATED(ENC_UNALLOCATED_543_SVE_MEM_LDQR_SS); + if(!(ssz&2) && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_550_SVE_MEM_LDQR_SS); + if((ssz&2)==2) UNALLOCATED(ENC_UNALLOCATED_549_SVE_MEM_LDQR_SS); UNMATCHED; } @@ -6600,7 +6632,7 @@ int decode_iclass_sve_mem_ldqr_si(context *ctx, Instruction *dec) if(msz==2 && ssz==1 && HasF64MM()) return ld1row_z_p_bi(ctx, dec); // -> ld1row_z_p_bi_u32 if(msz==3 && !ssz && HasSVE() && HasSME()) return ld1rqd_z_p_bi(ctx, dec); // -> ld1rqd_z_p_bi_u64 if(msz==3 && ssz==1 && HasF64MM()) return ld1rod_z_p_bi(ctx, dec); // -> ld1rod_z_p_bi_u64 - if((ssz&2)==2) UNALLOCATED(ENC_UNALLOCATED_545_SVE_MEM_LDQR_SI); + if((ssz&2)==2) UNALLOCATED(ENC_UNALLOCATED_551_SVE_MEM_LDQR_SI); UNMATCHED; } @@ -6609,7 +6641,7 @@ int decode_iclass_sve_mem_cld_si_q(context *ctx, Instruction *dec) uint32_t dtype=(INSWORD>>23)&3; if(dtype==2 && HasSVE2p1()) return ld1w_z_p_bi(ctx, dec); // -> ld1w_z_p_bi_u128 if(dtype==3 && HasSVE2p1()) return ld1d_z_p_bi(ctx, dec); // -> ld1d_z_p_bi_u128 - if(!(dtype&2)) UNALLOCATED(ENC_UNALLOCATED_546_SVE_MEM_CLD_SI_Q); + if(!(dtype&2)) UNALLOCATED(ENC_UNALLOCATED_552_SVE_MEM_CLD_SI_Q); UNMATCHED; } @@ -6632,7 +6664,7 @@ int decode_iclass_sve_mem_cld_ss(context *ctx, Instruction *dec) if(dtype==13 && Rm!=0x1f && HasSVE() && HasSME()) return ld1sb_z_p_br(ctx, dec); // -> ld1sb_z_p_br_s32 if(dtype==14 && Rm!=0x1f && HasSVE() && HasSME()) return ld1sb_z_p_br(ctx, dec); // -> ld1sb_z_p_br_s16 if(dtype==15 && Rm!=0x1f && HasSVE() && HasSME()) return ld1d_z_p_br(ctx, dec); // -> ld1d_z_p_br_u64 - if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_547_SVE_MEM_CLD_SS); + if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_553_SVE_MEM_CLD_SS); UNMATCHED; } @@ -6663,8 +6695,8 @@ int decode_iclass_sve_mem_cld_ss_q(context *ctx, Instruction *dec) uint32_t dtype=(INSWORD>>23)&3, Rm=(INSWORD>>16)&0x1f; if(dtype==2 && Rm!=0x1f && HasSVE2p1()) return ld1w_z_p_br(ctx, dec); // -> ld1w_z_p_br_u128 if(dtype==3 && Rm!=0x1f && HasSVE2p1()) return ld1d_z_p_br(ctx, dec); // -> ld1d_z_p_br_u128 - if((dtype&2)==2 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_549_SVE_MEM_CLD_SS_Q); - if(!(dtype&2)) UNALLOCATED(ENC_UNALLOCATED_548_SVE_MEM_CLD_SS_Q); + if((dtype&2)==2 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_555_SVE_MEM_CLD_SS_Q); + if(!(dtype&2)) UNALLOCATED(ENC_UNALLOCATED_554_SVE_MEM_CLD_SS_Q); UNMATCHED; } @@ -6674,8 +6706,8 @@ int decode_iclass_sve_mem_eldq_ss(context *ctx, Instruction *dec) if(num==1 && Rm!=0x1f && HasSVE2p1() && HasSME2p1()) return ld2q_z_p_br(ctx, dec); // -> ld2q_z_p_br_contiguous if(num==2 && Rm!=0x1f && HasSVE2p1() && HasSME2p1()) return ld3q_z_p_br(ctx, dec); // -> ld3q_z_p_br_contiguous if(num==3 && Rm!=0x1f && HasSVE2p1() && HasSME2p1()) return ld4q_z_p_br(ctx, dec); // -> ld4q_z_p_br_contiguous - if(num && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_551_SVE_MEM_ELDQ_SS); - if(!num) UNALLOCATED(ENC_UNALLOCATED_550_SVE_MEM_ELDQ_SS); + if(num && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_557_SVE_MEM_ELDQ_SS); + if(!num) UNALLOCATED(ENC_UNALLOCATED_556_SVE_MEM_ELDQ_SS); UNMATCHED; } @@ -6730,7 +6762,7 @@ int decode_iclass_sve_mem_cldnt_ss(context *ctx, Instruction *dec) if(msz==1 && Rm!=0x1f && HasSVE() && HasSME()) return ldnt1h_z_p_br(ctx, dec); // -> ldnt1h_z_p_br_contiguous if(msz==2 && Rm!=0x1f && HasSVE() && HasSME()) return ldnt1w_z_p_br(ctx, dec); // -> ldnt1w_z_p_br_contiguous if(msz==3 && Rm!=0x1f && HasSVE() && HasSME()) return ldnt1d_z_p_br(ctx, dec); // -> ldnt1d_z_p_br_contiguous - if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_552_SVE_MEM_CLDNT_SS); + if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_558_SVE_MEM_CLDNT_SS); UNMATCHED; } @@ -6749,7 +6781,7 @@ int decode_iclass_sve_mem_eld_ss(context *ctx, Instruction *dec) if(msz==3 && opc==1 && Rm!=0x1f && HasSVE() && HasSME()) return ld2d_z_p_br(ctx, dec); // -> ld2d_z_p_br_contiguous if(msz==3 && opc==2 && Rm!=0x1f && HasSVE() && HasSME()) return ld3d_z_p_br(ctx, dec); // -> ld3d_z_p_br_contiguous if(msz==3 && opc==3 && Rm!=0x1f && HasSVE() && HasSME()) return ld4d_z_p_br(ctx, dec); // -> ld4d_z_p_br_contiguous - if(opc && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_553_SVE_MEM_ELD_SS); + if(opc && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_559_SVE_MEM_ELD_SS); UNMATCHED; } @@ -6784,7 +6816,7 @@ int decode_iclass_sve_mem_eld_si(context *ctx, Instruction *dec) int decode_iclass_sve_mem_eldq_si(context *ctx, Instruction *dec) { uint32_t num=(INSWORD>>23)&3; - if(!num) UNALLOCATED(ENC_UNALLOCATED_554_SVE_MEM_ELDQ_SI); + if(!num) UNALLOCATED(ENC_UNALLOCATED_560_SVE_MEM_ELDQ_SI); if(num==1 && HasSVE2p1() && HasSME2p1()) return ld2q_z_p_bi(ctx, dec); // -> ld2q_z_p_bi_contiguous if(num==2 && HasSVE2p1() && HasSME2p1()) return ld3q_z_p_bi(ctx, dec); // -> ld3q_z_p_bi_contiguous if(num==3 && HasSVE2p1() && HasSME2p1()) return ld4q_z_p_bi(ctx, dec); // -> ld4q_z_p_bi_contiguous @@ -6794,7 +6826,7 @@ int decode_iclass_sve_mem_eldq_si(context *ctx, Instruction *dec) int decode_iclass_sve_mem_estq_si(context *ctx, Instruction *dec) { uint32_t num=(INSWORD>>22)&3; - if(!num) UNALLOCATED(ENC_UNALLOCATED_555_SVE_MEM_ESTQ_SI); + if(!num) UNALLOCATED(ENC_UNALLOCATED_561_SVE_MEM_ESTQ_SI); if(num==1 && HasSVE2p1() && HasSME2p1()) return st2q_z_p_bi(ctx, dec); // -> st2q_z_p_bi_contiguous if(num==2 && HasSVE2p1() && HasSME2p1()) return st3q_z_p_bi(ctx, dec); // -> st3q_z_p_bi_contiguous if(num==3 && HasSVE2p1() && HasSME2p1()) return st4q_z_p_bi(ctx, dec); // -> st4q_z_p_bi_contiguous @@ -6807,8 +6839,8 @@ int decode_iclass_sve_mem_estq_ss(context *ctx, Instruction *dec) if(num==1 && Rm!=0x1f && HasSVE2p1() && HasSME2p1()) return st2q_z_p_br(ctx, dec); // -> st2q_z_p_br_contiguous if(num==2 && Rm!=0x1f && HasSVE2p1() && HasSME2p1()) return st3q_z_p_br(ctx, dec); // -> st3q_z_p_br_contiguous if(num==3 && Rm!=0x1f && HasSVE2p1() && HasSME2p1()) return st4q_z_p_br(ctx, dec); // -> st4q_z_p_br_contiguous - if(num && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_557_SVE_MEM_ESTQ_SS); - if(!num) UNALLOCATED(ENC_UNALLOCATED_556_SVE_MEM_ESTQ_SS); + if(num && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_563_SVE_MEM_ESTQ_SS); + if(!num) UNALLOCATED(ENC_UNALLOCATED_562_SVE_MEM_ESTQ_SS); UNMATCHED; } @@ -6820,17 +6852,16 @@ int decode_iclass_sve_mem_pspill(context *ctx, Instruction *dec) int decode_iclass_sve_mem_cst_ss(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>22)&7, o2=(INSWORD>>21)&1, Rm=(INSWORD>>16)&0x1f; + if(opc==4 && !o2 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_567_SVE_MEM_CST_SS); if(opc==4 && !o2 && Rm!=0x1f && HasSVE2p1()) return st1w_z_p_br(ctx, dec); // -> st1w_z_p_br_u128 - if(opc==5 && o2 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_561_SVE_MEM_CST_SS); if(opc==7 && !o2 && Rm!=0x1f && HasSVE2p1()) return st1d_z_p_br(ctx, dec); // -> st1d_z_p_br_u128 if(opc==7 && o2 && Rm!=0x1f && HasSVE() && HasSME()) return st1d_z_p_br(ctx, dec); // -> st1d_z_p_br_ - if((opc&6)==4 && !o2 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_560_SVE_MEM_CST_SS); if(opc==5 && Rm!=0x1f && HasSVE() && HasSME()) return st1w_z_p_br(ctx, dec); // -> st1w_z_p_br_ - if(opc==7 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_562_SVE_MEM_CST_SS); + if(!(opc&5) && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_566_SVE_MEM_CST_SS); if(!(opc&6) && Rm!=0x1f && HasSVE() && HasSME()) return st1b_z_p_br(ctx, dec); // -> st1b_z_p_br_ if((opc&6)==2 && Rm!=0x1f && HasSVE() && HasSME()) return st1h_z_p_br(ctx, dec); // -> st1h_z_p_br_ - if(!(opc&4) && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_559_SVE_MEM_CST_SS); - if(opc==4 && o2) UNALLOCATED(ENC_UNALLOCATED_558_SVE_MEM_CST_SS); + if(opc&1 && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_565_SVE_MEM_CST_SS); + if(opc==4 && o2) UNALLOCATED(ENC_UNALLOCATED_564_SVE_MEM_CST_SS); UNMATCHED; } @@ -6843,11 +6874,11 @@ int decode_iclass_sve_mem_cst_si(context *ctx, Instruction *dec) { uint32_t msz=(INSWORD>>23)&3, opc=(INSWORD>>21)&3; if(msz==2 && !opc && HasSVE2p1()) return st1w_z_p_bi(ctx, dec); // -> st1w_z_p_bi_u128 - if(msz==2 && opc==1) UNALLOCATED(ENC_UNALLOCATED_564_SVE_MEM_CST_SI); + if(msz==2 && opc==1) UNALLOCATED(ENC_UNALLOCATED_569_SVE_MEM_CST_SI); if(msz==3 && opc==2 && HasSVE2p1()) return st1d_z_p_bi(ctx, dec); // -> st1d_z_p_bi_u128 if(msz==3 && opc==3 && HasSVE() && HasSME()) return st1d_z_p_bi(ctx, dec); // -> st1d_z_p_bi_ if(msz==2 && (opc&2)==2 && HasSVE() && HasSME()) return st1w_z_p_bi(ctx, dec); // -> st1w_z_p_bi_ - if(msz==3 && !(opc&2)) UNALLOCATED(ENC_UNALLOCATED_563_SVE_MEM_CST_SI); + if(msz==3 && !(opc&2)) UNALLOCATED(ENC_UNALLOCATED_568_SVE_MEM_CST_SI); if(!msz && HasSVE() && HasSME()) return st1b_z_p_bi(ctx, dec); // -> st1b_z_p_bi_ if(msz==1 && HasSVE() && HasSME()) return st1h_z_p_bi(ctx, dec); // -> st1h_z_p_bi_ UNMATCHED; @@ -6888,7 +6919,7 @@ int decode_iclass_sve_mem_cstnt_ss(context *ctx, Instruction *dec) if(msz==1 && Rm!=0x1f && HasSVE() && HasSME()) return stnt1h_z_p_br(ctx, dec); // -> stnt1h_z_p_br_contiguous if(msz==2 && Rm!=0x1f && HasSVE() && HasSME()) return stnt1w_z_p_br(ctx, dec); // -> stnt1w_z_p_br_contiguous if(msz==3 && Rm!=0x1f && HasSVE() && HasSME()) return stnt1d_z_p_br(ctx, dec); // -> stnt1d_z_p_br_contiguous - if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_565_SVE_MEM_CSTNT_SS); + if(Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_570_SVE_MEM_CSTNT_SS); UNMATCHED; } @@ -6907,7 +6938,7 @@ int decode_iclass_sve_mem_est_ss(context *ctx, Instruction *dec) if(msz==3 && opc==1 && Rm!=0x1f && HasSVE() && HasSME()) return st2d_z_p_br(ctx, dec); // -> st2d_z_p_br_contiguous if(msz==3 && opc==2 && Rm!=0x1f && HasSVE() && HasSME()) return st3d_z_p_br(ctx, dec); // -> st3d_z_p_br_contiguous if(msz==3 && opc==3 && Rm!=0x1f && HasSVE() && HasSME()) return st4d_z_p_br(ctx, dec); // -> st4d_z_p_br_contiguous - if(opc && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_566_SVE_MEM_EST_SS); + if(opc && Rm==0x1f) UNALLOCATED(ENC_UNALLOCATED_571_SVE_MEM_EST_SS); UNMATCHED; } @@ -6927,7 +6958,7 @@ int decode_iclass_sve_mem_sstnt_32b_vs(context *ctx, Instruction *dec) if(!msz && HasSVE2()) return stnt1b_z_p_ar(ctx, dec); // -> stnt1b_z_p_ar_s_x32_unscaled if(msz==1 && HasSVE2()) return stnt1h_z_p_ar(ctx, dec); // -> stnt1h_z_p_ar_s_x32_unscaled if(msz==2 && HasSVE2()) return stnt1w_z_p_ar(ctx, dec); // -> stnt1w_z_p_ar_s_x32_unscaled - if(msz==3) UNALLOCATED(ENC_UNALLOCATED_567_SVE_MEM_SSTNT_32B_VS); + if(msz==3) UNALLOCATED(ENC_UNALLOCATED_572_SVE_MEM_SSTNT_32B_VS); UNMATCHED; } @@ -6949,7 +6980,7 @@ int decode_iclass_sve_mem_sst_vs2(context *ctx, Instruction *dec) int decode_iclass_sve_mem_sst_sv2(context *ctx, Instruction *dec) { uint32_t msz=(INSWORD>>23)&3; - if(!msz) UNALLOCATED(ENC_UNALLOCATED_568_SVE_MEM_SST_SV2); + if(!msz) UNALLOCATED(ENC_UNALLOCATED_573_SVE_MEM_SST_SV2); if(msz==1 && HasSVE()) return st1h_z_p_bz(ctx, dec); // -> st1h_z_p_bz_d_64_scaled if(msz==2 && HasSVE()) return st1w_z_p_bz(ctx, dec); // -> st1w_z_p_bz_d_64_scaled if(msz==3 && HasSVE()) return st1d_z_p_bz(ctx, dec); // -> st1d_z_p_bz_d_64_scaled @@ -6972,7 +7003,7 @@ int decode_iclass_sve_mem_sst_vi_b(context *ctx, Instruction *dec) if(!msz && HasSVE()) return st1b_z_p_ai(ctx, dec); // -> st1b_z_p_ai_s if(msz==1 && HasSVE()) return st1h_z_p_ai(ctx, dec); // -> st1h_z_p_ai_s if(msz==2 && HasSVE()) return st1w_z_p_ai(ctx, dec); // -> st1w_z_p_ai_s - if(msz==3) UNALLOCATED(ENC_UNALLOCATED_569_SVE_MEM_SST_VI_B); + if(msz==3) UNALLOCATED(ENC_UNALLOCATED_574_SVE_MEM_SST_VI_B); UNMATCHED; } @@ -6992,14 +7023,14 @@ int decode_iclass_sve_mem_sst_vs_b(context *ctx, Instruction *dec) if(!msz && HasSVE()) return st1b_z_p_bz(ctx, dec); // -> st1b_z_p_bz_s_x32_unscaled if(msz==1 && HasSVE()) return st1h_z_p_bz(ctx, dec); // -> st1h_z_p_bz_s_x32_unscaled if(msz==2 && HasSVE()) return st1w_z_p_bz(ctx, dec); // -> st1w_z_p_bz_s_x32_unscaled - if(msz==3) UNALLOCATED(ENC_UNALLOCATED_570_SVE_MEM_SST_VS_B); + if(msz==3) UNALLOCATED(ENC_UNALLOCATED_575_SVE_MEM_SST_VS_B); UNMATCHED; } int decode_iclass_sve_mem_sst_sv_a(context *ctx, Instruction *dec) { uint32_t msz=(INSWORD>>23)&3; - if(!msz) UNALLOCATED(ENC_UNALLOCATED_571_SVE_MEM_SST_SV_A); + if(!msz) UNALLOCATED(ENC_UNALLOCATED_576_SVE_MEM_SST_SV_A); if(msz==1 && HasSVE()) return st1h_z_p_bz(ctx, dec); // -> st1h_z_p_bz_d_x32_scaled if(msz==2 && HasSVE()) return st1w_z_p_bz(ctx, dec); // -> st1w_z_p_bz_d_x32_scaled if(msz==3 && HasSVE()) return st1d_z_p_bz(ctx, dec); // -> st1d_z_p_bz_d_x32_scaled @@ -7009,10 +7040,10 @@ int decode_iclass_sve_mem_sst_sv_a(context *ctx, Instruction *dec) int decode_iclass_sve_mem_sst_sv_b(context *ctx, Instruction *dec) { uint32_t msz=(INSWORD>>23)&3; - if(!msz) UNALLOCATED(ENC_UNALLOCATED_572_SVE_MEM_SST_SV_B); + if(!msz) UNALLOCATED(ENC_UNALLOCATED_577_SVE_MEM_SST_SV_B); if(msz==1 && HasSVE()) return st1h_z_p_bz(ctx, dec); // -> st1h_z_p_bz_s_x32_scaled if(msz==2 && HasSVE()) return st1w_z_p_bz(ctx, dec); // -> st1w_z_p_bz_s_x32_scaled - if(msz==3) UNALLOCATED(ENC_UNALLOCATED_573_SVE_MEM_SST_SV_B); + if(msz==3) UNALLOCATED(ENC_UNALLOCATED_578_SVE_MEM_SST_SV_B); UNMATCHED; } @@ -7020,7 +7051,7 @@ int decode_iclass_sve_intx_clong(context *ctx, Instruction *dec) { uint32_t S=(INSWORD>>11)&1, tb=(INSWORD>>10)&1; if(!S && !tb && HasSVE2() && HasSME()) return saddlbt_z_zz(ctx, dec); // -> saddlbt_z_zz_ - if(!S && tb) UNALLOCATED(ENC_UNALLOCATED_574_SVE_INTX_CLONG); + if(!S && tb) UNALLOCATED(ENC_UNALLOCATED_579_SVE_INTX_CLONG); if(S && !tb && HasSVE2() && HasSME()) return ssublbt_z_zz(ctx, dec); // -> ssublbt_z_zz_ if(S && tb && HasSVE2() && HasSME()) return ssubltb_z_zz(ctx, dec); // -> ssubltb_z_zz_ UNMATCHED; @@ -7038,7 +7069,7 @@ int decode_iclass_sve_intx_mmla(context *ctx, Instruction *dec) { uint32_t uns=(INSWORD>>22)&3; if(!uns && HasSVE() && HasI8MM()) return smmla_z_zzz(ctx, dec); // -> smmla_z_zzz_ - if(uns==1) UNALLOCATED(ENC_UNALLOCATED_575_SVE_INTX_MMLA); + if(uns==1) UNALLOCATED(ENC_UNALLOCATED_580_SVE_INTX_MMLA); if(uns==2 && HasSVE() && HasI8MM()) return usmmla_z_zzz(ctx, dec); // -> usmmla_z_zzz_ if(uns==3 && HasSVE() && HasI8MM()) return ummla_z_zzz(ctx, dec); // -> ummla_z_zzz_ UNMATCHED; @@ -7060,7 +7091,7 @@ int decode_iclass_sve_intx_perm_bit(context *ctx, Instruction *dec) if(!opc && HasSVE_BitPerm()) return bext_z_zz(ctx, dec); // -> bext_z_zz_ if(opc==1 && HasSVE_BitPerm()) return bdep_z_zz(ctx, dec); // -> bdep_z_zz_ if(opc==2 && HasSVE_BitPerm()) return bgrp_z_zz(ctx, dec); // -> bgrp_z_zz_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_576_SVE_INTX_PERM_BIT); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_581_SVE_INTX_PERM_BIT); UNMATCHED; } @@ -7071,7 +7102,8 @@ int decode_iclass_sve_intx_dot_by_indexed_elem(context *ctx, Instruction *dec) if(size==2 && U && HasSVE() && HasSME()) return udot_z_zzzi(ctx, dec); // -> udot_z_zzzi_s if(size==3 && !U && HasSVE() && HasSME()) return sdot_z_zzzi(ctx, dec); // -> sdot_z_zzzi_d if(size==3 && U && HasSVE() && HasSME()) return udot_z_zzzi(ctx, dec); // -> udot_z_zzzi_d - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_577_SVE_INTX_DOT_BY_INDEXED_ELEM); + if(!(size&2) && !U && HasSVE2p3() && HasSME2p3()) return sdot_z32_zzzi(ctx, dec); // -> sdot_z16_zzzi_h + if(!(size&2) && U && HasSVE2p3() && HasSME2p3()) return udot_z32_zzzi(ctx, dec); // -> udot_z16_zzzi_h UNMATCHED; } @@ -7104,7 +7136,7 @@ int decode_iclass_sve_intx_mixed_dot_by_indexed_elem(context *ctx, Instruction * uint32_t size=(INSWORD>>22)&3, U=(INSWORD>>10)&1; if(size==2 && !U && HasSVE() && HasI8MM() && HasSME() && HasI8MM()) return usdot_z_zzzi(ctx, dec); // -> usdot_z_zzzi_s if(size==2 && U && HasSVE() && HasI8MM() && HasSME() && HasI8MM()) return sudot_z_zzzi(ctx, dec); // -> sudot_z_zzzi_s - if(size!=2) UNALLOCATED(ENC_UNALLOCATED_578_SVE_INTX_MIXED_DOT_BY_INDEXED_ELEM); + if(size!=2) UNALLOCATED(ENC_UNALLOCATED_582_SVE_INTX_MIXED_DOT_BY_INDEXED_ELEM); UNMATCHED; } @@ -7119,7 +7151,7 @@ int decode_iclass_sve_intx_qdmla_long_by_indexed_elem(context *ctx, Instruction if(size==3 && !S && T && HasSVE2() && HasSME()) return sqdmlalt_z_zzzi(ctx, dec); // -> sqdmlalt_z_zzzi_d if(size==3 && S && !T && HasSVE2() && HasSME()) return sqdmlslb_z_zzzi(ctx, dec); // -> sqdmlslb_z_zzzi_d if(size==3 && S && T && HasSVE2() && HasSME()) return sqdmlslt_z_zzzi(ctx, dec); // -> sqdmlslt_z_zzzi_d - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_579_SVE_INTX_QDMLA_LONG_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_583_SVE_INTX_QDMLA_LONG_BY_INDEXED_ELEM); UNMATCHED; } @@ -7128,7 +7160,7 @@ int decode_iclass_sve_intx_cdot_by_indexed_elem(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3; if(size==2 && HasSVE2() && HasSME()) return cdot_z_zzzi(ctx, dec); // -> cdot_z_zzzi_s if(size==3 && HasSVE2() && HasSME()) return cdot_z_zzzi(ctx, dec); // -> cdot_z_zzzi_d - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_580_SVE_INTX_CDOT_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_584_SVE_INTX_CDOT_BY_INDEXED_ELEM); UNMATCHED; } @@ -7137,7 +7169,7 @@ int decode_iclass_sve_intx_cmla_by_indexed_elem(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3; if(size==2 && HasSVE2() && HasSME()) return cmla_z_zzzi(ctx, dec); // -> cmla_z_zzzi_h if(size==3 && HasSVE2() && HasSME()) return cmla_z_zzzi(ctx, dec); // -> cmla_z_zzzi_s - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_581_SVE_INTX_CMLA_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_585_SVE_INTX_CMLA_BY_INDEXED_ELEM); UNMATCHED; } @@ -7146,7 +7178,7 @@ int decode_iclass_sve_intx_qrdcmla_by_indexed_elem(context *ctx, Instruction *de uint32_t size=(INSWORD>>22)&3; if(size==2 && HasSVE2() && HasSME()) return sqrdcmlah_z_zzzi(ctx, dec); // -> sqrdcmlah_z_zzzi_h if(size==3 && HasSVE2() && HasSME()) return sqrdcmlah_z_zzzi(ctx, dec); // -> sqrdcmlah_z_zzzi_s - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_582_SVE_INTX_QRDCMLA_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_586_SVE_INTX_QRDCMLA_BY_INDEXED_ELEM); UNMATCHED; } @@ -7169,7 +7201,7 @@ int decode_iclass_sve_intx_mla_long_by_indexed_elem(context *ctx, Instruction *d if(size==3 && S && !U && T && HasSVE2() && HasSME()) return smlslt_z_zzzi(ctx, dec); // -> smlslt_z_zzzi_d if(size==3 && S && U && !T && HasSVE2() && HasSME()) return umlslb_z_zzzi(ctx, dec); // -> umlslb_z_zzzi_d if(size==3 && S && U && T && HasSVE2() && HasSME()) return umlslt_z_zzzi(ctx, dec); // -> umlslt_z_zzzi_d - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_583_SVE_INTX_MLA_LONG_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_587_SVE_INTX_MLA_LONG_BY_INDEXED_ELEM); UNMATCHED; } @@ -7184,7 +7216,7 @@ int decode_iclass_sve_intx_mul_long_by_indexed_elem(context *ctx, Instruction *d if(size==3 && !U && T && HasSVE2() && HasSME()) return smullt_z_zzi(ctx, dec); // -> smullt_z_zzi_d if(size==3 && U && !T && HasSVE2() && HasSME()) return umullb_z_zzi(ctx, dec); // -> umullb_z_zzi_d if(size==3 && U && T && HasSVE2() && HasSME()) return umullt_z_zzi(ctx, dec); // -> umullt_z_zzi_d - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_584_SVE_INTX_MUL_LONG_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_588_SVE_INTX_MUL_LONG_BY_INDEXED_ELEM); UNMATCHED; } @@ -7195,7 +7227,7 @@ int decode_iclass_sve_intx_qdmul_long_by_indexed_elem(context *ctx, Instruction if(size==2 && T && HasSVE2() && HasSME()) return sqdmullt_z_zzi(ctx, dec); // -> sqdmullt_z_zzi_s if(size==3 && !T && HasSVE2() && HasSME()) return sqdmullb_z_zzi(ctx, dec); // -> sqdmullb_z_zzi_d if(size==3 && T && HasSVE2() && HasSME()) return sqdmullt_z_zzi(ctx, dec); // -> sqdmullt_z_zzi_d - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_585_SVE_INTX_QDMUL_LONG_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_589_SVE_INTX_QDMUL_LONG_BY_INDEXED_ELEM); UNMATCHED; } @@ -7225,7 +7257,7 @@ int decode_iclass_sve_int_break(context *ctx, Instruction *dec) uint32_t B=(INSWORD>>23)&1, S=(INSWORD>>22)&1, M=(INSWORD>>4)&1; if(!B && S && !M && HasSVE() && HasSME()) return brkas_p_p_p(ctx, dec); // -> brkas_p_p_p_z if(B && S && !M && HasSVE() && HasSME()) return brkbs_p_p_p(ctx, dec); // -> brkbs_p_p_p_z - if(S && M) UNALLOCATED(ENC_UNALLOCATED_586_SVE_INT_BREAK); + if(S && M) UNALLOCATED(ENC_UNALLOCATED_590_SVE_INT_BREAK); if(!B && !S && HasSVE() && HasSME()) return brka_p_p_p(ctx, dec); // -> brka_p_p_p_ if(B && !S && HasSVE() && HasSME()) return brkb_p_p_p(ctx, dec); // -> brkb_p_p_p_ UNMATCHED; @@ -7248,7 +7280,7 @@ int decode_iclass_sve_int_perm_bin_perm_pp(context *ctx, Instruction *dec) if(opc==1 && H && HasSVE() && HasSME()) return uzp1_p_pp(ctx, dec); // -> uzp2_p_pp_ if(opc==2 && !H && HasSVE() && HasSME()) return trn1_p_pp(ctx, dec); // -> trn1_p_pp_ if(opc==2 && H && HasSVE() && HasSME()) return trn1_p_pp(ctx, dec); // -> trn2_p_pp_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_587_SVE_INT_PERM_BIN_PERM_PP); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_591_SVE_INT_PERM_BIN_PERM_PP); UNMATCHED; } @@ -7289,7 +7321,7 @@ int decode_iclass_sve_int_perm_bin_perm_zz(context *ctx, Instruction *dec) if(opc==3 && HasSVE() && HasSME()) return uzp1_z_zz(ctx, dec); // -> uzp2_z_zz_ if(opc==4 && HasSVE() && HasSME()) return trn1_z_zz(ctx, dec); // -> trn1_z_zz_ if(opc==5 && HasSVE() && HasSME()) return trn1_z_zz(ctx, dec); // -> trn2_z_zz_ - if((opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_588_SVE_INT_PERM_BIN_PERM_ZZ); + if((opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_592_SVE_INT_PERM_BIN_PERM_ZZ); UNMATCHED; } @@ -7390,7 +7422,7 @@ int decode_iclass_sve_int_perm_revd(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, Z=(INSWORD>>13)&1; if(!size && !Z && HasSME() && HasSVE2p1()) return revd_z_p_z(ctx, dec); // -> revd_z_p_z_m if(!size && Z && HasSVE2p2() && HasSME2p2()) return revd_z_p_z(ctx, dec); // -> revd_z_p_z_z - if(size) UNALLOCATED(ENC_UNALLOCATED_589_SVE_INT_PERM_REVD); + if(size) UNALLOCATED(ENC_UNALLOCATED_593_SVE_INT_PERM_REVD); UNMATCHED; } @@ -7408,7 +7440,7 @@ int decode_iclass_sve_int_perm_bin_long_perm_zz(context *ctx, Instruction *dec) if(opc==1 && H && HasF64MM()) return uzp1_z_zz(ctx, dec); // -> uzp2_z_zz_q if(opc==3 && !H && HasF64MM()) return trn1_z_zz(ctx, dec); // -> trn1_z_zz_q if(opc==3 && H && HasF64MM()) return trn1_z_zz(ctx, dec); // -> trn2_z_zz_q - if(opc==2) UNALLOCATED(ENC_UNALLOCATED_590_SVE_INT_PERM_BIN_LONG_PERM_ZZ); + if(opc==2) UNALLOCATED(ENC_UNALLOCATED_594_SVE_INT_PERM_BIN_LONG_PERM_ZZ); UNMATCHED; } @@ -7433,8 +7465,8 @@ int decode_iclass_sve_int_perm_binquads(context *ctx, Instruction *dec) if(opc==2 && HasSVE2p1() && HasSME2p1()) return uzpq1_z_zz(ctx, dec); // -> uzpq1_z_zz_ if(opc==3 && HasSVE2p1() && HasSME2p1()) return uzpq2_z_zz(ctx, dec); // -> uzpq2_z_zz_ if(opc==6 && HasSVE2p1() && HasSME2p1()) return tblq_z_zz(ctx, dec); // -> tblq_z_zz_ - if(opc==7) UNALLOCATED(ENC_UNALLOCATED_592_SVE_INT_PERM_BINQUADS); - if((opc&6)==4) UNALLOCATED(ENC_UNALLOCATED_591_SVE_INT_PERM_BINQUADS); + if(opc==7) UNALLOCATED(ENC_UNALLOCATED_596_SVE_INT_PERM_BINQUADS); + if((opc&6)==4) UNALLOCATED(ENC_UNALLOCATED_595_SVE_INT_PERM_BINQUADS); UNMATCHED; } @@ -7456,7 +7488,7 @@ int decode_iclass_sve_int_perm_insrs(context *ctx, Instruction *dec) int decode_iclass_sve_int_mov_v2p(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>22)&3, opc2=(INSWORD>>17)&3; - if(!opc && !opc2) UNALLOCATED(ENC_UNALLOCATED_593_SVE_INT_MOV_V2P); + if(!opc && !opc2) UNALLOCATED(ENC_UNALLOCATED_597_SVE_INT_MOV_V2P); if(!opc && opc2==1 && HasSVE2p1() && HasSME2p1()) return pmov_p_zi(ctx, dec); // -> pmov_p_zi_b if(!opc && (opc2&2)==2 && HasSVE2p1() && HasSME2p1()) return pmov_p_zi(ctx, dec); // -> pmov_p_zi_h if(opc==1 && HasSVE2p1() && HasSME2p1()) return pmov_p_zi(ctx, dec); // -> pmov_p_zi_s @@ -7467,7 +7499,7 @@ int decode_iclass_sve_int_mov_v2p(context *ctx, Instruction *dec) int decode_iclass_sve_int_mov_p2v(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>22)&3, opc2=(INSWORD>>17)&3; - if(!opc && !opc2) UNALLOCATED(ENC_UNALLOCATED_594_SVE_INT_MOV_P2V); + if(!opc && !opc2) UNALLOCATED(ENC_UNALLOCATED_598_SVE_INT_MOV_P2V); if(!opc && opc2==1 && HasSVE2p1() && HasSME2p1()) return pmov_z_pi(ctx, dec); // -> pmov_z_pi_b if(!opc && (opc2&2)==2 && HasSVE2p1() && HasSME2p1()) return pmov_z_pi(ctx, dec); // -> pmov_z_pi_h if(opc==1 && HasSVE2p1() && HasSME2p1()) return pmov_z_pi(ctx, dec); // -> pmov_z_pi_s @@ -7501,8 +7533,8 @@ int decode_iclass_sve_int_pcount_pred(context *ctx, Instruction *dec) if(!opc && HasSVE() && HasSME()) return cntp_r_p_p(ctx, dec); // -> cntp_r_p_p_ if(opc==1 && HasSVE2p2() && HasSME2p2()) return firstp_r_p_p(ctx, dec); // -> firstp_r_p_p_ if(opc==2 && HasSVE2p2() && HasSME2p2()) return lastp_r_p_p(ctx, dec); // -> lastp_r_p_p_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_596_SVE_INT_PCOUNT_PRED); - if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_595_SVE_INT_PCOUNT_PRED); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_600_SVE_INT_PCOUNT_PRED); + if((opc&4)==4) UNALLOCATED(ENC_UNALLOCATED_599_SVE_INT_PCOUNT_PRED); UNMATCHED; } @@ -7510,7 +7542,7 @@ int decode_iclass_sve_int_pcount_pn(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7; if(!opc && HasSME2() && HasSVE2p1()) return cntp_r_pn(ctx, dec); // -> cntp_r_pn_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_597_SVE_INT_PCOUNT_PN); + if(opc) UNALLOCATED(ENC_UNALLOCATED_601_SVE_INT_PCOUNT_PN); UNMATCHED; } @@ -7524,7 +7556,7 @@ int decode_iclass_sve_int_pred_log(context *ctx, Instruction *dec) if(!op && S && !o2 && !o3 && HasSVE() && HasSME()) return ands_p_p_pp(ctx, dec); // -> ands_p_p_pp_z if(!op && S && !o2 && o3 && HasSVE() && HasSME()) return bics_p_p_pp(ctx, dec); // -> bics_p_p_pp_z if(!op && S && o2 && !o3 && HasSVE() && HasSME()) return eors_p_p_pp(ctx, dec); // -> eors_p_p_pp_z - if(!op && S && o2 && o3) UNALLOCATED(ENC_UNALLOCATED_598_SVE_INT_PRED_LOG); + if(!op && S && o2 && o3) UNALLOCATED(ENC_UNALLOCATED_602_SVE_INT_PRED_LOG); if(op && !S && !o2 && !o3 && HasSVE() && HasSME()) return orr_p_p_pp(ctx, dec); // -> orr_p_p_pp_z if(op && !S && !o2 && o3 && HasSVE() && HasSME()) return orn_p_p_pp(ctx, dec); // -> orn_p_p_pp_z if(op && !S && o2 && !o3 && HasSVE() && HasSME()) return nor_p_p_pp(ctx, dec); // -> nor_p_p_pp_z @@ -7540,18 +7572,18 @@ int decode_iclass_sve_int_ptest(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>23)&1, S=(INSWORD>>22)&1, opc2=INSWORD&15; if(!op && S && !opc2 && HasSVE() && HasSME()) return ptest_p_p(ctx, dec); // -> ptest__p_p_ - if(!op && S && opc2) UNALLOCATED(ENC_UNALLOCATED_601_SVE_INT_PTEST); - if(!op && !S) UNALLOCATED(ENC_UNALLOCATED_600_SVE_INT_PTEST); - if(op) UNALLOCATED(ENC_UNALLOCATED_599_SVE_INT_PTEST); + if(!op && S && opc2) UNALLOCATED(ENC_UNALLOCATED_605_SVE_INT_PTEST); + if(!op && !S) UNALLOCATED(ENC_UNALLOCATED_604_SVE_INT_PTEST); + if(op) UNALLOCATED(ENC_UNALLOCATED_603_SVE_INT_PTEST); UNMATCHED; } int decode_iclass_sve_int_pfirst(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>23)&1, S=(INSWORD>>22)&1; - if(!op && !S) UNALLOCATED(ENC_UNALLOCATED_603_SVE_INT_PFIRST); + if(!op && !S) UNALLOCATED(ENC_UNALLOCATED_607_SVE_INT_PFIRST); if(!op && S && HasSVE() && HasSME()) return pfirst_p_p_p(ctx, dec); // -> pfirst_p_p_p_ - if(op) UNALLOCATED(ENC_UNALLOCATED_602_SVE_INT_PFIRST); + if(op) UNALLOCATED(ENC_UNALLOCATED_606_SVE_INT_PFIRST); UNMATCHED; } @@ -7572,8 +7604,8 @@ int decode_iclass_sve_int_pfalse(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>23)&1, S=(INSWORD>>22)&1; if(!op && !S && HasSVE() && HasSME()) return pfalse_p(ctx, dec); // -> pfalse_p_ - if(!op && S) UNALLOCATED(ENC_UNALLOCATED_605_SVE_INT_PFALSE); - if(op) UNALLOCATED(ENC_UNALLOCATED_604_SVE_INT_PFALSE); + if(!op && S) UNALLOCATED(ENC_UNALLOCATED_609_SVE_INT_PFALSE); + if(op) UNALLOCATED(ENC_UNALLOCATED_608_SVE_INT_PFALSE); UNMATCHED; } @@ -7582,7 +7614,7 @@ int decode_iclass_sve_int_rdffr(context *ctx, Instruction *dec) uint32_t op=(INSWORD>>23)&1, S=(INSWORD>>22)&1; if(!op && !S && HasSVE()) return rdffr_p_p_f(ctx, dec); // -> rdffr_p_p_f_ if(!op && S && HasSVE()) return rdffrs_p_p_f(ctx, dec); // -> rdffrs_p_p_f_ - if(op) UNALLOCATED(ENC_UNALLOCATED_606_SVE_INT_RDFFR); + if(op) UNALLOCATED(ENC_UNALLOCATED_610_SVE_INT_RDFFR); UNMATCHED; } @@ -7590,8 +7622,8 @@ int decode_iclass_sve_int_rdffr_2(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>23)&1, S=(INSWORD>>22)&1; if(!op && !S && HasSVE()) return rdffr_p_f(ctx, dec); // -> rdffr_p_f_ - if(!op && S) UNALLOCATED(ENC_UNALLOCATED_608_SVE_INT_RDFFR_2); - if(op) UNALLOCATED(ENC_UNALLOCATED_607_SVE_INT_RDFFR_2); + if(!op && S) UNALLOCATED(ENC_UNALLOCATED_612_SVE_INT_RDFFR_2); + if(op) UNALLOCATED(ENC_UNALLOCATED_611_SVE_INT_RDFFR_2); UNMATCHED; } @@ -7599,7 +7631,7 @@ int decode_iclass_sve_int_pred_dup(context *ctx, Instruction *dec) { uint32_t S=(INSWORD>>9)&1; if(!S && HasSME() && HasSVE2p1()) return psel_p_ppi(ctx, dec); // -> psel_p_ppi_ - if(S) UNALLOCATED(ENC_UNALLOCATED_609_SVE_INT_PRED_DUP); + if(S) UNALLOCATED(ENC_UNALLOCATED_613_SVE_INT_PRED_DUP); UNMATCHED; } @@ -7610,7 +7642,7 @@ int decode_iclass_sve_int_brkp(context *ctx, Instruction *dec) if(!op && !S && B && HasSVE() && HasSME()) return brkpb_p_p_pp(ctx, dec); // -> brkpb_p_p_pp_ if(!op && S && !B && HasSVE() && HasSME()) return brkpas_p_p_pp(ctx, dec); // -> brkpas_p_p_pp_ if(!op && S && B && HasSVE() && HasSME()) return brkpbs_p_p_pp(ctx, dec); // -> brkpbs_p_p_pp_ - if(op) UNALLOCATED(ENC_UNALLOCATED_610_SVE_INT_BRKP); + if(op) UNALLOCATED(ENC_UNALLOCATED_614_SVE_INT_BRKP); UNMATCHED; } @@ -7646,7 +7678,7 @@ int decode_iclass_sve_int_ctr_to_mask(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>8)&7; if((opc&6)==4 && HasSME2() && HasSVE2p1()) return pext_pp_rr(ctx, dec); // -> pext_pp_rr_ - if((opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_611_SVE_INT_CTR_TO_MASK); + if((opc&6)==6) UNALLOCATED(ENC_UNALLOCATED_615_SVE_INT_CTR_TO_MASK); if(!(opc&4) && HasSME2() && HasSVE2p1()) return pext_pn_rr(ctx, dec); // -> pext_pn_rr_ UNMATCHED; } @@ -7676,8 +7708,8 @@ int decode_iclass_sve_int_read_vl_a(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>22)&1, opc2=(INSWORD>>16)&0x1f; if(!op && opc2==0x1f && HasSVE() && HasSME()) return rdvl_r_i(ctx, dec); // -> rdvl_r_i_ - if(!op && opc2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_613_SVE_INT_READ_VL_A); - if(op) UNALLOCATED(ENC_UNALLOCATED_612_SVE_INT_READ_VL_A); + if(!op && opc2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_617_SVE_INT_READ_VL_A); + if(op) UNALLOCATED(ENC_UNALLOCATED_616_SVE_INT_READ_VL_A); UNMATCHED; } @@ -7685,8 +7717,8 @@ int decode_iclass_sve_int_read_svl_a(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>22)&1, opc2=(INSWORD>>16)&0x1f; if(!op && opc2==0x1f && HasSME()) return rdsvl_r_i(ctx, dec); // -> rdsvl_r_i_ - if(!op && opc2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_615_SVE_INT_READ_SVL_A); - if(op) UNALLOCATED(ENC_UNALLOCATED_614_SVE_INT_READ_SVL_A); + if(!op && opc2!=0x1f) UNALLOCATED(ENC_UNALLOCATED_619_SVE_INT_READ_SVL_A); + if(op) UNALLOCATED(ENC_UNALLOCATED_618_SVE_INT_READ_SVL_A); UNMATCHED; } @@ -7699,7 +7731,7 @@ int decode_iclass_sve_int_wrffr(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>22)&3; if(!opc && HasSVE()) return wrffr_f_p(ctx, dec); // -> wrffr_f_p_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_616_SVE_INT_WRFFR); + if(opc) UNALLOCATED(ENC_UNALLOCATED_620_SVE_INT_WRFFR); UNMATCHED; } @@ -7707,7 +7739,7 @@ int decode_iclass_sve_int_setffr(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>22)&3; if(!opc && HasSVE()) return setffr_f(ctx, dec); // -> setffr_f_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_617_SVE_INT_SETFFR); + if(opc) UNALLOCATED(ENC_UNALLOCATED_621_SVE_INT_SETFFR); UNMATCHED; } @@ -7715,7 +7747,7 @@ int decode_iclass_sve_fp_2op_p_vd(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&3; if(!opc && HasSVE()) return fadda_v_p_z(ctx, dec); // -> fadda_v_p_z_ - if(opc) UNALLOCATED(ENC_UNALLOCATED_618_SVE_FP_2OP_P_VD); + if(opc) UNALLOCATED(ENC_UNALLOCATED_622_SVE_FP_2OP_P_VD); UNMATCHED; } @@ -7741,7 +7773,7 @@ int decode_iclass_sve_fp_2op_p_zds(context *ctx, Instruction *dec) if(opc==3 && HasSVE() && HasSME()) return fsubr_z_p_zz(ctx, dec); // -> fsubr_z_p_zz_ if(opc==8 && HasSVE() && HasSME()) return fabd_z_p_zz(ctx, dec); // -> fabd_z_p_zz_ if(opc==10 && HasSVE() && HasSME()) return fmulx_z_p_zz(ctx, dec); // -> fmulx_z_p_zz_ - if(opc==11) UNALLOCATED(ENC_UNALLOCATED_619_SVE_FP_2OP_P_ZDS); + if(opc==11) UNALLOCATED(ENC_UNALLOCATED_623_SVE_FP_2OP_P_ZDS); if(opc==12 && HasSVE() && HasSME()) return fdivr_z_p_zz(ctx, dec); // -> fdivr_z_p_zz_ if(opc==13 && HasSVE() && HasSME()) return fdiv_z_p_zz(ctx, dec); // -> fdiv_z_p_zz_ if(opc==14 && HasSVE2() && HasFAMINMAX() && HasSME2() && HasFAMINMAX()) return famax_z_p_zz(ctx, dec); // -> famax_z_p_zz_ @@ -7780,7 +7812,7 @@ int decode_iclass_sve_fp_3op_u_zd(context *ctx, Instruction *dec) if(opc==3 && HasSVE()) return ftsmul_z_zz(ctx, dec); // -> ftsmul_z_zz_ if(opc==6 && HasSVE() && HasSME()) return frecps_z_zz(ctx, dec); // -> frecps_z_zz_ if(opc==7 && HasSVE() && HasSME()) return frsqrts_z_zz(ctx, dec); // -> frsqrts_z_zz_ - if((opc&6)==4) UNALLOCATED(ENC_UNALLOCATED_620_SVE_FP_3OP_U_ZD); + if((opc&6)==4) UNALLOCATED(ENC_UNALLOCATED_624_SVE_FP_3OP_U_ZD); UNMATCHED; } @@ -7793,7 +7825,7 @@ int decode_iclass_sve_fp_3op_p_pd(context *ctx, Instruction *dec) if(!op && o2 && o3 && HasSVE() && HasSME()) return fcmeq_p_p_zz(ctx, dec); // -> fcmne_p_p_zz_ if(op && !o2 && !o3 && HasSVE() && HasSME()) return fcmeq_p_p_zz(ctx, dec); // -> fcmuo_p_p_zz_ if(op && !o2 && o3 && HasSVE() && HasSME()) return facge_p_p_zz(ctx, dec); // -> facge_p_p_zz_ - if(op && o2 && !o3) UNALLOCATED(ENC_UNALLOCATED_621_SVE_FP_3OP_P_PD); + if(op && o2 && !o3) UNALLOCATED(ENC_UNALLOCATED_625_SVE_FP_3OP_P_PD); if(op && o2 && o3 && HasSVE() && HasSME()) return facge_p_p_zz(ctx, dec); // -> facgt_p_p_zz_ UNMATCHED; } @@ -7807,7 +7839,7 @@ int decode_iclass_sve_fp_2op_p_pd(context *ctx, Instruction *dec) if(!eq && lt && ne && HasSVE() && HasSME()) return fcmeq_p_p_z0(ctx, dec); // -> fcmle_p_p_z0_ if(eq && !lt && !ne && HasSVE() && HasSME()) return fcmeq_p_p_z0(ctx, dec); // -> fcmeq_p_p_z0_ if(eq && lt && !ne && HasSVE() && HasSME()) return fcmeq_p_p_z0(ctx, dec); // -> fcmne_p_p_z0_ - if(eq && ne) UNALLOCATED(ENC_UNALLOCATED_622_SVE_FP_2OP_P_PD); + if(eq && ne) UNALLOCATED(ENC_UNALLOCATED_626_SVE_FP_2OP_P_PD); UNMATCHED; } @@ -7821,7 +7853,7 @@ int decode_iclass_sve_fp_fcmla_by_indexed_elem(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3; if(size==2 && HasSVE() && HasSME()) return fcmla_z_zzzi(ctx, dec); // -> fcmla_z_zzzi_h if(size==3 && HasSVE() && HasSME()) return fcmla_z_zzzi(ctx, dec); // -> fcmla_z_zzzi_s - if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_623_SVE_FP_FCMLA_BY_INDEXED_ELEM); + if(!(size&2)) UNALLOCATED(ENC_UNALLOCATED_627_SVE_FP_FCMLA_BY_INDEXED_ELEM); UNMATCHED; } @@ -7839,10 +7871,10 @@ int decode_iclass_sve_fp_fcvt2z(context *ctx, Instruction *dec) if(opc==2 && opc2==2 && HasSVE2p2() && HasSME2p2()) return bfcvtnt_z_p_z(ctx, dec); // -> bfcvtnt_z_p_z_s2bfz if(opc==3 && opc2==2 && HasSVE2p2() && HasSME2p2()) return fcvtnt_z_p_z(ctx, dec); // -> fcvtnt_z_p_z_d2sz if(opc==3 && opc2==3 && HasSVE2p2() && HasSME2p2()) return fcvtlt_z_p_z(ctx, dec); // -> fcvtlt_z_p_z_s2dz - if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_627_SVE_FP_FCVT2Z); - if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_625_SVE_FP_FCVT2Z); - if(opc==3 && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_626_SVE_FP_FCVT2Z); - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_624_SVE_FP_FCVT2Z); + if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_631_SVE_FP_FCVT2Z); + if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_629_SVE_FP_FCVT2Z); + if(opc==3 && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_630_SVE_FP_FCVT2Z); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_628_SVE_FP_FCVT2Z); UNMATCHED; } @@ -7855,10 +7887,10 @@ int decode_iclass_sve_fp_fcvt2(context *ctx, Instruction *dec) if(opc==2 && opc2==2 && HasSVE() && HasBF16() && HasSME() && HasBF16()) return bfcvtnt_z_p_z(ctx, dec); // -> bfcvtnt_z_p_z_s2bf if(opc==3 && opc2==2 && HasSVE2() && HasSME()) return fcvtnt_z_p_z(ctx, dec); // -> fcvtnt_z_p_z_d2s if(opc==3 && opc2==3 && HasSVE2() && HasSME()) return fcvtlt_z_p_z(ctx, dec); // -> fcvtlt_z_p_z_s2d - if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_631_SVE_FP_FCVT2); - if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_629_SVE_FP_FCVT2); - if(opc==3 && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_630_SVE_FP_FCVT2); - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_628_SVE_FP_FCVT2); + if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_635_SVE_FP_FCVT2); + if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_633_SVE_FP_FCVT2); + if(opc==3 && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_634_SVE_FP_FCVT2); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_632_SVE_FP_FCVT2); UNMATCHED; } @@ -7866,12 +7898,12 @@ int decode_iclass_sve_fp_fast_red(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7; if(!opc && HasSVE() && HasSME()) return faddv_v_p_z(ctx, dec); // -> faddv_v_p_z_ - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_633_SVE_FP_FAST_RED); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_637_SVE_FP_FAST_RED); if(opc==4 && HasSVE() && HasSME()) return fmaxnmv_v_p_z(ctx, dec); // -> fmaxnmv_v_p_z_ if(opc==5 && HasSVE() && HasSME()) return fminnmv_v_p_z(ctx, dec); // -> fminnmv_v_p_z_ if(opc==6 && HasSVE() && HasSME()) return fmaxv_v_p_z(ctx, dec); // -> fmaxv_v_p_z_ if(opc==7 && HasSVE() && HasSME()) return fminv_v_p_z(ctx, dec); // -> fminv_v_p_z_ - if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_632_SVE_FP_FAST_RED); + if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_636_SVE_FP_FAST_RED); UNMATCHED; } @@ -7879,12 +7911,12 @@ int decode_iclass_sve_fp_fast_redq(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7; if(!opc && HasSVE2p1() && HasSME2p1()) return faddqv_z_p_z(ctx, dec); // -> faddqv_z_p_z_ - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_635_SVE_FP_FAST_REDQ); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_639_SVE_FP_FAST_REDQ); if(opc==4 && HasSVE2p1() && HasSME2p1()) return fmaxnmqv_z_p_z(ctx, dec); // -> fmaxnmqv_z_p_z_ if(opc==5 && HasSVE2p1() && HasSME2p1()) return fminnmqv_z_p_z(ctx, dec); // -> fminnmqv_z_p_z_ if(opc==6 && HasSVE2p1() && HasSME2p1()) return fmaxqv_z_p_z(ctx, dec); // -> fmaxqv_z_p_z_ if(opc==7 && HasSVE2p1() && HasSME2p1()) return fminqv_z_p_z(ctx, dec); // -> fminqv_z_p_z_ - if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_634_SVE_FP_FAST_REDQ); + if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_638_SVE_FP_FAST_REDQ); UNMATCHED; } @@ -7905,7 +7937,7 @@ int decode_iclass_sve_fp_fmul_by_indexed_elem(context *ctx, Instruction *dec) if(size==3 && !o2 && HasSVE() && HasSME()) return fmul_z_zzi(ctx, dec); // -> fmul_z_zzi_d if(!(size&2) && !o2 && HasSVE() && HasSME()) return fmul_z_zzi(ctx, dec); // -> fmul_z_zzi_h if(!(size&2) && o2 && HasSVE_B16B16()) return bfmul_z_zzi(ctx, dec); // -> bfmul_z_zzi_h - if((size&2)==2 && o2) UNALLOCATED(ENC_UNALLOCATED_636_SVE_FP_FMUL_BY_INDEXED_ELEM); + if((size&2)==2 && o2) UNALLOCATED(ENC_UNALLOCATED_640_SVE_FP_FMUL_BY_INDEXED_ELEM); UNMATCHED; } @@ -7918,7 +7950,7 @@ int decode_iclass_sve_fp_3op_p_zds_a(context *ctx, Instruction *dec) if(size && opc==1 && HasSVE() && HasSME()) return fmls_z_p_zzz(ctx, dec); // -> fmls_z_p_zzz_ if(size && opc==2 && HasSVE() && HasSME()) return fnmla_z_p_zzz(ctx, dec); // -> fnmla_z_p_zzz_ if(size && opc==3 && HasSVE() && HasSME()) return fnmls_z_p_zzz(ctx, dec); // -> fnmls_z_p_zzz_ - if(!size && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_637_SVE_FP_3OP_P_ZDS_A); + if(!size && (opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_641_SVE_FP_3OP_P_ZDS_A); UNMATCHED; } @@ -7943,7 +7975,7 @@ int decode_iclass_sve_fp_fma_by_indexed_elem(context *ctx, Instruction *dec) if(!(size&2) && !o2 && op && HasSVE() && HasSME()) return fmls_z_zzzi(ctx, dec); // -> fmls_z_zzzi_h if(!(size&2) && o2 && !op && HasSVE_B16B16()) return bfmla_z_zzzi(ctx, dec); // -> bfmla_z_zzzi_h if(!(size&2) && o2 && op && HasSVE_B16B16()) return bfmls_z_zzzi(ctx, dec); // -> bfmls_z_zzzi_h - if((size&2)==2 && o2) UNALLOCATED(ENC_UNALLOCATED_638_SVE_FP_FMA_BY_INDEXED_ELEM); + if((size&2)==2 && o2) UNALLOCATED(ENC_UNALLOCATED_642_SVE_FP_FMA_BY_INDEXED_ELEM); UNMATCHED; } @@ -7955,7 +7987,7 @@ int decode_iclass_sve_fp_2op_p_zd_a(context *ctx, Instruction *dec) if(opc==2 && HasSVE() && HasSME()) return frinta_z_p_z(ctx, dec); // -> frintm_z_p_z_m if(opc==3 && HasSVE() && HasSME()) return frinta_z_p_z(ctx, dec); // -> frintz_z_p_z_m if(opc==4 && HasSVE() && HasSME()) return frinta_z_p_z(ctx, dec); // -> frinta_z_p_z_m - if(opc==5) UNALLOCATED(ENC_UNALLOCATED_639_SVE_FP_2OP_P_ZD_A); + if(opc==5) UNALLOCATED(ENC_UNALLOCATED_643_SVE_FP_2OP_P_ZD_A); if(opc==6 && HasSVE() && HasSME()) return frinta_z_p_z(ctx, dec); // -> frintx_z_p_z_m if(opc==7 && HasSVE() && HasSME()) return frinta_z_p_z(ctx, dec); // -> frinti_z_p_z_m UNMATCHED; @@ -7972,9 +8004,9 @@ int decode_iclass_sve_fp_2op_p_zd_b_0(context *ctx, Instruction *dec) if(opc==3 && opc2==1 && HasSVE() && HasSME()) return fcvt_z_p_z(ctx, dec); // -> fcvt_z_p_z_h2d if(opc==3 && opc2==2 && HasSVE() && HasSME()) return fcvt_z_p_z(ctx, dec); // -> fcvt_z_p_z_d2s if(opc==3 && opc2==3 && HasSVE() && HasSME()) return fcvt_z_p_z(ctx, dec); // -> fcvt_z_p_z_s2d - if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_642_SVE_FP_2OP_P_ZD_B_0); - if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_641_SVE_FP_2OP_P_ZD_B_0); - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_640_SVE_FP_2OP_P_ZD_B_0); + if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_646_SVE_FP_2OP_P_ZD_B_0); + if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_645_SVE_FP_2OP_P_ZD_B_0); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_644_SVE_FP_2OP_P_ZD_B_0); UNMATCHED; } @@ -7983,7 +8015,7 @@ int decode_iclass_sve_fp_2op_p_zd_b_1(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>16)&3; if(!opc && HasSVE() && HasSME()) return frecpx_z_p_z(ctx, dec); // -> frecpx_z_p_z_m if(opc==1 && HasSVE() && HasSME()) return fsqrt_z_p_z(ctx, dec); // -> fsqrt_z_p_z_m - if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_643_SVE_FP_2OP_P_ZD_B_1); + if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_647_SVE_FP_2OP_P_ZD_B_1); UNMATCHED; } @@ -8008,9 +8040,9 @@ int decode_iclass_sve_fp_2op_p_zd_c(context *ctx, Instruction *dec) if(!opc && !(opc2&2) && U && HasSVE2p2() && HasSME2p2()) return frint32x_z_p_z(ctx, dec); // -> frint32x_z_p_z_m if(!opc && (opc2&2)==2 && !U && HasSVE2p2() && HasSME2p2()) return frint64z_z_p_z(ctx, dec); // -> frint64z_z_p_z_m if(!opc && (opc2&2)==2 && U && HasSVE2p2() && HasSME2p2()) return frint64x_z_p_z(ctx, dec); // -> frint64x_z_p_z_m - if(opc==1 && !opc2) UNALLOCATED(ENC_UNALLOCATED_646_SVE_FP_2OP_P_ZD_C); - if(opc==2 && opc2!=2) UNALLOCATED(ENC_UNALLOCATED_644_SVE_FP_2OP_P_ZD_C); - if(opc==3 && opc2==1) UNALLOCATED(ENC_UNALLOCATED_645_SVE_FP_2OP_P_ZD_C); + if(opc==1 && !opc2) UNALLOCATED(ENC_UNALLOCATED_649_SVE_FP_2OP_P_ZD_C); + if(opc==2 && opc2!=2) UNALLOCATED(ENC_UNALLOCATED_648_SVE_FP_2OP_P_ZD_C); + if(opc==3 && opc2==1) UNALLOCATED(ENC_UNALLOCATED_650_SVE_FP_2OP_P_ZD_C); UNMATCHED; } @@ -8031,11 +8063,11 @@ int decode_iclass_sve_fp_2op_p_zd_d(context *ctx, Instruction *dec) if(opc==3 && opc2==2 && U && HasSVE() && HasSME()) return fcvtzu_z_p_z(ctx, dec); // -> fcvtzu_z_p_z_s2x if(opc==3 && opc2==3 && !U && HasSVE() && HasSME()) return fcvtzs_z_p_z(ctx, dec); // -> fcvtzs_z_p_z_d2x if(opc==3 && opc2==3 && U && HasSVE() && HasSME()) return fcvtzu_z_p_z(ctx, dec); // -> fcvtzu_z_p_z_d2x - if(opc==1 && !opc2) UNALLOCATED(ENC_UNALLOCATED_650_SVE_FP_2OP_P_ZD_D); - if(opc==2 && opc2!=2) UNALLOCATED(ENC_UNALLOCATED_648_SVE_FP_2OP_P_ZD_D); - if(opc==3 && opc2==1) UNALLOCATED(ENC_UNALLOCATED_649_SVE_FP_2OP_P_ZD_D); + if(opc==1 && !opc2) UNALLOCATED(ENC_UNALLOCATED_653_SVE_FP_2OP_P_ZD_D); + if(opc==2 && opc2!=2) UNALLOCATED(ENC_UNALLOCATED_652_SVE_FP_2OP_P_ZD_D); + if(opc==3 && opc2==1) UNALLOCATED(ENC_UNALLOCATED_654_SVE_FP_2OP_P_ZD_D); if(!opc && !U && HasSVE2() && HasSME()) return flogb_z_p_z(ctx, dec); // -> flogb_z_p_z_m - if(!opc && U) UNALLOCATED(ENC_UNALLOCATED_647_SVE_FP_2OP_P_ZD_D); + if(!opc && U) UNALLOCATED(ENC_UNALLOCATED_651_SVE_FP_2OP_P_ZD_D); UNMATCHED; } @@ -8063,6 +8095,24 @@ int decode_iclass_sve_fp8_fcvt_narrow(context *ctx, Instruction *dec) UNMATCHED; } +int decode_iclass_sve_fp_ucvtf_wide(context *ctx, Instruction *dec) +{ + uint32_t opc=(INSWORD>>10)&3; + if(!opc && HasSVE2p3() && HasSME2p3()) return scvtf_z_z(ctx, dec); // -> scvtf_z_z_ + if(opc==1 && HasSVE2p3() && HasSME2p3()) return ucvtf_z_z(ctx, dec); // -> ucvtf_z_z_ + if(opc==2 && HasSVE2p3() && HasSME2p3()) return scvtflt_z_z(ctx, dec); // -> scvtflt_z_z_ + if(opc==3 && HasSVE2p3() && HasSME2p3()) return ucvtflt_z_z(ctx, dec); // -> ucvtflt_z_z_ + UNMATCHED; +} + +int decode_iclass_sve_fp_fcvtzu_narrow(context *ctx, Instruction *dec) +{ + uint32_t op=(INSWORD>>10)&1; + if(!op && HasSVE2p3() && HasSME2p3()) return fcvtzsn_z_mz2(ctx, dec); // -> fcvtzsn_z_mz2_ + if(op && HasSVE2p3() && HasSME2p3()) return fcvtzun_z_mz2(ctx, dec); // -> fcvtzun_z_mz2_ + UNMATCHED; +} + int decode_iclass_sve_fp_2op_u_zd(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>16)&1; @@ -8099,11 +8149,11 @@ int decode_iclass_sve_fp_fdot_by_indexed_elem(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>22)&1, opc2=(INSWORD>>10)&3; if(!op && !opc2 && HasSME2() && HasSVE2p1()) return fdot_z_zzzi(ctx, dec); // -> fdot_z_zzzi_ - if(!op && opc2==2) UNALLOCATED(ENC_UNALLOCATED_652_SVE_FP_FDOT_BY_INDEXED_ELEM); + if(!op && opc2==2) UNALLOCATED(ENC_UNALLOCATED_656_SVE_FP_FDOT_BY_INDEXED_ELEM); if(op && !opc2 && HasSVE() && HasBF16() && HasSME() && HasBF16()) return bfdot_z_zzzi(ctx, dec); // -> bfdot_z_zzzi_ if(op && opc2==1 && HasSSVE_FP8DOT4() && HasSVE2() && HasFP8DOT4()) return fdot_z32_zz8z8i(ctx, dec); // -> fdot_z32_zz8z8i_ if(!op && opc2&1 && HasSSVE_FP8DOT2() && HasSVE2() && HasFP8DOT2()) return fdot_z_zz8z8i(ctx, dec); // -> fdot_z_zz8z8i_ - if(op && (opc2&2)==2) UNALLOCATED(ENC_UNALLOCATED_651_SVE_FP_FDOT_BY_INDEXED_ELEM); + if(op && (opc2&2)==2) UNALLOCATED(ENC_UNALLOCATED_655_SVE_FP_FDOT_BY_INDEXED_ELEM); UNMATCHED; } @@ -8204,7 +8254,7 @@ int decode_iclass_sve_crypto_unary(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, op=(INSWORD>>10)&1; if(!size && !op && HasSVE_AES()) return aesmc_z_z(ctx, dec); // -> aesmc_z_z_ if(!size && op && HasSVE_AES()) return aesimc_z_z(ctx, dec); // -> aesimc_z_z_ - if(size) UNALLOCATED(ENC_UNALLOCATED_653_SVE_CRYPTO_UNARY); + if(size) UNALLOCATED(ENC_UNALLOCATED_657_SVE_CRYPTO_UNARY); UNMATCHED; } @@ -8214,8 +8264,8 @@ int decode_iclass_sve_crypto_binary_dest(context *ctx, Instruction *dec) if(!size && !op && !o2 && HasSVE_AES()) return aese_z_zz(ctx, dec); // -> aese_z_zz_ if(!size && !op && o2 && HasSVE_AES()) return aesd_z_zz(ctx, dec); // -> aesd_z_zz_ if(!size && op && !o2 && HasSVE_SM4()) return sm4e_z_zz(ctx, dec); // -> sm4e_z_zz_ - if(!size && op && o2) UNALLOCATED(ENC_UNALLOCATED_655_SVE_CRYPTO_BINARY_DEST); - if(size) UNALLOCATED(ENC_UNALLOCATED_654_SVE_CRYPTO_BINARY_DEST); + if(!size && op && o2) UNALLOCATED(ENC_UNALLOCATED_659_SVE_CRYPTO_BINARY_DEST); + if(size) UNALLOCATED(ENC_UNALLOCATED_658_SVE_CRYPTO_BINARY_DEST); UNMATCHED; } @@ -8226,8 +8276,8 @@ int decode_iclass_sve_crypto_binary_multi2(context *ctx, Instruction *dec) if(!size && !op && o2 && !o3 && HasSVE_AES2()) return aesd_mz_zzi(ctx, dec); // -> aesd_mz_zzi_2x1 if(!size && op && !o2 && !o3 && HasSVE_AES2()) return aesemc_mz_zzi(ctx, dec); // -> aesemc_mz_zzi_2x1 if(!size && op && o2 && !o3 && HasSVE_AES2()) return aesdimc_mz_zzi(ctx, dec); // -> aesdimc_mz_zzi_2x1 - if(!size && o3) UNALLOCATED(ENC_UNALLOCATED_657_SVE_CRYPTO_BINARY_MULTI2); - if(size) UNALLOCATED(ENC_UNALLOCATED_656_SVE_CRYPTO_BINARY_MULTI2); + if(!size && o3) UNALLOCATED(ENC_UNALLOCATED_661_SVE_CRYPTO_BINARY_MULTI2); + if(size) UNALLOCATED(ENC_UNALLOCATED_660_SVE_CRYPTO_BINARY_MULTI2); UNMATCHED; } @@ -8238,8 +8288,8 @@ int decode_iclass_sve_crypto_binary_multi4(context *ctx, Instruction *dec) if(!size && !op && o2 && !opc3 && HasSVE_AES2()) return aesd_mz_zzi(ctx, dec); // -> aesd_mz_zzi_4x1 if(!size && op && !o2 && !opc3 && HasSVE_AES2()) return aesemc_mz_zzi(ctx, dec); // -> aesemc_mz_zzi_4x1 if(!size && op && o2 && !opc3 && HasSVE_AES2()) return aesdimc_mz_zzi(ctx, dec); // -> aesdimc_mz_zzi_4x1 - if(!size && opc3) UNALLOCATED(ENC_UNALLOCATED_659_SVE_CRYPTO_BINARY_MULTI4); - if(size) UNALLOCATED(ENC_UNALLOCATED_658_SVE_CRYPTO_BINARY_MULTI4); + if(!size && opc3) UNALLOCATED(ENC_UNALLOCATED_663_SVE_CRYPTO_BINARY_MULTI4); + if(size) UNALLOCATED(ENC_UNALLOCATED_662_SVE_CRYPTO_BINARY_MULTI4); UNMATCHED; } @@ -8248,7 +8298,7 @@ int decode_iclass_sve_crypto_binary_const(context *ctx, Instruction *dec) uint32_t size=(INSWORD>>22)&3, op=(INSWORD>>10)&1; if(!size && !op && HasSVE_SM4()) return sm4ekey_z_zz(ctx, dec); // -> sm4ekey_z_zz_ if(!size && op && HasSVE_SHA3()) return rax1_z_zz(ctx, dec); // -> rax1_z_zz_ - if(size) UNALLOCATED(ENC_UNALLOCATED_660_SVE_CRYPTO_BINARY_CONST); + if(size) UNALLOCATED(ENC_UNALLOCATED_664_SVE_CRYPTO_BINARY_CONST); UNMATCHED; } @@ -8256,7 +8306,7 @@ int decode_iclass_sve_crypto_pmull_multi(context *ctx, Instruction *dec) { uint32_t size=(INSWORD>>22)&3; if(!size && HasSVE_AES2()) return pmull_mz_zzw(ctx, dec); // -> pmull_mz_zzw_1x2 - if(size) UNALLOCATED(ENC_UNALLOCATED_661_SVE_CRYPTO_PMULL_MULTI); + if(size) UNALLOCATED(ENC_UNALLOCATED_665_SVE_CRYPTO_PMULL_MULTI); UNMATCHED; } @@ -8264,7 +8314,7 @@ int decode_iclass_sve_crypto_pmlal_multi(context *ctx, Instruction *dec) { uint32_t size=(INSWORD>>22)&3; if(!size && HasSVE_AES2()) return pmlal_mz_zzzw(ctx, dec); // -> pmlal_mz_zzzw_1x2 - if(size) UNALLOCATED(ENC_UNALLOCATED_662_SVE_CRYPTO_PMLAL_MULTI); + if(size) UNALLOCATED(ENC_UNALLOCATED_666_SVE_CRYPTO_PMLAL_MULTI); UNMATCHED; } @@ -8340,6 +8390,16 @@ int decode_iclass_sve_intx_lut4_16(context *ctx, Instruction *dec) UNMATCHED; } +int decode_iclass_sve_intx_lut6_8(context *ctx, Instruction *dec) +{ + return luti6_z_zzz(ctx, dec); +} + +int decode_iclass_sve_intx_lut6_16(context *ctx, Instruction *dec) +{ + return luti6_z_z2zz(ctx, dec); +} + int decode_iclass_sve_intx_bin_pred_shift_sat_round(context *ctx, Instruction *dec) { uint32_t Q=(INSWORD>>19)&1, R=(INSWORD>>18)&1, N=(INSWORD>>17)&1, U=(INSWORD>>16)&1; @@ -8355,7 +8415,7 @@ int decode_iclass_sve_intx_bin_pred_shift_sat_round(context *ctx, Instruction *d if(Q && R && !N && U && HasSVE2() && HasSME()) return uqshlr_z_p_zz(ctx, dec); // -> uqshlr_z_p_zz_ if(Q && R && N && !U && HasSVE2() && HasSME()) return sqrshlr_z_p_zz(ctx, dec); // -> sqrshlr_z_p_zz_ if(Q && R && N && U && HasSVE2() && HasSME()) return uqrshlr_z_p_zz(ctx, dec); // -> uqrshlr_z_p_zz_ - if(!Q && !N) UNALLOCATED(ENC_UNALLOCATED_663_SVE_INTX_BIN_PRED_SHIFT_SAT_ROUND); + if(!Q && !N) UNALLOCATED(ENC_UNALLOCATED_667_SVE_INTX_BIN_PRED_SHIFT_SAT_ROUND); UNMATCHED; } @@ -8398,13 +8458,13 @@ int decode_iclass_sve_intx_pred_arith_binary(context *ctx, Instruction *dec) int decode_iclass_sve_intx_arith_binary_pairs(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>17)&3, U=(INSWORD>>16)&1; - if(!opc && !U) UNALLOCATED(ENC_UNALLOCATED_665_SVE_INTX_ARITH_BINARY_PAIRS); + if(!opc && !U && HasSVE2p3() && HasSME2p3()) return subp_z_p_zz(ctx, dec); // -> subp_z_p_zz_ if(!opc && U && HasSVE2() && HasSME()) return addp_z_p_zz(ctx, dec); // -> addp_z_p_zz_ if(opc==2 && !U && HasSVE2() && HasSME()) return smaxp_z_p_zz(ctx, dec); // -> smaxp_z_p_zz_ if(opc==2 && U && HasSVE2() && HasSME()) return umaxp_z_p_zz(ctx, dec); // -> umaxp_z_p_zz_ if(opc==3 && !U && HasSVE2() && HasSME()) return sminp_z_p_zz(ctx, dec); // -> sminp_z_p_zz_ if(opc==3 && U && HasSVE2() && HasSME()) return uminp_z_p_zz(ctx, dec); // -> uminp_z_p_zz_ - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_664_SVE_INTX_ARITH_BINARY_PAIRS); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_668_SVE_INTX_ARITH_BINARY_PAIRS); UNMATCHED; } @@ -8426,7 +8486,7 @@ int decode_iclass_sve_int_mul_b(context *ctx, Instruction *dec) { uint32_t size=(INSWORD>>22)&3, opc=(INSWORD>>10)&3; if(!size && opc==1 && HasSVE2() && HasSME()) return pmul_z_zz(ctx, dec); // -> pmul_z_zz_ - if(size && opc==1) UNALLOCATED(ENC_UNALLOCATED_666_SVE_INT_MUL_B); + if(size && opc==1) UNALLOCATED(ENC_UNALLOCATED_669_SVE_INT_MUL_B); if(!opc && HasSVE2() && HasSME()) return mul_z_zz(ctx, dec); // -> mul_z_zz_ if(opc==2 && HasSVE2() && HasSME()) return smulh_z_zz(ctx, dec); // -> smulh_z_zz_ if(opc==3 && HasSVE2() && HasSME()) return umulh_z_zz(ctx, dec); // -> umulh_z_zz_ @@ -8441,6 +8501,16 @@ int decode_iclass_sve_int_sqdmulh(context *ctx, Instruction *dec) UNMATCHED; } +int decode_iclass_sve_int_addqp(context *ctx, Instruction *dec) +{ + return addqp_z_zz(ctx, dec); +} + +int decode_iclass_sve_int_addsubp(context *ctx, Instruction *dec) +{ + return addsubp_z_zz(ctx, dec); +} + int decode_iclass_sve_intx_shift_narrow(context *ctx, Instruction *dec) { uint32_t op=(INSWORD>>13)&1, U=(INSWORD>>12)&1, R=(INSWORD>>11)&1, T=(INSWORD>>10)&1; @@ -8466,13 +8536,20 @@ int decode_iclass_sve_intx_shift_narrow(context *ctx, Instruction *dec) int decode_iclass_sve_intx_multi_shift_narrow(context *ctx, Instruction *dec) { uint32_t op0=(INSWORD>>22)&1, opc=(INSWORD>>16)&0x1f, op1=(INSWORD>>13)&1, U=(INSWORD>>12)&1, R=(INSWORD>>11)&1; + if(!op0 && (opc&0x18)==8 && !op1 && !U && R && HasSVE2p3() && HasSME2p3()) return sqrshrun_z_mz2(ctx, dec); // -> sqrshrun_z_mz2_b + if(!op0 && (opc&0x18)==8 && op1 && !U && R && HasSVE2p3() && HasSME2p3()) return sqrshrn_z_mz2(ctx, dec); // -> sqrshrn_z_mz2_b + if(!op0 && (opc&0x18)==8 && op1 && U && R && HasSVE2p3() && HasSME2p3()) return uqrshrn_z_mz2(ctx, dec); // -> uqrshrn_z_mz2_b + if(!op0 && (opc&0x18)==0x10 && !op1 && U && R) UNALLOCATED(ENC_UNALLOCATED_674_SVE_INTX_MULTI_SHIFT_NARROW); + if(!op0 && (opc&8)==8 && !op1 && U && R) UNALLOCATED(ENC_UNALLOCATED_673_SVE_INTX_MULTI_SHIFT_NARROW); if(!op0 && (opc&0x10)==0x10 && !op1 && !U && R && HasSME2() && HasSVE2p1()) return sqrshrun_z_mz2(ctx, dec); // -> sqrshrun_z_mz2_ - if(!op0 && (opc&0x10)==0x10 && !op1 && U && R) UNALLOCATED(ENC_UNALLOCATED_670_SVE_INTX_MULTI_SHIFT_NARROW); if(!op0 && (opc&0x10)==0x10 && op1 && !U && R && HasSME2() && HasSVE2p1()) return sqrshrn_z_mz2(ctx, dec); // -> sqrshrn_z_mz2_ if(!op0 && (opc&0x10)==0x10 && op1 && U && R && HasSME2() && HasSVE2p1()) return uqrshrn_z_mz2(ctx, dec); // -> uqrshrn_z_mz2_ - if(!op0 && (opc&0x10)==0x10 && !R) UNALLOCATED(ENC_UNALLOCATED_669_SVE_INTX_MULTI_SHIFT_NARROW); - if(!op0 && !(opc&0x10)) UNALLOCATED(ENC_UNALLOCATED_668_SVE_INTX_MULTI_SHIFT_NARROW); - if(op0) UNALLOCATED(ENC_UNALLOCATED_667_SVE_INTX_MULTI_SHIFT_NARROW); + if(!op0 && !op1 && !U && !R && HasSVE2p3() && HasSME2p3()) return sqshrn_z_mz2(ctx, dec); // -> sqshrn_z_mz2_ + if(!op0 && !op1 && U && !R && HasSVE2p3() && HasSME2p3()) return uqshrn_z_mz2(ctx, dec); // -> uqshrn_z_mz2_ + if(!op0 && op1 && !U && !R && HasSVE2p3() && HasSME2p3()) return sqshrun_z_mz2(ctx, dec); // -> sqshrun_z_mz2_ + if(!op0 && op1 && U && !R) UNALLOCATED(ENC_UNALLOCATED_672_SVE_INTX_MULTI_SHIFT_NARROW); + if(!op0 && !(opc&0x18) && R) UNALLOCATED(ENC_UNALLOCATED_671_SVE_INTX_MULTI_SHIFT_NARROW); + if(op0) UNALLOCATED(ENC_UNALLOCATED_670_SVE_INTX_MULTI_SHIFT_NARROW); UNMATCHED; } @@ -8485,7 +8562,7 @@ int decode_iclass_sve_intx_extract_narrow(context *ctx, Instruction *dec) if(opc==1 && T && HasSVE2() && HasSME()) return uqxtnt_z_zz(ctx, dec); // -> uqxtnt_z_zz_ if(opc==2 && !T && HasSVE2() && HasSME()) return sqxtunb_z_zz(ctx, dec); // -> sqxtunb_z_zz_ if(opc==2 && T && HasSVE2() && HasSME()) return sqxtunt_z_zz(ctx, dec); // -> sqxtunt_z_zz_ - if(opc==3) UNALLOCATED(ENC_UNALLOCATED_671_SVE_INTX_EXTRACT_NARROW); + if(opc==3) UNALLOCATED(ENC_UNALLOCATED_675_SVE_INTX_EXTRACT_NARROW); UNMATCHED; } @@ -8495,9 +8572,9 @@ int decode_iclass_sve_intx_multi_extract_narrow(context *ctx, Instruction *dec) if(!tszh && tszl==2 && !opc && HasSME2() && HasSVE2p1()) return sqcvtn_z_mz2(ctx, dec); // -> sqcvtn_z_mz2_ if(!tszh && tszl==2 && opc==1 && HasSME2() && HasSVE2p1()) return uqcvtn_z_mz2(ctx, dec); // -> uqcvtn_z_mz2_ if(!tszh && tszl==2 && opc==2 && HasSME2() && HasSVE2p1()) return sqcvtun_z_mz2(ctx, dec); // -> sqcvtun_z_mz2_ - if(!tszh && tszl==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_674_SVE_INTX_MULTI_EXTRACT_NARROW); - if(!tszh && tszl!=2) UNALLOCATED(ENC_UNALLOCATED_673_SVE_INTX_MULTI_EXTRACT_NARROW); - if(tszh) UNALLOCATED(ENC_UNALLOCATED_672_SVE_INTX_MULTI_EXTRACT_NARROW); + if(!tszh && tszl==2 && opc==3) UNALLOCATED(ENC_UNALLOCATED_678_SVE_INTX_MULTI_EXTRACT_NARROW); + if(!tszh && tszl!=2) UNALLOCATED(ENC_UNALLOCATED_677_SVE_INTX_MULTI_EXTRACT_NARROW); + if(tszh) UNALLOCATED(ENC_UNALLOCATED_676_SVE_INTX_MULTI_EXTRACT_NARROW); UNMATCHED; } @@ -8538,7 +8615,7 @@ int decode_iclass_sve_intx_cons_arith_long(context *ctx, Instruction *dec) if(op && S && !U && T && HasSVE2() && HasSME()) return sabdlt_z_zz(ctx, dec); // -> sabdlt_z_zz_ if(op && S && U && !T && HasSVE2() && HasSME()) return uabdlb_z_zz(ctx, dec); // -> uabdlb_z_zz_ if(op && S && U && T && HasSVE2() && HasSME()) return uabdlt_z_zz(ctx, dec); // -> uabdlt_z_zz_ - if(op && !S) UNALLOCATED(ENC_UNALLOCATED_675_SVE_INTX_CONS_ARITH_LONG); + if(op && !S) UNALLOCATED(ENC_UNALLOCATED_679_SVE_INTX_CONS_ARITH_LONG); UNMATCHED; } @@ -8572,16 +8649,32 @@ int decode_iclass_sve_intx_cons_mul_long(context *ctx, Instruction *dec) UNMATCHED; } +int decode_iclass_sve_abal(context *ctx, Instruction *dec) +{ + uint32_t U=(INSWORD>>11)&1; + if(!U && HasSVE2p3() && HasSME2p3()) return sabal_z_zzz(ctx, dec); // -> sabal_z_zz_ + if(U && HasSVE2p3() && HasSME2p3()) return uabal_z_zzz(ctx, dec); // -> uabal_z_zz_ + UNMATCHED; +} + +int decode_iclass_sve_fp_fmmla_nw(context *ctx, Instruction *dec) +{ + uint32_t op=(INSWORD>>22)&1; + if(!op && HasSVE2p2() && HasF16MM()) return fmmla_z_zzz(ctx, dec); // -> fmmla_z_zzz_h + if(op && HasSVE_B16MM()) return bfmmla_z16_zzz(ctx, dec); // -> bfmmla_z_zzz_h + UNMATCHED; +} + int decode_iclass_sve_fp_pairwise(context *ctx, Instruction *dec) { uint32_t opc=(INSWORD>>16)&7; if(!opc && HasSVE2() && HasSME()) return faddp_z_p_zz(ctx, dec); // -> faddp_z_p_zz_ - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_677_SVE_FP_PAIRWISE); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_681_SVE_FP_PAIRWISE); if(opc==4 && HasSVE2() && HasSME()) return fmaxnmp_z_p_zz(ctx, dec); // -> fmaxnmp_z_p_zz_ if(opc==5 && HasSVE2() && HasSME()) return fminnmp_z_p_zz(ctx, dec); // -> fminnmp_z_p_zz_ if(opc==6 && HasSVE2() && HasSME()) return fmaxp_z_p_zz(ctx, dec); // -> fmaxp_z_p_zz_ if(opc==7 && HasSVE2() && HasSME()) return fminp_z_p_zz(ctx, dec); // -> fminp_z_p_zz_ - if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_676_SVE_FP_PAIRWISE); + if((opc&6)==2) UNALLOCATED(ENC_UNALLOCATED_680_SVE_FP_PAIRWISE); UNMATCHED; } @@ -8593,7 +8686,7 @@ int decode_iclass_sve_fp_z2op_p_zd_a(context *ctx, Instruction *dec) if(!op && opc2==2 && HasSVE2p2() && HasSME2p2()) return frinta_z_p_z(ctx, dec); // -> frintm_z_p_z_z if(!op && opc2==3 && HasSVE2p2() && HasSME2p2()) return frinta_z_p_z(ctx, dec); // -> frintz_z_p_z_z if(op && !opc2 && HasSVE2p2() && HasSME2p2()) return frinta_z_p_z(ctx, dec); // -> frinta_z_p_z_z - if(op && opc2==1) UNALLOCATED(ENC_UNALLOCATED_678_SVE_FP_Z2OP_P_ZD_A); + if(op && opc2==1) UNALLOCATED(ENC_UNALLOCATED_682_SVE_FP_Z2OP_P_ZD_A); if(op && opc2==2 && HasSVE2p2() && HasSME2p2()) return frinta_z_p_z(ctx, dec); // -> frintx_z_p_z_z if(op && opc2==3 && HasSVE2p2() && HasSME2p2()) return frinta_z_p_z(ctx, dec); // -> frinti_z_p_z_z UNMATCHED; @@ -8610,9 +8703,9 @@ int decode_iclass_sve_fp_z2op_p_zd_b_0(context *ctx, Instruction *dec) if(opc==3 && opc2==1 && HasSVE2p2() && HasSME2p2()) return fcvt_z_p_z(ctx, dec); // -> fcvt_z_p_z_h2dz if(opc==3 && opc2==2 && HasSVE2p2() && HasSME2p2()) return fcvt_z_p_z(ctx, dec); // -> fcvt_z_p_z_d2sz if(opc==3 && opc2==3 && HasSVE2p2() && HasSME2p2()) return fcvt_z_p_z(ctx, dec); // -> fcvt_z_p_z_s2dz - if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_681_SVE_FP_Z2OP_P_ZD_B_0); - if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_680_SVE_FP_Z2OP_P_ZD_B_0); - if(opc==1) UNALLOCATED(ENC_UNALLOCATED_679_SVE_FP_Z2OP_P_ZD_B_0); + if(!(opc&1) && opc2==3) UNALLOCATED(ENC_UNALLOCATED_685_SVE_FP_Z2OP_P_ZD_B_0); + if(!opc && !(opc2&2)) UNALLOCATED(ENC_UNALLOCATED_684_SVE_FP_Z2OP_P_ZD_B_0); + if(opc==1) UNALLOCATED(ENC_UNALLOCATED_683_SVE_FP_Z2OP_P_ZD_B_0); UNMATCHED; } @@ -8621,7 +8714,7 @@ int decode_iclass_sve_fp_z2op_p_zd_b_1(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>13)&3; if(!opc && HasSVE2p2() && HasSME2p2()) return frecpx_z_p_z(ctx, dec); // -> frecpx_z_p_z_z if(opc==1 && HasSVE2p2() && HasSME2p2()) return fsqrt_z_p_z(ctx, dec); // -> fsqrt_z_p_z_z - if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_682_SVE_FP_Z2OP_P_ZD_B_1); + if((opc&2)==2) UNALLOCATED(ENC_UNALLOCATED_686_SVE_FP_Z2OP_P_ZD_B_1); UNMATCHED; } @@ -8646,10 +8739,10 @@ int decode_iclass_sve_fp_z2op_p_zd_c(context *ctx, Instruction *dec) if(!opc && !o2 && U && HasSVE2p2() && HasSME2p2()) return frint32x_z_p_z(ctx, dec); // -> frint32x_z_p_z_z if(!opc && o2 && !U && HasSVE2p2() && HasSME2p2()) return frint64z_z_p_z(ctx, dec); // -> frint64z_z_p_z_z if(!opc && o2 && U && HasSVE2p2() && HasSME2p2()) return frint64x_z_p_z(ctx, dec); // -> frint64x_z_p_z_z - if(opc==1 && !o2 && !o3) UNALLOCATED(ENC_UNALLOCATED_686_SVE_FP_Z2OP_P_ZD_C); - if(opc==2 && o2 && o3) UNALLOCATED(ENC_UNALLOCATED_684_SVE_FP_Z2OP_P_ZD_C); - if(opc==3 && !o2 && o3) UNALLOCATED(ENC_UNALLOCATED_685_SVE_FP_Z2OP_P_ZD_C); - if(opc==2 && !o2) UNALLOCATED(ENC_UNALLOCATED_683_SVE_FP_Z2OP_P_ZD_C); + if(opc==1 && !o2 && !o3) UNALLOCATED(ENC_UNALLOCATED_688_SVE_FP_Z2OP_P_ZD_C); + if(opc==2 && o2 && o3) UNALLOCATED(ENC_UNALLOCATED_689_SVE_FP_Z2OP_P_ZD_C); + if(opc==3 && !o2 && o3) UNALLOCATED(ENC_UNALLOCATED_690_SVE_FP_Z2OP_P_ZD_C); + if(opc==2 && !o2) UNALLOCATED(ENC_UNALLOCATED_687_SVE_FP_Z2OP_P_ZD_C); UNMATCHED; } @@ -8670,12 +8763,12 @@ int decode_iclass_sve_fp_z2op_p_zd_d(context *ctx, Instruction *dec) if(opc==3 && o2 && !o3 && U && HasSVE2p2() && HasSME2p2()) return fcvtzu_z_p_z(ctx, dec); // -> fcvtzu_z_p_z_s2xz if(opc==3 && o2 && o3 && !U && HasSVE2p2() && HasSME2p2()) return fcvtzs_z_p_z(ctx, dec); // -> fcvtzs_z_p_z_d2xz if(opc==3 && o2 && o3 && U && HasSVE2p2() && HasSME2p2()) return fcvtzu_z_p_z(ctx, dec); // -> fcvtzu_z_p_z_d2xz - if(opc==1 && !o2 && !o3) UNALLOCATED(ENC_UNALLOCATED_691_SVE_FP_Z2OP_P_ZD_D); - if(opc==2 && o2 && o3) UNALLOCATED(ENC_UNALLOCATED_690_SVE_FP_Z2OP_P_ZD_D); - if(opc==3 && !o2 && o3) UNALLOCATED(ENC_UNALLOCATED_689_SVE_FP_Z2OP_P_ZD_D); + if(opc==1 && !o2 && !o3) UNALLOCATED(ENC_UNALLOCATED_693_SVE_FP_Z2OP_P_ZD_D); + if(opc==2 && o2 && o3) UNALLOCATED(ENC_UNALLOCATED_694_SVE_FP_Z2OP_P_ZD_D); + if(opc==3 && !o2 && o3) UNALLOCATED(ENC_UNALLOCATED_695_SVE_FP_Z2OP_P_ZD_D); if(!opc && !o2 && HasSVE2p2() && HasSME2p2()) return flogb_z_p_z(ctx, dec); // -> flogb_z_p_z_z - if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_687_SVE_FP_Z2OP_P_ZD_D); - if(opc==2 && !o2) UNALLOCATED(ENC_UNALLOCATED_688_SVE_FP_Z2OP_P_ZD_D); + if(!opc && o2) UNALLOCATED(ENC_UNALLOCATED_691_SVE_FP_Z2OP_P_ZD_D); + if(opc==2 && !o2) UNALLOCATED(ENC_UNALLOCATED_692_SVE_FP_Z2OP_P_ZD_D); UNMATCHED; } @@ -8689,7 +8782,7 @@ int decode_iclass_sve_ptr_muladd_unpred(context *ctx, Instruction *dec) uint32_t opc=(INSWORD>>22)&3, o2=(INSWORD>>11)&1; if(opc==3 && !o2 && HasSVE() && HasCPA()) return mlapt_z_zzz(ctx, dec); // -> mlapt_z_zzz_ if(opc==3 && o2 && HasSVE() && HasCPA()) return madpt_z_zzz(ctx, dec); // -> madpt_z_zzz_ - if(opc!=3) UNALLOCATED(ENC_UNALLOCATED_692_SVE_PTR_MULADD_UNPRED); + if(opc!=3) UNALLOCATED(ENC_UNALLOCATED_696_SVE_PTR_MULADD_UNPRED); UNMATCHED; } diff --git a/arch/arm64/disassembler/decode1.h b/arch/arm64/disassembler/decode1.h index 74d0df0ff..ef26e69a3 100644 --- a/arch/arm64/disassembler/decode1.h +++ b/arch/arm64/disassembler/decode1.h @@ -15,7 +15,6 @@ int decode_iclass_systeminstrswithreg(context *ctx, Instruction *dec); int decode_iclass_syspairinstrs(context *ctx, Instruction *dec); int decode_iclass_systemmove(context *ctx, Instruction *dec); int decode_iclass_systemmovepr(context *ctx, Instruction *dec); -int decode_iclass_systemresult(context *ctx, Instruction *dec); int decode_iclass_testbranch(context *ctx, Instruction *dec); int decode_iclass_branch_imm(context *ctx, Instruction *dec); int decode_iclass_branch_reg(context *ctx, Instruction *dec); @@ -154,9 +153,11 @@ int decode_iclass_mortlach_expand_2dst_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_1dst(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst2src_ctg(context *ctx, Instruction *dec); +int decode_iclass_mortlach_expand_4dst3src_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_2dst_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_expand_4dst2src_nctg(context *ctx, Instruction *dec); +int decode_iclass_mortlach_expand_4dst3src_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_extract_zt(context *ctx, Instruction *dec); int decode_iclass_mortlach_insert_zt(context *ctx, Instruction *dec); int decode_iclass_mortlach_move_to_zt(context *ctx, Instruction *dec); @@ -189,6 +190,8 @@ int decode_iclass_mortlach_multi2_fp8_fvdot_idx_s(context *ctx, Instruction *dec int decode_iclass_mortlach_multi2_zza_idx_d(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_mla_long_idx(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_fp8_fdot_idx(context *ctx, Instruction *dec); +int decode_iclass_mortlach_multi4_lut6_16_ctg(context *ctx, Instruction *dec); +int decode_iclass_mortlach_multi4_lut6_16_nctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_cld_cldnt_ss_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi4_cld_cldnt_ss_ctg(context *ctx, Instruction *dec); int decode_iclass_mortlach_multi2_cst_cstnt_ss_ctg(context *ctx, Instruction *dec); @@ -566,6 +569,8 @@ int decode_iclass_sve_fp_2op_p_zd_c(context *ctx, Instruction *dec); int decode_iclass_sve_fp_2op_p_zd_d(context *ctx, Instruction *dec); int decode_iclass_sve_fp8_fcvt_wide(context *ctx, Instruction *dec); int decode_iclass_sve_fp8_fcvt_narrow(context *ctx, Instruction *dec); +int decode_iclass_sve_fp_ucvtf_wide(context *ctx, Instruction *dec); +int decode_iclass_sve_fp_fcvtzu_narrow(context *ctx, Instruction *dec); int decode_iclass_sve_fp_2op_u_zd(context *ctx, Instruction *dec); int decode_iclass_sve_fp_fdot(context *ctx, Instruction *dec); int decode_iclass_sve_fp_fma_long(context *ctx, Instruction *dec); @@ -597,6 +602,8 @@ int decode_iclass_sve_intx_lut2_8(context *ctx, Instruction *dec); int decode_iclass_sve_intx_lut2_16(context *ctx, Instruction *dec); int decode_iclass_sve_intx_lut4_8(context *ctx, Instruction *dec); int decode_iclass_sve_intx_lut4_16(context *ctx, Instruction *dec); +int decode_iclass_sve_intx_lut6_8(context *ctx, Instruction *dec); +int decode_iclass_sve_intx_lut6_16(context *ctx, Instruction *dec); int decode_iclass_sve_intx_bin_pred_shift_sat_round(context *ctx, Instruction *dec); int decode_iclass_sve_intx_pred_arith_unary(context *ctx, Instruction *dec); int decode_iclass_sve_intx_accumulate_long_pairs(context *ctx, Instruction *dec); @@ -605,6 +612,8 @@ int decode_iclass_sve_intx_arith_binary_pairs(context *ctx, Instruction *dec); int decode_iclass_sve_intx_pred_arith_binary_sat(context *ctx, Instruction *dec); int decode_iclass_sve_int_mul_b(context *ctx, Instruction *dec); int decode_iclass_sve_int_sqdmulh(context *ctx, Instruction *dec); +int decode_iclass_sve_int_addqp(context *ctx, Instruction *dec); +int decode_iclass_sve_int_addsubp(context *ctx, Instruction *dec); int decode_iclass_sve_intx_shift_narrow(context *ctx, Instruction *dec); int decode_iclass_sve_intx_multi_shift_narrow(context *ctx, Instruction *dec); int decode_iclass_sve_intx_extract_narrow(context *ctx, Instruction *dec); @@ -614,6 +623,8 @@ int decode_iclass_sve_intx_match(context *ctx, Instruction *dec); int decode_iclass_sve_intx_cons_arith_long(context *ctx, Instruction *dec); int decode_iclass_sve_intx_cons_arith_wide(context *ctx, Instruction *dec); int decode_iclass_sve_intx_cons_mul_long(context *ctx, Instruction *dec); +int decode_iclass_sve_abal(context *ctx, Instruction *dec); +int decode_iclass_sve_fp_fmmla_nw(context *ctx, Instruction *dec); int decode_iclass_sve_fp_pairwise(context *ctx, Instruction *dec); int decode_iclass_sve_fp_z2op_p_zd_a(context *ctx, Instruction *dec); int decode_iclass_sve_fp_z2op_p_zd_b_0(context *ctx, Instruction *dec); diff --git a/arch/arm64/disassembler/decode2.c b/arch/arm64/disassembler/decode2.c index 5271a326b..556837f93 100644 --- a/arch/arm64/disassembler/decode2.c +++ b/arch/arm64/disassembler/decode2.c @@ -3201,9 +3201,6 @@ int CPYFP(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFP_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFM_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFE_CPY_MEMCMS); @@ -3237,9 +3234,6 @@ int CPYFPN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFEN_CPY_MEMCMS); @@ -3273,9 +3267,6 @@ int CPYFPRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFERN_CPY_MEMCMS); @@ -3309,9 +3300,6 @@ int CPYFPRT(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPRT_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMRT_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFERT_CPY_MEMCMS); @@ -3345,9 +3333,6 @@ int CPYFPRTN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPRTN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMRTN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFERTN_CPY_MEMCMS); @@ -3381,9 +3366,6 @@ int CPYFPRTRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPRTRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMRTRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFERTRN_CPY_MEMCMS); @@ -3417,9 +3399,6 @@ int CPYFPRTWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPRTWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMRTWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFERTWN_CPY_MEMCMS); @@ -3453,9 +3432,6 @@ int CPYFPT(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPT_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMT_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFET_CPY_MEMCMS); @@ -3489,9 +3465,6 @@ int CPYFPTN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPTN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMTN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFETN_CPY_MEMCMS); @@ -3525,9 +3498,6 @@ int CPYFPTRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPTRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMTRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFETRN_CPY_MEMCMS); @@ -3561,9 +3531,6 @@ int CPYFPTWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPTWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMTWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFETWN_CPY_MEMCMS); @@ -3597,9 +3564,6 @@ int CPYFPWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFEWN_CPY_MEMCMS); @@ -3633,9 +3597,6 @@ int CPYFPWT(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPWT_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMWT_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFEWT_CPY_MEMCMS); @@ -3669,9 +3630,6 @@ int CPYFPWTN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPWTN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMWTN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFEWTN_CPY_MEMCMS); @@ -3705,9 +3663,6 @@ int CPYFPWTRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPWTRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMWTRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFEWTRN_CPY_MEMCMS); @@ -3741,9 +3696,6 @@ int CPYFPWTWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYFPWTWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYFMWTWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYFEWTWN_CPY_MEMCMS); @@ -3777,9 +3729,6 @@ int CPYP(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYP_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYM_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYE_CPY_MEMCMS); @@ -3813,9 +3762,6 @@ int CPYPN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYEN_CPY_MEMCMS); @@ -3849,9 +3795,6 @@ int CPYPRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYERN_CPY_MEMCMS); @@ -3885,9 +3828,6 @@ int CPYPRT(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPRT_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMRT_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYERT_CPY_MEMCMS); @@ -3921,9 +3861,6 @@ int CPYPRTN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPRTN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMRTN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYERTN_CPY_MEMCMS); @@ -3957,9 +3894,6 @@ int CPYPRTRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPRTRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMRTRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYERTRN_CPY_MEMCMS); @@ -3993,9 +3927,6 @@ int CPYPRTWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPRTWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMRTWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYERTWN_CPY_MEMCMS); @@ -4029,9 +3960,6 @@ int CPYPT(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPT_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMT_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYET_CPY_MEMCMS); @@ -4065,9 +3993,6 @@ int CPYPTN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPTN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMTN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYETN_CPY_MEMCMS); @@ -4101,9 +4026,6 @@ int CPYPTRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPTRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMTRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYETRN_CPY_MEMCMS); @@ -4137,9 +4059,6 @@ int CPYPTWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPTWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMTWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYETWN_CPY_MEMCMS); @@ -4173,9 +4092,6 @@ int CPYPWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYEWN_CPY_MEMCMS); @@ -4209,9 +4125,6 @@ int CPYPWT(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPWT_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMWT_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYEWT_CPY_MEMCMS); @@ -4245,9 +4158,6 @@ int CPYPWTN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPWTN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMWTN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYEWTN_CPY_MEMCMS); @@ -4281,9 +4191,6 @@ int CPYPWTRN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPWTRN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMWTRN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYEWTRN_CPY_MEMCMS); @@ -4317,9 +4224,6 @@ int CPYPWTWN(context *ctx, Instruction *instr) else if(ctx->op1==2) { ctx->memcpy_stage = MOPSStage_Epilogue; } - else { - SEE /* "Memory Copy and Memory Set" */ - } if(ctx->op1==0) OK(ENC_CPYPWTWN_CPY_MEMCMS); if(ctx->op1==1) OK(ENC_CPYMWTWN_CPY_MEMCMS); if(ctx->op1==2) OK(ENC_CPYEWTWN_CPY_MEMCMS); @@ -4738,7 +4642,7 @@ int DUP_advsimd_elt(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&15))) { + if(!(ctx->imm5&15)) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,3,0)); @@ -4760,10 +4664,10 @@ int DUP_advsimd_elt(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&15))) { + if(!(ctx->imm5&15)) { EndOfDecode(Decode_UNDEF); } - if(((ctx->imm5&15)==8) && ctx->Q==0) { + if((ctx->imm5&15)==8 && ctx->Q==0) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,3,0)); @@ -4792,10 +4696,10 @@ int DUP_advsimd_gen(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&15))) { + if(!(ctx->imm5&15)) { EndOfDecode(Decode_UNDEF); } - if(((ctx->imm5&15)==8) && ctx->Q==0) { + if((ctx->imm5&15)==8 && ctx->Q==0) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,3,0)); @@ -6068,7 +5972,7 @@ int FCMLA_advsimd_elt(context *ctx, Instruction *instr) if(ctx->size==0 || ctx->size==3) { EndOfDecode(Decode_UNDEF); } - if(!HaveFP16() && ctx->size==2) { + if(!HaveFP16() && ctx->size==1) { EndOfDecode(Decode_UNDEF); } if(ctx->size==2 && (ctx->L==1 || ctx->Q==0)) { @@ -7550,9 +7454,6 @@ int FCVTZS_advsimd_fix(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if((!(ctx->immh&14)) || (((ctx->immh&14)==2) && !HaveFP16())) { EndOfDecode(Decode_UNDEF); } @@ -7770,9 +7671,6 @@ int FCVTZU_advsimd_fix(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if((!(ctx->immh&14)) || (((ctx->immh&14)==2) && !HaveFP16())) { EndOfDecode(Decode_UNDEF); } @@ -8145,6 +8043,49 @@ int FDOT_advsimd_4wayvec(context *ctx, Instruction *instr) return rc; } +/* fdot_advsimd_elt_fp16fp32.xml */ +int FDOT_advsimd_elt_fp16fp32(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_advanced_simd */ + /* 0|Q=x|U=0|0|111|1|size=01|L=x|M=x|Rm=xxxx|opcode=1001|H=x|0|Rn=xxxxx|Rd=xxxxx */ + if((INSWORD & 0xBFC0F400)==0xF409000) { + decode_fields32(ENC_FDOT_ASIMDELEM_FP16FP32, ctx, instr); + if(!HaveF16F32DOT()) { + EndOfDecode(Decode_UNDEF); + } + ctx->n = UINT(ctx->Rn); + ctx->m = UINT(((ctx->M<<4)|ctx->Rm)); + ctx->d = UINT(ctx->Rd); + ctx->i = UINT(((ctx->H<<1)|ctx->L)); + ctx->datasize = (0x40) << (UINT(ctx->Q)); + ctx->elements = ((0x20)!=0 ? ((ctx->datasize) / (0x20)) : 0); + OK(ENC_FDOT_ASIMDELEM_FP16FP32); + } + return rc; +} + +/* fdot_advsimd_fp16fp32.xml */ +int FDOT_advsimd_fp16fp32(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_advanced_simd */ + /* 0|Q=x|U=0|0|111|0|size=10|0|Rm=xxxxx|1|opcode=1111|1|Rn=xxxxx|Rd=xxxxx */ + if((INSWORD & 0xBFE0FC00)==0xE80FC00) { + decode_fields32(ENC_FDOT_ASIMDSAME2_FP16FP32, ctx, instr); + if(!HaveF16F32DOT()) { + EndOfDecode(Decode_UNDEF); + } + ctx->d = UINT(ctx->Rd); + ctx->n = UINT(ctx->Rn); + ctx->m = UINT(ctx->Rm); + ctx->datasize = (0x40) << (UINT(ctx->Q)); + ctx->elements = ((0x20)!=0 ? ((ctx->datasize) / (0x20)) : 0); + OK(ENC_FDOT_ASIMDSAME2_FP16FP32); + } + return rc; +} + /* fjcvtzs.xml */ int FJCVTZS(context *ctx, Instruction *instr) { @@ -9500,6 +9441,44 @@ int FMMLA_FP8FP32(context *ctx, Instruction *instr) return rc; } +/* fmmla_advsimd_fp16fp16.xml */ +int FMMLA_advsimd_fp16fp16(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_advanced_simd */ + /* 0|Q=1|U=0|0|111|0|size=11|0|Rm=xxxxx|1|opcode=1101|1|Rn=xxxxx|Rd=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x4EC0EC00) { + decode_fields32(ENC_FMMLA_ASIMD_FP16FP16, ctx, instr); + if(!HaveF16MM()) { + EndOfDecode(Decode_UNDEF); + } + ctx->d = UINT(ctx->Rd); + ctx->n = UINT(ctx->Rn); + ctx->m = UINT(ctx->Rm); + OK(ENC_FMMLA_ASIMD_FP16FP16); + } + return rc; +} + +/* fmmla_advsimd_fp16fp32.xml */ +int FMMLA_advsimd_fp16fp32(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_advanced_simd */ + /* 0|Q=1|U=0|0|111|0|size=01|0|Rm=xxxxx|1|opcode=1101|1|Rn=xxxxx|Rd=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x4E40EC00) { + decode_fields32(ENC_FMMLA_ASIMD_FP16FP32, ctx, instr); + if(!HaveF16F32MM()) { + EndOfDecode(Decode_UNDEF); + } + ctx->d = UINT(ctx->Rd); + ctx->n = UINT(ctx->Rn); + ctx->m = UINT(ctx->Rm); + OK(ENC_FMMLA_ASIMD_FP16FP32); + } + return rc; +} + /* fmov_advsimd.xml */ int FMOV_advsimd(context *ctx, Instruction *instr) { @@ -11490,6 +11469,33 @@ int GCSSTTR(context *ctx, Instruction *instr) return rc; } +/* gicr_sysl.xml */ +int GICR_SYSL(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_system */ + /* 110|101|0100|L=1|01|op1=000|CRn=1100|CRm=0011|op2=xxx|Rt=xxxxx */ + if((INSWORD & 0xFFFFFF00)==0xD528C300) { + decode_fields32(ENC_GICR_SYSL_RC_SYSTEMINSTRS, ctx, instr); + OK(ENC_GICR_SYSL_RC_SYSTEMINSTRS); + } + return rc; +} + +/* gic_sys.xml */ +int GIC_SYS(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_system */ + /* 110|101|0100|L=0|01|op1=xxx|CRn=1100|CRm=0001|op2=xxx|Rt=xxxxx */ + /* 110|101|0100|L=0|01|op1=xxx|CRn=1100|CRm=0010|op2=xxx|Rt=xxxxx */ + if((INSWORD & 0xFFF8FF00)==0xD508C100 || (INSWORD & 0xFFF8FF00)==0xD508C200) { + decode_fields32(ENC_GIC_SYS_CR_SYSTEMINSTRS, ctx, instr); + OK(ENC_GIC_SYS_CR_SYSTEMINSTRS); + } + return rc; +} + /* gmi.xml */ int GMI(context *ctx, Instruction *instr) { @@ -11509,6 +11515,19 @@ int GMI(context *ctx, Instruction *instr) return rc; } +/* gsb_sys.xml */ +int GSB_SYS(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_system */ + /* 110|101|0100|L=0|01|op1=000|CRn=1100|CRm=0000|op2=xxx|Rt=xxxxx */ + if((INSWORD & 0xFFFFFF00)==0xD508C000) { + decode_fields32(ENC_GSB_SYS_CR_SYSTEMINSTRS, ctx, instr); + OK(ENC_GSB_SYS_CR_SYSTEMINSTRS); + } + return rc; +} + /* hint.xml */ int HINT(context *ctx, Instruction *instr) { @@ -11643,6 +11662,19 @@ int HINT(context *ctx, Instruction *instr) ctx->stream = SLICE(ctx->op2,0,0)==1; ctx->op = SystemHintOp_STSHH; } + else if((((ctx->CRm<<3)|ctx->op2)&0x7e)==0x32) { + if(!HaveCMH()) { + EndOfDecode(Decode_NOP); + } + ctx->priority = SLICE(ctx->op2,0,0)==1; + ctx->op = SystemHintOp_SHUH; + } + else if(((ctx->CRm<<3)|ctx->op2)==0x34) { + if(!HaveCMH()) { + EndOfDecode(Decode_NOP); + } + ctx->op = SystemHintOp_STCPH; + } else { EndOfDecode(Decode_NOP); } @@ -11711,7 +11743,7 @@ int INS_advsimd_elt(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&15))) { + if(!(ctx->imm5&15)) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,3,0)); @@ -11739,7 +11771,7 @@ int INS_advsimd_gen(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&15))) { + if(!(ctx->imm5&15)) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,3,0)); @@ -12799,6 +12831,34 @@ int LDAP1_advsimd_sngl(context *ctx, Instruction *instr) return rc; } +/* ldapp_gen.xml */ +int LDAPP_gen(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_no_offset */ + /* size=11|01|1|0|0|10|L=1|0|Rt2=xxxxx|opc2=0111|10|Rn=xxxxx|Rt=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0xD9407800) { + decode_fields32(ENC_LDAPP_64_LDIAPPSTILP, ctx, instr); + if(!HaveLSCP()) { + EndOfDecode(Decode_UNDEF); + } + ctx->t = UINT(ctx->Rt); + ctx->t2 = UINT(ctx->Rt2); + ctx->n = UINT(ctx->Rn); + ctx->acquire = ctx->t!=0x1f && ctx->t2!=0x1f; + ctx->tagchecked = ctx->n!=0x1f; + ctx->ispair = TRUE; + ctx->rt_unknown = FALSE; + if(ctx->t==ctx->t2) { + ctx->c = ConstrainUnpredictable(Unpredictable_LDPOVERLAP); + // assert + // switch on constraint + } + OK(ENC_LDAPP_64_LDIAPPSTILP); + } + return rc; +} + /* ldapr.xml */ int LDAPR(context *ctx, Instruction *instr) { @@ -13066,6 +13126,34 @@ int LDAPUR_gen(context *ctx, Instruction *instr) return rc; } +/* ldap_gen.xml */ +int LDAP_gen(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_no_offset */ + /* size=11|01|1|0|0|10|L=1|0|Rt2=xxxxx|opc2=0101|10|Rn=xxxxx|Rt=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0xD9405800) { + decode_fields32(ENC_LDAP_64_LDIAPPSTILP, ctx, instr); + if(!HaveLSCP()) { + EndOfDecode(Decode_UNDEF); + } + ctx->t = UINT(ctx->Rt); + ctx->t2 = UINT(ctx->Rt2); + ctx->n = UINT(ctx->Rn); + ctx->acquire = ctx->t!=0x1f && ctx->t2!=0x1f; + ctx->tagchecked = ctx->n!=0x1f; + ctx->ispair = TRUE; + ctx->rt_unknown = FALSE; + if(ctx->t==ctx->t2) { + ctx->c = ConstrainUnpredictable(Unpredictable_LDPOVERLAP); + // assert + // switch on constraint + } + OK(ENC_LDAP_64_LDIAPPSTILP); + } + return rc; +} + /* ldar.xml */ int LDAR(context *ctx, Instruction *instr) { @@ -16125,6 +16213,19 @@ int MLA_advsimd_vec(context *ctx, Instruction *instr) return rc; } +/* mlbi_sys.xml */ +int MLBI_SYS(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_system */ + /* 110|101|0100|L=0|01|op1=100|CRn=0111|CRm=0000|op2=xxx|Rt=xxxxx */ + if((INSWORD & 0xFFFFFF00)==0xD50C7000) { + decode_fields32(ENC_MLBI_SYS_CR_SYSTEMINSTRS, ctx, instr); + OK(ENC_MLBI_SYS_CR_SYSTEMINSTRS); + } + return rc; +} + /* mls_advsimd_elt.xml */ int MLS_advsimd_elt(context *ctx, Instruction *instr) { @@ -17227,7 +17328,8 @@ int PACIA(context *ctx, Instruction *instr) ctx->d = 0x1e; ctx->source_is_sp = TRUE; if(HaveBTI()) { - SetBTypeCompatible(BTypeCompatible_PACIXSP()); + ctx->pacinst = PACIxSP; + SetBTypeCompatible(BTypeCompatible_PAC(ctx->pacinst)); } } else if(((ctx->CRm<<3)|ctx->op2)==8) { @@ -17271,7 +17373,8 @@ int PACIASPPC(context *ctx, Instruction *instr) } ctx->d = 0x1e; if(HaveBTI()) { - SetBTypeCompatible(BTypeCompatible_PACIXSP()); + ctx->pacinst = PACIxSPPC; + SetBTypeCompatible(BTypeCompatible_PAC(ctx->pacinst)); } OK(ENC_PACIASPPC_64LR_DP_1SRC); } @@ -17323,7 +17426,8 @@ int PACIB(context *ctx, Instruction *instr) ctx->d = 0x1e; ctx->source_is_sp = TRUE; if(HaveBTI()) { - SetBTypeCompatible(BTypeCompatible_PACIXSP()); + ctx->pacinst = PACIxSP; + SetBTypeCompatible(BTypeCompatible_PAC(ctx->pacinst)); } } else if(((ctx->CRm<<3)|ctx->op2)==10) { @@ -17367,7 +17471,8 @@ int PACIBSPPC(context *ctx, Instruction *instr) } ctx->d = 0x1e; if(HaveBTI()) { - SetBTypeCompatible(BTypeCompatible_PACIXSP()); + ctx->pacinst = PACIxSPPC; + SetBTypeCompatible(BTypeCompatible_PAC(ctx->pacinst)); } OK(ENC_PACIBSPPC_64LR_DP_1SRC); } @@ -18492,9 +18597,6 @@ int RSHRN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -18922,9 +19024,6 @@ int SCVTF_advsimd_fix(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if((!(ctx->immh&14)) || (((ctx->immh&14)==2) && !HaveFP16())) { EndOfDecode(Decode_UNDEF); } @@ -19841,9 +19940,6 @@ int SHL_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -19869,9 +19965,6 @@ int SHRN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -19913,6 +20006,23 @@ int SHSUB_advsimd(context *ctx, Instruction *instr) return rc; } +/* shuh.xml */ +int SHUH(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_system */ + /* 110|101|01000000110010|CRm=0110|op2=01x|11111 */ + if((INSWORD & 0xFFFFFFDF)==0xD503265F) { + decode_fields32(ENC_SHUH_HI_HINTS, ctx, instr); + if(!HaveCMH()) { + EndOfDecode(Decode_NOP); + } + ctx->priority = SLICE(ctx->op2,0,0)==1; + OK(ENC_SHUH_HI_HINTS); + } + return rc; +} + /* sli_advsimd.xml */ int SLI_advsimd(context *ctx, Instruction *instr) { @@ -19942,9 +20052,6 @@ int SLI_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -20573,7 +20680,7 @@ int SMOV_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&7))) { + if(!(ctx->imm5&7)) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,2,0)); @@ -21683,9 +21790,6 @@ int SQRSHRN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -21737,9 +21841,6 @@ int SQRSHRUN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -21787,9 +21888,6 @@ int SQSHLU_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -21837,9 +21935,6 @@ int SQSHL_advsimd_imm(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -21938,9 +22033,6 @@ int SQSHRN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -21992,9 +22084,6 @@ int SQSHRUN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -22195,9 +22284,6 @@ int SRI_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -22288,9 +22374,6 @@ int SRSHR_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -22338,9 +22421,6 @@ int SRSRA_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -22381,9 +22461,6 @@ int SSHLL_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -22478,9 +22555,6 @@ int SSHR_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -22528,9 +22602,6 @@ int SSRA_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -23467,6 +23538,22 @@ int STCLR_LDCLR(context *ctx, Instruction *instr) return rc; } +/* stcph.xml */ +int STCPH(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_system */ + /* 110|101|01000000110010|CRm=0110|op2=100|11111 */ + if((INSWORD & 0xFFFFFFFF)==0xD503269F) { + decode_fields32(ENC_STCPH_HI_HINTS, ctx, instr); + if(!HaveCMH()) { + EndOfDecode(Decode_NOP); + } + OK(ENC_STCPH_HI_HINTS); + } + return rc; +} + /* steorb_ldeorb.xml */ int STEORB_LDEORB(context *ctx, Instruction *instr) { @@ -23922,6 +24009,28 @@ int STLLRH(context *ctx, Instruction *instr) return rc; } +/* stlp_gen.xml */ +int STLP_gen(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_no_offset */ + /* size=11|01|1|0|0|10|L=0|0|Rt2=xxxxx|opc2=0101|10|Rn=xxxxx|Rt=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0xD9005800) { + decode_fields32(ENC_STLP_64_LDIAPPSTILP, ctx, instr); + if(!HaveLSCP()) { + EndOfDecode(Decode_UNDEF); + } + ctx->t = UINT(ctx->Rt); + ctx->t2 = UINT(ctx->Rt2); + ctx->n = UINT(ctx->Rn); + ctx->acquire = FALSE; + ctx->tagchecked = ctx->n!=0x1f; + ctx->ispair = TRUE; + OK(ENC_STLP_64_LDIAPPSTILP); + } + return rc; +} + /* stlr.xml */ int STLR(context *ctx, Instruction *instr) { @@ -26212,7 +26321,10 @@ int SYS(context *ctx, Instruction *instr) if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==7 && ctx->op2==0) return GCSPUSHM_SYS(ctx, instr); if(ctx->op1==0 && ctx->CRn==7 && ctx->CRm==7 && ctx->op2==4) return GCSPUSHX_SYS(ctx, instr); if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==7 && ctx->op2==2) return GCSSS1_SYS(ctx, instr); + // alias:GIC_SYS with preference:["CRn == '1100' && CRm IN {'0001', '0010'} && SysOp(op1, '1100', CRm, op2) == Sys_GIC"] does not apply + // alias:GSB_SYS with preference:["op1 == '000' && CRn == '1100' && CRm == '0000' && SysOp('000', '1100', '0000', op2) == Sys_GSB"] does not apply if(ctx->CRn==7 && SysOp(ctx->op1,7,ctx->CRm,ctx->op2)==Sys_IC) return IC_SYS(ctx, instr); + // alias:MLBI_SYS with preference:["op1 == '100' && CRn == '0111' && CRm == '0000' && SysOp('100', '0111', '0000', op2) == Sys_MLBI"] does not apply if(((ctx->CRn&14)==8) && SysOp(ctx->op1,ctx->CRn,ctx->CRm,ctx->op2)==Sys_TLBI) return TLBI_SYS(ctx, instr); if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==2 && ctx->op2==7) return TRCIT_SYS(ctx, instr); OK(ENC_SYS_CR_SYSTEMINSTRS); @@ -26238,6 +26350,7 @@ int SYSL(context *ctx, Instruction *instr) /* regular aliases */ if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==7 && ctx->op2==1) return GCSPOPM_SYSL(ctx, instr); if(ctx->op1==3 && ctx->CRn==7 && ctx->CRm==7 && ctx->op2==3) return GCSSS2_SYSL(ctx, instr); + // alias:GICR_SYSL with preference:["op1 == '000' && CRn == '1100' && CRm == '0011' && SysLOp('000', '1100', '0011', op2) == Sysl_GICR"] does not apply OK(ENC_SYSL_RC_SYSTEMINSTRS); } return rc; @@ -26358,40 +26471,6 @@ int TBZ(context *ctx, Instruction *instr) return rc; } -/* tcancel.xml */ -int TCANCEL(context *ctx, Instruction *instr) -{ - int rc = DECODE_STATUS_UNMATCHED; - /* class iclass_system */ - /* 110|101|00|opc=011|imm16=xxxxxxxxxxxxxxxx|op2=000|LL=00 */ - if((INSWORD & 0xFFE0001F)==0xD4600000) { - decode_fields32(ENC_TCANCEL_EX_EXCEPTION, ctx, instr); - if(!HaveTME()) { - EndOfDecode(Decode_UNDEF); - } - ctx->retry = (SLICE(ctx->imm16,15,15)==1); - ctx->reason = SLICE(ctx->imm16,14,0); - OK(ENC_TCANCEL_EX_EXCEPTION); - } - return rc; -} - -/* tcommit.xml */ -int TCOMMIT(context *ctx, Instruction *instr) -{ - int rc = DECODE_STATUS_UNMATCHED; - /* class iclass_system */ - /* 110|101|01000000110011|CRm=0000|op2=011|Rt=11111 */ - if((INSWORD & 0xFFFFFFFF)==0xD503307F) { - decode_fields32(ENC_TCOMMIT_ONLY_BARRIERS, ctx, instr); - if(!HaveTME()) { - EndOfDecode(Decode_UNDEF); - } - OK(ENC_TCOMMIT_ONLY_BARRIERS); - } - return rc; -} - /* tlbip_sysp.xml */ int TLBIP_SYSP(context *ctx, Instruction *instr) { @@ -26501,23 +26580,6 @@ int TSB(context *ctx, Instruction *instr) return rc; } -/* tstart.xml */ -int TSTART(context *ctx, Instruction *instr) -{ - int rc = DECODE_STATUS_UNMATCHED; - /* class iclass_system */ - /* 110|101|0100100|op1=011|CRn=0011|CRm=0000|op2=011|Rt=xxxxx */ - if((INSWORD & 0xFFFFFFE0)==0xD5233060) { - decode_fields32(ENC_TSTART_BR_SYSTEMRESULT, ctx, instr); - if(!HaveTME()) { - EndOfDecode(Decode_UNDEF); - } - ctx->t = UINT(ctx->Rt); - OK(ENC_TSTART_BR_SYSTEMRESULT); - } - return rc; -} - /* tst_ands_log_imm.xml */ int TST_ANDS_log_imm(context *ctx, Instruction *instr) { @@ -26552,23 +26614,6 @@ int TST_ANDS_log_shift(context *ctx, Instruction *instr) return rc; } -/* ttest.xml */ -int TTEST(context *ctx, Instruction *instr) -{ - int rc = DECODE_STATUS_UNMATCHED; - /* class iclass_system */ - /* 110|101|0100100|op1=011|CRn=0011|CRm=0001|op2=011|Rt=xxxxx */ - if((INSWORD & 0xFFFFFFE0)==0xD5233160) { - decode_fields32(ENC_TTEST_BR_SYSTEMRESULT, ctx, instr); - if(!HaveTME()) { - EndOfDecode(Decode_UNDEF); - } - ctx->t = UINT(ctx->Rt); - OK(ENC_TTEST_BR_SYSTEMRESULT); - } - return rc; -} - /* uabal_advsimd.xml */ int UABAL_advsimd(context *ctx, Instruction *instr) { @@ -26894,9 +26939,6 @@ int UCVTF_advsimd_fix(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if((!(ctx->immh&14)) || (((ctx->immh&14)==2) && !HaveFP16())) { EndOfDecode(Decode_UNDEF); } @@ -27635,7 +27677,7 @@ int UMOV_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->imm5&15))) { + if(!(ctx->imm5&15)) { EndOfDecode(Decode_UNDEF); } ctx->size = LowestSetBitNZ(SLICE(ctx->imm5,3,0)); @@ -27894,9 +27936,6 @@ int UQRSHRN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -27945,9 +27984,6 @@ int UQSHL_advsimd_imm(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -28046,9 +28082,6 @@ int UQSHRN_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -28278,9 +28311,6 @@ int URSHR_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -28352,9 +28382,6 @@ int URSRA_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -28425,9 +28452,6 @@ int USHLL_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(SLICE(ctx->immh,3,3)==1) { EndOfDecode(Decode_UNDEF); } @@ -28522,9 +28546,6 @@ int USHR_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -28633,9 +28654,6 @@ int USRA_advsimd(context *ctx, Instruction *instr) if(!HaveAdvSIMD()) { EndOfDecode(Decode_UNDEF); } - if(ctx->immh==0) { - SEE /* asimdimm */; - } if(((SLICE(ctx->immh,3,3)<<1)|ctx->Q)==2) { EndOfDecode(Decode_UNDEF); } @@ -29470,6 +29488,26 @@ int addpt_z_zz(context *ctx, Instruction *instr) return rc; } +/* addqp_z_zz.xml */ +int addqp_z_zz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 000|0010|0|size=xx|1|Zm=xxxxx|011|110|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF20FC00)==0x4207800) { + decode_fields32(ENC_ADDQP_Z_ZZ_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->d = UINT(ctx->Zd); + OK(ENC_ADDQP_Z_ZZ_); + } + return rc; +} + /* addqv_z_p_z.xml */ int addqv_z_p_z(context *ctx, Instruction *instr) { @@ -29510,6 +29548,26 @@ int addspl_r_ri(context *ctx, Instruction *instr) return rc; } +/* addsubp_z_zz.xml */ +int addsubp_z_zz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 000|0010|0|size=xx|1|Zm=xxxxx|011|111|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF20FC00)==0x4207C00) { + decode_fields32(ENC_ADDSUBP_Z_ZZ_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->d = UINT(ctx->Zd); + OK(ENC_ADDSUBP_Z_ZZ_); + } + return rc; +} + /* addsvl_r_ri.xml */ int addsvl_r_ri(context *ctx, Instruction *instr) { @@ -30007,7 +30065,7 @@ int asr_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -30074,7 +30132,7 @@ int asr_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -30121,7 +30179,7 @@ int asrd_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -31775,6 +31833,25 @@ int bfmlslt_z_zzzi(context *ctx, Instruction *instr) return rc; } +/* bfmmla_z16_zzz.xml */ +int bfmmla_z16_zzz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve */ + /* 011|0010|01|op=1|1|Zm=xxxxx|111000|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x64E0E000) { + decode_fields32(ENC_BFMMLA_Z_ZZZ_H, ctx, instr); + if(!HaveSVE_B16MM()) { + EndOfDecode(Decode_UNDEF); + } + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_BFMMLA_Z_ZZZ_H); + } + return rc; +} + /* bfmmla_z_zzz.xml */ int bfmmla_z_zzz(context *ctx, Instruction *instr) { @@ -36595,6 +36672,30 @@ int fcvtzs_z_p_z(context *ctx, Instruction *instr) return rc; } +/* fcvtzsn_z_mz2.xml */ +int fcvtzsn_z_mz2(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 011|0010|1|size=xx|001|101|0011|0|U=0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFF3FFC20)==0x650D3000) { + decode_fields32(ENC_FCVTZSN_Z_MZ2_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->unsigned_ = FALSE; + ctx->rounding = FPRounding_ZERO; + OK(ENC_FCVTZSN_Z_MZ2_); + } + return rc; +} + /* fcvtzu_mz_z.xml */ int fcvtzu_mz_z(context *ctx, Instruction *instr) { @@ -36889,6 +36990,30 @@ int fcvtzu_z_p_z(context *ctx, Instruction *instr) return rc; } +/* fcvtzun_z_mz2.xml */ +int fcvtzun_z_mz2(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 011|0010|1|size=xx|001|101|0011|0|U=1|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFF3FFC20)==0x650D3400) { + decode_fields32(ENC_FCVTZUN_Z_MZ2_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->unsigned_ = TRUE; + ctx->rounding = FPRounding_ZERO; + OK(ENC_FCVTZUN_Z_MZ2_); + } + return rc; +} + /* fdiv_z_p_zz.xml */ int fdiv_z_p_zz(context *ctx, Instruction *instr) { @@ -39883,6 +40008,19 @@ int fmmla_z32_zzz(context *ctx, Instruction *instr) int fmmla_z_zzz(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_16_bit_element */ + /* 011|0010|01|op=0|1|Zm=xxxxx|111000|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x64A0E000) { + decode_fields32(ENC_FMMLA_Z_ZZZ_H, ctx, instr); + if(!HaveSVE2p2() || !HaveF16MM()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_FMMLA_Z_ZZZ_H); + } /* class iclass_32_bit_element */ /* 011|0010|0|opc=10|1|Zm=xxxxx|111001|Zn=xxxxx|Zda=xxxxx */ if((INSWORD & 0xFFE0FC00)==0x64A0E400) { @@ -49231,7 +49369,7 @@ int lsl_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -49298,7 +49436,7 @@ int lsl_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -49365,7 +49503,7 @@ int lsr_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -49432,7 +49570,7 @@ int lsr_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -49837,6 +49975,155 @@ int luti4_z_zz(context *ctx, Instruction *instr) return rc; } +/* luti6_mz4_zmz2.xml */ +int luti6_mz4_zmz2(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_consecutive */ + /* 1|10|0000|10|i1=x|1|Zm=xxxxx|1111|01|Zn=xxxxx|Zd=xxx|00 */ + if((INSWORD & 0xFFA0FC03)==0xC120F400) { + decode_fields32(ENC_LUTI6_MZ4_ZMZ2_1, ctx, instr); + if(!HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(MaxImplementedAnyVL()<0x200) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->isize = 6; + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->dstride = 1; + ctx->d = UINT((ctx->Zd<<2)); + ctx->select = UINT(ctx->i1); + OK(ENC_LUTI6_MZ4_ZMZ2_1); + } + /* class iclass_strided */ + /* 1|10|0000|10|i1=x|1|Zm=xxxxx|1111|11|Zn=xxxxx|D=x|00|Zd=xx */ + if((INSWORD & 0xFFA0FC0C)==0xC120FC00) { + decode_fields32(ENC_LUTI6_MZ4_ZMZ2_4, ctx, instr); + if(!HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(MaxImplementedAnyVL()<0x200) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->isize = 6; + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->dstride = 4; + ctx->d = UINT(((ctx->D<<4)|ctx->Zd)); + ctx->select = UINT(ctx->i1); + OK(ENC_LUTI6_MZ4_ZMZ2_4); + } + return rc; +} + +/* luti6_mz4_ztz.xml */ +int luti6_mz4_ztz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_consecutive */ + /* 1|10|0000|01|0|001|01000|size=00|opc=00|Zn=xxx|0|0|Zd=xxx|00 */ + if((INSWORD & 0xFFFFFC63)==0xC08A0000) { + decode_fields32(ENC_LUTI6_MZ4_ZTMZ3_1, ctx, instr); + if(!HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 8; + ctx->isize = 6; + ctx->n = UINT(ctx->Zn); + ctx->dstride = 1; + ctx->d = UINT((ctx->Zd<<2)); + OK(ENC_LUTI6_MZ4_ZTMZ3_1); + } + /* class iclass_strided */ + /* 1|10|0000|010011|010|00|size=00|opc=00|Zn=xxx|0|0|D=x|00|Zd=xx */ + if((INSWORD & 0xFFFFFC6C)==0xC09A0000) { + decode_fields32(ENC_LUTI6_MZ4_ZTMZ3_4, ctx, instr); + if(!HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 8; + ctx->isize = 6; + ctx->n = UINT(ctx->Zn); + ctx->dstride = 4; + ctx->d = UINT(((ctx->D<<4)|ctx->Zd)); + OK(ENC_LUTI6_MZ4_ZTMZ3_4); + } + return rc; +} + +/* luti6_z_z2zz.xml */ +int luti6_z_z2zz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|1|i1=x|1|1|Zm=xxxxx|101|011|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF60FC00)==0x4560AC00) { + decode_fields32(ENC_LUTI6_Z_ZZZ_16, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(MaxImplementedAnyVL()<0x200) { + EndOfDecode(Decode_UNDEF); + } + ctx->isize = 6; + ctx->esize = 0x10; + ctx->m = UINT(ctx->Zm); + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + ctx->part = UINT(ctx->i1); + OK(ENC_LUTI6_Z_ZZZ_16); + } + return rc; +} + +/* luti6_z_ztz.xml */ +int luti6_z_ztz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sme2 */ + /* 1|10|0000|01|1|001|opc=00001|size=00|opc2=00|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFFFFFC00)==0xC0C84000) { + decode_fields32(ENC_LUTI6_Z_ZTZ_, ctx, instr); + if(!HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 8; + ctx->isize = 6; + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + OK(ENC_LUTI6_Z_ZTZ_); + } + return rc; +} + +/* luti6_z_zzz.xml */ +int luti6_z_zzz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|1|0|0|1|Zm=xxxxx|101|011|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x4520AC00) { + decode_fields32(ENC_LUTI6_Z_ZZZ_8, ctx, instr); + if(!HaveSVE2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(MaxImplementedAnyVL()<0x100) { + EndOfDecode(Decode_UNDEF); + } + ctx->isize = 6; + ctx->esize = 8; + ctx->m = UINT(ctx->Zm); + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + OK(ENC_LUTI6_Z_ZZZ_8); + } + return rc; +} + /* mad_z_p_zzz.xml */ int mad_z_p_zzz(context *ctx, Instruction *instr) { @@ -53587,7 +53874,7 @@ int rshrnb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -53611,7 +53898,7 @@ int rshrnt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -53687,6 +53974,29 @@ int saba_z_zzz(context *ctx, Instruction *instr) return rc; } +/* sabal_z_zzz.xml */ +int sabal_z_zzz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|0|size=xx|0|Zm=xxxxx|1101|U=0|1|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFF20FC00)==0x4400D400) { + decode_fields32(ENC_SABAL_Z_ZZ_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_SABAL_Z_ZZ_); + } + return rc; +} + /* sabalb_z_zzz.xml */ int sabalb_z_zzz(context *ctx, Instruction *instr) { @@ -54358,6 +54668,54 @@ int scvtf_z_p_z(context *ctx, Instruction *instr) return rc; } +/* scvtf_z_z.xml */ +int scvtf_z_z(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 011|0010|1|size=xx|001|100|0011|0|U=0|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF3FFC00)==0x650C3000) { + decode_fields32(ENC_SCVTF_Z_Z_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + ctx->unsigned_ = FALSE; + ctx->rounding = FPRoundingMode(ctx->FPCR); + OK(ENC_SCVTF_Z_Z_); + } + return rc; +} + +/* scvtflt_z_z.xml */ +int scvtflt_z_z(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 011|0010|1|size=xx|001|100|0011|1|U=0|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF3FFC00)==0x650C3800) { + decode_fields32(ENC_SCVTFLT_Z_Z_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + ctx->unsigned_ = FALSE; + ctx->rounding = FPRoundingMode(ctx->FPCR); + OK(ENC_SCVTFLT_Z_Z_); + } + return rc; +} + /* sdiv_z_p_zz.xml */ int sdiv_z_p_zz(context *ctx, Instruction *instr) { @@ -54408,6 +54766,19 @@ int sdivr_z_p_zz(context *ctx, Instruction *instr) int sdot_z32_zzz(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit_to_16_bit */ + /* 010|0010|0|size=01|0|Zm=xxxxx|0|0000|U=0|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x44400000) { + decode_fields32(ENC_SDOT_Z16_ZZZ_H, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_SDOT_Z16_ZZZ_H); + } /* class iclass_16_bit_to_32_bit */ /* 010|0010|0000|Zm=xxxxx|11001|U=0|Zn=xxxxx|Zda=xxxxx */ if((INSWORD & 0xFFE0FC00)==0x4400C800) { @@ -54428,6 +54799,20 @@ int sdot_z32_zzz(context *ctx, Instruction *instr) int sdot_z32_zzzi(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit_to_16_bit */ + /* 010|0010|0|0|i3h=x|1|i3l=xx|Zm=xxx|00000|U=0|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFFA0FC00)==0x44200000) { + decode_fields32(ENC_SDOT_Z16_ZZZI_H, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->index = UINT(((ctx->i3h<<2)|ctx->i3l)); + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_SDOT_Z16_ZZZI_H); + } /* class iclass_16_bit_to_32_bit */ /* 010|0010|0100|i2=xx|Zm=xxx|11001|U=0|Zn=xxxxx|Zda=xxxxx */ if((INSWORD & 0xFFE0FC00)==0x4480C800) { @@ -54456,9 +54841,6 @@ int sdot_z_zzz(context *ctx, Instruction *instr) if(!HaveSVE() && !HaveSME()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->size&2))) { - EndOfDecode(Decode_UNDEF); - } ctx->esize = (8) << (UINT(ctx->size)); ctx->n = UINT(ctx->Zn); ctx->m = UINT(ctx->Zm); @@ -54914,7 +55296,7 @@ int shrnb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -54938,7 +55320,7 @@ int shrnt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -55002,7 +55384,7 @@ int sli_z_zzi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -55152,7 +55534,7 @@ int smax_z_zi(context *ctx, Instruction *instr) ctx->esize = (8) << (UINT(ctx->size)); ctx->dn = UINT(ctx->Zdn); ctx->unsigned_ = FALSE; - ctx->imm = UINT(ctx->imm8); + ctx->imm = (ctx->unsigned_)!=0 ? UINT(ctx->imm8) : SInt(ctx->imm8,8); OK(ENC_SMAX_Z_ZI_); } return rc; @@ -55324,7 +55706,7 @@ int smin_z_zi(context *ctx, Instruction *instr) ctx->esize = (8) << (UINT(ctx->size)); ctx->dn = UINT(ctx->Zdn); ctx->unsigned_ = FALSE; - ctx->imm = UINT(ctx->imm8); + ctx->imm = (ctx->unsigned_)!=0 ? UINT(ctx->imm8) : SInt(ctx->imm8,8); OK(ENC_SMIN_Z_ZI_); } return rc; @@ -58888,7 +59270,7 @@ int sqrshr_z_mz4(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT((ctx->Zn<<2)); ctx->d = UINT(ctx->Zd); ctx->shift = ((8) * (ctx->esize))-UINT(((ctx->tsize<<5)|ctx->imm5)); @@ -58901,6 +59283,19 @@ int sqrshr_z_mz4(context *ctx, Instruction *instr) int sqrshrn_z_mz2(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit */ + /* 010|0010|1|1|op0=0|1|01|imm3=xxx|0|0|op1=1|U=0|R=1|0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFFF8FC20)==0x45A82800) { + decode_fields32(ENC_SQRSHRN_Z_MZ2_B, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 8; + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->shift = ctx->esize-UINT(ctx->imm3); + OK(ENC_SQRSHRN_Z_MZ2_B); + } /* class iclass_16_bit */ /* 010|0010|1|1|op0=0|1|1|imm4=xxxx|0|0|op1=1|U=0|R=1|0|Zn=xxxx|0|Zd=xxxxx */ if((INSWORD & 0xFFF0FC20)==0x45B02800) { @@ -58931,7 +59326,7 @@ int sqrshrn_z_mz4(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT((ctx->Zn<<2)); ctx->d = UINT(ctx->Zd); ctx->shift = ((8) * (ctx->esize))-UINT(((ctx->tsize<<5)|ctx->imm5)); @@ -58955,7 +59350,7 @@ int sqrshrnb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -58979,7 +59374,7 @@ int sqrshrnt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59022,7 +59417,7 @@ int sqrshru_z_mz4(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT((ctx->Zn<<2)); ctx->d = UINT(ctx->Zd); ctx->shift = ((8) * (ctx->esize))-UINT(((ctx->tsize<<5)|ctx->imm5)); @@ -59035,6 +59430,19 @@ int sqrshru_z_mz4(context *ctx, Instruction *instr) int sqrshrun_z_mz2(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit */ + /* 010|0010|1|1|op0=0|1|01|imm3=xxx|0|0|op1=0|U=0|R=1|0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFFF8FC20)==0x45A80800) { + decode_fields32(ENC_SQRSHRUN_Z_MZ2_B, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 8; + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->shift = ctx->esize-UINT(ctx->imm3); + OK(ENC_SQRSHRUN_Z_MZ2_B); + } /* class iclass_16_bit */ /* 010|0010|1|1|op0=0|1|1|imm4=xxxx|0|0|op1=0|U=0|R=1|0|Zn=xxxx|0|Zd=xxxxx */ if((INSWORD & 0xFFF0FC20)==0x45B00800) { @@ -59065,7 +59473,7 @@ int sqrshrun_z_mz4(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT((ctx->Zn<<2)); ctx->d = UINT(ctx->Zd); ctx->shift = ((8) * (ctx->esize))-UINT(((ctx->tsize<<5)|ctx->imm5)); @@ -59089,7 +59497,7 @@ int sqrshrunb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59113,7 +59521,7 @@ int sqrshrunt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59137,7 +59545,7 @@ int sqshl_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -59201,7 +59609,7 @@ int sqshlu_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -59210,6 +59618,29 @@ int sqshlu_z_p_zi(context *ctx, Instruction *instr) return rc; } +/* sqshrn_z_mz2.xml */ +int sqshrn_z_mz2(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|1|1|op0=0|1|tsize=xx|imm3=xxx|0|0|op1=0|U=0|R=0|0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFFE0FC20)==0x45A00000) { + decode_fields32(ENC_SQSHRN_Z_MZ2_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->tsize==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); + OK(ENC_SQSHRN_Z_MZ2_); + } + return rc; +} + /* sqshrnb_z_zi.xml */ int sqshrnb_z_zi(context *ctx, Instruction *instr) { @@ -59225,7 +59656,7 @@ int sqshrnb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59249,7 +59680,7 @@ int sqshrnt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59258,6 +59689,29 @@ int sqshrnt_z_zi(context *ctx, Instruction *instr) return rc; } +/* sqshrun_z_mz2.xml */ +int sqshrun_z_mz2(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|1|1|op0=0|1|tsize=xx|imm3=xxx|0|0|op1=1|U=0|R=0|0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFFE0FC20)==0x45A02000) { + decode_fields32(ENC_SQSHRUN_Z_MZ2_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->tsize==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); + OK(ENC_SQSHRUN_Z_MZ2_); + } + return rc; +} + /* sqshrunb_z_zi.xml */ int sqshrunb_z_zi(context *ctx, Instruction *instr) { @@ -59273,7 +59727,7 @@ int sqshrunb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59297,7 +59751,7 @@ int sqshrunt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59520,7 +59974,7 @@ int sri_z_zzi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59650,7 +60104,7 @@ int srshr_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59674,7 +60128,7 @@ int srsra_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->da = UINT(ctx->Zda); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -59698,7 +60152,7 @@ int sshllb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -59722,7 +60176,7 @@ int sshllt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -59746,7 +60200,7 @@ int ssra_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->da = UINT(ctx->Zda); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -63399,6 +63853,26 @@ int subhnt_z_zz(context *ctx, Instruction *instr) return rc; } +/* subp_z_p_zz.xml */ +int subp_z_p_zz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|0|size=xx|0|10|opc=00|U=0|10|1|Pg=xxx|Zm=xxxxx|Zdn=xxxxx */ + if((INSWORD & 0xFF3FE000)==0x4410A000) { + decode_fields32(ENC_SUBP_Z_P_ZZ_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->g = UINT(ctx->Pg); + ctx->m = UINT(ctx->Zm); + ctx->dn = UINT(ctx->Zdn); + OK(ENC_SUBP_Z_P_ZZ_); + } + return rc; +} + /* subpt_z_p_zz.xml */ int subpt_z_p_zz(context *ctx, Instruction *instr) { @@ -64593,6 +65067,29 @@ int uaba_z_zzz(context *ctx, Instruction *instr) return rc; } +/* uabal_z_zzz.xml */ +int uabal_z_zzz(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|0|size=xx|0|Zm=xxxxx|1101|U=1|1|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFF20FC00)==0x4400DC00) { + decode_fields32(ENC_UABAL_Z_ZZ_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_UABAL_Z_ZZ_); + } + return rc; +} + /* uabalb_z_zzz.xml */ int uabalb_z_zzz(context *ctx, Instruction *instr) { @@ -65195,6 +65692,54 @@ int ucvtf_z_p_z(context *ctx, Instruction *instr) return rc; } +/* ucvtf_z_z.xml */ +int ucvtf_z_z(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 011|0010|1|size=xx|001|100|0011|0|U=1|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF3FFC00)==0x650C3400) { + decode_fields32(ENC_UCVTF_Z_Z_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + ctx->unsigned_ = TRUE; + ctx->rounding = FPRoundingMode(ctx->FPCR); + OK(ENC_UCVTF_Z_Z_); + } + return rc; +} + +/* ucvtflt_z_z.xml */ +int ucvtflt_z_z(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 011|0010|1|size=xx|001|100|0011|1|U=1|Zn=xxxxx|Zd=xxxxx */ + if((INSWORD & 0xFF3FFC00)==0x650C3C00) { + decode_fields32(ENC_UCVTFLT_Z_Z_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->size==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (UINT(ctx->size)); + ctx->n = UINT(ctx->Zn); + ctx->d = UINT(ctx->Zd); + ctx->unsigned_ = TRUE; + ctx->rounding = FPRoundingMode(ctx->FPCR); + OK(ENC_UCVTFLT_Z_Z_); + } + return rc; +} + /* udiv_z_p_zz.xml */ int udiv_z_p_zz(context *ctx, Instruction *instr) { @@ -65245,6 +65790,19 @@ int udivr_z_p_zz(context *ctx, Instruction *instr) int udot_z32_zzz(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit_to_16_bit */ + /* 010|0010|0|size=01|0|Zm=xxxxx|0|0000|U=1|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFFE0FC00)==0x44400400) { + decode_fields32(ENC_UDOT_Z16_ZZZ_H, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_UDOT_Z16_ZZZ_H); + } /* class iclass_16_bit_to_32_bit */ /* 010|0010|0000|Zm=xxxxx|11001|U=1|Zn=xxxxx|Zda=xxxxx */ if((INSWORD & 0xFFE0FC00)==0x4400CC00) { @@ -65265,6 +65823,20 @@ int udot_z32_zzz(context *ctx, Instruction *instr) int udot_z32_zzzi(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit_to_16_bit */ + /* 010|0010|0|0|i3h=x|1|i3l=xx|Zm=xxx|00000|U=1|Zn=xxxxx|Zda=xxxxx */ + if((INSWORD & 0xFFA0FC00)==0x44200400) { + decode_fields32(ENC_UDOT_Z16_ZZZI_H, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 0x10; + ctx->index = UINT(((ctx->i3h<<2)|ctx->i3l)); + ctx->n = UINT(ctx->Zn); + ctx->m = UINT(ctx->Zm); + ctx->da = UINT(ctx->Zda); + OK(ENC_UDOT_Z16_ZZZI_H); + } /* class iclass_16_bit_to_32_bit */ /* 010|0010|0100|i2=xx|Zm=xxx|11001|U=1|Zn=xxxxx|Zda=xxxxx */ if((INSWORD & 0xFFE0FC00)==0x4480CC00) { @@ -65293,9 +65865,6 @@ int udot_z_zzz(context *ctx, Instruction *instr) if(!HaveSVE() && !HaveSME()) { EndOfDecode(Decode_UNDEF); } - if((!(ctx->size&2))) { - EndOfDecode(Decode_UNDEF); - } ctx->esize = (8) << (UINT(ctx->size)); ctx->n = UINT(ctx->Zn); ctx->m = UINT(ctx->Zm); @@ -65774,7 +66343,7 @@ int umax_z_zi(context *ctx, Instruction *instr) ctx->esize = (8) << (UINT(ctx->size)); ctx->dn = UINT(ctx->Zdn); ctx->unsigned_ = TRUE; - ctx->imm = UINT(ctx->imm8); + ctx->imm = (ctx->unsigned_)!=0 ? UINT(ctx->imm8) : SInt(ctx->imm8,8); OK(ENC_UMAX_Z_ZI_); } return rc; @@ -65946,7 +66515,7 @@ int umin_z_zi(context *ctx, Instruction *instr) ctx->esize = (8) << (UINT(ctx->size)); ctx->dn = UINT(ctx->Zdn); ctx->unsigned_ = TRUE; - ctx->imm = UINT(ctx->imm8); + ctx->imm = (ctx->unsigned_)!=0 ? UINT(ctx->imm8) : SInt(ctx->imm8,8); OK(ENC_UMIN_Z_ZI_); } return rc; @@ -68481,7 +69050,7 @@ int uqrshr_z_mz4(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT((ctx->Zn<<2)); ctx->d = UINT(ctx->Zd); ctx->shift = ((8) * (ctx->esize))-UINT(((ctx->tsize<<5)|ctx->imm5)); @@ -68494,6 +69063,19 @@ int uqrshr_z_mz4(context *ctx, Instruction *instr) int uqrshrn_z_mz2(context *ctx, Instruction *instr) { int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_8_bit */ + /* 010|0010|1|1|op0=0|1|01|imm3=xxx|0|0|op1=1|U=1|R=1|0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFFF8FC20)==0x45A83800) { + decode_fields32(ENC_UQRSHRN_Z_MZ2_B, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = 8; + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->shift = ctx->esize-UINT(ctx->imm3); + OK(ENC_UQRSHRN_Z_MZ2_B); + } /* class iclass_16_bit */ /* 010|0010|1|1|op0=0|1|1|imm4=xxxx|0|0|op1=1|U=1|R=1|0|Zn=xxxx|0|Zd=xxxxx */ if((INSWORD & 0xFFF0FC20)==0x45B03800) { @@ -68524,7 +69106,7 @@ int uqrshrn_z_mz4(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT((ctx->Zn<<2)); ctx->d = UINT(ctx->Zd); ctx->shift = ((8) * (ctx->esize))-UINT(((ctx->tsize<<5)|ctx->imm5)); @@ -68548,7 +69130,7 @@ int uqrshrnb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -68572,7 +69154,7 @@ int uqrshrnt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -68596,7 +69178,7 @@ int uqshl_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -68645,6 +69227,29 @@ int uqshlr_z_p_zz(context *ctx, Instruction *instr) return rc; } +/* uqshrn_z_mz2.xml */ +int uqshrn_z_mz2(context *ctx, Instruction *instr) +{ + int rc = DECODE_STATUS_UNMATCHED; + /* class iclass_sve2 */ + /* 010|0010|1|1|op0=0|1|tsize=xx|imm3=xxx|0|0|op1=0|U=1|R=0|0|Zn=xxxx|0|Zd=xxxxx */ + if((INSWORD & 0xFFE0FC20)==0x45A01000) { + decode_fields32(ENC_UQSHRN_Z_MZ2_, ctx, instr); + if(!HaveSVE2p3() && !HaveSME2p3()) { + EndOfDecode(Decode_UNDEF); + } + if(ctx->tsize==0) { + EndOfDecode(Decode_UNDEF); + } + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); + ctx->n = UINT((ctx->Zn<<1)); + ctx->d = UINT(ctx->Zd); + ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); + OK(ENC_UQSHRN_Z_MZ2_); + } + return rc; +} + /* uqshrnb_z_zi.xml */ int uqshrnb_z_zi(context *ctx, Instruction *instr) { @@ -68660,7 +69265,7 @@ int uqshrnb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -68684,7 +69289,7 @@ int uqshrnt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -69008,7 +69613,7 @@ int urshr_z_p_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->g = UINT(ctx->Pg); ctx->dn = UINT(ctx->Zdn); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -69073,7 +69678,7 @@ int ursra_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->da = UINT(ctx->Zda); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -69245,7 +69850,7 @@ int ushllb_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -69269,7 +69874,7 @@ int ushllt_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->d = UINT(ctx->Zd); ctx->shift = UINT(((ctx->tsize<<3)|ctx->imm3))-ctx->esize; @@ -69862,7 +70467,7 @@ int usra_z_zi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->n = UINT(ctx->Zn); ctx->da = UINT(ctx->Zda); ctx->shift = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); @@ -71182,7 +71787,7 @@ int xar_z_zzi(context *ctx, Instruction *instr) if(ctx->tsize==0) { EndOfDecode(Decode_UNDEF); } - ctx->esize = (8) << (HighestSetBit(ctx->tsize)); + ctx->esize = (8) << (HighestSetBitNZ(ctx->tsize)); ctx->m = UINT(ctx->Zm); ctx->dn = UINT(ctx->Zdn); ctx->rot = ((2) * (ctx->esize))-UINT(((ctx->tsize<<3)|ctx->imm3)); diff --git a/arch/arm64/disassembler/decode2.h b/arch/arm64/disassembler/decode2.h index 0b9ea8224..2fbd00cf7 100644 --- a/arch/arm64/disassembler/decode2.h +++ b/arch/arm64/disassembler/decode2.h @@ -278,6 +278,8 @@ int FDOT_advsimd_2wayelem(context *ctx, Instruction *instr); int FDOT_advsimd_2wayvec(context *ctx, Instruction *instr); int FDOT_advsimd_4wayelem(context *ctx, Instruction *instr); int FDOT_advsimd_4wayvec(context *ctx, Instruction *instr); +int FDOT_advsimd_elt_fp16fp32(context *ctx, Instruction *instr); +int FDOT_advsimd_fp16fp32(context *ctx, Instruction *instr); int FJCVTZS(context *ctx, Instruction *instr); int FMADD_float(context *ctx, Instruction *instr); int FMAXNMP_advsimd_pair(context *ctx, Instruction *instr); @@ -314,6 +316,8 @@ int FMLS_advsimd_elt(context *ctx, Instruction *instr); int FMLS_advsimd_vec(context *ctx, Instruction *instr); int FMMLA_FP8FP16(context *ctx, Instruction *instr); int FMMLA_FP8FP32(context *ctx, Instruction *instr); +int FMMLA_advsimd_fp16fp16(context *ctx, Instruction *instr); +int FMMLA_advsimd_fp16fp32(context *ctx, Instruction *instr); int FMOV_advsimd(context *ctx, Instruction *instr); int FMOV_float(context *ctx, Instruction *instr); int FMOV_float_gen(context *ctx, Instruction *instr); @@ -371,7 +375,10 @@ int GCSSS1_SYS(context *ctx, Instruction *instr); int GCSSS2_SYSL(context *ctx, Instruction *instr); int GCSSTR(context *ctx, Instruction *instr); int GCSSTTR(context *ctx, Instruction *instr); +int GICR_SYSL(context *ctx, Instruction *instr); +int GIC_SYS(context *ctx, Instruction *instr); int GMI(context *ctx, Instruction *instr); +int GSB_SYS(context *ctx, Instruction *instr); int HINT(context *ctx, Instruction *instr); int HLT(context *ctx, Instruction *instr); int HVC(context *ctx, Instruction *instr); @@ -397,6 +404,7 @@ int LDADD(context *ctx, Instruction *instr); int LDADDB(context *ctx, Instruction *instr); int LDADDH(context *ctx, Instruction *instr); int LDAP1_advsimd_sngl(context *ctx, Instruction *instr); +int LDAPP_gen(context *ctx, Instruction *instr); int LDAPR(context *ctx, Instruction *instr); int LDAPRB(context *ctx, Instruction *instr); int LDAPRH(context *ctx, Instruction *instr); @@ -407,6 +415,7 @@ int LDAPURSH(context *ctx, Instruction *instr); int LDAPURSW(context *ctx, Instruction *instr); int LDAPUR_fpsimd(context *ctx, Instruction *instr); int LDAPUR_gen(context *ctx, Instruction *instr); +int LDAP_gen(context *ctx, Instruction *instr); int LDAR(context *ctx, Instruction *instr); int LDARB(context *ctx, Instruction *instr); int LDARH(context *ctx, Instruction *instr); @@ -514,6 +523,7 @@ int MADD(context *ctx, Instruction *instr); int MADDPT(context *ctx, Instruction *instr); int MLA_advsimd_elt(context *ctx, Instruction *instr); int MLA_advsimd_vec(context *ctx, Instruction *instr); +int MLBI_SYS(context *ctx, Instruction *instr); int MLS_advsimd_elt(context *ctx, Instruction *instr); int MLS_advsimd_vec(context *ctx, Instruction *instr); int MNEG_MSUB(context *ctx, Instruction *instr); @@ -668,6 +678,7 @@ int SHLL_advsimd(context *ctx, Instruction *instr); int SHL_advsimd(context *ctx, Instruction *instr); int SHRN_advsimd(context *ctx, Instruction *instr); int SHSUB_advsimd(context *ctx, Instruction *instr); +int SHUH(context *ctx, Instruction *instr); int SLI_advsimd(context *ctx, Instruction *instr); int SM3PARTW1_advsimd(context *ctx, Instruction *instr); int SM3PARTW2_advsimd(context *ctx, Instruction *instr); @@ -767,6 +778,7 @@ int STBFMINNM(context *ctx, Instruction *instr); int STCLRB_LDCLRB(context *ctx, Instruction *instr); int STCLRH_LDCLRH(context *ctx, Instruction *instr); int STCLR_LDCLR(context *ctx, Instruction *instr); +int STCPH(context *ctx, Instruction *instr); int STEORB_LDEORB(context *ctx, Instruction *instr); int STEORH_LDEORH(context *ctx, Instruction *instr); int STEOR_LDEOR(context *ctx, Instruction *instr); @@ -783,6 +795,7 @@ int STL1_advsimd_sngl(context *ctx, Instruction *instr); int STLLR(context *ctx, Instruction *instr); int STLLRB(context *ctx, Instruction *instr); int STLLRH(context *ctx, Instruction *instr); +int STLP_gen(context *ctx, Instruction *instr); int STLR(context *ctx, Instruction *instr); int STLRB(context *ctx, Instruction *instr); int STLRH(context *ctx, Instruction *instr); @@ -876,18 +889,14 @@ int TBL_advsimd(context *ctx, Instruction *instr); int TBNZ(context *ctx, Instruction *instr); int TBX_advsimd(context *ctx, Instruction *instr); int TBZ(context *ctx, Instruction *instr); -int TCANCEL(context *ctx, Instruction *instr); -int TCOMMIT(context *ctx, Instruction *instr); int TLBIP_SYSP(context *ctx, Instruction *instr); int TLBI_SYS(context *ctx, Instruction *instr); int TRCIT_SYS(context *ctx, Instruction *instr); int TRN1_advsimd(context *ctx, Instruction *instr); int TRN2_advsimd(context *ctx, Instruction *instr); int TSB(context *ctx, Instruction *instr); -int TSTART(context *ctx, Instruction *instr); int TST_ANDS_log_imm(context *ctx, Instruction *instr); int TST_ANDS_log_shift(context *ctx, Instruction *instr); -int TTEST(context *ctx, Instruction *instr); int UABAL_advsimd(context *ctx, Instruction *instr); int UABA_advsimd(context *ctx, Instruction *instr); int UABDL_advsimd(context *ctx, Instruction *instr); @@ -991,8 +1000,10 @@ int addp_z_p_zz(context *ctx, Instruction *instr); int addpl_r_ri(context *ctx, Instruction *instr); int addpt_z_p_zz(context *ctx, Instruction *instr); int addpt_z_zz(context *ctx, Instruction *instr); +int addqp_z_zz(context *ctx, Instruction *instr); int addqv_z_p_z(context *ctx, Instruction *instr); int addspl_r_ri(context *ctx, Instruction *instr); +int addsubp_z_zz(context *ctx, Instruction *instr); int addsvl_r_ri(context *ctx, Instruction *instr); int addva_za_pp_z(context *ctx, Instruction *instr); int addvl_r_ri(context *ctx, Instruction *instr); @@ -1078,6 +1089,7 @@ int bfmlslb_z_zzz(context *ctx, Instruction *instr); int bfmlslb_z_zzzi(context *ctx, Instruction *instr); int bfmlslt_z_zzz(context *ctx, Instruction *instr); int bfmlslt_z_zzzi(context *ctx, Instruction *instr); +int bfmmla_z16_zzz(context *ctx, Instruction *instr); int bfmmla_z_zzz(context *ctx, Instruction *instr); int bfmop4a_za32_zz(context *ctx, Instruction *instr); int bfmop4a_za_zz(context *ctx, Instruction *instr); @@ -1224,8 +1236,10 @@ int fcvtx_z_p_z(context *ctx, Instruction *instr); int fcvtxnt_z_p_z(context *ctx, Instruction *instr); int fcvtzs_mz_z(context *ctx, Instruction *instr); int fcvtzs_z_p_z(context *ctx, Instruction *instr); +int fcvtzsn_z_mz2(context *ctx, Instruction *instr); int fcvtzu_mz_z(context *ctx, Instruction *instr); int fcvtzu_z_p_z(context *ctx, Instruction *instr); +int fcvtzun_z_mz2(context *ctx, Instruction *instr); int fdiv_z_p_zz(context *ctx, Instruction *instr); int fdivr_z_p_zz(context *ctx, Instruction *instr); int fdot_z32_zz8z8(context *ctx, Instruction *instr); @@ -1590,6 +1604,11 @@ int luti4_mz4_ztmz2(context *ctx, Instruction *instr); int luti4_mz4_ztz(context *ctx, Instruction *instr); int luti4_z_ztz(context *ctx, Instruction *instr); int luti4_z_zz(context *ctx, Instruction *instr); +int luti6_mz4_zmz2(context *ctx, Instruction *instr); +int luti6_mz4_ztz(context *ctx, Instruction *instr); +int luti6_z_z2zz(context *ctx, Instruction *instr); +int luti6_z_ztz(context *ctx, Instruction *instr); +int luti6_z_zzz(context *ctx, Instruction *instr); int mad_z_p_zzz(context *ctx, Instruction *instr); int madpt_z_zzz(context *ctx, Instruction *instr); int match_p_p_zz(context *ctx, Instruction *instr); @@ -1720,6 +1739,7 @@ int rshrnt_z_zi(context *ctx, Instruction *instr); int rsubhnb_z_zz(context *ctx, Instruction *instr); int rsubhnt_z_zz(context *ctx, Instruction *instr); int saba_z_zzz(context *ctx, Instruction *instr); +int sabal_z_zzz(context *ctx, Instruction *instr); int sabalb_z_zzz(context *ctx, Instruction *instr); int sabalt_z_zzz(context *ctx, Instruction *instr); int sabd_z_p_zz(context *ctx, Instruction *instr); @@ -1738,6 +1758,8 @@ int sclamp_mz_zz(context *ctx, Instruction *instr); int sclamp_z_zz(context *ctx, Instruction *instr); int scvtf_mz_z(context *ctx, Instruction *instr); int scvtf_z_p_z(context *ctx, Instruction *instr); +int scvtf_z_z(context *ctx, Instruction *instr); +int scvtflt_z_z(context *ctx, Instruction *instr); int sdiv_z_p_zz(context *ctx, Instruction *instr); int sdivr_z_p_zz(context *ctx, Instruction *instr); int sdot_z32_zzz(context *ctx, Instruction *instr); @@ -1889,8 +1911,10 @@ int sqshl_z_p_zi(context *ctx, Instruction *instr); int sqshl_z_p_zz(context *ctx, Instruction *instr); int sqshlr_z_p_zz(context *ctx, Instruction *instr); int sqshlu_z_p_zi(context *ctx, Instruction *instr); +int sqshrn_z_mz2(context *ctx, Instruction *instr); int sqshrnb_z_zi(context *ctx, Instruction *instr); int sqshrnt_z_zi(context *ctx, Instruction *instr); +int sqshrun_z_mz2(context *ctx, Instruction *instr); int sqshrunb_z_zi(context *ctx, Instruction *instr); int sqshrunt_z_zi(context *ctx, Instruction *instr); int sqsub_z_p_zz(context *ctx, Instruction *instr); @@ -2028,6 +2052,7 @@ int sub_za_zzv(context *ctx, Instruction *instr); int sub_za_zzw(context *ctx, Instruction *instr); int subhnb_z_zz(context *ctx, Instruction *instr); int subhnt_z_zz(context *ctx, Instruction *instr); +int subp_z_p_zz(context *ctx, Instruction *instr); int subpt_z_p_zz(context *ctx, Instruction *instr); int subpt_z_zz(context *ctx, Instruction *instr); int subr_z_p_zz(context *ctx, Instruction *instr); @@ -2056,6 +2081,7 @@ int tbxq_z_zz(context *ctx, Instruction *instr); int trn1_p_pp(context *ctx, Instruction *instr); int trn1_z_zz(context *ctx, Instruction *instr); int uaba_z_zzz(context *ctx, Instruction *instr); +int uabal_z_zzz(context *ctx, Instruction *instr); int uabalb_z_zzz(context *ctx, Instruction *instr); int uabalt_z_zzz(context *ctx, Instruction *instr); int uabd_z_p_zz(context *ctx, Instruction *instr); @@ -2071,6 +2097,8 @@ int uclamp_mz_zz(context *ctx, Instruction *instr); int uclamp_z_zz(context *ctx, Instruction *instr); int ucvtf_mz_z(context *ctx, Instruction *instr); int ucvtf_z_p_z(context *ctx, Instruction *instr); +int ucvtf_z_z(context *ctx, Instruction *instr); +int ucvtflt_z_z(context *ctx, Instruction *instr); int udiv_z_p_zz(context *ctx, Instruction *instr); int udivr_z_p_zz(context *ctx, Instruction *instr); int udot_z32_zzz(context *ctx, Instruction *instr); @@ -2171,6 +2199,7 @@ int uqrshrnt_z_zi(context *ctx, Instruction *instr); int uqshl_z_p_zi(context *ctx, Instruction *instr); int uqshl_z_p_zz(context *ctx, Instruction *instr); int uqshlr_z_p_zz(context *ctx, Instruction *instr); +int uqshrn_z_mz2(context *ctx, Instruction *instr); int uqshrnb_z_zi(context *ctx, Instruction *instr); int uqshrnt_z_zi(context *ctx, Instruction *instr); int uqsub_z_p_zz(context *ctx, Instruction *instr); diff --git a/arch/arm64/disassembler/decode_fields32.c b/arch/arm64/disassembler/decode_fields32.c index 09e45dff6..86f08e299 100644 --- a/arch/arm64/disassembler/decode_fields32.c +++ b/arch/arm64/disassembler/decode_fields32.c @@ -1874,6 +1874,17 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Rn = (insword>>5)&0x1f; ctx->Rt = insword&0x1f; break; + case ENC_LDAPP_64_LDIAPPSTILP: + case ENC_LDAP_64_LDIAPPSTILP: + case ENC_STLP_64_LDIAPPSTILP: + // size=xx|xx|x|x|x|xx|L=x|x|Rt2=xxxxx|opc2=xxxx|xx|Rn=xxxxx|Rt=xxxxx + ctx->size = insword>>30; + ctx->L = (insword>>22)&1; + ctx->Rt2 = (insword>>16)&0x1f; + ctx->opc2 = (insword>>12)&15; + ctx->Rn = (insword>>5)&0x1f; + ctx->Rt = insword&0x1f; + break; case ENC_LDAPURB_32_LDAPSTL_UNSCALED: case ENC_LDAPURH_32_LDAPSTL_UNSCALED: case ENC_LDAPURSW_64_LDAPSTL_UNSCALED: @@ -2813,8 +2824,10 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zt = insword&0x1f; break; + case ENC_BFMMLA_Z_ZZZ_H: case ENC_FMMLA_Z16_ZZ8Z8_: case ENC_FMMLA_Z32_ZZ8Z8_: + case ENC_FMMLA_Z_ZZZ_H: // xxx|xxxx|xx|op=x|x|Zm=xxxxx|xxxxxx|Zn=xxxxx|Zda=xxxxx ctx->op = (insword>>22)&1; ctx->Zm = (insword>>16)&0x1f; @@ -2977,6 +2990,7 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Pd = insword&15; break; case ENC_LUTI4_Z_ZZ_8: + case ENC_LUTI6_Z_ZZZ_16: // xxx|xxxx|x|i1=x|x|x|Zm=xxxxx|xxx|xxx|Zn=xxxxx|Zd=xxxxx ctx->i1 = (insword>>23)&1; ctx->Zm = (insword>>16)&0x1f; @@ -3466,6 +3480,24 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->PNn = (insword>>5)&15; ctx->Rd = insword&0x1f; break; + case ENC_SCVTF_Z_Z_: + case ENC_SCVTFLT_Z_Z_: + case ENC_UCVTF_Z_Z_: + case ENC_UCVTFLT_Z_Z_: + // xxx|xxxx|x|size=xx|xxx|xxx|xxxx|x|U=x|Zn=xxxxx|Zd=xxxxx + ctx->size = (insword>>22)&3; + ctx->U = (insword>>10)&1; + ctx->Zn = (insword>>5)&0x1f; + ctx->Zd = insword&0x1f; + break; + case ENC_FCVTZSN_Z_MZ2_: + case ENC_FCVTZUN_Z_MZ2_: + // xxx|xxxx|x|size=xx|xxx|xxx|xxxx|x|U=x|Zn=xxxx|x|Zd=xxxxx + ctx->size = (insword>>22)&3; + ctx->U = (insword>>10)&1; + ctx->Zn = (insword>>6)&15; + ctx->Zd = insword&0x1f; + break; case ENC_FRECPX_Z_P_Z_Z: case ENC_FSQRT_Z_P_Z_Z: // xxx|xxxx|x|size=xx|xxx|xxx|x|opc=xx|Pg=xxx|Zn=xxxxx|Zd=xxxxx @@ -3839,6 +3871,15 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zd = insword&0x1f; break; + case ENC_SABAL_Z_ZZ_: + case ENC_UABAL_Z_ZZ_: + // xxx|xxxx|x|size=xx|x|Zm=xxxxx|xxxx|U=x|x|Zn=xxxxx|Zda=xxxxx + ctx->size = (insword>>22)&3; + ctx->Zm = (insword>>16)&0x1f; + ctx->U = (insword>>11)&1; + ctx->Zn = (insword>>5)&0x1f; + ctx->Zda = insword&0x1f; + break; case ENC_FTSSEL_Z_ZZ_: // xxx|xxxx|x|size=xx|x|Zm=xxxxx|xxxx|x|op=x|Zn=xxxxx|Zd=xxxxx ctx->size = (insword>>22)&3; @@ -3886,6 +3927,8 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zd = insword&0x1f; break; + case ENC_ADDQP_Z_ZZ_: + case ENC_ADDSUBP_Z_ZZ_: case ENC_HISTSEG_Z_ZZ_: // xxx|xxxx|x|size=xx|x|Zm=xxxxx|xxx|xxx|Zn=xxxxx|Zd=xxxxx ctx->size = (insword>>22)&3; @@ -4074,7 +4117,9 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zda = insword&0x1f; break; + case ENC_SDOT_Z16_ZZZ_H: case ENC_SDOT_Z_ZZZ_: + case ENC_UDOT_Z16_ZZZ_H: case ENC_UDOT_Z_ZZZ_: // xxx|xxxx|x|size=xx|x|Zm=xxxxx|x|xxxx|U=x|Zn=xxxxx|Zda=xxxxx ctx->size = (insword>>22)&3; @@ -4888,6 +4933,7 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) case ENC_ADDP_Z_P_ZZ_: case ENC_SMAXP_Z_P_ZZ_: case ENC_SMINP_Z_P_ZZ_: + case ENC_SUBP_Z_P_ZZ_: case ENC_UMAXP_Z_P_ZZ_: case ENC_UMINP_Z_P_ZZ_: // xxx|xxxx|x|size=xx|x|xx|opc=xx|U=x|xx|x|Pg=xxx|Zm=xxxxx|Zdn=xxxxx @@ -5394,6 +5440,16 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zda = insword&0x1f; break; + case ENC_SDOT_Z16_ZZZI_H: + case ENC_UDOT_Z16_ZZZI_H: + // xxx|xxxx|x|x|i3h=x|x|i3l=xx|Zm=xxx|xxxxx|U=x|Zn=xxxxx|Zda=xxxxx + ctx->i3h = (insword>>22)&1; + ctx->i3l = (insword>>19)&3; + ctx->Zm = (insword>>16)&7; + ctx->U = (insword>>10)&1; + ctx->Zn = (insword>>5)&0x1f; + ctx->Zda = insword&0x1f; + break; case ENC_BFMLA_Z_ZZZI_H: case ENC_BFMLS_Z_ZZZI_H: case ENC_FMLA_Z_ZZZI_H: @@ -5465,6 +5521,31 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zda = insword&0x1f; break; + case ENC_SQSHRN_Z_MZ2_: + case ENC_SQSHRUN_Z_MZ2_: + case ENC_UQSHRN_Z_MZ2_: + // xxx|xxxx|x|x|op0=x|x|tsize=xx|imm3=xxx|x|x|op1=x|U=x|R=x|x|Zn=xxxx|x|Zd=xxxxx + ctx->op0 = (insword>>22)&1; + ctx->tsize = (insword>>19)&3; + ctx->imm3 = (insword>>16)&7; + ctx->op1 = (insword>>13)&1; + ctx->U = (insword>>12)&1; + ctx->R = (insword>>11)&1; + ctx->Zn = (insword>>6)&15; + ctx->Zd = insword&0x1f; + break; + case ENC_SQRSHRN_Z_MZ2_B: + case ENC_SQRSHRUN_Z_MZ2_B: + case ENC_UQRSHRN_Z_MZ2_B: + // xxx|xxxx|x|x|op0=x|x|xx|imm3=xxx|x|x|op1=x|U=x|R=x|x|Zn=xxxx|x|Zd=xxxxx + ctx->op0 = (insword>>22)&1; + ctx->imm3 = (insword>>16)&7; + ctx->op1 = (insword>>13)&1; + ctx->U = (insword>>12)&1; + ctx->R = (insword>>11)&1; + ctx->Zn = (insword>>6)&15; + ctx->Zd = insword&0x1f; + break; case ENC_SQRSHRN_Z_MZ2_: case ENC_SQRSHRUN_Z_MZ2_: case ENC_UQRSHRN_Z_MZ2_: @@ -5650,6 +5731,12 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>5)&0x1f; ctx->Zda = insword&0x1f; break; + case ENC_LUTI6_Z_ZZZ_8: + // xxx|xxxx|x|x|x|x|Zm=xxxxx|xxx|xxx|Zn=xxxxx|Zd=xxxxx + ctx->Zm = (insword>>16)&0x1f; + ctx->Zn = (insword>>5)&0x1f; + ctx->Zd = insword&0x1f; + break; case ENC_WFET_ONLY_SYSTEMINSTRSWITHREG: case ENC_WFIT_ONLY_SYSTEMINSTRSWITHREG: // xxx|xxx|xxxxxxxxxxxxxx|CRm=xxxx|op2=xxx|Rd=xxxxx @@ -5658,7 +5745,6 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Rd = insword&0x1f; break; case ENC_CLREX_BN_BARRIERS: - case ENC_TCOMMIT_ONLY_BARRIERS: // xxx|xxx|xxxxxxxxxxxxxx|CRm=xxxx|op2=xxx|Rt=xxxxx ctx->CRm = (insword>>8)&15; ctx->op2 = (insword>>5)&7; @@ -5677,6 +5763,8 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) case ENC_PSB_HC_HINTS: case ENC_SEV_HI_HINTS: case ENC_SEVL_HI_HINTS: + case ENC_SHUH_HI_HINTS: + case ENC_STCPH_HI_HINTS: case ENC_STSHH_HI_HINTS: case ENC_TSB_HC_HINTS: case ENC_WFE_HI_HINTS: @@ -5704,15 +5792,6 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->op2 = (insword>>5)&7; ctx->Rt = insword&0x1f; break; - case ENC_TSTART_BR_SYSTEMRESULT: - case ENC_TTEST_BR_SYSTEMRESULT: - // xxx|xxx|xxxxxxx|op1=xxx|CRn=xxxx|CRm=xxxx|op2=xxx|Rt=xxxxx - ctx->op1 = (insword>>16)&7; - ctx->CRn = (insword>>12)&15; - ctx->CRm = (insword>>8)&15; - ctx->op2 = (insword>>5)&7; - ctx->Rt = insword&0x1f; - break; case ENC_AXFLAG_M_PSTATE: case ENC_CFINV_M_PSTATE: case ENC_MSR_SI_PSTATE: @@ -5740,7 +5819,11 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) case ENC_GCSPUSHX_SYS_CR_SYSTEMINSTRS: case ENC_GCSSS1_SYS_CR_SYSTEMINSTRS: case ENC_GCSSS2_SYSL_RC_SYSTEMINSTRS: + case ENC_GICR_SYSL_RC_SYSTEMINSTRS: + case ENC_GIC_SYS_CR_SYSTEMINSTRS: + case ENC_GSB_SYS_CR_SYSTEMINSTRS: case ENC_IC_SYS_CR_SYSTEMINSTRS: + case ENC_MLBI_SYS_CR_SYSTEMINSTRS: case ENC_SYS_CR_SYSTEMINSTRS: case ENC_SYSL_RC_SYSTEMINSTRS: case ENC_SYSP_CR_SYSPAIRINSTRS: @@ -5798,7 +5881,6 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) case ENC_HVC_EX_EXCEPTION: case ENC_SMC_EX_EXCEPTION: case ENC_SVC_EX_EXCEPTION: - case ENC_TCANCEL_EX_EXCEPTION: // xxx|xxx|xx|opc=xxx|imm16=xxxxxxxxxxxxxxxx|op2=xxx|LL=xx ctx->opc = (insword>>21)&7; ctx->imm16 = (insword>>5)&0xffff; @@ -6597,6 +6679,7 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) case ENC_BFMLAL_ASIMDELEM_F: case ENC_FDOT_ASIMDELEM_G: case ENC_FDOT_ASIMDELEM_D: + case ENC_FDOT_ASIMDELEM_FP16FP32: case ENC_FMULX_ASIMDELEM_RH_H: case ENC_FMUL_ASIMDELEM_RH_H: case ENC_MUL_ASIMDELEM_R: @@ -6917,8 +7000,11 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) case ENC_FCVTN_ASIMDSAME2_H: case ENC_FDOT_ASIMDSAME2_D: case ENC_FDOT_ASIMDSAME2_DD: + case ENC_FDOT_ASIMDSAME2_FP16FP32: case ENC_FMMLA_ASIMD_FP8FP16: case ENC_FMMLA_ASIMD_FP8FP32: + case ENC_FMMLA_ASIMD_FP16FP16: + case ENC_FMMLA_ASIMD_FP16FP32: case ENC_SDOT_ASIMDSAME2_D: case ENC_UDOT_ASIMDSAME2_D: case ENC_USDOT_ASIMDSAME2_D: @@ -7781,6 +7867,14 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->D = (insword>>4)&1; ctx->Zd = insword&3; break; + case ENC_LUTI6_MZ4_ZTMZ3_4: + // x|xx|xxxx|xxxxxx|xxx|xx|size=xx|opc=xx|Zn=xxx|x|x|D=x|xx|Zd=xx + ctx->size = (insword>>12)&3; + ctx->opc = (insword>>10)&3; + ctx->Zn = (insword>>7)&7; + ctx->D = (insword>>4)&1; + ctx->Zd = insword&3; + break; case ENC_LUTI4_MZ4_ZTZ_4: // x|xx|xxxx|xxxxxx|xx|i1=x|xx|size=xx|opc2=xx|Zn=xxxxx|D=x|xx|Zd=xx ctx->i1 = (insword>>16)&1; @@ -7842,6 +7936,21 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Rn = (insword>>5)&0x1f; ctx->opc2 = insword&3; break; + case ENC_LUTI6_MZ4_ZMZ2_4: + // x|xx|xxxx|xx|i1=x|x|Zm=xxxxx|xxxx|xx|Zn=xxxxx|D=x|xx|Zd=xx + ctx->i1 = (insword>>22)&1; + ctx->Zm = (insword>>16)&0x1f; + ctx->Zn = (insword>>5)&0x1f; + ctx->D = (insword>>4)&1; + ctx->Zd = insword&3; + break; + case ENC_LUTI6_MZ4_ZMZ2_1: + // x|xx|xxxx|xx|i1=x|x|Zm=xxxxx|xxxx|xx|Zn=xxxxx|Zd=xxx|xx + ctx->i1 = (insword>>22)&1; + ctx->Zm = (insword>>16)&0x1f; + ctx->Zn = (insword>>5)&0x1f; + ctx->Zd = (insword>>2)&7; + break; case ENC_SMLALL_ZA_ZZV_1: case ENC_SMLSLL_ZA_ZZV_1: case ENC_UMLALL_ZA_ZZV_1: @@ -8239,6 +8348,14 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zt = (insword>>2)&7; ctx->N = insword&1; break; + case ENC_LUTI6_Z_ZTZ_: + // x|xx|xxxx|xx|x|xxx|opc=xxxxx|size=xx|opc2=xx|Zn=xxxxx|Zd=xxxxx + ctx->opc = (insword>>14)&0x1f; + ctx->size = (insword>>12)&3; + ctx->opc2 = (insword>>10)&3; + ctx->Zn = (insword>>5)&0x1f; + ctx->Zd = insword&0x1f; + break; case ENC_LUTI4_MZ4_ZTMZ2_1: // x|xx|xxxx|xx|x|xxx|xxxxx|size=xx|opc=xx|Zn=xxxx|x|Zd=xxx|xx ctx->size = (insword>>12)&3; @@ -8246,6 +8363,13 @@ void decode_fields32(enum ENCODING enc, context *ctx, Instruction *instr) ctx->Zn = (insword>>6)&15; ctx->Zd = (insword>>2)&7; break; + case ENC_LUTI6_MZ4_ZTMZ3_1: + // x|xx|xxxx|xx|x|xxx|xxxxx|size=xx|opc=xx|Zn=xxx|x|x|Zd=xxx|xx + ctx->size = (insword>>12)&3; + ctx->opc = (insword>>10)&3; + ctx->Zn = (insword>>7)&7; + ctx->Zd = (insword>>2)&7; + break; case ENC_LUTI4_MZ4_ZTZ_1: // x|xx|xxxx|xx|x|xxx|xx|i1=x|xx|size=xx|opc2=xx|Zn=xxxxx|Zd=xxx|xx ctx->i1 = (insword>>16)&1; diff --git a/arch/arm64/disassembler/decode_scratchpad.c b/arch/arm64/disassembler/decode_scratchpad.c index f50ad23d0..f869889f8 100644 --- a/arch/arm64/disassembler/decode_scratchpad.c +++ b/arch/arm64/disassembler/decode_scratchpad.c @@ -1607,7 +1607,6 @@ int decode_scratchpad(context* ctx, Instruction* instr) // case ENC_SSBB_ONLY_BARRIERS: // case ENC_PSSBB_ONLY_BARRIERS: case ENC_SB_ONLY_BARRIERS: - case ENC_TCOMMIT_ONLY_BARRIERS: case ENC_PSSBB_DSB_BO_BARRIERS: case ENC_SSBB_DSB_BO_BARRIERS: break; @@ -8110,18 +8109,6 @@ int decode_scratchpad(context* ctx, Instruction* instr) ADD_OPERAND_XT; break; } - case ENC_TCANCEL_EX_EXCEPTION: - { - unsigned imm = ctx->imm16; - ADD_OPERAND_IMM32(imm, 0); - break; - } - case ENC_TSTART_BR_SYSTEMRESULT: - case ENC_TTEST_BR_SYSTEMRESULT: - { - ADD_OPERAND_XT; - break; - } case ENC_TLBI_SYS_CR_SYSTEMINSTRS: { uint64_t op1 = ctx->op1; diff --git a/arch/arm64/disassembler/encodings_dec.c b/arch/arm64/disassembler/encodings_dec.c index daba555b7..30b635628 100644 --- a/arch/arm64/disassembler/encodings_dec.c +++ b/arch/arm64/disassembler/encodings_dec.c @@ -67,6 +67,8 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_ADDPT_Z_P_ZZ_: case ENC_ADDPT_Z_ZZ_: return ARM64_ADDPT; + case ENC_ADDQP_Z_ZZ_: + return ARM64_ADDQP; case ENC_ADDQV_Z_P_Z_: return ARM64_ADDQV; case ENC_ADDS_32S_ADDSUB_EXT: @@ -78,6 +80,8 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_ADDS; case ENC_ADDSPL_R_RI_: return ARM64_ADDSPL; + case ENC_ADDSUBP_Z_ZZ_: + return ARM64_ADDSUBP; case ENC_ADDSVL_R_RI_: return ARM64_ADDSVL; case ENC_ADDV_ASIMDALL_ONLY: @@ -350,6 +354,7 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_BFMLSLT_Z_ZZZI_: return ARM64_BFMLSLT; case ENC_BFMMLA_ASIMDSAME2_E: + case ENC_BFMMLA_Z_ZZZ_H: case ENC_BFMMLA_Z_ZZZ_: return ARM64_BFMMLA; case ENC_BFMOP4A_ZA32_ZZ_H1X2: @@ -1569,6 +1574,8 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_FCVTZS_Z_P_Z_D2X: case ENC_FCVTZS_Z_P_Z_D2XZ: return ARM64_FCVTZS; + case ENC_FCVTZSN_Z_MZ2_: + return ARM64_FCVTZSN; case ENC_FCVTZU_ASISDSHF_C: case ENC_FCVTZU_ASIMDSHF_C: case ENC_FCVTZU_ASISDMISCFP16_R: @@ -1608,6 +1615,8 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_FCVTZU_Z_P_Z_D2X: case ENC_FCVTZU_Z_P_Z_D2XZ: return ARM64_FCVTZU; + case ENC_FCVTZUN_Z_MZ2_: + return ARM64_FCVTZUN; case ENC_FDIV_ASIMDSAMEFP16_ONLY: case ENC_FDIV_ASIMDSAME_ONLY: case ENC_FDIV_H_FLOATDP2: @@ -1621,6 +1630,8 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_FDOT_ASIMDSAME2_D: case ENC_FDOT_ASIMDELEM_D: case ENC_FDOT_ASIMDSAME2_DD: + case ENC_FDOT_ASIMDELEM_FP16FP32: + case ENC_FDOT_ASIMDSAME2_FP16FP32: case ENC_FDOT_Z32_ZZ8Z8_: case ENC_FDOT_Z32_ZZ8Z8I_: case ENC_FDOT_Z_ZZ8Z8_: @@ -1896,9 +1907,12 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_FMLSLT; case ENC_FMMLA_ASIMD_FP8FP16: case ENC_FMMLA_ASIMD_FP8FP32: + case ENC_FMMLA_ASIMD_FP16FP16: + case ENC_FMMLA_ASIMD_FP16FP32: case ENC_FMMLA_Z16_ZZ8Z8_: case ENC_FMMLA_Z32_ZZ8Z8_: case ENC_FMMLA_Z32_ZZZ_H: + case ENC_FMMLA_Z_ZZZ_H: case ENC_FMMLA_Z_ZZZ_S: case ENC_FMMLA_Z_ZZZ_D: return ARM64_FMMLA; @@ -2232,8 +2246,14 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_GCSSTR; case ENC_GCSSTTR_64_LDST_GCS: return ARM64_GCSSTTR; + case ENC_GIC_SYS_CR_SYSTEMINSTRS: + return ARM64_GIC; + case ENC_GICR_SYSL_RC_SYSTEMINSTRS: + return ARM64_GICR; case ENC_GMI_64G_DP_2SRC: return ARM64_GMI; + case ENC_GSB_SYS_CR_SYSTEMINSTRS: + return ARM64_GSB; case ENC_HINT_HM_HINTS: return ARM64_HINT; case ENC_HISTCNT_Z_P_ZZ_: @@ -2620,8 +2640,12 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_LDADDLB; case ENC_LDADDLH_32_MEMOP: return ARM64_LDADDLH; + case ENC_LDAP_64_LDIAPPSTILP: + return ARM64_LDAP; case ENC_LDAP1_ASISDLSO_D1: return ARM64_LDAP1; + case ENC_LDAPP_64_LDIAPPSTILP: + return ARM64_LDAPP; case ENC_LDAPR_32L_LDAPSTL_WRITEBACK: case ENC_LDAPR_64L_LDAPSTL_WRITEBACK: case ENC_LDAPR_32L_MEMOP: @@ -3423,6 +3447,14 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_LUTI4_Z_ZZ_2X16: case ENC_LUTI4_Z_ZZ_1X16: return ARM64_LUTI4; + case ENC_LUTI6_MZ4_ZMZ2_1: + case ENC_LUTI6_MZ4_ZMZ2_4: + case ENC_LUTI6_MZ4_ZTMZ3_1: + case ENC_LUTI6_MZ4_ZTMZ3_4: + case ENC_LUTI6_Z_ZZZ_16: + case ENC_LUTI6_Z_ZTZ_: + case ENC_LUTI6_Z_ZZZ_8: + return ARM64_LUTI6; case ENC_MAD_Z_P_ZZZ_: return ARM64_MAD; case ENC_MADD_32A_DP_3SRC: @@ -3443,6 +3475,8 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_MLA; case ENC_MLAPT_Z_ZZZ_: return ARM64_MLAPT; + case ENC_MLBI_SYS_CR_SYSTEMINSTRS: + return ARM64_MLBI; case ENC_MLS_ASIMDELEM_R: case ENC_MLS_ASIMDSAME_ONLY: case ENC_MLS_Z_P_ZZZ_: @@ -4045,6 +4079,7 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_SABA_Z_ZZZ_: return ARM64_SABA; case ENC_SABAL_ASIMDDIFF_L: + case ENC_SABAL_Z_ZZ_: return ARM64_SABAL; //case ENC_SABAL_ASIMDDIFF_L: // return ARM64_SABAL2; @@ -4153,7 +4188,10 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_SCVTF_Z_P_Z_X2SZ: case ENC_SCVTF_Z_P_Z_X2D: case ENC_SCVTF_Z_P_Z_X2DZ: + case ENC_SCVTF_Z_Z_: return ARM64_SCVTF; + case ENC_SCVTFLT_Z_Z_: + return ARM64_SCVTFLT; case ENC_SDIV_32_DP_2SRC: case ENC_SDIV_64_DP_2SRC: case ENC_SDIV_Z_P_ZZ_: @@ -4162,7 +4200,9 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_SDIVR; case ENC_SDOT_ASIMDELEM_D: case ENC_SDOT_ASIMDSAME2_D: + case ENC_SDOT_Z16_ZZZ_H: case ENC_SDOT_Z32_ZZZ_: + case ENC_SDOT_Z16_ZZZI_H: case ENC_SDOT_Z32_ZZZI_: case ENC_SDOT_Z_ZZZ_: case ENC_SDOT_Z_ZZZI_S: @@ -4296,6 +4336,8 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_SHSUB; case ENC_SHSUBR_Z_P_ZZ_: return ARM64_SHSUBR; + case ENC_SHUH_HI_HINTS: + return ARM64_SHUH; case ENC_SLI_ASISDSHF_R: case ENC_SLI_ASIMDSHF_R: case ENC_SLI_Z_ZZI_: @@ -4677,6 +4719,7 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_SQRSHR; case ENC_SQRSHRN_ASISDSHF_N: case ENC_SQRSHRN_ASIMDSHF_N: + case ENC_SQRSHRN_Z_MZ2_B: case ENC_SQRSHRN_Z_MZ2_: case ENC_SQRSHRN_Z_MZ4_: return ARM64_SQRSHRN; @@ -4691,6 +4734,7 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_SQRSHRU; case ENC_SQRSHRUN_ASISDSHF_N: case ENC_SQRSHRUN_ASIMDSHF_N: + case ENC_SQRSHRUN_Z_MZ2_B: case ENC_SQRSHRUN_Z_MZ2_: case ENC_SQRSHRUN_Z_MZ4_: return ARM64_SQRSHRUN; @@ -4715,6 +4759,7 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_SQSHLU; case ENC_SQSHRN_ASISDSHF_N: case ENC_SQSHRN_ASIMDSHF_N: + case ENC_SQSHRN_Z_MZ2_: return ARM64_SQSHRN; //case ENC_SQSHRN_ASIMDSHF_N: // return ARM64_SQSHRN2; @@ -4724,6 +4769,7 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_SQSHRNT; case ENC_SQSHRUN_ASISDSHF_N: case ENC_SQSHRUN_ASIMDSHF_N: + case ENC_SQSHRUN_Z_MZ2_: return ARM64_SQSHRUN; //case ENC_SQSHRUN_ASIMDSHF_N: // return ARM64_SQSHRUN2; @@ -5079,6 +5125,8 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_STCLRLB; case ENC_STCLRLH_LDCLRLH_32_MEMOP: return ARM64_STCLRLH; + case ENC_STCPH_HI_HINTS: + return ARM64_STCPH; case ENC_STEOR_LDEOR_32_MEMOP: case ENC_STEOR_LDEOR_64_MEMOP: return ARM64_STEOR; @@ -5157,6 +5205,8 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_STLLRB; case ENC_STLLRH_SL32_LDSTORD: return ARM64_STLLRH; + case ENC_STLP_64_LDIAPPSTILP: + return ARM64_STLP; case ENC_STLR_SL32_LDSTORD: case ENC_STLR_SL64_LDSTORD: case ENC_STLR_32S_LDAPSTL_WRITEBACK: @@ -5483,6 +5533,7 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_SUBHNT_Z_ZZ_: return ARM64_SUBHNT; case ENC_SUBP_64S_DP_2SRC: + case ENC_SUBP_Z_P_ZZ_: return ARM64_SUBP; case ENC_SUBPS_64S_DP_2SRC: return ARM64_SUBPS; @@ -5651,10 +5702,6 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_TBXQ; case ENC_TBZ_ONLY_TESTBRANCH: return ARM64_TBZ; - case ENC_TCANCEL_EX_EXCEPTION: - return ARM64_TCANCEL; - case ENC_TCOMMIT_ONLY_BARRIERS: - return ARM64_TCOMMIT; case ENC_TLBI_SYS_CR_SYSTEMINSTRS: return ARM64_TLBI; case ENC_TLBIP_SYSP_CR_SYSPAIRINSTRS: @@ -5678,14 +5725,11 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_TST_ANDS_32_LOG_SHIFT: case ENC_TST_ANDS_64_LOG_SHIFT: return ARM64_TST; - case ENC_TSTART_BR_SYSTEMRESULT: - return ARM64_TSTART; - case ENC_TTEST_BR_SYSTEMRESULT: - return ARM64_TTEST; case ENC_UABA_ASIMDSAME_ONLY: case ENC_UABA_Z_ZZZ_: return ARM64_UABA; case ENC_UABAL_ASIMDDIFF_L: + case ENC_UABAL_Z_ZZ_: return ARM64_UABAL; //case ENC_UABAL_ASIMDDIFF_L: // return ARM64_UABAL2; @@ -5780,7 +5824,10 @@ enum Operation enc_to_oper(enum ENCODING enc) case ENC_UCVTF_Z_P_Z_X2SZ: case ENC_UCVTF_Z_P_Z_X2D: case ENC_UCVTF_Z_P_Z_X2DZ: + case ENC_UCVTF_Z_Z_: return ARM64_UCVTF; + case ENC_UCVTFLT_Z_Z_: + return ARM64_UCVTFLT; case ENC_UDF_ONLY_PERM_UNDEF: return ARM64_UDF; case ENC_UDIV_32_DP_2SRC: @@ -5791,7 +5838,9 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_UDIVR; case ENC_UDOT_ASIMDELEM_D: case ENC_UDOT_ASIMDSAME2_D: + case ENC_UDOT_Z16_ZZZ_H: case ENC_UDOT_Z32_ZZZ_: + case ENC_UDOT_Z16_ZZZI_H: case ENC_UDOT_Z32_ZZZI_: case ENC_UDOT_Z_ZZZ_: case ENC_UDOT_Z_ZZZI_S: @@ -6053,6 +6102,7 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_UQRSHR; case ENC_UQRSHRN_ASISDSHF_N: case ENC_UQRSHRN_ASIMDSHF_N: + case ENC_UQRSHRN_Z_MZ2_B: case ENC_UQRSHRN_Z_MZ2_: case ENC_UQRSHRN_Z_MZ4_: return ARM64_UQRSHRN; @@ -6073,6 +6123,7 @@ enum Operation enc_to_oper(enum ENCODING enc) return ARM64_UQSHLR; case ENC_UQSHRN_ASISDSHF_N: case ENC_UQSHRN_ASIMDSHF_N: + case ENC_UQSHRN_Z_MZ2_: return ARM64_UQSHRN; //case ENC_UQSHRN_ASIMDSHF_N: // return ARM64_UQSHRN2; diff --git a/arch/arm64/disassembler/encodings_dec.h b/arch/arm64/disassembler/encodings_dec.h index ba49c121b..10e4042d1 100644 --- a/arch/arm64/disassembler/encodings_dec.h +++ b/arch/arm64/disassembler/encodings_dec.h @@ -1,10 +1,10 @@ /* GENERATED FILE */ #pragma once -// 5403 total named encodings -// 4584 are "real" (encoding or alias) -// 288 are alias -// 4296 are "base" (not an alias, not a placeholder) -// 819 are named placeholders for decoding endpoints +// 5446 total named encodings +// 4623 are "real" (encoding or alias) +// 292 are alias +// 4331 are "base" (not an alias, not a placeholder) +// 823 are named placeholders for decoding endpoints enum ENCODING { ENC_UNKNOWN=0, // 0 for easy init/memset ENC_ABS_32_DP_1SRC=1, @@ -694,4722 +694,4765 @@ ENC_FDIV_S_FLOATDP2=684, ENC_FDIV_ASIMDSAME_ONLY=685, ENC_FDIV_ASIMDSAMEFP16_ONLY=686, ENC_FDOT_ASIMDELEM_D=687, -ENC_FDOT_ASIMDELEM_G=688, -ENC_FDOT_ASIMDSAME2_D=689, -ENC_FDOT_ASIMDSAME2_DD=690, -ENC_FJCVTZS_32D_FLOAT2INT=691, -ENC_FMADD_D_FLOATDP3=692, -ENC_FMADD_H_FLOATDP3=693, -ENC_FMADD_S_FLOATDP3=694, -ENC_FMAXNMP_ASIMDSAME_ONLY=695, -ENC_FMAXNMP_ASIMDSAMEFP16_ONLY=696, -ENC_FMAXNMP_ASISDPAIR_ONLY_H=697, -ENC_FMAXNMP_ASISDPAIR_ONLY_SD=698, -ENC_FMAXNMV_ASIMDALL_ONLY_H=699, -ENC_FMAXNMV_ASIMDALL_ONLY_SD=700, -ENC_FMAXNM_D_FLOATDP2=701, -ENC_FMAXNM_H_FLOATDP2=702, -ENC_FMAXNM_S_FLOATDP2=703, -ENC_FMAXNM_ASIMDSAME_ONLY=704, -ENC_FMAXNM_ASIMDSAMEFP16_ONLY=705, -ENC_FMAXP_ASIMDSAME_ONLY=706, -ENC_FMAXP_ASIMDSAMEFP16_ONLY=707, -ENC_FMAXP_ASISDPAIR_ONLY_H=708, -ENC_FMAXP_ASISDPAIR_ONLY_SD=709, -ENC_FMAXV_ASIMDALL_ONLY_H=710, -ENC_FMAXV_ASIMDALL_ONLY_SD=711, -ENC_FMAX_D_FLOATDP2=712, -ENC_FMAX_H_FLOATDP2=713, -ENC_FMAX_S_FLOATDP2=714, -ENC_FMAX_ASIMDSAME_ONLY=715, -ENC_FMAX_ASIMDSAMEFP16_ONLY=716, -ENC_FMINNMP_ASIMDSAME_ONLY=717, -ENC_FMINNMP_ASIMDSAMEFP16_ONLY=718, -ENC_FMINNMP_ASISDPAIR_ONLY_H=719, -ENC_FMINNMP_ASISDPAIR_ONLY_SD=720, -ENC_FMINNMV_ASIMDALL_ONLY_H=721, -ENC_FMINNMV_ASIMDALL_ONLY_SD=722, -ENC_FMINNM_D_FLOATDP2=723, -ENC_FMINNM_H_FLOATDP2=724, -ENC_FMINNM_S_FLOATDP2=725, -ENC_FMINNM_ASIMDSAME_ONLY=726, -ENC_FMINNM_ASIMDSAMEFP16_ONLY=727, -ENC_FMINP_ASIMDSAME_ONLY=728, -ENC_FMINP_ASIMDSAMEFP16_ONLY=729, -ENC_FMINP_ASISDPAIR_ONLY_H=730, -ENC_FMINP_ASISDPAIR_ONLY_SD=731, -ENC_FMINV_ASIMDALL_ONLY_H=732, -ENC_FMINV_ASIMDALL_ONLY_SD=733, -ENC_FMIN_D_FLOATDP2=734, -ENC_FMIN_H_FLOATDP2=735, -ENC_FMIN_S_FLOATDP2=736, -ENC_FMIN_ASIMDSAME_ONLY=737, -ENC_FMIN_ASIMDSAMEFP16_ONLY=738, -ENC_FMLAL2_ASIMDELEM_LH=739, -ENC_FMLAL2_ASIMDSAME_F=740, -ENC_FMLALB_ASIMDELEM_H=741, -ENC_FMLALB_ASIMDSAME2_J=742, -ENC_FMLALLBB_ASIMDELEM_J=743, -ENC_FMLALLBB_ASIMDSAME2_G=744, -ENC_FMLALLBT_ASIMDELEM_J=745, -ENC_FMLALLBT_ASIMDSAME2_G=746, -ENC_FMLALLTB_ASIMDELEM_J=747, -ENC_FMLALLTB_ASIMDSAME2_G=748, -ENC_FMLALLTT_ASIMDELEM_J=749, -ENC_FMLALLTT_ASIMDSAME2_G=750, -ENC_FMLALT_ASIMDELEM_H=751, -ENC_FMLALT_ASIMDSAME2_J=752, -ENC_FMLAL_ASIMDELEM_LH=753, -ENC_FMLAL_ASIMDSAME_F=754, -ENC_FMLA_ASIMDELEM_RH_H=755, -ENC_FMLA_ASIMDELEM_R_SD=756, -ENC_FMLA_ASIMDSAME_ONLY=757, -ENC_FMLA_ASIMDSAMEFP16_ONLY=758, -ENC_FMLA_ASISDELEM_RH_H=759, -ENC_FMLA_ASISDELEM_R_SD=760, -ENC_FMLSL2_ASIMDELEM_LH=761, -ENC_FMLSL2_ASIMDSAME_F=762, -ENC_FMLSL_ASIMDELEM_LH=763, -ENC_FMLSL_ASIMDSAME_F=764, -ENC_FMLS_ASIMDELEM_RH_H=765, -ENC_FMLS_ASIMDELEM_R_SD=766, -ENC_FMLS_ASIMDSAME_ONLY=767, -ENC_FMLS_ASIMDSAMEFP16_ONLY=768, -ENC_FMLS_ASISDELEM_RH_H=769, -ENC_FMLS_ASISDELEM_R_SD=770, -ENC_FMMLA_ASIMD_FP8FP16=771, -ENC_FMMLA_ASIMD_FP8FP32=772, -ENC_FMOV_32H_FLOAT2INT=773, -ENC_FMOV_32S_FLOAT2INT=774, -ENC_FMOV_64D_FLOAT2INT=775, -ENC_FMOV_64H_FLOAT2INT=776, -ENC_FMOV_64VX_FLOAT2INT=777, -ENC_FMOV_D64_FLOAT2INT=778, -ENC_FMOV_D_FLOATDP1=779, -ENC_FMOV_D_FLOATIMM=780, -ENC_FMOV_H32_FLOAT2INT=781, -ENC_FMOV_H64_FLOAT2INT=782, -ENC_FMOV_H_FLOATDP1=783, -ENC_FMOV_H_FLOATIMM=784, -ENC_FMOV_S32_FLOAT2INT=785, -ENC_FMOV_S_FLOATDP1=786, -ENC_FMOV_S_FLOATIMM=787, -ENC_FMOV_V64I_FLOAT2INT=788, -ENC_FMOV_ASIMDIMM_D2_D=789, -ENC_FMOV_ASIMDIMM_H_H=790, -ENC_FMOV_ASIMDIMM_S_S=791, -ENC_FMSUB_D_FLOATDP3=792, -ENC_FMSUB_H_FLOATDP3=793, -ENC_FMSUB_S_FLOATDP3=794, -ENC_FMULX_ASIMDELEM_RH_H=795, -ENC_FMULX_ASIMDELEM_R_SD=796, -ENC_FMULX_ASIMDSAME_ONLY=797, -ENC_FMULX_ASIMDSAMEFP16_ONLY=798, -ENC_FMULX_ASISDELEM_RH_H=799, -ENC_FMULX_ASISDELEM_R_SD=800, -ENC_FMULX_ASISDSAME_ONLY=801, -ENC_FMULX_ASISDSAMEFP16_ONLY=802, -ENC_FMUL_D_FLOATDP2=803, -ENC_FMUL_H_FLOATDP2=804, -ENC_FMUL_S_FLOATDP2=805, -ENC_FMUL_ASIMDELEM_RH_H=806, -ENC_FMUL_ASIMDELEM_R_SD=807, -ENC_FMUL_ASIMDSAME_ONLY=808, -ENC_FMUL_ASIMDSAMEFP16_ONLY=809, -ENC_FMUL_ASISDELEM_RH_H=810, -ENC_FMUL_ASISDELEM_R_SD=811, -ENC_FNEG_D_FLOATDP1=812, -ENC_FNEG_H_FLOATDP1=813, -ENC_FNEG_S_FLOATDP1=814, -ENC_FNEG_ASIMDMISC_R=815, -ENC_FNEG_ASIMDMISCFP16_R=816, -ENC_FNMADD_D_FLOATDP3=817, -ENC_FNMADD_H_FLOATDP3=818, -ENC_FNMADD_S_FLOATDP3=819, -ENC_FNMSUB_D_FLOATDP3=820, -ENC_FNMSUB_H_FLOATDP3=821, -ENC_FNMSUB_S_FLOATDP3=822, -ENC_FNMUL_D_FLOATDP2=823, -ENC_FNMUL_H_FLOATDP2=824, -ENC_FNMUL_S_FLOATDP2=825, -ENC_FRECPE_ASIMDMISC_R=826, -ENC_FRECPE_ASIMDMISCFP16_R=827, -ENC_FRECPE_ASISDMISC_R=828, -ENC_FRECPE_ASISDMISCFP16_R=829, -ENC_FRECPS_ASIMDSAME_ONLY=830, -ENC_FRECPS_ASIMDSAMEFP16_ONLY=831, -ENC_FRECPS_ASISDSAME_ONLY=832, -ENC_FRECPS_ASISDSAMEFP16_ONLY=833, -ENC_FRECPX_ASISDMISC_R=834, -ENC_FRECPX_ASISDMISCFP16_R=835, -ENC_FRINT32X_D_FLOATDP1=836, -ENC_FRINT32X_S_FLOATDP1=837, -ENC_FRINT32X_ASIMDMISC_R=838, -ENC_FRINT32Z_D_FLOATDP1=839, -ENC_FRINT32Z_S_FLOATDP1=840, -ENC_FRINT32Z_ASIMDMISC_R=841, -ENC_FRINT64X_D_FLOATDP1=842, -ENC_FRINT64X_S_FLOATDP1=843, -ENC_FRINT64X_ASIMDMISC_R=844, -ENC_FRINT64Z_D_FLOATDP1=845, -ENC_FRINT64Z_S_FLOATDP1=846, -ENC_FRINT64Z_ASIMDMISC_R=847, -ENC_FRINTA_D_FLOATDP1=848, -ENC_FRINTA_H_FLOATDP1=849, -ENC_FRINTA_S_FLOATDP1=850, -ENC_FRINTA_ASIMDMISC_R=851, -ENC_FRINTA_ASIMDMISCFP16_R=852, -ENC_FRINTI_D_FLOATDP1=853, -ENC_FRINTI_H_FLOATDP1=854, -ENC_FRINTI_S_FLOATDP1=855, -ENC_FRINTI_ASIMDMISC_R=856, -ENC_FRINTI_ASIMDMISCFP16_R=857, -ENC_FRINTM_D_FLOATDP1=858, -ENC_FRINTM_H_FLOATDP1=859, -ENC_FRINTM_S_FLOATDP1=860, -ENC_FRINTM_ASIMDMISC_R=861, -ENC_FRINTM_ASIMDMISCFP16_R=862, -ENC_FRINTN_D_FLOATDP1=863, -ENC_FRINTN_H_FLOATDP1=864, -ENC_FRINTN_S_FLOATDP1=865, -ENC_FRINTN_ASIMDMISC_R=866, -ENC_FRINTN_ASIMDMISCFP16_R=867, -ENC_FRINTP_D_FLOATDP1=868, -ENC_FRINTP_H_FLOATDP1=869, -ENC_FRINTP_S_FLOATDP1=870, -ENC_FRINTP_ASIMDMISC_R=871, -ENC_FRINTP_ASIMDMISCFP16_R=872, -ENC_FRINTX_D_FLOATDP1=873, -ENC_FRINTX_H_FLOATDP1=874, -ENC_FRINTX_S_FLOATDP1=875, -ENC_FRINTX_ASIMDMISC_R=876, -ENC_FRINTX_ASIMDMISCFP16_R=877, -ENC_FRINTZ_D_FLOATDP1=878, -ENC_FRINTZ_H_FLOATDP1=879, -ENC_FRINTZ_S_FLOATDP1=880, -ENC_FRINTZ_ASIMDMISC_R=881, -ENC_FRINTZ_ASIMDMISCFP16_R=882, -ENC_FRSQRTE_ASIMDMISC_R=883, -ENC_FRSQRTE_ASIMDMISCFP16_R=884, -ENC_FRSQRTE_ASISDMISC_R=885, -ENC_FRSQRTE_ASISDMISCFP16_R=886, -ENC_FRSQRTS_ASIMDSAME_ONLY=887, -ENC_FRSQRTS_ASIMDSAMEFP16_ONLY=888, -ENC_FRSQRTS_ASISDSAME_ONLY=889, -ENC_FRSQRTS_ASISDSAMEFP16_ONLY=890, -ENC_FSCALE_ASIMDSAME_ONLY=891, -ENC_FSCALE_ASIMDSAMEFP16_ONLY=892, -ENC_FSQRT_D_FLOATDP1=893, -ENC_FSQRT_H_FLOATDP1=894, -ENC_FSQRT_S_FLOATDP1=895, -ENC_FSQRT_ASIMDMISC_R=896, -ENC_FSQRT_ASIMDMISCFP16_R=897, -ENC_FSUB_D_FLOATDP2=898, -ENC_FSUB_H_FLOATDP2=899, -ENC_FSUB_S_FLOATDP2=900, -ENC_FSUB_ASIMDSAME_ONLY=901, -ENC_FSUB_ASIMDSAMEFP16_ONLY=902, -ENC_GCSB_HD_HINTS=903, -ENC_GCSPOPCX_SYS_CR_SYSTEMINSTRS=904, // alias -ENC_GCSPOPM_SYSL_RC_SYSTEMINSTRS=905, // alias -ENC_GCSPOPX_SYS_CR_SYSTEMINSTRS=906, // alias -ENC_GCSPUSHM_SYS_CR_SYSTEMINSTRS=907, // alias -ENC_GCSPUSHX_SYS_CR_SYSTEMINSTRS=908, // alias -ENC_GCSSS1_SYS_CR_SYSTEMINSTRS=909, // alias -ENC_GCSSS2_SYSL_RC_SYSTEMINSTRS=910, // alias -ENC_GCSSTR_64_LDST_GCS=911, -ENC_GCSSTTR_64_LDST_GCS=912, -ENC_GMI_64G_DP_2SRC=913, -ENC_HINT_HM_HINTS=914, -ENC_HLT_EX_EXCEPTION=915, -ENC_HVC_EX_EXCEPTION=916, -ENC_IC_SYS_CR_SYSTEMINSTRS=917, // alias -ENC_INS_ASIMDINS_IR_R=918, -ENC_INS_ASIMDINS_IV_V=919, -ENC_IRG_64I_DP_2SRC=920, -ENC_ISB_BI_BARRIERS=921, -ENC_LD1R_ASISDLSO_R1=922, -ENC_LD1R_ASISDLSOP_R1_I=923, -ENC_LD1R_ASISDLSOP_RX1_R=924, -ENC_LD1_ASISDLSE_R1_1V=925, -ENC_LD1_ASISDLSE_R2_2V=926, -ENC_LD1_ASISDLSE_R3_3V=927, -ENC_LD1_ASISDLSE_R4_4V=928, -ENC_LD1_ASISDLSEP_I1_I1=929, -ENC_LD1_ASISDLSEP_I2_I2=930, -ENC_LD1_ASISDLSEP_I3_I3=931, -ENC_LD1_ASISDLSEP_I4_I4=932, -ENC_LD1_ASISDLSEP_R1_R1=933, -ENC_LD1_ASISDLSEP_R2_R2=934, -ENC_LD1_ASISDLSEP_R3_R3=935, -ENC_LD1_ASISDLSEP_R4_R4=936, -ENC_LD1_ASISDLSO_B1_1B=937, -ENC_LD1_ASISDLSO_D1_1D=938, -ENC_LD1_ASISDLSO_H1_1H=939, -ENC_LD1_ASISDLSO_S1_1S=940, -ENC_LD1_ASISDLSOP_B1_I1B=941, -ENC_LD1_ASISDLSOP_BX1_R1B=942, -ENC_LD1_ASISDLSOP_D1_I1D=943, -ENC_LD1_ASISDLSOP_DX1_R1D=944, -ENC_LD1_ASISDLSOP_H1_I1H=945, -ENC_LD1_ASISDLSOP_HX1_R1H=946, -ENC_LD1_ASISDLSOP_S1_I1S=947, -ENC_LD1_ASISDLSOP_SX1_R1S=948, -ENC_LD2R_ASISDLSO_R2=949, -ENC_LD2R_ASISDLSOP_R2_I=950, -ENC_LD2R_ASISDLSOP_RX2_R=951, -ENC_LD2_ASISDLSE_R2=952, -ENC_LD2_ASISDLSEP_I2_I=953, -ENC_LD2_ASISDLSEP_R2_R=954, -ENC_LD2_ASISDLSO_B2_2B=955, -ENC_LD2_ASISDLSO_D2_2D=956, -ENC_LD2_ASISDLSO_H2_2H=957, -ENC_LD2_ASISDLSO_S2_2S=958, -ENC_LD2_ASISDLSOP_B2_I2B=959, -ENC_LD2_ASISDLSOP_BX2_R2B=960, -ENC_LD2_ASISDLSOP_D2_I2D=961, -ENC_LD2_ASISDLSOP_DX2_R2D=962, -ENC_LD2_ASISDLSOP_H2_I2H=963, -ENC_LD2_ASISDLSOP_HX2_R2H=964, -ENC_LD2_ASISDLSOP_S2_I2S=965, -ENC_LD2_ASISDLSOP_SX2_R2S=966, -ENC_LD3R_ASISDLSO_R3=967, -ENC_LD3R_ASISDLSOP_R3_I=968, -ENC_LD3R_ASISDLSOP_RX3_R=969, -ENC_LD3_ASISDLSE_R3=970, -ENC_LD3_ASISDLSEP_I3_I=971, -ENC_LD3_ASISDLSEP_R3_R=972, -ENC_LD3_ASISDLSO_B3_3B=973, -ENC_LD3_ASISDLSO_D3_3D=974, -ENC_LD3_ASISDLSO_H3_3H=975, -ENC_LD3_ASISDLSO_S3_3S=976, -ENC_LD3_ASISDLSOP_B3_I3B=977, -ENC_LD3_ASISDLSOP_BX3_R3B=978, -ENC_LD3_ASISDLSOP_D3_I3D=979, -ENC_LD3_ASISDLSOP_DX3_R3D=980, -ENC_LD3_ASISDLSOP_H3_I3H=981, -ENC_LD3_ASISDLSOP_HX3_R3H=982, -ENC_LD3_ASISDLSOP_S3_I3S=983, -ENC_LD3_ASISDLSOP_SX3_R3S=984, -ENC_LD4R_ASISDLSO_R4=985, -ENC_LD4R_ASISDLSOP_R4_I=986, -ENC_LD4R_ASISDLSOP_RX4_R=987, -ENC_LD4_ASISDLSE_R4=988, -ENC_LD4_ASISDLSEP_I4_I=989, -ENC_LD4_ASISDLSEP_R4_R=990, -ENC_LD4_ASISDLSO_B4_4B=991, -ENC_LD4_ASISDLSO_D4_4D=992, -ENC_LD4_ASISDLSO_H4_4H=993, -ENC_LD4_ASISDLSO_S4_4S=994, -ENC_LD4_ASISDLSOP_B4_I4B=995, -ENC_LD4_ASISDLSOP_BX4_R4B=996, -ENC_LD4_ASISDLSOP_D4_I4D=997, -ENC_LD4_ASISDLSOP_DX4_R4D=998, -ENC_LD4_ASISDLSOP_H4_I4H=999, -ENC_LD4_ASISDLSOP_HX4_R4H=1000, -ENC_LD4_ASISDLSOP_S4_I4S=1001, -ENC_LD4_ASISDLSOP_SX4_R4S=1002, -ENC_LD64B_64L_MEMOP=1003, -ENC_LDADDAB_32_MEMOP=1004, -ENC_LDADDAH_32_MEMOP=1005, -ENC_LDADDALB_32_MEMOP=1006, -ENC_LDADDALH_32_MEMOP=1007, -ENC_LDADDAL_32_MEMOP=1008, -ENC_LDADDAL_64_MEMOP=1009, -ENC_LDADDA_32_MEMOP=1010, -ENC_LDADDA_64_MEMOP=1011, -ENC_LDADDB_32_MEMOP=1012, -ENC_LDADDH_32_MEMOP=1013, -ENC_LDADDLB_32_MEMOP=1014, -ENC_LDADDLH_32_MEMOP=1015, -ENC_LDADDL_32_MEMOP=1016, -ENC_LDADDL_64_MEMOP=1017, -ENC_LDADD_32_MEMOP=1018, -ENC_LDADD_64_MEMOP=1019, -ENC_LDAP1_ASISDLSO_D1=1020, -ENC_LDAPRB_32L_MEMOP=1021, -ENC_LDAPRH_32L_MEMOP=1022, -ENC_LDAPR_32L_LDAPSTL_WRITEBACK=1023, -ENC_LDAPR_32L_MEMOP=1024, -ENC_LDAPR_64L_LDAPSTL_WRITEBACK=1025, -ENC_LDAPR_64L_MEMOP=1026, -ENC_LDAPURB_32_LDAPSTL_UNSCALED=1027, -ENC_LDAPURH_32_LDAPSTL_UNSCALED=1028, -ENC_LDAPURSB_32_LDAPSTL_UNSCALED=1029, -ENC_LDAPURSB_64_LDAPSTL_UNSCALED=1030, -ENC_LDAPURSH_32_LDAPSTL_UNSCALED=1031, -ENC_LDAPURSH_64_LDAPSTL_UNSCALED=1032, -ENC_LDAPURSW_64_LDAPSTL_UNSCALED=1033, -ENC_LDAPUR_32_LDAPSTL_UNSCALED=1034, -ENC_LDAPUR_64_LDAPSTL_UNSCALED=1035, -ENC_LDAPUR_B_LDAPSTL_SIMD=1036, -ENC_LDAPUR_D_LDAPSTL_SIMD=1037, -ENC_LDAPUR_H_LDAPSTL_SIMD=1038, -ENC_LDAPUR_Q_LDAPSTL_SIMD=1039, -ENC_LDAPUR_S_LDAPSTL_SIMD=1040, -ENC_LDARB_LR32_LDSTORD=1041, -ENC_LDARH_LR32_LDSTORD=1042, -ENC_LDAR_LR32_LDSTORD=1043, -ENC_LDAR_LR64_LDSTORD=1044, -ENC_LDATXR_LR32_LDSTEXCLR_UNPRIV=1045, -ENC_LDATXR_LR64_LDSTEXCLR_UNPRIV=1046, -ENC_LDAXP_LP32_LDSTEXCLP=1047, -ENC_LDAXP_LP64_LDSTEXCLP=1048, -ENC_LDAXRB_LR32_LDSTEXCLR=1049, -ENC_LDAXRH_LR32_LDSTEXCLR=1050, -ENC_LDAXR_LR32_LDSTEXCLR=1051, -ENC_LDAXR_LR64_LDSTEXCLR=1052, -ENC_LDBFADDAL_16=1053, -ENC_LDBFADDA_16=1054, -ENC_LDBFADDL_16=1055, -ENC_LDBFADD_16=1056, -ENC_LDBFMAXAL_16=1057, -ENC_LDBFMAXA_16=1058, -ENC_LDBFMAXL_16=1059, -ENC_LDBFMAXNMAL_16=1060, -ENC_LDBFMAXNMA_16=1061, -ENC_LDBFMAXNML_16=1062, -ENC_LDBFMAXNM_16=1063, -ENC_LDBFMAX_16=1064, -ENC_LDBFMINAL_16=1065, -ENC_LDBFMINA_16=1066, -ENC_LDBFMINL_16=1067, -ENC_LDBFMINNMAL_16=1068, -ENC_LDBFMINNMA_16=1069, -ENC_LDBFMINNML_16=1070, -ENC_LDBFMINNM_16=1071, -ENC_LDBFMIN_16=1072, -ENC_LDCLRAB_32_MEMOP=1073, -ENC_LDCLRAH_32_MEMOP=1074, -ENC_LDCLRALB_32_MEMOP=1075, -ENC_LDCLRALH_32_MEMOP=1076, -ENC_LDCLRAL_32_MEMOP=1077, -ENC_LDCLRAL_64_MEMOP=1078, -ENC_LDCLRA_32_MEMOP=1079, -ENC_LDCLRA_64_MEMOP=1080, -ENC_LDCLRB_32_MEMOP=1081, -ENC_LDCLRH_32_MEMOP=1082, -ENC_LDCLRLB_32_MEMOP=1083, -ENC_LDCLRLH_32_MEMOP=1084, -ENC_LDCLRL_32_MEMOP=1085, -ENC_LDCLRL_64_MEMOP=1086, -ENC_LDCLRPAL_128_MEMOP_128=1087, -ENC_LDCLRPA_128_MEMOP_128=1088, -ENC_LDCLRPL_128_MEMOP_128=1089, -ENC_LDCLRP_128_MEMOP_128=1090, -ENC_LDCLR_32_MEMOP=1091, -ENC_LDCLR_64_MEMOP=1092, -ENC_LDEORAB_32_MEMOP=1093, -ENC_LDEORAH_32_MEMOP=1094, -ENC_LDEORALB_32_MEMOP=1095, -ENC_LDEORALH_32_MEMOP=1096, -ENC_LDEORAL_32_MEMOP=1097, -ENC_LDEORAL_64_MEMOP=1098, -ENC_LDEORA_32_MEMOP=1099, -ENC_LDEORA_64_MEMOP=1100, -ENC_LDEORB_32_MEMOP=1101, -ENC_LDEORH_32_MEMOP=1102, -ENC_LDEORLB_32_MEMOP=1103, -ENC_LDEORLH_32_MEMOP=1104, -ENC_LDEORL_32_MEMOP=1105, -ENC_LDEORL_64_MEMOP=1106, -ENC_LDEOR_32_MEMOP=1107, -ENC_LDEOR_64_MEMOP=1108, -ENC_LDFADDAL_16=1109, -ENC_LDFADDAL_32=1110, -ENC_LDFADDAL_64=1111, -ENC_LDFADDA_16=1112, -ENC_LDFADDA_32=1113, -ENC_LDFADDA_64=1114, -ENC_LDFADDL_16=1115, -ENC_LDFADDL_32=1116, -ENC_LDFADDL_64=1117, -ENC_LDFADD_16=1118, -ENC_LDFADD_32=1119, -ENC_LDFADD_64=1120, -ENC_LDFMAXAL_16=1121, -ENC_LDFMAXAL_32=1122, -ENC_LDFMAXAL_64=1123, -ENC_LDFMAXA_16=1124, -ENC_LDFMAXA_32=1125, -ENC_LDFMAXA_64=1126, -ENC_LDFMAXL_16=1127, -ENC_LDFMAXL_32=1128, -ENC_LDFMAXL_64=1129, -ENC_LDFMAXNMAL_16=1130, -ENC_LDFMAXNMAL_32=1131, -ENC_LDFMAXNMAL_64=1132, -ENC_LDFMAXNMA_16=1133, -ENC_LDFMAXNMA_32=1134, -ENC_LDFMAXNMA_64=1135, -ENC_LDFMAXNML_16=1136, -ENC_LDFMAXNML_32=1137, -ENC_LDFMAXNML_64=1138, -ENC_LDFMAXNM_16=1139, -ENC_LDFMAXNM_32=1140, -ENC_LDFMAXNM_64=1141, -ENC_LDFMAX_16=1142, -ENC_LDFMAX_32=1143, -ENC_LDFMAX_64=1144, -ENC_LDFMINAL_16=1145, -ENC_LDFMINAL_32=1146, -ENC_LDFMINAL_64=1147, -ENC_LDFMINA_16=1148, -ENC_LDFMINA_32=1149, -ENC_LDFMINA_64=1150, -ENC_LDFMINL_16=1151, -ENC_LDFMINL_32=1152, -ENC_LDFMINL_64=1153, -ENC_LDFMINNMAL_16=1154, -ENC_LDFMINNMAL_32=1155, -ENC_LDFMINNMAL_64=1156, -ENC_LDFMINNMA_16=1157, -ENC_LDFMINNMA_32=1158, -ENC_LDFMINNMA_64=1159, -ENC_LDFMINNML_16=1160, -ENC_LDFMINNML_32=1161, -ENC_LDFMINNML_64=1162, -ENC_LDFMINNM_16=1163, -ENC_LDFMINNM_32=1164, -ENC_LDFMINNM_64=1165, -ENC_LDFMIN_16=1166, -ENC_LDFMIN_32=1167, -ENC_LDFMIN_64=1168, -ENC_LDGM_64BULK_LDSTTAGS=1169, -ENC_LDG_64LOFFSET_LDSTTAGS=1170, -ENC_LDIAPP_32LE_LDIAPPSTILP=1171, -ENC_LDIAPP_32L_LDIAPPSTILP=1172, -ENC_LDIAPP_64LS_LDIAPPSTILP=1173, -ENC_LDIAPP_64L_LDIAPPSTILP=1174, -ENC_LDLARB_LR32_LDSTORD=1175, -ENC_LDLARH_LR32_LDSTORD=1176, -ENC_LDLAR_LR32_LDSTORD=1177, -ENC_LDLAR_LR64_LDSTORD=1178, -ENC_LDNP_32_LDSTNAPAIR_OFFS=1179, -ENC_LDNP_64_LDSTNAPAIR_OFFS=1180, -ENC_LDNP_D_LDSTNAPAIR_OFFS=1181, -ENC_LDNP_Q_LDSTNAPAIR_OFFS=1182, -ENC_LDNP_S_LDSTNAPAIR_OFFS=1183, -ENC_LDPSW_64_LDSTPAIR_OFF=1184, -ENC_LDPSW_64_LDSTPAIR_POST=1185, -ENC_LDPSW_64_LDSTPAIR_PRE=1186, -ENC_LDP_32_LDSTPAIR_OFF=1187, -ENC_LDP_32_LDSTPAIR_POST=1188, -ENC_LDP_32_LDSTPAIR_PRE=1189, -ENC_LDP_64_LDSTPAIR_OFF=1190, -ENC_LDP_64_LDSTPAIR_POST=1191, -ENC_LDP_64_LDSTPAIR_PRE=1192, -ENC_LDP_D_LDSTPAIR_OFF=1193, -ENC_LDP_D_LDSTPAIR_POST=1194, -ENC_LDP_D_LDSTPAIR_PRE=1195, -ENC_LDP_Q_LDSTPAIR_OFF=1196, -ENC_LDP_Q_LDSTPAIR_POST=1197, -ENC_LDP_Q_LDSTPAIR_PRE=1198, -ENC_LDP_S_LDSTPAIR_OFF=1199, -ENC_LDP_S_LDSTPAIR_POST=1200, -ENC_LDP_S_LDSTPAIR_PRE=1201, -ENC_LDRAA_64W_LDST_PAC=1202, -ENC_LDRAA_64_LDST_PAC=1203, -ENC_LDRAB_64W_LDST_PAC=1204, -ENC_LDRAB_64_LDST_PAC=1205, -ENC_LDRB_32BL_LDST_REGOFF=1206, -ENC_LDRB_32B_LDST_REGOFF=1207, -ENC_LDRB_32_LDST_IMMPOST=1208, -ENC_LDRB_32_LDST_IMMPRE=1209, -ENC_LDRB_32_LDST_POS=1210, -ENC_LDRH_32_LDST_IMMPOST=1211, -ENC_LDRH_32_LDST_IMMPRE=1212, -ENC_LDRH_32_LDST_POS=1213, -ENC_LDRH_32_LDST_REGOFF=1214, -ENC_LDRSB_32BL_LDST_REGOFF=1215, -ENC_LDRSB_32B_LDST_REGOFF=1216, -ENC_LDRSB_32_LDST_IMMPOST=1217, -ENC_LDRSB_32_LDST_IMMPRE=1218, -ENC_LDRSB_32_LDST_POS=1219, -ENC_LDRSB_64BL_LDST_REGOFF=1220, -ENC_LDRSB_64B_LDST_REGOFF=1221, -ENC_LDRSB_64_LDST_IMMPOST=1222, -ENC_LDRSB_64_LDST_IMMPRE=1223, -ENC_LDRSB_64_LDST_POS=1224, -ENC_LDRSH_32_LDST_IMMPOST=1225, -ENC_LDRSH_32_LDST_IMMPRE=1226, -ENC_LDRSH_32_LDST_POS=1227, -ENC_LDRSH_32_LDST_REGOFF=1228, -ENC_LDRSH_64_LDST_IMMPOST=1229, -ENC_LDRSH_64_LDST_IMMPRE=1230, -ENC_LDRSH_64_LDST_POS=1231, -ENC_LDRSH_64_LDST_REGOFF=1232, -ENC_LDRSW_64_LDST_IMMPOST=1233, -ENC_LDRSW_64_LDST_IMMPRE=1234, -ENC_LDRSW_64_LDST_POS=1235, -ENC_LDRSW_64_LDST_REGOFF=1236, -ENC_LDRSW_64_LOADLIT=1237, -ENC_LDR_32_LDST_IMMPOST=1238, -ENC_LDR_32_LDST_IMMPRE=1239, -ENC_LDR_32_LDST_POS=1240, -ENC_LDR_32_LDST_REGOFF=1241, -ENC_LDR_32_LOADLIT=1242, -ENC_LDR_64_LDST_IMMPOST=1243, -ENC_LDR_64_LDST_IMMPRE=1244, -ENC_LDR_64_LDST_POS=1245, -ENC_LDR_64_LDST_REGOFF=1246, -ENC_LDR_64_LOADLIT=1247, -ENC_LDR_BL_LDST_REGOFF=1248, -ENC_LDR_B_LDST_IMMPOST=1249, -ENC_LDR_B_LDST_IMMPRE=1250, -ENC_LDR_B_LDST_POS=1251, -ENC_LDR_B_LDST_REGOFF=1252, -ENC_LDR_D_LDST_IMMPOST=1253, -ENC_LDR_D_LDST_IMMPRE=1254, -ENC_LDR_D_LDST_POS=1255, -ENC_LDR_D_LDST_REGOFF=1256, -ENC_LDR_D_LOADLIT=1257, -ENC_LDR_H_LDST_IMMPOST=1258, -ENC_LDR_H_LDST_IMMPRE=1259, -ENC_LDR_H_LDST_POS=1260, -ENC_LDR_H_LDST_REGOFF=1261, -ENC_LDR_Q_LDST_IMMPOST=1262, -ENC_LDR_Q_LDST_IMMPRE=1263, -ENC_LDR_Q_LDST_POS=1264, -ENC_LDR_Q_LDST_REGOFF=1265, -ENC_LDR_Q_LOADLIT=1266, -ENC_LDR_S_LDST_IMMPOST=1267, -ENC_LDR_S_LDST_IMMPRE=1268, -ENC_LDR_S_LDST_POS=1269, -ENC_LDR_S_LDST_REGOFF=1270, -ENC_LDR_S_LOADLIT=1271, -ENC_LDSETAB_32_MEMOP=1272, -ENC_LDSETAH_32_MEMOP=1273, -ENC_LDSETALB_32_MEMOP=1274, -ENC_LDSETALH_32_MEMOP=1275, -ENC_LDSETAL_32_MEMOP=1276, -ENC_LDSETAL_64_MEMOP=1277, -ENC_LDSETA_32_MEMOP=1278, -ENC_LDSETA_64_MEMOP=1279, -ENC_LDSETB_32_MEMOP=1280, -ENC_LDSETH_32_MEMOP=1281, -ENC_LDSETLB_32_MEMOP=1282, -ENC_LDSETLH_32_MEMOP=1283, -ENC_LDSETL_32_MEMOP=1284, -ENC_LDSETL_64_MEMOP=1285, -ENC_LDSETPAL_128_MEMOP_128=1286, -ENC_LDSETPA_128_MEMOP_128=1287, -ENC_LDSETPL_128_MEMOP_128=1288, -ENC_LDSETP_128_MEMOP_128=1289, -ENC_LDSET_32_MEMOP=1290, -ENC_LDSET_64_MEMOP=1291, -ENC_LDSMAXAB_32_MEMOP=1292, -ENC_LDSMAXAH_32_MEMOP=1293, -ENC_LDSMAXALB_32_MEMOP=1294, -ENC_LDSMAXALH_32_MEMOP=1295, -ENC_LDSMAXAL_32_MEMOP=1296, -ENC_LDSMAXAL_64_MEMOP=1297, -ENC_LDSMAXA_32_MEMOP=1298, -ENC_LDSMAXA_64_MEMOP=1299, -ENC_LDSMAXB_32_MEMOP=1300, -ENC_LDSMAXH_32_MEMOP=1301, -ENC_LDSMAXLB_32_MEMOP=1302, -ENC_LDSMAXLH_32_MEMOP=1303, -ENC_LDSMAXL_32_MEMOP=1304, -ENC_LDSMAXL_64_MEMOP=1305, -ENC_LDSMAX_32_MEMOP=1306, -ENC_LDSMAX_64_MEMOP=1307, -ENC_LDSMINAB_32_MEMOP=1308, -ENC_LDSMINAH_32_MEMOP=1309, -ENC_LDSMINALB_32_MEMOP=1310, -ENC_LDSMINALH_32_MEMOP=1311, -ENC_LDSMINAL_32_MEMOP=1312, -ENC_LDSMINAL_64_MEMOP=1313, -ENC_LDSMINA_32_MEMOP=1314, -ENC_LDSMINA_64_MEMOP=1315, -ENC_LDSMINB_32_MEMOP=1316, -ENC_LDSMINH_32_MEMOP=1317, -ENC_LDSMINLB_32_MEMOP=1318, -ENC_LDSMINLH_32_MEMOP=1319, -ENC_LDSMINL_32_MEMOP=1320, -ENC_LDSMINL_64_MEMOP=1321, -ENC_LDSMIN_32_MEMOP=1322, -ENC_LDSMIN_64_MEMOP=1323, -ENC_LDTADDAL_32_MEMOP_UNPRIV=1324, -ENC_LDTADDAL_64_MEMOP_UNPRIV=1325, -ENC_LDTADDA_32_MEMOP_UNPRIV=1326, -ENC_LDTADDA_64_MEMOP_UNPRIV=1327, -ENC_LDTADDL_32_MEMOP_UNPRIV=1328, -ENC_LDTADDL_64_MEMOP_UNPRIV=1329, -ENC_LDTADD_32_MEMOP_UNPRIV=1330, -ENC_LDTADD_64_MEMOP_UNPRIV=1331, -ENC_LDTCLRAL_32_MEMOP_UNPRIV=1332, -ENC_LDTCLRAL_64_MEMOP_UNPRIV=1333, -ENC_LDTCLRA_32_MEMOP_UNPRIV=1334, -ENC_LDTCLRA_64_MEMOP_UNPRIV=1335, -ENC_LDTCLRL_32_MEMOP_UNPRIV=1336, -ENC_LDTCLRL_64_MEMOP_UNPRIV=1337, -ENC_LDTCLR_32_MEMOP_UNPRIV=1338, -ENC_LDTCLR_64_MEMOP_UNPRIV=1339, -ENC_LDTNP_64_LDSTNAPAIR_OFFS=1340, -ENC_LDTNP_Q_LDSTNAPAIR_OFFS=1341, -ENC_LDTP_64_LDSTPAIR_OFF=1342, -ENC_LDTP_64_LDSTPAIR_POST=1343, -ENC_LDTP_64_LDSTPAIR_PRE=1344, -ENC_LDTP_Q_LDSTPAIR_OFF=1345, -ENC_LDTP_Q_LDSTPAIR_POST=1346, -ENC_LDTP_Q_LDSTPAIR_PRE=1347, -ENC_LDTRB_32_LDST_UNPRIV=1348, -ENC_LDTRH_32_LDST_UNPRIV=1349, -ENC_LDTRSB_32_LDST_UNPRIV=1350, -ENC_LDTRSB_64_LDST_UNPRIV=1351, -ENC_LDTRSH_32_LDST_UNPRIV=1352, -ENC_LDTRSH_64_LDST_UNPRIV=1353, -ENC_LDTRSW_64_LDST_UNPRIV=1354, -ENC_LDTR_32_LDST_UNPRIV=1355, -ENC_LDTR_64_LDST_UNPRIV=1356, -ENC_LDTSETAL_32_MEMOP_UNPRIV=1357, -ENC_LDTSETAL_64_MEMOP_UNPRIV=1358, -ENC_LDTSETA_32_MEMOP_UNPRIV=1359, -ENC_LDTSETA_64_MEMOP_UNPRIV=1360, -ENC_LDTSETL_32_MEMOP_UNPRIV=1361, -ENC_LDTSETL_64_MEMOP_UNPRIV=1362, -ENC_LDTSET_32_MEMOP_UNPRIV=1363, -ENC_LDTSET_64_MEMOP_UNPRIV=1364, -ENC_LDTXR_LR32_LDSTEXCLR_UNPRIV=1365, -ENC_LDTXR_LR64_LDSTEXCLR_UNPRIV=1366, -ENC_LDUMAXAB_32_MEMOP=1367, -ENC_LDUMAXAH_32_MEMOP=1368, -ENC_LDUMAXALB_32_MEMOP=1369, -ENC_LDUMAXALH_32_MEMOP=1370, -ENC_LDUMAXAL_32_MEMOP=1371, -ENC_LDUMAXAL_64_MEMOP=1372, -ENC_LDUMAXA_32_MEMOP=1373, -ENC_LDUMAXA_64_MEMOP=1374, -ENC_LDUMAXB_32_MEMOP=1375, -ENC_LDUMAXH_32_MEMOP=1376, -ENC_LDUMAXLB_32_MEMOP=1377, -ENC_LDUMAXLH_32_MEMOP=1378, -ENC_LDUMAXL_32_MEMOP=1379, -ENC_LDUMAXL_64_MEMOP=1380, -ENC_LDUMAX_32_MEMOP=1381, -ENC_LDUMAX_64_MEMOP=1382, -ENC_LDUMINAB_32_MEMOP=1383, -ENC_LDUMINAH_32_MEMOP=1384, -ENC_LDUMINALB_32_MEMOP=1385, -ENC_LDUMINALH_32_MEMOP=1386, -ENC_LDUMINAL_32_MEMOP=1387, -ENC_LDUMINAL_64_MEMOP=1388, -ENC_LDUMINA_32_MEMOP=1389, -ENC_LDUMINA_64_MEMOP=1390, -ENC_LDUMINB_32_MEMOP=1391, -ENC_LDUMINH_32_MEMOP=1392, -ENC_LDUMINLB_32_MEMOP=1393, -ENC_LDUMINLH_32_MEMOP=1394, -ENC_LDUMINL_32_MEMOP=1395, -ENC_LDUMINL_64_MEMOP=1396, -ENC_LDUMIN_32_MEMOP=1397, -ENC_LDUMIN_64_MEMOP=1398, -ENC_LDURB_32_LDST_UNSCALED=1399, -ENC_LDURH_32_LDST_UNSCALED=1400, -ENC_LDURSB_32_LDST_UNSCALED=1401, -ENC_LDURSB_64_LDST_UNSCALED=1402, -ENC_LDURSH_32_LDST_UNSCALED=1403, -ENC_LDURSH_64_LDST_UNSCALED=1404, -ENC_LDURSW_64_LDST_UNSCALED=1405, -ENC_LDUR_32_LDST_UNSCALED=1406, -ENC_LDUR_64_LDST_UNSCALED=1407, -ENC_LDUR_B_LDST_UNSCALED=1408, -ENC_LDUR_D_LDST_UNSCALED=1409, -ENC_LDUR_H_LDST_UNSCALED=1410, -ENC_LDUR_Q_LDST_UNSCALED=1411, -ENC_LDUR_S_LDST_UNSCALED=1412, -ENC_LDXP_LP32_LDSTEXCLP=1413, -ENC_LDXP_LP64_LDSTEXCLP=1414, -ENC_LDXRB_LR32_LDSTEXCLR=1415, -ENC_LDXRH_LR32_LDSTEXCLR=1416, -ENC_LDXR_LR32_LDSTEXCLR=1417, -ENC_LDXR_LR64_LDSTEXCLR=1418, -ENC_LSLV_32_DP_2SRC=1419, -ENC_LSLV_64_DP_2SRC=1420, -ENC_LSL_LSLV_32_DP_2SRC=1421, // alias -ENC_LSL_LSLV_64_DP_2SRC=1422, // alias -ENC_LSL_UBFM_32M_BITFIELD=1423, // alias -ENC_LSL_UBFM_64M_BITFIELD=1424, // alias -ENC_LSRV_32_DP_2SRC=1425, -ENC_LSRV_64_DP_2SRC=1426, -ENC_LSR_LSRV_32_DP_2SRC=1427, // alias -ENC_LSR_LSRV_64_DP_2SRC=1428, // alias -ENC_LSR_UBFM_32M_BITFIELD=1429, // alias -ENC_LSR_UBFM_64M_BITFIELD=1430, // alias -ENC_LUTI2_ASIMDTBL_L5=1431, -ENC_LUTI2_ASIMDTBL_L6=1432, -ENC_LUTI4_ASIMDTBL_L5=1433, -ENC_LUTI4_ASIMDTBL_L7=1434, -ENC_MADDPT_64A_DP_3SRC=1435, -ENC_MADD_32A_DP_3SRC=1436, -ENC_MADD_64A_DP_3SRC=1437, -ENC_MLA_ASIMDELEM_R=1438, -ENC_MLA_ASIMDSAME_ONLY=1439, -ENC_MLS_ASIMDELEM_R=1440, -ENC_MLS_ASIMDSAME_ONLY=1441, -ENC_MNEG_MSUB_32A_DP_3SRC=1442, // alias -ENC_MNEG_MSUB_64A_DP_3SRC=1443, // alias -ENC_MOVI_ASIMDIMM_D2_D=1444, -ENC_MOVI_ASIMDIMM_D_DS=1445, -ENC_MOVI_ASIMDIMM_L_HL=1446, -ENC_MOVI_ASIMDIMM_L_SL=1447, -ENC_MOVI_ASIMDIMM_M_SM=1448, -ENC_MOVI_ASIMDIMM_N_B=1449, -ENC_MOVK_32_MOVEWIDE=1450, -ENC_MOVK_64_MOVEWIDE=1451, -ENC_MOVN_32_MOVEWIDE=1452, -ENC_MOVN_64_MOVEWIDE=1453, -ENC_MOVZ_32_MOVEWIDE=1454, -ENC_MOVZ_64_MOVEWIDE=1455, -ENC_MOV_ADD_32_ADDSUB_IMM=1456, // alias -ENC_MOV_ADD_64_ADDSUB_IMM=1457, // alias -ENC_MOV_DUP_ASISDONE_ONLY=1458, // alias -ENC_MOV_INS_ASIMDINS_IR_R=1459, // alias -ENC_MOV_INS_ASIMDINS_IV_V=1460, // alias -ENC_MOV_MOVN_32_MOVEWIDE=1461, // alias -ENC_MOV_MOVN_64_MOVEWIDE=1462, // alias -ENC_MOV_MOVZ_32_MOVEWIDE=1463, // alias -ENC_MOV_MOVZ_64_MOVEWIDE=1464, // alias -ENC_MOV_ORR_32_LOG_IMM=1465, // alias -ENC_MOV_ORR_32_LOG_SHIFT=1466, // alias -ENC_MOV_ORR_64_LOG_IMM=1467, // alias -ENC_MOV_ORR_64_LOG_SHIFT=1468, // alias -ENC_MOV_ORR_ASIMDSAME_ONLY=1469, // alias -ENC_MOV_UMOV_ASIMDINS_W_W=1470, // alias -ENC_MOV_UMOV_ASIMDINS_X_X=1471, // alias -ENC_MRRS_RS_SYSTEMMOVEPR=1472, -ENC_MRS_RS_SYSTEMMOVE=1473, -ENC_MSRR_SR_SYSTEMMOVEPR=1474, -ENC_MSR_SI_PSTATE=1475, -ENC_MSR_SR_SYSTEMMOVE=1476, -ENC_MSUBPT_64A_DP_3SRC=1477, -ENC_MSUB_32A_DP_3SRC=1478, -ENC_MSUB_64A_DP_3SRC=1479, -ENC_MUL_MADD_32A_DP_3SRC=1480, // alias -ENC_MUL_MADD_64A_DP_3SRC=1481, // alias -ENC_MUL_ASIMDELEM_R=1482, -ENC_MUL_ASIMDSAME_ONLY=1483, -ENC_MVNI_ASIMDIMM_L_HL=1484, -ENC_MVNI_ASIMDIMM_L_SL=1485, -ENC_MVNI_ASIMDIMM_M_SM=1486, -ENC_MVN_NOT_ASIMDMISC_R=1487, // alias -ENC_MVN_ORN_32_LOG_SHIFT=1488, // alias -ENC_MVN_ORN_64_LOG_SHIFT=1489, // alias -ENC_NEGS_SUBS_32_ADDSUB_SHIFT=1490, // alias -ENC_NEGS_SUBS_64_ADDSUB_SHIFT=1491, // alias -ENC_NEG_SUB_32_ADDSUB_SHIFT=1492, // alias -ENC_NEG_SUB_64_ADDSUB_SHIFT=1493, // alias -ENC_NEG_ASIMDMISC_R=1494, -ENC_NEG_ASISDMISC_R=1495, -ENC_NGCS_SBCS_32_ADDSUB_CARRY=1496, // alias -ENC_NGCS_SBCS_64_ADDSUB_CARRY=1497, // alias -ENC_NGC_SBC_32_ADDSUB_CARRY=1498, // alias -ENC_NGC_SBC_64_ADDSUB_CARRY=1499, // alias -ENC_NOP_HI_HINTS=1500, -ENC_NOT_ASIMDMISC_R=1501, -ENC_ORN_32_LOG_SHIFT=1502, -ENC_ORN_64_LOG_SHIFT=1503, -ENC_ORN_ASIMDSAME_ONLY=1504, -ENC_ORR_32_LOG_IMM=1505, -ENC_ORR_32_LOG_SHIFT=1506, -ENC_ORR_64_LOG_IMM=1507, -ENC_ORR_64_LOG_SHIFT=1508, -ENC_ORR_ASIMDIMM_L_HL=1509, -ENC_ORR_ASIMDIMM_L_SL=1510, -ENC_ORR_ASIMDSAME_ONLY=1511, -ENC_PACDA_64P_DP_1SRC=1512, -ENC_PACDB_64P_DP_1SRC=1513, -ENC_PACDZA_64Z_DP_1SRC=1514, -ENC_PACDZB_64Z_DP_1SRC=1515, -ENC_PACGA_64P_DP_2SRC=1516, -ENC_PACIA171615_64LR_DP_1SRC=1517, -ENC_PACIA1716_HI_HINTS=1518, -ENC_PACIASPPC_64LR_DP_1SRC=1519, -ENC_PACIASP_HI_HINTS=1520, -ENC_PACIAZ_HI_HINTS=1521, -ENC_PACIA_64P_DP_1SRC=1522, -ENC_PACIB171615_64LR_DP_1SRC=1523, -ENC_PACIB1716_HI_HINTS=1524, -ENC_PACIBSPPC_64LR_DP_1SRC=1525, -ENC_PACIBSP_HI_HINTS=1526, -ENC_PACIBZ_HI_HINTS=1527, -ENC_PACIB_64P_DP_1SRC=1528, -ENC_PACIZA_64Z_DP_1SRC=1529, -ENC_PACIZB_64Z_DP_1SRC=1530, -ENC_PACM_HI_HINTS=1531, -ENC_PACNBIASPPC_64LR_DP_1SRC=1532, -ENC_PACNBIBSPPC_64LR_DP_1SRC=1533, -ENC_PMULL_ASIMDDIFF_L=1534, -ENC_PMUL_ASIMDSAME_ONLY=1535, -ENC_PRFM_P_LDST_POS=1536, -ENC_PRFM_P_LDST_REGOFF=1537, -ENC_PRFM_P_LOADLIT=1538, -ENC_PRFUM_P_LDST_UNSCALED=1539, -ENC_PSB_HC_HINTS=1540, -ENC_PSSBB_DSB_BO_BARRIERS=1541, // alias -ENC_RADDHN_ASIMDDIFF_N=1542, -ENC_RAX1_VVV2_CRYPTOSHA512_3=1543, -ENC_RBIT_32_DP_1SRC=1544, -ENC_RBIT_64_DP_1SRC=1545, -ENC_RBIT_ASIMDMISC_R=1546, -ENC_RCWCASAL_C64_RCWCOMSWAP=1547, -ENC_RCWCASA_C64_RCWCOMSWAP=1548, -ENC_RCWCASL_C64_RCWCOMSWAP=1549, -ENC_RCWCASPAL_C64_RCWCOMSWAPPR=1550, -ENC_RCWCASPA_C64_RCWCOMSWAPPR=1551, -ENC_RCWCASPL_C64_RCWCOMSWAPPR=1552, -ENC_RCWCASP_C64_RCWCOMSWAPPR=1553, -ENC_RCWCAS_C64_RCWCOMSWAP=1554, -ENC_RCWCLRAL_64_MEMOP=1555, -ENC_RCWCLRA_64_MEMOP=1556, -ENC_RCWCLRL_64_MEMOP=1557, -ENC_RCWCLRPAL_128_MEMOP_128=1558, -ENC_RCWCLRPA_128_MEMOP_128=1559, -ENC_RCWCLRPL_128_MEMOP_128=1560, -ENC_RCWCLRP_128_MEMOP_128=1561, -ENC_RCWCLR_64_MEMOP=1562, -ENC_RCWSCASAL_C64_RCWCOMSWAP=1563, -ENC_RCWSCASA_C64_RCWCOMSWAP=1564, -ENC_RCWSCASL_C64_RCWCOMSWAP=1565, -ENC_RCWSCASPAL_C64_RCWCOMSWAPPR=1566, -ENC_RCWSCASPA_C64_RCWCOMSWAPPR=1567, -ENC_RCWSCASPL_C64_RCWCOMSWAPPR=1568, -ENC_RCWSCASP_C64_RCWCOMSWAPPR=1569, -ENC_RCWSCAS_C64_RCWCOMSWAP=1570, -ENC_RCWSCLRAL_64_MEMOP=1571, -ENC_RCWSCLRA_64_MEMOP=1572, -ENC_RCWSCLRL_64_MEMOP=1573, -ENC_RCWSCLRPAL_128_MEMOP_128=1574, -ENC_RCWSCLRPA_128_MEMOP_128=1575, -ENC_RCWSCLRPL_128_MEMOP_128=1576, -ENC_RCWSCLRP_128_MEMOP_128=1577, -ENC_RCWSCLR_64_MEMOP=1578, -ENC_RCWSETAL_64_MEMOP=1579, -ENC_RCWSETA_64_MEMOP=1580, -ENC_RCWSETL_64_MEMOP=1581, -ENC_RCWSETPAL_128_MEMOP_128=1582, -ENC_RCWSETPA_128_MEMOP_128=1583, -ENC_RCWSETPL_128_MEMOP_128=1584, -ENC_RCWSETP_128_MEMOP_128=1585, -ENC_RCWSET_64_MEMOP=1586, -ENC_RCWSSETAL_64_MEMOP=1587, -ENC_RCWSSETA_64_MEMOP=1588, -ENC_RCWSSETL_64_MEMOP=1589, -ENC_RCWSSETPAL_128_MEMOP_128=1590, -ENC_RCWSSETPA_128_MEMOP_128=1591, -ENC_RCWSSETPL_128_MEMOP_128=1592, -ENC_RCWSSETP_128_MEMOP_128=1593, -ENC_RCWSSET_64_MEMOP=1594, -ENC_RCWSSWPAL_64_MEMOP=1595, -ENC_RCWSSWPA_64_MEMOP=1596, -ENC_RCWSSWPL_64_MEMOP=1597, -ENC_RCWSSWPPAL_128_MEMOP_128=1598, -ENC_RCWSSWPPA_128_MEMOP_128=1599, -ENC_RCWSSWPPL_128_MEMOP_128=1600, -ENC_RCWSSWPP_128_MEMOP_128=1601, -ENC_RCWSSWP_64_MEMOP=1602, -ENC_RCWSWPAL_64_MEMOP=1603, -ENC_RCWSWPA_64_MEMOP=1604, -ENC_RCWSWPL_64_MEMOP=1605, -ENC_RCWSWPPAL_128_MEMOP_128=1606, -ENC_RCWSWPPA_128_MEMOP_128=1607, -ENC_RCWSWPPL_128_MEMOP_128=1608, -ENC_RCWSWPP_128_MEMOP_128=1609, -ENC_RCWSWP_64_MEMOP=1610, -ENC_RETAASPPCR_64M_BRANCH_REG=1611, -ENC_RETAASPPC_ONLY_MISCBRANCH=1612, -ENC_RETAA_64E_BRANCH_REG=1613, -ENC_RETABSPPCR_64M_BRANCH_REG=1614, -ENC_RETABSPPC_ONLY_MISCBRANCH=1615, -ENC_RETAB_64E_BRANCH_REG=1616, -ENC_RET_64R_BRANCH_REG=1617, -ENC_REV16_32_DP_1SRC=1618, -ENC_REV16_64_DP_1SRC=1619, -ENC_REV16_ASIMDMISC_R=1620, -ENC_REV32_64_DP_1SRC=1621, -ENC_REV32_ASIMDMISC_R=1622, -ENC_REV64_REV_64_DP_1SRC=1623, // alias -ENC_REV64_ASIMDMISC_R=1624, -ENC_REV_32_DP_1SRC=1625, -ENC_REV_64_DP_1SRC=1626, -ENC_RMIF_ONLY_RMIF=1627, -ENC_RORV_32_DP_2SRC=1628, -ENC_RORV_64_DP_2SRC=1629, -ENC_ROR_EXTR_32_EXTRACT=1630, // alias -ENC_ROR_EXTR_64_EXTRACT=1631, // alias -ENC_ROR_RORV_32_DP_2SRC=1632, // alias -ENC_ROR_RORV_64_DP_2SRC=1633, // alias -ENC_RPRFM_R_LDST_REGOFF=1634, -ENC_RSHRN_ASIMDSHF_N=1635, -ENC_RSUBHN_ASIMDDIFF_N=1636, -ENC_SABAL_ASIMDDIFF_L=1637, -ENC_SABA_ASIMDSAME_ONLY=1638, -ENC_SABDL_ASIMDDIFF_L=1639, -ENC_SABD_ASIMDSAME_ONLY=1640, -ENC_SADALP_ASIMDMISC_P=1641, -ENC_SADDLP_ASIMDMISC_P=1642, -ENC_SADDLV_ASIMDALL_ONLY=1643, -ENC_SADDL_ASIMDDIFF_L=1644, -ENC_SADDW_ASIMDDIFF_W=1645, -ENC_SBCS_32_ADDSUB_CARRY=1646, -ENC_SBCS_64_ADDSUB_CARRY=1647, -ENC_SBC_32_ADDSUB_CARRY=1648, -ENC_SBC_64_ADDSUB_CARRY=1649, -ENC_SBFIZ_SBFM_32M_BITFIELD=1650, // alias -ENC_SBFIZ_SBFM_64M_BITFIELD=1651, // alias -ENC_SBFM_32M_BITFIELD=1652, -ENC_SBFM_64M_BITFIELD=1653, -ENC_SBFX_SBFM_32M_BITFIELD=1654, // alias -ENC_SBFX_SBFM_64M_BITFIELD=1655, // alias -ENC_SB_ONLY_BARRIERS=1656, -ENC_SCVTF_D32_FLOAT2FIX=1657, -ENC_SCVTF_D32_FLOAT2INT=1658, -ENC_SCVTF_D64_FLOAT2FIX=1659, -ENC_SCVTF_D64_FLOAT2INT=1660, -ENC_SCVTF_H32_FLOAT2FIX=1661, -ENC_SCVTF_H32_FLOAT2INT=1662, -ENC_SCVTF_H64_FLOAT2FIX=1663, -ENC_SCVTF_H64_FLOAT2INT=1664, -ENC_SCVTF_S32_FLOAT2FIX=1665, -ENC_SCVTF_S32_FLOAT2INT=1666, -ENC_SCVTF_S64_FLOAT2FIX=1667, -ENC_SCVTF_S64_FLOAT2INT=1668, -ENC_SCVTF_ASIMDMISC_R=1669, -ENC_SCVTF_ASIMDMISCFP16_R=1670, -ENC_SCVTF_ASIMDSHF_C=1671, -ENC_SCVTF_ASISDMISC_R=1672, -ENC_SCVTF_ASISDMISCFP16_R=1673, -ENC_SCVTF_ASISDSHF_C=1674, -ENC_SCVTF_SISD_32D=1675, -ENC_SCVTF_SISD_32H=1676, -ENC_SCVTF_SISD_64H=1677, -ENC_SCVTF_SISD_64S=1678, -ENC_SDIV_32_DP_2SRC=1679, -ENC_SDIV_64_DP_2SRC=1680, -ENC_SDOT_ASIMDELEM_D=1681, -ENC_SDOT_ASIMDSAME2_D=1682, -ENC_SETEN_SET_MEMCMS=1683, -ENC_SETETN_SET_MEMCMS=1684, -ENC_SETET_SET_MEMCMS=1685, -ENC_SETE_SET_MEMCMS=1686, -ENC_SETF16_ONLY_SETF=1687, -ENC_SETF8_ONLY_SETF=1688, -ENC_SETGEN_SET_MEMCMS=1689, -ENC_SETGETN_SET_MEMCMS=1690, -ENC_SETGET_SET_MEMCMS=1691, -ENC_SETGE_SET_MEMCMS=1692, -ENC_SETGMN_SET_MEMCMS=1693, -ENC_SETGMTN_SET_MEMCMS=1694, -ENC_SETGMT_SET_MEMCMS=1695, -ENC_SETGM_SET_MEMCMS=1696, -ENC_SETGPN_SET_MEMCMS=1697, -ENC_SETGPTN_SET_MEMCMS=1698, -ENC_SETGPT_SET_MEMCMS=1699, -ENC_SETGP_SET_MEMCMS=1700, -ENC_SETMN_SET_MEMCMS=1701, -ENC_SETMTN_SET_MEMCMS=1702, -ENC_SETMT_SET_MEMCMS=1703, -ENC_SETM_SET_MEMCMS=1704, -ENC_SETPN_SET_MEMCMS=1705, -ENC_SETPTN_SET_MEMCMS=1706, -ENC_SETPT_SET_MEMCMS=1707, -ENC_SETP_SET_MEMCMS=1708, -ENC_SEVL_HI_HINTS=1709, -ENC_SEV_HI_HINTS=1710, -ENC_SHA1C_QSV_CRYPTOSHA3=1711, -ENC_SHA1H_SS_CRYPTOSHA2=1712, -ENC_SHA1M_QSV_CRYPTOSHA3=1713, -ENC_SHA1P_QSV_CRYPTOSHA3=1714, -ENC_SHA1SU0_VVV_CRYPTOSHA3=1715, -ENC_SHA1SU1_VV_CRYPTOSHA2=1716, -ENC_SHA256H2_QQV_CRYPTOSHA3=1717, -ENC_SHA256H_QQV_CRYPTOSHA3=1718, -ENC_SHA256SU0_VV_CRYPTOSHA2=1719, -ENC_SHA256SU1_VVV_CRYPTOSHA3=1720, -ENC_SHA512H2_QQV_CRYPTOSHA512_3=1721, -ENC_SHA512H_QQV_CRYPTOSHA512_3=1722, -ENC_SHA512SU0_VV2_CRYPTOSHA512_2=1723, -ENC_SHA512SU1_VVV2_CRYPTOSHA512_3=1724, -ENC_SHADD_ASIMDSAME_ONLY=1725, -ENC_SHLL_ASIMDMISC_S=1726, -ENC_SHL_ASIMDSHF_R=1727, -ENC_SHL_ASISDSHF_R=1728, -ENC_SHRN_ASIMDSHF_N=1729, -ENC_SHSUB_ASIMDSAME_ONLY=1730, -ENC_SLI_ASIMDSHF_R=1731, -ENC_SLI_ASISDSHF_R=1732, -ENC_SM3PARTW1_VVV4_CRYPTOSHA512_3=1733, -ENC_SM3PARTW2_VVV4_CRYPTOSHA512_3=1734, -ENC_SM3SS1_VVV4_CRYPTO4=1735, -ENC_SM3TT1A_VVV4_CRYPTO3_IMM2=1736, -ENC_SM3TT1B_VVV4_CRYPTO3_IMM2=1737, -ENC_SM3TT2A_VVV4_CRYPTO3_IMM2=1738, -ENC_SM3TT2B_VVV_CRYPTO3_IMM2=1739, -ENC_SM4EKEY_VVV4_CRYPTOSHA512_3=1740, -ENC_SM4E_VV4_CRYPTOSHA512_2=1741, -ENC_SMADDL_64WA_DP_3SRC=1742, -ENC_SMAXP_ASIMDSAME_ONLY=1743, -ENC_SMAXV_ASIMDALL_ONLY=1744, -ENC_SMAX_32_DP_2SRC=1745, -ENC_SMAX_32_MINMAX_IMM=1746, -ENC_SMAX_64_DP_2SRC=1747, -ENC_SMAX_64_MINMAX_IMM=1748, -ENC_SMAX_ASIMDSAME_ONLY=1749, -ENC_SMC_EX_EXCEPTION=1750, -ENC_SMINP_ASIMDSAME_ONLY=1751, -ENC_SMINV_ASIMDALL_ONLY=1752, -ENC_SMIN_32_DP_2SRC=1753, -ENC_SMIN_32_MINMAX_IMM=1754, -ENC_SMIN_64_DP_2SRC=1755, -ENC_SMIN_64_MINMAX_IMM=1756, -ENC_SMIN_ASIMDSAME_ONLY=1757, -ENC_SMLAL_ASIMDDIFF_L=1758, -ENC_SMLAL_ASIMDELEM_L=1759, -ENC_SMLSL_ASIMDDIFF_L=1760, -ENC_SMLSL_ASIMDELEM_L=1761, -ENC_SMMLA_ASIMDSAME2_G=1762, -ENC_SMNEGL_SMSUBL_64WA_DP_3SRC=1763, // alias -ENC_SMOV_ASIMDINS_W_W=1764, -ENC_SMOV_ASIMDINS_X_X=1765, -ENC_SMSTART_MSR_SI_PSTATE=1766, // alias -ENC_SMSTOP_MSR_SI_PSTATE=1767, // alias -ENC_SMSUBL_64WA_DP_3SRC=1768, -ENC_SMULH_64_DP_3SRC=1769, -ENC_SMULL_SMADDL_64WA_DP_3SRC=1770, // alias -ENC_SMULL_ASIMDDIFF_L=1771, -ENC_SMULL_ASIMDELEM_L=1772, -ENC_SQABS_ASIMDMISC_R=1773, -ENC_SQABS_ASISDMISC_R=1774, -ENC_SQADD_ASIMDSAME_ONLY=1775, -ENC_SQADD_ASISDSAME_ONLY=1776, -ENC_SQDMLAL_ASIMDDIFF_L=1777, -ENC_SQDMLAL_ASIMDELEM_L=1778, -ENC_SQDMLAL_ASISDDIFF_ONLY=1779, -ENC_SQDMLAL_ASISDELEM_L=1780, -ENC_SQDMLSL_ASIMDDIFF_L=1781, -ENC_SQDMLSL_ASIMDELEM_L=1782, -ENC_SQDMLSL_ASISDDIFF_ONLY=1783, -ENC_SQDMLSL_ASISDELEM_L=1784, -ENC_SQDMULH_ASIMDELEM_R=1785, -ENC_SQDMULH_ASIMDSAME_ONLY=1786, -ENC_SQDMULH_ASISDELEM_R=1787, -ENC_SQDMULH_ASISDSAME_ONLY=1788, -ENC_SQDMULL_ASIMDDIFF_L=1789, -ENC_SQDMULL_ASIMDELEM_L=1790, -ENC_SQDMULL_ASISDDIFF_ONLY=1791, -ENC_SQDMULL_ASISDELEM_L=1792, -ENC_SQNEG_ASIMDMISC_R=1793, -ENC_SQNEG_ASISDMISC_R=1794, -ENC_SQRDMLAH_ASIMDELEM_R=1795, -ENC_SQRDMLAH_ASIMDSAME2_ONLY=1796, -ENC_SQRDMLAH_ASISDELEM_R=1797, -ENC_SQRDMLAH_ASISDSAME2_ONLY=1798, -ENC_SQRDMLSH_ASIMDELEM_R=1799, -ENC_SQRDMLSH_ASIMDSAME2_ONLY=1800, -ENC_SQRDMLSH_ASISDELEM_R=1801, -ENC_SQRDMLSH_ASISDSAME2_ONLY=1802, -ENC_SQRDMULH_ASIMDELEM_R=1803, -ENC_SQRDMULH_ASIMDSAME_ONLY=1804, -ENC_SQRDMULH_ASISDELEM_R=1805, -ENC_SQRDMULH_ASISDSAME_ONLY=1806, -ENC_SQRSHL_ASIMDSAME_ONLY=1807, -ENC_SQRSHL_ASISDSAME_ONLY=1808, -ENC_SQRSHRN_ASIMDSHF_N=1809, -ENC_SQRSHRN_ASISDSHF_N=1810, -ENC_SQRSHRUN_ASIMDSHF_N=1811, -ENC_SQRSHRUN_ASISDSHF_N=1812, -ENC_SQSHLU_ASIMDSHF_R=1813, -ENC_SQSHLU_ASISDSHF_R=1814, -ENC_SQSHL_ASIMDSAME_ONLY=1815, -ENC_SQSHL_ASIMDSHF_R=1816, -ENC_SQSHL_ASISDSAME_ONLY=1817, -ENC_SQSHL_ASISDSHF_R=1818, -ENC_SQSHRN_ASIMDSHF_N=1819, -ENC_SQSHRN_ASISDSHF_N=1820, -ENC_SQSHRUN_ASIMDSHF_N=1821, -ENC_SQSHRUN_ASISDSHF_N=1822, -ENC_SQSUB_ASIMDSAME_ONLY=1823, -ENC_SQSUB_ASISDSAME_ONLY=1824, -ENC_SQXTN_ASIMDMISC_N=1825, -ENC_SQXTN_ASISDMISC_N=1826, -ENC_SQXTUN_ASIMDMISC_N=1827, -ENC_SQXTUN_ASISDMISC_N=1828, -ENC_SRHADD_ASIMDSAME_ONLY=1829, -ENC_SRI_ASIMDSHF_R=1830, -ENC_SRI_ASISDSHF_R=1831, -ENC_SRSHL_ASIMDSAME_ONLY=1832, -ENC_SRSHL_ASISDSAME_ONLY=1833, -ENC_SRSHR_ASIMDSHF_R=1834, -ENC_SRSHR_ASISDSHF_R=1835, -ENC_SRSRA_ASIMDSHF_R=1836, -ENC_SRSRA_ASISDSHF_R=1837, -ENC_SSBB_DSB_BO_BARRIERS=1838, // alias -ENC_SSHLL_ASIMDSHF_L=1839, -ENC_SSHL_ASIMDSAME_ONLY=1840, -ENC_SSHL_ASISDSAME_ONLY=1841, -ENC_SSHR_ASIMDSHF_R=1842, -ENC_SSHR_ASISDSHF_R=1843, -ENC_SSRA_ASIMDSHF_R=1844, -ENC_SSRA_ASISDSHF_R=1845, -ENC_SSUBL_ASIMDDIFF_L=1846, -ENC_SSUBW_ASIMDDIFF_W=1847, -ENC_ST1_ASISDLSE_R1_1V=1848, -ENC_ST1_ASISDLSE_R2_2V=1849, -ENC_ST1_ASISDLSE_R3_3V=1850, -ENC_ST1_ASISDLSE_R4_4V=1851, -ENC_ST1_ASISDLSEP_I1_I1=1852, -ENC_ST1_ASISDLSEP_I2_I2=1853, -ENC_ST1_ASISDLSEP_I3_I3=1854, -ENC_ST1_ASISDLSEP_I4_I4=1855, -ENC_ST1_ASISDLSEP_R1_R1=1856, -ENC_ST1_ASISDLSEP_R2_R2=1857, -ENC_ST1_ASISDLSEP_R3_R3=1858, -ENC_ST1_ASISDLSEP_R4_R4=1859, -ENC_ST1_ASISDLSO_B1_1B=1860, -ENC_ST1_ASISDLSO_D1_1D=1861, -ENC_ST1_ASISDLSO_H1_1H=1862, -ENC_ST1_ASISDLSO_S1_1S=1863, -ENC_ST1_ASISDLSOP_B1_I1B=1864, -ENC_ST1_ASISDLSOP_BX1_R1B=1865, -ENC_ST1_ASISDLSOP_D1_I1D=1866, -ENC_ST1_ASISDLSOP_DX1_R1D=1867, -ENC_ST1_ASISDLSOP_H1_I1H=1868, -ENC_ST1_ASISDLSOP_HX1_R1H=1869, -ENC_ST1_ASISDLSOP_S1_I1S=1870, -ENC_ST1_ASISDLSOP_SX1_R1S=1871, -ENC_ST2G_64SOFFSET_LDSTTAGS=1872, -ENC_ST2G_64SPOST_LDSTTAGS=1873, -ENC_ST2G_64SPRE_LDSTTAGS=1874, -ENC_ST2_ASISDLSE_R2=1875, -ENC_ST2_ASISDLSEP_I2_I=1876, -ENC_ST2_ASISDLSEP_R2_R=1877, -ENC_ST2_ASISDLSO_B2_2B=1878, -ENC_ST2_ASISDLSO_D2_2D=1879, -ENC_ST2_ASISDLSO_H2_2H=1880, -ENC_ST2_ASISDLSO_S2_2S=1881, -ENC_ST2_ASISDLSOP_B2_I2B=1882, -ENC_ST2_ASISDLSOP_BX2_R2B=1883, -ENC_ST2_ASISDLSOP_D2_I2D=1884, -ENC_ST2_ASISDLSOP_DX2_R2D=1885, -ENC_ST2_ASISDLSOP_H2_I2H=1886, -ENC_ST2_ASISDLSOP_HX2_R2H=1887, -ENC_ST2_ASISDLSOP_S2_I2S=1888, -ENC_ST2_ASISDLSOP_SX2_R2S=1889, -ENC_ST3_ASISDLSE_R3=1890, -ENC_ST3_ASISDLSEP_I3_I=1891, -ENC_ST3_ASISDLSEP_R3_R=1892, -ENC_ST3_ASISDLSO_B3_3B=1893, -ENC_ST3_ASISDLSO_D3_3D=1894, -ENC_ST3_ASISDLSO_H3_3H=1895, -ENC_ST3_ASISDLSO_S3_3S=1896, -ENC_ST3_ASISDLSOP_B3_I3B=1897, -ENC_ST3_ASISDLSOP_BX3_R3B=1898, -ENC_ST3_ASISDLSOP_D3_I3D=1899, -ENC_ST3_ASISDLSOP_DX3_R3D=1900, -ENC_ST3_ASISDLSOP_H3_I3H=1901, -ENC_ST3_ASISDLSOP_HX3_R3H=1902, -ENC_ST3_ASISDLSOP_S3_I3S=1903, -ENC_ST3_ASISDLSOP_SX3_R3S=1904, -ENC_ST4_ASISDLSE_R4=1905, -ENC_ST4_ASISDLSEP_I4_I=1906, -ENC_ST4_ASISDLSEP_R4_R=1907, -ENC_ST4_ASISDLSO_B4_4B=1908, -ENC_ST4_ASISDLSO_D4_4D=1909, -ENC_ST4_ASISDLSO_H4_4H=1910, -ENC_ST4_ASISDLSO_S4_4S=1911, -ENC_ST4_ASISDLSOP_B4_I4B=1912, -ENC_ST4_ASISDLSOP_BX4_R4B=1913, -ENC_ST4_ASISDLSOP_D4_I4D=1914, -ENC_ST4_ASISDLSOP_DX4_R4D=1915, -ENC_ST4_ASISDLSOP_H4_I4H=1916, -ENC_ST4_ASISDLSOP_HX4_R4H=1917, -ENC_ST4_ASISDLSOP_S4_I4S=1918, -ENC_ST4_ASISDLSOP_SX4_R4S=1919, -ENC_ST64BV0_64_MEMOP=1920, -ENC_ST64BV_64_MEMOP=1921, -ENC_ST64B_64L_MEMOP=1922, -ENC_STADDB_LDADDB_32_MEMOP=1923, // alias -ENC_STADDH_LDADDH_32_MEMOP=1924, // alias -ENC_STADDLB_LDADDLB_32_MEMOP=1925, // alias -ENC_STADDLH_LDADDLH_32_MEMOP=1926, // alias -ENC_STADDL_LDADDL_32_MEMOP=1927, // alias -ENC_STADDL_LDADDL_64_MEMOP=1928, // alias -ENC_STADD_LDADD_32_MEMOP=1929, // alias -ENC_STADD_LDADD_64_MEMOP=1930, // alias -ENC_STBFADDL_16=1931, -ENC_STBFADD_16=1932, -ENC_STBFMAXL_16=1933, -ENC_STBFMAXNML_16=1934, -ENC_STBFMAXNM_16=1935, -ENC_STBFMAX_16=1936, -ENC_STBFMINL_16=1937, -ENC_STBFMINNML_16=1938, -ENC_STBFMINNM_16=1939, -ENC_STBFMIN_16=1940, -ENC_STCLRB_LDCLRB_32_MEMOP=1941, // alias -ENC_STCLRH_LDCLRH_32_MEMOP=1942, // alias -ENC_STCLRLB_LDCLRLB_32_MEMOP=1943, // alias -ENC_STCLRLH_LDCLRLH_32_MEMOP=1944, // alias -ENC_STCLRL_LDCLRL_32_MEMOP=1945, // alias -ENC_STCLRL_LDCLRL_64_MEMOP=1946, // alias -ENC_STCLR_LDCLR_32_MEMOP=1947, // alias -ENC_STCLR_LDCLR_64_MEMOP=1948, // alias -ENC_STEORB_LDEORB_32_MEMOP=1949, // alias -ENC_STEORH_LDEORH_32_MEMOP=1950, // alias -ENC_STEORLB_LDEORLB_32_MEMOP=1951, // alias -ENC_STEORLH_LDEORLH_32_MEMOP=1952, // alias -ENC_STEORL_LDEORL_32_MEMOP=1953, // alias -ENC_STEORL_LDEORL_64_MEMOP=1954, // alias -ENC_STEOR_LDEOR_32_MEMOP=1955, // alias -ENC_STEOR_LDEOR_64_MEMOP=1956, // alias -ENC_STFADDL_16=1957, -ENC_STFADDL_32=1958, -ENC_STFADDL_64=1959, -ENC_STFADD_16=1960, -ENC_STFADD_32=1961, -ENC_STFADD_64=1962, -ENC_STFMAXL_16=1963, -ENC_STFMAXL_32=1964, -ENC_STFMAXL_64=1965, -ENC_STFMAXNML_16=1966, -ENC_STFMAXNML_32=1967, -ENC_STFMAXNML_64=1968, -ENC_STFMAXNM_16=1969, -ENC_STFMAXNM_32=1970, -ENC_STFMAXNM_64=1971, -ENC_STFMAX_16=1972, -ENC_STFMAX_32=1973, -ENC_STFMAX_64=1974, -ENC_STFMINL_16=1975, -ENC_STFMINL_32=1976, -ENC_STFMINL_64=1977, -ENC_STFMINNML_16=1978, -ENC_STFMINNML_32=1979, -ENC_STFMINNML_64=1980, -ENC_STFMINNM_16=1981, -ENC_STFMINNM_32=1982, -ENC_STFMINNM_64=1983, -ENC_STFMIN_16=1984, -ENC_STFMIN_32=1985, -ENC_STFMIN_64=1986, -ENC_STGM_64BULK_LDSTTAGS=1987, -ENC_STGP_64_LDSTPAIR_OFF=1988, -ENC_STGP_64_LDSTPAIR_POST=1989, -ENC_STGP_64_LDSTPAIR_PRE=1990, -ENC_STG_64SOFFSET_LDSTTAGS=1991, -ENC_STG_64SPOST_LDSTTAGS=1992, -ENC_STG_64SPRE_LDSTTAGS=1993, -ENC_STILP_32SE_LDIAPPSTILP=1994, -ENC_STILP_32S_LDIAPPSTILP=1995, -ENC_STILP_64SS_LDIAPPSTILP=1996, -ENC_STILP_64S_LDIAPPSTILP=1997, -ENC_STL1_ASISDLSO_D1=1998, -ENC_STLLRB_SL32_LDSTORD=1999, -ENC_STLLRH_SL32_LDSTORD=2000, -ENC_STLLR_SL32_LDSTORD=2001, -ENC_STLLR_SL64_LDSTORD=2002, -ENC_STLRB_SL32_LDSTORD=2003, -ENC_STLRH_SL32_LDSTORD=2004, -ENC_STLR_32S_LDAPSTL_WRITEBACK=2005, -ENC_STLR_64S_LDAPSTL_WRITEBACK=2006, -ENC_STLR_SL32_LDSTORD=2007, -ENC_STLR_SL64_LDSTORD=2008, -ENC_STLTXR_SR32_LDSTEXCLR_UNPRIV=2009, -ENC_STLTXR_SR64_LDSTEXCLR_UNPRIV=2010, -ENC_STLURB_32_LDAPSTL_UNSCALED=2011, -ENC_STLURH_32_LDAPSTL_UNSCALED=2012, -ENC_STLUR_32_LDAPSTL_UNSCALED=2013, -ENC_STLUR_64_LDAPSTL_UNSCALED=2014, -ENC_STLUR_B_LDAPSTL_SIMD=2015, -ENC_STLUR_D_LDAPSTL_SIMD=2016, -ENC_STLUR_H_LDAPSTL_SIMD=2017, -ENC_STLUR_Q_LDAPSTL_SIMD=2018, -ENC_STLUR_S_LDAPSTL_SIMD=2019, -ENC_STLXP_SP32_LDSTEXCLP=2020, -ENC_STLXP_SP64_LDSTEXCLP=2021, -ENC_STLXRB_SR32_LDSTEXCLR=2022, -ENC_STLXRH_SR32_LDSTEXCLR=2023, -ENC_STLXR_SR32_LDSTEXCLR=2024, -ENC_STLXR_SR64_LDSTEXCLR=2025, -ENC_STNP_32_LDSTNAPAIR_OFFS=2026, -ENC_STNP_64_LDSTNAPAIR_OFFS=2027, -ENC_STNP_D_LDSTNAPAIR_OFFS=2028, -ENC_STNP_Q_LDSTNAPAIR_OFFS=2029, -ENC_STNP_S_LDSTNAPAIR_OFFS=2030, -ENC_STP_32_LDSTPAIR_OFF=2031, -ENC_STP_32_LDSTPAIR_POST=2032, -ENC_STP_32_LDSTPAIR_PRE=2033, -ENC_STP_64_LDSTPAIR_OFF=2034, -ENC_STP_64_LDSTPAIR_POST=2035, -ENC_STP_64_LDSTPAIR_PRE=2036, -ENC_STP_D_LDSTPAIR_OFF=2037, -ENC_STP_D_LDSTPAIR_POST=2038, -ENC_STP_D_LDSTPAIR_PRE=2039, -ENC_STP_Q_LDSTPAIR_OFF=2040, -ENC_STP_Q_LDSTPAIR_POST=2041, -ENC_STP_Q_LDSTPAIR_PRE=2042, -ENC_STP_S_LDSTPAIR_OFF=2043, -ENC_STP_S_LDSTPAIR_POST=2044, -ENC_STP_S_LDSTPAIR_PRE=2045, -ENC_STRB_32BL_LDST_REGOFF=2046, -ENC_STRB_32B_LDST_REGOFF=2047, -ENC_STRB_32_LDST_IMMPOST=2048, -ENC_STRB_32_LDST_IMMPRE=2049, -ENC_STRB_32_LDST_POS=2050, -ENC_STRH_32_LDST_IMMPOST=2051, -ENC_STRH_32_LDST_IMMPRE=2052, -ENC_STRH_32_LDST_POS=2053, -ENC_STRH_32_LDST_REGOFF=2054, -ENC_STR_32_LDST_IMMPOST=2055, -ENC_STR_32_LDST_IMMPRE=2056, -ENC_STR_32_LDST_POS=2057, -ENC_STR_32_LDST_REGOFF=2058, -ENC_STR_64_LDST_IMMPOST=2059, -ENC_STR_64_LDST_IMMPRE=2060, -ENC_STR_64_LDST_POS=2061, -ENC_STR_64_LDST_REGOFF=2062, -ENC_STR_BL_LDST_REGOFF=2063, -ENC_STR_B_LDST_IMMPOST=2064, -ENC_STR_B_LDST_IMMPRE=2065, -ENC_STR_B_LDST_POS=2066, -ENC_STR_B_LDST_REGOFF=2067, -ENC_STR_D_LDST_IMMPOST=2068, -ENC_STR_D_LDST_IMMPRE=2069, -ENC_STR_D_LDST_POS=2070, -ENC_STR_D_LDST_REGOFF=2071, -ENC_STR_H_LDST_IMMPOST=2072, -ENC_STR_H_LDST_IMMPRE=2073, -ENC_STR_H_LDST_POS=2074, -ENC_STR_H_LDST_REGOFF=2075, -ENC_STR_Q_LDST_IMMPOST=2076, -ENC_STR_Q_LDST_IMMPRE=2077, -ENC_STR_Q_LDST_POS=2078, -ENC_STR_Q_LDST_REGOFF=2079, -ENC_STR_S_LDST_IMMPOST=2080, -ENC_STR_S_LDST_IMMPRE=2081, -ENC_STR_S_LDST_POS=2082, -ENC_STR_S_LDST_REGOFF=2083, -ENC_STSETB_LDSETB_32_MEMOP=2084, // alias -ENC_STSETH_LDSETH_32_MEMOP=2085, // alias -ENC_STSETLB_LDSETLB_32_MEMOP=2086, // alias -ENC_STSETLH_LDSETLH_32_MEMOP=2087, // alias -ENC_STSETL_LDSETL_32_MEMOP=2088, // alias -ENC_STSETL_LDSETL_64_MEMOP=2089, // alias -ENC_STSET_LDSET_32_MEMOP=2090, // alias -ENC_STSET_LDSET_64_MEMOP=2091, // alias -ENC_STSHH_HI_HINTS=2092, -ENC_STSMAXB_LDSMAXB_32_MEMOP=2093, // alias -ENC_STSMAXH_LDSMAXH_32_MEMOP=2094, // alias -ENC_STSMAXLB_LDSMAXLB_32_MEMOP=2095, // alias -ENC_STSMAXLH_LDSMAXLH_32_MEMOP=2096, // alias -ENC_STSMAXL_LDSMAXL_32_MEMOP=2097, // alias -ENC_STSMAXL_LDSMAXL_64_MEMOP=2098, // alias -ENC_STSMAX_LDSMAX_32_MEMOP=2099, // alias -ENC_STSMAX_LDSMAX_64_MEMOP=2100, // alias -ENC_STSMINB_LDSMINB_32_MEMOP=2101, // alias -ENC_STSMINH_LDSMINH_32_MEMOP=2102, // alias -ENC_STSMINLB_LDSMINLB_32_MEMOP=2103, // alias -ENC_STSMINLH_LDSMINLH_32_MEMOP=2104, // alias -ENC_STSMINL_LDSMINL_32_MEMOP=2105, // alias -ENC_STSMINL_LDSMINL_64_MEMOP=2106, // alias -ENC_STSMIN_LDSMIN_32_MEMOP=2107, // alias -ENC_STSMIN_LDSMIN_64_MEMOP=2108, // alias -ENC_STTADDL_LDTADDL_32_MEMOP_UNPRIV=2109, // alias -ENC_STTADDL_LDTADDL_64_MEMOP_UNPRIV=2110, // alias -ENC_STTADD_LDTADD_32_MEMOP_UNPRIV=2111, // alias -ENC_STTADD_LDTADD_64_MEMOP_UNPRIV=2112, // alias -ENC_STTCLRL_LDTCLRL_32_MEMOP_UNPRIV=2113, // alias -ENC_STTCLRL_LDTCLRL_64_MEMOP_UNPRIV=2114, // alias -ENC_STTCLR_LDTCLR_32_MEMOP_UNPRIV=2115, // alias -ENC_STTCLR_LDTCLR_64_MEMOP_UNPRIV=2116, // alias -ENC_STTNP_64_LDSTNAPAIR_OFFS=2117, -ENC_STTNP_Q_LDSTNAPAIR_OFFS=2118, -ENC_STTP_64_LDSTPAIR_OFF=2119, -ENC_STTP_64_LDSTPAIR_POST=2120, -ENC_STTP_64_LDSTPAIR_PRE=2121, -ENC_STTP_Q_LDSTPAIR_OFF=2122, -ENC_STTP_Q_LDSTPAIR_POST=2123, -ENC_STTP_Q_LDSTPAIR_PRE=2124, -ENC_STTRB_32_LDST_UNPRIV=2125, -ENC_STTRH_32_LDST_UNPRIV=2126, -ENC_STTR_32_LDST_UNPRIV=2127, -ENC_STTR_64_LDST_UNPRIV=2128, -ENC_STTSETL_LDTSETL_32_MEMOP_UNPRIV=2129, // alias -ENC_STTSETL_LDTSETL_64_MEMOP_UNPRIV=2130, // alias -ENC_STTSET_LDTSET_32_MEMOP_UNPRIV=2131, // alias -ENC_STTSET_LDTSET_64_MEMOP_UNPRIV=2132, // alias -ENC_STTXR_SR32_LDSTEXCLR_UNPRIV=2133, -ENC_STTXR_SR64_LDSTEXCLR_UNPRIV=2134, -ENC_STUMAXB_LDUMAXB_32_MEMOP=2135, // alias -ENC_STUMAXH_LDUMAXH_32_MEMOP=2136, // alias -ENC_STUMAXLB_LDUMAXLB_32_MEMOP=2137, // alias -ENC_STUMAXLH_LDUMAXLH_32_MEMOP=2138, // alias -ENC_STUMAXL_LDUMAXL_32_MEMOP=2139, // alias -ENC_STUMAXL_LDUMAXL_64_MEMOP=2140, // alias -ENC_STUMAX_LDUMAX_32_MEMOP=2141, // alias -ENC_STUMAX_LDUMAX_64_MEMOP=2142, // alias -ENC_STUMINB_LDUMINB_32_MEMOP=2143, // alias -ENC_STUMINH_LDUMINH_32_MEMOP=2144, // alias -ENC_STUMINLB_LDUMINLB_32_MEMOP=2145, // alias -ENC_STUMINLH_LDUMINLH_32_MEMOP=2146, // alias -ENC_STUMINL_LDUMINL_32_MEMOP=2147, // alias -ENC_STUMINL_LDUMINL_64_MEMOP=2148, // alias -ENC_STUMIN_LDUMIN_32_MEMOP=2149, // alias -ENC_STUMIN_LDUMIN_64_MEMOP=2150, // alias -ENC_STURB_32_LDST_UNSCALED=2151, -ENC_STURH_32_LDST_UNSCALED=2152, -ENC_STUR_32_LDST_UNSCALED=2153, -ENC_STUR_64_LDST_UNSCALED=2154, -ENC_STUR_B_LDST_UNSCALED=2155, -ENC_STUR_D_LDST_UNSCALED=2156, -ENC_STUR_H_LDST_UNSCALED=2157, -ENC_STUR_Q_LDST_UNSCALED=2158, -ENC_STUR_S_LDST_UNSCALED=2159, -ENC_STXP_SP32_LDSTEXCLP=2160, -ENC_STXP_SP64_LDSTEXCLP=2161, -ENC_STXRB_SR32_LDSTEXCLR=2162, -ENC_STXRH_SR32_LDSTEXCLR=2163, -ENC_STXR_SR32_LDSTEXCLR=2164, -ENC_STXR_SR64_LDSTEXCLR=2165, -ENC_STZ2G_64SOFFSET_LDSTTAGS=2166, -ENC_STZ2G_64SPOST_LDSTTAGS=2167, -ENC_STZ2G_64SPRE_LDSTTAGS=2168, -ENC_STZGM_64BULK_LDSTTAGS=2169, -ENC_STZG_64SOFFSET_LDSTTAGS=2170, -ENC_STZG_64SPOST_LDSTTAGS=2171, -ENC_STZG_64SPRE_LDSTTAGS=2172, -ENC_SUBG_64_ADDSUB_IMMTAGS=2173, -ENC_SUBHN_ASIMDDIFF_N=2174, -ENC_SUBPS_64S_DP_2SRC=2175, -ENC_SUBPT_64_ADDSUB_PT=2176, -ENC_SUBP_64S_DP_2SRC=2177, -ENC_SUBS_32S_ADDSUB_EXT=2178, -ENC_SUBS_32S_ADDSUB_IMM=2179, -ENC_SUBS_32_ADDSUB_SHIFT=2180, -ENC_SUBS_64S_ADDSUB_EXT=2181, -ENC_SUBS_64S_ADDSUB_IMM=2182, -ENC_SUBS_64_ADDSUB_SHIFT=2183, -ENC_SUB_32_ADDSUB_EXT=2184, -ENC_SUB_32_ADDSUB_IMM=2185, -ENC_SUB_32_ADDSUB_SHIFT=2186, -ENC_SUB_64_ADDSUB_EXT=2187, -ENC_SUB_64_ADDSUB_IMM=2188, -ENC_SUB_64_ADDSUB_SHIFT=2189, -ENC_SUB_ASIMDSAME_ONLY=2190, -ENC_SUB_ASISDSAME_ONLY=2191, -ENC_SUDOT_ASIMDELEM_D=2192, -ENC_SUQADD_ASIMDMISC_R=2193, -ENC_SUQADD_ASISDMISC_R=2194, -ENC_SVC_EX_EXCEPTION=2195, -ENC_SWPAB_32_MEMOP=2196, -ENC_SWPAH_32_MEMOP=2197, -ENC_SWPALB_32_MEMOP=2198, -ENC_SWPALH_32_MEMOP=2199, -ENC_SWPAL_32_MEMOP=2200, -ENC_SWPAL_64_MEMOP=2201, -ENC_SWPA_32_MEMOP=2202, -ENC_SWPA_64_MEMOP=2203, -ENC_SWPB_32_MEMOP=2204, -ENC_SWPH_32_MEMOP=2205, -ENC_SWPLB_32_MEMOP=2206, -ENC_SWPLH_32_MEMOP=2207, -ENC_SWPL_32_MEMOP=2208, -ENC_SWPL_64_MEMOP=2209, -ENC_SWPPAL_128_MEMOP_128=2210, -ENC_SWPPA_128_MEMOP_128=2211, -ENC_SWPPL_128_MEMOP_128=2212, -ENC_SWPP_128_MEMOP_128=2213, -ENC_SWPTAL_32_MEMOP_UNPRIV=2214, -ENC_SWPTAL_64_MEMOP_UNPRIV=2215, -ENC_SWPTA_32_MEMOP_UNPRIV=2216, -ENC_SWPTA_64_MEMOP_UNPRIV=2217, -ENC_SWPTL_32_MEMOP_UNPRIV=2218, -ENC_SWPTL_64_MEMOP_UNPRIV=2219, -ENC_SWPT_32_MEMOP_UNPRIV=2220, -ENC_SWPT_64_MEMOP_UNPRIV=2221, -ENC_SWP_32_MEMOP=2222, -ENC_SWP_64_MEMOP=2223, -ENC_SXTB_SBFM_32M_BITFIELD=2224, // alias -ENC_SXTB_SBFM_64M_BITFIELD=2225, // alias -ENC_SXTH_SBFM_32M_BITFIELD=2226, // alias -ENC_SXTH_SBFM_64M_BITFIELD=2227, // alias -ENC_SXTL_SSHLL_ASIMDSHF_L=2228, // alias -ENC_SXTW_SBFM_64M_BITFIELD=2229, // alias -ENC_SYSL_RC_SYSTEMINSTRS=2230, -ENC_SYSP_CR_SYSPAIRINSTRS=2231, -ENC_SYS_CR_SYSTEMINSTRS=2232, -ENC_TBL_ASIMDTBL_L1_1=2233, -ENC_TBL_ASIMDTBL_L2_2=2234, -ENC_TBL_ASIMDTBL_L3_3=2235, -ENC_TBL_ASIMDTBL_L4_4=2236, -ENC_TBNZ_ONLY_TESTBRANCH=2237, -ENC_TBX_ASIMDTBL_L1_1=2238, -ENC_TBX_ASIMDTBL_L2_2=2239, -ENC_TBX_ASIMDTBL_L3_3=2240, -ENC_TBX_ASIMDTBL_L4_4=2241, -ENC_TBZ_ONLY_TESTBRANCH=2242, -ENC_TCANCEL_EX_EXCEPTION=2243, -ENC_TCOMMIT_ONLY_BARRIERS=2244, -ENC_TLBIP_SYSP_CR_SYSPAIRINSTRS=2245, // alias -ENC_TLBI_SYS_CR_SYSTEMINSTRS=2246, // alias -ENC_TRCIT_SYS_CR_SYSTEMINSTRS=2247, // alias -ENC_TRN1_ASIMDPERM_ONLY=2248, -ENC_TRN2_ASIMDPERM_ONLY=2249, -ENC_TSB_HC_HINTS=2250, -ENC_TSTART_BR_SYSTEMRESULT=2251, -ENC_TST_ANDS_32S_LOG_IMM=2252, // alias -ENC_TST_ANDS_32_LOG_SHIFT=2253, // alias -ENC_TST_ANDS_64S_LOG_IMM=2254, // alias -ENC_TST_ANDS_64_LOG_SHIFT=2255, // alias -ENC_TTEST_BR_SYSTEMRESULT=2256, -ENC_UABAL_ASIMDDIFF_L=2257, -ENC_UABA_ASIMDSAME_ONLY=2258, -ENC_UABDL_ASIMDDIFF_L=2259, -ENC_UABD_ASIMDSAME_ONLY=2260, -ENC_UADALP_ASIMDMISC_P=2261, -ENC_UADDLP_ASIMDMISC_P=2262, -ENC_UADDLV_ASIMDALL_ONLY=2263, -ENC_UADDL_ASIMDDIFF_L=2264, -ENC_UADDW_ASIMDDIFF_W=2265, -ENC_UBFIZ_UBFM_32M_BITFIELD=2266, // alias -ENC_UBFIZ_UBFM_64M_BITFIELD=2267, // alias -ENC_UBFM_32M_BITFIELD=2268, -ENC_UBFM_64M_BITFIELD=2269, -ENC_UBFX_UBFM_32M_BITFIELD=2270, // alias -ENC_UBFX_UBFM_64M_BITFIELD=2271, // alias -ENC_UCVTF_D32_FLOAT2FIX=2272, -ENC_UCVTF_D32_FLOAT2INT=2273, -ENC_UCVTF_D64_FLOAT2FIX=2274, -ENC_UCVTF_D64_FLOAT2INT=2275, -ENC_UCVTF_H32_FLOAT2FIX=2276, -ENC_UCVTF_H32_FLOAT2INT=2277, -ENC_UCVTF_H64_FLOAT2FIX=2278, -ENC_UCVTF_H64_FLOAT2INT=2279, -ENC_UCVTF_S32_FLOAT2FIX=2280, -ENC_UCVTF_S32_FLOAT2INT=2281, -ENC_UCVTF_S64_FLOAT2FIX=2282, -ENC_UCVTF_S64_FLOAT2INT=2283, -ENC_UCVTF_ASIMDMISC_R=2284, -ENC_UCVTF_ASIMDMISCFP16_R=2285, -ENC_UCVTF_ASIMDSHF_C=2286, -ENC_UCVTF_ASISDMISC_R=2287, -ENC_UCVTF_ASISDMISCFP16_R=2288, -ENC_UCVTF_ASISDSHF_C=2289, -ENC_UCVTF_SISD_32D=2290, -ENC_UCVTF_SISD_32H=2291, -ENC_UCVTF_SISD_64H=2292, -ENC_UCVTF_SISD_64S=2293, -ENC_UDF_ONLY_PERM_UNDEF=2294, -ENC_UDIV_32_DP_2SRC=2295, -ENC_UDIV_64_DP_2SRC=2296, -ENC_UDOT_ASIMDELEM_D=2297, -ENC_UDOT_ASIMDSAME2_D=2298, -ENC_UHADD_ASIMDSAME_ONLY=2299, -ENC_UHSUB_ASIMDSAME_ONLY=2300, -ENC_UMADDL_64WA_DP_3SRC=2301, -ENC_UMAXP_ASIMDSAME_ONLY=2302, -ENC_UMAXV_ASIMDALL_ONLY=2303, -ENC_UMAX_32U_MINMAX_IMM=2304, -ENC_UMAX_32_DP_2SRC=2305, -ENC_UMAX_64U_MINMAX_IMM=2306, -ENC_UMAX_64_DP_2SRC=2307, -ENC_UMAX_ASIMDSAME_ONLY=2308, -ENC_UMINP_ASIMDSAME_ONLY=2309, -ENC_UMINV_ASIMDALL_ONLY=2310, -ENC_UMIN_32U_MINMAX_IMM=2311, -ENC_UMIN_32_DP_2SRC=2312, -ENC_UMIN_64U_MINMAX_IMM=2313, -ENC_UMIN_64_DP_2SRC=2314, -ENC_UMIN_ASIMDSAME_ONLY=2315, -ENC_UMLAL_ASIMDDIFF_L=2316, -ENC_UMLAL_ASIMDELEM_L=2317, -ENC_UMLSL_ASIMDDIFF_L=2318, -ENC_UMLSL_ASIMDELEM_L=2319, -ENC_UMMLA_ASIMDSAME2_G=2320, -ENC_UMNEGL_UMSUBL_64WA_DP_3SRC=2321, // alias -ENC_UMOV_ASIMDINS_W_W=2322, -ENC_UMOV_ASIMDINS_X_X=2323, -ENC_UMSUBL_64WA_DP_3SRC=2324, -ENC_UMULH_64_DP_3SRC=2325, -ENC_UMULL_UMADDL_64WA_DP_3SRC=2326, // alias -ENC_UMULL_ASIMDDIFF_L=2327, -ENC_UMULL_ASIMDELEM_L=2328, -ENC_UNALLOCATED_1000_DP_2SRC=2329, // terminal -ENC_UNALLOCATED_1001_DP_2SRC=2330, // terminal -ENC_UNALLOCATED_1002_DP_2SRC=2331, // terminal -ENC_UNALLOCATED_1003_DP_2SRC=2332, // terminal -ENC_UNALLOCATED_1004_DP_2SRC=2333, // terminal -ENC_UNALLOCATED_1005_DP_2SRC=2334, // terminal -ENC_UNALLOCATED_1006_DP_2SRC=2335, // terminal -ENC_UNALLOCATED_1007_DP_2SRC=2336, // terminal -ENC_UNALLOCATED_1008_DP_2SRC=2337, // terminal -ENC_UNALLOCATED_1009_DP_2SRC=2338, // terminal -ENC_UNALLOCATED_1010_DP_2SRC=2339, // terminal -ENC_UNALLOCATED_1011_DP_2SRC=2340, // terminal -ENC_UNALLOCATED_1012_DP_2SRC=2341, // terminal -ENC_UNALLOCATED_1013_DP_2SRC=2342, // terminal -ENC_UNALLOCATED_1014_DP_2SRC=2343, // terminal -ENC_UNALLOCATED_1015_DP_3SRC=2344, // terminal -ENC_UNALLOCATED_1016_DP_3SRC=2345, // terminal -ENC_UNALLOCATED_1017_DP_3SRC=2346, // terminal -ENC_UNALLOCATED_1018_DP_3SRC=2347, // terminal -ENC_UNALLOCATED_1019_DP_3SRC=2348, // terminal -ENC_UNALLOCATED_1020_DP_3SRC=2349, // terminal -ENC_UNALLOCATED_1021_SETF=2350, // terminal -ENC_UNALLOCATED_1022_SETF=2351, // terminal -ENC_UNALLOCATED_1023_SETF=2352, // terminal -ENC_UNALLOCATED_1024_SETF=2353, // terminal -ENC_UNALLOCATED_1025_SETF=2354, // terminal -ENC_UNALLOCATED_1026_SETF=2355, // terminal -ENC_UNALLOCATED_1027_RMIF=2356, // terminal -ENC_UNALLOCATED_1028_RMIF=2357, // terminal -ENC_UNALLOCATED_1029_RMIF=2358, // terminal -ENC_UNALLOCATED_1030_RMIF=2359, // terminal -ENC_UNALLOCATED_1031_ASIMDALL=2360, // terminal -ENC_UNALLOCATED_1032_ASIMDALL=2361, // terminal -ENC_UNALLOCATED_1033_ASIMDALL=2362, // terminal -ENC_UNALLOCATED_1034_ASIMDALL=2363, // terminal -ENC_UNALLOCATED_1035_ASIMDALL=2364, // terminal -ENC_UNALLOCATED_1036_ASIMDALL=2365, // terminal -ENC_UNALLOCATED_1037_ASIMDALL=2366, // terminal -ENC_UNALLOCATED_1038_ASIMDALL=2367, // terminal -ENC_UNALLOCATED_1039_ASIMDALL=2368, // terminal -ENC_UNALLOCATED_1040_ASIMDALL=2369, // terminal -ENC_UNALLOCATED_1041_ASIMDALL=2370, // terminal -ENC_UNALLOCATED_1042_ASIMDALL=2371, // terminal -ENC_UNALLOCATED_1043_ASIMDALL=2372, // terminal -ENC_UNALLOCATED_1044_ASIMDALL=2373, // terminal -ENC_UNALLOCATED_1045_ASIMDALL=2374, // terminal -ENC_UNALLOCATED_1046_ASIMDINS=2375, // terminal -ENC_UNALLOCATED_1047_ASIMDINS=2376, // terminal -ENC_UNALLOCATED_1048_ASIMDINS=2377, // terminal -ENC_UNALLOCATED_1049_ASIMDINS=2378, // terminal -ENC_UNALLOCATED_1050_ASIMDINS=2379, // terminal -ENC_UNALLOCATED_1051_ASIMDINS=2380, // terminal -ENC_UNALLOCATED_1052_ASIMDINS=2381, // terminal -ENC_UNALLOCATED_1053_ASIMDINS=2382, // terminal -ENC_UNALLOCATED_1054_ASIMDINS=2383, // terminal -ENC_UNALLOCATED_1055_ASIMDEXT=2384, // terminal -ENC_UNALLOCATED_1056_ASIMDIMM=2385, // terminal -ENC_UNALLOCATED_1057_ASIMDIMM=2386, // terminal -ENC_UNALLOCATED_1058_ASIMDIMM=2387, // terminal -ENC_UNALLOCATED_1059_ASIMDPERM=2388, // terminal -ENC_UNALLOCATED_1060_ASISDONE=2389, // terminal -ENC_UNALLOCATED_1061_ASISDONE=2390, // terminal -ENC_UNALLOCATED_1062_ASISDPAIR=2391, // terminal -ENC_UNALLOCATED_1063_ASISDPAIR=2392, // terminal -ENC_UNALLOCATED_1064_ASISDPAIR=2393, // terminal -ENC_UNALLOCATED_1065_ASISDPAIR=2394, // terminal -ENC_UNALLOCATED_1066_ASISDPAIR=2395, // terminal -ENC_UNALLOCATED_1067_ASISDPAIR=2396, // terminal -ENC_UNALLOCATED_1068_ASISDPAIR=2397, // terminal -ENC_UNALLOCATED_1069_ASISDPAIR=2398, // terminal -ENC_UNALLOCATED_1070_ASISDPAIR=2399, // terminal -ENC_UNALLOCATED_1071_ASISDPAIR=2400, // terminal -ENC_UNALLOCATED_1072_ASISDPAIR=2401, // terminal -ENC_UNALLOCATED_1073_ASISDPAIR=2402, // terminal -ENC_UNALLOCATED_1074_ASISDSHF=2403, // terminal -ENC_UNALLOCATED_1075_ASISDSHF=2404, // terminal -ENC_UNALLOCATED_1076_ASISDSHF=2405, // terminal -ENC_UNALLOCATED_1077_ASISDSHF=2406, // terminal -ENC_UNALLOCATED_1078_ASISDSHF=2407, // terminal -ENC_UNALLOCATED_1079_ASISDSHF=2408, // terminal -ENC_UNALLOCATED_1080_ASISDSHF=2409, // terminal -ENC_UNALLOCATED_1081_ASISDSHF=2410, // terminal -ENC_UNALLOCATED_1082_ASISDSHF=2411, // terminal -ENC_UNALLOCATED_1083_ASISDSHF=2412, // terminal -ENC_UNALLOCATED_1084_ASISDSHF=2413, // terminal -ENC_UNALLOCATED_1085_ASISDSHF=2414, // terminal -ENC_UNALLOCATED_1086_ASISDSHF=2415, // terminal -ENC_UNALLOCATED_1087_ASISDSHF=2416, // terminal -ENC_UNALLOCATED_1088_ASISDSHF=2417, // terminal -ENC_UNALLOCATED_1089_ASISDSHF=2418, // terminal -ENC_UNALLOCATED_1090_ASISDSHF=2419, // terminal -ENC_UNALLOCATED_1091_ASISDDIFF=2420, // terminal -ENC_UNALLOCATED_1092_ASISDDIFF=2421, // terminal -ENC_UNALLOCATED_1093_ASISDDIFF=2422, // terminal -ENC_UNALLOCATED_1094_ASISDDIFF=2423, // terminal -ENC_UNALLOCATED_1095_ASISDSAME=2424, // terminal -ENC_UNALLOCATED_1096_ASISDSAME=2425, // terminal -ENC_UNALLOCATED_1097_ASISDSAME=2426, // terminal -ENC_UNALLOCATED_1098_ASISDSAME=2427, // terminal -ENC_UNALLOCATED_1099_ASISDSAME=2428, // terminal -ENC_UNALLOCATED_1100_ASISDSAME=2429, // terminal -ENC_UNALLOCATED_1101_ASISDSAME=2430, // terminal -ENC_UNALLOCATED_1102_ASISDSAME=2431, // terminal -ENC_UNALLOCATED_1103_ASISDSAME=2432, // terminal -ENC_UNALLOCATED_1104_ASISDSAME=2433, // terminal -ENC_UNALLOCATED_1105_ASISDSAME=2434, // terminal -ENC_UNALLOCATED_1106_ASISDSAME=2435, // terminal -ENC_UNALLOCATED_1107_ASISDSAME=2436, // terminal -ENC_UNALLOCATED_1108_ASISDSAME=2437, // terminal -ENC_UNALLOCATED_1109_ASISDSAME=2438, // terminal -ENC_UNALLOCATED_1110_ASISDSAME=2439, // terminal -ENC_UNALLOCATED_1111_ASISDSAME=2440, // terminal -ENC_UNALLOCATED_1112_ASISDSAME=2441, // terminal -ENC_UNALLOCATED_1113_ASISDSAME=2442, // terminal -ENC_UNALLOCATED_1114_ASISDSAME=2443, // terminal -ENC_UNALLOCATED_1115_ASISDSAME=2444, // terminal -ENC_UNALLOCATED_1116_ASISDSAME=2445, // terminal -ENC_UNALLOCATED_1117_ASISDSAME=2446, // terminal -ENC_UNALLOCATED_1118_ASISDSAME=2447, // terminal -ENC_UNALLOCATED_1119_ASISDSAME=2448, // terminal -ENC_UNALLOCATED_1120_ASISDSAME=2449, // terminal -ENC_UNALLOCATED_1121_ASISDSAME=2450, // terminal -ENC_UNALLOCATED_1122_ASISDSAMEFP16=2451, // terminal -ENC_UNALLOCATED_1123_ASISDSAMEFP16=2452, // terminal -ENC_UNALLOCATED_1124_ASISDSAMEFP16=2453, // terminal -ENC_UNALLOCATED_1125_ASISDSAMEFP16=2454, // terminal -ENC_UNALLOCATED_1126_ASISDSAMEFP16=2455, // terminal -ENC_UNALLOCATED_1127_ASISDSAMEFP16=2456, // terminal -ENC_UNALLOCATED_1128_ASISDSAMEFP16=2457, // terminal -ENC_UNALLOCATED_1129_ASISDSAMEFP16=2458, // terminal -ENC_UNALLOCATED_1130_ASISDSAME2=2459, // terminal -ENC_UNALLOCATED_1131_ASISDSAME2=2460, // terminal -ENC_UNALLOCATED_1132_ASISDSAME2=2461, // terminal -ENC_UNALLOCATED_1133_ASISDSAME2=2462, // terminal -ENC_UNALLOCATED_1134_ASISDMISC=2463, // terminal -ENC_UNALLOCATED_1135_ASISDMISC=2464, // terminal -ENC_UNALLOCATED_1136_ASISDMISC=2465, // terminal -ENC_UNALLOCATED_1137_ASISDMISC=2466, // terminal -ENC_UNALLOCATED_1138_ASISDMISC=2467, // terminal -ENC_UNALLOCATED_1139_ASISDMISC=2468, // terminal -ENC_UNALLOCATED_1140_ASISDMISC=2469, // terminal -ENC_UNALLOCATED_1141_ASISDMISC=2470, // terminal -ENC_UNALLOCATED_1142_ASISDMISC=2471, // terminal -ENC_UNALLOCATED_1143_ASISDMISC=2472, // terminal -ENC_UNALLOCATED_1144_ASISDMISC=2473, // terminal -ENC_UNALLOCATED_1145_ASISDMISC=2474, // terminal -ENC_UNALLOCATED_1146_ASISDMISC=2475, // terminal -ENC_UNALLOCATED_1147_ASISDMISC=2476, // terminal -ENC_UNALLOCATED_1148_ASISDMISC=2477, // terminal -ENC_UNALLOCATED_1149_ASISDMISC=2478, // terminal -ENC_UNALLOCATED_1150_ASISDMISC=2479, // terminal -ENC_UNALLOCATED_1151_ASISDMISC=2480, // terminal -ENC_UNALLOCATED_1152_ASISDMISCFP16=2481, // terminal -ENC_UNALLOCATED_1153_ASISDMISCFP16=2482, // terminal -ENC_UNALLOCATED_1154_ASISDMISCFP16=2483, // terminal -ENC_UNALLOCATED_1155_ASISDMISCFP16=2484, // terminal -ENC_UNALLOCATED_1156_ASISDMISCFP16=2485, // terminal -ENC_UNALLOCATED_1157_ASISDMISCFP16=2486, // terminal -ENC_UNALLOCATED_1158_ASISDMISCFP16=2487, // terminal -ENC_UNALLOCATED_1159_ASISDMISCFP16=2488, // terminal -ENC_UNALLOCATED_1160_ASISDMISCFP16=2489, // terminal -ENC_UNALLOCATED_1161_ASISDMISCFP16=2490, // terminal -ENC_UNALLOCATED_1162_ASISDELEM=2491, // terminal -ENC_UNALLOCATED_1163_ASISDELEM=2492, // terminal -ENC_UNALLOCATED_1164_ASISDELEM=2493, // terminal -ENC_UNALLOCATED_1165_ASISDELEM=2494, // terminal -ENC_UNALLOCATED_1166_ASISDELEM=2495, // terminal -ENC_UNALLOCATED_1167_ASISDELEM=2496, // terminal -ENC_UNALLOCATED_1168_ASISDELEM=2497, // terminal -ENC_UNALLOCATED_1169_ASISDELEM=2498, // terminal -ENC_UNALLOCATED_1170_ASIMDSHF=2499, // terminal -ENC_UNALLOCATED_1171_ASIMDSHF=2500, // terminal -ENC_UNALLOCATED_1172_ASIMDSHF=2501, // terminal -ENC_UNALLOCATED_1173_ASIMDSHF=2502, // terminal -ENC_UNALLOCATED_1174_ASIMDSHF=2503, // terminal -ENC_UNALLOCATED_1175_ASIMDSHF=2504, // terminal -ENC_UNALLOCATED_1176_ASIMDTBL=2505, // terminal -ENC_UNALLOCATED_1177_ASIMDTBL=2506, // terminal -ENC_UNALLOCATED_1178_ASIMDTBL=2507, // terminal -ENC_UNALLOCATED_1179_ASIMDDIFF=2508, // terminal -ENC_UNALLOCATED_1180_ASIMDDIFF=2509, // terminal -ENC_UNALLOCATED_1181_ASIMDDIFF=2510, // terminal -ENC_UNALLOCATED_1182_ASIMDSAME=2511, // terminal -ENC_UNALLOCATED_1183_ASIMDSAME=2512, // terminal -ENC_UNALLOCATED_1184_ASIMDSAME=2513, // terminal -ENC_UNALLOCATED_1185_ASIMDSAME=2514, // terminal -ENC_UNALLOCATED_1186_ASIMDSAMEFP16=2515, // terminal -ENC_UNALLOCATED_1187_ASIMDSAMEFP16=2516, // terminal -ENC_UNALLOCATED_1188_ASIMDSAMEFP16=2517, // terminal -ENC_UNALLOCATED_1189_ASIMDSAME2=2518, // terminal -ENC_UNALLOCATED_1190_ASIMDSAME2=2519, // terminal -ENC_UNALLOCATED_1191_ASIMDSAME2=2520, // terminal -ENC_UNALLOCATED_1192_ASIMDSAME2=2521, // terminal -ENC_UNALLOCATED_1193_ASIMDSAME2=2522, // terminal -ENC_UNALLOCATED_1194_ASIMDSAME2=2523, // terminal -ENC_UNALLOCATED_1195_ASIMDSAME2=2524, // terminal -ENC_UNALLOCATED_1196_ASIMDSAME2=2525, // terminal -ENC_UNALLOCATED_1197_ASIMDSAME2=2526, // terminal -ENC_UNALLOCATED_1198_ASIMDSAME2=2527, // terminal -ENC_UNALLOCATED_1199_ASIMDSAME2=2528, // terminal -ENC_UNALLOCATED_1200_ASIMDSAME2=2529, // terminal -ENC_UNALLOCATED_1201_ASIMDSAME2=2530, // terminal -ENC_UNALLOCATED_1202_ASIMDSAME2=2531, // terminal -ENC_UNALLOCATED_1203_ASIMDSAME2=2532, // terminal -ENC_UNALLOCATED_1204_ASIMDSAME2=2533, // terminal -ENC_UNALLOCATED_1205_ASIMDSAME2=2534, // terminal -ENC_UNALLOCATED_1206_ASIMDSAME2=2535, // terminal -ENC_UNALLOCATED_1207_ASIMDSAME2=2536, // terminal -ENC_UNALLOCATED_1208_ASIMDMISC=2537, // terminal -ENC_UNALLOCATED_1209_ASIMDMISC=2538, // terminal -ENC_UNALLOCATED_1210_ASIMDMISC=2539, // terminal -ENC_UNALLOCATED_1211_ASIMDMISC=2540, // terminal -ENC_UNALLOCATED_1212_ASIMDMISC=2541, // terminal -ENC_UNALLOCATED_1213_ASIMDMISC=2542, // terminal -ENC_UNALLOCATED_1214_ASIMDMISC=2543, // terminal -ENC_UNALLOCATED_1215_ASIMDMISC=2544, // terminal -ENC_UNALLOCATED_1216_ASIMDMISC=2545, // terminal -ENC_UNALLOCATED_1217_ASIMDMISC=2546, // terminal -ENC_UNALLOCATED_1218_ASIMDMISC=2547, // terminal -ENC_UNALLOCATED_1219_ASIMDMISC=2548, // terminal -ENC_UNALLOCATED_1220_ASIMDMISC=2549, // terminal -ENC_UNALLOCATED_1221_ASIMDMISCFP16=2550, // terminal -ENC_UNALLOCATED_1222_ASIMDMISCFP16=2551, // terminal -ENC_UNALLOCATED_1223_ASIMDMISCFP16=2552, // terminal -ENC_UNALLOCATED_1224_ASIMDMISCFP16=2553, // terminal -ENC_UNALLOCATED_1225_ASIMDMISCFP16=2554, // terminal -ENC_UNALLOCATED_1226_ASIMDMISCFP16=2555, // terminal -ENC_UNALLOCATED_1227_ASIMDMISCFP16=2556, // terminal -ENC_UNALLOCATED_1228_ASIMDMISCFP16=2557, // terminal -ENC_UNALLOCATED_1229_ASIMDELEM=2558, // terminal -ENC_UNALLOCATED_1230_ASIMDELEM=2559, // terminal -ENC_UNALLOCATED_1231_ASIMDELEM=2560, // terminal -ENC_UNALLOCATED_1232_ASIMDELEM=2561, // terminal -ENC_UNALLOCATED_1233_ASIMDELEM=2562, // terminal -ENC_UNALLOCATED_1234_ASIMDELEM=2563, // terminal -ENC_UNALLOCATED_1235_FLOAT2FIX=2564, // terminal -ENC_UNALLOCATED_1236_FLOAT2FIX=2565, // terminal -ENC_UNALLOCATED_1237_FLOAT2FIX=2566, // terminal -ENC_UNALLOCATED_1238_FLOAT2FIX=2567, // terminal -ENC_UNALLOCATED_1239_FLOAT2FIX=2568, // terminal -ENC_UNALLOCATED_1240_FLOAT2FIX=2569, // terminal -ENC_UNALLOCATED_1241_FLOAT2INT=2570, // terminal -ENC_UNALLOCATED_1242_FLOAT2INT=2571, // terminal -ENC_UNALLOCATED_1243_FLOAT2INT=2572, // terminal -ENC_UNALLOCATED_1244_FLOAT2INT=2573, // terminal -ENC_UNALLOCATED_1245_FLOAT2INT=2574, // terminal -ENC_UNALLOCATED_1246_FLOAT2INT=2575, // terminal -ENC_UNALLOCATED_1247_FLOAT2INT=2576, // terminal -ENC_UNALLOCATED_1248_FLOAT2INT=2577, // terminal -ENC_UNALLOCATED_1249_FLOAT2INT=2578, // terminal -ENC_UNALLOCATED_1250_FLOAT2INT=2579, // terminal -ENC_UNALLOCATED_1251_FLOAT2INT=2580, // terminal -ENC_UNALLOCATED_1252_FLOAT2INT=2581, // terminal -ENC_UNALLOCATED_1253_FLOAT2INT=2582, // terminal -ENC_UNALLOCATED_1254_FLOAT2INT=2583, // terminal -ENC_UNALLOCATED_1255_FLOAT2INT=2584, // terminal -ENC_UNALLOCATED_1256_FLOAT2INT=2585, // terminal -ENC_UNALLOCATED_1257_FLOAT2INT=2586, // terminal -ENC_UNALLOCATED_1258_CRYPTOAES=2587, // terminal -ENC_UNALLOCATED_1259_CRYPTOAES=2588, // terminal -ENC_UNALLOCATED_1260_CRYPTOAES=2589, // terminal -ENC_UNALLOCATED_1261_CRYPTOAES=2590, // terminal -ENC_UNALLOCATED_1262_CRYPTO4=2591, // terminal -ENC_UNALLOCATED_1263_CRYPTOSHA3=2592, // terminal -ENC_UNALLOCATED_1264_CRYPTOSHA3=2593, // terminal -ENC_UNALLOCATED_1265_CRYPTOSHA512_3=2594, // terminal -ENC_UNALLOCATED_1266_CRYPTOSHA2=2595, // terminal -ENC_UNALLOCATED_1267_CRYPTOSHA2=2596, // terminal -ENC_UNALLOCATED_1268_CRYPTOSHA2=2597, // terminal -ENC_UNALLOCATED_1269_CRYPTOSHA2=2598, // terminal -ENC_UNALLOCATED_1270_CRYPTOSHA2=2599, // terminal -ENC_UNALLOCATED_1271_CRYPTOSHA512_2=2600, // terminal -ENC_UNALLOCATED_1272_FLOATCMP=2601, // terminal -ENC_UNALLOCATED_1273_FLOATCMP=2602, // terminal -ENC_UNALLOCATED_1274_FLOATCMP=2603, // terminal -ENC_UNALLOCATED_1275_FLOATCMP=2604, // terminal -ENC_UNALLOCATED_1276_FLOATCMP=2605, // terminal -ENC_UNALLOCATED_1277_FLOATCMP=2606, // terminal -ENC_UNALLOCATED_1278_FLOATCMP=2607, // terminal -ENC_UNALLOCATED_1279_FLOATCCMP=2608, // terminal -ENC_UNALLOCATED_1280_FLOATCCMP=2609, // terminal -ENC_UNALLOCATED_1281_FLOATCCMP=2610, // terminal -ENC_UNALLOCATED_1282_FLOATSEL=2611, // terminal -ENC_UNALLOCATED_1283_FLOATSEL=2612, // terminal -ENC_UNALLOCATED_1284_FLOATSEL=2613, // terminal -ENC_UNALLOCATED_1285_FLOATDP1=2614, // terminal -ENC_UNALLOCATED_1286_FLOATDP1=2615, // terminal -ENC_UNALLOCATED_1287_FLOATDP1=2616, // terminal -ENC_UNALLOCATED_1288_FLOATDP1=2617, // terminal -ENC_UNALLOCATED_1289_FLOATDP1=2618, // terminal -ENC_UNALLOCATED_1290_FLOATDP1=2619, // terminal -ENC_UNALLOCATED_1291_FLOATDP1=2620, // terminal -ENC_UNALLOCATED_1292_FLOATDP1=2621, // terminal -ENC_UNALLOCATED_1293_FLOATDP1=2622, // terminal -ENC_UNALLOCATED_1294_FLOATDP1=2623, // terminal -ENC_UNALLOCATED_1295_FLOATDP1=2624, // terminal -ENC_UNALLOCATED_1296_FLOATDP2=2625, // terminal -ENC_UNALLOCATED_1297_FLOATDP2=2626, // terminal -ENC_UNALLOCATED_1298_FLOATDP2=2627, // terminal -ENC_UNALLOCATED_1299_FLOATDP2=2628, // terminal -ENC_UNALLOCATED_1300_FLOATDP2=2629, // terminal -ENC_UNALLOCATED_1301_FLOATDP2=2630, // terminal -ENC_UNALLOCATED_1302_FLOATDP3=2631, // terminal -ENC_UNALLOCATED_1303_FLOATDP3=2632, // terminal -ENC_UNALLOCATED_1304_FLOATDP3=2633, // terminal -ENC_UNALLOCATED_1305_FLOATIMM=2634, // terminal -ENC_UNALLOCATED_1306_FLOATIMM=2635, // terminal -ENC_UNALLOCATED_1307_FLOATIMM=2636, // terminal -ENC_UNALLOCATED_1308_FLOATIMM=2637, // terminal -ENC_UNALLOCATED_481_SVE_INT_TERN_LOG=2638, // terminal -ENC_UNALLOCATED_482_SVE_INT_BIN_PRED_SHIFT_0=2639, // terminal -ENC_UNALLOCATED_483_SVE_INT_BIN_PRED_SHIFT_0=2640, // terminal -ENC_UNALLOCATED_484_SVE_INT_BIN_PRED_SHIFT_0=2641, // terminal -ENC_UNALLOCATED_485_SVE_INT_BIN_PRED_SHIFT_0=2642, // terminal -ENC_UNALLOCATED_486_SVE_INT_BIN_PRED_SHIFT_1=2643, // terminal -ENC_UNALLOCATED_487_SVE_INT_BIN_PRED_SHIFT_2=2644, // terminal -ENC_UNALLOCATED_488_SVE_INT_BIN_PRED_SHIFT_2=2645, // terminal -ENC_UNALLOCATED_489_SVE_INT_BIN_CONS_SHIFT_A=2646, // terminal -ENC_UNALLOCATED_490_SVE_INT_BIN_CONS_SHIFT_B=2647, // terminal -ENC_UNALLOCATED_491_SVE_INT_COUNTVLV0=2648, // terminal -ENC_UNALLOCATED_492_SVE_INT_COUNTVLV1=2649, // terminal -ENC_UNALLOCATED_493_SVE_INT_COUNT=2650, // terminal -ENC_UNALLOCATED_494_SVE_INT_COUNT_V_SAT=2651, // terminal -ENC_UNALLOCATED_495_SVE_INT_COUNT_V=2652, // terminal -ENC_UNALLOCATED_496_SVE_INT_COUNT_V=2653, // terminal -ENC_UNALLOCATED_497_SVE_INT_COUNT_R_SAT=2654, // terminal -ENC_UNALLOCATED_498_SVE_INT_COUNT_R=2655, // terminal -ENC_UNALLOCATED_499_SVE_INT_COUNT_R=2656, // terminal -ENC_UNALLOCATED_500_SVE_INT_BIN_CONS_ARIT_0=2657, // terminal -ENC_UNALLOCATED_501_SVE_INT_BIN_PRED_ARIT_0=2658, // terminal -ENC_UNALLOCATED_502_SVE_INT_BIN_PRED_ARIT_0=2659, // terminal -ENC_UNALLOCATED_503_SVE_INT_BIN_PRED_ARIT_0=2660, // terminal -ENC_UNALLOCATED_504_SVE_INT_BIN_PRED_ARIT_1=2661, // terminal -ENC_UNALLOCATED_505_SVE_INT_BIN_PRED_ARIT_2=2662, // terminal -ENC_UNALLOCATED_506_SVE_INT_BIN_PRED_LOG=2663, // terminal -ENC_UNALLOCATED_507_SVE_INT_CTERM=2664, // terminal -ENC_UNALLOCATED_508_SVE_INT_SCMP_VI=2665, // terminal -ENC_UNALLOCATED_509_SVE_INT_BIN_CONS_MISC_0_B=2666, // terminal -ENC_UNALLOCATED_510_SVE_INT_BIN_CONS_MISC_0_C=2667, // terminal -ENC_UNALLOCATED_511_SVE_INT_BIN_CONS_MISC_0_D=2668, // terminal -ENC_UNALLOCATED_512_SVE_INT_BIN_CONS_MISC_0_D=2669, // terminal -ENC_UNALLOCATED_513_SVE_INTX_DOT=2670, // terminal -ENC_UNALLOCATED_514_SVE_INTX_MIXED_DOT=2671, // terminal -ENC_UNALLOCATED_515_SVE_INT_REDUCE_0=2672, // terminal -ENC_UNALLOCATED_516_SVE_INT_REDUCE_0Q=2673, // terminal -ENC_UNALLOCATED_517_SVE_INT_REDUCE_0Q=2674, // terminal -ENC_UNALLOCATED_518_SVE_INT_MOVPRFX_PRED=2675, // terminal -ENC_UNALLOCATED_519_SVE_INT_REDUCE_2=2676, // terminal -ENC_UNALLOCATED_520_SVE_INT_REDUCE_2Q=2677, // terminal -ENC_UNALLOCATED_521_SVE_INT_UN_PRED_ARIT_1=2678, // terminal -ENC_UNALLOCATED_522_SVE_INT_ARITH_IMM0=2679, // terminal -ENC_UNALLOCATED_523_SVE_INT_ARITH_IMM1=2680, // terminal -ENC_UNALLOCATED_524_SVE_INT_ARITH_IMM1=2681, // terminal -ENC_UNALLOCATED_525_SVE_INT_ARITH_IMM2=2682, // terminal -ENC_UNALLOCATED_526_SVE_INT_ARITH_IMM2=2683, // terminal -ENC_UNALLOCATED_527_SVE_INT_DUP_IMM=2684, // terminal -ENC_UNALLOCATED_528_SVE_INT_DUP_FPIMM=2685, // terminal -ENC_UNALLOCATED_529_SVE_INT_DUP_FPIMM=2686, // terminal -ENC_UNALLOCATED_530_SVE_MEM_32B_GLD_VS=2687, // terminal -ENC_UNALLOCATED_531_SVE_MEM_32B_GLD_SV_B=2688, // terminal -ENC_UNALLOCATED_532_SVE_MEM_32B_GLDNT_VS=2689, // terminal -ENC_UNALLOCATED_533_SVE_MEM_32B_GLDNT_VS=2690, // terminal -ENC_UNALLOCATED_534_SVE_MEM_PRFM_SS=2691, // terminal -ENC_UNALLOCATED_535_SVE_MEM_32B_GLD_VI=2692, // terminal -ENC_UNALLOCATED_536_SVE_MEM_32B_GLD_VI=2693, // terminal -ENC_UNALLOCATED_537_SVE_MEM_64B_GLD_VS=2694, // terminal -ENC_UNALLOCATED_538_SVE_MEM_64B_GLD_SV=2695, // terminal -ENC_UNALLOCATED_539_SVE_MEM_64B_GLDNT_VS=2696, // terminal -ENC_UNALLOCATED_540_SVE_MEM_64B_GLD_VI=2697, // terminal -ENC_UNALLOCATED_541_SVE_MEM_64B_GLD_VS2=2698, // terminal -ENC_UNALLOCATED_542_SVE_MEM_64B_GLD_SV2=2699, // terminal -ENC_UNALLOCATED_543_SVE_MEM_LDQR_SS=2700, // terminal -ENC_UNALLOCATED_544_SVE_MEM_LDQR_SS=2701, // terminal -ENC_UNALLOCATED_545_SVE_MEM_LDQR_SI=2702, // terminal -ENC_UNALLOCATED_546_SVE_MEM_CLD_SI_Q=2703, // terminal -ENC_UNALLOCATED_547_SVE_MEM_CLD_SS=2704, // terminal -ENC_UNALLOCATED_548_SVE_MEM_CLD_SS_Q=2705, // terminal -ENC_UNALLOCATED_549_SVE_MEM_CLD_SS_Q=2706, // terminal -ENC_UNALLOCATED_550_SVE_MEM_ELDQ_SS=2707, // terminal -ENC_UNALLOCATED_551_SVE_MEM_ELDQ_SS=2708, // terminal -ENC_UNALLOCATED_552_SVE_MEM_CLDNT_SS=2709, // terminal -ENC_UNALLOCATED_553_SVE_MEM_ELD_SS=2710, // terminal -ENC_UNALLOCATED_554_SVE_MEM_ELDQ_SI=2711, // terminal -ENC_UNALLOCATED_555_SVE_MEM_ESTQ_SI=2712, // terminal -ENC_UNALLOCATED_556_SVE_MEM_ESTQ_SS=2713, // terminal -ENC_UNALLOCATED_557_SVE_MEM_ESTQ_SS=2714, // terminal -ENC_UNALLOCATED_558_SVE_MEM_CST_SS=2715, // terminal -ENC_UNALLOCATED_559_SVE_MEM_CST_SS=2716, // terminal -ENC_UNALLOCATED_560_SVE_MEM_CST_SS=2717, // terminal -ENC_UNALLOCATED_561_SVE_MEM_CST_SS=2718, // terminal -ENC_UNALLOCATED_562_SVE_MEM_CST_SS=2719, // terminal -ENC_UNALLOCATED_563_SVE_MEM_CST_SI=2720, // terminal -ENC_UNALLOCATED_564_SVE_MEM_CST_SI=2721, // terminal -ENC_UNALLOCATED_565_SVE_MEM_CSTNT_SS=2722, // terminal -ENC_UNALLOCATED_566_SVE_MEM_EST_SS=2723, // terminal -ENC_UNALLOCATED_567_SVE_MEM_SSTNT_32B_VS=2724, // terminal -ENC_UNALLOCATED_568_SVE_MEM_SST_SV2=2725, // terminal -ENC_UNALLOCATED_569_SVE_MEM_SST_VI_B=2726, // terminal -ENC_UNALLOCATED_570_SVE_MEM_SST_VS_B=2727, // terminal -ENC_UNALLOCATED_571_SVE_MEM_SST_SV_A=2728, // terminal -ENC_UNALLOCATED_572_SVE_MEM_SST_SV_B=2729, // terminal -ENC_UNALLOCATED_573_SVE_MEM_SST_SV_B=2730, // terminal -ENC_UNALLOCATED_574_SVE_INTX_CLONG=2731, // terminal -ENC_UNALLOCATED_575_SVE_INTX_MMLA=2732, // terminal -ENC_UNALLOCATED_576_SVE_INTX_PERM_BIT=2733, // terminal -ENC_UNALLOCATED_577_SVE_INTX_DOT_BY_INDEXED_ELEM=2734, // terminal -ENC_UNALLOCATED_578_SVE_INTX_MIXED_DOT_BY_INDEXED_ELEM=2735, // terminal -ENC_UNALLOCATED_579_SVE_INTX_QDMLA_LONG_BY_INDEXED_ELEM=2736, // terminal -ENC_UNALLOCATED_580_SVE_INTX_CDOT_BY_INDEXED_ELEM=2737, // terminal -ENC_UNALLOCATED_581_SVE_INTX_CMLA_BY_INDEXED_ELEM=2738, // terminal -ENC_UNALLOCATED_582_SVE_INTX_QRDCMLA_BY_INDEXED_ELEM=2739, // terminal -ENC_UNALLOCATED_583_SVE_INTX_MLA_LONG_BY_INDEXED_ELEM=2740, // terminal -ENC_UNALLOCATED_584_SVE_INTX_MUL_LONG_BY_INDEXED_ELEM=2741, // terminal -ENC_UNALLOCATED_585_SVE_INTX_QDMUL_LONG_BY_INDEXED_ELEM=2742, // terminal -ENC_UNALLOCATED_586_SVE_INT_BREAK=2743, // terminal -ENC_UNALLOCATED_587_SVE_INT_PERM_BIN_PERM_PP=2744, // terminal -ENC_UNALLOCATED_588_SVE_INT_PERM_BIN_PERM_ZZ=2745, // terminal -ENC_UNALLOCATED_589_SVE_INT_PERM_REVD=2746, // terminal -ENC_UNALLOCATED_590_SVE_INT_PERM_BIN_LONG_PERM_ZZ=2747, // terminal -ENC_UNALLOCATED_591_SVE_INT_PERM_BINQUADS=2748, // terminal -ENC_UNALLOCATED_592_SVE_INT_PERM_BINQUADS=2749, // terminal -ENC_UNALLOCATED_593_SVE_INT_MOV_V2P=2750, // terminal -ENC_UNALLOCATED_594_SVE_INT_MOV_P2V=2751, // terminal -ENC_UNALLOCATED_595_SVE_INT_PCOUNT_PRED=2752, // terminal -ENC_UNALLOCATED_596_SVE_INT_PCOUNT_PRED=2753, // terminal -ENC_UNALLOCATED_597_SVE_INT_PCOUNT_PN=2754, // terminal -ENC_UNALLOCATED_598_SVE_INT_PRED_LOG=2755, // terminal -ENC_UNALLOCATED_599_SVE_INT_PTEST=2756, // terminal -ENC_UNALLOCATED_600_SVE_INT_PTEST=2757, // terminal -ENC_UNALLOCATED_601_SVE_INT_PTEST=2758, // terminal -ENC_UNALLOCATED_602_SVE_INT_PFIRST=2759, // terminal -ENC_UNALLOCATED_603_SVE_INT_PFIRST=2760, // terminal -ENC_UNALLOCATED_604_SVE_INT_PFALSE=2761, // terminal -ENC_UNALLOCATED_605_SVE_INT_PFALSE=2762, // terminal -ENC_UNALLOCATED_606_SVE_INT_RDFFR=2763, // terminal -ENC_UNALLOCATED_607_SVE_INT_RDFFR_2=2764, // terminal -ENC_UNALLOCATED_608_SVE_INT_RDFFR_2=2765, // terminal -ENC_UNALLOCATED_609_SVE_INT_PRED_DUP=2766, // terminal -ENC_UNALLOCATED_610_SVE_INT_BRKP=2767, // terminal -ENC_UNALLOCATED_611_SVE_INT_CTR_TO_MASK=2768, // terminal -ENC_UNALLOCATED_612_SVE_INT_READ_VL_A=2769, // terminal -ENC_UNALLOCATED_613_SVE_INT_READ_VL_A=2770, // terminal -ENC_UNALLOCATED_614_SVE_INT_READ_SVL_A=2771, // terminal -ENC_UNALLOCATED_615_SVE_INT_READ_SVL_A=2772, // terminal -ENC_UNALLOCATED_616_SVE_INT_WRFFR=2773, // terminal -ENC_UNALLOCATED_617_SVE_INT_SETFFR=2774, // terminal -ENC_UNALLOCATED_618_SVE_FP_2OP_P_VD=2775, // terminal -ENC_UNALLOCATED_619_SVE_FP_2OP_P_ZDS=2776, // terminal -ENC_UNALLOCATED_620_SVE_FP_3OP_U_ZD=2777, // terminal -ENC_UNALLOCATED_621_SVE_FP_3OP_P_PD=2778, // terminal -ENC_UNALLOCATED_622_SVE_FP_2OP_P_PD=2779, // terminal -ENC_UNALLOCATED_623_SVE_FP_FCMLA_BY_INDEXED_ELEM=2780, // terminal -ENC_UNALLOCATED_624_SVE_FP_FCVT2Z=2781, // terminal -ENC_UNALLOCATED_625_SVE_FP_FCVT2Z=2782, // terminal -ENC_UNALLOCATED_626_SVE_FP_FCVT2Z=2783, // terminal -ENC_UNALLOCATED_627_SVE_FP_FCVT2Z=2784, // terminal -ENC_UNALLOCATED_628_SVE_FP_FCVT2=2785, // terminal -ENC_UNALLOCATED_629_SVE_FP_FCVT2=2786, // terminal -ENC_UNALLOCATED_630_SVE_FP_FCVT2=2787, // terminal -ENC_UNALLOCATED_631_SVE_FP_FCVT2=2788, // terminal -ENC_UNALLOCATED_632_SVE_FP_FAST_RED=2789, // terminal -ENC_UNALLOCATED_633_SVE_FP_FAST_RED=2790, // terminal -ENC_UNALLOCATED_634_SVE_FP_FAST_REDQ=2791, // terminal -ENC_UNALLOCATED_635_SVE_FP_FAST_REDQ=2792, // terminal -ENC_UNALLOCATED_636_SVE_FP_FMUL_BY_INDEXED_ELEM=2793, // terminal -ENC_UNALLOCATED_637_SVE_FP_3OP_P_ZDS_A=2794, // terminal -ENC_UNALLOCATED_638_SVE_FP_FMA_BY_INDEXED_ELEM=2795, // terminal -ENC_UNALLOCATED_639_SVE_FP_2OP_P_ZD_A=2796, // terminal -ENC_UNALLOCATED_640_SVE_FP_2OP_P_ZD_B_0=2797, // terminal -ENC_UNALLOCATED_641_SVE_FP_2OP_P_ZD_B_0=2798, // terminal -ENC_UNALLOCATED_642_SVE_FP_2OP_P_ZD_B_0=2799, // terminal -ENC_UNALLOCATED_643_SVE_FP_2OP_P_ZD_B_1=2800, // terminal -ENC_UNALLOCATED_644_SVE_FP_2OP_P_ZD_C=2801, // terminal -ENC_UNALLOCATED_645_SVE_FP_2OP_P_ZD_C=2802, // terminal -ENC_UNALLOCATED_646_SVE_FP_2OP_P_ZD_C=2803, // terminal -ENC_UNALLOCATED_647_SVE_FP_2OP_P_ZD_D=2804, // terminal -ENC_UNALLOCATED_648_SVE_FP_2OP_P_ZD_D=2805, // terminal -ENC_UNALLOCATED_649_SVE_FP_2OP_P_ZD_D=2806, // terminal -ENC_UNALLOCATED_650_SVE_FP_2OP_P_ZD_D=2807, // terminal -ENC_UNALLOCATED_651_SVE_FP_FDOT_BY_INDEXED_ELEM=2808, // terminal -ENC_UNALLOCATED_652_SVE_FP_FDOT_BY_INDEXED_ELEM=2809, // terminal -ENC_UNALLOCATED_653_SVE_CRYPTO_UNARY=2810, // terminal -ENC_UNALLOCATED_654_SVE_CRYPTO_BINARY_DEST=2811, // terminal -ENC_UNALLOCATED_655_SVE_CRYPTO_BINARY_DEST=2812, // terminal -ENC_UNALLOCATED_656_SVE_CRYPTO_BINARY_MULTI2=2813, // terminal -ENC_UNALLOCATED_657_SVE_CRYPTO_BINARY_MULTI2=2814, // terminal -ENC_UNALLOCATED_658_SVE_CRYPTO_BINARY_MULTI4=2815, // terminal -ENC_UNALLOCATED_659_SVE_CRYPTO_BINARY_MULTI4=2816, // terminal -ENC_UNALLOCATED_660_SVE_CRYPTO_BINARY_CONST=2817, // terminal -ENC_UNALLOCATED_661_SVE_CRYPTO_PMULL_MULTI=2818, // terminal -ENC_UNALLOCATED_662_SVE_CRYPTO_PMLAL_MULTI=2819, // terminal -ENC_UNALLOCATED_663_SVE_INTX_BIN_PRED_SHIFT_SAT_ROUND=2820, // terminal -ENC_UNALLOCATED_664_SVE_INTX_ARITH_BINARY_PAIRS=2821, // terminal -ENC_UNALLOCATED_665_SVE_INTX_ARITH_BINARY_PAIRS=2822, // terminal -ENC_UNALLOCATED_666_SVE_INT_MUL_B=2823, // terminal -ENC_UNALLOCATED_667_SVE_INTX_MULTI_SHIFT_NARROW=2824, // terminal -ENC_UNALLOCATED_668_SVE_INTX_MULTI_SHIFT_NARROW=2825, // terminal -ENC_UNALLOCATED_669_SVE_INTX_MULTI_SHIFT_NARROW=2826, // terminal -ENC_UNALLOCATED_670_SVE_INTX_MULTI_SHIFT_NARROW=2827, // terminal -ENC_UNALLOCATED_671_SVE_INTX_EXTRACT_NARROW=2828, // terminal -ENC_UNALLOCATED_672_SVE_INTX_MULTI_EXTRACT_NARROW=2829, // terminal -ENC_UNALLOCATED_673_SVE_INTX_MULTI_EXTRACT_NARROW=2830, // terminal -ENC_UNALLOCATED_674_SVE_INTX_MULTI_EXTRACT_NARROW=2831, // terminal -ENC_UNALLOCATED_675_SVE_INTX_CONS_ARITH_LONG=2832, // terminal -ENC_UNALLOCATED_676_SVE_FP_PAIRWISE=2833, // terminal -ENC_UNALLOCATED_677_SVE_FP_PAIRWISE=2834, // terminal -ENC_UNALLOCATED_678_SVE_FP_Z2OP_P_ZD_A=2835, // terminal -ENC_UNALLOCATED_679_SVE_FP_Z2OP_P_ZD_B_0=2836, // terminal -ENC_UNALLOCATED_680_SVE_FP_Z2OP_P_ZD_B_0=2837, // terminal -ENC_UNALLOCATED_681_SVE_FP_Z2OP_P_ZD_B_0=2838, // terminal -ENC_UNALLOCATED_682_SVE_FP_Z2OP_P_ZD_B_1=2839, // terminal -ENC_UNALLOCATED_683_SVE_FP_Z2OP_P_ZD_C=2840, // terminal -ENC_UNALLOCATED_684_SVE_FP_Z2OP_P_ZD_C=2841, // terminal -ENC_UNALLOCATED_685_SVE_FP_Z2OP_P_ZD_C=2842, // terminal -ENC_UNALLOCATED_686_SVE_FP_Z2OP_P_ZD_C=2843, // terminal -ENC_UNALLOCATED_687_SVE_FP_Z2OP_P_ZD_D=2844, // terminal -ENC_UNALLOCATED_688_SVE_FP_Z2OP_P_ZD_D=2845, // terminal -ENC_UNALLOCATED_689_SVE_FP_Z2OP_P_ZD_D=2846, // terminal -ENC_UNALLOCATED_690_SVE_FP_Z2OP_P_ZD_D=2847, // terminal -ENC_UNALLOCATED_691_SVE_FP_Z2OP_P_ZD_D=2848, // terminal -ENC_UNALLOCATED_692_SVE_PTR_MULADD_UNPRED=2849, // terminal -ENC_UNALLOCATED_693_MORTLACH_ADDHV=2850, // terminal -ENC_UNALLOCATED_694_MORTLACH_ZT_LDST=2851, // terminal -ENC_UNALLOCATED_695_MORTLACH_ZT_LDST=2852, // terminal -ENC_UNALLOCATED_696_MORTLACH_ZT_LDST=2853, // terminal -ENC_UNALLOCATED_697_MORTLACH_ZT_LDST=2854, // terminal -ENC_UNALLOCATED_698_MORTLACH_ZT_LDST=2855, // terminal -ENC_UNALLOCATED_699_MORTLACH_ZT_LDST=2856, // terminal -ENC_UNALLOCATED_700_MORTLACH_EXTRACT_PRED=2857, // terminal -ENC_UNALLOCATED_701_MORTLACH_MULTI4_EXTRACT_CTG=2858, // terminal -ENC_UNALLOCATED_702_MORTLACH_EXTRACT_ZERO=2859, // terminal -ENC_UNALLOCATED_703_MORTLACH_MULTI4_EXTRACT_ZERO=2860, // terminal -ENC_UNALLOCATED_704_MORTLACH_INSERT_PRED=2861, // terminal -ENC_UNALLOCATED_705_MORTLACH_MULTI4_INSERT_CTG=2862, // terminal -ENC_UNALLOCATED_706_MORTLACH_EXPAND_2DST_CTG=2863, // terminal -ENC_UNALLOCATED_707_MORTLACH_EXPAND_2DST_CTG=2864, // terminal -ENC_UNALLOCATED_708_MORTLACH_EXPAND_4DST_CTG=2865, // terminal -ENC_UNALLOCATED_709_MORTLACH_EXPAND_4DST_CTG=2866, // terminal -ENC_UNALLOCATED_710_MORTLACH_EXPAND_1DST=2867, // terminal -ENC_UNALLOCATED_711_MORTLACH_EXPAND_1DST=2868, // terminal -ENC_UNALLOCATED_712_MORTLACH_EXPAND_4DST2SRC_CTG=2869, // terminal -ENC_UNALLOCATED_713_MORTLACH_EXPAND_2DST_NCTG=2870, // terminal -ENC_UNALLOCATED_714_MORTLACH_EXPAND_2DST_NCTG=2871, // terminal -ENC_UNALLOCATED_715_MORTLACH_EXPAND_4DST_NCTG=2872, // terminal -ENC_UNALLOCATED_716_MORTLACH_EXPAND_4DST_NCTG=2873, // terminal -ENC_UNALLOCATED_717_MORTLACH_EXPAND_4DST2SRC_NCTG=2874, // terminal -ENC_UNALLOCATED_718_MORTLACH_EXTRACT_ZT=2875, // terminal -ENC_UNALLOCATED_719_MORTLACH_INSERT_ZT=2876, // terminal -ENC_UNALLOCATED_720_MORTLACH_MOVE_TO_ZT=2877, // terminal -ENC_UNALLOCATED_721_MORTLACH_MULTI4_MLA_LONG_LONG_IDX_S=2878, // terminal -ENC_UNALLOCATED_722_MORTLACH_MULTI4_ZZA_IDX_S=2879, // terminal -ENC_UNALLOCATED_723_MORTLACH_MULTI4_ZZA_IDX_D=2880, // terminal -ENC_UNALLOCATED_724_MORTLACH_MULTI1_MLA_LONG_LONG_IDX_S=2881, // terminal -ENC_UNALLOCATED_725_MORTLACH_MULTI2_MLA_LONG_LONG_IDX_S=2882, // terminal -ENC_UNALLOCATED_726_MORTLACH_MULTI2_ZZA_IDX_S=2883, // terminal -ENC_UNALLOCATED_727_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM=2884, // terminal -ENC_UNALLOCATED_728_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM=2885, // terminal -ENC_UNALLOCATED_729_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM=2886, // terminal -ENC_UNALLOCATED_730_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM=2887, // terminal -ENC_UNALLOCATED_731_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM=2888, // terminal -ENC_UNALLOCATED_732_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM=2889, // terminal -ENC_UNALLOCATED_733_MORTLACH_MULTI4_Z_Z_MINMAX_MM=2890, // terminal -ENC_UNALLOCATED_734_MORTLACH_MULTI4_Z_Z_FMINMAX_MM=2891, // terminal -ENC_UNALLOCATED_735_MORTLACH_MULTI4_Z_Z_FSCALE_MM=2892, // terminal -ENC_UNALLOCATED_736_MORTLACH_MULTI4_Z_Z_FSCALE_MM=2893, // terminal -ENC_UNALLOCATED_737_MORTLACH_MULTI4_Z_Z_SHIFT_MM=2894, // terminal -ENC_UNALLOCATED_738_MORTLACH_MULTI2_Z_Z_MINMAX_MM=2895, // terminal -ENC_UNALLOCATED_739_MORTLACH_MULTI2_Z_Z_FMINMAX_MM=2896, // terminal -ENC_UNALLOCATED_740_MORTLACH_MULTI2_Z_Z_FSCALE_MM=2897, // terminal -ENC_UNALLOCATED_741_MORTLACH_MULTI2_Z_Z_FSCALE_MM=2898, // terminal -ENC_UNALLOCATED_742_MORTLACH_MULTI2_Z_Z_SHIFT_MM=2899, // terminal -ENC_UNALLOCATED_743_MORTLACH_MULTI4_Z_Z_SQDMULH_MM=2900, // terminal -ENC_UNALLOCATED_744_MORTLACH_MULTI2_Z_Z_SQDMULH_MM=2901, // terminal -ENC_UNALLOCATED_745_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM=2902, // terminal -ENC_UNALLOCATED_746_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM=2903, // terminal -ENC_UNALLOCATED_747_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM=2904, // terminal -ENC_UNALLOCATED_748_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM=2905, // terminal -ENC_UNALLOCATED_749_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_SM=2906, // terminal -ENC_UNALLOCATED_750_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM=2907, // terminal -ENC_UNALLOCATED_751_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM=2908, // terminal -ENC_UNALLOCATED_752_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM=2909, // terminal -ENC_UNALLOCATED_753_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM=2910, // terminal -ENC_UNALLOCATED_754_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM=2911, // terminal -ENC_UNALLOCATED_755_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM=2912, // terminal -ENC_UNALLOCATED_756_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM=2913, // terminal -ENC_UNALLOCATED_757_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_SM=2914, // terminal -ENC_UNALLOCATED_758_MORTLACH_MULTI4_Z_Z_FSCALE_SM=2915, // terminal -ENC_UNALLOCATED_759_MORTLACH_MULTI4_Z_Z_SHIFT_SM=2916, // terminal -ENC_UNALLOCATED_760_MORTLACH_MULTI4_Z_Z_ADD_SM=2917, // terminal -ENC_UNALLOCATED_761_MORTLACH_MULTI4_Z_Z_SQDMULH_SM=2918, // terminal -ENC_UNALLOCATED_762_MORTLACH_MULTI2_Z_Z_FSCALE_SM=2919, // terminal -ENC_UNALLOCATED_763_MORTLACH_MULTI2_Z_Z_SHIFT_SM=2920, // terminal -ENC_UNALLOCATED_764_MORTLACH_MULTI2_Z_Z_ADD_SM=2921, // terminal -ENC_UNALLOCATED_765_MORTLACH_MULTI2_Z_Z_SQDMULH_SM=2922, // terminal -ENC_UNALLOCATED_766_MORTLACH_MULTI2_FCLAMP=2923, // terminal -ENC_UNALLOCATED_767_MORTLACH_MULTI4_FCLAMP=2924, // terminal -ENC_UNALLOCATED_768_MORTLACH_MULTI2_QRSHR=2925, // terminal -ENC_UNALLOCATED_769_MORTLACH_MULTI4_QRSHR=2926, // terminal -ENC_UNALLOCATED_770_MORTLACH_MULTI2_NARROW_INT_CVRT=2927, // terminal -ENC_UNALLOCATED_771_MORTLACH_MULTI2_FRINT=2928, // terminal -ENC_UNALLOCATED_772_MORTLACH_MULTI2_FRINT=2929, // terminal -ENC_UNALLOCATED_773_MORTLACH_MULTI2_FRINT=2930, // terminal -ENC_UNALLOCATED_774_MORTLACH_MULTI2_FRINT=2931, // terminal -ENC_UNALLOCATED_775_MORTLACH_MULTI4_NARROW_INT_CVRT=2932, // terminal -ENC_UNALLOCATED_776_MORTLACH_MULTI4_FRINT=2933, // terminal -ENC_UNALLOCATED_777_MORTLACH_MULTI4_FRINT=2934, // terminal -ENC_UNALLOCATED_778_MORTLACH_MULTI4_FRINT=2935, // terminal -ENC_UNALLOCATED_779_MORTLACH_MULTI4_FRINT=2936, // terminal -ENC_UNALLOCATED_780_MORTLACH_MULTI_ZERO=2937, // terminal -ENC_UNALLOCATED_781_MORTLACH_MULTI_ZERO=2938, // terminal -ENC_UNALLOCATED_782_MORTLACH_MULTI_ZERO=2939, // terminal -ENC_UNALLOCATED_783_MORTLACH_ZERO_ZT=2940, // terminal -ENC_UNALLOCATED_784_MORTLACH_ZERO_ZT=2941, // terminal -ENC_UNALLOCATED_785_ADDSUB_IMMTAGS=2942, // terminal -ENC_UNALLOCATED_786_ADDSUB_IMMTAGS=2943, // terminal -ENC_UNALLOCATED_787_BITFIELD=2944, // terminal -ENC_UNALLOCATED_788_BITFIELD=2945, // terminal -ENC_UNALLOCATED_789_BITFIELD=2946, // terminal -ENC_UNALLOCATED_790_BITFIELD=2947, // terminal -ENC_UNALLOCATED_791_DP_1SRC_IMM=2948, // terminal -ENC_UNALLOCATED_792_DP_1SRC_IMM=2949, // terminal -ENC_UNALLOCATED_793_DP_1SRC_IMM=2950, // terminal -ENC_UNALLOCATED_794_EXTRACT=2951, // terminal -ENC_UNALLOCATED_795_EXTRACT=2952, // terminal -ENC_UNALLOCATED_796_EXTRACT=2953, // terminal -ENC_UNALLOCATED_797_EXTRACT=2954, // terminal -ENC_UNALLOCATED_798_EXTRACT=2955, // terminal -ENC_UNALLOCATED_799_EXTRACT=2956, // terminal -ENC_UNALLOCATED_800_LOG_IMM=2957, // terminal -ENC_UNALLOCATED_801_MINMAX_IMM=2958, // terminal -ENC_UNALLOCATED_802_MINMAX_IMM=2959, // terminal -ENC_UNALLOCATED_803_MINMAX_IMM=2960, // terminal -ENC_UNALLOCATED_804_MINMAX_IMM=2961, // terminal -ENC_UNALLOCATED_805_MOVEWIDE=2962, // terminal -ENC_UNALLOCATED_806_MOVEWIDE=2963, // terminal -ENC_UNALLOCATED_807_MOVEWIDE=2964, // terminal -ENC_UNALLOCATED_808_BARRIERS=2965, // terminal -ENC_UNALLOCATED_809_BARRIERS=2966, // terminal -ENC_UNALLOCATED_810_BARRIERS=2967, // terminal -ENC_UNALLOCATED_811_BARRIERS=2968, // terminal -ENC_UNALLOCATED_812_BARRIERS=2969, // terminal -ENC_UNALLOCATED_813_COMPBRANCH_REGS2=2970, // terminal -ENC_UNALLOCATED_814_COMPBRANCH_IMM=2971, // terminal -ENC_UNALLOCATED_815_COMPBRANCH_REGS=2972, // terminal -ENC_UNALLOCATED_816_EXCEPTION=2973, // terminal -ENC_UNALLOCATED_817_EXCEPTION=2974, // terminal -ENC_UNALLOCATED_818_EXCEPTION=2975, // terminal -ENC_UNALLOCATED_819_EXCEPTION=2976, // terminal -ENC_UNALLOCATED_820_EXCEPTION=2977, // terminal -ENC_UNALLOCATED_821_EXCEPTION=2978, // terminal -ENC_UNALLOCATED_822_EXCEPTION=2979, // terminal -ENC_UNALLOCATED_832_MISCBRANCH=2980, // terminal -ENC_UNALLOCATED_833_MISCBRANCH=2981, // terminal -ENC_UNALLOCATED_834_MISCBRANCH=2982, // terminal -ENC_UNALLOCATED_835_PSTATE=2983, // terminal -ENC_UNALLOCATED_836_PSTATE=2984, // terminal -ENC_UNALLOCATED_837_PSTATE=2985, // terminal -ENC_UNALLOCATED_838_PSTATE=2986, // terminal -ENC_UNALLOCATED_839_PSTATE=2987, // terminal -ENC_UNALLOCATED_840_SYSTEMINSTRSWITHREG=2988, // terminal -ENC_UNALLOCATED_841_SYSTEMINSTRSWITHREG=2989, // terminal -ENC_UNALLOCATED_842_SYSTEMINSTRSWITHREG=2990, // terminal -ENC_UNALLOCATED_843_SYSPAIRINSTRS=2991, // terminal -ENC_UNALLOCATED_844_SYSTEMRESULT=2992, // terminal -ENC_UNALLOCATED_845_SYSTEMRESULT=2993, // terminal -ENC_UNALLOCATED_846_SYSTEMRESULT=2994, // terminal -ENC_UNALLOCATED_847_SYSTEMRESULT=2995, // terminal -ENC_UNALLOCATED_848_SYSTEMRESULT=2996, // terminal -ENC_UNALLOCATED_849_SYSTEMRESULT=2997, // terminal -ENC_UNALLOCATED_850_BRANCH_REG=2998, // terminal -ENC_UNALLOCATED_851_BRANCH_REG=2999, // terminal -ENC_UNALLOCATED_852_BRANCH_REG=3000, // terminal -ENC_UNALLOCATED_853_BRANCH_REG=3001, // terminal -ENC_UNALLOCATED_854_BRANCH_REG=3002, // terminal -ENC_UNALLOCATED_855_BRANCH_REG=3003, // terminal -ENC_UNALLOCATED_856_BRANCH_REG=3004, // terminal -ENC_UNALLOCATED_857_BRANCH_REG=3005, // terminal -ENC_UNALLOCATED_858_BRANCH_REG=3006, // terminal -ENC_UNALLOCATED_859_BRANCH_REG=3007, // terminal -ENC_UNALLOCATED_860_BRANCH_REG=3008, // terminal -ENC_UNALLOCATED_861_BRANCH_REG=3009, // terminal -ENC_UNALLOCATED_862_BRANCH_REG=3010, // terminal -ENC_UNALLOCATED_863_BRANCH_REG=3011, // terminal -ENC_UNALLOCATED_864_BRANCH_REG=3012, // terminal -ENC_UNALLOCATED_865_BRANCH_REG=3013, // terminal -ENC_UNALLOCATED_866_BRANCH_REG=3014, // terminal -ENC_UNALLOCATED_867_BRANCH_REG=3015, // terminal -ENC_UNALLOCATED_868_BRANCH_REG=3016, // terminal -ENC_UNALLOCATED_869_BRANCH_REG=3017, // terminal -ENC_UNALLOCATED_870_BRANCH_REG=3018, // terminal -ENC_UNALLOCATED_871_BRANCH_REG=3019, // terminal -ENC_UNALLOCATED_872_BRANCH_REG=3020, // terminal -ENC_UNALLOCATED_873_BRANCH_REG=3021, // terminal -ENC_UNALLOCATED_874_BRANCH_REG=3022, // terminal -ENC_UNALLOCATED_875_MEMOP_128=3023, // terminal -ENC_UNALLOCATED_876_MEMOP_128=3024, // terminal -ENC_UNALLOCATED_877_MEMOP_128=3025, // terminal -ENC_UNALLOCATED_878_MEMOP_128=3026, // terminal -ENC_UNALLOCATED_879_ASISDLSE=3027, // terminal -ENC_UNALLOCATED_880_ASISDLSE=3028, // terminal -ENC_UNALLOCATED_881_ASISDLSE=3029, // terminal -ENC_UNALLOCATED_882_ASISDLSEP=3030, // terminal -ENC_UNALLOCATED_883_ASISDLSEP=3031, // terminal -ENC_UNALLOCATED_884_ASISDLSEP=3032, // terminal -ENC_UNALLOCATED_885_ASISDLSO=3033, // terminal -ENC_UNALLOCATED_886_ASISDLSO=3034, // terminal -ENC_UNALLOCATED_887_ASISDLSO=3035, // terminal -ENC_UNALLOCATED_888_ASISDLSO=3036, // terminal -ENC_UNALLOCATED_889_ASISDLSO=3037, // terminal -ENC_UNALLOCATED_890_ASISDLSO=3038, // terminal -ENC_UNALLOCATED_891_ASISDLSO=3039, // terminal -ENC_UNALLOCATED_892_ASISDLSO=3040, // terminal -ENC_UNALLOCATED_893_ASISDLSO=3041, // terminal -ENC_UNALLOCATED_894_ASISDLSOP=3042, // terminal -ENC_UNALLOCATED_895_ASISDLSOP=3043, // terminal -ENC_UNALLOCATED_896_ASISDLSOP=3044, // terminal -ENC_UNALLOCATED_897_ASISDLSOP=3045, // terminal -ENC_UNALLOCATED_898_ASISDLSOP=3046, // terminal -ENC_UNALLOCATED_899_MEMOP=3047, // terminal -ENC_UNALLOCATED_900_MEMOP=3048, // terminal -ENC_UNALLOCATED_901_MEMOP=3049, // terminal -ENC_UNALLOCATED_902_MEMOP=3050, // terminal -ENC_UNALLOCATED_903_MEMOP=3051, // terminal -ENC_UNALLOCATED_904_MEMOP=3052, // terminal -ENC_UNALLOCATED_905_MEMOP=3053, // terminal -ENC_UNALLOCATED_906_MEMOP=3054, // terminal -ENC_UNALLOCATED_907_MEMOP=3055, // terminal -ENC_UNALLOCATED_908_MEMOP=3056, // terminal -ENC_UNALLOCATED_909_MEMOP=3057, // terminal -ENC_UNALLOCATED_910_MEMOP=3058, // terminal -ENC_UNALLOCATED_911_MEMOP=3059, // terminal -ENC_UNALLOCATED_912_MEMOP=3060, // terminal -ENC_UNALLOCATED_913_MEMOP=3061, // terminal -ENC_UNALLOCATED_914_MEMOP=3062, // terminal -ENC_UNALLOCATED_915_MEMOP=3063, // terminal -ENC_UNALLOCATED_916_MEMOP=3064, // terminal -ENC_UNALLOCATED_917_MEMOP=3065, // terminal -ENC_UNALLOCATED_918_MEMOP=3066, // terminal -ENC_UNALLOCATED_919_MEMOP=3067, // terminal -ENC_UNALLOCATED_920_MEMOP=3068, // terminal -ENC_UNALLOCATED_921_MEMOP_UNPRIV=3069, // terminal -ENC_UNALLOCATED_922_MEMOP_UNPRIV=3070, // terminal -ENC_UNALLOCATED_923_MEMOP_UNPRIV=3071, // terminal -ENC_UNALLOCATED_924_COMSWAP=3072, // terminal -ENC_UNALLOCATED_925_COMSWAP_UNPRIV=3073, // terminal -ENC_UNALLOCATED_926_COMSWAP_UNPRIV=3074, // terminal -ENC_UNALLOCATED_927_COMSWAPPR=3075, // terminal -ENC_UNALLOCATED_928_COMSWAPPR_UNPRIV=3076, // terminal -ENC_UNALLOCATED_929_COMSWAPPR_UNPRIV=3077, // terminal -ENC_UNALLOCATED_930_LDST_GCS=3078, // terminal -ENC_UNALLOCATED_931_LDST_GCS=3079, // terminal -ENC_UNALLOCATED_932_LOADLIT=3080, // terminal -ENC_UNALLOCATED_933_LDSTTAGS=3081, // terminal -ENC_UNALLOCATED_934_LDSTNAPAIR_OFFS=3082, // terminal -ENC_UNALLOCATED_935_LDAPSTL_SIMD=3083, // terminal -ENC_UNALLOCATED_936_LDAPSTL_UNSCALED=3084, // terminal -ENC_UNALLOCATED_937_LDAPSTL_UNSCALED=3085, // terminal -ENC_UNALLOCATED_938_LDAPSTL_WRITEBACK=3086, // terminal -ENC_UNALLOCATED_939_LDIAPPSTILP=3087, // terminal -ENC_UNALLOCATED_940_LDIAPPSTILP=3088, // terminal -ENC_UNALLOCATED_941_LDIAPPSTILP=3089, // terminal -ENC_UNALLOCATED_942_LDIAPPSTILP=3090, // terminal -ENC_UNALLOCATED_943_LDST_IMMPOST=3091, // terminal -ENC_UNALLOCATED_944_LDST_IMMPOST=3092, // terminal -ENC_UNALLOCATED_945_LDST_IMMPOST=3093, // terminal -ENC_UNALLOCATED_946_LDST_IMMPOST=3094, // terminal -ENC_UNALLOCATED_947_LDST_IMMPRE=3095, // terminal -ENC_UNALLOCATED_948_LDST_IMMPRE=3096, // terminal -ENC_UNALLOCATED_949_LDST_IMMPRE=3097, // terminal -ENC_UNALLOCATED_950_LDST_IMMPRE=3098, // terminal -ENC_UNALLOCATED_951_LDST_PAC=3099, // terminal -ENC_UNALLOCATED_952_LDST_PAC=3100, // terminal -ENC_UNALLOCATED_953_LDST_REGOFF=3101, // terminal -ENC_UNALLOCATED_954_LDST_REGOFF=3102, // terminal -ENC_UNALLOCATED_955_LDST_REGOFF=3103, // terminal -ENC_UNALLOCATED_956_LDST_UNPRIV=3104, // terminal -ENC_UNALLOCATED_957_LDST_UNPRIV=3105, // terminal -ENC_UNALLOCATED_958_LDST_UNPRIV=3106, // terminal -ENC_UNALLOCATED_959_LDST_UNSCALED=3107, // terminal -ENC_UNALLOCATED_960_LDST_UNSCALED=3108, // terminal -ENC_UNALLOCATED_961_LDST_POS=3109, // terminal -ENC_UNALLOCATED_962_LDST_POS=3110, // terminal -ENC_UNALLOCATED_963_MEMCMS=3111, // terminal -ENC_UNALLOCATED_964_ADDSUB_PT=3112, // terminal -ENC_UNALLOCATED_965_ADDSUB_PT=3113, // terminal -ENC_UNALLOCATED_966_ADDSUB_EXT=3114, // terminal -ENC_UNALLOCATED_967_CONDCMP_IMM=3115, // terminal -ENC_UNALLOCATED_968_CONDCMP_IMM=3116, // terminal -ENC_UNALLOCATED_969_CONDCMP_IMM=3117, // terminal -ENC_UNALLOCATED_970_CONDCMP_REG=3118, // terminal -ENC_UNALLOCATED_971_CONDCMP_REG=3119, // terminal -ENC_UNALLOCATED_972_CONDCMP_REG=3120, // terminal -ENC_UNALLOCATED_973_CONDSEL=3121, // terminal -ENC_UNALLOCATED_974_CONDSEL=3122, // terminal -ENC_UNALLOCATED_975_DP_1SRC=3123, // terminal -ENC_UNALLOCATED_976_DP_1SRC=3124, // terminal -ENC_UNALLOCATED_977_DP_1SRC=3125, // terminal -ENC_UNALLOCATED_978_DP_1SRC=3126, // terminal -ENC_UNALLOCATED_979_DP_1SRC=3127, // terminal -ENC_UNALLOCATED_980_DP_1SRC=3128, // terminal -ENC_UNALLOCATED_981_DP_1SRC=3129, // terminal -ENC_UNALLOCATED_982_DP_1SRC=3130, // terminal -ENC_UNALLOCATED_983_DP_1SRC=3131, // terminal -ENC_UNALLOCATED_984_DP_1SRC=3132, // terminal -ENC_UNALLOCATED_985_DP_1SRC=3133, // terminal -ENC_UNALLOCATED_986_DP_1SRC=3134, // terminal -ENC_UNALLOCATED_987_DP_1SRC=3135, // terminal -ENC_UNALLOCATED_988_DP_1SRC=3136, // terminal -ENC_UNALLOCATED_989_DP_1SRC=3137, // terminal -ENC_UNALLOCATED_990_DP_1SRC=3138, // terminal -ENC_UNALLOCATED_991_DP_1SRC=3139, // terminal -ENC_UNALLOCATED_992_DP_1SRC=3140, // terminal -ENC_UNALLOCATED_993_DP_1SRC=3141, // terminal -ENC_UNALLOCATED_994_DP_1SRC=3142, // terminal -ENC_UNALLOCATED_995_DP_1SRC=3143, // terminal -ENC_UNALLOCATED_996_DP_1SRC=3144, // terminal -ENC_UNALLOCATED_997_DP_1SRC=3145, // terminal -ENC_UNALLOCATED_998_DP_1SRC=3146, // terminal -ENC_UNALLOCATED_999_DP_2SRC=3147, // terminal -ENC_UQADD_ASIMDSAME_ONLY=3148, -ENC_UQADD_ASISDSAME_ONLY=3149, -ENC_UQRSHL_ASIMDSAME_ONLY=3150, -ENC_UQRSHL_ASISDSAME_ONLY=3151, -ENC_UQRSHRN_ASIMDSHF_N=3152, -ENC_UQRSHRN_ASISDSHF_N=3153, -ENC_UQSHL_ASIMDSAME_ONLY=3154, -ENC_UQSHL_ASIMDSHF_R=3155, -ENC_UQSHL_ASISDSAME_ONLY=3156, -ENC_UQSHL_ASISDSHF_R=3157, -ENC_UQSHRN_ASIMDSHF_N=3158, -ENC_UQSHRN_ASISDSHF_N=3159, -ENC_UQSUB_ASIMDSAME_ONLY=3160, -ENC_UQSUB_ASISDSAME_ONLY=3161, -ENC_UQXTN_ASIMDMISC_N=3162, -ENC_UQXTN_ASISDMISC_N=3163, -ENC_URECPE_ASIMDMISC_R=3164, -ENC_URHADD_ASIMDSAME_ONLY=3165, -ENC_URSHL_ASIMDSAME_ONLY=3166, -ENC_URSHL_ASISDSAME_ONLY=3167, -ENC_URSHR_ASIMDSHF_R=3168, -ENC_URSHR_ASISDSHF_R=3169, -ENC_URSQRTE_ASIMDMISC_R=3170, -ENC_URSRA_ASIMDSHF_R=3171, -ENC_URSRA_ASISDSHF_R=3172, -ENC_USDOT_ASIMDELEM_D=3173, -ENC_USDOT_ASIMDSAME2_D=3174, -ENC_USHLL_ASIMDSHF_L=3175, -ENC_USHL_ASIMDSAME_ONLY=3176, -ENC_USHL_ASISDSAME_ONLY=3177, -ENC_USHR_ASIMDSHF_R=3178, -ENC_USHR_ASISDSHF_R=3179, -ENC_USMMLA_ASIMDSAME2_G=3180, -ENC_USQADD_ASIMDMISC_R=3181, -ENC_USQADD_ASISDMISC_R=3182, -ENC_USRA_ASIMDSHF_R=3183, -ENC_USRA_ASISDSHF_R=3184, -ENC_USUBL_ASIMDDIFF_L=3185, -ENC_USUBW_ASIMDDIFF_W=3186, -ENC_UXTB_UBFM_32M_BITFIELD=3187, // alias -ENC_UXTH_UBFM_32M_BITFIELD=3188, // alias -ENC_UXTL_USHLL_ASIMDSHF_L=3189, // alias -ENC_UZP1_ASIMDPERM_ONLY=3190, -ENC_UZP2_ASIMDPERM_ONLY=3191, -ENC_WFET_ONLY_SYSTEMINSTRSWITHREG=3192, -ENC_WFE_HI_HINTS=3193, -ENC_WFIT_ONLY_SYSTEMINSTRSWITHREG=3194, -ENC_WFI_HI_HINTS=3195, -ENC_XAFLAG_M_PSTATE=3196, -ENC_XAR_VVV2_CRYPTO3_IMM6=3197, -ENC_XPACD_64Z_DP_1SRC=3198, -ENC_XPACI_64Z_DP_1SRC=3199, -ENC_XPACLRI_HI_HINTS=3200, -ENC_XTN_ASIMDMISC_N=3201, -ENC_YIELD_HI_HINTS=3202, -ENC_ZIP1_ASIMDPERM_ONLY=3203, -ENC_ZIP2_ASIMDPERM_ONLY=3204, -ENC_ABS_Z_P_Z_M=3205, -ENC_ABS_Z_P_Z_Z=3206, -ENC_ADCLB_Z_ZZZ_=3207, -ENC_ADCLT_Z_ZZZ_=3208, -ENC_ADD_MZ_ZZV_2X1=3209, -ENC_ADD_MZ_ZZV_4X1=3210, -ENC_ADD_Z_P_ZZ_=3211, -ENC_ADD_Z_ZI_=3212, -ENC_ADD_Z_ZZ_=3213, -ENC_ADD_ZA_ZW_2X2=3214, -ENC_ADD_ZA_ZW_4X4=3215, -ENC_ADD_ZA_ZZV_2X1=3216, -ENC_ADD_ZA_ZZV_4X1=3217, -ENC_ADD_ZA_ZZW_2X2=3218, -ENC_ADD_ZA_ZZW_4X4=3219, -ENC_ADDHA_ZA_PP_Z_32=3220, -ENC_ADDHA_ZA_PP_Z_64=3221, -ENC_ADDHNB_Z_ZZ_=3222, -ENC_ADDHNT_Z_ZZ_=3223, -ENC_ADDP_Z_P_ZZ_=3224, -ENC_ADDPL_R_RI_=3225, -ENC_ADDPT_Z_P_ZZ_=3226, -ENC_ADDPT_Z_ZZ_=3227, -ENC_ADDQV_Z_P_Z_=3228, -ENC_ADDSPL_R_RI_=3229, -ENC_ADDSVL_R_RI_=3230, -ENC_ADDVA_ZA_PP_Z_32=3231, -ENC_ADDVA_ZA_PP_Z_64=3232, -ENC_ADDVL_R_RI_=3233, -ENC_ADR_Z_AZ_D_S32_SCALED=3234, -ENC_ADR_Z_AZ_D_U32_SCALED=3235, -ENC_ADR_Z_AZ_SD_SAME_SCALED=3236, -ENC_AESD_MZ_ZZI_2X1=3237, -ENC_AESD_MZ_ZZI_4X1=3238, -ENC_AESD_Z_ZZ_=3239, -ENC_AESDIMC_MZ_ZZI_2X1=3240, -ENC_AESDIMC_MZ_ZZI_4X1=3241, -ENC_AESE_MZ_ZZI_2X1=3242, -ENC_AESE_MZ_ZZI_4X1=3243, -ENC_AESE_Z_ZZ_=3244, -ENC_AESEMC_MZ_ZZI_2X1=3245, -ENC_AESEMC_MZ_ZZI_4X1=3246, -ENC_AESIMC_Z_Z_=3247, -ENC_AESMC_Z_Z_=3248, -ENC_AND_P_P_PP_Z=3249, -ENC_AND_Z_P_ZZ_=3250, -ENC_AND_Z_ZI_=3251, -ENC_AND_Z_ZZ_=3252, -ENC_ANDQV_Z_P_Z_=3253, -ENC_ANDS_P_P_PP_Z=3254, -ENC_ANDV_R_P_Z_=3255, -ENC_ASR_Z_P_ZI_=3256, -ENC_ASR_Z_P_ZW_=3257, -ENC_ASR_Z_P_ZZ_=3258, -ENC_ASR_Z_ZI_=3259, -ENC_ASR_Z_ZW_=3260, -ENC_ASRD_Z_P_ZI_=3261, -ENC_ASRR_Z_P_ZZ_=3262, -ENC_BCAX_Z_ZZZ_=3263, -ENC_BDEP_Z_ZZ_=3264, -ENC_BEXT_Z_ZZ_=3265, -ENC_BF1CVT_MZ2_Z8_=3266, -ENC_BF1CVT_Z_Z8_B2BF=3267, -ENC_BF1CVTL_MZ2_Z8_=3268, -ENC_BF1CVTLT_Z_Z8_B2BF=3269, -ENC_BF2CVT_MZ2_Z8_=3270, -ENC_BF2CVT_Z_Z8_B2BF=3271, -ENC_BF2CVTL_MZ2_Z8_=3272, -ENC_BF2CVTLT_Z_Z8_B2BF=3273, -ENC_BFADD_Z_P_ZZ_=3274, -ENC_BFADD_Z_ZZ_=3275, -ENC_BFADD_ZA_ZW_2X2_16=3276, -ENC_BFADD_ZA_ZW_4X4_16=3277, -ENC_BFCLAMP_MZ_ZZ_2=3278, -ENC_BFCLAMP_MZ_ZZ_4=3279, -ENC_BFCLAMP_Z_ZZ_=3280, -ENC_BFCVT_Z8_MZ2_=3281, -ENC_BFCVT_Z_MZ2_=3282, -ENC_BFCVT_Z_P_Z_S2BF=3283, -ENC_BFCVT_Z_P_Z_S2BFZ=3284, -ENC_BFCVTN_Z8_MZ2_BF2B=3285, -ENC_BFCVTN_Z_MZ2_=3286, -ENC_BFCVTNT_Z_P_Z_S2BF=3287, -ENC_BFCVTNT_Z_P_Z_S2BFZ=3288, -ENC_BFDOT_Z_ZZZ_=3289, -ENC_BFDOT_Z_ZZZI_=3290, -ENC_BFDOT_ZA_ZZI_2XI=3291, -ENC_BFDOT_ZA_ZZI_4XI=3292, -ENC_BFDOT_ZA_ZZV_2X1=3293, -ENC_BFDOT_ZA_ZZV_4X1=3294, -ENC_BFDOT_ZA_ZZW_2X2=3295, -ENC_BFDOT_ZA_ZZW_4X4=3296, -ENC_BFMAX_MZ_ZZV_2X1=3297, -ENC_BFMAX_MZ_ZZV_4X1=3298, -ENC_BFMAX_MZ_ZZW_2X2=3299, -ENC_BFMAX_MZ_ZZW_4X4=3300, -ENC_BFMAX_Z_P_ZZ_=3301, -ENC_BFMAXNM_MZ_ZZV_2X1=3302, -ENC_BFMAXNM_MZ_ZZV_4X1=3303, -ENC_BFMAXNM_MZ_ZZW_2X2=3304, -ENC_BFMAXNM_MZ_ZZW_4X4=3305, -ENC_BFMAXNM_Z_P_ZZ_=3306, -ENC_BFMIN_MZ_ZZV_2X1=3307, -ENC_BFMIN_MZ_ZZV_4X1=3308, -ENC_BFMIN_MZ_ZZW_2X2=3309, -ENC_BFMIN_MZ_ZZW_4X4=3310, -ENC_BFMIN_Z_P_ZZ_=3311, -ENC_BFMINNM_MZ_ZZV_2X1=3312, -ENC_BFMINNM_MZ_ZZV_4X1=3313, -ENC_BFMINNM_MZ_ZZW_2X2=3314, -ENC_BFMINNM_MZ_ZZW_4X4=3315, -ENC_BFMINNM_Z_P_ZZ_=3316, -ENC_BFMLA_Z_P_ZZZ_=3317, -ENC_BFMLA_Z_ZZZI_H=3318, -ENC_BFMLA_ZA_ZZI_H2XI=3319, -ENC_BFMLA_ZA_ZZI_H4XI=3320, -ENC_BFMLA_ZA_ZZV_2X1_16=3321, -ENC_BFMLA_ZA_ZZV_4X1_16=3322, -ENC_BFMLA_ZA_ZZW_2X2_16=3323, -ENC_BFMLA_ZA_ZZW_4X4_16=3324, -ENC_BFMLAL_ZA_ZZI_1=3325, -ENC_BFMLAL_ZA_ZZI_2XI=3326, -ENC_BFMLAL_ZA_ZZI_4XI=3327, -ENC_BFMLAL_ZA_ZZV_1=3328, -ENC_BFMLAL_ZA_ZZV_2X1=3329, -ENC_BFMLAL_ZA_ZZV_4X1=3330, -ENC_BFMLAL_ZA_ZZW_2X2=3331, -ENC_BFMLAL_ZA_ZZW_4X4=3332, -ENC_BFMLALB_Z_ZZZ_=3333, -ENC_BFMLALB_Z_ZZZI_=3334, -ENC_BFMLALT_Z_ZZZ_=3335, -ENC_BFMLALT_Z_ZZZI_=3336, -ENC_BFMLS_Z_P_ZZZ_=3337, -ENC_BFMLS_Z_ZZZI_H=3338, -ENC_BFMLS_ZA_ZZI_H2XI=3339, -ENC_BFMLS_ZA_ZZI_H4XI=3340, -ENC_BFMLS_ZA_ZZV_2X1_16=3341, -ENC_BFMLS_ZA_ZZV_4X1_16=3342, -ENC_BFMLS_ZA_ZZW_2X2_16=3343, -ENC_BFMLS_ZA_ZZW_4X4_16=3344, -ENC_BFMLSL_ZA_ZZI_1=3345, -ENC_BFMLSL_ZA_ZZI_2XI=3346, -ENC_BFMLSL_ZA_ZZI_4XI=3347, -ENC_BFMLSL_ZA_ZZV_1=3348, -ENC_BFMLSL_ZA_ZZV_2X1=3349, -ENC_BFMLSL_ZA_ZZV_4X1=3350, -ENC_BFMLSL_ZA_ZZW_2X2=3351, -ENC_BFMLSL_ZA_ZZW_4X4=3352, -ENC_BFMLSLB_Z_ZZZ_=3353, -ENC_BFMLSLB_Z_ZZZI_=3354, -ENC_BFMLSLT_Z_ZZZ_=3355, -ENC_BFMLSLT_Z_ZZZI_=3356, -ENC_BFMMLA_Z_ZZZ_=3357, -ENC_BFMOP4A_ZA32_ZZ_H1X1=3358, -ENC_BFMOP4A_ZA32_ZZ_H1X2=3359, -ENC_BFMOP4A_ZA32_ZZ_H2X1=3360, -ENC_BFMOP4A_ZA32_ZZ_H2X2=3361, -ENC_BFMOP4A_ZA_ZZ_H1X1=3362, -ENC_BFMOP4A_ZA_ZZ_H1X2=3363, -ENC_BFMOP4A_ZA_ZZ_H2X1=3364, -ENC_BFMOP4A_ZA_ZZ_H2X2=3365, -ENC_BFMOP4S_ZA32_ZZ_H1X1=3366, -ENC_BFMOP4S_ZA32_ZZ_H1X2=3367, -ENC_BFMOP4S_ZA32_ZZ_H2X1=3368, -ENC_BFMOP4S_ZA32_ZZ_H2X2=3369, -ENC_BFMOP4S_ZA_ZZ_H1X1=3370, -ENC_BFMOP4S_ZA_ZZ_H1X2=3371, -ENC_BFMOP4S_ZA_ZZ_H2X1=3372, -ENC_BFMOP4S_ZA_ZZ_H2X2=3373, -ENC_BFMOPA_ZA32_PP_ZZ_=3374, -ENC_BFMOPA_ZA_PP_ZZ_16=3375, -ENC_BFMOPS_ZA32_PP_ZZ_=3376, -ENC_BFMOPS_ZA_PP_ZZ_16=3377, -ENC_BFMUL_MZ_ZZV_2X1=3378, -ENC_BFMUL_MZ_ZZV_4X1=3379, -ENC_BFMUL_MZ_ZZW_2X2=3380, -ENC_BFMUL_MZ_ZZW_4X4=3381, -ENC_BFMUL_Z_P_ZZ_=3382, -ENC_BFMUL_Z_ZZ_=3383, -ENC_BFMUL_Z_ZZI_H=3384, -ENC_BFSCALE_MZ_ZZV_2X1=3385, -ENC_BFSCALE_MZ_ZZV_4X1=3386, -ENC_BFSCALE_MZ_ZZW_2X2=3387, -ENC_BFSCALE_MZ_ZZW_4X4=3388, -ENC_BFSCALE_Z_P_ZZ_=3389, -ENC_BFSUB_Z_P_ZZ_=3390, -ENC_BFSUB_Z_ZZ_=3391, -ENC_BFSUB_ZA_ZW_2X2_16=3392, -ENC_BFSUB_ZA_ZW_4X4_16=3393, -ENC_BFTMOPA_ZA32_ZZZI_H2X1=3394, -ENC_BFTMOPA_ZA_ZZZI_H2X1=3395, -ENC_BFVDOT_ZA_ZZI_2XI=3396, -ENC_BGRP_Z_ZZ_=3397, -ENC_BIC_P_P_PP_Z=3398, -ENC_BIC_Z_P_ZZ_=3399, -ENC_BIC_Z_ZI__AND_Z_ZI_=3400, // alias -ENC_BIC_Z_ZZ_=3401, -ENC_BICS_P_P_PP_Z=3402, -ENC_BMOPA_ZA_PP_ZZ_32=3403, -ENC_BMOPS_ZA_PP_ZZ_32=3404, -ENC_BRKA_P_P_P_=3405, -ENC_BRKAS_P_P_P_Z=3406, -ENC_BRKB_P_P_P_=3407, -ENC_BRKBS_P_P_P_Z=3408, -ENC_BRKN_P_P_PP_=3409, -ENC_BRKNS_P_P_PP_=3410, -ENC_BRKPA_P_P_PP_=3411, -ENC_BRKPAS_P_P_PP_=3412, -ENC_BRKPB_P_P_PP_=3413, -ENC_BRKPBS_P_P_PP_=3414, -ENC_BSL1N_Z_ZZZ_=3415, -ENC_BSL2N_Z_ZZZ_=3416, -ENC_BSL_Z_ZZZ_=3417, -ENC_CADD_Z_ZZ_=3418, -ENC_CDOT_Z_ZZZ_=3419, -ENC_CDOT_Z_ZZZI_D=3420, -ENC_CDOT_Z_ZZZI_S=3421, -ENC_CLASTA_R_P_Z_=3422, -ENC_CLASTA_V_P_Z_=3423, -ENC_CLASTA_Z_P_ZZ_=3424, -ENC_CLASTB_R_P_Z_=3425, -ENC_CLASTB_V_P_Z_=3426, -ENC_CLASTB_Z_P_ZZ_=3427, -ENC_CLS_Z_P_Z_M=3428, -ENC_CLS_Z_P_Z_Z=3429, -ENC_CLZ_Z_P_Z_M=3430, -ENC_CLZ_Z_P_Z_Z=3431, -ENC_CMLA_Z_ZZZ_=3432, -ENC_CMLA_Z_ZZZI_H=3433, -ENC_CMLA_Z_ZZZI_S=3434, -ENC_CMPEQ_P_P_ZI_=3435, -ENC_CMPEQ_P_P_ZW_=3436, -ENC_CMPEQ_P_P_ZZ_=3437, -ENC_CMPGE_P_P_ZI_=3438, -ENC_CMPGE_P_P_ZW_=3439, -ENC_CMPGE_P_P_ZZ_=3440, -ENC_CMPGT_P_P_ZI_=3441, -ENC_CMPGT_P_P_ZW_=3442, -ENC_CMPGT_P_P_ZZ_=3443, -ENC_CMPHI_P_P_ZI_=3444, -ENC_CMPHI_P_P_ZW_=3445, -ENC_CMPHI_P_P_ZZ_=3446, -ENC_CMPHS_P_P_ZI_=3447, -ENC_CMPHS_P_P_ZW_=3448, -ENC_CMPHS_P_P_ZZ_=3449, -ENC_CMPLE_P_P_ZI_=3450, -ENC_CMPLE_P_P_ZW_=3451, -ENC_CMPLE_P_P_ZZ__CMPGE_P_P_ZZ_=3452, // alias -ENC_CMPLO_P_P_ZI_=3453, -ENC_CMPLO_P_P_ZW_=3454, -ENC_CMPLO_P_P_ZZ__CMPHI_P_P_ZZ_=3455, // alias -ENC_CMPLS_P_P_ZI_=3456, -ENC_CMPLS_P_P_ZW_=3457, -ENC_CMPLS_P_P_ZZ__CMPHS_P_P_ZZ_=3458, // alias -ENC_CMPLT_P_P_ZI_=3459, -ENC_CMPLT_P_P_ZW_=3460, -ENC_CMPLT_P_P_ZZ__CMPGT_P_P_ZZ_=3461, // alias -ENC_CMPNE_P_P_ZI_=3462, -ENC_CMPNE_P_P_ZW_=3463, -ENC_CMPNE_P_P_ZZ_=3464, -ENC_CNOT_Z_P_Z_M=3465, -ENC_CNOT_Z_P_Z_Z=3466, -ENC_CNT_Z_P_Z_M=3467, -ENC_CNT_Z_P_Z_Z=3468, -ENC_CNTB_R_S_=3469, -ENC_CNTD_R_S_=3470, -ENC_CNTH_R_S_=3471, -ENC_CNTP_R_P_P_=3472, -ENC_CNTP_R_PN_=3473, -ENC_CNTW_R_S_=3474, -ENC_COMPACT_Z_P_Z_=3475, -ENC_COMPACT_Z_P_Z_S=3476, -ENC_CPY_Z_O_I_=3477, -ENC_CPY_Z_P_I_=3478, -ENC_CPY_Z_P_R_=3479, -ENC_CPY_Z_P_V_=3480, -ENC_CTERMEQ_RR_=3481, -ENC_CTERMNE_RR_=3482, -ENC_DECB_R_RS_=3483, -ENC_DECD_R_RS_=3484, -ENC_DECD_Z_ZS_=3485, -ENC_DECH_R_RS_=3486, -ENC_DECH_Z_ZS_=3487, -ENC_DECP_R_P_R_=3488, -ENC_DECP_Z_P_Z_=3489, -ENC_DECW_R_RS_=3490, -ENC_DECW_Z_ZS_=3491, -ENC_DUP_Z_I_=3492, -ENC_DUP_Z_R_=3493, -ENC_DUP_Z_ZI_=3494, -ENC_DUPM_Z_I_=3495, -ENC_DUPQ_Z_ZI_=3496, -ENC_EON_Z_ZI__EOR_Z_ZI_=3497, // alias -ENC_EOR3_Z_ZZZ_=3498, -ENC_EOR_P_P_PP_Z=3499, -ENC_EOR_Z_P_ZZ_=3500, -ENC_EOR_Z_ZI_=3501, -ENC_EOR_Z_ZZ_=3502, -ENC_EORBT_Z_ZZ_=3503, -ENC_EORQV_Z_P_Z_=3504, -ENC_EORS_P_P_PP_Z=3505, -ENC_EORTB_Z_ZZ_=3506, -ENC_EORV_R_P_Z_=3507, -ENC_EXPAND_Z_P_Z_=3508, -ENC_EXT_Z_ZI_CON=3509, -ENC_EXT_Z_ZI_DES=3510, -ENC_EXTQ_Z_ZI_DES=3511, -ENC_F1CVT_MZ2_Z8_=3512, -ENC_F1CVT_Z_Z8_B2H=3513, -ENC_F1CVTL_MZ2_Z8_=3514, -ENC_F1CVTLT_Z_Z8_B2H=3515, -ENC_F2CVT_MZ2_Z8_=3516, -ENC_F2CVT_Z_Z8_B2H=3517, -ENC_F2CVTL_MZ2_Z8_=3518, -ENC_F2CVTLT_Z_Z8_B2H=3519, -ENC_FABD_Z_P_ZZ_=3520, -ENC_FABS_Z_P_Z_M=3521, -ENC_FABS_Z_P_Z_Z=3522, -ENC_FACGE_P_P_ZZ_=3523, -ENC_FACGT_P_P_ZZ_=3524, -ENC_FACLE_P_P_ZZ__FACGE_P_P_ZZ_=3525, // alias -ENC_FACLT_P_P_ZZ__FACGT_P_P_ZZ_=3526, // alias -ENC_FADD_Z_P_ZS_=3527, -ENC_FADD_Z_P_ZZ_=3528, -ENC_FADD_Z_ZZ_=3529, -ENC_FADD_ZA_ZW_2X2=3530, -ENC_FADD_ZA_ZW_2X2_16=3531, -ENC_FADD_ZA_ZW_4X4=3532, -ENC_FADD_ZA_ZW_4X4_16=3533, -ENC_FADDA_V_P_Z_=3534, -ENC_FADDP_Z_P_ZZ_=3535, -ENC_FADDQV_Z_P_Z_=3536, -ENC_FADDV_V_P_Z_=3537, -ENC_FAMAX_MZ_ZZW_2X2=3538, -ENC_FAMAX_MZ_ZZW_4X4=3539, -ENC_FAMAX_Z_P_ZZ_=3540, -ENC_FAMIN_MZ_ZZW_2X2=3541, -ENC_FAMIN_MZ_ZZW_4X4=3542, -ENC_FAMIN_Z_P_ZZ_=3543, -ENC_FCADD_Z_P_ZZ_=3544, -ENC_FCLAMP_MZ_ZZ_2=3545, -ENC_FCLAMP_MZ_ZZ_4=3546, -ENC_FCLAMP_Z_ZZ_=3547, -ENC_FCMEQ_P_P_Z0_=3548, -ENC_FCMEQ_P_P_ZZ_=3549, -ENC_FCMGE_P_P_Z0_=3550, -ENC_FCMGE_P_P_ZZ_=3551, -ENC_FCMGT_P_P_Z0_=3552, -ENC_FCMGT_P_P_ZZ_=3553, -ENC_FCMLA_Z_P_ZZZ_=3554, -ENC_FCMLA_Z_ZZZI_H=3555, -ENC_FCMLA_Z_ZZZI_S=3556, -ENC_FCMLE_P_P_Z0_=3557, -ENC_FCMLE_P_P_ZZ__FCMGE_P_P_ZZ_=3558, // alias -ENC_FCMLT_P_P_Z0_=3559, -ENC_FCMLT_P_P_ZZ__FCMGT_P_P_ZZ_=3560, // alias -ENC_FCMNE_P_P_Z0_=3561, -ENC_FCMNE_P_P_ZZ_=3562, -ENC_FCMUO_P_P_ZZ_=3563, -ENC_FCPY_Z_P_I_=3564, -ENC_FCVT_MZ2_Z_=3565, -ENC_FCVT_Z8_MZ2_=3566, -ENC_FCVT_Z8_MZ4_=3567, -ENC_FCVT_Z_MZ2_=3568, -ENC_FCVT_Z_P_Z_D2H=3569, -ENC_FCVT_Z_P_Z_D2HZ=3570, -ENC_FCVT_Z_P_Z_D2S=3571, -ENC_FCVT_Z_P_Z_D2SZ=3572, -ENC_FCVT_Z_P_Z_H2D=3573, -ENC_FCVT_Z_P_Z_H2DZ=3574, -ENC_FCVT_Z_P_Z_H2S=3575, -ENC_FCVT_Z_P_Z_H2SZ=3576, -ENC_FCVT_Z_P_Z_S2D=3577, -ENC_FCVT_Z_P_Z_S2DZ=3578, -ENC_FCVT_Z_P_Z_S2H=3579, -ENC_FCVT_Z_P_Z_S2HZ=3580, -ENC_FCVTL_MZ2_Z_=3581, -ENC_FCVTLT_Z_P_Z_H2S=3582, -ENC_FCVTLT_Z_P_Z_H2SZ=3583, -ENC_FCVTLT_Z_P_Z_S2D=3584, -ENC_FCVTLT_Z_P_Z_S2DZ=3585, -ENC_FCVTN_Z8_MZ2_H2B=3586, -ENC_FCVTN_Z8_MZ4_=3587, -ENC_FCVTN_Z_MZ2_=3588, -ENC_FCVTNB_Z8_MZ2_S2B=3589, -ENC_FCVTNT_Z8_MZ2_S2B=3590, -ENC_FCVTNT_Z_P_Z_D2S=3591, -ENC_FCVTNT_Z_P_Z_D2SZ=3592, -ENC_FCVTNT_Z_P_Z_S2H=3593, -ENC_FCVTNT_Z_P_Z_S2HZ=3594, -ENC_FCVTX_Z_P_Z_D2S=3595, -ENC_FCVTX_Z_P_Z_D2SZ=3596, -ENC_FCVTXNT_Z_P_Z_D2S=3597, -ENC_FCVTXNT_Z_P_Z_D2SZ=3598, -ENC_FCVTZS_MZ_Z_2=3599, -ENC_FCVTZS_MZ_Z_4=3600, -ENC_FCVTZS_Z_P_Z_D2W=3601, -ENC_FCVTZS_Z_P_Z_D2WZ=3602, -ENC_FCVTZS_Z_P_Z_D2X=3603, -ENC_FCVTZS_Z_P_Z_D2XZ=3604, -ENC_FCVTZS_Z_P_Z_FP162H=3605, -ENC_FCVTZS_Z_P_Z_FP162HZ=3606, -ENC_FCVTZS_Z_P_Z_FP162W=3607, -ENC_FCVTZS_Z_P_Z_FP162WZ=3608, -ENC_FCVTZS_Z_P_Z_FP162X=3609, -ENC_FCVTZS_Z_P_Z_FP162XZ=3610, -ENC_FCVTZS_Z_P_Z_S2W=3611, -ENC_FCVTZS_Z_P_Z_S2WZ=3612, -ENC_FCVTZS_Z_P_Z_S2X=3613, -ENC_FCVTZS_Z_P_Z_S2XZ=3614, -ENC_FCVTZU_MZ_Z_2=3615, -ENC_FCVTZU_MZ_Z_4=3616, -ENC_FCVTZU_Z_P_Z_D2W=3617, -ENC_FCVTZU_Z_P_Z_D2WZ=3618, -ENC_FCVTZU_Z_P_Z_D2X=3619, -ENC_FCVTZU_Z_P_Z_D2XZ=3620, -ENC_FCVTZU_Z_P_Z_FP162H=3621, -ENC_FCVTZU_Z_P_Z_FP162HZ=3622, -ENC_FCVTZU_Z_P_Z_FP162W=3623, -ENC_FCVTZU_Z_P_Z_FP162WZ=3624, -ENC_FCVTZU_Z_P_Z_FP162X=3625, -ENC_FCVTZU_Z_P_Z_FP162XZ=3626, -ENC_FCVTZU_Z_P_Z_S2W=3627, -ENC_FCVTZU_Z_P_Z_S2WZ=3628, -ENC_FCVTZU_Z_P_Z_S2X=3629, -ENC_FCVTZU_Z_P_Z_S2XZ=3630, -ENC_FDIV_Z_P_ZZ_=3631, -ENC_FDIVR_Z_P_ZZ_=3632, -ENC_FDOT_Z32_ZZ8Z8_=3633, -ENC_FDOT_Z32_ZZ8Z8I_=3634, -ENC_FDOT_Z_ZZ8Z8_=3635, -ENC_FDOT_Z_ZZ8Z8I_=3636, -ENC_FDOT_Z_ZZZ_=3637, -ENC_FDOT_Z_ZZZI_=3638, -ENC_FDOT_ZA32_Z8Z8I_2XI=3639, -ENC_FDOT_ZA32_Z8Z8I_4XI=3640, -ENC_FDOT_ZA32_Z8Z8V_2X1=3641, -ENC_FDOT_ZA32_Z8Z8V_4X1=3642, -ENC_FDOT_ZA32_Z8Z8W_2X2=3643, -ENC_FDOT_ZA32_Z8Z8W_4X4=3644, -ENC_FDOT_ZA_Z8Z8I_2XI=3645, -ENC_FDOT_ZA_Z8Z8I_4XI=3646, -ENC_FDOT_ZA_Z8Z8V_2X1=3647, -ENC_FDOT_ZA_Z8Z8V_4X1=3648, -ENC_FDOT_ZA_Z8Z8W_2X2=3649, -ENC_FDOT_ZA_Z8Z8W_4X4=3650, -ENC_FDOT_ZA_ZZI_2XI=3651, -ENC_FDOT_ZA_ZZI_4XI=3652, -ENC_FDOT_ZA_ZZV_2X1=3653, -ENC_FDOT_ZA_ZZV_4X1=3654, -ENC_FDOT_ZA_ZZW_2X2=3655, -ENC_FDOT_ZA_ZZW_4X4=3656, -ENC_FDUP_Z_I_=3657, -ENC_FEXPA_Z_Z_=3658, -ENC_FIRSTP_R_P_P_=3659, -ENC_FLOGB_Z_P_Z_M=3660, -ENC_FLOGB_Z_P_Z_Z=3661, -ENC_FMAD_Z_P_ZZZ_=3662, -ENC_FMAX_MZ_ZZV_2X1=3663, -ENC_FMAX_MZ_ZZV_4X1=3664, -ENC_FMAX_MZ_ZZW_2X2=3665, -ENC_FMAX_MZ_ZZW_4X4=3666, -ENC_FMAX_Z_P_ZS_=3667, -ENC_FMAX_Z_P_ZZ_=3668, -ENC_FMAXNM_MZ_ZZV_2X1=3669, -ENC_FMAXNM_MZ_ZZV_4X1=3670, -ENC_FMAXNM_MZ_ZZW_2X2=3671, -ENC_FMAXNM_MZ_ZZW_4X4=3672, -ENC_FMAXNM_Z_P_ZS_=3673, -ENC_FMAXNM_Z_P_ZZ_=3674, -ENC_FMAXNMP_Z_P_ZZ_=3675, -ENC_FMAXNMQV_Z_P_Z_=3676, -ENC_FMAXNMV_V_P_Z_=3677, -ENC_FMAXP_Z_P_ZZ_=3678, -ENC_FMAXQV_Z_P_Z_=3679, -ENC_FMAXV_V_P_Z_=3680, -ENC_FMIN_MZ_ZZV_2X1=3681, -ENC_FMIN_MZ_ZZV_4X1=3682, -ENC_FMIN_MZ_ZZW_2X2=3683, -ENC_FMIN_MZ_ZZW_4X4=3684, -ENC_FMIN_Z_P_ZS_=3685, -ENC_FMIN_Z_P_ZZ_=3686, -ENC_FMINNM_MZ_ZZV_2X1=3687, -ENC_FMINNM_MZ_ZZV_4X1=3688, -ENC_FMINNM_MZ_ZZW_2X2=3689, -ENC_FMINNM_MZ_ZZW_4X4=3690, -ENC_FMINNM_Z_P_ZS_=3691, -ENC_FMINNM_Z_P_ZZ_=3692, -ENC_FMINNMP_Z_P_ZZ_=3693, -ENC_FMINNMQV_Z_P_Z_=3694, -ENC_FMINNMV_V_P_Z_=3695, -ENC_FMINP_Z_P_ZZ_=3696, -ENC_FMINQV_Z_P_Z_=3697, -ENC_FMINV_V_P_Z_=3698, -ENC_FMLA_Z_P_ZZZ_=3699, -ENC_FMLA_Z_ZZZI_D=3700, -ENC_FMLA_Z_ZZZI_H=3701, -ENC_FMLA_Z_ZZZI_S=3702, -ENC_FMLA_ZA_ZZI_D2XI=3703, -ENC_FMLA_ZA_ZZI_D4XI=3704, -ENC_FMLA_ZA_ZZI_H2XI=3705, -ENC_FMLA_ZA_ZZI_H4XI=3706, -ENC_FMLA_ZA_ZZI_S2XI=3707, -ENC_FMLA_ZA_ZZI_S4XI=3708, -ENC_FMLA_ZA_ZZV_2X1=3709, -ENC_FMLA_ZA_ZZV_2X1_16=3710, -ENC_FMLA_ZA_ZZV_4X1=3711, -ENC_FMLA_ZA_ZZV_4X1_16=3712, -ENC_FMLA_ZA_ZZW_2X2=3713, -ENC_FMLA_ZA_ZZW_2X2_16=3714, -ENC_FMLA_ZA_ZZW_4X4=3715, -ENC_FMLA_ZA_ZZW_4X4_16=3716, -ENC_FMLAL_ZA_Z8Z8I_1=3717, -ENC_FMLAL_ZA_Z8Z8I_2XI=3718, -ENC_FMLAL_ZA_Z8Z8I_4XI=3719, -ENC_FMLAL_ZA_Z8Z8V_1=3720, -ENC_FMLAL_ZA_Z8Z8V_2X1=3721, -ENC_FMLAL_ZA_Z8Z8V_4X1=3722, -ENC_FMLAL_ZA_Z8Z8W_2X2=3723, -ENC_FMLAL_ZA_Z8Z8W_4X4=3724, -ENC_FMLAL_ZA_ZZI_1=3725, -ENC_FMLAL_ZA_ZZI_2XI=3726, -ENC_FMLAL_ZA_ZZI_4XI=3727, -ENC_FMLAL_ZA_ZZV_1=3728, -ENC_FMLAL_ZA_ZZV_2X1=3729, -ENC_FMLAL_ZA_ZZV_4X1=3730, -ENC_FMLAL_ZA_ZZW_2X2=3731, -ENC_FMLAL_ZA_ZZW_4X4=3732, -ENC_FMLALB_Z_Z8Z8Z8_=3733, -ENC_FMLALB_Z_Z8Z8Z8I_=3734, -ENC_FMLALB_Z_ZZZ_=3735, -ENC_FMLALB_Z_ZZZI_S=3736, -ENC_FMLALL_ZA32_Z8Z8I_1=3737, -ENC_FMLALL_ZA32_Z8Z8I_2XI=3738, -ENC_FMLALL_ZA32_Z8Z8I_4XI=3739, -ENC_FMLALL_ZA32_Z8Z8V_1=3740, -ENC_FMLALL_ZA32_Z8Z8V_2X1=3741, -ENC_FMLALL_ZA32_Z8Z8V_4X1=3742, -ENC_FMLALL_ZA32_Z8Z8W_2X2=3743, -ENC_FMLALL_ZA32_Z8Z8W_4X4=3744, -ENC_FMLALLBB_Z32_Z8Z8Z8_=3745, -ENC_FMLALLBB_Z32_Z8Z8Z8I_=3746, -ENC_FMLALLBT_Z32_Z8Z8Z8_=3747, -ENC_FMLALLBT_Z32_Z8Z8Z8I_=3748, -ENC_FMLALLTB_Z32_Z8Z8Z8_=3749, -ENC_FMLALLTB_Z32_Z8Z8Z8I_=3750, -ENC_FMLALLTT_Z32_Z8Z8Z8_=3751, -ENC_FMLALLTT_Z32_Z8Z8Z8I_=3752, -ENC_FMLALT_Z_Z8Z8Z8_=3753, -ENC_FMLALT_Z_Z8Z8Z8I_=3754, -ENC_FMLALT_Z_ZZZ_=3755, -ENC_FMLALT_Z_ZZZI_S=3756, -ENC_FMLS_Z_P_ZZZ_=3757, -ENC_FMLS_Z_ZZZI_D=3758, -ENC_FMLS_Z_ZZZI_H=3759, -ENC_FMLS_Z_ZZZI_S=3760, -ENC_FMLS_ZA_ZZI_D2XI=3761, -ENC_FMLS_ZA_ZZI_D4XI=3762, -ENC_FMLS_ZA_ZZI_H2XI=3763, -ENC_FMLS_ZA_ZZI_H4XI=3764, -ENC_FMLS_ZA_ZZI_S2XI=3765, -ENC_FMLS_ZA_ZZI_S4XI=3766, -ENC_FMLS_ZA_ZZV_2X1=3767, -ENC_FMLS_ZA_ZZV_2X1_16=3768, -ENC_FMLS_ZA_ZZV_4X1=3769, -ENC_FMLS_ZA_ZZV_4X1_16=3770, -ENC_FMLS_ZA_ZZW_2X2=3771, -ENC_FMLS_ZA_ZZW_2X2_16=3772, -ENC_FMLS_ZA_ZZW_4X4=3773, -ENC_FMLS_ZA_ZZW_4X4_16=3774, -ENC_FMLSL_ZA_ZZI_1=3775, -ENC_FMLSL_ZA_ZZI_2XI=3776, -ENC_FMLSL_ZA_ZZI_4XI=3777, -ENC_FMLSL_ZA_ZZV_1=3778, -ENC_FMLSL_ZA_ZZV_2X1=3779, -ENC_FMLSL_ZA_ZZV_4X1=3780, -ENC_FMLSL_ZA_ZZW_2X2=3781, -ENC_FMLSL_ZA_ZZW_4X4=3782, -ENC_FMLSLB_Z_ZZZ_=3783, -ENC_FMLSLB_Z_ZZZI_S=3784, -ENC_FMLSLT_Z_ZZZ_=3785, -ENC_FMLSLT_Z_ZZZI_S=3786, -ENC_FMMLA_Z16_ZZ8Z8_=3787, -ENC_FMMLA_Z32_ZZ8Z8_=3788, -ENC_FMMLA_Z32_ZZZ_H=3789, -ENC_FMMLA_Z_ZZZ_D=3790, -ENC_FMMLA_Z_ZZZ_S=3791, -ENC_FMOP4A_ZA16_Z8Z8_B1X1=3792, -ENC_FMOP4A_ZA16_Z8Z8_B1X2=3793, -ENC_FMOP4A_ZA16_Z8Z8_B2X1=3794, -ENC_FMOP4A_ZA16_Z8Z8_B2X2=3795, -ENC_FMOP4A_ZA32_Z8Z8_B1X1=3796, -ENC_FMOP4A_ZA32_Z8Z8_B1X2=3797, -ENC_FMOP4A_ZA32_Z8Z8_B2X1=3798, -ENC_FMOP4A_ZA32_Z8Z8_B2X2=3799, -ENC_FMOP4A_ZA32_ZZ_H1X1=3800, -ENC_FMOP4A_ZA32_ZZ_H1X2=3801, -ENC_FMOP4A_ZA32_ZZ_H2X1=3802, -ENC_FMOP4A_ZA32_ZZ_H2X2=3803, -ENC_FMOP4A_ZA_ZZ_D1X1=3804, -ENC_FMOP4A_ZA_ZZ_D1X2=3805, -ENC_FMOP4A_ZA_ZZ_D2X1=3806, -ENC_FMOP4A_ZA_ZZ_D2X2=3807, -ENC_FMOP4A_ZA_ZZ_H1X1=3808, -ENC_FMOP4A_ZA_ZZ_H1X2=3809, -ENC_FMOP4A_ZA_ZZ_H2X1=3810, -ENC_FMOP4A_ZA_ZZ_H2X2=3811, -ENC_FMOP4A_ZA_ZZ_S1X1=3812, -ENC_FMOP4A_ZA_ZZ_S1X2=3813, -ENC_FMOP4A_ZA_ZZ_S2X1=3814, -ENC_FMOP4A_ZA_ZZ_S2X2=3815, -ENC_FMOP4S_ZA32_ZZ_H1X1=3816, -ENC_FMOP4S_ZA32_ZZ_H1X2=3817, -ENC_FMOP4S_ZA32_ZZ_H2X1=3818, -ENC_FMOP4S_ZA32_ZZ_H2X2=3819, -ENC_FMOP4S_ZA_ZZ_D1X1=3820, -ENC_FMOP4S_ZA_ZZ_D1X2=3821, -ENC_FMOP4S_ZA_ZZ_D2X1=3822, -ENC_FMOP4S_ZA_ZZ_D2X2=3823, -ENC_FMOP4S_ZA_ZZ_H1X1=3824, -ENC_FMOP4S_ZA_ZZ_H1X2=3825, -ENC_FMOP4S_ZA_ZZ_H2X1=3826, -ENC_FMOP4S_ZA_ZZ_H2X2=3827, -ENC_FMOP4S_ZA_ZZ_S1X1=3828, -ENC_FMOP4S_ZA_ZZ_S1X2=3829, -ENC_FMOP4S_ZA_ZZ_S2X1=3830, -ENC_FMOP4S_ZA_ZZ_S2X2=3831, -ENC_FMOPA_ZA16_PP_Z8Z8_8=3832, -ENC_FMOPA_ZA32_PP_Z8Z8_8=3833, -ENC_FMOPA_ZA32_PP_ZZ_16=3834, -ENC_FMOPA_ZA_PP_ZZ_16=3835, -ENC_FMOPA_ZA_PP_ZZ_32=3836, -ENC_FMOPA_ZA_PP_ZZ_64=3837, -ENC_FMOPS_ZA32_PP_ZZ_16=3838, -ENC_FMOPS_ZA_PP_ZZ_16=3839, -ENC_FMOPS_ZA_PP_ZZ_32=3840, -ENC_FMOPS_ZA_PP_ZZ_64=3841, -ENC_FMOV_Z_0__DUP_Z_I_=3842, // alias -ENC_FMOV_Z_I__FDUP_Z_I_=3843, // alias -ENC_FMOV_Z_P_0__CPY_Z_P_I_=3844, // alias -ENC_FMOV_Z_P_I__FCPY_Z_P_I_=3845, // alias -ENC_FMSB_Z_P_ZZZ_=3846, -ENC_FMUL_MZ_ZZV_2X1=3847, -ENC_FMUL_MZ_ZZV_4X1=3848, -ENC_FMUL_MZ_ZZW_2X2=3849, -ENC_FMUL_MZ_ZZW_4X4=3850, -ENC_FMUL_Z_P_ZS_=3851, -ENC_FMUL_Z_P_ZZ_=3852, -ENC_FMUL_Z_ZZ_=3853, -ENC_FMUL_Z_ZZI_D=3854, -ENC_FMUL_Z_ZZI_H=3855, -ENC_FMUL_Z_ZZI_S=3856, -ENC_FMULX_Z_P_ZZ_=3857, -ENC_FNEG_Z_P_Z_M=3858, -ENC_FNEG_Z_P_Z_Z=3859, -ENC_FNMAD_Z_P_ZZZ_=3860, -ENC_FNMLA_Z_P_ZZZ_=3861, -ENC_FNMLS_Z_P_ZZZ_=3862, -ENC_FNMSB_Z_P_ZZZ_=3863, -ENC_FRECPE_Z_Z_=3864, -ENC_FRECPS_Z_ZZ_=3865, -ENC_FRECPX_Z_P_Z_M=3866, -ENC_FRECPX_Z_P_Z_Z=3867, -ENC_FRINT32X_Z_P_Z_M=3868, -ENC_FRINT32X_Z_P_Z_Z=3869, -ENC_FRINT32Z_Z_P_Z_M=3870, -ENC_FRINT32Z_Z_P_Z_Z=3871, -ENC_FRINT64X_Z_P_Z_M=3872, -ENC_FRINT64X_Z_P_Z_Z=3873, -ENC_FRINT64Z_Z_P_Z_M=3874, -ENC_FRINT64Z_Z_P_Z_Z=3875, -ENC_FRINTA_MZ_Z_2=3876, -ENC_FRINTA_MZ_Z_4=3877, -ENC_FRINTA_Z_P_Z_M=3878, -ENC_FRINTA_Z_P_Z_Z=3879, -ENC_FRINTI_Z_P_Z_M=3880, -ENC_FRINTI_Z_P_Z_Z=3881, -ENC_FRINTM_MZ_Z_2=3882, -ENC_FRINTM_MZ_Z_4=3883, -ENC_FRINTM_Z_P_Z_M=3884, -ENC_FRINTM_Z_P_Z_Z=3885, -ENC_FRINTN_MZ_Z_2=3886, -ENC_FRINTN_MZ_Z_4=3887, -ENC_FRINTN_Z_P_Z_M=3888, -ENC_FRINTN_Z_P_Z_Z=3889, -ENC_FRINTP_MZ_Z_2=3890, -ENC_FRINTP_MZ_Z_4=3891, -ENC_FRINTP_Z_P_Z_M=3892, -ENC_FRINTP_Z_P_Z_Z=3893, -ENC_FRINTX_Z_P_Z_M=3894, -ENC_FRINTX_Z_P_Z_Z=3895, -ENC_FRINTZ_Z_P_Z_M=3896, -ENC_FRINTZ_Z_P_Z_Z=3897, -ENC_FRSQRTE_Z_Z_=3898, -ENC_FRSQRTS_Z_ZZ_=3899, -ENC_FSCALE_MZ_ZZV_2X1=3900, -ENC_FSCALE_MZ_ZZV_4X1=3901, -ENC_FSCALE_MZ_ZZW_2X2=3902, -ENC_FSCALE_MZ_ZZW_4X4=3903, -ENC_FSCALE_Z_P_ZZ_=3904, -ENC_FSQRT_Z_P_Z_M=3905, -ENC_FSQRT_Z_P_Z_Z=3906, -ENC_FSUB_Z_P_ZS_=3907, -ENC_FSUB_Z_P_ZZ_=3908, -ENC_FSUB_Z_ZZ_=3909, -ENC_FSUB_ZA_ZW_2X2=3910, -ENC_FSUB_ZA_ZW_2X2_16=3911, -ENC_FSUB_ZA_ZW_4X4=3912, -ENC_FSUB_ZA_ZW_4X4_16=3913, -ENC_FSUBR_Z_P_ZS_=3914, -ENC_FSUBR_Z_P_ZZ_=3915, -ENC_FTMAD_Z_ZZI_=3916, -ENC_FTMOPA_ZA16_Z8Z8ZI_B2X1=3917, -ENC_FTMOPA_ZA32_Z8Z8ZI_B2X1=3918, -ENC_FTMOPA_ZA32_ZZZI_H2X1=3919, -ENC_FTMOPA_ZA_ZZZI_H2X1=3920, -ENC_FTMOPA_ZA_ZZZI_S2X1=3921, -ENC_FTSMUL_Z_ZZ_=3922, -ENC_FTSSEL_Z_ZZ_=3923, -ENC_FVDOT_ZA_Z8Z8I_2XI=3924, -ENC_FVDOT_ZA_ZZI_2XI=3925, -ENC_FVDOTB_ZA32_Z8Z8I_2XI=3926, -ENC_FVDOTT_ZA32_Z8Z8I_2XI=3927, -ENC_HISTCNT_Z_P_ZZ_=3928, -ENC_HISTSEG_Z_ZZ_=3929, -ENC_INCB_R_RS_=3930, -ENC_INCD_R_RS_=3931, -ENC_INCD_Z_ZS_=3932, -ENC_INCH_R_RS_=3933, -ENC_INCH_Z_ZS_=3934, -ENC_INCP_R_P_R_=3935, -ENC_INCP_Z_P_Z_=3936, -ENC_INCW_R_RS_=3937, -ENC_INCW_Z_ZS_=3938, -ENC_INDEX_Z_II_=3939, -ENC_INDEX_Z_IR_=3940, -ENC_INDEX_Z_RI_=3941, -ENC_INDEX_Z_RR_=3942, -ENC_INSR_Z_R_=3943, -ENC_INSR_Z_V_=3944, -ENC_LASTA_R_P_Z_=3945, -ENC_LASTA_V_P_Z_=3946, -ENC_LASTB_R_P_Z_=3947, -ENC_LASTB_V_P_Z_=3948, -ENC_LASTP_R_P_P_=3949, -ENC_LD1B_MZ_P_BI_2=3950, -ENC_LD1B_MZ_P_BI_4=3951, -ENC_LD1B_MZ_P_BR_2=3952, -ENC_LD1B_MZ_P_BR_4=3953, -ENC_LD1B_MZX_P_BI_2X8=3954, -ENC_LD1B_MZX_P_BI_4X4=3955, -ENC_LD1B_MZX_P_BR_2X8=3956, -ENC_LD1B_MZX_P_BR_4X4=3957, -ENC_LD1B_Z_P_AI_D=3958, -ENC_LD1B_Z_P_AI_S=3959, -ENC_LD1B_Z_P_BI_U16=3960, -ENC_LD1B_Z_P_BI_U32=3961, -ENC_LD1B_Z_P_BI_U64=3962, -ENC_LD1B_Z_P_BI_U8=3963, -ENC_LD1B_Z_P_BR_U16=3964, -ENC_LD1B_Z_P_BR_U32=3965, -ENC_LD1B_Z_P_BR_U64=3966, -ENC_LD1B_Z_P_BR_U8=3967, -ENC_LD1B_Z_P_BZ_D_64_UNSCALED=3968, -ENC_LD1B_Z_P_BZ_D_X32_UNSCALED=3969, -ENC_LD1B_Z_P_BZ_S_X32_UNSCALED=3970, -ENC_LD1B_ZA_P_RRR_=3971, -ENC_LD1D_MZ_P_BI_2=3972, -ENC_LD1D_MZ_P_BI_4=3973, -ENC_LD1D_MZ_P_BR_2=3974, -ENC_LD1D_MZ_P_BR_4=3975, -ENC_LD1D_MZX_P_BI_2X8=3976, -ENC_LD1D_MZX_P_BI_4X4=3977, -ENC_LD1D_MZX_P_BR_2X8=3978, -ENC_LD1D_MZX_P_BR_4X4=3979, -ENC_LD1D_Z_P_AI_D=3980, -ENC_LD1D_Z_P_BI_U128=3981, -ENC_LD1D_Z_P_BI_U64=3982, -ENC_LD1D_Z_P_BR_U128=3983, -ENC_LD1D_Z_P_BR_U64=3984, -ENC_LD1D_Z_P_BZ_D_64_SCALED=3985, -ENC_LD1D_Z_P_BZ_D_64_UNSCALED=3986, -ENC_LD1D_Z_P_BZ_D_X32_SCALED=3987, -ENC_LD1D_Z_P_BZ_D_X32_UNSCALED=3988, -ENC_LD1D_ZA_P_RRR_=3989, -ENC_LD1H_MZ_P_BI_2=3990, -ENC_LD1H_MZ_P_BI_4=3991, -ENC_LD1H_MZ_P_BR_2=3992, -ENC_LD1H_MZ_P_BR_4=3993, -ENC_LD1H_MZX_P_BI_2X8=3994, -ENC_LD1H_MZX_P_BI_4X4=3995, -ENC_LD1H_MZX_P_BR_2X8=3996, -ENC_LD1H_MZX_P_BR_4X4=3997, -ENC_LD1H_Z_P_AI_D=3998, -ENC_LD1H_Z_P_AI_S=3999, -ENC_LD1H_Z_P_BI_U16=4000, -ENC_LD1H_Z_P_BI_U32=4001, -ENC_LD1H_Z_P_BI_U64=4002, -ENC_LD1H_Z_P_BR_U16=4003, -ENC_LD1H_Z_P_BR_U32=4004, -ENC_LD1H_Z_P_BR_U64=4005, -ENC_LD1H_Z_P_BZ_D_64_SCALED=4006, -ENC_LD1H_Z_P_BZ_D_64_UNSCALED=4007, -ENC_LD1H_Z_P_BZ_D_X32_SCALED=4008, -ENC_LD1H_Z_P_BZ_D_X32_UNSCALED=4009, -ENC_LD1H_Z_P_BZ_S_X32_SCALED=4010, -ENC_LD1H_Z_P_BZ_S_X32_UNSCALED=4011, -ENC_LD1H_ZA_P_RRR_=4012, -ENC_LD1Q_Z_P_AR_D_64_UNSCALED=4013, -ENC_LD1Q_ZA_P_RRR_=4014, -ENC_LD1RB_Z_P_BI_U16=4015, -ENC_LD1RB_Z_P_BI_U32=4016, -ENC_LD1RB_Z_P_BI_U64=4017, -ENC_LD1RB_Z_P_BI_U8=4018, -ENC_LD1RD_Z_P_BI_U64=4019, -ENC_LD1RH_Z_P_BI_U16=4020, -ENC_LD1RH_Z_P_BI_U32=4021, -ENC_LD1RH_Z_P_BI_U64=4022, -ENC_LD1ROB_Z_P_BI_U8=4023, -ENC_LD1ROB_Z_P_BR_CONTIGUOUS=4024, -ENC_LD1ROD_Z_P_BI_U64=4025, -ENC_LD1ROD_Z_P_BR_CONTIGUOUS=4026, -ENC_LD1ROH_Z_P_BI_U16=4027, -ENC_LD1ROH_Z_P_BR_CONTIGUOUS=4028, -ENC_LD1ROW_Z_P_BI_U32=4029, -ENC_LD1ROW_Z_P_BR_CONTIGUOUS=4030, -ENC_LD1RQB_Z_P_BI_U8=4031, -ENC_LD1RQB_Z_P_BR_CONTIGUOUS=4032, -ENC_LD1RQD_Z_P_BI_U64=4033, -ENC_LD1RQD_Z_P_BR_CONTIGUOUS=4034, -ENC_LD1RQH_Z_P_BI_U16=4035, -ENC_LD1RQH_Z_P_BR_CONTIGUOUS=4036, -ENC_LD1RQW_Z_P_BI_U32=4037, -ENC_LD1RQW_Z_P_BR_CONTIGUOUS=4038, -ENC_LD1RSB_Z_P_BI_S16=4039, -ENC_LD1RSB_Z_P_BI_S32=4040, -ENC_LD1RSB_Z_P_BI_S64=4041, -ENC_LD1RSH_Z_P_BI_S32=4042, -ENC_LD1RSH_Z_P_BI_S64=4043, -ENC_LD1RSW_Z_P_BI_S64=4044, -ENC_LD1RW_Z_P_BI_U32=4045, -ENC_LD1RW_Z_P_BI_U64=4046, -ENC_LD1SB_Z_P_AI_D=4047, -ENC_LD1SB_Z_P_AI_S=4048, -ENC_LD1SB_Z_P_BI_S16=4049, -ENC_LD1SB_Z_P_BI_S32=4050, -ENC_LD1SB_Z_P_BI_S64=4051, -ENC_LD1SB_Z_P_BR_S16=4052, -ENC_LD1SB_Z_P_BR_S32=4053, -ENC_LD1SB_Z_P_BR_S64=4054, -ENC_LD1SB_Z_P_BZ_D_64_UNSCALED=4055, -ENC_LD1SB_Z_P_BZ_D_X32_UNSCALED=4056, -ENC_LD1SB_Z_P_BZ_S_X32_UNSCALED=4057, -ENC_LD1SH_Z_P_AI_D=4058, -ENC_LD1SH_Z_P_AI_S=4059, -ENC_LD1SH_Z_P_BI_S32=4060, -ENC_LD1SH_Z_P_BI_S64=4061, -ENC_LD1SH_Z_P_BR_S32=4062, -ENC_LD1SH_Z_P_BR_S64=4063, -ENC_LD1SH_Z_P_BZ_D_64_SCALED=4064, -ENC_LD1SH_Z_P_BZ_D_64_UNSCALED=4065, -ENC_LD1SH_Z_P_BZ_D_X32_SCALED=4066, -ENC_LD1SH_Z_P_BZ_D_X32_UNSCALED=4067, -ENC_LD1SH_Z_P_BZ_S_X32_SCALED=4068, -ENC_LD1SH_Z_P_BZ_S_X32_UNSCALED=4069, -ENC_LD1SW_Z_P_AI_D=4070, -ENC_LD1SW_Z_P_BI_S64=4071, -ENC_LD1SW_Z_P_BR_S64=4072, -ENC_LD1SW_Z_P_BZ_D_64_SCALED=4073, -ENC_LD1SW_Z_P_BZ_D_64_UNSCALED=4074, -ENC_LD1SW_Z_P_BZ_D_X32_SCALED=4075, -ENC_LD1SW_Z_P_BZ_D_X32_UNSCALED=4076, -ENC_LD1W_MZ_P_BI_2=4077, -ENC_LD1W_MZ_P_BI_4=4078, -ENC_LD1W_MZ_P_BR_2=4079, -ENC_LD1W_MZ_P_BR_4=4080, -ENC_LD1W_MZX_P_BI_2X8=4081, -ENC_LD1W_MZX_P_BI_4X4=4082, -ENC_LD1W_MZX_P_BR_2X8=4083, -ENC_LD1W_MZX_P_BR_4X4=4084, -ENC_LD1W_Z_P_AI_D=4085, -ENC_LD1W_Z_P_AI_S=4086, -ENC_LD1W_Z_P_BI_U128=4087, -ENC_LD1W_Z_P_BI_U32=4088, -ENC_LD1W_Z_P_BI_U64=4089, -ENC_LD1W_Z_P_BR_U128=4090, -ENC_LD1W_Z_P_BR_U32=4091, -ENC_LD1W_Z_P_BR_U64=4092, -ENC_LD1W_Z_P_BZ_D_64_SCALED=4093, -ENC_LD1W_Z_P_BZ_D_64_UNSCALED=4094, -ENC_LD1W_Z_P_BZ_D_X32_SCALED=4095, -ENC_LD1W_Z_P_BZ_D_X32_UNSCALED=4096, -ENC_LD1W_Z_P_BZ_S_X32_SCALED=4097, -ENC_LD1W_Z_P_BZ_S_X32_UNSCALED=4098, -ENC_LD1W_ZA_P_RRR_=4099, -ENC_LD2B_Z_P_BI_CONTIGUOUS=4100, -ENC_LD2B_Z_P_BR_CONTIGUOUS=4101, -ENC_LD2D_Z_P_BI_CONTIGUOUS=4102, -ENC_LD2D_Z_P_BR_CONTIGUOUS=4103, -ENC_LD2H_Z_P_BI_CONTIGUOUS=4104, -ENC_LD2H_Z_P_BR_CONTIGUOUS=4105, -ENC_LD2Q_Z_P_BI_CONTIGUOUS=4106, -ENC_LD2Q_Z_P_BR_CONTIGUOUS=4107, -ENC_LD2W_Z_P_BI_CONTIGUOUS=4108, -ENC_LD2W_Z_P_BR_CONTIGUOUS=4109, -ENC_LD3B_Z_P_BI_CONTIGUOUS=4110, -ENC_LD3B_Z_P_BR_CONTIGUOUS=4111, -ENC_LD3D_Z_P_BI_CONTIGUOUS=4112, -ENC_LD3D_Z_P_BR_CONTIGUOUS=4113, -ENC_LD3H_Z_P_BI_CONTIGUOUS=4114, -ENC_LD3H_Z_P_BR_CONTIGUOUS=4115, -ENC_LD3Q_Z_P_BI_CONTIGUOUS=4116, -ENC_LD3Q_Z_P_BR_CONTIGUOUS=4117, -ENC_LD3W_Z_P_BI_CONTIGUOUS=4118, -ENC_LD3W_Z_P_BR_CONTIGUOUS=4119, -ENC_LD4B_Z_P_BI_CONTIGUOUS=4120, -ENC_LD4B_Z_P_BR_CONTIGUOUS=4121, -ENC_LD4D_Z_P_BI_CONTIGUOUS=4122, -ENC_LD4D_Z_P_BR_CONTIGUOUS=4123, -ENC_LD4H_Z_P_BI_CONTIGUOUS=4124, -ENC_LD4H_Z_P_BR_CONTIGUOUS=4125, -ENC_LD4Q_Z_P_BI_CONTIGUOUS=4126, -ENC_LD4Q_Z_P_BR_CONTIGUOUS=4127, -ENC_LD4W_Z_P_BI_CONTIGUOUS=4128, -ENC_LD4W_Z_P_BR_CONTIGUOUS=4129, -ENC_LDFF1B_Z_P_AI_D=4130, -ENC_LDFF1B_Z_P_AI_S=4131, -ENC_LDFF1B_Z_P_BR_U16=4132, -ENC_LDFF1B_Z_P_BR_U32=4133, -ENC_LDFF1B_Z_P_BR_U64=4134, -ENC_LDFF1B_Z_P_BR_U8=4135, -ENC_LDFF1B_Z_P_BZ_D_64_UNSCALED=4136, -ENC_LDFF1B_Z_P_BZ_D_X32_UNSCALED=4137, -ENC_LDFF1B_Z_P_BZ_S_X32_UNSCALED=4138, -ENC_LDFF1D_Z_P_AI_D=4139, -ENC_LDFF1D_Z_P_BR_U64=4140, -ENC_LDFF1D_Z_P_BZ_D_64_SCALED=4141, -ENC_LDFF1D_Z_P_BZ_D_64_UNSCALED=4142, -ENC_LDFF1D_Z_P_BZ_D_X32_SCALED=4143, -ENC_LDFF1D_Z_P_BZ_D_X32_UNSCALED=4144, -ENC_LDFF1H_Z_P_AI_D=4145, -ENC_LDFF1H_Z_P_AI_S=4146, -ENC_LDFF1H_Z_P_BR_U16=4147, -ENC_LDFF1H_Z_P_BR_U32=4148, -ENC_LDFF1H_Z_P_BR_U64=4149, -ENC_LDFF1H_Z_P_BZ_D_64_SCALED=4150, -ENC_LDFF1H_Z_P_BZ_D_64_UNSCALED=4151, -ENC_LDFF1H_Z_P_BZ_D_X32_SCALED=4152, -ENC_LDFF1H_Z_P_BZ_D_X32_UNSCALED=4153, -ENC_LDFF1H_Z_P_BZ_S_X32_SCALED=4154, -ENC_LDFF1H_Z_P_BZ_S_X32_UNSCALED=4155, -ENC_LDFF1SB_Z_P_AI_D=4156, -ENC_LDFF1SB_Z_P_AI_S=4157, -ENC_LDFF1SB_Z_P_BR_S16=4158, -ENC_LDFF1SB_Z_P_BR_S32=4159, -ENC_LDFF1SB_Z_P_BR_S64=4160, -ENC_LDFF1SB_Z_P_BZ_D_64_UNSCALED=4161, -ENC_LDFF1SB_Z_P_BZ_D_X32_UNSCALED=4162, -ENC_LDFF1SB_Z_P_BZ_S_X32_UNSCALED=4163, -ENC_LDFF1SH_Z_P_AI_D=4164, -ENC_LDFF1SH_Z_P_AI_S=4165, -ENC_LDFF1SH_Z_P_BR_S32=4166, -ENC_LDFF1SH_Z_P_BR_S64=4167, -ENC_LDFF1SH_Z_P_BZ_D_64_SCALED=4168, -ENC_LDFF1SH_Z_P_BZ_D_64_UNSCALED=4169, -ENC_LDFF1SH_Z_P_BZ_D_X32_SCALED=4170, -ENC_LDFF1SH_Z_P_BZ_D_X32_UNSCALED=4171, -ENC_LDFF1SH_Z_P_BZ_S_X32_SCALED=4172, -ENC_LDFF1SH_Z_P_BZ_S_X32_UNSCALED=4173, -ENC_LDFF1SW_Z_P_AI_D=4174, -ENC_LDFF1SW_Z_P_BR_S64=4175, -ENC_LDFF1SW_Z_P_BZ_D_64_SCALED=4176, -ENC_LDFF1SW_Z_P_BZ_D_64_UNSCALED=4177, -ENC_LDFF1SW_Z_P_BZ_D_X32_SCALED=4178, -ENC_LDFF1SW_Z_P_BZ_D_X32_UNSCALED=4179, -ENC_LDFF1W_Z_P_AI_D=4180, -ENC_LDFF1W_Z_P_AI_S=4181, -ENC_LDFF1W_Z_P_BR_U32=4182, -ENC_LDFF1W_Z_P_BR_U64=4183, -ENC_LDFF1W_Z_P_BZ_D_64_SCALED=4184, -ENC_LDFF1W_Z_P_BZ_D_64_UNSCALED=4185, -ENC_LDFF1W_Z_P_BZ_D_X32_SCALED=4186, -ENC_LDFF1W_Z_P_BZ_D_X32_UNSCALED=4187, -ENC_LDFF1W_Z_P_BZ_S_X32_SCALED=4188, -ENC_LDFF1W_Z_P_BZ_S_X32_UNSCALED=4189, -ENC_LDNF1B_Z_P_BI_U16=4190, -ENC_LDNF1B_Z_P_BI_U32=4191, -ENC_LDNF1B_Z_P_BI_U64=4192, -ENC_LDNF1B_Z_P_BI_U8=4193, -ENC_LDNF1D_Z_P_BI_U64=4194, -ENC_LDNF1H_Z_P_BI_U16=4195, -ENC_LDNF1H_Z_P_BI_U32=4196, -ENC_LDNF1H_Z_P_BI_U64=4197, -ENC_LDNF1SB_Z_P_BI_S16=4198, -ENC_LDNF1SB_Z_P_BI_S32=4199, -ENC_LDNF1SB_Z_P_BI_S64=4200, -ENC_LDNF1SH_Z_P_BI_S32=4201, -ENC_LDNF1SH_Z_P_BI_S64=4202, -ENC_LDNF1SW_Z_P_BI_S64=4203, -ENC_LDNF1W_Z_P_BI_U32=4204, -ENC_LDNF1W_Z_P_BI_U64=4205, -ENC_LDNT1B_MZ_P_BI_2=4206, -ENC_LDNT1B_MZ_P_BI_4=4207, -ENC_LDNT1B_MZ_P_BR_2=4208, -ENC_LDNT1B_MZ_P_BR_4=4209, -ENC_LDNT1B_MZX_P_BI_2X8=4210, -ENC_LDNT1B_MZX_P_BI_4X4=4211, -ENC_LDNT1B_MZX_P_BR_2X8=4212, -ENC_LDNT1B_MZX_P_BR_4X4=4213, -ENC_LDNT1B_Z_P_AR_D_64_UNSCALED=4214, -ENC_LDNT1B_Z_P_AR_S_X32_UNSCALED=4215, -ENC_LDNT1B_Z_P_BI_CONTIGUOUS=4216, -ENC_LDNT1B_Z_P_BR_CONTIGUOUS=4217, -ENC_LDNT1D_MZ_P_BI_2=4218, -ENC_LDNT1D_MZ_P_BI_4=4219, -ENC_LDNT1D_MZ_P_BR_2=4220, -ENC_LDNT1D_MZ_P_BR_4=4221, -ENC_LDNT1D_MZX_P_BI_2X8=4222, -ENC_LDNT1D_MZX_P_BI_4X4=4223, -ENC_LDNT1D_MZX_P_BR_2X8=4224, -ENC_LDNT1D_MZX_P_BR_4X4=4225, -ENC_LDNT1D_Z_P_AR_D_64_UNSCALED=4226, -ENC_LDNT1D_Z_P_BI_CONTIGUOUS=4227, -ENC_LDNT1D_Z_P_BR_CONTIGUOUS=4228, -ENC_LDNT1H_MZ_P_BI_2=4229, -ENC_LDNT1H_MZ_P_BI_4=4230, -ENC_LDNT1H_MZ_P_BR_2=4231, -ENC_LDNT1H_MZ_P_BR_4=4232, -ENC_LDNT1H_MZX_P_BI_2X8=4233, -ENC_LDNT1H_MZX_P_BI_4X4=4234, -ENC_LDNT1H_MZX_P_BR_2X8=4235, -ENC_LDNT1H_MZX_P_BR_4X4=4236, -ENC_LDNT1H_Z_P_AR_D_64_UNSCALED=4237, -ENC_LDNT1H_Z_P_AR_S_X32_UNSCALED=4238, -ENC_LDNT1H_Z_P_BI_CONTIGUOUS=4239, -ENC_LDNT1H_Z_P_BR_CONTIGUOUS=4240, -ENC_LDNT1SB_Z_P_AR_D_64_UNSCALED=4241, -ENC_LDNT1SB_Z_P_AR_S_X32_UNSCALED=4242, -ENC_LDNT1SH_Z_P_AR_D_64_UNSCALED=4243, -ENC_LDNT1SH_Z_P_AR_S_X32_UNSCALED=4244, -ENC_LDNT1SW_Z_P_AR_D_64_UNSCALED=4245, -ENC_LDNT1W_MZ_P_BI_2=4246, -ENC_LDNT1W_MZ_P_BI_4=4247, -ENC_LDNT1W_MZ_P_BR_2=4248, -ENC_LDNT1W_MZ_P_BR_4=4249, -ENC_LDNT1W_MZX_P_BI_2X8=4250, -ENC_LDNT1W_MZX_P_BI_4X4=4251, -ENC_LDNT1W_MZX_P_BR_2X8=4252, -ENC_LDNT1W_MZX_P_BR_4X4=4253, -ENC_LDNT1W_Z_P_AR_D_64_UNSCALED=4254, -ENC_LDNT1W_Z_P_AR_S_X32_UNSCALED=4255, -ENC_LDNT1W_Z_P_BI_CONTIGUOUS=4256, -ENC_LDNT1W_Z_P_BR_CONTIGUOUS=4257, -ENC_LDR_P_BI_=4258, -ENC_LDR_Z_BI_=4259, -ENC_LDR_ZA_RI_=4260, -ENC_LDR_ZT_BR_=4261, -ENC_LSL_Z_P_ZI_=4262, -ENC_LSL_Z_P_ZW_=4263, -ENC_LSL_Z_P_ZZ_=4264, -ENC_LSL_Z_ZI_=4265, -ENC_LSL_Z_ZW_=4266, -ENC_LSLR_Z_P_ZZ_=4267, -ENC_LSR_Z_P_ZI_=4268, -ENC_LSR_Z_P_ZW_=4269, -ENC_LSR_Z_P_ZZ_=4270, -ENC_LSR_Z_ZI_=4271, -ENC_LSR_Z_ZW_=4272, -ENC_LSRR_Z_P_ZZ_=4273, -ENC_LUTI2_MZ2_ZTZ_1=4274, -ENC_LUTI2_MZ2_ZTZ_8=4275, -ENC_LUTI2_MZ4_ZTZ_1=4276, -ENC_LUTI2_MZ4_ZTZ_4=4277, -ENC_LUTI2_Z_ZTZ_=4278, -ENC_LUTI2_Z_ZZ_16=4279, -ENC_LUTI2_Z_ZZ_8=4280, -ENC_LUTI4_MZ2_ZTZ_1=4281, -ENC_LUTI4_MZ2_ZTZ_8=4282, -ENC_LUTI4_MZ4_ZTMZ2_1=4283, -ENC_LUTI4_MZ4_ZTMZ2_4=4284, -ENC_LUTI4_MZ4_ZTZ_1=4285, -ENC_LUTI4_MZ4_ZTZ_4=4286, -ENC_LUTI4_Z_ZTZ_=4287, -ENC_LUTI4_Z_ZZ_1X16=4288, -ENC_LUTI4_Z_ZZ_2X16=4289, -ENC_LUTI4_Z_ZZ_8=4290, -ENC_MAD_Z_P_ZZZ_=4291, -ENC_MADPT_Z_ZZZ_=4292, -ENC_MATCH_P_P_ZZ_=4293, -ENC_MLA_Z_P_ZZZ_=4294, -ENC_MLA_Z_ZZZI_D=4295, -ENC_MLA_Z_ZZZI_H=4296, -ENC_MLA_Z_ZZZI_S=4297, -ENC_MLAPT_Z_ZZZ_=4298, -ENC_MLS_Z_P_ZZZ_=4299, -ENC_MLS_Z_ZZZI_D=4300, -ENC_MLS_Z_ZZZI_H=4301, -ENC_MLS_Z_ZZZI_S=4302, -ENC_MOV_MZ2_ZA_B1_MOVA_MZ2_ZA_B1=4303, // alias -ENC_MOV_MZ2_ZA_D1_MOVA_MZ2_ZA_D1=4304, // alias -ENC_MOV_MZ2_ZA_H1_MOVA_MZ2_ZA_H1=4305, // alias -ENC_MOV_MZ2_ZA_W1_MOVA_MZ2_ZA_W1=4306, // alias -ENC_MOV_MZ4_ZA_B1_MOVA_MZ4_ZA_B1=4307, // alias -ENC_MOV_MZ4_ZA_D1_MOVA_MZ4_ZA_D1=4308, // alias -ENC_MOV_MZ4_ZA_H1_MOVA_MZ4_ZA_H1=4309, // alias -ENC_MOV_MZ4_ZA_W1_MOVA_MZ4_ZA_W1=4310, // alias -ENC_MOV_MZ_ZA2_1_MOVA_MZ_ZA2_1=4311, // alias -ENC_MOV_MZ_ZA4_1_MOVA_MZ_ZA4_1=4312, // alias -ENC_MOV_P_P__ORR_P_P_PP_Z=4313, // alias -ENC_MOV_Z_I__DUP_Z_I_=4314, // alias -ENC_MOV_Z_M__DUPM_Z_I_=4315, // alias -ENC_MOV_Z_O_I__CPY_Z_O_I_=4316, // alias -ENC_MOV_Z_P_I__CPY_Z_P_I_=4317, // alias -ENC_MOV_Z_P_R__CPY_Z_P_R_=4318, // alias -ENC_MOV_Z_P_RZA_B_MOVA_Z_P_RZA_B=4319, // alias -ENC_MOV_Z_P_RZA_D_MOVA_Z_P_RZA_D=4320, // alias -ENC_MOV_Z_P_RZA_H_MOVA_Z_P_RZA_H=4321, // alias -ENC_MOV_Z_P_RZA_Q_MOVA_Z_P_RZA_Q=4322, // alias -ENC_MOV_Z_P_RZA_W_MOVA_Z_P_RZA_W=4323, // alias -ENC_MOV_Z_P_V__CPY_Z_P_V_=4324, // alias -ENC_MOV_Z_P_Z__SEL_Z_P_ZZ_=4325, // alias -ENC_MOV_Z_R__DUP_Z_R_=4326, // alias -ENC_MOV_Z_V__DUP_Z_ZI_=4327, // alias -ENC_MOV_Z_Z__ORR_Z_ZZ_=4328, // alias -ENC_MOV_Z_ZI__DUP_Z_ZI_=4329, // alias -ENC_MOV_ZA2_Z_B1_MOVA_ZA2_Z_B1=4330, // alias -ENC_MOV_ZA2_Z_D1_MOVA_ZA2_Z_D1=4331, // alias -ENC_MOV_ZA2_Z_H1_MOVA_ZA2_Z_H1=4332, // alias -ENC_MOV_ZA2_Z_W1_MOVA_ZA2_Z_W1=4333, // alias -ENC_MOV_ZA4_Z_B1_MOVA_ZA4_Z_B1=4334, // alias -ENC_MOV_ZA4_Z_D1_MOVA_ZA4_Z_D1=4335, // alias -ENC_MOV_ZA4_Z_H1_MOVA_ZA4_Z_H1=4336, // alias -ENC_MOV_ZA4_Z_W1_MOVA_ZA4_Z_W1=4337, // alias -ENC_MOV_ZA_MZ2_1_MOVA_ZA_MZ2_1=4338, // alias -ENC_MOV_ZA_MZ4_1_MOVA_ZA_MZ4_1=4339, // alias -ENC_MOV_ZA_P_RZ_B_MOVA_ZA_P_RZ_B=4340, // alias -ENC_MOV_ZA_P_RZ_D_MOVA_ZA_P_RZ_D=4341, // alias -ENC_MOV_ZA_P_RZ_H_MOVA_ZA_P_RZ_H=4342, // alias -ENC_MOV_ZA_P_RZ_Q_MOVA_ZA_P_RZ_Q=4343, // alias -ENC_MOV_ZA_P_RZ_W_MOVA_ZA_P_RZ_W=4344, // alias -ENC_MOVA_MZ2_ZA_B1=4345, -ENC_MOVA_MZ2_ZA_D1=4346, -ENC_MOVA_MZ2_ZA_H1=4347, -ENC_MOVA_MZ2_ZA_W1=4348, -ENC_MOVA_MZ4_ZA_B1=4349, -ENC_MOVA_MZ4_ZA_D1=4350, -ENC_MOVA_MZ4_ZA_H1=4351, -ENC_MOVA_MZ4_ZA_W1=4352, -ENC_MOVA_MZ_ZA2_1=4353, -ENC_MOVA_MZ_ZA4_1=4354, -ENC_MOVA_Z_P_RZA_B=4355, -ENC_MOVA_Z_P_RZA_D=4356, -ENC_MOVA_Z_P_RZA_H=4357, -ENC_MOVA_Z_P_RZA_Q=4358, -ENC_MOVA_Z_P_RZA_W=4359, -ENC_MOVA_ZA2_Z_B1=4360, -ENC_MOVA_ZA2_Z_D1=4361, -ENC_MOVA_ZA2_Z_H1=4362, -ENC_MOVA_ZA2_Z_W1=4363, -ENC_MOVA_ZA4_Z_B1=4364, -ENC_MOVA_ZA4_Z_D1=4365, -ENC_MOVA_ZA4_Z_H1=4366, -ENC_MOVA_ZA4_Z_W1=4367, -ENC_MOVA_ZA_MZ2_1=4368, -ENC_MOVA_ZA_MZ4_1=4369, -ENC_MOVA_ZA_P_RZ_B=4370, -ENC_MOVA_ZA_P_RZ_D=4371, -ENC_MOVA_ZA_P_RZ_H=4372, -ENC_MOVA_ZA_P_RZ_Q=4373, -ENC_MOVA_ZA_P_RZ_W=4374, -ENC_MOVAZ_MZ2_ZA_B1=4375, -ENC_MOVAZ_MZ2_ZA_D1=4376, -ENC_MOVAZ_MZ2_ZA_H1=4377, -ENC_MOVAZ_MZ2_ZA_W1=4378, -ENC_MOVAZ_MZ4_ZA_B1=4379, -ENC_MOVAZ_MZ4_ZA_D1=4380, -ENC_MOVAZ_MZ4_ZA_H1=4381, -ENC_MOVAZ_MZ4_ZA_W1=4382, -ENC_MOVAZ_MZ_ZA2_1=4383, -ENC_MOVAZ_MZ_ZA4_1=4384, -ENC_MOVAZ_Z_RZA_B=4385, -ENC_MOVAZ_Z_RZA_D=4386, -ENC_MOVAZ_Z_RZA_H=4387, -ENC_MOVAZ_Z_RZA_Q=4388, -ENC_MOVAZ_Z_RZA_W=4389, -ENC_MOVM_P_P_P__SEL_P_P_PP_=4390, // alias -ENC_MOVPRFX_Z_P_Z_=4391, -ENC_MOVPRFX_Z_Z_=4392, -ENC_MOVS_P_P__ORRS_P_P_PP_Z=4393, // alias -ENC_MOVT_R_ZT_=4394, -ENC_MOVT_ZT_R_=4395, -ENC_MOVT_ZT_Z_=4396, -ENC_MOVZ_P_P_P__AND_P_P_PP_Z=4397, // alias -ENC_MOVZS_P_P_P__ANDS_P_P_PP_Z=4398, // alias -ENC_MSB_Z_P_ZZZ_=4399, -ENC_MUL_Z_P_ZZ_=4400, -ENC_MUL_Z_ZI_=4401, -ENC_MUL_Z_ZZ_=4402, -ENC_MUL_Z_ZZI_D=4403, -ENC_MUL_Z_ZZI_H=4404, -ENC_MUL_Z_ZZI_S=4405, -ENC_NAND_P_P_PP_Z=4406, -ENC_NANDS_P_P_PP_Z=4407, -ENC_NBSL_Z_ZZZ_=4408, -ENC_NEG_Z_P_Z_M=4409, -ENC_NEG_Z_P_Z_Z=4410, -ENC_NMATCH_P_P_ZZ_=4411, -ENC_NOR_P_P_PP_Z=4412, -ENC_NORS_P_P_PP_Z=4413, -ENC_NOT_P_P_P_Z_EOR_P_P_PP_Z=4414, // alias -ENC_NOT_Z_P_Z_M=4415, -ENC_NOT_Z_P_Z_Z=4416, -ENC_NOTS_P_P_P_Z_EORS_P_P_PP_Z=4417, // alias -ENC_ORN_P_P_PP_Z=4418, -ENC_ORN_Z_ZI__ORR_Z_ZI_=4419, // alias -ENC_ORNS_P_P_PP_Z=4420, -ENC_ORQV_Z_P_Z_=4421, -ENC_ORR_P_P_PP_Z=4422, -ENC_ORR_Z_P_ZZ_=4423, -ENC_ORR_Z_ZI_=4424, -ENC_ORR_Z_ZZ_=4425, -ENC_ORRS_P_P_PP_Z=4426, -ENC_ORV_R_P_Z_=4427, -ENC_PEXT_PN_RR_=4428, -ENC_PEXT_PP_RR_=4429, -ENC_PFALSE_P_=4430, -ENC_PFIRST_P_P_P_=4431, -ENC_PMLAL_MZ_ZZZW_1X2=4432, -ENC_PMOV_P_ZI_B=4433, -ENC_PMOV_P_ZI_D=4434, -ENC_PMOV_P_ZI_H=4435, -ENC_PMOV_P_ZI_S=4436, -ENC_PMOV_Z_PI_B=4437, -ENC_PMOV_Z_PI_D=4438, -ENC_PMOV_Z_PI_H=4439, -ENC_PMOV_Z_PI_S=4440, -ENC_PMUL_Z_ZZ_=4441, -ENC_PMULL_MZ_ZZW_1X2=4442, -ENC_PMULLB_Z_ZZ_=4443, -ENC_PMULLB_Z_ZZ_Q=4444, -ENC_PMULLT_Z_ZZ_=4445, -ENC_PMULLT_Z_ZZ_Q=4446, -ENC_PNEXT_P_P_P_=4447, -ENC_PRFB_I_P_AI_D=4448, -ENC_PRFB_I_P_AI_S=4449, -ENC_PRFB_I_P_BI_S=4450, -ENC_PRFB_I_P_BR_S=4451, -ENC_PRFB_I_P_BZ_D_64_SCALED=4452, -ENC_PRFB_I_P_BZ_D_X32_SCALED=4453, -ENC_PRFB_I_P_BZ_S_X32_SCALED=4454, -ENC_PRFD_I_P_AI_D=4455, -ENC_PRFD_I_P_AI_S=4456, -ENC_PRFD_I_P_BI_S=4457, -ENC_PRFD_I_P_BR_S=4458, -ENC_PRFD_I_P_BZ_D_64_SCALED=4459, -ENC_PRFD_I_P_BZ_D_X32_SCALED=4460, -ENC_PRFD_I_P_BZ_S_X32_SCALED=4461, -ENC_PRFH_I_P_AI_D=4462, -ENC_PRFH_I_P_AI_S=4463, -ENC_PRFH_I_P_BI_S=4464, -ENC_PRFH_I_P_BR_S=4465, -ENC_PRFH_I_P_BZ_D_64_SCALED=4466, -ENC_PRFH_I_P_BZ_D_X32_SCALED=4467, -ENC_PRFH_I_P_BZ_S_X32_SCALED=4468, -ENC_PRFW_I_P_AI_D=4469, -ENC_PRFW_I_P_AI_S=4470, -ENC_PRFW_I_P_BI_S=4471, -ENC_PRFW_I_P_BR_S=4472, -ENC_PRFW_I_P_BZ_D_64_SCALED=4473, -ENC_PRFW_I_P_BZ_D_X32_SCALED=4474, -ENC_PRFW_I_P_BZ_S_X32_SCALED=4475, -ENC_PSEL_P_PPI_=4476, -ENC_PTEST__P_P_=4477, -ENC_PTRUE_P_S_=4478, -ENC_PTRUE_PN_I_=4479, -ENC_PTRUES_P_S_=4480, -ENC_PUNPKHI_P_P_=4481, -ENC_PUNPKLO_P_P_=4482, -ENC_RADDHNB_Z_ZZ_=4483, -ENC_RADDHNT_Z_ZZ_=4484, -ENC_RAX1_Z_ZZ_=4485, -ENC_RBIT_Z_P_Z_M=4486, -ENC_RBIT_Z_P_Z_Z=4487, -ENC_RDFFR_P_F_=4488, -ENC_RDFFR_P_P_F_=4489, -ENC_RDFFRS_P_P_F_=4490, -ENC_RDSVL_R_I_=4491, -ENC_RDVL_R_I_=4492, -ENC_REV_P_P_=4493, -ENC_REV_Z_Z_=4494, -ENC_REVB_Z_Z_M=4495, -ENC_REVB_Z_Z_Z=4496, -ENC_REVD_Z_P_Z_M=4497, -ENC_REVD_Z_P_Z_Z=4498, -ENC_REVH_Z_Z_M=4499, -ENC_REVH_Z_Z_Z=4500, -ENC_REVW_Z_Z_M=4501, -ENC_REVW_Z_Z_Z=4502, -ENC_RSHRNB_Z_ZI_=4503, -ENC_RSHRNT_Z_ZI_=4504, -ENC_RSUBHNB_Z_ZZ_=4505, -ENC_RSUBHNT_Z_ZZ_=4506, -ENC_SABA_Z_ZZZ_=4507, -ENC_SABALB_Z_ZZZ_=4508, -ENC_SABALT_Z_ZZZ_=4509, -ENC_SABD_Z_P_ZZ_=4510, -ENC_SABDLB_Z_ZZ_=4511, -ENC_SABDLT_Z_ZZ_=4512, -ENC_SADALP_Z_P_Z_=4513, -ENC_SADDLB_Z_ZZ_=4514, -ENC_SADDLBT_Z_ZZ_=4515, -ENC_SADDLT_Z_ZZ_=4516, -ENC_SADDV_R_P_Z_=4517, -ENC_SADDWB_Z_ZZ_=4518, -ENC_SADDWT_Z_ZZ_=4519, -ENC_SBCLB_Z_ZZZ_=4520, -ENC_SBCLT_Z_ZZZ_=4521, -ENC_SCLAMP_MZ_ZZ_2=4522, -ENC_SCLAMP_MZ_ZZ_4=4523, -ENC_SCLAMP_Z_ZZ_=4524, -ENC_SCVTF_MZ_Z_2=4525, -ENC_SCVTF_MZ_Z_4=4526, -ENC_SCVTF_Z_P_Z_H2FP16=4527, -ENC_SCVTF_Z_P_Z_H2FP16Z=4528, -ENC_SCVTF_Z_P_Z_W2D=4529, -ENC_SCVTF_Z_P_Z_W2DZ=4530, -ENC_SCVTF_Z_P_Z_W2FP16=4531, -ENC_SCVTF_Z_P_Z_W2FP16Z=4532, -ENC_SCVTF_Z_P_Z_W2S=4533, -ENC_SCVTF_Z_P_Z_W2SZ=4534, -ENC_SCVTF_Z_P_Z_X2D=4535, -ENC_SCVTF_Z_P_Z_X2DZ=4536, -ENC_SCVTF_Z_P_Z_X2FP16=4537, -ENC_SCVTF_Z_P_Z_X2FP16Z=4538, -ENC_SCVTF_Z_P_Z_X2S=4539, -ENC_SCVTF_Z_P_Z_X2SZ=4540, -ENC_SDIV_Z_P_ZZ_=4541, -ENC_SDIVR_Z_P_ZZ_=4542, -ENC_SDOT_Z32_ZZZ_=4543, -ENC_SDOT_Z32_ZZZI_=4544, -ENC_SDOT_Z_ZZZ_=4545, -ENC_SDOT_Z_ZZZI_D=4546, -ENC_SDOT_Z_ZZZI_S=4547, -ENC_SDOT_ZA32_ZZI_2XI=4548, -ENC_SDOT_ZA32_ZZI_4XI=4549, -ENC_SDOT_ZA32_ZZV_2X1=4550, -ENC_SDOT_ZA32_ZZV_4X1=4551, -ENC_SDOT_ZA32_ZZW_2X2=4552, -ENC_SDOT_ZA32_ZZW_4X4=4553, -ENC_SDOT_ZA_ZZI_D2XI=4554, -ENC_SDOT_ZA_ZZI_D4XI=4555, -ENC_SDOT_ZA_ZZI_S2XI=4556, -ENC_SDOT_ZA_ZZI_S4XI=4557, -ENC_SDOT_ZA_ZZV_2X1=4558, -ENC_SDOT_ZA_ZZV_4X1=4559, -ENC_SDOT_ZA_ZZW_2X2=4560, -ENC_SDOT_ZA_ZZW_4X4=4561, -ENC_SEL_MZ_P_ZZ_2=4562, -ENC_SEL_MZ_P_ZZ_4=4563, -ENC_SEL_P_P_PP_=4564, -ENC_SEL_Z_P_ZZ_=4565, -ENC_SETFFR_F_=4566, -ENC_SHADD_Z_P_ZZ_=4567, -ENC_SHRNB_Z_ZI_=4568, -ENC_SHRNT_Z_ZI_=4569, -ENC_SHSUB_Z_P_ZZ_=4570, -ENC_SHSUBR_Z_P_ZZ_=4571, -ENC_SLI_Z_ZZI_=4572, -ENC_SM4E_Z_ZZ_=4573, -ENC_SM4EKEY_Z_ZZ_=4574, -ENC_SMAX_MZ_ZZV_2X1=4575, -ENC_SMAX_MZ_ZZV_4X1=4576, -ENC_SMAX_MZ_ZZW_2X2=4577, -ENC_SMAX_MZ_ZZW_4X4=4578, -ENC_SMAX_Z_P_ZZ_=4579, -ENC_SMAX_Z_ZI_=4580, -ENC_SMAXP_Z_P_ZZ_=4581, -ENC_SMAXQV_Z_P_Z_=4582, -ENC_SMAXV_R_P_Z_=4583, -ENC_SMIN_MZ_ZZV_2X1=4584, -ENC_SMIN_MZ_ZZV_4X1=4585, -ENC_SMIN_MZ_ZZW_2X2=4586, -ENC_SMIN_MZ_ZZW_4X4=4587, -ENC_SMIN_Z_P_ZZ_=4588, -ENC_SMIN_Z_ZI_=4589, -ENC_SMINP_Z_P_ZZ_=4590, -ENC_SMINQV_Z_P_Z_=4591, -ENC_SMINV_R_P_Z_=4592, -ENC_SMLAL_ZA_ZZI_1=4593, -ENC_SMLAL_ZA_ZZI_2XI=4594, -ENC_SMLAL_ZA_ZZI_4XI=4595, -ENC_SMLAL_ZA_ZZV_1=4596, -ENC_SMLAL_ZA_ZZV_2X1=4597, -ENC_SMLAL_ZA_ZZV_4X1=4598, -ENC_SMLAL_ZA_ZZW_2X2=4599, -ENC_SMLAL_ZA_ZZW_4X4=4600, -ENC_SMLALB_Z_ZZZ_=4601, -ENC_SMLALB_Z_ZZZI_D=4602, -ENC_SMLALB_Z_ZZZI_S=4603, -ENC_SMLALL_ZA_ZZI_D=4604, -ENC_SMLALL_ZA_ZZI_D2XI=4605, -ENC_SMLALL_ZA_ZZI_D4XI=4606, -ENC_SMLALL_ZA_ZZI_S=4607, -ENC_SMLALL_ZA_ZZI_S2XI=4608, -ENC_SMLALL_ZA_ZZI_S4XI=4609, -ENC_SMLALL_ZA_ZZV_1=4610, -ENC_SMLALL_ZA_ZZV_2X1=4611, -ENC_SMLALL_ZA_ZZV_4X1=4612, -ENC_SMLALL_ZA_ZZW_2X2=4613, -ENC_SMLALL_ZA_ZZW_4X4=4614, -ENC_SMLALT_Z_ZZZ_=4615, -ENC_SMLALT_Z_ZZZI_D=4616, -ENC_SMLALT_Z_ZZZI_S=4617, -ENC_SMLSL_ZA_ZZI_1=4618, -ENC_SMLSL_ZA_ZZI_2XI=4619, -ENC_SMLSL_ZA_ZZI_4XI=4620, -ENC_SMLSL_ZA_ZZV_1=4621, -ENC_SMLSL_ZA_ZZV_2X1=4622, -ENC_SMLSL_ZA_ZZV_4X1=4623, -ENC_SMLSL_ZA_ZZW_2X2=4624, -ENC_SMLSL_ZA_ZZW_4X4=4625, -ENC_SMLSLB_Z_ZZZ_=4626, -ENC_SMLSLB_Z_ZZZI_D=4627, -ENC_SMLSLB_Z_ZZZI_S=4628, -ENC_SMLSLL_ZA_ZZI_D=4629, -ENC_SMLSLL_ZA_ZZI_D2XI=4630, -ENC_SMLSLL_ZA_ZZI_D4XI=4631, -ENC_SMLSLL_ZA_ZZI_S=4632, -ENC_SMLSLL_ZA_ZZI_S2XI=4633, -ENC_SMLSLL_ZA_ZZI_S4XI=4634, -ENC_SMLSLL_ZA_ZZV_1=4635, -ENC_SMLSLL_ZA_ZZV_2X1=4636, -ENC_SMLSLL_ZA_ZZV_4X1=4637, -ENC_SMLSLL_ZA_ZZW_2X2=4638, -ENC_SMLSLL_ZA_ZZW_4X4=4639, -ENC_SMLSLT_Z_ZZZ_=4640, -ENC_SMLSLT_Z_ZZZI_D=4641, -ENC_SMLSLT_Z_ZZZI_S=4642, -ENC_SMMLA_Z_ZZZ_=4643, -ENC_SMOP4A_ZA32_ZZ_H1X1=4644, -ENC_SMOP4A_ZA32_ZZ_H1X2=4645, -ENC_SMOP4A_ZA32_ZZ_H2X1=4646, -ENC_SMOP4A_ZA32_ZZ_H2X2=4647, -ENC_SMOP4A_ZA_ZZ_B1X1=4648, -ENC_SMOP4A_ZA_ZZ_B1X2=4649, -ENC_SMOP4A_ZA_ZZ_B2X1=4650, -ENC_SMOP4A_ZA_ZZ_B2X2=4651, -ENC_SMOP4A_ZA_ZZ_H1X1=4652, -ENC_SMOP4A_ZA_ZZ_H1X2=4653, -ENC_SMOP4A_ZA_ZZ_H2X1=4654, -ENC_SMOP4A_ZA_ZZ_H2X2=4655, -ENC_SMOP4S_ZA32_ZZ_H1X1=4656, -ENC_SMOP4S_ZA32_ZZ_H1X2=4657, -ENC_SMOP4S_ZA32_ZZ_H2X1=4658, -ENC_SMOP4S_ZA32_ZZ_H2X2=4659, -ENC_SMOP4S_ZA_ZZ_B1X1=4660, -ENC_SMOP4S_ZA_ZZ_B1X2=4661, -ENC_SMOP4S_ZA_ZZ_B2X1=4662, -ENC_SMOP4S_ZA_ZZ_B2X2=4663, -ENC_SMOP4S_ZA_ZZ_H1X1=4664, -ENC_SMOP4S_ZA_ZZ_H1X2=4665, -ENC_SMOP4S_ZA_ZZ_H2X1=4666, -ENC_SMOP4S_ZA_ZZ_H2X2=4667, -ENC_SMOPA_ZA32_PP_ZZ_16=4668, -ENC_SMOPA_ZA_PP_ZZ_32=4669, -ENC_SMOPA_ZA_PP_ZZ_64=4670, -ENC_SMOPS_ZA32_PP_ZZ_16=4671, -ENC_SMOPS_ZA_PP_ZZ_32=4672, -ENC_SMOPS_ZA_PP_ZZ_64=4673, -ENC_SMULH_Z_P_ZZ_=4674, -ENC_SMULH_Z_ZZ_=4675, -ENC_SMULLB_Z_ZZ_=4676, -ENC_SMULLB_Z_ZZI_D=4677, -ENC_SMULLB_Z_ZZI_S=4678, -ENC_SMULLT_Z_ZZ_=4679, -ENC_SMULLT_Z_ZZI_D=4680, -ENC_SMULLT_Z_ZZI_S=4681, -ENC_SPLICE_Z_P_ZZ_CON=4682, -ENC_SPLICE_Z_P_ZZ_DES=4683, -ENC_SQABS_Z_P_Z_M=4684, -ENC_SQABS_Z_P_Z_Z=4685, -ENC_SQADD_Z_P_ZZ_=4686, -ENC_SQADD_Z_ZI_=4687, -ENC_SQADD_Z_ZZ_=4688, -ENC_SQCADD_Z_ZZ_=4689, -ENC_SQCVT_Z_MZ2_=4690, -ENC_SQCVT_Z_MZ4_=4691, -ENC_SQCVTN_Z_MZ2_=4692, -ENC_SQCVTN_Z_MZ4_=4693, -ENC_SQCVTU_Z_MZ2_=4694, -ENC_SQCVTU_Z_MZ4_=4695, -ENC_SQCVTUN_Z_MZ2_=4696, -ENC_SQCVTUN_Z_MZ4_=4697, -ENC_SQDECB_R_RS_SX=4698, -ENC_SQDECB_R_RS_X=4699, -ENC_SQDECD_R_RS_SX=4700, -ENC_SQDECD_R_RS_X=4701, -ENC_SQDECD_Z_ZS_=4702, -ENC_SQDECH_R_RS_SX=4703, -ENC_SQDECH_R_RS_X=4704, -ENC_SQDECH_Z_ZS_=4705, -ENC_SQDECP_R_P_R_SX=4706, -ENC_SQDECP_R_P_R_X=4707, -ENC_SQDECP_Z_P_Z_=4708, -ENC_SQDECW_R_RS_SX=4709, -ENC_SQDECW_R_RS_X=4710, -ENC_SQDECW_Z_ZS_=4711, -ENC_SQDMLALB_Z_ZZZ_=4712, -ENC_SQDMLALB_Z_ZZZI_D=4713, -ENC_SQDMLALB_Z_ZZZI_S=4714, -ENC_SQDMLALBT_Z_ZZZ_=4715, -ENC_SQDMLALT_Z_ZZZ_=4716, -ENC_SQDMLALT_Z_ZZZI_D=4717, -ENC_SQDMLALT_Z_ZZZI_S=4718, -ENC_SQDMLSLB_Z_ZZZ_=4719, -ENC_SQDMLSLB_Z_ZZZI_D=4720, -ENC_SQDMLSLB_Z_ZZZI_S=4721, -ENC_SQDMLSLBT_Z_ZZZ_=4722, -ENC_SQDMLSLT_Z_ZZZ_=4723, -ENC_SQDMLSLT_Z_ZZZI_D=4724, -ENC_SQDMLSLT_Z_ZZZI_S=4725, -ENC_SQDMULH_MZ_ZZV_2X1=4726, -ENC_SQDMULH_MZ_ZZV_4X1=4727, -ENC_SQDMULH_MZ_ZZW_2X2=4728, -ENC_SQDMULH_MZ_ZZW_4X4=4729, -ENC_SQDMULH_Z_ZZ_=4730, -ENC_SQDMULH_Z_ZZI_D=4731, -ENC_SQDMULH_Z_ZZI_H=4732, -ENC_SQDMULH_Z_ZZI_S=4733, -ENC_SQDMULLB_Z_ZZ_=4734, -ENC_SQDMULLB_Z_ZZI_D=4735, -ENC_SQDMULLB_Z_ZZI_S=4736, -ENC_SQDMULLT_Z_ZZ_=4737, -ENC_SQDMULLT_Z_ZZI_D=4738, -ENC_SQDMULLT_Z_ZZI_S=4739, -ENC_SQINCB_R_RS_SX=4740, -ENC_SQINCB_R_RS_X=4741, -ENC_SQINCD_R_RS_SX=4742, -ENC_SQINCD_R_RS_X=4743, -ENC_SQINCD_Z_ZS_=4744, -ENC_SQINCH_R_RS_SX=4745, -ENC_SQINCH_R_RS_X=4746, -ENC_SQINCH_Z_ZS_=4747, -ENC_SQINCP_R_P_R_SX=4748, -ENC_SQINCP_R_P_R_X=4749, -ENC_SQINCP_Z_P_Z_=4750, -ENC_SQINCW_R_RS_SX=4751, -ENC_SQINCW_R_RS_X=4752, -ENC_SQINCW_Z_ZS_=4753, -ENC_SQNEG_Z_P_Z_M=4754, -ENC_SQNEG_Z_P_Z_Z=4755, -ENC_SQRDCMLAH_Z_ZZZ_=4756, -ENC_SQRDCMLAH_Z_ZZZI_H=4757, -ENC_SQRDCMLAH_Z_ZZZI_S=4758, -ENC_SQRDMLAH_Z_ZZZ_=4759, -ENC_SQRDMLAH_Z_ZZZI_D=4760, -ENC_SQRDMLAH_Z_ZZZI_H=4761, -ENC_SQRDMLAH_Z_ZZZI_S=4762, -ENC_SQRDMLSH_Z_ZZZ_=4763, -ENC_SQRDMLSH_Z_ZZZI_D=4764, -ENC_SQRDMLSH_Z_ZZZI_H=4765, -ENC_SQRDMLSH_Z_ZZZI_S=4766, -ENC_SQRDMULH_Z_ZZ_=4767, -ENC_SQRDMULH_Z_ZZI_D=4768, -ENC_SQRDMULH_Z_ZZI_H=4769, -ENC_SQRDMULH_Z_ZZI_S=4770, -ENC_SQRSHL_Z_P_ZZ_=4771, -ENC_SQRSHLR_Z_P_ZZ_=4772, -ENC_SQRSHR_Z_MZ2_=4773, -ENC_SQRSHR_Z_MZ4_=4774, -ENC_SQRSHRN_Z_MZ2_=4775, -ENC_SQRSHRN_Z_MZ4_=4776, -ENC_SQRSHRNB_Z_ZI_=4777, -ENC_SQRSHRNT_Z_ZI_=4778, -ENC_SQRSHRU_Z_MZ2_=4779, -ENC_SQRSHRU_Z_MZ4_=4780, -ENC_SQRSHRUN_Z_MZ2_=4781, -ENC_SQRSHRUN_Z_MZ4_=4782, -ENC_SQRSHRUNB_Z_ZI_=4783, -ENC_SQRSHRUNT_Z_ZI_=4784, -ENC_SQSHL_Z_P_ZI_=4785, -ENC_SQSHL_Z_P_ZZ_=4786, -ENC_SQSHLR_Z_P_ZZ_=4787, -ENC_SQSHLU_Z_P_ZI_=4788, -ENC_SQSHRNB_Z_ZI_=4789, -ENC_SQSHRNT_Z_ZI_=4790, -ENC_SQSHRUNB_Z_ZI_=4791, -ENC_SQSHRUNT_Z_ZI_=4792, -ENC_SQSUB_Z_P_ZZ_=4793, -ENC_SQSUB_Z_ZI_=4794, -ENC_SQSUB_Z_ZZ_=4795, -ENC_SQSUBR_Z_P_ZZ_=4796, -ENC_SQXTNB_Z_ZZ_=4797, -ENC_SQXTNT_Z_ZZ_=4798, -ENC_SQXTUNB_Z_ZZ_=4799, -ENC_SQXTUNT_Z_ZZ_=4800, -ENC_SRHADD_Z_P_ZZ_=4801, -ENC_SRI_Z_ZZI_=4802, -ENC_SRSHL_MZ_ZZV_2X1=4803, -ENC_SRSHL_MZ_ZZV_4X1=4804, -ENC_SRSHL_MZ_ZZW_2X2=4805, -ENC_SRSHL_MZ_ZZW_4X4=4806, -ENC_SRSHL_Z_P_ZZ_=4807, -ENC_SRSHLR_Z_P_ZZ_=4808, -ENC_SRSHR_Z_P_ZI_=4809, -ENC_SRSRA_Z_ZI_=4810, -ENC_SSHLLB_Z_ZI_=4811, -ENC_SSHLLT_Z_ZI_=4812, -ENC_SSRA_Z_ZI_=4813, -ENC_SSUBLB_Z_ZZ_=4814, -ENC_SSUBLBT_Z_ZZ_=4815, -ENC_SSUBLT_Z_ZZ_=4816, -ENC_SSUBLTB_Z_ZZ_=4817, -ENC_SSUBWB_Z_ZZ_=4818, -ENC_SSUBWT_Z_ZZ_=4819, -ENC_ST1B_MZ_P_BI_2=4820, -ENC_ST1B_MZ_P_BI_4=4821, -ENC_ST1B_MZ_P_BR_2=4822, -ENC_ST1B_MZ_P_BR_4=4823, -ENC_ST1B_MZX_P_BI_2X8=4824, -ENC_ST1B_MZX_P_BI_4X4=4825, -ENC_ST1B_MZX_P_BR_2X8=4826, -ENC_ST1B_MZX_P_BR_4X4=4827, -ENC_ST1B_Z_P_AI_D=4828, -ENC_ST1B_Z_P_AI_S=4829, -ENC_ST1B_Z_P_BI_=4830, -ENC_ST1B_Z_P_BR_=4831, -ENC_ST1B_Z_P_BZ_D_64_UNSCALED=4832, -ENC_ST1B_Z_P_BZ_D_X32_UNSCALED=4833, -ENC_ST1B_Z_P_BZ_S_X32_UNSCALED=4834, -ENC_ST1B_ZA_P_RRR_=4835, -ENC_ST1D_MZ_P_BI_2=4836, -ENC_ST1D_MZ_P_BI_4=4837, -ENC_ST1D_MZ_P_BR_2=4838, -ENC_ST1D_MZ_P_BR_4=4839, -ENC_ST1D_MZX_P_BI_2X8=4840, -ENC_ST1D_MZX_P_BI_4X4=4841, -ENC_ST1D_MZX_P_BR_2X8=4842, -ENC_ST1D_MZX_P_BR_4X4=4843, -ENC_ST1D_Z_P_AI_D=4844, -ENC_ST1D_Z_P_BI_=4845, -ENC_ST1D_Z_P_BI_U128=4846, -ENC_ST1D_Z_P_BR_=4847, -ENC_ST1D_Z_P_BR_U128=4848, -ENC_ST1D_Z_P_BZ_D_64_SCALED=4849, -ENC_ST1D_Z_P_BZ_D_64_UNSCALED=4850, -ENC_ST1D_Z_P_BZ_D_X32_SCALED=4851, -ENC_ST1D_Z_P_BZ_D_X32_UNSCALED=4852, -ENC_ST1D_ZA_P_RRR_=4853, -ENC_ST1H_MZ_P_BI_2=4854, -ENC_ST1H_MZ_P_BI_4=4855, -ENC_ST1H_MZ_P_BR_2=4856, -ENC_ST1H_MZ_P_BR_4=4857, -ENC_ST1H_MZX_P_BI_2X8=4858, -ENC_ST1H_MZX_P_BI_4X4=4859, -ENC_ST1H_MZX_P_BR_2X8=4860, -ENC_ST1H_MZX_P_BR_4X4=4861, -ENC_ST1H_Z_P_AI_D=4862, -ENC_ST1H_Z_P_AI_S=4863, -ENC_ST1H_Z_P_BI_=4864, -ENC_ST1H_Z_P_BR_=4865, -ENC_ST1H_Z_P_BZ_D_64_SCALED=4866, -ENC_ST1H_Z_P_BZ_D_64_UNSCALED=4867, -ENC_ST1H_Z_P_BZ_D_X32_SCALED=4868, -ENC_ST1H_Z_P_BZ_D_X32_UNSCALED=4869, -ENC_ST1H_Z_P_BZ_S_X32_SCALED=4870, -ENC_ST1H_Z_P_BZ_S_X32_UNSCALED=4871, -ENC_ST1H_ZA_P_RRR_=4872, -ENC_ST1Q_Z_P_AR_D_64_UNSCALED=4873, -ENC_ST1Q_ZA_P_RRR_=4874, -ENC_ST1W_MZ_P_BI_2=4875, -ENC_ST1W_MZ_P_BI_4=4876, -ENC_ST1W_MZ_P_BR_2=4877, -ENC_ST1W_MZ_P_BR_4=4878, -ENC_ST1W_MZX_P_BI_2X8=4879, -ENC_ST1W_MZX_P_BI_4X4=4880, -ENC_ST1W_MZX_P_BR_2X8=4881, -ENC_ST1W_MZX_P_BR_4X4=4882, -ENC_ST1W_Z_P_AI_D=4883, -ENC_ST1W_Z_P_AI_S=4884, -ENC_ST1W_Z_P_BI_=4885, -ENC_ST1W_Z_P_BI_U128=4886, -ENC_ST1W_Z_P_BR_=4887, -ENC_ST1W_Z_P_BR_U128=4888, -ENC_ST1W_Z_P_BZ_D_64_SCALED=4889, -ENC_ST1W_Z_P_BZ_D_64_UNSCALED=4890, -ENC_ST1W_Z_P_BZ_D_X32_SCALED=4891, -ENC_ST1W_Z_P_BZ_D_X32_UNSCALED=4892, -ENC_ST1W_Z_P_BZ_S_X32_SCALED=4893, -ENC_ST1W_Z_P_BZ_S_X32_UNSCALED=4894, -ENC_ST1W_ZA_P_RRR_=4895, -ENC_ST2B_Z_P_BI_CONTIGUOUS=4896, -ENC_ST2B_Z_P_BR_CONTIGUOUS=4897, -ENC_ST2D_Z_P_BI_CONTIGUOUS=4898, -ENC_ST2D_Z_P_BR_CONTIGUOUS=4899, -ENC_ST2H_Z_P_BI_CONTIGUOUS=4900, -ENC_ST2H_Z_P_BR_CONTIGUOUS=4901, -ENC_ST2Q_Z_P_BI_CONTIGUOUS=4902, -ENC_ST2Q_Z_P_BR_CONTIGUOUS=4903, -ENC_ST2W_Z_P_BI_CONTIGUOUS=4904, -ENC_ST2W_Z_P_BR_CONTIGUOUS=4905, -ENC_ST3B_Z_P_BI_CONTIGUOUS=4906, -ENC_ST3B_Z_P_BR_CONTIGUOUS=4907, -ENC_ST3D_Z_P_BI_CONTIGUOUS=4908, -ENC_ST3D_Z_P_BR_CONTIGUOUS=4909, -ENC_ST3H_Z_P_BI_CONTIGUOUS=4910, -ENC_ST3H_Z_P_BR_CONTIGUOUS=4911, -ENC_ST3Q_Z_P_BI_CONTIGUOUS=4912, -ENC_ST3Q_Z_P_BR_CONTIGUOUS=4913, -ENC_ST3W_Z_P_BI_CONTIGUOUS=4914, -ENC_ST3W_Z_P_BR_CONTIGUOUS=4915, -ENC_ST4B_Z_P_BI_CONTIGUOUS=4916, -ENC_ST4B_Z_P_BR_CONTIGUOUS=4917, -ENC_ST4D_Z_P_BI_CONTIGUOUS=4918, -ENC_ST4D_Z_P_BR_CONTIGUOUS=4919, -ENC_ST4H_Z_P_BI_CONTIGUOUS=4920, -ENC_ST4H_Z_P_BR_CONTIGUOUS=4921, -ENC_ST4Q_Z_P_BI_CONTIGUOUS=4922, -ENC_ST4Q_Z_P_BR_CONTIGUOUS=4923, -ENC_ST4W_Z_P_BI_CONTIGUOUS=4924, -ENC_ST4W_Z_P_BR_CONTIGUOUS=4925, -ENC_STMOPA_ZA32_ZZZI_H2X1=4926, -ENC_STMOPA_ZA_ZZZI_B2X1=4927, -ENC_STNT1B_MZ_P_BI_2=4928, -ENC_STNT1B_MZ_P_BI_4=4929, -ENC_STNT1B_MZ_P_BR_2=4930, -ENC_STNT1B_MZ_P_BR_4=4931, -ENC_STNT1B_MZX_P_BI_2X8=4932, -ENC_STNT1B_MZX_P_BI_4X4=4933, -ENC_STNT1B_MZX_P_BR_2X8=4934, -ENC_STNT1B_MZX_P_BR_4X4=4935, -ENC_STNT1B_Z_P_AR_D_64_UNSCALED=4936, -ENC_STNT1B_Z_P_AR_S_X32_UNSCALED=4937, -ENC_STNT1B_Z_P_BI_CONTIGUOUS=4938, -ENC_STNT1B_Z_P_BR_CONTIGUOUS=4939, -ENC_STNT1D_MZ_P_BI_2=4940, -ENC_STNT1D_MZ_P_BI_4=4941, -ENC_STNT1D_MZ_P_BR_2=4942, -ENC_STNT1D_MZ_P_BR_4=4943, -ENC_STNT1D_MZX_P_BI_2X8=4944, -ENC_STNT1D_MZX_P_BI_4X4=4945, -ENC_STNT1D_MZX_P_BR_2X8=4946, -ENC_STNT1D_MZX_P_BR_4X4=4947, -ENC_STNT1D_Z_P_AR_D_64_UNSCALED=4948, -ENC_STNT1D_Z_P_BI_CONTIGUOUS=4949, -ENC_STNT1D_Z_P_BR_CONTIGUOUS=4950, -ENC_STNT1H_MZ_P_BI_2=4951, -ENC_STNT1H_MZ_P_BI_4=4952, -ENC_STNT1H_MZ_P_BR_2=4953, -ENC_STNT1H_MZ_P_BR_4=4954, -ENC_STNT1H_MZX_P_BI_2X8=4955, -ENC_STNT1H_MZX_P_BI_4X4=4956, -ENC_STNT1H_MZX_P_BR_2X8=4957, -ENC_STNT1H_MZX_P_BR_4X4=4958, -ENC_STNT1H_Z_P_AR_D_64_UNSCALED=4959, -ENC_STNT1H_Z_P_AR_S_X32_UNSCALED=4960, -ENC_STNT1H_Z_P_BI_CONTIGUOUS=4961, -ENC_STNT1H_Z_P_BR_CONTIGUOUS=4962, -ENC_STNT1W_MZ_P_BI_2=4963, -ENC_STNT1W_MZ_P_BI_4=4964, -ENC_STNT1W_MZ_P_BR_2=4965, -ENC_STNT1W_MZ_P_BR_4=4966, -ENC_STNT1W_MZX_P_BI_2X8=4967, -ENC_STNT1W_MZX_P_BI_4X4=4968, -ENC_STNT1W_MZX_P_BR_2X8=4969, -ENC_STNT1W_MZX_P_BR_4X4=4970, -ENC_STNT1W_Z_P_AR_D_64_UNSCALED=4971, -ENC_STNT1W_Z_P_AR_S_X32_UNSCALED=4972, -ENC_STNT1W_Z_P_BI_CONTIGUOUS=4973, -ENC_STNT1W_Z_P_BR_CONTIGUOUS=4974, -ENC_STR_P_BI_=4975, -ENC_STR_Z_BI_=4976, -ENC_STR_ZA_RI_=4977, -ENC_STR_ZT_BR_=4978, -ENC_SUB_Z_P_ZZ_=4979, -ENC_SUB_Z_ZI_=4980, -ENC_SUB_Z_ZZ_=4981, -ENC_SUB_ZA_ZW_2X2=4982, -ENC_SUB_ZA_ZW_4X4=4983, -ENC_SUB_ZA_ZZV_2X1=4984, -ENC_SUB_ZA_ZZV_4X1=4985, -ENC_SUB_ZA_ZZW_2X2=4986, -ENC_SUB_ZA_ZZW_4X4=4987, -ENC_SUBHNB_Z_ZZ_=4988, -ENC_SUBHNT_Z_ZZ_=4989, -ENC_SUBPT_Z_P_ZZ_=4990, -ENC_SUBPT_Z_ZZ_=4991, -ENC_SUBR_Z_P_ZZ_=4992, -ENC_SUBR_Z_ZI_=4993, -ENC_SUDOT_Z_ZZZI_S=4994, -ENC_SUDOT_ZA_ZZI_S2XI=4995, -ENC_SUDOT_ZA_ZZI_S4XI=4996, -ENC_SUDOT_ZA_ZZV_S2X1=4997, -ENC_SUDOT_ZA_ZZV_S4X1=4998, -ENC_SUMLALL_ZA_ZZI_S=4999, -ENC_SUMLALL_ZA_ZZI_S2XI=5000, -ENC_SUMLALL_ZA_ZZI_S4XI=5001, -ENC_SUMLALL_ZA_ZZV_S2X1=5002, -ENC_SUMLALL_ZA_ZZV_S4X1=5003, -ENC_SUMOP4A_ZA_ZZ_B1X1=5004, -ENC_SUMOP4A_ZA_ZZ_B1X2=5005, -ENC_SUMOP4A_ZA_ZZ_B2X1=5006, -ENC_SUMOP4A_ZA_ZZ_B2X2=5007, -ENC_SUMOP4A_ZA_ZZ_H1X1=5008, -ENC_SUMOP4A_ZA_ZZ_H1X2=5009, -ENC_SUMOP4A_ZA_ZZ_H2X1=5010, -ENC_SUMOP4A_ZA_ZZ_H2X2=5011, -ENC_SUMOP4S_ZA_ZZ_B1X1=5012, -ENC_SUMOP4S_ZA_ZZ_B1X2=5013, -ENC_SUMOP4S_ZA_ZZ_B2X1=5014, -ENC_SUMOP4S_ZA_ZZ_B2X2=5015, -ENC_SUMOP4S_ZA_ZZ_H1X1=5016, -ENC_SUMOP4S_ZA_ZZ_H1X2=5017, -ENC_SUMOP4S_ZA_ZZ_H2X1=5018, -ENC_SUMOP4S_ZA_ZZ_H2X2=5019, -ENC_SUMOPA_ZA_PP_ZZ_32=5020, -ENC_SUMOPA_ZA_PP_ZZ_64=5021, -ENC_SUMOPS_ZA_PP_ZZ_32=5022, -ENC_SUMOPS_ZA_PP_ZZ_64=5023, -ENC_SUNPK_MZ_Z_2=5024, -ENC_SUNPK_MZ_Z_4=5025, -ENC_SUNPKHI_Z_Z_=5026, -ENC_SUNPKLO_Z_Z_=5027, -ENC_SUQADD_Z_P_ZZ_=5028, -ENC_SUTMOPA_ZA_ZZZI_B2X1=5029, -ENC_SUVDOT_ZA_ZZI_S4XI=5030, -ENC_SVDOT_ZA32_ZZI_2XI=5031, -ENC_SVDOT_ZA_ZZI_D4XI=5032, -ENC_SVDOT_ZA_ZZI_S4XI=5033, -ENC_SXTB_Z_P_Z_M=5034, -ENC_SXTB_Z_P_Z_Z=5035, -ENC_SXTH_Z_P_Z_M=5036, -ENC_SXTH_Z_P_Z_Z=5037, -ENC_SXTW_Z_P_Z_M=5038, -ENC_SXTW_Z_P_Z_Z=5039, -ENC_TBL_Z_ZZ_1=5040, -ENC_TBL_Z_ZZ_2=5041, -ENC_TBLQ_Z_ZZ_=5042, -ENC_TBX_Z_ZZ_=5043, -ENC_TBXQ_Z_ZZ_=5044, -ENC_TRN1_P_PP_=5045, -ENC_TRN1_Z_ZZ_=5046, -ENC_TRN1_Z_ZZ_Q=5047, -ENC_TRN2_P_PP_=5048, -ENC_TRN2_Z_ZZ_=5049, -ENC_TRN2_Z_ZZ_Q=5050, -ENC_UABA_Z_ZZZ_=5051, -ENC_UABALB_Z_ZZZ_=5052, -ENC_UABALT_Z_ZZZ_=5053, -ENC_UABD_Z_P_ZZ_=5054, -ENC_UABDLB_Z_ZZ_=5055, -ENC_UABDLT_Z_ZZ_=5056, -ENC_UADALP_Z_P_Z_=5057, -ENC_UADDLB_Z_ZZ_=5058, -ENC_UADDLT_Z_ZZ_=5059, -ENC_UADDV_R_P_Z_=5060, -ENC_UADDWB_Z_ZZ_=5061, -ENC_UADDWT_Z_ZZ_=5062, -ENC_UCLAMP_MZ_ZZ_2=5063, -ENC_UCLAMP_MZ_ZZ_4=5064, -ENC_UCLAMP_Z_ZZ_=5065, -ENC_UCVTF_MZ_Z_2=5066, -ENC_UCVTF_MZ_Z_4=5067, -ENC_UCVTF_Z_P_Z_H2FP16=5068, -ENC_UCVTF_Z_P_Z_H2FP16Z=5069, -ENC_UCVTF_Z_P_Z_W2D=5070, -ENC_UCVTF_Z_P_Z_W2DZ=5071, -ENC_UCVTF_Z_P_Z_W2FP16=5072, -ENC_UCVTF_Z_P_Z_W2FP16Z=5073, -ENC_UCVTF_Z_P_Z_W2S=5074, -ENC_UCVTF_Z_P_Z_W2SZ=5075, -ENC_UCVTF_Z_P_Z_X2D=5076, -ENC_UCVTF_Z_P_Z_X2DZ=5077, -ENC_UCVTF_Z_P_Z_X2FP16=5078, -ENC_UCVTF_Z_P_Z_X2FP16Z=5079, -ENC_UCVTF_Z_P_Z_X2S=5080, -ENC_UCVTF_Z_P_Z_X2SZ=5081, -ENC_UDIV_Z_P_ZZ_=5082, -ENC_UDIVR_Z_P_ZZ_=5083, -ENC_UDOT_Z32_ZZZ_=5084, -ENC_UDOT_Z32_ZZZI_=5085, -ENC_UDOT_Z_ZZZ_=5086, -ENC_UDOT_Z_ZZZI_D=5087, -ENC_UDOT_Z_ZZZI_S=5088, -ENC_UDOT_ZA32_ZZI_2XI=5089, -ENC_UDOT_ZA32_ZZI_4XI=5090, -ENC_UDOT_ZA32_ZZV_2X1=5091, -ENC_UDOT_ZA32_ZZV_4X1=5092, -ENC_UDOT_ZA32_ZZW_2X2=5093, -ENC_UDOT_ZA32_ZZW_4X4=5094, -ENC_UDOT_ZA_ZZI_D2XI=5095, -ENC_UDOT_ZA_ZZI_D4XI=5096, -ENC_UDOT_ZA_ZZI_S2XI=5097, -ENC_UDOT_ZA_ZZI_S4XI=5098, -ENC_UDOT_ZA_ZZV_2X1=5099, -ENC_UDOT_ZA_ZZV_4X1=5100, -ENC_UDOT_ZA_ZZW_2X2=5101, -ENC_UDOT_ZA_ZZW_4X4=5102, -ENC_UHADD_Z_P_ZZ_=5103, -ENC_UHSUB_Z_P_ZZ_=5104, -ENC_UHSUBR_Z_P_ZZ_=5105, -ENC_UMAX_MZ_ZZV_2X1=5106, -ENC_UMAX_MZ_ZZV_4X1=5107, -ENC_UMAX_MZ_ZZW_2X2=5108, -ENC_UMAX_MZ_ZZW_4X4=5109, -ENC_UMAX_Z_P_ZZ_=5110, -ENC_UMAX_Z_ZI_=5111, -ENC_UMAXP_Z_P_ZZ_=5112, -ENC_UMAXQV_Z_P_Z_=5113, -ENC_UMAXV_R_P_Z_=5114, -ENC_UMIN_MZ_ZZV_2X1=5115, -ENC_UMIN_MZ_ZZV_4X1=5116, -ENC_UMIN_MZ_ZZW_2X2=5117, -ENC_UMIN_MZ_ZZW_4X4=5118, -ENC_UMIN_Z_P_ZZ_=5119, -ENC_UMIN_Z_ZI_=5120, -ENC_UMINP_Z_P_ZZ_=5121, -ENC_UMINQV_Z_P_Z_=5122, -ENC_UMINV_R_P_Z_=5123, -ENC_UMLAL_ZA_ZZI_1=5124, -ENC_UMLAL_ZA_ZZI_2XI=5125, -ENC_UMLAL_ZA_ZZI_4XI=5126, -ENC_UMLAL_ZA_ZZV_1=5127, -ENC_UMLAL_ZA_ZZV_2X1=5128, -ENC_UMLAL_ZA_ZZV_4X1=5129, -ENC_UMLAL_ZA_ZZW_2X2=5130, -ENC_UMLAL_ZA_ZZW_4X4=5131, -ENC_UMLALB_Z_ZZZ_=5132, -ENC_UMLALB_Z_ZZZI_D=5133, -ENC_UMLALB_Z_ZZZI_S=5134, -ENC_UMLALL_ZA_ZZI_D=5135, -ENC_UMLALL_ZA_ZZI_D2XI=5136, -ENC_UMLALL_ZA_ZZI_D4XI=5137, -ENC_UMLALL_ZA_ZZI_S=5138, -ENC_UMLALL_ZA_ZZI_S2XI=5139, -ENC_UMLALL_ZA_ZZI_S4XI=5140, -ENC_UMLALL_ZA_ZZV_1=5141, -ENC_UMLALL_ZA_ZZV_2X1=5142, -ENC_UMLALL_ZA_ZZV_4X1=5143, -ENC_UMLALL_ZA_ZZW_2X2=5144, -ENC_UMLALL_ZA_ZZW_4X4=5145, -ENC_UMLALT_Z_ZZZ_=5146, -ENC_UMLALT_Z_ZZZI_D=5147, -ENC_UMLALT_Z_ZZZI_S=5148, -ENC_UMLSL_ZA_ZZI_1=5149, -ENC_UMLSL_ZA_ZZI_2XI=5150, -ENC_UMLSL_ZA_ZZI_4XI=5151, -ENC_UMLSL_ZA_ZZV_1=5152, -ENC_UMLSL_ZA_ZZV_2X1=5153, -ENC_UMLSL_ZA_ZZV_4X1=5154, -ENC_UMLSL_ZA_ZZW_2X2=5155, -ENC_UMLSL_ZA_ZZW_4X4=5156, -ENC_UMLSLB_Z_ZZZ_=5157, -ENC_UMLSLB_Z_ZZZI_D=5158, -ENC_UMLSLB_Z_ZZZI_S=5159, -ENC_UMLSLL_ZA_ZZI_D=5160, -ENC_UMLSLL_ZA_ZZI_D2XI=5161, -ENC_UMLSLL_ZA_ZZI_D4XI=5162, -ENC_UMLSLL_ZA_ZZI_S=5163, -ENC_UMLSLL_ZA_ZZI_S2XI=5164, -ENC_UMLSLL_ZA_ZZI_S4XI=5165, -ENC_UMLSLL_ZA_ZZV_1=5166, -ENC_UMLSLL_ZA_ZZV_2X1=5167, -ENC_UMLSLL_ZA_ZZV_4X1=5168, -ENC_UMLSLL_ZA_ZZW_2X2=5169, -ENC_UMLSLL_ZA_ZZW_4X4=5170, -ENC_UMLSLT_Z_ZZZ_=5171, -ENC_UMLSLT_Z_ZZZI_D=5172, -ENC_UMLSLT_Z_ZZZI_S=5173, -ENC_UMMLA_Z_ZZZ_=5174, -ENC_UMOP4A_ZA32_ZZ_H1X1=5175, -ENC_UMOP4A_ZA32_ZZ_H1X2=5176, -ENC_UMOP4A_ZA32_ZZ_H2X1=5177, -ENC_UMOP4A_ZA32_ZZ_H2X2=5178, -ENC_UMOP4A_ZA_ZZ_B1X1=5179, -ENC_UMOP4A_ZA_ZZ_B1X2=5180, -ENC_UMOP4A_ZA_ZZ_B2X1=5181, -ENC_UMOP4A_ZA_ZZ_B2X2=5182, -ENC_UMOP4A_ZA_ZZ_H1X1=5183, -ENC_UMOP4A_ZA_ZZ_H1X2=5184, -ENC_UMOP4A_ZA_ZZ_H2X1=5185, -ENC_UMOP4A_ZA_ZZ_H2X2=5186, -ENC_UMOP4S_ZA32_ZZ_H1X1=5187, -ENC_UMOP4S_ZA32_ZZ_H1X2=5188, -ENC_UMOP4S_ZA32_ZZ_H2X1=5189, -ENC_UMOP4S_ZA32_ZZ_H2X2=5190, -ENC_UMOP4S_ZA_ZZ_B1X1=5191, -ENC_UMOP4S_ZA_ZZ_B1X2=5192, -ENC_UMOP4S_ZA_ZZ_B2X1=5193, -ENC_UMOP4S_ZA_ZZ_B2X2=5194, -ENC_UMOP4S_ZA_ZZ_H1X1=5195, -ENC_UMOP4S_ZA_ZZ_H1X2=5196, -ENC_UMOP4S_ZA_ZZ_H2X1=5197, -ENC_UMOP4S_ZA_ZZ_H2X2=5198, -ENC_UMOPA_ZA32_PP_ZZ_16=5199, -ENC_UMOPA_ZA_PP_ZZ_32=5200, -ENC_UMOPA_ZA_PP_ZZ_64=5201, -ENC_UMOPS_ZA32_PP_ZZ_16=5202, -ENC_UMOPS_ZA_PP_ZZ_32=5203, -ENC_UMOPS_ZA_PP_ZZ_64=5204, -ENC_UMULH_Z_P_ZZ_=5205, -ENC_UMULH_Z_ZZ_=5206, -ENC_UMULLB_Z_ZZ_=5207, -ENC_UMULLB_Z_ZZI_D=5208, -ENC_UMULLB_Z_ZZI_S=5209, -ENC_UMULLT_Z_ZZ_=5210, -ENC_UMULLT_Z_ZZI_D=5211, -ENC_UMULLT_Z_ZZI_S=5212, -ENC_UQADD_Z_P_ZZ_=5213, -ENC_UQADD_Z_ZI_=5214, -ENC_UQADD_Z_ZZ_=5215, -ENC_UQCVT_Z_MZ2_=5216, -ENC_UQCVT_Z_MZ4_=5217, -ENC_UQCVTN_Z_MZ2_=5218, -ENC_UQCVTN_Z_MZ4_=5219, -ENC_UQDECB_R_RS_UW=5220, -ENC_UQDECB_R_RS_X=5221, -ENC_UQDECD_R_RS_UW=5222, -ENC_UQDECD_R_RS_X=5223, -ENC_UQDECD_Z_ZS_=5224, -ENC_UQDECH_R_RS_UW=5225, -ENC_UQDECH_R_RS_X=5226, -ENC_UQDECH_Z_ZS_=5227, -ENC_UQDECP_R_P_R_UW=5228, -ENC_UQDECP_R_P_R_X=5229, -ENC_UQDECP_Z_P_Z_=5230, -ENC_UQDECW_R_RS_UW=5231, -ENC_UQDECW_R_RS_X=5232, -ENC_UQDECW_Z_ZS_=5233, -ENC_UQINCB_R_RS_UW=5234, -ENC_UQINCB_R_RS_X=5235, -ENC_UQINCD_R_RS_UW=5236, -ENC_UQINCD_R_RS_X=5237, -ENC_UQINCD_Z_ZS_=5238, -ENC_UQINCH_R_RS_UW=5239, -ENC_UQINCH_R_RS_X=5240, -ENC_UQINCH_Z_ZS_=5241, -ENC_UQINCP_R_P_R_UW=5242, -ENC_UQINCP_R_P_R_X=5243, -ENC_UQINCP_Z_P_Z_=5244, -ENC_UQINCW_R_RS_UW=5245, -ENC_UQINCW_R_RS_X=5246, -ENC_UQINCW_Z_ZS_=5247, -ENC_UQRSHL_Z_P_ZZ_=5248, -ENC_UQRSHLR_Z_P_ZZ_=5249, -ENC_UQRSHR_Z_MZ2_=5250, -ENC_UQRSHR_Z_MZ4_=5251, -ENC_UQRSHRN_Z_MZ2_=5252, -ENC_UQRSHRN_Z_MZ4_=5253, -ENC_UQRSHRNB_Z_ZI_=5254, -ENC_UQRSHRNT_Z_ZI_=5255, -ENC_UQSHL_Z_P_ZI_=5256, -ENC_UQSHL_Z_P_ZZ_=5257, -ENC_UQSHLR_Z_P_ZZ_=5258, -ENC_UQSHRNB_Z_ZI_=5259, -ENC_UQSHRNT_Z_ZI_=5260, -ENC_UQSUB_Z_P_ZZ_=5261, -ENC_UQSUB_Z_ZI_=5262, -ENC_UQSUB_Z_ZZ_=5263, -ENC_UQSUBR_Z_P_ZZ_=5264, -ENC_UQXTNB_Z_ZZ_=5265, -ENC_UQXTNT_Z_ZZ_=5266, -ENC_URECPE_Z_P_Z_M=5267, -ENC_URECPE_Z_P_Z_Z=5268, -ENC_URHADD_Z_P_ZZ_=5269, -ENC_URSHL_MZ_ZZV_2X1=5270, -ENC_URSHL_MZ_ZZV_4X1=5271, -ENC_URSHL_MZ_ZZW_2X2=5272, -ENC_URSHL_MZ_ZZW_4X4=5273, -ENC_URSHL_Z_P_ZZ_=5274, -ENC_URSHLR_Z_P_ZZ_=5275, -ENC_URSHR_Z_P_ZI_=5276, -ENC_URSQRTE_Z_P_Z_M=5277, -ENC_URSQRTE_Z_P_Z_Z=5278, -ENC_URSRA_Z_ZI_=5279, -ENC_USDOT_Z_ZZZ_S=5280, -ENC_USDOT_Z_ZZZI_S=5281, -ENC_USDOT_ZA_ZZI_S2XI=5282, -ENC_USDOT_ZA_ZZI_S4XI=5283, -ENC_USDOT_ZA_ZZV_S2X1=5284, -ENC_USDOT_ZA_ZZV_S4X1=5285, -ENC_USDOT_ZA_ZZW_S2X2=5286, -ENC_USDOT_ZA_ZZW_S4X4=5287, -ENC_USHLLB_Z_ZI_=5288, -ENC_USHLLT_Z_ZI_=5289, -ENC_USMLALL_ZA_ZZI_S=5290, -ENC_USMLALL_ZA_ZZI_S2XI=5291, -ENC_USMLALL_ZA_ZZI_S4XI=5292, -ENC_USMLALL_ZA_ZZV_S=5293, -ENC_USMLALL_ZA_ZZV_S2X1=5294, -ENC_USMLALL_ZA_ZZV_S4X1=5295, -ENC_USMLALL_ZA_ZZW_S2X2=5296, -ENC_USMLALL_ZA_ZZW_S4X4=5297, -ENC_USMMLA_Z_ZZZ_=5298, -ENC_USMOP4A_ZA_ZZ_B1X1=5299, -ENC_USMOP4A_ZA_ZZ_B1X2=5300, -ENC_USMOP4A_ZA_ZZ_B2X1=5301, -ENC_USMOP4A_ZA_ZZ_B2X2=5302, -ENC_USMOP4A_ZA_ZZ_H1X1=5303, -ENC_USMOP4A_ZA_ZZ_H1X2=5304, -ENC_USMOP4A_ZA_ZZ_H2X1=5305, -ENC_USMOP4A_ZA_ZZ_H2X2=5306, -ENC_USMOP4S_ZA_ZZ_B1X1=5307, -ENC_USMOP4S_ZA_ZZ_B1X2=5308, -ENC_USMOP4S_ZA_ZZ_B2X1=5309, -ENC_USMOP4S_ZA_ZZ_B2X2=5310, -ENC_USMOP4S_ZA_ZZ_H1X1=5311, -ENC_USMOP4S_ZA_ZZ_H1X2=5312, -ENC_USMOP4S_ZA_ZZ_H2X1=5313, -ENC_USMOP4S_ZA_ZZ_H2X2=5314, -ENC_USMOPA_ZA_PP_ZZ_32=5315, -ENC_USMOPA_ZA_PP_ZZ_64=5316, -ENC_USMOPS_ZA_PP_ZZ_32=5317, -ENC_USMOPS_ZA_PP_ZZ_64=5318, -ENC_USQADD_Z_P_ZZ_=5319, -ENC_USRA_Z_ZI_=5320, -ENC_USTMOPA_ZA_ZZZI_B2X1=5321, -ENC_USUBLB_Z_ZZ_=5322, -ENC_USUBLT_Z_ZZ_=5323, -ENC_USUBWB_Z_ZZ_=5324, -ENC_USUBWT_Z_ZZ_=5325, -ENC_USVDOT_ZA_ZZI_S4XI=5326, -ENC_UTMOPA_ZA32_ZZZI_H2X1=5327, -ENC_UTMOPA_ZA_ZZZI_B2X1=5328, -ENC_UUNPK_MZ_Z_2=5329, -ENC_UUNPK_MZ_Z_4=5330, -ENC_UUNPKHI_Z_Z_=5331, -ENC_UUNPKLO_Z_Z_=5332, -ENC_UVDOT_ZA32_ZZI_2XI=5333, -ENC_UVDOT_ZA_ZZI_D4XI=5334, -ENC_UVDOT_ZA_ZZI_S4XI=5335, -ENC_UXTB_Z_P_Z_M=5336, -ENC_UXTB_Z_P_Z_Z=5337, -ENC_UXTH_Z_P_Z_M=5338, -ENC_UXTH_Z_P_Z_Z=5339, -ENC_UXTW_Z_P_Z_M=5340, -ENC_UXTW_Z_P_Z_Z=5341, -ENC_UZP1_P_PP_=5342, -ENC_UZP1_Z_ZZ_=5343, -ENC_UZP1_Z_ZZ_Q=5344, -ENC_UZP2_P_PP_=5345, -ENC_UZP2_Z_ZZ_=5346, -ENC_UZP2_Z_ZZ_Q=5347, -ENC_UZP_MZ_Z_4=5348, -ENC_UZP_MZ_Z_4Q=5349, -ENC_UZP_MZ_ZZ_2=5350, -ENC_UZP_MZ_ZZ_2Q=5351, -ENC_UZPQ1_Z_ZZ_=5352, -ENC_UZPQ2_Z_ZZ_=5353, -ENC_WHILEGE_P_P_RR_=5354, -ENC_WHILEGE_PN_RR_=5355, -ENC_WHILEGE_PP_RR_=5356, -ENC_WHILEGT_P_P_RR_=5357, -ENC_WHILEGT_PN_RR_=5358, -ENC_WHILEGT_PP_RR_=5359, -ENC_WHILEHI_P_P_RR_=5360, -ENC_WHILEHI_PN_RR_=5361, -ENC_WHILEHI_PP_RR_=5362, -ENC_WHILEHS_P_P_RR_=5363, -ENC_WHILEHS_PN_RR_=5364, -ENC_WHILEHS_PP_RR_=5365, -ENC_WHILELE_P_P_RR_=5366, -ENC_WHILELE_PN_RR_=5367, -ENC_WHILELE_PP_RR_=5368, -ENC_WHILELO_P_P_RR_=5369, -ENC_WHILELO_PN_RR_=5370, -ENC_WHILELO_PP_RR_=5371, -ENC_WHILELS_P_P_RR_=5372, -ENC_WHILELS_PN_RR_=5373, -ENC_WHILELS_PP_RR_=5374, -ENC_WHILELT_P_P_RR_=5375, -ENC_WHILELT_PN_RR_=5376, -ENC_WHILELT_PP_RR_=5377, -ENC_WHILERW_P_RR_=5378, -ENC_WHILEWR_P_RR_=5379, -ENC_WRFFR_F_P_=5380, -ENC_XAR_Z_ZZI_=5381, -ENC_ZERO_ZA1_RI_2=5382, -ENC_ZERO_ZA1_RI_4=5383, -ENC_ZERO_ZA2_RI_1=5384, -ENC_ZERO_ZA2_RI_2=5385, -ENC_ZERO_ZA2_RI_4=5386, -ENC_ZERO_ZA4_RI_1=5387, -ENC_ZERO_ZA4_RI_2=5388, -ENC_ZERO_ZA4_RI_4=5389, -ENC_ZERO_ZA_I_=5390, -ENC_ZERO_ZT_I_=5391, -ENC_ZIP1_P_PP_=5392, -ENC_ZIP1_Z_ZZ_=5393, -ENC_ZIP1_Z_ZZ_Q=5394, -ENC_ZIP2_P_PP_=5395, -ENC_ZIP2_Z_ZZ_=5396, -ENC_ZIP2_Z_ZZ_Q=5397, -ENC_ZIP_MZ_Z_4=5398, -ENC_ZIP_MZ_Z_4Q=5399, -ENC_ZIP_MZ_ZZ_2=5400, -ENC_ZIP_MZ_ZZ_2Q=5401, -ENC_ZIPQ1_Z_ZZ_=5402, -ENC_ZIPQ2_Z_ZZ_=5403, +ENC_FDOT_ASIMDELEM_FP16FP32=688, +ENC_FDOT_ASIMDELEM_G=689, +ENC_FDOT_ASIMDSAME2_D=690, +ENC_FDOT_ASIMDSAME2_DD=691, +ENC_FDOT_ASIMDSAME2_FP16FP32=692, +ENC_FJCVTZS_32D_FLOAT2INT=693, +ENC_FMADD_D_FLOATDP3=694, +ENC_FMADD_H_FLOATDP3=695, +ENC_FMADD_S_FLOATDP3=696, +ENC_FMAXNMP_ASIMDSAME_ONLY=697, +ENC_FMAXNMP_ASIMDSAMEFP16_ONLY=698, +ENC_FMAXNMP_ASISDPAIR_ONLY_H=699, +ENC_FMAXNMP_ASISDPAIR_ONLY_SD=700, +ENC_FMAXNMV_ASIMDALL_ONLY_H=701, +ENC_FMAXNMV_ASIMDALL_ONLY_SD=702, +ENC_FMAXNM_D_FLOATDP2=703, +ENC_FMAXNM_H_FLOATDP2=704, +ENC_FMAXNM_S_FLOATDP2=705, +ENC_FMAXNM_ASIMDSAME_ONLY=706, +ENC_FMAXNM_ASIMDSAMEFP16_ONLY=707, +ENC_FMAXP_ASIMDSAME_ONLY=708, +ENC_FMAXP_ASIMDSAMEFP16_ONLY=709, +ENC_FMAXP_ASISDPAIR_ONLY_H=710, +ENC_FMAXP_ASISDPAIR_ONLY_SD=711, +ENC_FMAXV_ASIMDALL_ONLY_H=712, +ENC_FMAXV_ASIMDALL_ONLY_SD=713, +ENC_FMAX_D_FLOATDP2=714, +ENC_FMAX_H_FLOATDP2=715, +ENC_FMAX_S_FLOATDP2=716, +ENC_FMAX_ASIMDSAME_ONLY=717, +ENC_FMAX_ASIMDSAMEFP16_ONLY=718, +ENC_FMINNMP_ASIMDSAME_ONLY=719, +ENC_FMINNMP_ASIMDSAMEFP16_ONLY=720, +ENC_FMINNMP_ASISDPAIR_ONLY_H=721, +ENC_FMINNMP_ASISDPAIR_ONLY_SD=722, +ENC_FMINNMV_ASIMDALL_ONLY_H=723, +ENC_FMINNMV_ASIMDALL_ONLY_SD=724, +ENC_FMINNM_D_FLOATDP2=725, +ENC_FMINNM_H_FLOATDP2=726, +ENC_FMINNM_S_FLOATDP2=727, +ENC_FMINNM_ASIMDSAME_ONLY=728, +ENC_FMINNM_ASIMDSAMEFP16_ONLY=729, +ENC_FMINP_ASIMDSAME_ONLY=730, +ENC_FMINP_ASIMDSAMEFP16_ONLY=731, +ENC_FMINP_ASISDPAIR_ONLY_H=732, +ENC_FMINP_ASISDPAIR_ONLY_SD=733, +ENC_FMINV_ASIMDALL_ONLY_H=734, +ENC_FMINV_ASIMDALL_ONLY_SD=735, +ENC_FMIN_D_FLOATDP2=736, +ENC_FMIN_H_FLOATDP2=737, +ENC_FMIN_S_FLOATDP2=738, +ENC_FMIN_ASIMDSAME_ONLY=739, +ENC_FMIN_ASIMDSAMEFP16_ONLY=740, +ENC_FMLAL2_ASIMDELEM_LH=741, +ENC_FMLAL2_ASIMDSAME_F=742, +ENC_FMLALB_ASIMDELEM_H=743, +ENC_FMLALB_ASIMDSAME2_J=744, +ENC_FMLALLBB_ASIMDELEM_J=745, +ENC_FMLALLBB_ASIMDSAME2_G=746, +ENC_FMLALLBT_ASIMDELEM_J=747, +ENC_FMLALLBT_ASIMDSAME2_G=748, +ENC_FMLALLTB_ASIMDELEM_J=749, +ENC_FMLALLTB_ASIMDSAME2_G=750, +ENC_FMLALLTT_ASIMDELEM_J=751, +ENC_FMLALLTT_ASIMDSAME2_G=752, +ENC_FMLALT_ASIMDELEM_H=753, +ENC_FMLALT_ASIMDSAME2_J=754, +ENC_FMLAL_ASIMDELEM_LH=755, +ENC_FMLAL_ASIMDSAME_F=756, +ENC_FMLA_ASIMDELEM_RH_H=757, +ENC_FMLA_ASIMDELEM_R_SD=758, +ENC_FMLA_ASIMDSAME_ONLY=759, +ENC_FMLA_ASIMDSAMEFP16_ONLY=760, +ENC_FMLA_ASISDELEM_RH_H=761, +ENC_FMLA_ASISDELEM_R_SD=762, +ENC_FMLSL2_ASIMDELEM_LH=763, +ENC_FMLSL2_ASIMDSAME_F=764, +ENC_FMLSL_ASIMDELEM_LH=765, +ENC_FMLSL_ASIMDSAME_F=766, +ENC_FMLS_ASIMDELEM_RH_H=767, +ENC_FMLS_ASIMDELEM_R_SD=768, +ENC_FMLS_ASIMDSAME_ONLY=769, +ENC_FMLS_ASIMDSAMEFP16_ONLY=770, +ENC_FMLS_ASISDELEM_RH_H=771, +ENC_FMLS_ASISDELEM_R_SD=772, +ENC_FMMLA_ASIMD_FP16FP16=773, +ENC_FMMLA_ASIMD_FP16FP32=774, +ENC_FMMLA_ASIMD_FP8FP16=775, +ENC_FMMLA_ASIMD_FP8FP32=776, +ENC_FMOV_32H_FLOAT2INT=777, +ENC_FMOV_32S_FLOAT2INT=778, +ENC_FMOV_64D_FLOAT2INT=779, +ENC_FMOV_64H_FLOAT2INT=780, +ENC_FMOV_64VX_FLOAT2INT=781, +ENC_FMOV_D64_FLOAT2INT=782, +ENC_FMOV_D_FLOATDP1=783, +ENC_FMOV_D_FLOATIMM=784, +ENC_FMOV_H32_FLOAT2INT=785, +ENC_FMOV_H64_FLOAT2INT=786, +ENC_FMOV_H_FLOATDP1=787, +ENC_FMOV_H_FLOATIMM=788, +ENC_FMOV_S32_FLOAT2INT=789, +ENC_FMOV_S_FLOATDP1=790, +ENC_FMOV_S_FLOATIMM=791, +ENC_FMOV_V64I_FLOAT2INT=792, +ENC_FMOV_ASIMDIMM_D2_D=793, +ENC_FMOV_ASIMDIMM_H_H=794, +ENC_FMOV_ASIMDIMM_S_S=795, +ENC_FMSUB_D_FLOATDP3=796, +ENC_FMSUB_H_FLOATDP3=797, +ENC_FMSUB_S_FLOATDP3=798, +ENC_FMULX_ASIMDELEM_RH_H=799, +ENC_FMULX_ASIMDELEM_R_SD=800, +ENC_FMULX_ASIMDSAME_ONLY=801, +ENC_FMULX_ASIMDSAMEFP16_ONLY=802, +ENC_FMULX_ASISDELEM_RH_H=803, +ENC_FMULX_ASISDELEM_R_SD=804, +ENC_FMULX_ASISDSAME_ONLY=805, +ENC_FMULX_ASISDSAMEFP16_ONLY=806, +ENC_FMUL_D_FLOATDP2=807, +ENC_FMUL_H_FLOATDP2=808, +ENC_FMUL_S_FLOATDP2=809, +ENC_FMUL_ASIMDELEM_RH_H=810, +ENC_FMUL_ASIMDELEM_R_SD=811, +ENC_FMUL_ASIMDSAME_ONLY=812, +ENC_FMUL_ASIMDSAMEFP16_ONLY=813, +ENC_FMUL_ASISDELEM_RH_H=814, +ENC_FMUL_ASISDELEM_R_SD=815, +ENC_FNEG_D_FLOATDP1=816, +ENC_FNEG_H_FLOATDP1=817, +ENC_FNEG_S_FLOATDP1=818, +ENC_FNEG_ASIMDMISC_R=819, +ENC_FNEG_ASIMDMISCFP16_R=820, +ENC_FNMADD_D_FLOATDP3=821, +ENC_FNMADD_H_FLOATDP3=822, +ENC_FNMADD_S_FLOATDP3=823, +ENC_FNMSUB_D_FLOATDP3=824, +ENC_FNMSUB_H_FLOATDP3=825, +ENC_FNMSUB_S_FLOATDP3=826, +ENC_FNMUL_D_FLOATDP2=827, +ENC_FNMUL_H_FLOATDP2=828, +ENC_FNMUL_S_FLOATDP2=829, +ENC_FRECPE_ASIMDMISC_R=830, +ENC_FRECPE_ASIMDMISCFP16_R=831, +ENC_FRECPE_ASISDMISC_R=832, +ENC_FRECPE_ASISDMISCFP16_R=833, +ENC_FRECPS_ASIMDSAME_ONLY=834, +ENC_FRECPS_ASIMDSAMEFP16_ONLY=835, +ENC_FRECPS_ASISDSAME_ONLY=836, +ENC_FRECPS_ASISDSAMEFP16_ONLY=837, +ENC_FRECPX_ASISDMISC_R=838, +ENC_FRECPX_ASISDMISCFP16_R=839, +ENC_FRINT32X_D_FLOATDP1=840, +ENC_FRINT32X_S_FLOATDP1=841, +ENC_FRINT32X_ASIMDMISC_R=842, +ENC_FRINT32Z_D_FLOATDP1=843, +ENC_FRINT32Z_S_FLOATDP1=844, +ENC_FRINT32Z_ASIMDMISC_R=845, +ENC_FRINT64X_D_FLOATDP1=846, +ENC_FRINT64X_S_FLOATDP1=847, +ENC_FRINT64X_ASIMDMISC_R=848, +ENC_FRINT64Z_D_FLOATDP1=849, +ENC_FRINT64Z_S_FLOATDP1=850, +ENC_FRINT64Z_ASIMDMISC_R=851, +ENC_FRINTA_D_FLOATDP1=852, +ENC_FRINTA_H_FLOATDP1=853, +ENC_FRINTA_S_FLOATDP1=854, +ENC_FRINTA_ASIMDMISC_R=855, +ENC_FRINTA_ASIMDMISCFP16_R=856, +ENC_FRINTI_D_FLOATDP1=857, +ENC_FRINTI_H_FLOATDP1=858, +ENC_FRINTI_S_FLOATDP1=859, +ENC_FRINTI_ASIMDMISC_R=860, +ENC_FRINTI_ASIMDMISCFP16_R=861, +ENC_FRINTM_D_FLOATDP1=862, +ENC_FRINTM_H_FLOATDP1=863, +ENC_FRINTM_S_FLOATDP1=864, +ENC_FRINTM_ASIMDMISC_R=865, +ENC_FRINTM_ASIMDMISCFP16_R=866, +ENC_FRINTN_D_FLOATDP1=867, +ENC_FRINTN_H_FLOATDP1=868, +ENC_FRINTN_S_FLOATDP1=869, +ENC_FRINTN_ASIMDMISC_R=870, +ENC_FRINTN_ASIMDMISCFP16_R=871, +ENC_FRINTP_D_FLOATDP1=872, +ENC_FRINTP_H_FLOATDP1=873, +ENC_FRINTP_S_FLOATDP1=874, +ENC_FRINTP_ASIMDMISC_R=875, +ENC_FRINTP_ASIMDMISCFP16_R=876, +ENC_FRINTX_D_FLOATDP1=877, +ENC_FRINTX_H_FLOATDP1=878, +ENC_FRINTX_S_FLOATDP1=879, +ENC_FRINTX_ASIMDMISC_R=880, +ENC_FRINTX_ASIMDMISCFP16_R=881, +ENC_FRINTZ_D_FLOATDP1=882, +ENC_FRINTZ_H_FLOATDP1=883, +ENC_FRINTZ_S_FLOATDP1=884, +ENC_FRINTZ_ASIMDMISC_R=885, +ENC_FRINTZ_ASIMDMISCFP16_R=886, +ENC_FRSQRTE_ASIMDMISC_R=887, +ENC_FRSQRTE_ASIMDMISCFP16_R=888, +ENC_FRSQRTE_ASISDMISC_R=889, +ENC_FRSQRTE_ASISDMISCFP16_R=890, +ENC_FRSQRTS_ASIMDSAME_ONLY=891, +ENC_FRSQRTS_ASIMDSAMEFP16_ONLY=892, +ENC_FRSQRTS_ASISDSAME_ONLY=893, +ENC_FRSQRTS_ASISDSAMEFP16_ONLY=894, +ENC_FSCALE_ASIMDSAME_ONLY=895, +ENC_FSCALE_ASIMDSAMEFP16_ONLY=896, +ENC_FSQRT_D_FLOATDP1=897, +ENC_FSQRT_H_FLOATDP1=898, +ENC_FSQRT_S_FLOATDP1=899, +ENC_FSQRT_ASIMDMISC_R=900, +ENC_FSQRT_ASIMDMISCFP16_R=901, +ENC_FSUB_D_FLOATDP2=902, +ENC_FSUB_H_FLOATDP2=903, +ENC_FSUB_S_FLOATDP2=904, +ENC_FSUB_ASIMDSAME_ONLY=905, +ENC_FSUB_ASIMDSAMEFP16_ONLY=906, +ENC_GCSB_HD_HINTS=907, +ENC_GCSPOPCX_SYS_CR_SYSTEMINSTRS=908, // alias +ENC_GCSPOPM_SYSL_RC_SYSTEMINSTRS=909, // alias +ENC_GCSPOPX_SYS_CR_SYSTEMINSTRS=910, // alias +ENC_GCSPUSHM_SYS_CR_SYSTEMINSTRS=911, // alias +ENC_GCSPUSHX_SYS_CR_SYSTEMINSTRS=912, // alias +ENC_GCSSS1_SYS_CR_SYSTEMINSTRS=913, // alias +ENC_GCSSS2_SYSL_RC_SYSTEMINSTRS=914, // alias +ENC_GCSSTR_64_LDST_GCS=915, +ENC_GCSSTTR_64_LDST_GCS=916, +ENC_GICR_SYSL_RC_SYSTEMINSTRS=917, // alias +ENC_GIC_SYS_CR_SYSTEMINSTRS=918, // alias +ENC_GMI_64G_DP_2SRC=919, +ENC_GSB_SYS_CR_SYSTEMINSTRS=920, // alias +ENC_HINT_HM_HINTS=921, +ENC_HLT_EX_EXCEPTION=922, +ENC_HVC_EX_EXCEPTION=923, +ENC_IC_SYS_CR_SYSTEMINSTRS=924, // alias +ENC_INS_ASIMDINS_IR_R=925, +ENC_INS_ASIMDINS_IV_V=926, +ENC_IRG_64I_DP_2SRC=927, +ENC_ISB_BI_BARRIERS=928, +ENC_LD1R_ASISDLSO_R1=929, +ENC_LD1R_ASISDLSOP_R1_I=930, +ENC_LD1R_ASISDLSOP_RX1_R=931, +ENC_LD1_ASISDLSE_R1_1V=932, +ENC_LD1_ASISDLSE_R2_2V=933, +ENC_LD1_ASISDLSE_R3_3V=934, +ENC_LD1_ASISDLSE_R4_4V=935, +ENC_LD1_ASISDLSEP_I1_I1=936, +ENC_LD1_ASISDLSEP_I2_I2=937, +ENC_LD1_ASISDLSEP_I3_I3=938, +ENC_LD1_ASISDLSEP_I4_I4=939, +ENC_LD1_ASISDLSEP_R1_R1=940, +ENC_LD1_ASISDLSEP_R2_R2=941, +ENC_LD1_ASISDLSEP_R3_R3=942, +ENC_LD1_ASISDLSEP_R4_R4=943, +ENC_LD1_ASISDLSO_B1_1B=944, +ENC_LD1_ASISDLSO_D1_1D=945, +ENC_LD1_ASISDLSO_H1_1H=946, +ENC_LD1_ASISDLSO_S1_1S=947, +ENC_LD1_ASISDLSOP_B1_I1B=948, +ENC_LD1_ASISDLSOP_BX1_R1B=949, +ENC_LD1_ASISDLSOP_D1_I1D=950, +ENC_LD1_ASISDLSOP_DX1_R1D=951, +ENC_LD1_ASISDLSOP_H1_I1H=952, +ENC_LD1_ASISDLSOP_HX1_R1H=953, +ENC_LD1_ASISDLSOP_S1_I1S=954, +ENC_LD1_ASISDLSOP_SX1_R1S=955, +ENC_LD2R_ASISDLSO_R2=956, +ENC_LD2R_ASISDLSOP_R2_I=957, +ENC_LD2R_ASISDLSOP_RX2_R=958, +ENC_LD2_ASISDLSE_R2=959, +ENC_LD2_ASISDLSEP_I2_I=960, +ENC_LD2_ASISDLSEP_R2_R=961, +ENC_LD2_ASISDLSO_B2_2B=962, +ENC_LD2_ASISDLSO_D2_2D=963, +ENC_LD2_ASISDLSO_H2_2H=964, +ENC_LD2_ASISDLSO_S2_2S=965, +ENC_LD2_ASISDLSOP_B2_I2B=966, +ENC_LD2_ASISDLSOP_BX2_R2B=967, +ENC_LD2_ASISDLSOP_D2_I2D=968, +ENC_LD2_ASISDLSOP_DX2_R2D=969, +ENC_LD2_ASISDLSOP_H2_I2H=970, +ENC_LD2_ASISDLSOP_HX2_R2H=971, +ENC_LD2_ASISDLSOP_S2_I2S=972, +ENC_LD2_ASISDLSOP_SX2_R2S=973, +ENC_LD3R_ASISDLSO_R3=974, +ENC_LD3R_ASISDLSOP_R3_I=975, +ENC_LD3R_ASISDLSOP_RX3_R=976, +ENC_LD3_ASISDLSE_R3=977, +ENC_LD3_ASISDLSEP_I3_I=978, +ENC_LD3_ASISDLSEP_R3_R=979, +ENC_LD3_ASISDLSO_B3_3B=980, +ENC_LD3_ASISDLSO_D3_3D=981, +ENC_LD3_ASISDLSO_H3_3H=982, +ENC_LD3_ASISDLSO_S3_3S=983, +ENC_LD3_ASISDLSOP_B3_I3B=984, +ENC_LD3_ASISDLSOP_BX3_R3B=985, +ENC_LD3_ASISDLSOP_D3_I3D=986, +ENC_LD3_ASISDLSOP_DX3_R3D=987, +ENC_LD3_ASISDLSOP_H3_I3H=988, +ENC_LD3_ASISDLSOP_HX3_R3H=989, +ENC_LD3_ASISDLSOP_S3_I3S=990, +ENC_LD3_ASISDLSOP_SX3_R3S=991, +ENC_LD4R_ASISDLSO_R4=992, +ENC_LD4R_ASISDLSOP_R4_I=993, +ENC_LD4R_ASISDLSOP_RX4_R=994, +ENC_LD4_ASISDLSE_R4=995, +ENC_LD4_ASISDLSEP_I4_I=996, +ENC_LD4_ASISDLSEP_R4_R=997, +ENC_LD4_ASISDLSO_B4_4B=998, +ENC_LD4_ASISDLSO_D4_4D=999, +ENC_LD4_ASISDLSO_H4_4H=1000, +ENC_LD4_ASISDLSO_S4_4S=1001, +ENC_LD4_ASISDLSOP_B4_I4B=1002, +ENC_LD4_ASISDLSOP_BX4_R4B=1003, +ENC_LD4_ASISDLSOP_D4_I4D=1004, +ENC_LD4_ASISDLSOP_DX4_R4D=1005, +ENC_LD4_ASISDLSOP_H4_I4H=1006, +ENC_LD4_ASISDLSOP_HX4_R4H=1007, +ENC_LD4_ASISDLSOP_S4_I4S=1008, +ENC_LD4_ASISDLSOP_SX4_R4S=1009, +ENC_LD64B_64L_MEMOP=1010, +ENC_LDADDAB_32_MEMOP=1011, +ENC_LDADDAH_32_MEMOP=1012, +ENC_LDADDALB_32_MEMOP=1013, +ENC_LDADDALH_32_MEMOP=1014, +ENC_LDADDAL_32_MEMOP=1015, +ENC_LDADDAL_64_MEMOP=1016, +ENC_LDADDA_32_MEMOP=1017, +ENC_LDADDA_64_MEMOP=1018, +ENC_LDADDB_32_MEMOP=1019, +ENC_LDADDH_32_MEMOP=1020, +ENC_LDADDLB_32_MEMOP=1021, +ENC_LDADDLH_32_MEMOP=1022, +ENC_LDADDL_32_MEMOP=1023, +ENC_LDADDL_64_MEMOP=1024, +ENC_LDADD_32_MEMOP=1025, +ENC_LDADD_64_MEMOP=1026, +ENC_LDAP1_ASISDLSO_D1=1027, +ENC_LDAPP_64_LDIAPPSTILP=1028, +ENC_LDAPRB_32L_MEMOP=1029, +ENC_LDAPRH_32L_MEMOP=1030, +ENC_LDAPR_32L_LDAPSTL_WRITEBACK=1031, +ENC_LDAPR_32L_MEMOP=1032, +ENC_LDAPR_64L_LDAPSTL_WRITEBACK=1033, +ENC_LDAPR_64L_MEMOP=1034, +ENC_LDAPURB_32_LDAPSTL_UNSCALED=1035, +ENC_LDAPURH_32_LDAPSTL_UNSCALED=1036, +ENC_LDAPURSB_32_LDAPSTL_UNSCALED=1037, +ENC_LDAPURSB_64_LDAPSTL_UNSCALED=1038, +ENC_LDAPURSH_32_LDAPSTL_UNSCALED=1039, +ENC_LDAPURSH_64_LDAPSTL_UNSCALED=1040, +ENC_LDAPURSW_64_LDAPSTL_UNSCALED=1041, +ENC_LDAPUR_32_LDAPSTL_UNSCALED=1042, +ENC_LDAPUR_64_LDAPSTL_UNSCALED=1043, +ENC_LDAPUR_B_LDAPSTL_SIMD=1044, +ENC_LDAPUR_D_LDAPSTL_SIMD=1045, +ENC_LDAPUR_H_LDAPSTL_SIMD=1046, +ENC_LDAPUR_Q_LDAPSTL_SIMD=1047, +ENC_LDAPUR_S_LDAPSTL_SIMD=1048, +ENC_LDAP_64_LDIAPPSTILP=1049, +ENC_LDARB_LR32_LDSTORD=1050, +ENC_LDARH_LR32_LDSTORD=1051, +ENC_LDAR_LR32_LDSTORD=1052, +ENC_LDAR_LR64_LDSTORD=1053, +ENC_LDATXR_LR32_LDSTEXCLR_UNPRIV=1054, +ENC_LDATXR_LR64_LDSTEXCLR_UNPRIV=1055, +ENC_LDAXP_LP32_LDSTEXCLP=1056, +ENC_LDAXP_LP64_LDSTEXCLP=1057, +ENC_LDAXRB_LR32_LDSTEXCLR=1058, +ENC_LDAXRH_LR32_LDSTEXCLR=1059, +ENC_LDAXR_LR32_LDSTEXCLR=1060, +ENC_LDAXR_LR64_LDSTEXCLR=1061, +ENC_LDBFADDAL_16=1062, +ENC_LDBFADDA_16=1063, +ENC_LDBFADDL_16=1064, +ENC_LDBFADD_16=1065, +ENC_LDBFMAXAL_16=1066, +ENC_LDBFMAXA_16=1067, +ENC_LDBFMAXL_16=1068, +ENC_LDBFMAXNMAL_16=1069, +ENC_LDBFMAXNMA_16=1070, +ENC_LDBFMAXNML_16=1071, +ENC_LDBFMAXNM_16=1072, +ENC_LDBFMAX_16=1073, +ENC_LDBFMINAL_16=1074, +ENC_LDBFMINA_16=1075, +ENC_LDBFMINL_16=1076, +ENC_LDBFMINNMAL_16=1077, +ENC_LDBFMINNMA_16=1078, +ENC_LDBFMINNML_16=1079, +ENC_LDBFMINNM_16=1080, +ENC_LDBFMIN_16=1081, +ENC_LDCLRAB_32_MEMOP=1082, +ENC_LDCLRAH_32_MEMOP=1083, +ENC_LDCLRALB_32_MEMOP=1084, +ENC_LDCLRALH_32_MEMOP=1085, +ENC_LDCLRAL_32_MEMOP=1086, +ENC_LDCLRAL_64_MEMOP=1087, +ENC_LDCLRA_32_MEMOP=1088, +ENC_LDCLRA_64_MEMOP=1089, +ENC_LDCLRB_32_MEMOP=1090, +ENC_LDCLRH_32_MEMOP=1091, +ENC_LDCLRLB_32_MEMOP=1092, +ENC_LDCLRLH_32_MEMOP=1093, +ENC_LDCLRL_32_MEMOP=1094, +ENC_LDCLRL_64_MEMOP=1095, +ENC_LDCLRPAL_128_MEMOP_128=1096, +ENC_LDCLRPA_128_MEMOP_128=1097, +ENC_LDCLRPL_128_MEMOP_128=1098, +ENC_LDCLRP_128_MEMOP_128=1099, +ENC_LDCLR_32_MEMOP=1100, +ENC_LDCLR_64_MEMOP=1101, +ENC_LDEORAB_32_MEMOP=1102, +ENC_LDEORAH_32_MEMOP=1103, +ENC_LDEORALB_32_MEMOP=1104, +ENC_LDEORALH_32_MEMOP=1105, +ENC_LDEORAL_32_MEMOP=1106, +ENC_LDEORAL_64_MEMOP=1107, +ENC_LDEORA_32_MEMOP=1108, +ENC_LDEORA_64_MEMOP=1109, +ENC_LDEORB_32_MEMOP=1110, +ENC_LDEORH_32_MEMOP=1111, +ENC_LDEORLB_32_MEMOP=1112, +ENC_LDEORLH_32_MEMOP=1113, +ENC_LDEORL_32_MEMOP=1114, +ENC_LDEORL_64_MEMOP=1115, +ENC_LDEOR_32_MEMOP=1116, +ENC_LDEOR_64_MEMOP=1117, +ENC_LDFADDAL_16=1118, +ENC_LDFADDAL_32=1119, +ENC_LDFADDAL_64=1120, +ENC_LDFADDA_16=1121, +ENC_LDFADDA_32=1122, +ENC_LDFADDA_64=1123, +ENC_LDFADDL_16=1124, +ENC_LDFADDL_32=1125, +ENC_LDFADDL_64=1126, +ENC_LDFADD_16=1127, +ENC_LDFADD_32=1128, +ENC_LDFADD_64=1129, +ENC_LDFMAXAL_16=1130, +ENC_LDFMAXAL_32=1131, +ENC_LDFMAXAL_64=1132, +ENC_LDFMAXA_16=1133, +ENC_LDFMAXA_32=1134, +ENC_LDFMAXA_64=1135, +ENC_LDFMAXL_16=1136, +ENC_LDFMAXL_32=1137, +ENC_LDFMAXL_64=1138, +ENC_LDFMAXNMAL_16=1139, +ENC_LDFMAXNMAL_32=1140, +ENC_LDFMAXNMAL_64=1141, +ENC_LDFMAXNMA_16=1142, +ENC_LDFMAXNMA_32=1143, +ENC_LDFMAXNMA_64=1144, +ENC_LDFMAXNML_16=1145, +ENC_LDFMAXNML_32=1146, +ENC_LDFMAXNML_64=1147, +ENC_LDFMAXNM_16=1148, +ENC_LDFMAXNM_32=1149, +ENC_LDFMAXNM_64=1150, +ENC_LDFMAX_16=1151, +ENC_LDFMAX_32=1152, +ENC_LDFMAX_64=1153, +ENC_LDFMINAL_16=1154, +ENC_LDFMINAL_32=1155, +ENC_LDFMINAL_64=1156, +ENC_LDFMINA_16=1157, +ENC_LDFMINA_32=1158, +ENC_LDFMINA_64=1159, +ENC_LDFMINL_16=1160, +ENC_LDFMINL_32=1161, +ENC_LDFMINL_64=1162, +ENC_LDFMINNMAL_16=1163, +ENC_LDFMINNMAL_32=1164, +ENC_LDFMINNMAL_64=1165, +ENC_LDFMINNMA_16=1166, +ENC_LDFMINNMA_32=1167, +ENC_LDFMINNMA_64=1168, +ENC_LDFMINNML_16=1169, +ENC_LDFMINNML_32=1170, +ENC_LDFMINNML_64=1171, +ENC_LDFMINNM_16=1172, +ENC_LDFMINNM_32=1173, +ENC_LDFMINNM_64=1174, +ENC_LDFMIN_16=1175, +ENC_LDFMIN_32=1176, +ENC_LDFMIN_64=1177, +ENC_LDGM_64BULK_LDSTTAGS=1178, +ENC_LDG_64LOFFSET_LDSTTAGS=1179, +ENC_LDIAPP_32LE_LDIAPPSTILP=1180, +ENC_LDIAPP_32L_LDIAPPSTILP=1181, +ENC_LDIAPP_64LS_LDIAPPSTILP=1182, +ENC_LDIAPP_64L_LDIAPPSTILP=1183, +ENC_LDLARB_LR32_LDSTORD=1184, +ENC_LDLARH_LR32_LDSTORD=1185, +ENC_LDLAR_LR32_LDSTORD=1186, +ENC_LDLAR_LR64_LDSTORD=1187, +ENC_LDNP_32_LDSTNAPAIR_OFFS=1188, +ENC_LDNP_64_LDSTNAPAIR_OFFS=1189, +ENC_LDNP_D_LDSTNAPAIR_OFFS=1190, +ENC_LDNP_Q_LDSTNAPAIR_OFFS=1191, +ENC_LDNP_S_LDSTNAPAIR_OFFS=1192, +ENC_LDPSW_64_LDSTPAIR_OFF=1193, +ENC_LDPSW_64_LDSTPAIR_POST=1194, +ENC_LDPSW_64_LDSTPAIR_PRE=1195, +ENC_LDP_32_LDSTPAIR_OFF=1196, +ENC_LDP_32_LDSTPAIR_POST=1197, +ENC_LDP_32_LDSTPAIR_PRE=1198, +ENC_LDP_64_LDSTPAIR_OFF=1199, +ENC_LDP_64_LDSTPAIR_POST=1200, +ENC_LDP_64_LDSTPAIR_PRE=1201, +ENC_LDP_D_LDSTPAIR_OFF=1202, +ENC_LDP_D_LDSTPAIR_POST=1203, +ENC_LDP_D_LDSTPAIR_PRE=1204, +ENC_LDP_Q_LDSTPAIR_OFF=1205, +ENC_LDP_Q_LDSTPAIR_POST=1206, +ENC_LDP_Q_LDSTPAIR_PRE=1207, +ENC_LDP_S_LDSTPAIR_OFF=1208, +ENC_LDP_S_LDSTPAIR_POST=1209, +ENC_LDP_S_LDSTPAIR_PRE=1210, +ENC_LDRAA_64W_LDST_PAC=1211, +ENC_LDRAA_64_LDST_PAC=1212, +ENC_LDRAB_64W_LDST_PAC=1213, +ENC_LDRAB_64_LDST_PAC=1214, +ENC_LDRB_32BL_LDST_REGOFF=1215, +ENC_LDRB_32B_LDST_REGOFF=1216, +ENC_LDRB_32_LDST_IMMPOST=1217, +ENC_LDRB_32_LDST_IMMPRE=1218, +ENC_LDRB_32_LDST_POS=1219, +ENC_LDRH_32_LDST_IMMPOST=1220, +ENC_LDRH_32_LDST_IMMPRE=1221, +ENC_LDRH_32_LDST_POS=1222, +ENC_LDRH_32_LDST_REGOFF=1223, +ENC_LDRSB_32BL_LDST_REGOFF=1224, +ENC_LDRSB_32B_LDST_REGOFF=1225, +ENC_LDRSB_32_LDST_IMMPOST=1226, +ENC_LDRSB_32_LDST_IMMPRE=1227, +ENC_LDRSB_32_LDST_POS=1228, +ENC_LDRSB_64BL_LDST_REGOFF=1229, +ENC_LDRSB_64B_LDST_REGOFF=1230, +ENC_LDRSB_64_LDST_IMMPOST=1231, +ENC_LDRSB_64_LDST_IMMPRE=1232, +ENC_LDRSB_64_LDST_POS=1233, +ENC_LDRSH_32_LDST_IMMPOST=1234, +ENC_LDRSH_32_LDST_IMMPRE=1235, +ENC_LDRSH_32_LDST_POS=1236, +ENC_LDRSH_32_LDST_REGOFF=1237, +ENC_LDRSH_64_LDST_IMMPOST=1238, +ENC_LDRSH_64_LDST_IMMPRE=1239, +ENC_LDRSH_64_LDST_POS=1240, +ENC_LDRSH_64_LDST_REGOFF=1241, +ENC_LDRSW_64_LDST_IMMPOST=1242, +ENC_LDRSW_64_LDST_IMMPRE=1243, +ENC_LDRSW_64_LDST_POS=1244, +ENC_LDRSW_64_LDST_REGOFF=1245, +ENC_LDRSW_64_LOADLIT=1246, +ENC_LDR_32_LDST_IMMPOST=1247, +ENC_LDR_32_LDST_IMMPRE=1248, +ENC_LDR_32_LDST_POS=1249, +ENC_LDR_32_LDST_REGOFF=1250, +ENC_LDR_32_LOADLIT=1251, +ENC_LDR_64_LDST_IMMPOST=1252, +ENC_LDR_64_LDST_IMMPRE=1253, +ENC_LDR_64_LDST_POS=1254, +ENC_LDR_64_LDST_REGOFF=1255, +ENC_LDR_64_LOADLIT=1256, +ENC_LDR_BL_LDST_REGOFF=1257, +ENC_LDR_B_LDST_IMMPOST=1258, +ENC_LDR_B_LDST_IMMPRE=1259, +ENC_LDR_B_LDST_POS=1260, +ENC_LDR_B_LDST_REGOFF=1261, +ENC_LDR_D_LDST_IMMPOST=1262, +ENC_LDR_D_LDST_IMMPRE=1263, +ENC_LDR_D_LDST_POS=1264, +ENC_LDR_D_LDST_REGOFF=1265, +ENC_LDR_D_LOADLIT=1266, +ENC_LDR_H_LDST_IMMPOST=1267, +ENC_LDR_H_LDST_IMMPRE=1268, +ENC_LDR_H_LDST_POS=1269, +ENC_LDR_H_LDST_REGOFF=1270, +ENC_LDR_Q_LDST_IMMPOST=1271, +ENC_LDR_Q_LDST_IMMPRE=1272, +ENC_LDR_Q_LDST_POS=1273, +ENC_LDR_Q_LDST_REGOFF=1274, +ENC_LDR_Q_LOADLIT=1275, +ENC_LDR_S_LDST_IMMPOST=1276, +ENC_LDR_S_LDST_IMMPRE=1277, +ENC_LDR_S_LDST_POS=1278, +ENC_LDR_S_LDST_REGOFF=1279, +ENC_LDR_S_LOADLIT=1280, +ENC_LDSETAB_32_MEMOP=1281, +ENC_LDSETAH_32_MEMOP=1282, +ENC_LDSETALB_32_MEMOP=1283, +ENC_LDSETALH_32_MEMOP=1284, +ENC_LDSETAL_32_MEMOP=1285, +ENC_LDSETAL_64_MEMOP=1286, +ENC_LDSETA_32_MEMOP=1287, +ENC_LDSETA_64_MEMOP=1288, +ENC_LDSETB_32_MEMOP=1289, +ENC_LDSETH_32_MEMOP=1290, +ENC_LDSETLB_32_MEMOP=1291, +ENC_LDSETLH_32_MEMOP=1292, +ENC_LDSETL_32_MEMOP=1293, +ENC_LDSETL_64_MEMOP=1294, +ENC_LDSETPAL_128_MEMOP_128=1295, +ENC_LDSETPA_128_MEMOP_128=1296, +ENC_LDSETPL_128_MEMOP_128=1297, +ENC_LDSETP_128_MEMOP_128=1298, +ENC_LDSET_32_MEMOP=1299, +ENC_LDSET_64_MEMOP=1300, +ENC_LDSMAXAB_32_MEMOP=1301, +ENC_LDSMAXAH_32_MEMOP=1302, +ENC_LDSMAXALB_32_MEMOP=1303, +ENC_LDSMAXALH_32_MEMOP=1304, +ENC_LDSMAXAL_32_MEMOP=1305, +ENC_LDSMAXAL_64_MEMOP=1306, +ENC_LDSMAXA_32_MEMOP=1307, +ENC_LDSMAXA_64_MEMOP=1308, +ENC_LDSMAXB_32_MEMOP=1309, +ENC_LDSMAXH_32_MEMOP=1310, +ENC_LDSMAXLB_32_MEMOP=1311, +ENC_LDSMAXLH_32_MEMOP=1312, +ENC_LDSMAXL_32_MEMOP=1313, +ENC_LDSMAXL_64_MEMOP=1314, +ENC_LDSMAX_32_MEMOP=1315, +ENC_LDSMAX_64_MEMOP=1316, +ENC_LDSMINAB_32_MEMOP=1317, +ENC_LDSMINAH_32_MEMOP=1318, +ENC_LDSMINALB_32_MEMOP=1319, +ENC_LDSMINALH_32_MEMOP=1320, +ENC_LDSMINAL_32_MEMOP=1321, +ENC_LDSMINAL_64_MEMOP=1322, +ENC_LDSMINA_32_MEMOP=1323, +ENC_LDSMINA_64_MEMOP=1324, +ENC_LDSMINB_32_MEMOP=1325, +ENC_LDSMINH_32_MEMOP=1326, +ENC_LDSMINLB_32_MEMOP=1327, +ENC_LDSMINLH_32_MEMOP=1328, +ENC_LDSMINL_32_MEMOP=1329, +ENC_LDSMINL_64_MEMOP=1330, +ENC_LDSMIN_32_MEMOP=1331, +ENC_LDSMIN_64_MEMOP=1332, +ENC_LDTADDAL_32_MEMOP_UNPRIV=1333, +ENC_LDTADDAL_64_MEMOP_UNPRIV=1334, +ENC_LDTADDA_32_MEMOP_UNPRIV=1335, +ENC_LDTADDA_64_MEMOP_UNPRIV=1336, +ENC_LDTADDL_32_MEMOP_UNPRIV=1337, +ENC_LDTADDL_64_MEMOP_UNPRIV=1338, +ENC_LDTADD_32_MEMOP_UNPRIV=1339, +ENC_LDTADD_64_MEMOP_UNPRIV=1340, +ENC_LDTCLRAL_32_MEMOP_UNPRIV=1341, +ENC_LDTCLRAL_64_MEMOP_UNPRIV=1342, +ENC_LDTCLRA_32_MEMOP_UNPRIV=1343, +ENC_LDTCLRA_64_MEMOP_UNPRIV=1344, +ENC_LDTCLRL_32_MEMOP_UNPRIV=1345, +ENC_LDTCLRL_64_MEMOP_UNPRIV=1346, +ENC_LDTCLR_32_MEMOP_UNPRIV=1347, +ENC_LDTCLR_64_MEMOP_UNPRIV=1348, +ENC_LDTNP_64_LDSTNAPAIR_OFFS=1349, +ENC_LDTNP_Q_LDSTNAPAIR_OFFS=1350, +ENC_LDTP_64_LDSTPAIR_OFF=1351, +ENC_LDTP_64_LDSTPAIR_POST=1352, +ENC_LDTP_64_LDSTPAIR_PRE=1353, +ENC_LDTP_Q_LDSTPAIR_OFF=1354, +ENC_LDTP_Q_LDSTPAIR_POST=1355, +ENC_LDTP_Q_LDSTPAIR_PRE=1356, +ENC_LDTRB_32_LDST_UNPRIV=1357, +ENC_LDTRH_32_LDST_UNPRIV=1358, +ENC_LDTRSB_32_LDST_UNPRIV=1359, +ENC_LDTRSB_64_LDST_UNPRIV=1360, +ENC_LDTRSH_32_LDST_UNPRIV=1361, +ENC_LDTRSH_64_LDST_UNPRIV=1362, +ENC_LDTRSW_64_LDST_UNPRIV=1363, +ENC_LDTR_32_LDST_UNPRIV=1364, +ENC_LDTR_64_LDST_UNPRIV=1365, +ENC_LDTSETAL_32_MEMOP_UNPRIV=1366, +ENC_LDTSETAL_64_MEMOP_UNPRIV=1367, +ENC_LDTSETA_32_MEMOP_UNPRIV=1368, +ENC_LDTSETA_64_MEMOP_UNPRIV=1369, +ENC_LDTSETL_32_MEMOP_UNPRIV=1370, +ENC_LDTSETL_64_MEMOP_UNPRIV=1371, +ENC_LDTSET_32_MEMOP_UNPRIV=1372, +ENC_LDTSET_64_MEMOP_UNPRIV=1373, +ENC_LDTXR_LR32_LDSTEXCLR_UNPRIV=1374, +ENC_LDTXR_LR64_LDSTEXCLR_UNPRIV=1375, +ENC_LDUMAXAB_32_MEMOP=1376, +ENC_LDUMAXAH_32_MEMOP=1377, +ENC_LDUMAXALB_32_MEMOP=1378, +ENC_LDUMAXALH_32_MEMOP=1379, +ENC_LDUMAXAL_32_MEMOP=1380, +ENC_LDUMAXAL_64_MEMOP=1381, +ENC_LDUMAXA_32_MEMOP=1382, +ENC_LDUMAXA_64_MEMOP=1383, +ENC_LDUMAXB_32_MEMOP=1384, +ENC_LDUMAXH_32_MEMOP=1385, +ENC_LDUMAXLB_32_MEMOP=1386, +ENC_LDUMAXLH_32_MEMOP=1387, +ENC_LDUMAXL_32_MEMOP=1388, +ENC_LDUMAXL_64_MEMOP=1389, +ENC_LDUMAX_32_MEMOP=1390, +ENC_LDUMAX_64_MEMOP=1391, +ENC_LDUMINAB_32_MEMOP=1392, +ENC_LDUMINAH_32_MEMOP=1393, +ENC_LDUMINALB_32_MEMOP=1394, +ENC_LDUMINALH_32_MEMOP=1395, +ENC_LDUMINAL_32_MEMOP=1396, +ENC_LDUMINAL_64_MEMOP=1397, +ENC_LDUMINA_32_MEMOP=1398, +ENC_LDUMINA_64_MEMOP=1399, +ENC_LDUMINB_32_MEMOP=1400, +ENC_LDUMINH_32_MEMOP=1401, +ENC_LDUMINLB_32_MEMOP=1402, +ENC_LDUMINLH_32_MEMOP=1403, +ENC_LDUMINL_32_MEMOP=1404, +ENC_LDUMINL_64_MEMOP=1405, +ENC_LDUMIN_32_MEMOP=1406, +ENC_LDUMIN_64_MEMOP=1407, +ENC_LDURB_32_LDST_UNSCALED=1408, +ENC_LDURH_32_LDST_UNSCALED=1409, +ENC_LDURSB_32_LDST_UNSCALED=1410, +ENC_LDURSB_64_LDST_UNSCALED=1411, +ENC_LDURSH_32_LDST_UNSCALED=1412, +ENC_LDURSH_64_LDST_UNSCALED=1413, +ENC_LDURSW_64_LDST_UNSCALED=1414, +ENC_LDUR_32_LDST_UNSCALED=1415, +ENC_LDUR_64_LDST_UNSCALED=1416, +ENC_LDUR_B_LDST_UNSCALED=1417, +ENC_LDUR_D_LDST_UNSCALED=1418, +ENC_LDUR_H_LDST_UNSCALED=1419, +ENC_LDUR_Q_LDST_UNSCALED=1420, +ENC_LDUR_S_LDST_UNSCALED=1421, +ENC_LDXP_LP32_LDSTEXCLP=1422, +ENC_LDXP_LP64_LDSTEXCLP=1423, +ENC_LDXRB_LR32_LDSTEXCLR=1424, +ENC_LDXRH_LR32_LDSTEXCLR=1425, +ENC_LDXR_LR32_LDSTEXCLR=1426, +ENC_LDXR_LR64_LDSTEXCLR=1427, +ENC_LSLV_32_DP_2SRC=1428, +ENC_LSLV_64_DP_2SRC=1429, +ENC_LSL_LSLV_32_DP_2SRC=1430, // alias +ENC_LSL_LSLV_64_DP_2SRC=1431, // alias +ENC_LSL_UBFM_32M_BITFIELD=1432, // alias +ENC_LSL_UBFM_64M_BITFIELD=1433, // alias +ENC_LSRV_32_DP_2SRC=1434, +ENC_LSRV_64_DP_2SRC=1435, +ENC_LSR_LSRV_32_DP_2SRC=1436, // alias +ENC_LSR_LSRV_64_DP_2SRC=1437, // alias +ENC_LSR_UBFM_32M_BITFIELD=1438, // alias +ENC_LSR_UBFM_64M_BITFIELD=1439, // alias +ENC_LUTI2_ASIMDTBL_L5=1440, +ENC_LUTI2_ASIMDTBL_L6=1441, +ENC_LUTI4_ASIMDTBL_L5=1442, +ENC_LUTI4_ASIMDTBL_L7=1443, +ENC_MADDPT_64A_DP_3SRC=1444, +ENC_MADD_32A_DP_3SRC=1445, +ENC_MADD_64A_DP_3SRC=1446, +ENC_MLA_ASIMDELEM_R=1447, +ENC_MLA_ASIMDSAME_ONLY=1448, +ENC_MLBI_SYS_CR_SYSTEMINSTRS=1449, // alias +ENC_MLS_ASIMDELEM_R=1450, +ENC_MLS_ASIMDSAME_ONLY=1451, +ENC_MNEG_MSUB_32A_DP_3SRC=1452, // alias +ENC_MNEG_MSUB_64A_DP_3SRC=1453, // alias +ENC_MOVI_ASIMDIMM_D2_D=1454, +ENC_MOVI_ASIMDIMM_D_DS=1455, +ENC_MOVI_ASIMDIMM_L_HL=1456, +ENC_MOVI_ASIMDIMM_L_SL=1457, +ENC_MOVI_ASIMDIMM_M_SM=1458, +ENC_MOVI_ASIMDIMM_N_B=1459, +ENC_MOVK_32_MOVEWIDE=1460, +ENC_MOVK_64_MOVEWIDE=1461, +ENC_MOVN_32_MOVEWIDE=1462, +ENC_MOVN_64_MOVEWIDE=1463, +ENC_MOVZ_32_MOVEWIDE=1464, +ENC_MOVZ_64_MOVEWIDE=1465, +ENC_MOV_ADD_32_ADDSUB_IMM=1466, // alias +ENC_MOV_ADD_64_ADDSUB_IMM=1467, // alias +ENC_MOV_DUP_ASISDONE_ONLY=1468, // alias +ENC_MOV_INS_ASIMDINS_IR_R=1469, // alias +ENC_MOV_INS_ASIMDINS_IV_V=1470, // alias +ENC_MOV_MOVN_32_MOVEWIDE=1471, // alias +ENC_MOV_MOVN_64_MOVEWIDE=1472, // alias +ENC_MOV_MOVZ_32_MOVEWIDE=1473, // alias +ENC_MOV_MOVZ_64_MOVEWIDE=1474, // alias +ENC_MOV_ORR_32_LOG_IMM=1475, // alias +ENC_MOV_ORR_32_LOG_SHIFT=1476, // alias +ENC_MOV_ORR_64_LOG_IMM=1477, // alias +ENC_MOV_ORR_64_LOG_SHIFT=1478, // alias +ENC_MOV_ORR_ASIMDSAME_ONLY=1479, // alias +ENC_MOV_UMOV_ASIMDINS_W_W=1480, // alias +ENC_MOV_UMOV_ASIMDINS_X_X=1481, // alias +ENC_MRRS_RS_SYSTEMMOVEPR=1482, +ENC_MRS_RS_SYSTEMMOVE=1483, +ENC_MSRR_SR_SYSTEMMOVEPR=1484, +ENC_MSR_SI_PSTATE=1485, +ENC_MSR_SR_SYSTEMMOVE=1486, +ENC_MSUBPT_64A_DP_3SRC=1487, +ENC_MSUB_32A_DP_3SRC=1488, +ENC_MSUB_64A_DP_3SRC=1489, +ENC_MUL_MADD_32A_DP_3SRC=1490, // alias +ENC_MUL_MADD_64A_DP_3SRC=1491, // alias +ENC_MUL_ASIMDELEM_R=1492, +ENC_MUL_ASIMDSAME_ONLY=1493, +ENC_MVNI_ASIMDIMM_L_HL=1494, +ENC_MVNI_ASIMDIMM_L_SL=1495, +ENC_MVNI_ASIMDIMM_M_SM=1496, +ENC_MVN_NOT_ASIMDMISC_R=1497, // alias +ENC_MVN_ORN_32_LOG_SHIFT=1498, // alias +ENC_MVN_ORN_64_LOG_SHIFT=1499, // alias +ENC_NEGS_SUBS_32_ADDSUB_SHIFT=1500, // alias +ENC_NEGS_SUBS_64_ADDSUB_SHIFT=1501, // alias +ENC_NEG_SUB_32_ADDSUB_SHIFT=1502, // alias +ENC_NEG_SUB_64_ADDSUB_SHIFT=1503, // alias +ENC_NEG_ASIMDMISC_R=1504, +ENC_NEG_ASISDMISC_R=1505, +ENC_NGCS_SBCS_32_ADDSUB_CARRY=1506, // alias +ENC_NGCS_SBCS_64_ADDSUB_CARRY=1507, // alias +ENC_NGC_SBC_32_ADDSUB_CARRY=1508, // alias +ENC_NGC_SBC_64_ADDSUB_CARRY=1509, // alias +ENC_NOP_HI_HINTS=1510, +ENC_NOT_ASIMDMISC_R=1511, +ENC_ORN_32_LOG_SHIFT=1512, +ENC_ORN_64_LOG_SHIFT=1513, +ENC_ORN_ASIMDSAME_ONLY=1514, +ENC_ORR_32_LOG_IMM=1515, +ENC_ORR_32_LOG_SHIFT=1516, +ENC_ORR_64_LOG_IMM=1517, +ENC_ORR_64_LOG_SHIFT=1518, +ENC_ORR_ASIMDIMM_L_HL=1519, +ENC_ORR_ASIMDIMM_L_SL=1520, +ENC_ORR_ASIMDSAME_ONLY=1521, +ENC_PACDA_64P_DP_1SRC=1522, +ENC_PACDB_64P_DP_1SRC=1523, +ENC_PACDZA_64Z_DP_1SRC=1524, +ENC_PACDZB_64Z_DP_1SRC=1525, +ENC_PACGA_64P_DP_2SRC=1526, +ENC_PACIA171615_64LR_DP_1SRC=1527, +ENC_PACIA1716_HI_HINTS=1528, +ENC_PACIASPPC_64LR_DP_1SRC=1529, +ENC_PACIASP_HI_HINTS=1530, +ENC_PACIAZ_HI_HINTS=1531, +ENC_PACIA_64P_DP_1SRC=1532, +ENC_PACIB171615_64LR_DP_1SRC=1533, +ENC_PACIB1716_HI_HINTS=1534, +ENC_PACIBSPPC_64LR_DP_1SRC=1535, +ENC_PACIBSP_HI_HINTS=1536, +ENC_PACIBZ_HI_HINTS=1537, +ENC_PACIB_64P_DP_1SRC=1538, +ENC_PACIZA_64Z_DP_1SRC=1539, +ENC_PACIZB_64Z_DP_1SRC=1540, +ENC_PACM_HI_HINTS=1541, +ENC_PACNBIASPPC_64LR_DP_1SRC=1542, +ENC_PACNBIBSPPC_64LR_DP_1SRC=1543, +ENC_PMULL_ASIMDDIFF_L=1544, +ENC_PMUL_ASIMDSAME_ONLY=1545, +ENC_PRFM_P_LDST_POS=1546, +ENC_PRFM_P_LDST_REGOFF=1547, +ENC_PRFM_P_LOADLIT=1548, +ENC_PRFUM_P_LDST_UNSCALED=1549, +ENC_PSB_HC_HINTS=1550, +ENC_PSSBB_DSB_BO_BARRIERS=1551, // alias +ENC_RADDHN_ASIMDDIFF_N=1552, +ENC_RAX1_VVV2_CRYPTOSHA512_3=1553, +ENC_RBIT_32_DP_1SRC=1554, +ENC_RBIT_64_DP_1SRC=1555, +ENC_RBIT_ASIMDMISC_R=1556, +ENC_RCWCASAL_C64_RCWCOMSWAP=1557, +ENC_RCWCASA_C64_RCWCOMSWAP=1558, +ENC_RCWCASL_C64_RCWCOMSWAP=1559, +ENC_RCWCASPAL_C64_RCWCOMSWAPPR=1560, +ENC_RCWCASPA_C64_RCWCOMSWAPPR=1561, +ENC_RCWCASPL_C64_RCWCOMSWAPPR=1562, +ENC_RCWCASP_C64_RCWCOMSWAPPR=1563, +ENC_RCWCAS_C64_RCWCOMSWAP=1564, +ENC_RCWCLRAL_64_MEMOP=1565, +ENC_RCWCLRA_64_MEMOP=1566, +ENC_RCWCLRL_64_MEMOP=1567, +ENC_RCWCLRPAL_128_MEMOP_128=1568, +ENC_RCWCLRPA_128_MEMOP_128=1569, +ENC_RCWCLRPL_128_MEMOP_128=1570, +ENC_RCWCLRP_128_MEMOP_128=1571, +ENC_RCWCLR_64_MEMOP=1572, +ENC_RCWSCASAL_C64_RCWCOMSWAP=1573, +ENC_RCWSCASA_C64_RCWCOMSWAP=1574, +ENC_RCWSCASL_C64_RCWCOMSWAP=1575, +ENC_RCWSCASPAL_C64_RCWCOMSWAPPR=1576, +ENC_RCWSCASPA_C64_RCWCOMSWAPPR=1577, +ENC_RCWSCASPL_C64_RCWCOMSWAPPR=1578, +ENC_RCWSCASP_C64_RCWCOMSWAPPR=1579, +ENC_RCWSCAS_C64_RCWCOMSWAP=1580, +ENC_RCWSCLRAL_64_MEMOP=1581, +ENC_RCWSCLRA_64_MEMOP=1582, +ENC_RCWSCLRL_64_MEMOP=1583, +ENC_RCWSCLRPAL_128_MEMOP_128=1584, +ENC_RCWSCLRPA_128_MEMOP_128=1585, +ENC_RCWSCLRPL_128_MEMOP_128=1586, +ENC_RCWSCLRP_128_MEMOP_128=1587, +ENC_RCWSCLR_64_MEMOP=1588, +ENC_RCWSETAL_64_MEMOP=1589, +ENC_RCWSETA_64_MEMOP=1590, +ENC_RCWSETL_64_MEMOP=1591, +ENC_RCWSETPAL_128_MEMOP_128=1592, +ENC_RCWSETPA_128_MEMOP_128=1593, +ENC_RCWSETPL_128_MEMOP_128=1594, +ENC_RCWSETP_128_MEMOP_128=1595, +ENC_RCWSET_64_MEMOP=1596, +ENC_RCWSSETAL_64_MEMOP=1597, +ENC_RCWSSETA_64_MEMOP=1598, +ENC_RCWSSETL_64_MEMOP=1599, +ENC_RCWSSETPAL_128_MEMOP_128=1600, +ENC_RCWSSETPA_128_MEMOP_128=1601, +ENC_RCWSSETPL_128_MEMOP_128=1602, +ENC_RCWSSETP_128_MEMOP_128=1603, +ENC_RCWSSET_64_MEMOP=1604, +ENC_RCWSSWPAL_64_MEMOP=1605, +ENC_RCWSSWPA_64_MEMOP=1606, +ENC_RCWSSWPL_64_MEMOP=1607, +ENC_RCWSSWPPAL_128_MEMOP_128=1608, +ENC_RCWSSWPPA_128_MEMOP_128=1609, +ENC_RCWSSWPPL_128_MEMOP_128=1610, +ENC_RCWSSWPP_128_MEMOP_128=1611, +ENC_RCWSSWP_64_MEMOP=1612, +ENC_RCWSWPAL_64_MEMOP=1613, +ENC_RCWSWPA_64_MEMOP=1614, +ENC_RCWSWPL_64_MEMOP=1615, +ENC_RCWSWPPAL_128_MEMOP_128=1616, +ENC_RCWSWPPA_128_MEMOP_128=1617, +ENC_RCWSWPPL_128_MEMOP_128=1618, +ENC_RCWSWPP_128_MEMOP_128=1619, +ENC_RCWSWP_64_MEMOP=1620, +ENC_RETAASPPCR_64M_BRANCH_REG=1621, +ENC_RETAASPPC_ONLY_MISCBRANCH=1622, +ENC_RETAA_64E_BRANCH_REG=1623, +ENC_RETABSPPCR_64M_BRANCH_REG=1624, +ENC_RETABSPPC_ONLY_MISCBRANCH=1625, +ENC_RETAB_64E_BRANCH_REG=1626, +ENC_RET_64R_BRANCH_REG=1627, +ENC_REV16_32_DP_1SRC=1628, +ENC_REV16_64_DP_1SRC=1629, +ENC_REV16_ASIMDMISC_R=1630, +ENC_REV32_64_DP_1SRC=1631, +ENC_REV32_ASIMDMISC_R=1632, +ENC_REV64_REV_64_DP_1SRC=1633, // alias +ENC_REV64_ASIMDMISC_R=1634, +ENC_REV_32_DP_1SRC=1635, +ENC_REV_64_DP_1SRC=1636, +ENC_RMIF_ONLY_RMIF=1637, +ENC_RORV_32_DP_2SRC=1638, +ENC_RORV_64_DP_2SRC=1639, +ENC_ROR_EXTR_32_EXTRACT=1640, // alias +ENC_ROR_EXTR_64_EXTRACT=1641, // alias +ENC_ROR_RORV_32_DP_2SRC=1642, // alias +ENC_ROR_RORV_64_DP_2SRC=1643, // alias +ENC_RPRFM_R_LDST_REGOFF=1644, +ENC_RSHRN_ASIMDSHF_N=1645, +ENC_RSUBHN_ASIMDDIFF_N=1646, +ENC_SABAL_ASIMDDIFF_L=1647, +ENC_SABA_ASIMDSAME_ONLY=1648, +ENC_SABDL_ASIMDDIFF_L=1649, +ENC_SABD_ASIMDSAME_ONLY=1650, +ENC_SADALP_ASIMDMISC_P=1651, +ENC_SADDLP_ASIMDMISC_P=1652, +ENC_SADDLV_ASIMDALL_ONLY=1653, +ENC_SADDL_ASIMDDIFF_L=1654, +ENC_SADDW_ASIMDDIFF_W=1655, +ENC_SBCS_32_ADDSUB_CARRY=1656, +ENC_SBCS_64_ADDSUB_CARRY=1657, +ENC_SBC_32_ADDSUB_CARRY=1658, +ENC_SBC_64_ADDSUB_CARRY=1659, +ENC_SBFIZ_SBFM_32M_BITFIELD=1660, // alias +ENC_SBFIZ_SBFM_64M_BITFIELD=1661, // alias +ENC_SBFM_32M_BITFIELD=1662, +ENC_SBFM_64M_BITFIELD=1663, +ENC_SBFX_SBFM_32M_BITFIELD=1664, // alias +ENC_SBFX_SBFM_64M_BITFIELD=1665, // alias +ENC_SB_ONLY_BARRIERS=1666, +ENC_SCVTF_D32_FLOAT2FIX=1667, +ENC_SCVTF_D32_FLOAT2INT=1668, +ENC_SCVTF_D64_FLOAT2FIX=1669, +ENC_SCVTF_D64_FLOAT2INT=1670, +ENC_SCVTF_H32_FLOAT2FIX=1671, +ENC_SCVTF_H32_FLOAT2INT=1672, +ENC_SCVTF_H64_FLOAT2FIX=1673, +ENC_SCVTF_H64_FLOAT2INT=1674, +ENC_SCVTF_S32_FLOAT2FIX=1675, +ENC_SCVTF_S32_FLOAT2INT=1676, +ENC_SCVTF_S64_FLOAT2FIX=1677, +ENC_SCVTF_S64_FLOAT2INT=1678, +ENC_SCVTF_ASIMDMISC_R=1679, +ENC_SCVTF_ASIMDMISCFP16_R=1680, +ENC_SCVTF_ASIMDSHF_C=1681, +ENC_SCVTF_ASISDMISC_R=1682, +ENC_SCVTF_ASISDMISCFP16_R=1683, +ENC_SCVTF_ASISDSHF_C=1684, +ENC_SCVTF_SISD_32D=1685, +ENC_SCVTF_SISD_32H=1686, +ENC_SCVTF_SISD_64H=1687, +ENC_SCVTF_SISD_64S=1688, +ENC_SDIV_32_DP_2SRC=1689, +ENC_SDIV_64_DP_2SRC=1690, +ENC_SDOT_ASIMDELEM_D=1691, +ENC_SDOT_ASIMDSAME2_D=1692, +ENC_SETEN_SET_MEMCMS=1693, +ENC_SETETN_SET_MEMCMS=1694, +ENC_SETET_SET_MEMCMS=1695, +ENC_SETE_SET_MEMCMS=1696, +ENC_SETF16_ONLY_SETF=1697, +ENC_SETF8_ONLY_SETF=1698, +ENC_SETGEN_SET_MEMCMS=1699, +ENC_SETGETN_SET_MEMCMS=1700, +ENC_SETGET_SET_MEMCMS=1701, +ENC_SETGE_SET_MEMCMS=1702, +ENC_SETGMN_SET_MEMCMS=1703, +ENC_SETGMTN_SET_MEMCMS=1704, +ENC_SETGMT_SET_MEMCMS=1705, +ENC_SETGM_SET_MEMCMS=1706, +ENC_SETGPN_SET_MEMCMS=1707, +ENC_SETGPTN_SET_MEMCMS=1708, +ENC_SETGPT_SET_MEMCMS=1709, +ENC_SETGP_SET_MEMCMS=1710, +ENC_SETMN_SET_MEMCMS=1711, +ENC_SETMTN_SET_MEMCMS=1712, +ENC_SETMT_SET_MEMCMS=1713, +ENC_SETM_SET_MEMCMS=1714, +ENC_SETPN_SET_MEMCMS=1715, +ENC_SETPTN_SET_MEMCMS=1716, +ENC_SETPT_SET_MEMCMS=1717, +ENC_SETP_SET_MEMCMS=1718, +ENC_SEVL_HI_HINTS=1719, +ENC_SEV_HI_HINTS=1720, +ENC_SHA1C_QSV_CRYPTOSHA3=1721, +ENC_SHA1H_SS_CRYPTOSHA2=1722, +ENC_SHA1M_QSV_CRYPTOSHA3=1723, +ENC_SHA1P_QSV_CRYPTOSHA3=1724, +ENC_SHA1SU0_VVV_CRYPTOSHA3=1725, +ENC_SHA1SU1_VV_CRYPTOSHA2=1726, +ENC_SHA256H2_QQV_CRYPTOSHA3=1727, +ENC_SHA256H_QQV_CRYPTOSHA3=1728, +ENC_SHA256SU0_VV_CRYPTOSHA2=1729, +ENC_SHA256SU1_VVV_CRYPTOSHA3=1730, +ENC_SHA512H2_QQV_CRYPTOSHA512_3=1731, +ENC_SHA512H_QQV_CRYPTOSHA512_3=1732, +ENC_SHA512SU0_VV2_CRYPTOSHA512_2=1733, +ENC_SHA512SU1_VVV2_CRYPTOSHA512_3=1734, +ENC_SHADD_ASIMDSAME_ONLY=1735, +ENC_SHLL_ASIMDMISC_S=1736, +ENC_SHL_ASIMDSHF_R=1737, +ENC_SHL_ASISDSHF_R=1738, +ENC_SHRN_ASIMDSHF_N=1739, +ENC_SHSUB_ASIMDSAME_ONLY=1740, +ENC_SHUH_HI_HINTS=1741, +ENC_SLI_ASIMDSHF_R=1742, +ENC_SLI_ASISDSHF_R=1743, +ENC_SM3PARTW1_VVV4_CRYPTOSHA512_3=1744, +ENC_SM3PARTW2_VVV4_CRYPTOSHA512_3=1745, +ENC_SM3SS1_VVV4_CRYPTO4=1746, +ENC_SM3TT1A_VVV4_CRYPTO3_IMM2=1747, +ENC_SM3TT1B_VVV4_CRYPTO3_IMM2=1748, +ENC_SM3TT2A_VVV4_CRYPTO3_IMM2=1749, +ENC_SM3TT2B_VVV_CRYPTO3_IMM2=1750, +ENC_SM4EKEY_VVV4_CRYPTOSHA512_3=1751, +ENC_SM4E_VV4_CRYPTOSHA512_2=1752, +ENC_SMADDL_64WA_DP_3SRC=1753, +ENC_SMAXP_ASIMDSAME_ONLY=1754, +ENC_SMAXV_ASIMDALL_ONLY=1755, +ENC_SMAX_32_DP_2SRC=1756, +ENC_SMAX_32_MINMAX_IMM=1757, +ENC_SMAX_64_DP_2SRC=1758, +ENC_SMAX_64_MINMAX_IMM=1759, +ENC_SMAX_ASIMDSAME_ONLY=1760, +ENC_SMC_EX_EXCEPTION=1761, +ENC_SMINP_ASIMDSAME_ONLY=1762, +ENC_SMINV_ASIMDALL_ONLY=1763, +ENC_SMIN_32_DP_2SRC=1764, +ENC_SMIN_32_MINMAX_IMM=1765, +ENC_SMIN_64_DP_2SRC=1766, +ENC_SMIN_64_MINMAX_IMM=1767, +ENC_SMIN_ASIMDSAME_ONLY=1768, +ENC_SMLAL_ASIMDDIFF_L=1769, +ENC_SMLAL_ASIMDELEM_L=1770, +ENC_SMLSL_ASIMDDIFF_L=1771, +ENC_SMLSL_ASIMDELEM_L=1772, +ENC_SMMLA_ASIMDSAME2_G=1773, +ENC_SMNEGL_SMSUBL_64WA_DP_3SRC=1774, // alias +ENC_SMOV_ASIMDINS_W_W=1775, +ENC_SMOV_ASIMDINS_X_X=1776, +ENC_SMSTART_MSR_SI_PSTATE=1777, // alias +ENC_SMSTOP_MSR_SI_PSTATE=1778, // alias +ENC_SMSUBL_64WA_DP_3SRC=1779, +ENC_SMULH_64_DP_3SRC=1780, +ENC_SMULL_SMADDL_64WA_DP_3SRC=1781, // alias +ENC_SMULL_ASIMDDIFF_L=1782, +ENC_SMULL_ASIMDELEM_L=1783, +ENC_SQABS_ASIMDMISC_R=1784, +ENC_SQABS_ASISDMISC_R=1785, +ENC_SQADD_ASIMDSAME_ONLY=1786, +ENC_SQADD_ASISDSAME_ONLY=1787, +ENC_SQDMLAL_ASIMDDIFF_L=1788, +ENC_SQDMLAL_ASIMDELEM_L=1789, +ENC_SQDMLAL_ASISDDIFF_ONLY=1790, +ENC_SQDMLAL_ASISDELEM_L=1791, +ENC_SQDMLSL_ASIMDDIFF_L=1792, +ENC_SQDMLSL_ASIMDELEM_L=1793, +ENC_SQDMLSL_ASISDDIFF_ONLY=1794, +ENC_SQDMLSL_ASISDELEM_L=1795, +ENC_SQDMULH_ASIMDELEM_R=1796, +ENC_SQDMULH_ASIMDSAME_ONLY=1797, +ENC_SQDMULH_ASISDELEM_R=1798, +ENC_SQDMULH_ASISDSAME_ONLY=1799, +ENC_SQDMULL_ASIMDDIFF_L=1800, +ENC_SQDMULL_ASIMDELEM_L=1801, +ENC_SQDMULL_ASISDDIFF_ONLY=1802, +ENC_SQDMULL_ASISDELEM_L=1803, +ENC_SQNEG_ASIMDMISC_R=1804, +ENC_SQNEG_ASISDMISC_R=1805, +ENC_SQRDMLAH_ASIMDELEM_R=1806, +ENC_SQRDMLAH_ASIMDSAME2_ONLY=1807, +ENC_SQRDMLAH_ASISDELEM_R=1808, +ENC_SQRDMLAH_ASISDSAME2_ONLY=1809, +ENC_SQRDMLSH_ASIMDELEM_R=1810, +ENC_SQRDMLSH_ASIMDSAME2_ONLY=1811, +ENC_SQRDMLSH_ASISDELEM_R=1812, +ENC_SQRDMLSH_ASISDSAME2_ONLY=1813, +ENC_SQRDMULH_ASIMDELEM_R=1814, +ENC_SQRDMULH_ASIMDSAME_ONLY=1815, +ENC_SQRDMULH_ASISDELEM_R=1816, +ENC_SQRDMULH_ASISDSAME_ONLY=1817, +ENC_SQRSHL_ASIMDSAME_ONLY=1818, +ENC_SQRSHL_ASISDSAME_ONLY=1819, +ENC_SQRSHRN_ASIMDSHF_N=1820, +ENC_SQRSHRN_ASISDSHF_N=1821, +ENC_SQRSHRUN_ASIMDSHF_N=1822, +ENC_SQRSHRUN_ASISDSHF_N=1823, +ENC_SQSHLU_ASIMDSHF_R=1824, +ENC_SQSHLU_ASISDSHF_R=1825, +ENC_SQSHL_ASIMDSAME_ONLY=1826, +ENC_SQSHL_ASIMDSHF_R=1827, +ENC_SQSHL_ASISDSAME_ONLY=1828, +ENC_SQSHL_ASISDSHF_R=1829, +ENC_SQSHRN_ASIMDSHF_N=1830, +ENC_SQSHRN_ASISDSHF_N=1831, +ENC_SQSHRUN_ASIMDSHF_N=1832, +ENC_SQSHRUN_ASISDSHF_N=1833, +ENC_SQSUB_ASIMDSAME_ONLY=1834, +ENC_SQSUB_ASISDSAME_ONLY=1835, +ENC_SQXTN_ASIMDMISC_N=1836, +ENC_SQXTN_ASISDMISC_N=1837, +ENC_SQXTUN_ASIMDMISC_N=1838, +ENC_SQXTUN_ASISDMISC_N=1839, +ENC_SRHADD_ASIMDSAME_ONLY=1840, +ENC_SRI_ASIMDSHF_R=1841, +ENC_SRI_ASISDSHF_R=1842, +ENC_SRSHL_ASIMDSAME_ONLY=1843, +ENC_SRSHL_ASISDSAME_ONLY=1844, +ENC_SRSHR_ASIMDSHF_R=1845, +ENC_SRSHR_ASISDSHF_R=1846, +ENC_SRSRA_ASIMDSHF_R=1847, +ENC_SRSRA_ASISDSHF_R=1848, +ENC_SSBB_DSB_BO_BARRIERS=1849, // alias +ENC_SSHLL_ASIMDSHF_L=1850, +ENC_SSHL_ASIMDSAME_ONLY=1851, +ENC_SSHL_ASISDSAME_ONLY=1852, +ENC_SSHR_ASIMDSHF_R=1853, +ENC_SSHR_ASISDSHF_R=1854, +ENC_SSRA_ASIMDSHF_R=1855, +ENC_SSRA_ASISDSHF_R=1856, +ENC_SSUBL_ASIMDDIFF_L=1857, +ENC_SSUBW_ASIMDDIFF_W=1858, +ENC_ST1_ASISDLSE_R1_1V=1859, +ENC_ST1_ASISDLSE_R2_2V=1860, +ENC_ST1_ASISDLSE_R3_3V=1861, +ENC_ST1_ASISDLSE_R4_4V=1862, +ENC_ST1_ASISDLSEP_I1_I1=1863, +ENC_ST1_ASISDLSEP_I2_I2=1864, +ENC_ST1_ASISDLSEP_I3_I3=1865, +ENC_ST1_ASISDLSEP_I4_I4=1866, +ENC_ST1_ASISDLSEP_R1_R1=1867, +ENC_ST1_ASISDLSEP_R2_R2=1868, +ENC_ST1_ASISDLSEP_R3_R3=1869, +ENC_ST1_ASISDLSEP_R4_R4=1870, +ENC_ST1_ASISDLSO_B1_1B=1871, +ENC_ST1_ASISDLSO_D1_1D=1872, +ENC_ST1_ASISDLSO_H1_1H=1873, +ENC_ST1_ASISDLSO_S1_1S=1874, +ENC_ST1_ASISDLSOP_B1_I1B=1875, +ENC_ST1_ASISDLSOP_BX1_R1B=1876, +ENC_ST1_ASISDLSOP_D1_I1D=1877, +ENC_ST1_ASISDLSOP_DX1_R1D=1878, +ENC_ST1_ASISDLSOP_H1_I1H=1879, +ENC_ST1_ASISDLSOP_HX1_R1H=1880, +ENC_ST1_ASISDLSOP_S1_I1S=1881, +ENC_ST1_ASISDLSOP_SX1_R1S=1882, +ENC_ST2G_64SOFFSET_LDSTTAGS=1883, +ENC_ST2G_64SPOST_LDSTTAGS=1884, +ENC_ST2G_64SPRE_LDSTTAGS=1885, +ENC_ST2_ASISDLSE_R2=1886, +ENC_ST2_ASISDLSEP_I2_I=1887, +ENC_ST2_ASISDLSEP_R2_R=1888, +ENC_ST2_ASISDLSO_B2_2B=1889, +ENC_ST2_ASISDLSO_D2_2D=1890, +ENC_ST2_ASISDLSO_H2_2H=1891, +ENC_ST2_ASISDLSO_S2_2S=1892, +ENC_ST2_ASISDLSOP_B2_I2B=1893, +ENC_ST2_ASISDLSOP_BX2_R2B=1894, +ENC_ST2_ASISDLSOP_D2_I2D=1895, +ENC_ST2_ASISDLSOP_DX2_R2D=1896, +ENC_ST2_ASISDLSOP_H2_I2H=1897, +ENC_ST2_ASISDLSOP_HX2_R2H=1898, +ENC_ST2_ASISDLSOP_S2_I2S=1899, +ENC_ST2_ASISDLSOP_SX2_R2S=1900, +ENC_ST3_ASISDLSE_R3=1901, +ENC_ST3_ASISDLSEP_I3_I=1902, +ENC_ST3_ASISDLSEP_R3_R=1903, +ENC_ST3_ASISDLSO_B3_3B=1904, +ENC_ST3_ASISDLSO_D3_3D=1905, +ENC_ST3_ASISDLSO_H3_3H=1906, +ENC_ST3_ASISDLSO_S3_3S=1907, +ENC_ST3_ASISDLSOP_B3_I3B=1908, +ENC_ST3_ASISDLSOP_BX3_R3B=1909, +ENC_ST3_ASISDLSOP_D3_I3D=1910, +ENC_ST3_ASISDLSOP_DX3_R3D=1911, +ENC_ST3_ASISDLSOP_H3_I3H=1912, +ENC_ST3_ASISDLSOP_HX3_R3H=1913, +ENC_ST3_ASISDLSOP_S3_I3S=1914, +ENC_ST3_ASISDLSOP_SX3_R3S=1915, +ENC_ST4_ASISDLSE_R4=1916, +ENC_ST4_ASISDLSEP_I4_I=1917, +ENC_ST4_ASISDLSEP_R4_R=1918, +ENC_ST4_ASISDLSO_B4_4B=1919, +ENC_ST4_ASISDLSO_D4_4D=1920, +ENC_ST4_ASISDLSO_H4_4H=1921, +ENC_ST4_ASISDLSO_S4_4S=1922, +ENC_ST4_ASISDLSOP_B4_I4B=1923, +ENC_ST4_ASISDLSOP_BX4_R4B=1924, +ENC_ST4_ASISDLSOP_D4_I4D=1925, +ENC_ST4_ASISDLSOP_DX4_R4D=1926, +ENC_ST4_ASISDLSOP_H4_I4H=1927, +ENC_ST4_ASISDLSOP_HX4_R4H=1928, +ENC_ST4_ASISDLSOP_S4_I4S=1929, +ENC_ST4_ASISDLSOP_SX4_R4S=1930, +ENC_ST64BV0_64_MEMOP=1931, +ENC_ST64BV_64_MEMOP=1932, +ENC_ST64B_64L_MEMOP=1933, +ENC_STADDB_LDADDB_32_MEMOP=1934, // alias +ENC_STADDH_LDADDH_32_MEMOP=1935, // alias +ENC_STADDLB_LDADDLB_32_MEMOP=1936, // alias +ENC_STADDLH_LDADDLH_32_MEMOP=1937, // alias +ENC_STADDL_LDADDL_32_MEMOP=1938, // alias +ENC_STADDL_LDADDL_64_MEMOP=1939, // alias +ENC_STADD_LDADD_32_MEMOP=1940, // alias +ENC_STADD_LDADD_64_MEMOP=1941, // alias +ENC_STBFADDL_16=1942, +ENC_STBFADD_16=1943, +ENC_STBFMAXL_16=1944, +ENC_STBFMAXNML_16=1945, +ENC_STBFMAXNM_16=1946, +ENC_STBFMAX_16=1947, +ENC_STBFMINL_16=1948, +ENC_STBFMINNML_16=1949, +ENC_STBFMINNM_16=1950, +ENC_STBFMIN_16=1951, +ENC_STCLRB_LDCLRB_32_MEMOP=1952, // alias +ENC_STCLRH_LDCLRH_32_MEMOP=1953, // alias +ENC_STCLRLB_LDCLRLB_32_MEMOP=1954, // alias +ENC_STCLRLH_LDCLRLH_32_MEMOP=1955, // alias +ENC_STCLRL_LDCLRL_32_MEMOP=1956, // alias +ENC_STCLRL_LDCLRL_64_MEMOP=1957, // alias +ENC_STCLR_LDCLR_32_MEMOP=1958, // alias +ENC_STCLR_LDCLR_64_MEMOP=1959, // alias +ENC_STCPH_HI_HINTS=1960, +ENC_STEORB_LDEORB_32_MEMOP=1961, // alias +ENC_STEORH_LDEORH_32_MEMOP=1962, // alias +ENC_STEORLB_LDEORLB_32_MEMOP=1963, // alias +ENC_STEORLH_LDEORLH_32_MEMOP=1964, // alias +ENC_STEORL_LDEORL_32_MEMOP=1965, // alias +ENC_STEORL_LDEORL_64_MEMOP=1966, // alias +ENC_STEOR_LDEOR_32_MEMOP=1967, // alias +ENC_STEOR_LDEOR_64_MEMOP=1968, // alias +ENC_STFADDL_16=1969, +ENC_STFADDL_32=1970, +ENC_STFADDL_64=1971, +ENC_STFADD_16=1972, +ENC_STFADD_32=1973, +ENC_STFADD_64=1974, +ENC_STFMAXL_16=1975, +ENC_STFMAXL_32=1976, +ENC_STFMAXL_64=1977, +ENC_STFMAXNML_16=1978, +ENC_STFMAXNML_32=1979, +ENC_STFMAXNML_64=1980, +ENC_STFMAXNM_16=1981, +ENC_STFMAXNM_32=1982, +ENC_STFMAXNM_64=1983, +ENC_STFMAX_16=1984, +ENC_STFMAX_32=1985, +ENC_STFMAX_64=1986, +ENC_STFMINL_16=1987, +ENC_STFMINL_32=1988, +ENC_STFMINL_64=1989, +ENC_STFMINNML_16=1990, +ENC_STFMINNML_32=1991, +ENC_STFMINNML_64=1992, +ENC_STFMINNM_16=1993, +ENC_STFMINNM_32=1994, +ENC_STFMINNM_64=1995, +ENC_STFMIN_16=1996, +ENC_STFMIN_32=1997, +ENC_STFMIN_64=1998, +ENC_STGM_64BULK_LDSTTAGS=1999, +ENC_STGP_64_LDSTPAIR_OFF=2000, +ENC_STGP_64_LDSTPAIR_POST=2001, +ENC_STGP_64_LDSTPAIR_PRE=2002, +ENC_STG_64SOFFSET_LDSTTAGS=2003, +ENC_STG_64SPOST_LDSTTAGS=2004, +ENC_STG_64SPRE_LDSTTAGS=2005, +ENC_STILP_32SE_LDIAPPSTILP=2006, +ENC_STILP_32S_LDIAPPSTILP=2007, +ENC_STILP_64SS_LDIAPPSTILP=2008, +ENC_STILP_64S_LDIAPPSTILP=2009, +ENC_STL1_ASISDLSO_D1=2010, +ENC_STLLRB_SL32_LDSTORD=2011, +ENC_STLLRH_SL32_LDSTORD=2012, +ENC_STLLR_SL32_LDSTORD=2013, +ENC_STLLR_SL64_LDSTORD=2014, +ENC_STLP_64_LDIAPPSTILP=2015, +ENC_STLRB_SL32_LDSTORD=2016, +ENC_STLRH_SL32_LDSTORD=2017, +ENC_STLR_32S_LDAPSTL_WRITEBACK=2018, +ENC_STLR_64S_LDAPSTL_WRITEBACK=2019, +ENC_STLR_SL32_LDSTORD=2020, +ENC_STLR_SL64_LDSTORD=2021, +ENC_STLTXR_SR32_LDSTEXCLR_UNPRIV=2022, +ENC_STLTXR_SR64_LDSTEXCLR_UNPRIV=2023, +ENC_STLURB_32_LDAPSTL_UNSCALED=2024, +ENC_STLURH_32_LDAPSTL_UNSCALED=2025, +ENC_STLUR_32_LDAPSTL_UNSCALED=2026, +ENC_STLUR_64_LDAPSTL_UNSCALED=2027, +ENC_STLUR_B_LDAPSTL_SIMD=2028, +ENC_STLUR_D_LDAPSTL_SIMD=2029, +ENC_STLUR_H_LDAPSTL_SIMD=2030, +ENC_STLUR_Q_LDAPSTL_SIMD=2031, +ENC_STLUR_S_LDAPSTL_SIMD=2032, +ENC_STLXP_SP32_LDSTEXCLP=2033, +ENC_STLXP_SP64_LDSTEXCLP=2034, +ENC_STLXRB_SR32_LDSTEXCLR=2035, +ENC_STLXRH_SR32_LDSTEXCLR=2036, +ENC_STLXR_SR32_LDSTEXCLR=2037, +ENC_STLXR_SR64_LDSTEXCLR=2038, +ENC_STNP_32_LDSTNAPAIR_OFFS=2039, +ENC_STNP_64_LDSTNAPAIR_OFFS=2040, +ENC_STNP_D_LDSTNAPAIR_OFFS=2041, +ENC_STNP_Q_LDSTNAPAIR_OFFS=2042, +ENC_STNP_S_LDSTNAPAIR_OFFS=2043, +ENC_STP_32_LDSTPAIR_OFF=2044, +ENC_STP_32_LDSTPAIR_POST=2045, +ENC_STP_32_LDSTPAIR_PRE=2046, +ENC_STP_64_LDSTPAIR_OFF=2047, +ENC_STP_64_LDSTPAIR_POST=2048, +ENC_STP_64_LDSTPAIR_PRE=2049, +ENC_STP_D_LDSTPAIR_OFF=2050, +ENC_STP_D_LDSTPAIR_POST=2051, +ENC_STP_D_LDSTPAIR_PRE=2052, +ENC_STP_Q_LDSTPAIR_OFF=2053, +ENC_STP_Q_LDSTPAIR_POST=2054, +ENC_STP_Q_LDSTPAIR_PRE=2055, +ENC_STP_S_LDSTPAIR_OFF=2056, +ENC_STP_S_LDSTPAIR_POST=2057, +ENC_STP_S_LDSTPAIR_PRE=2058, +ENC_STRB_32BL_LDST_REGOFF=2059, +ENC_STRB_32B_LDST_REGOFF=2060, +ENC_STRB_32_LDST_IMMPOST=2061, +ENC_STRB_32_LDST_IMMPRE=2062, +ENC_STRB_32_LDST_POS=2063, +ENC_STRH_32_LDST_IMMPOST=2064, +ENC_STRH_32_LDST_IMMPRE=2065, +ENC_STRH_32_LDST_POS=2066, +ENC_STRH_32_LDST_REGOFF=2067, +ENC_STR_32_LDST_IMMPOST=2068, +ENC_STR_32_LDST_IMMPRE=2069, +ENC_STR_32_LDST_POS=2070, +ENC_STR_32_LDST_REGOFF=2071, +ENC_STR_64_LDST_IMMPOST=2072, +ENC_STR_64_LDST_IMMPRE=2073, +ENC_STR_64_LDST_POS=2074, +ENC_STR_64_LDST_REGOFF=2075, +ENC_STR_BL_LDST_REGOFF=2076, +ENC_STR_B_LDST_IMMPOST=2077, +ENC_STR_B_LDST_IMMPRE=2078, +ENC_STR_B_LDST_POS=2079, +ENC_STR_B_LDST_REGOFF=2080, +ENC_STR_D_LDST_IMMPOST=2081, +ENC_STR_D_LDST_IMMPRE=2082, +ENC_STR_D_LDST_POS=2083, +ENC_STR_D_LDST_REGOFF=2084, +ENC_STR_H_LDST_IMMPOST=2085, +ENC_STR_H_LDST_IMMPRE=2086, +ENC_STR_H_LDST_POS=2087, +ENC_STR_H_LDST_REGOFF=2088, +ENC_STR_Q_LDST_IMMPOST=2089, +ENC_STR_Q_LDST_IMMPRE=2090, +ENC_STR_Q_LDST_POS=2091, +ENC_STR_Q_LDST_REGOFF=2092, +ENC_STR_S_LDST_IMMPOST=2093, +ENC_STR_S_LDST_IMMPRE=2094, +ENC_STR_S_LDST_POS=2095, +ENC_STR_S_LDST_REGOFF=2096, +ENC_STSETB_LDSETB_32_MEMOP=2097, // alias +ENC_STSETH_LDSETH_32_MEMOP=2098, // alias +ENC_STSETLB_LDSETLB_32_MEMOP=2099, // alias +ENC_STSETLH_LDSETLH_32_MEMOP=2100, // alias +ENC_STSETL_LDSETL_32_MEMOP=2101, // alias +ENC_STSETL_LDSETL_64_MEMOP=2102, // alias +ENC_STSET_LDSET_32_MEMOP=2103, // alias +ENC_STSET_LDSET_64_MEMOP=2104, // alias +ENC_STSHH_HI_HINTS=2105, +ENC_STSMAXB_LDSMAXB_32_MEMOP=2106, // alias +ENC_STSMAXH_LDSMAXH_32_MEMOP=2107, // alias +ENC_STSMAXLB_LDSMAXLB_32_MEMOP=2108, // alias +ENC_STSMAXLH_LDSMAXLH_32_MEMOP=2109, // alias +ENC_STSMAXL_LDSMAXL_32_MEMOP=2110, // alias +ENC_STSMAXL_LDSMAXL_64_MEMOP=2111, // alias +ENC_STSMAX_LDSMAX_32_MEMOP=2112, // alias +ENC_STSMAX_LDSMAX_64_MEMOP=2113, // alias +ENC_STSMINB_LDSMINB_32_MEMOP=2114, // alias +ENC_STSMINH_LDSMINH_32_MEMOP=2115, // alias +ENC_STSMINLB_LDSMINLB_32_MEMOP=2116, // alias +ENC_STSMINLH_LDSMINLH_32_MEMOP=2117, // alias +ENC_STSMINL_LDSMINL_32_MEMOP=2118, // alias +ENC_STSMINL_LDSMINL_64_MEMOP=2119, // alias +ENC_STSMIN_LDSMIN_32_MEMOP=2120, // alias +ENC_STSMIN_LDSMIN_64_MEMOP=2121, // alias +ENC_STTADDL_LDTADDL_32_MEMOP_UNPRIV=2122, // alias +ENC_STTADDL_LDTADDL_64_MEMOP_UNPRIV=2123, // alias +ENC_STTADD_LDTADD_32_MEMOP_UNPRIV=2124, // alias +ENC_STTADD_LDTADD_64_MEMOP_UNPRIV=2125, // alias +ENC_STTCLRL_LDTCLRL_32_MEMOP_UNPRIV=2126, // alias +ENC_STTCLRL_LDTCLRL_64_MEMOP_UNPRIV=2127, // alias +ENC_STTCLR_LDTCLR_32_MEMOP_UNPRIV=2128, // alias +ENC_STTCLR_LDTCLR_64_MEMOP_UNPRIV=2129, // alias +ENC_STTNP_64_LDSTNAPAIR_OFFS=2130, +ENC_STTNP_Q_LDSTNAPAIR_OFFS=2131, +ENC_STTP_64_LDSTPAIR_OFF=2132, +ENC_STTP_64_LDSTPAIR_POST=2133, +ENC_STTP_64_LDSTPAIR_PRE=2134, +ENC_STTP_Q_LDSTPAIR_OFF=2135, +ENC_STTP_Q_LDSTPAIR_POST=2136, +ENC_STTP_Q_LDSTPAIR_PRE=2137, +ENC_STTRB_32_LDST_UNPRIV=2138, +ENC_STTRH_32_LDST_UNPRIV=2139, +ENC_STTR_32_LDST_UNPRIV=2140, +ENC_STTR_64_LDST_UNPRIV=2141, +ENC_STTSETL_LDTSETL_32_MEMOP_UNPRIV=2142, // alias +ENC_STTSETL_LDTSETL_64_MEMOP_UNPRIV=2143, // alias +ENC_STTSET_LDTSET_32_MEMOP_UNPRIV=2144, // alias +ENC_STTSET_LDTSET_64_MEMOP_UNPRIV=2145, // alias +ENC_STTXR_SR32_LDSTEXCLR_UNPRIV=2146, +ENC_STTXR_SR64_LDSTEXCLR_UNPRIV=2147, +ENC_STUMAXB_LDUMAXB_32_MEMOP=2148, // alias +ENC_STUMAXH_LDUMAXH_32_MEMOP=2149, // alias +ENC_STUMAXLB_LDUMAXLB_32_MEMOP=2150, // alias +ENC_STUMAXLH_LDUMAXLH_32_MEMOP=2151, // alias +ENC_STUMAXL_LDUMAXL_32_MEMOP=2152, // alias +ENC_STUMAXL_LDUMAXL_64_MEMOP=2153, // alias +ENC_STUMAX_LDUMAX_32_MEMOP=2154, // alias +ENC_STUMAX_LDUMAX_64_MEMOP=2155, // alias +ENC_STUMINB_LDUMINB_32_MEMOP=2156, // alias +ENC_STUMINH_LDUMINH_32_MEMOP=2157, // alias +ENC_STUMINLB_LDUMINLB_32_MEMOP=2158, // alias +ENC_STUMINLH_LDUMINLH_32_MEMOP=2159, // alias +ENC_STUMINL_LDUMINL_32_MEMOP=2160, // alias +ENC_STUMINL_LDUMINL_64_MEMOP=2161, // alias +ENC_STUMIN_LDUMIN_32_MEMOP=2162, // alias +ENC_STUMIN_LDUMIN_64_MEMOP=2163, // alias +ENC_STURB_32_LDST_UNSCALED=2164, +ENC_STURH_32_LDST_UNSCALED=2165, +ENC_STUR_32_LDST_UNSCALED=2166, +ENC_STUR_64_LDST_UNSCALED=2167, +ENC_STUR_B_LDST_UNSCALED=2168, +ENC_STUR_D_LDST_UNSCALED=2169, +ENC_STUR_H_LDST_UNSCALED=2170, +ENC_STUR_Q_LDST_UNSCALED=2171, +ENC_STUR_S_LDST_UNSCALED=2172, +ENC_STXP_SP32_LDSTEXCLP=2173, +ENC_STXP_SP64_LDSTEXCLP=2174, +ENC_STXRB_SR32_LDSTEXCLR=2175, +ENC_STXRH_SR32_LDSTEXCLR=2176, +ENC_STXR_SR32_LDSTEXCLR=2177, +ENC_STXR_SR64_LDSTEXCLR=2178, +ENC_STZ2G_64SOFFSET_LDSTTAGS=2179, +ENC_STZ2G_64SPOST_LDSTTAGS=2180, +ENC_STZ2G_64SPRE_LDSTTAGS=2181, +ENC_STZGM_64BULK_LDSTTAGS=2182, +ENC_STZG_64SOFFSET_LDSTTAGS=2183, +ENC_STZG_64SPOST_LDSTTAGS=2184, +ENC_STZG_64SPRE_LDSTTAGS=2185, +ENC_SUBG_64_ADDSUB_IMMTAGS=2186, +ENC_SUBHN_ASIMDDIFF_N=2187, +ENC_SUBPS_64S_DP_2SRC=2188, +ENC_SUBPT_64_ADDSUB_PT=2189, +ENC_SUBP_64S_DP_2SRC=2190, +ENC_SUBS_32S_ADDSUB_EXT=2191, +ENC_SUBS_32S_ADDSUB_IMM=2192, +ENC_SUBS_32_ADDSUB_SHIFT=2193, +ENC_SUBS_64S_ADDSUB_EXT=2194, +ENC_SUBS_64S_ADDSUB_IMM=2195, +ENC_SUBS_64_ADDSUB_SHIFT=2196, +ENC_SUB_32_ADDSUB_EXT=2197, +ENC_SUB_32_ADDSUB_IMM=2198, +ENC_SUB_32_ADDSUB_SHIFT=2199, +ENC_SUB_64_ADDSUB_EXT=2200, +ENC_SUB_64_ADDSUB_IMM=2201, +ENC_SUB_64_ADDSUB_SHIFT=2202, +ENC_SUB_ASIMDSAME_ONLY=2203, +ENC_SUB_ASISDSAME_ONLY=2204, +ENC_SUDOT_ASIMDELEM_D=2205, +ENC_SUQADD_ASIMDMISC_R=2206, +ENC_SUQADD_ASISDMISC_R=2207, +ENC_SVC_EX_EXCEPTION=2208, +ENC_SWPAB_32_MEMOP=2209, +ENC_SWPAH_32_MEMOP=2210, +ENC_SWPALB_32_MEMOP=2211, +ENC_SWPALH_32_MEMOP=2212, +ENC_SWPAL_32_MEMOP=2213, +ENC_SWPAL_64_MEMOP=2214, +ENC_SWPA_32_MEMOP=2215, +ENC_SWPA_64_MEMOP=2216, +ENC_SWPB_32_MEMOP=2217, +ENC_SWPH_32_MEMOP=2218, +ENC_SWPLB_32_MEMOP=2219, +ENC_SWPLH_32_MEMOP=2220, +ENC_SWPL_32_MEMOP=2221, +ENC_SWPL_64_MEMOP=2222, +ENC_SWPPAL_128_MEMOP_128=2223, +ENC_SWPPA_128_MEMOP_128=2224, +ENC_SWPPL_128_MEMOP_128=2225, +ENC_SWPP_128_MEMOP_128=2226, +ENC_SWPTAL_32_MEMOP_UNPRIV=2227, +ENC_SWPTAL_64_MEMOP_UNPRIV=2228, +ENC_SWPTA_32_MEMOP_UNPRIV=2229, +ENC_SWPTA_64_MEMOP_UNPRIV=2230, +ENC_SWPTL_32_MEMOP_UNPRIV=2231, +ENC_SWPTL_64_MEMOP_UNPRIV=2232, +ENC_SWPT_32_MEMOP_UNPRIV=2233, +ENC_SWPT_64_MEMOP_UNPRIV=2234, +ENC_SWP_32_MEMOP=2235, +ENC_SWP_64_MEMOP=2236, +ENC_SXTB_SBFM_32M_BITFIELD=2237, // alias +ENC_SXTB_SBFM_64M_BITFIELD=2238, // alias +ENC_SXTH_SBFM_32M_BITFIELD=2239, // alias +ENC_SXTH_SBFM_64M_BITFIELD=2240, // alias +ENC_SXTL_SSHLL_ASIMDSHF_L=2241, // alias +ENC_SXTW_SBFM_64M_BITFIELD=2242, // alias +ENC_SYSL_RC_SYSTEMINSTRS=2243, +ENC_SYSP_CR_SYSPAIRINSTRS=2244, +ENC_SYS_CR_SYSTEMINSTRS=2245, +ENC_TBL_ASIMDTBL_L1_1=2246, +ENC_TBL_ASIMDTBL_L2_2=2247, +ENC_TBL_ASIMDTBL_L3_3=2248, +ENC_TBL_ASIMDTBL_L4_4=2249, +ENC_TBNZ_ONLY_TESTBRANCH=2250, +ENC_TBX_ASIMDTBL_L1_1=2251, +ENC_TBX_ASIMDTBL_L2_2=2252, +ENC_TBX_ASIMDTBL_L3_3=2253, +ENC_TBX_ASIMDTBL_L4_4=2254, +ENC_TBZ_ONLY_TESTBRANCH=2255, +ENC_TLBIP_SYSP_CR_SYSPAIRINSTRS=2256, // alias +ENC_TLBI_SYS_CR_SYSTEMINSTRS=2257, // alias +ENC_TRCIT_SYS_CR_SYSTEMINSTRS=2258, // alias +ENC_TRN1_ASIMDPERM_ONLY=2259, +ENC_TRN2_ASIMDPERM_ONLY=2260, +ENC_TSB_HC_HINTS=2261, +ENC_TST_ANDS_32S_LOG_IMM=2262, // alias +ENC_TST_ANDS_32_LOG_SHIFT=2263, // alias +ENC_TST_ANDS_64S_LOG_IMM=2264, // alias +ENC_TST_ANDS_64_LOG_SHIFT=2265, // alias +ENC_UABAL_ASIMDDIFF_L=2266, +ENC_UABA_ASIMDSAME_ONLY=2267, +ENC_UABDL_ASIMDDIFF_L=2268, +ENC_UABD_ASIMDSAME_ONLY=2269, +ENC_UADALP_ASIMDMISC_P=2270, +ENC_UADDLP_ASIMDMISC_P=2271, +ENC_UADDLV_ASIMDALL_ONLY=2272, +ENC_UADDL_ASIMDDIFF_L=2273, +ENC_UADDW_ASIMDDIFF_W=2274, +ENC_UBFIZ_UBFM_32M_BITFIELD=2275, // alias +ENC_UBFIZ_UBFM_64M_BITFIELD=2276, // alias +ENC_UBFM_32M_BITFIELD=2277, +ENC_UBFM_64M_BITFIELD=2278, +ENC_UBFX_UBFM_32M_BITFIELD=2279, // alias +ENC_UBFX_UBFM_64M_BITFIELD=2280, // alias +ENC_UCVTF_D32_FLOAT2FIX=2281, +ENC_UCVTF_D32_FLOAT2INT=2282, +ENC_UCVTF_D64_FLOAT2FIX=2283, +ENC_UCVTF_D64_FLOAT2INT=2284, +ENC_UCVTF_H32_FLOAT2FIX=2285, +ENC_UCVTF_H32_FLOAT2INT=2286, +ENC_UCVTF_H64_FLOAT2FIX=2287, +ENC_UCVTF_H64_FLOAT2INT=2288, +ENC_UCVTF_S32_FLOAT2FIX=2289, +ENC_UCVTF_S32_FLOAT2INT=2290, +ENC_UCVTF_S64_FLOAT2FIX=2291, +ENC_UCVTF_S64_FLOAT2INT=2292, +ENC_UCVTF_ASIMDMISC_R=2293, +ENC_UCVTF_ASIMDMISCFP16_R=2294, +ENC_UCVTF_ASIMDSHF_C=2295, +ENC_UCVTF_ASISDMISC_R=2296, +ENC_UCVTF_ASISDMISCFP16_R=2297, +ENC_UCVTF_ASISDSHF_C=2298, +ENC_UCVTF_SISD_32D=2299, +ENC_UCVTF_SISD_32H=2300, +ENC_UCVTF_SISD_64H=2301, +ENC_UCVTF_SISD_64S=2302, +ENC_UDF_ONLY_PERM_UNDEF=2303, +ENC_UDIV_32_DP_2SRC=2304, +ENC_UDIV_64_DP_2SRC=2305, +ENC_UDOT_ASIMDELEM_D=2306, +ENC_UDOT_ASIMDSAME2_D=2307, +ENC_UHADD_ASIMDSAME_ONLY=2308, +ENC_UHSUB_ASIMDSAME_ONLY=2309, +ENC_UMADDL_64WA_DP_3SRC=2310, +ENC_UMAXP_ASIMDSAME_ONLY=2311, +ENC_UMAXV_ASIMDALL_ONLY=2312, +ENC_UMAX_32U_MINMAX_IMM=2313, +ENC_UMAX_32_DP_2SRC=2314, +ENC_UMAX_64U_MINMAX_IMM=2315, +ENC_UMAX_64_DP_2SRC=2316, +ENC_UMAX_ASIMDSAME_ONLY=2317, +ENC_UMINP_ASIMDSAME_ONLY=2318, +ENC_UMINV_ASIMDALL_ONLY=2319, +ENC_UMIN_32U_MINMAX_IMM=2320, +ENC_UMIN_32_DP_2SRC=2321, +ENC_UMIN_64U_MINMAX_IMM=2322, +ENC_UMIN_64_DP_2SRC=2323, +ENC_UMIN_ASIMDSAME_ONLY=2324, +ENC_UMLAL_ASIMDDIFF_L=2325, +ENC_UMLAL_ASIMDELEM_L=2326, +ENC_UMLSL_ASIMDDIFF_L=2327, +ENC_UMLSL_ASIMDELEM_L=2328, +ENC_UMMLA_ASIMDSAME2_G=2329, +ENC_UMNEGL_UMSUBL_64WA_DP_3SRC=2330, // alias +ENC_UMOV_ASIMDINS_W_W=2331, +ENC_UMOV_ASIMDINS_X_X=2332, +ENC_UMSUBL_64WA_DP_3SRC=2333, +ENC_UMULH_64_DP_3SRC=2334, +ENC_UMULL_UMADDL_64WA_DP_3SRC=2335, // alias +ENC_UMULL_ASIMDDIFF_L=2336, +ENC_UMULL_ASIMDELEM_L=2337, +ENC_UNALLOCATED_1000_DP_2SRC=2338, // terminal +ENC_UNALLOCATED_1001_DP_2SRC=2339, // terminal +ENC_UNALLOCATED_1002_DP_2SRC=2340, // terminal +ENC_UNALLOCATED_1003_DP_2SRC=2341, // terminal +ENC_UNALLOCATED_1004_DP_2SRC=2342, // terminal +ENC_UNALLOCATED_1005_DP_2SRC=2343, // terminal +ENC_UNALLOCATED_1006_DP_2SRC=2344, // terminal +ENC_UNALLOCATED_1007_DP_2SRC=2345, // terminal +ENC_UNALLOCATED_1008_DP_2SRC=2346, // terminal +ENC_UNALLOCATED_1009_DP_2SRC=2347, // terminal +ENC_UNALLOCATED_1010_DP_2SRC=2348, // terminal +ENC_UNALLOCATED_1011_DP_2SRC=2349, // terminal +ENC_UNALLOCATED_1012_DP_2SRC=2350, // terminal +ENC_UNALLOCATED_1013_DP_2SRC=2351, // terminal +ENC_UNALLOCATED_1014_DP_2SRC=2352, // terminal +ENC_UNALLOCATED_1015_DP_2SRC=2353, // terminal +ENC_UNALLOCATED_1016_DP_3SRC=2354, // terminal +ENC_UNALLOCATED_1017_DP_3SRC=2355, // terminal +ENC_UNALLOCATED_1018_DP_3SRC=2356, // terminal +ENC_UNALLOCATED_1019_DP_3SRC=2357, // terminal +ENC_UNALLOCATED_1020_DP_3SRC=2358, // terminal +ENC_UNALLOCATED_1021_DP_3SRC=2359, // terminal +ENC_UNALLOCATED_1022_SETF=2360, // terminal +ENC_UNALLOCATED_1023_SETF=2361, // terminal +ENC_UNALLOCATED_1024_SETF=2362, // terminal +ENC_UNALLOCATED_1025_SETF=2363, // terminal +ENC_UNALLOCATED_1026_SETF=2364, // terminal +ENC_UNALLOCATED_1027_SETF=2365, // terminal +ENC_UNALLOCATED_1028_RMIF=2366, // terminal +ENC_UNALLOCATED_1029_RMIF=2367, // terminal +ENC_UNALLOCATED_1030_RMIF=2368, // terminal +ENC_UNALLOCATED_1031_RMIF=2369, // terminal +ENC_UNALLOCATED_1032_ASIMDALL=2370, // terminal +ENC_UNALLOCATED_1033_ASIMDALL=2371, // terminal +ENC_UNALLOCATED_1034_ASIMDALL=2372, // terminal +ENC_UNALLOCATED_1035_ASIMDALL=2373, // terminal +ENC_UNALLOCATED_1036_ASIMDALL=2374, // terminal +ENC_UNALLOCATED_1037_ASIMDALL=2375, // terminal +ENC_UNALLOCATED_1038_ASIMDALL=2376, // terminal +ENC_UNALLOCATED_1039_ASIMDALL=2377, // terminal +ENC_UNALLOCATED_1040_ASIMDALL=2378, // terminal +ENC_UNALLOCATED_1041_ASIMDALL=2379, // terminal +ENC_UNALLOCATED_1042_ASIMDALL=2380, // terminal +ENC_UNALLOCATED_1043_ASIMDALL=2381, // terminal +ENC_UNALLOCATED_1044_ASIMDALL=2382, // terminal +ENC_UNALLOCATED_1045_ASIMDALL=2383, // terminal +ENC_UNALLOCATED_1046_ASIMDALL=2384, // terminal +ENC_UNALLOCATED_1047_ASIMDINS=2385, // terminal +ENC_UNALLOCATED_1048_ASIMDINS=2386, // terminal +ENC_UNALLOCATED_1049_ASIMDINS=2387, // terminal +ENC_UNALLOCATED_1050_ASIMDINS=2388, // terminal +ENC_UNALLOCATED_1051_ASIMDINS=2389, // terminal +ENC_UNALLOCATED_1052_ASIMDINS=2390, // terminal +ENC_UNALLOCATED_1053_ASIMDINS=2391, // terminal +ENC_UNALLOCATED_1054_ASIMDINS=2392, // terminal +ENC_UNALLOCATED_1055_ASIMDINS=2393, // terminal +ENC_UNALLOCATED_1056_ASIMDEXT=2394, // terminal +ENC_UNALLOCATED_1057_ASIMDIMM=2395, // terminal +ENC_UNALLOCATED_1058_ASIMDIMM=2396, // terminal +ENC_UNALLOCATED_1059_ASIMDIMM=2397, // terminal +ENC_UNALLOCATED_1060_ASIMDPERM=2398, // terminal +ENC_UNALLOCATED_1061_ASISDONE=2399, // terminal +ENC_UNALLOCATED_1062_ASISDONE=2400, // terminal +ENC_UNALLOCATED_1063_ASISDPAIR=2401, // terminal +ENC_UNALLOCATED_1064_ASISDPAIR=2402, // terminal +ENC_UNALLOCATED_1065_ASISDPAIR=2403, // terminal +ENC_UNALLOCATED_1066_ASISDPAIR=2404, // terminal +ENC_UNALLOCATED_1067_ASISDPAIR=2405, // terminal +ENC_UNALLOCATED_1068_ASISDPAIR=2406, // terminal +ENC_UNALLOCATED_1069_ASISDPAIR=2407, // terminal +ENC_UNALLOCATED_1070_ASISDPAIR=2408, // terminal +ENC_UNALLOCATED_1071_ASISDPAIR=2409, // terminal +ENC_UNALLOCATED_1072_ASISDPAIR=2410, // terminal +ENC_UNALLOCATED_1073_ASISDPAIR=2411, // terminal +ENC_UNALLOCATED_1074_ASISDPAIR=2412, // terminal +ENC_UNALLOCATED_1075_ASISDSHF=2413, // terminal +ENC_UNALLOCATED_1076_ASISDSHF=2414, // terminal +ENC_UNALLOCATED_1077_ASISDSHF=2415, // terminal +ENC_UNALLOCATED_1078_ASISDSHF=2416, // terminal +ENC_UNALLOCATED_1079_ASISDSHF=2417, // terminal +ENC_UNALLOCATED_1080_ASISDSHF=2418, // terminal +ENC_UNALLOCATED_1081_ASISDSHF=2419, // terminal +ENC_UNALLOCATED_1082_ASISDSHF=2420, // terminal +ENC_UNALLOCATED_1083_ASISDSHF=2421, // terminal +ENC_UNALLOCATED_1084_ASISDSHF=2422, // terminal +ENC_UNALLOCATED_1085_ASISDSHF=2423, // terminal +ENC_UNALLOCATED_1086_ASISDSHF=2424, // terminal +ENC_UNALLOCATED_1087_ASISDSHF=2425, // terminal +ENC_UNALLOCATED_1088_ASISDSHF=2426, // terminal +ENC_UNALLOCATED_1089_ASISDSHF=2427, // terminal +ENC_UNALLOCATED_1090_ASISDSHF=2428, // terminal +ENC_UNALLOCATED_1091_ASISDSHF=2429, // terminal +ENC_UNALLOCATED_1092_ASISDDIFF=2430, // terminal +ENC_UNALLOCATED_1093_ASISDDIFF=2431, // terminal +ENC_UNALLOCATED_1094_ASISDDIFF=2432, // terminal +ENC_UNALLOCATED_1095_ASISDDIFF=2433, // terminal +ENC_UNALLOCATED_1096_ASISDSAME=2434, // terminal +ENC_UNALLOCATED_1097_ASISDSAME=2435, // terminal +ENC_UNALLOCATED_1098_ASISDSAME=2436, // terminal +ENC_UNALLOCATED_1099_ASISDSAME=2437, // terminal +ENC_UNALLOCATED_1100_ASISDSAME=2438, // terminal +ENC_UNALLOCATED_1101_ASISDSAME=2439, // terminal +ENC_UNALLOCATED_1102_ASISDSAME=2440, // terminal +ENC_UNALLOCATED_1103_ASISDSAME=2441, // terminal +ENC_UNALLOCATED_1104_ASISDSAME=2442, // terminal +ENC_UNALLOCATED_1105_ASISDSAME=2443, // terminal +ENC_UNALLOCATED_1106_ASISDSAME=2444, // terminal +ENC_UNALLOCATED_1107_ASISDSAME=2445, // terminal +ENC_UNALLOCATED_1108_ASISDSAME=2446, // terminal +ENC_UNALLOCATED_1109_ASISDSAME=2447, // terminal +ENC_UNALLOCATED_1110_ASISDSAME=2448, // terminal +ENC_UNALLOCATED_1111_ASISDSAME=2449, // terminal +ENC_UNALLOCATED_1112_ASISDSAME=2450, // terminal +ENC_UNALLOCATED_1113_ASISDSAME=2451, // terminal +ENC_UNALLOCATED_1114_ASISDSAME=2452, // terminal +ENC_UNALLOCATED_1115_ASISDSAME=2453, // terminal +ENC_UNALLOCATED_1116_ASISDSAME=2454, // terminal +ENC_UNALLOCATED_1117_ASISDSAME=2455, // terminal +ENC_UNALLOCATED_1118_ASISDSAME=2456, // terminal +ENC_UNALLOCATED_1119_ASISDSAME=2457, // terminal +ENC_UNALLOCATED_1120_ASISDSAME=2458, // terminal +ENC_UNALLOCATED_1121_ASISDSAME=2459, // terminal +ENC_UNALLOCATED_1122_ASISDSAMEFP16=2460, // terminal +ENC_UNALLOCATED_1123_ASISDSAMEFP16=2461, // terminal +ENC_UNALLOCATED_1124_ASISDSAMEFP16=2462, // terminal +ENC_UNALLOCATED_1125_ASISDSAMEFP16=2463, // terminal +ENC_UNALLOCATED_1126_ASISDSAMEFP16=2464, // terminal +ENC_UNALLOCATED_1127_ASISDSAMEFP16=2465, // terminal +ENC_UNALLOCATED_1128_ASISDSAMEFP16=2466, // terminal +ENC_UNALLOCATED_1129_ASISDSAMEFP16=2467, // terminal +ENC_UNALLOCATED_1130_ASISDSAMEFP16=2468, // terminal +ENC_UNALLOCATED_1131_ASISDSAME2=2469, // terminal +ENC_UNALLOCATED_1132_ASISDSAME2=2470, // terminal +ENC_UNALLOCATED_1133_ASISDSAME2=2471, // terminal +ENC_UNALLOCATED_1134_ASISDSAME2=2472, // terminal +ENC_UNALLOCATED_1135_ASISDMISC=2473, // terminal +ENC_UNALLOCATED_1136_ASISDMISC=2474, // terminal +ENC_UNALLOCATED_1137_ASISDMISC=2475, // terminal +ENC_UNALLOCATED_1138_ASISDMISC=2476, // terminal +ENC_UNALLOCATED_1139_ASISDMISC=2477, // terminal +ENC_UNALLOCATED_1140_ASISDMISC=2478, // terminal +ENC_UNALLOCATED_1141_ASISDMISC=2479, // terminal +ENC_UNALLOCATED_1142_ASISDMISC=2480, // terminal +ENC_UNALLOCATED_1143_ASISDMISC=2481, // terminal +ENC_UNALLOCATED_1144_ASISDMISC=2482, // terminal +ENC_UNALLOCATED_1145_ASISDMISC=2483, // terminal +ENC_UNALLOCATED_1146_ASISDMISC=2484, // terminal +ENC_UNALLOCATED_1147_ASISDMISC=2485, // terminal +ENC_UNALLOCATED_1148_ASISDMISC=2486, // terminal +ENC_UNALLOCATED_1149_ASISDMISC=2487, // terminal +ENC_UNALLOCATED_1150_ASISDMISC=2488, // terminal +ENC_UNALLOCATED_1151_ASISDMISC=2489, // terminal +ENC_UNALLOCATED_1152_ASISDMISC=2490, // terminal +ENC_UNALLOCATED_1153_ASISDMISC=2491, // terminal +ENC_UNALLOCATED_1154_ASISDMISCFP16=2492, // terminal +ENC_UNALLOCATED_1155_ASISDMISCFP16=2493, // terminal +ENC_UNALLOCATED_1156_ASISDMISCFP16=2494, // terminal +ENC_UNALLOCATED_1157_ASISDMISCFP16=2495, // terminal +ENC_UNALLOCATED_1158_ASISDMISCFP16=2496, // terminal +ENC_UNALLOCATED_1159_ASISDMISCFP16=2497, // terminal +ENC_UNALLOCATED_1160_ASISDMISCFP16=2498, // terminal +ENC_UNALLOCATED_1161_ASISDMISCFP16=2499, // terminal +ENC_UNALLOCATED_1162_ASISDMISCFP16=2500, // terminal +ENC_UNALLOCATED_1163_ASISDMISCFP16=2501, // terminal +ENC_UNALLOCATED_1164_ASISDELEM=2502, // terminal +ENC_UNALLOCATED_1165_ASISDELEM=2503, // terminal +ENC_UNALLOCATED_1166_ASISDELEM=2504, // terminal +ENC_UNALLOCATED_1167_ASISDELEM=2505, // terminal +ENC_UNALLOCATED_1168_ASISDELEM=2506, // terminal +ENC_UNALLOCATED_1169_ASISDELEM=2507, // terminal +ENC_UNALLOCATED_1170_ASISDELEM=2508, // terminal +ENC_UNALLOCATED_1171_ASISDELEM=2509, // terminal +ENC_UNALLOCATED_1172_ASIMDSHF=2510, // terminal +ENC_UNALLOCATED_1173_ASIMDSHF=2511, // terminal +ENC_UNALLOCATED_1174_ASIMDSHF=2512, // terminal +ENC_UNALLOCATED_1175_ASIMDSHF=2513, // terminal +ENC_UNALLOCATED_1176_ASIMDSHF=2514, // terminal +ENC_UNALLOCATED_1177_ASIMDSHF=2515, // terminal +ENC_UNALLOCATED_1178_ASIMDTBL=2516, // terminal +ENC_UNALLOCATED_1179_ASIMDTBL=2517, // terminal +ENC_UNALLOCATED_1180_ASIMDTBL=2518, // terminal +ENC_UNALLOCATED_1181_ASIMDDIFF=2519, // terminal +ENC_UNALLOCATED_1182_ASIMDDIFF=2520, // terminal +ENC_UNALLOCATED_1183_ASIMDDIFF=2521, // terminal +ENC_UNALLOCATED_1184_ASIMDSAME=2522, // terminal +ENC_UNALLOCATED_1185_ASIMDSAME=2523, // terminal +ENC_UNALLOCATED_1186_ASIMDSAME=2524, // terminal +ENC_UNALLOCATED_1187_ASIMDSAME=2525, // terminal +ENC_UNALLOCATED_1188_ASIMDSAMEFP16=2526, // terminal +ENC_UNALLOCATED_1189_ASIMDSAMEFP16=2527, // terminal +ENC_UNALLOCATED_1190_ASIMDSAMEFP16=2528, // terminal +ENC_UNALLOCATED_1191_ASIMDSAME2=2529, // terminal +ENC_UNALLOCATED_1192_ASIMDSAME2=2530, // terminal +ENC_UNALLOCATED_1193_ASIMDSAME2=2531, // terminal +ENC_UNALLOCATED_1194_ASIMDSAME2=2532, // terminal +ENC_UNALLOCATED_1195_ASIMDSAME2=2533, // terminal +ENC_UNALLOCATED_1196_ASIMDSAME2=2534, // terminal +ENC_UNALLOCATED_1197_ASIMDSAME2=2535, // terminal +ENC_UNALLOCATED_1198_ASIMDSAME2=2536, // terminal +ENC_UNALLOCATED_1199_ASIMDSAME2=2537, // terminal +ENC_UNALLOCATED_1200_ASIMDSAME2=2538, // terminal +ENC_UNALLOCATED_1201_ASIMDSAME2=2539, // terminal +ENC_UNALLOCATED_1202_ASIMDSAME2=2540, // terminal +ENC_UNALLOCATED_1203_ASIMDSAME2=2541, // terminal +ENC_UNALLOCATED_1204_ASIMDSAME2=2542, // terminal +ENC_UNALLOCATED_1205_ASIMDSAME2=2543, // terminal +ENC_UNALLOCATED_1206_ASIMDSAME2=2544, // terminal +ENC_UNALLOCATED_1207_ASIMDSAME2=2545, // terminal +ENC_UNALLOCATED_1208_ASIMDSAME2=2546, // terminal +ENC_UNALLOCATED_1209_ASIMDMISC=2547, // terminal +ENC_UNALLOCATED_1210_ASIMDMISC=2548, // terminal +ENC_UNALLOCATED_1211_ASIMDMISC=2549, // terminal +ENC_UNALLOCATED_1212_ASIMDMISC=2550, // terminal +ENC_UNALLOCATED_1213_ASIMDMISC=2551, // terminal +ENC_UNALLOCATED_1214_ASIMDMISC=2552, // terminal +ENC_UNALLOCATED_1215_ASIMDMISC=2553, // terminal +ENC_UNALLOCATED_1216_ASIMDMISC=2554, // terminal +ENC_UNALLOCATED_1217_ASIMDMISC=2555, // terminal +ENC_UNALLOCATED_1218_ASIMDMISC=2556, // terminal +ENC_UNALLOCATED_1219_ASIMDMISC=2557, // terminal +ENC_UNALLOCATED_1220_ASIMDMISC=2558, // terminal +ENC_UNALLOCATED_1221_ASIMDMISC=2559, // terminal +ENC_UNALLOCATED_1222_ASIMDMISCFP16=2560, // terminal +ENC_UNALLOCATED_1223_ASIMDMISCFP16=2561, // terminal +ENC_UNALLOCATED_1224_ASIMDMISCFP16=2562, // terminal +ENC_UNALLOCATED_1225_ASIMDMISCFP16=2563, // terminal +ENC_UNALLOCATED_1226_ASIMDMISCFP16=2564, // terminal +ENC_UNALLOCATED_1227_ASIMDMISCFP16=2565, // terminal +ENC_UNALLOCATED_1228_ASIMDMISCFP16=2566, // terminal +ENC_UNALLOCATED_1229_ASIMDMISCFP16=2567, // terminal +ENC_UNALLOCATED_1230_ASIMDELEM=2568, // terminal +ENC_UNALLOCATED_1231_ASIMDELEM=2569, // terminal +ENC_UNALLOCATED_1232_ASIMDELEM=2570, // terminal +ENC_UNALLOCATED_1233_ASIMDELEM=2571, // terminal +ENC_UNALLOCATED_1234_ASIMDELEM=2572, // terminal +ENC_UNALLOCATED_1235_ASIMDELEM=2573, // terminal +ENC_UNALLOCATED_1236_FLOAT2FIX=2574, // terminal +ENC_UNALLOCATED_1237_FLOAT2FIX=2575, // terminal +ENC_UNALLOCATED_1238_FLOAT2FIX=2576, // terminal +ENC_UNALLOCATED_1239_FLOAT2FIX=2577, // terminal +ENC_UNALLOCATED_1240_FLOAT2FIX=2578, // terminal +ENC_UNALLOCATED_1241_FLOAT2FIX=2579, // terminal +ENC_UNALLOCATED_1242_FLOAT2INT=2580, // terminal +ENC_UNALLOCATED_1243_FLOAT2INT=2581, // terminal +ENC_UNALLOCATED_1244_FLOAT2INT=2582, // terminal +ENC_UNALLOCATED_1245_FLOAT2INT=2583, // terminal +ENC_UNALLOCATED_1246_FLOAT2INT=2584, // terminal +ENC_UNALLOCATED_1247_FLOAT2INT=2585, // terminal +ENC_UNALLOCATED_1248_FLOAT2INT=2586, // terminal +ENC_UNALLOCATED_1249_FLOAT2INT=2587, // terminal +ENC_UNALLOCATED_1250_FLOAT2INT=2588, // terminal +ENC_UNALLOCATED_1251_FLOAT2INT=2589, // terminal +ENC_UNALLOCATED_1252_FLOAT2INT=2590, // terminal +ENC_UNALLOCATED_1253_FLOAT2INT=2591, // terminal +ENC_UNALLOCATED_1254_FLOAT2INT=2592, // terminal +ENC_UNALLOCATED_1255_FLOAT2INT=2593, // terminal +ENC_UNALLOCATED_1256_FLOAT2INT=2594, // terminal +ENC_UNALLOCATED_1257_FLOAT2INT=2595, // terminal +ENC_UNALLOCATED_1258_FLOAT2INT=2596, // terminal +ENC_UNALLOCATED_1259_CRYPTOAES=2597, // terminal +ENC_UNALLOCATED_1260_CRYPTOAES=2598, // terminal +ENC_UNALLOCATED_1261_CRYPTOAES=2599, // terminal +ENC_UNALLOCATED_1262_CRYPTOAES=2600, // terminal +ENC_UNALLOCATED_1263_CRYPTO4=2601, // terminal +ENC_UNALLOCATED_1264_CRYPTOSHA3=2602, // terminal +ENC_UNALLOCATED_1265_CRYPTOSHA3=2603, // terminal +ENC_UNALLOCATED_1266_CRYPTOSHA512_3=2604, // terminal +ENC_UNALLOCATED_1267_CRYPTOSHA2=2605, // terminal +ENC_UNALLOCATED_1268_CRYPTOSHA2=2606, // terminal +ENC_UNALLOCATED_1269_CRYPTOSHA2=2607, // terminal +ENC_UNALLOCATED_1270_CRYPTOSHA2=2608, // terminal +ENC_UNALLOCATED_1271_CRYPTOSHA2=2609, // terminal +ENC_UNALLOCATED_1272_CRYPTOSHA512_2=2610, // terminal +ENC_UNALLOCATED_1273_FLOATCMP=2611, // terminal +ENC_UNALLOCATED_1274_FLOATCMP=2612, // terminal +ENC_UNALLOCATED_1275_FLOATCMP=2613, // terminal +ENC_UNALLOCATED_1276_FLOATCMP=2614, // terminal +ENC_UNALLOCATED_1277_FLOATCMP=2615, // terminal +ENC_UNALLOCATED_1278_FLOATCMP=2616, // terminal +ENC_UNALLOCATED_1279_FLOATCMP=2617, // terminal +ENC_UNALLOCATED_1280_FLOATCCMP=2618, // terminal +ENC_UNALLOCATED_1281_FLOATCCMP=2619, // terminal +ENC_UNALLOCATED_1282_FLOATCCMP=2620, // terminal +ENC_UNALLOCATED_1283_FLOATSEL=2621, // terminal +ENC_UNALLOCATED_1284_FLOATSEL=2622, // terminal +ENC_UNALLOCATED_1285_FLOATSEL=2623, // terminal +ENC_UNALLOCATED_1286_FLOATDP1=2624, // terminal +ENC_UNALLOCATED_1287_FLOATDP1=2625, // terminal +ENC_UNALLOCATED_1288_FLOATDP1=2626, // terminal +ENC_UNALLOCATED_1289_FLOATDP1=2627, // terminal +ENC_UNALLOCATED_1290_FLOATDP1=2628, // terminal +ENC_UNALLOCATED_1291_FLOATDP1=2629, // terminal +ENC_UNALLOCATED_1292_FLOATDP1=2630, // terminal +ENC_UNALLOCATED_1293_FLOATDP1=2631, // terminal +ENC_UNALLOCATED_1294_FLOATDP1=2632, // terminal +ENC_UNALLOCATED_1295_FLOATDP1=2633, // terminal +ENC_UNALLOCATED_1296_FLOATDP1=2634, // terminal +ENC_UNALLOCATED_1297_FLOATDP2=2635, // terminal +ENC_UNALLOCATED_1298_FLOATDP2=2636, // terminal +ENC_UNALLOCATED_1299_FLOATDP2=2637, // terminal +ENC_UNALLOCATED_1300_FLOATDP2=2638, // terminal +ENC_UNALLOCATED_1301_FLOATDP2=2639, // terminal +ENC_UNALLOCATED_1302_FLOATDP2=2640, // terminal +ENC_UNALLOCATED_1303_FLOATDP3=2641, // terminal +ENC_UNALLOCATED_1304_FLOATDP3=2642, // terminal +ENC_UNALLOCATED_1305_FLOATDP3=2643, // terminal +ENC_UNALLOCATED_1306_FLOATIMM=2644, // terminal +ENC_UNALLOCATED_1307_FLOATIMM=2645, // terminal +ENC_UNALLOCATED_1308_FLOATIMM=2646, // terminal +ENC_UNALLOCATED_1309_FLOATIMM=2647, // terminal +ENC_UNALLOCATED_487_SVE_INT_TERN_LOG=2648, // terminal +ENC_UNALLOCATED_488_SVE_INT_BIN_PRED_SHIFT_0=2649, // terminal +ENC_UNALLOCATED_489_SVE_INT_BIN_PRED_SHIFT_0=2650, // terminal +ENC_UNALLOCATED_490_SVE_INT_BIN_PRED_SHIFT_0=2651, // terminal +ENC_UNALLOCATED_491_SVE_INT_BIN_PRED_SHIFT_0=2652, // terminal +ENC_UNALLOCATED_492_SVE_INT_BIN_PRED_SHIFT_1=2653, // terminal +ENC_UNALLOCATED_493_SVE_INT_BIN_PRED_SHIFT_2=2654, // terminal +ENC_UNALLOCATED_494_SVE_INT_BIN_PRED_SHIFT_2=2655, // terminal +ENC_UNALLOCATED_495_SVE_INT_BIN_CONS_SHIFT_A=2656, // terminal +ENC_UNALLOCATED_496_SVE_INT_BIN_CONS_SHIFT_B=2657, // terminal +ENC_UNALLOCATED_497_SVE_INT_COUNTVLV0=2658, // terminal +ENC_UNALLOCATED_498_SVE_INT_COUNTVLV1=2659, // terminal +ENC_UNALLOCATED_499_SVE_INT_COUNT=2660, // terminal +ENC_UNALLOCATED_500_SVE_INT_COUNT_V_SAT=2661, // terminal +ENC_UNALLOCATED_501_SVE_INT_COUNT_V=2662, // terminal +ENC_UNALLOCATED_502_SVE_INT_COUNT_V=2663, // terminal +ENC_UNALLOCATED_503_SVE_INT_COUNT_R_SAT=2664, // terminal +ENC_UNALLOCATED_504_SVE_INT_COUNT_R=2665, // terminal +ENC_UNALLOCATED_505_SVE_INT_COUNT_R=2666, // terminal +ENC_UNALLOCATED_506_SVE_INT_BIN_CONS_ARIT_0=2667, // terminal +ENC_UNALLOCATED_507_SVE_INT_BIN_PRED_ARIT_0=2668, // terminal +ENC_UNALLOCATED_508_SVE_INT_BIN_PRED_ARIT_0=2669, // terminal +ENC_UNALLOCATED_509_SVE_INT_BIN_PRED_ARIT_0=2670, // terminal +ENC_UNALLOCATED_510_SVE_INT_BIN_PRED_ARIT_1=2671, // terminal +ENC_UNALLOCATED_511_SVE_INT_BIN_PRED_ARIT_2=2672, // terminal +ENC_UNALLOCATED_512_SVE_INT_BIN_PRED_LOG=2673, // terminal +ENC_UNALLOCATED_513_SVE_INT_CTERM=2674, // terminal +ENC_UNALLOCATED_514_SVE_INT_SCMP_VI=2675, // terminal +ENC_UNALLOCATED_515_SVE_INT_BIN_CONS_MISC_0_B=2676, // terminal +ENC_UNALLOCATED_516_SVE_INT_BIN_CONS_MISC_0_C=2677, // terminal +ENC_UNALLOCATED_517_SVE_INT_BIN_CONS_MISC_0_D=2678, // terminal +ENC_UNALLOCATED_518_SVE_INT_BIN_CONS_MISC_0_D=2679, // terminal +ENC_UNALLOCATED_519_SVE_INTX_DOT=2680, // terminal +ENC_UNALLOCATED_520_SVE_INTX_MIXED_DOT=2681, // terminal +ENC_UNALLOCATED_521_SVE_INT_REDUCE_0=2682, // terminal +ENC_UNALLOCATED_522_SVE_INT_REDUCE_0Q=2683, // terminal +ENC_UNALLOCATED_523_SVE_INT_REDUCE_0Q=2684, // terminal +ENC_UNALLOCATED_524_SVE_INT_MOVPRFX_PRED=2685, // terminal +ENC_UNALLOCATED_525_SVE_INT_REDUCE_2=2686, // terminal +ENC_UNALLOCATED_526_SVE_INT_REDUCE_2Q=2687, // terminal +ENC_UNALLOCATED_527_SVE_INT_UN_PRED_ARIT_1=2688, // terminal +ENC_UNALLOCATED_528_SVE_INT_ARITH_IMM0=2689, // terminal +ENC_UNALLOCATED_529_SVE_INT_ARITH_IMM1=2690, // terminal +ENC_UNALLOCATED_530_SVE_INT_ARITH_IMM1=2691, // terminal +ENC_UNALLOCATED_531_SVE_INT_ARITH_IMM2=2692, // terminal +ENC_UNALLOCATED_532_SVE_INT_ARITH_IMM2=2693, // terminal +ENC_UNALLOCATED_533_SVE_INT_DUP_IMM=2694, // terminal +ENC_UNALLOCATED_534_SVE_INT_DUP_FPIMM=2695, // terminal +ENC_UNALLOCATED_535_SVE_INT_DUP_FPIMM=2696, // terminal +ENC_UNALLOCATED_536_SVE_MEM_32B_GLD_VS=2697, // terminal +ENC_UNALLOCATED_537_SVE_MEM_32B_GLD_SV_B=2698, // terminal +ENC_UNALLOCATED_538_SVE_MEM_32B_GLDNT_VS=2699, // terminal +ENC_UNALLOCATED_539_SVE_MEM_32B_GLDNT_VS=2700, // terminal +ENC_UNALLOCATED_540_SVE_MEM_PRFM_SS=2701, // terminal +ENC_UNALLOCATED_541_SVE_MEM_32B_GLD_VI=2702, // terminal +ENC_UNALLOCATED_542_SVE_MEM_32B_GLD_VI=2703, // terminal +ENC_UNALLOCATED_543_SVE_MEM_64B_GLD_VS=2704, // terminal +ENC_UNALLOCATED_544_SVE_MEM_64B_GLD_SV=2705, // terminal +ENC_UNALLOCATED_545_SVE_MEM_64B_GLDNT_VS=2706, // terminal +ENC_UNALLOCATED_546_SVE_MEM_64B_GLD_VI=2707, // terminal +ENC_UNALLOCATED_547_SVE_MEM_64B_GLD_VS2=2708, // terminal +ENC_UNALLOCATED_548_SVE_MEM_64B_GLD_SV2=2709, // terminal +ENC_UNALLOCATED_549_SVE_MEM_LDQR_SS=2710, // terminal +ENC_UNALLOCATED_550_SVE_MEM_LDQR_SS=2711, // terminal +ENC_UNALLOCATED_551_SVE_MEM_LDQR_SI=2712, // terminal +ENC_UNALLOCATED_552_SVE_MEM_CLD_SI_Q=2713, // terminal +ENC_UNALLOCATED_553_SVE_MEM_CLD_SS=2714, // terminal +ENC_UNALLOCATED_554_SVE_MEM_CLD_SS_Q=2715, // terminal +ENC_UNALLOCATED_555_SVE_MEM_CLD_SS_Q=2716, // terminal +ENC_UNALLOCATED_556_SVE_MEM_ELDQ_SS=2717, // terminal +ENC_UNALLOCATED_557_SVE_MEM_ELDQ_SS=2718, // terminal +ENC_UNALLOCATED_558_SVE_MEM_CLDNT_SS=2719, // terminal +ENC_UNALLOCATED_559_SVE_MEM_ELD_SS=2720, // terminal +ENC_UNALLOCATED_560_SVE_MEM_ELDQ_SI=2721, // terminal +ENC_UNALLOCATED_561_SVE_MEM_ESTQ_SI=2722, // terminal +ENC_UNALLOCATED_562_SVE_MEM_ESTQ_SS=2723, // terminal +ENC_UNALLOCATED_563_SVE_MEM_ESTQ_SS=2724, // terminal +ENC_UNALLOCATED_564_SVE_MEM_CST_SS=2725, // terminal +ENC_UNALLOCATED_565_SVE_MEM_CST_SS=2726, // terminal +ENC_UNALLOCATED_566_SVE_MEM_CST_SS=2727, // terminal +ENC_UNALLOCATED_567_SVE_MEM_CST_SS=2728, // terminal +ENC_UNALLOCATED_568_SVE_MEM_CST_SI=2729, // terminal +ENC_UNALLOCATED_569_SVE_MEM_CST_SI=2730, // terminal +ENC_UNALLOCATED_570_SVE_MEM_CSTNT_SS=2731, // terminal +ENC_UNALLOCATED_571_SVE_MEM_EST_SS=2732, // terminal +ENC_UNALLOCATED_572_SVE_MEM_SSTNT_32B_VS=2733, // terminal +ENC_UNALLOCATED_573_SVE_MEM_SST_SV2=2734, // terminal +ENC_UNALLOCATED_574_SVE_MEM_SST_VI_B=2735, // terminal +ENC_UNALLOCATED_575_SVE_MEM_SST_VS_B=2736, // terminal +ENC_UNALLOCATED_576_SVE_MEM_SST_SV_A=2737, // terminal +ENC_UNALLOCATED_577_SVE_MEM_SST_SV_B=2738, // terminal +ENC_UNALLOCATED_578_SVE_MEM_SST_SV_B=2739, // terminal +ENC_UNALLOCATED_579_SVE_INTX_CLONG=2740, // terminal +ENC_UNALLOCATED_580_SVE_INTX_MMLA=2741, // terminal +ENC_UNALLOCATED_581_SVE_INTX_PERM_BIT=2742, // terminal +ENC_UNALLOCATED_582_SVE_INTX_MIXED_DOT_BY_INDEXED_ELEM=2743, // terminal +ENC_UNALLOCATED_583_SVE_INTX_QDMLA_LONG_BY_INDEXED_ELEM=2744, // terminal +ENC_UNALLOCATED_584_SVE_INTX_CDOT_BY_INDEXED_ELEM=2745, // terminal +ENC_UNALLOCATED_585_SVE_INTX_CMLA_BY_INDEXED_ELEM=2746, // terminal +ENC_UNALLOCATED_586_SVE_INTX_QRDCMLA_BY_INDEXED_ELEM=2747, // terminal +ENC_UNALLOCATED_587_SVE_INTX_MLA_LONG_BY_INDEXED_ELEM=2748, // terminal +ENC_UNALLOCATED_588_SVE_INTX_MUL_LONG_BY_INDEXED_ELEM=2749, // terminal +ENC_UNALLOCATED_589_SVE_INTX_QDMUL_LONG_BY_INDEXED_ELEM=2750, // terminal +ENC_UNALLOCATED_590_SVE_INT_BREAK=2751, // terminal +ENC_UNALLOCATED_591_SVE_INT_PERM_BIN_PERM_PP=2752, // terminal +ENC_UNALLOCATED_592_SVE_INT_PERM_BIN_PERM_ZZ=2753, // terminal +ENC_UNALLOCATED_593_SVE_INT_PERM_REVD=2754, // terminal +ENC_UNALLOCATED_594_SVE_INT_PERM_BIN_LONG_PERM_ZZ=2755, // terminal +ENC_UNALLOCATED_595_SVE_INT_PERM_BINQUADS=2756, // terminal +ENC_UNALLOCATED_596_SVE_INT_PERM_BINQUADS=2757, // terminal +ENC_UNALLOCATED_597_SVE_INT_MOV_V2P=2758, // terminal +ENC_UNALLOCATED_598_SVE_INT_MOV_P2V=2759, // terminal +ENC_UNALLOCATED_599_SVE_INT_PCOUNT_PRED=2760, // terminal +ENC_UNALLOCATED_600_SVE_INT_PCOUNT_PRED=2761, // terminal +ENC_UNALLOCATED_601_SVE_INT_PCOUNT_PN=2762, // terminal +ENC_UNALLOCATED_602_SVE_INT_PRED_LOG=2763, // terminal +ENC_UNALLOCATED_603_SVE_INT_PTEST=2764, // terminal +ENC_UNALLOCATED_604_SVE_INT_PTEST=2765, // terminal +ENC_UNALLOCATED_605_SVE_INT_PTEST=2766, // terminal +ENC_UNALLOCATED_606_SVE_INT_PFIRST=2767, // terminal +ENC_UNALLOCATED_607_SVE_INT_PFIRST=2768, // terminal +ENC_UNALLOCATED_608_SVE_INT_PFALSE=2769, // terminal +ENC_UNALLOCATED_609_SVE_INT_PFALSE=2770, // terminal +ENC_UNALLOCATED_610_SVE_INT_RDFFR=2771, // terminal +ENC_UNALLOCATED_611_SVE_INT_RDFFR_2=2772, // terminal +ENC_UNALLOCATED_612_SVE_INT_RDFFR_2=2773, // terminal +ENC_UNALLOCATED_613_SVE_INT_PRED_DUP=2774, // terminal +ENC_UNALLOCATED_614_SVE_INT_BRKP=2775, // terminal +ENC_UNALLOCATED_615_SVE_INT_CTR_TO_MASK=2776, // terminal +ENC_UNALLOCATED_616_SVE_INT_READ_VL_A=2777, // terminal +ENC_UNALLOCATED_617_SVE_INT_READ_VL_A=2778, // terminal +ENC_UNALLOCATED_618_SVE_INT_READ_SVL_A=2779, // terminal +ENC_UNALLOCATED_619_SVE_INT_READ_SVL_A=2780, // terminal +ENC_UNALLOCATED_620_SVE_INT_WRFFR=2781, // terminal +ENC_UNALLOCATED_621_SVE_INT_SETFFR=2782, // terminal +ENC_UNALLOCATED_622_SVE_FP_2OP_P_VD=2783, // terminal +ENC_UNALLOCATED_623_SVE_FP_2OP_P_ZDS=2784, // terminal +ENC_UNALLOCATED_624_SVE_FP_3OP_U_ZD=2785, // terminal +ENC_UNALLOCATED_625_SVE_FP_3OP_P_PD=2786, // terminal +ENC_UNALLOCATED_626_SVE_FP_2OP_P_PD=2787, // terminal +ENC_UNALLOCATED_627_SVE_FP_FCMLA_BY_INDEXED_ELEM=2788, // terminal +ENC_UNALLOCATED_628_SVE_FP_FCVT2Z=2789, // terminal +ENC_UNALLOCATED_629_SVE_FP_FCVT2Z=2790, // terminal +ENC_UNALLOCATED_630_SVE_FP_FCVT2Z=2791, // terminal +ENC_UNALLOCATED_631_SVE_FP_FCVT2Z=2792, // terminal +ENC_UNALLOCATED_632_SVE_FP_FCVT2=2793, // terminal +ENC_UNALLOCATED_633_SVE_FP_FCVT2=2794, // terminal +ENC_UNALLOCATED_634_SVE_FP_FCVT2=2795, // terminal +ENC_UNALLOCATED_635_SVE_FP_FCVT2=2796, // terminal +ENC_UNALLOCATED_636_SVE_FP_FAST_RED=2797, // terminal +ENC_UNALLOCATED_637_SVE_FP_FAST_RED=2798, // terminal +ENC_UNALLOCATED_638_SVE_FP_FAST_REDQ=2799, // terminal +ENC_UNALLOCATED_639_SVE_FP_FAST_REDQ=2800, // terminal +ENC_UNALLOCATED_640_SVE_FP_FMUL_BY_INDEXED_ELEM=2801, // terminal +ENC_UNALLOCATED_641_SVE_FP_3OP_P_ZDS_A=2802, // terminal +ENC_UNALLOCATED_642_SVE_FP_FMA_BY_INDEXED_ELEM=2803, // terminal +ENC_UNALLOCATED_643_SVE_FP_2OP_P_ZD_A=2804, // terminal +ENC_UNALLOCATED_644_SVE_FP_2OP_P_ZD_B_0=2805, // terminal +ENC_UNALLOCATED_645_SVE_FP_2OP_P_ZD_B_0=2806, // terminal +ENC_UNALLOCATED_646_SVE_FP_2OP_P_ZD_B_0=2807, // terminal +ENC_UNALLOCATED_647_SVE_FP_2OP_P_ZD_B_1=2808, // terminal +ENC_UNALLOCATED_648_SVE_FP_2OP_P_ZD_C=2809, // terminal +ENC_UNALLOCATED_649_SVE_FP_2OP_P_ZD_C=2810, // terminal +ENC_UNALLOCATED_650_SVE_FP_2OP_P_ZD_C=2811, // terminal +ENC_UNALLOCATED_651_SVE_FP_2OP_P_ZD_D=2812, // terminal +ENC_UNALLOCATED_652_SVE_FP_2OP_P_ZD_D=2813, // terminal +ENC_UNALLOCATED_653_SVE_FP_2OP_P_ZD_D=2814, // terminal +ENC_UNALLOCATED_654_SVE_FP_2OP_P_ZD_D=2815, // terminal +ENC_UNALLOCATED_655_SVE_FP_FDOT_BY_INDEXED_ELEM=2816, // terminal +ENC_UNALLOCATED_656_SVE_FP_FDOT_BY_INDEXED_ELEM=2817, // terminal +ENC_UNALLOCATED_657_SVE_CRYPTO_UNARY=2818, // terminal +ENC_UNALLOCATED_658_SVE_CRYPTO_BINARY_DEST=2819, // terminal +ENC_UNALLOCATED_659_SVE_CRYPTO_BINARY_DEST=2820, // terminal +ENC_UNALLOCATED_660_SVE_CRYPTO_BINARY_MULTI2=2821, // terminal +ENC_UNALLOCATED_661_SVE_CRYPTO_BINARY_MULTI2=2822, // terminal +ENC_UNALLOCATED_662_SVE_CRYPTO_BINARY_MULTI4=2823, // terminal +ENC_UNALLOCATED_663_SVE_CRYPTO_BINARY_MULTI4=2824, // terminal +ENC_UNALLOCATED_664_SVE_CRYPTO_BINARY_CONST=2825, // terminal +ENC_UNALLOCATED_665_SVE_CRYPTO_PMULL_MULTI=2826, // terminal +ENC_UNALLOCATED_666_SVE_CRYPTO_PMLAL_MULTI=2827, // terminal +ENC_UNALLOCATED_667_SVE_INTX_BIN_PRED_SHIFT_SAT_ROUND=2828, // terminal +ENC_UNALLOCATED_668_SVE_INTX_ARITH_BINARY_PAIRS=2829, // terminal +ENC_UNALLOCATED_669_SVE_INT_MUL_B=2830, // terminal +ENC_UNALLOCATED_670_SVE_INTX_MULTI_SHIFT_NARROW=2831, // terminal +ENC_UNALLOCATED_671_SVE_INTX_MULTI_SHIFT_NARROW=2832, // terminal +ENC_UNALLOCATED_672_SVE_INTX_MULTI_SHIFT_NARROW=2833, // terminal +ENC_UNALLOCATED_673_SVE_INTX_MULTI_SHIFT_NARROW=2834, // terminal +ENC_UNALLOCATED_674_SVE_INTX_MULTI_SHIFT_NARROW=2835, // terminal +ENC_UNALLOCATED_675_SVE_INTX_EXTRACT_NARROW=2836, // terminal +ENC_UNALLOCATED_676_SVE_INTX_MULTI_EXTRACT_NARROW=2837, // terminal +ENC_UNALLOCATED_677_SVE_INTX_MULTI_EXTRACT_NARROW=2838, // terminal +ENC_UNALLOCATED_678_SVE_INTX_MULTI_EXTRACT_NARROW=2839, // terminal +ENC_UNALLOCATED_679_SVE_INTX_CONS_ARITH_LONG=2840, // terminal +ENC_UNALLOCATED_680_SVE_FP_PAIRWISE=2841, // terminal +ENC_UNALLOCATED_681_SVE_FP_PAIRWISE=2842, // terminal +ENC_UNALLOCATED_682_SVE_FP_Z2OP_P_ZD_A=2843, // terminal +ENC_UNALLOCATED_683_SVE_FP_Z2OP_P_ZD_B_0=2844, // terminal +ENC_UNALLOCATED_684_SVE_FP_Z2OP_P_ZD_B_0=2845, // terminal +ENC_UNALLOCATED_685_SVE_FP_Z2OP_P_ZD_B_0=2846, // terminal +ENC_UNALLOCATED_686_SVE_FP_Z2OP_P_ZD_B_1=2847, // terminal +ENC_UNALLOCATED_687_SVE_FP_Z2OP_P_ZD_C=2848, // terminal +ENC_UNALLOCATED_688_SVE_FP_Z2OP_P_ZD_C=2849, // terminal +ENC_UNALLOCATED_689_SVE_FP_Z2OP_P_ZD_C=2850, // terminal +ENC_UNALLOCATED_690_SVE_FP_Z2OP_P_ZD_C=2851, // terminal +ENC_UNALLOCATED_691_SVE_FP_Z2OP_P_ZD_D=2852, // terminal +ENC_UNALLOCATED_692_SVE_FP_Z2OP_P_ZD_D=2853, // terminal +ENC_UNALLOCATED_693_SVE_FP_Z2OP_P_ZD_D=2854, // terminal +ENC_UNALLOCATED_694_SVE_FP_Z2OP_P_ZD_D=2855, // terminal +ENC_UNALLOCATED_695_SVE_FP_Z2OP_P_ZD_D=2856, // terminal +ENC_UNALLOCATED_696_SVE_PTR_MULADD_UNPRED=2857, // terminal +ENC_UNALLOCATED_697_MORTLACH_ADDHV=2858, // terminal +ENC_UNALLOCATED_698_MORTLACH_ZT_LDST=2859, // terminal +ENC_UNALLOCATED_699_MORTLACH_ZT_LDST=2860, // terminal +ENC_UNALLOCATED_700_MORTLACH_ZT_LDST=2861, // terminal +ENC_UNALLOCATED_701_MORTLACH_ZT_LDST=2862, // terminal +ENC_UNALLOCATED_702_MORTLACH_ZT_LDST=2863, // terminal +ENC_UNALLOCATED_703_MORTLACH_ZT_LDST=2864, // terminal +ENC_UNALLOCATED_704_MORTLACH_EXTRACT_PRED=2865, // terminal +ENC_UNALLOCATED_705_MORTLACH_MULTI4_EXTRACT_CTG=2866, // terminal +ENC_UNALLOCATED_706_MORTLACH_EXTRACT_ZERO=2867, // terminal +ENC_UNALLOCATED_707_MORTLACH_MULTI4_EXTRACT_ZERO=2868, // terminal +ENC_UNALLOCATED_708_MORTLACH_INSERT_PRED=2869, // terminal +ENC_UNALLOCATED_709_MORTLACH_MULTI4_INSERT_CTG=2870, // terminal +ENC_UNALLOCATED_710_MORTLACH_EXPAND_2DST_CTG=2871, // terminal +ENC_UNALLOCATED_711_MORTLACH_EXPAND_2DST_CTG=2872, // terminal +ENC_UNALLOCATED_712_MORTLACH_EXPAND_4DST_CTG=2873, // terminal +ENC_UNALLOCATED_713_MORTLACH_EXPAND_4DST_CTG=2874, // terminal +ENC_UNALLOCATED_714_MORTLACH_EXPAND_1DST=2875, // terminal +ENC_UNALLOCATED_715_MORTLACH_EXPAND_1DST=2876, // terminal +ENC_UNALLOCATED_716_MORTLACH_EXPAND_1DST=2877, // terminal +ENC_UNALLOCATED_717_MORTLACH_EXPAND_1DST=2878, // terminal +ENC_UNALLOCATED_718_MORTLACH_EXPAND_1DST=2879, // terminal +ENC_UNALLOCATED_719_MORTLACH_EXPAND_4DST2SRC_CTG=2880, // terminal +ENC_UNALLOCATED_720_MORTLACH_EXPAND_4DST3SRC_CTG=2881, // terminal +ENC_UNALLOCATED_721_MORTLACH_EXPAND_4DST3SRC_CTG=2882, // terminal +ENC_UNALLOCATED_722_MORTLACH_EXPAND_2DST_NCTG=2883, // terminal +ENC_UNALLOCATED_723_MORTLACH_EXPAND_2DST_NCTG=2884, // terminal +ENC_UNALLOCATED_724_MORTLACH_EXPAND_4DST_NCTG=2885, // terminal +ENC_UNALLOCATED_725_MORTLACH_EXPAND_4DST_NCTG=2886, // terminal +ENC_UNALLOCATED_726_MORTLACH_EXPAND_4DST2SRC_NCTG=2887, // terminal +ENC_UNALLOCATED_727_MORTLACH_EXPAND_4DST3SRC_NCTG=2888, // terminal +ENC_UNALLOCATED_728_MORTLACH_EXPAND_4DST3SRC_NCTG=2889, // terminal +ENC_UNALLOCATED_729_MORTLACH_EXTRACT_ZT=2890, // terminal +ENC_UNALLOCATED_730_MORTLACH_INSERT_ZT=2891, // terminal +ENC_UNALLOCATED_731_MORTLACH_MOVE_TO_ZT=2892, // terminal +ENC_UNALLOCATED_732_MORTLACH_MULTI4_MLA_LONG_LONG_IDX_S=2893, // terminal +ENC_UNALLOCATED_733_MORTLACH_MULTI4_ZZA_IDX_S=2894, // terminal +ENC_UNALLOCATED_734_MORTLACH_MULTI4_ZZA_IDX_D=2895, // terminal +ENC_UNALLOCATED_735_MORTLACH_MULTI1_MLA_LONG_LONG_IDX_S=2896, // terminal +ENC_UNALLOCATED_736_MORTLACH_MULTI2_MLA_LONG_LONG_IDX_S=2897, // terminal +ENC_UNALLOCATED_737_MORTLACH_MULTI2_ZZA_IDX_S=2898, // terminal +ENC_UNALLOCATED_738_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM=2899, // terminal +ENC_UNALLOCATED_739_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM=2900, // terminal +ENC_UNALLOCATED_740_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM=2901, // terminal +ENC_UNALLOCATED_741_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM=2902, // terminal +ENC_UNALLOCATED_742_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM=2903, // terminal +ENC_UNALLOCATED_743_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM=2904, // terminal +ENC_UNALLOCATED_744_MORTLACH_MULTI4_Z_Z_MINMAX_MM=2905, // terminal +ENC_UNALLOCATED_745_MORTLACH_MULTI4_Z_Z_FMINMAX_MM=2906, // terminal +ENC_UNALLOCATED_746_MORTLACH_MULTI4_Z_Z_FSCALE_MM=2907, // terminal +ENC_UNALLOCATED_747_MORTLACH_MULTI4_Z_Z_FSCALE_MM=2908, // terminal +ENC_UNALLOCATED_748_MORTLACH_MULTI4_Z_Z_SHIFT_MM=2909, // terminal +ENC_UNALLOCATED_749_MORTLACH_MULTI2_Z_Z_MINMAX_MM=2910, // terminal +ENC_UNALLOCATED_750_MORTLACH_MULTI2_Z_Z_FMINMAX_MM=2911, // terminal +ENC_UNALLOCATED_751_MORTLACH_MULTI2_Z_Z_FSCALE_MM=2912, // terminal +ENC_UNALLOCATED_752_MORTLACH_MULTI2_Z_Z_FSCALE_MM=2913, // terminal +ENC_UNALLOCATED_753_MORTLACH_MULTI2_Z_Z_SHIFT_MM=2914, // terminal +ENC_UNALLOCATED_754_MORTLACH_MULTI4_Z_Z_SQDMULH_MM=2915, // terminal +ENC_UNALLOCATED_755_MORTLACH_MULTI2_Z_Z_SQDMULH_MM=2916, // terminal +ENC_UNALLOCATED_756_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM=2917, // terminal +ENC_UNALLOCATED_757_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM=2918, // terminal +ENC_UNALLOCATED_758_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM=2919, // terminal +ENC_UNALLOCATED_759_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM=2920, // terminal +ENC_UNALLOCATED_760_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_SM=2921, // terminal +ENC_UNALLOCATED_761_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM=2922, // terminal +ENC_UNALLOCATED_762_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM=2923, // terminal +ENC_UNALLOCATED_763_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM=2924, // terminal +ENC_UNALLOCATED_764_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM=2925, // terminal +ENC_UNALLOCATED_765_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM=2926, // terminal +ENC_UNALLOCATED_766_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM=2927, // terminal +ENC_UNALLOCATED_767_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM=2928, // terminal +ENC_UNALLOCATED_768_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_SM=2929, // terminal +ENC_UNALLOCATED_769_MORTLACH_MULTI4_Z_Z_FSCALE_SM=2930, // terminal +ENC_UNALLOCATED_770_MORTLACH_MULTI4_Z_Z_SHIFT_SM=2931, // terminal +ENC_UNALLOCATED_771_MORTLACH_MULTI4_Z_Z_ADD_SM=2932, // terminal +ENC_UNALLOCATED_772_MORTLACH_MULTI4_Z_Z_SQDMULH_SM=2933, // terminal +ENC_UNALLOCATED_773_MORTLACH_MULTI2_Z_Z_FSCALE_SM=2934, // terminal +ENC_UNALLOCATED_774_MORTLACH_MULTI2_Z_Z_SHIFT_SM=2935, // terminal +ENC_UNALLOCATED_775_MORTLACH_MULTI2_Z_Z_ADD_SM=2936, // terminal +ENC_UNALLOCATED_776_MORTLACH_MULTI2_Z_Z_SQDMULH_SM=2937, // terminal +ENC_UNALLOCATED_777_MORTLACH_MULTI2_FCLAMP=2938, // terminal +ENC_UNALLOCATED_778_MORTLACH_MULTI4_FCLAMP=2939, // terminal +ENC_UNALLOCATED_779_MORTLACH_MULTI2_QRSHR=2940, // terminal +ENC_UNALLOCATED_780_MORTLACH_MULTI4_QRSHR=2941, // terminal +ENC_UNALLOCATED_781_MORTLACH_MULTI2_NARROW_INT_CVRT=2942, // terminal +ENC_UNALLOCATED_782_MORTLACH_MULTI2_FRINT=2943, // terminal +ENC_UNALLOCATED_783_MORTLACH_MULTI2_FRINT=2944, // terminal +ENC_UNALLOCATED_784_MORTLACH_MULTI2_FRINT=2945, // terminal +ENC_UNALLOCATED_785_MORTLACH_MULTI2_FRINT=2946, // terminal +ENC_UNALLOCATED_786_MORTLACH_MULTI4_NARROW_INT_CVRT=2947, // terminal +ENC_UNALLOCATED_787_MORTLACH_MULTI4_FRINT=2948, // terminal +ENC_UNALLOCATED_788_MORTLACH_MULTI4_FRINT=2949, // terminal +ENC_UNALLOCATED_789_MORTLACH_MULTI4_FRINT=2950, // terminal +ENC_UNALLOCATED_790_MORTLACH_MULTI4_FRINT=2951, // terminal +ENC_UNALLOCATED_791_MORTLACH_MULTI_ZERO=2952, // terminal +ENC_UNALLOCATED_792_MORTLACH_MULTI_ZERO=2953, // terminal +ENC_UNALLOCATED_793_MORTLACH_MULTI_ZERO=2954, // terminal +ENC_UNALLOCATED_794_MORTLACH_ZERO_ZT=2955, // terminal +ENC_UNALLOCATED_795_MORTLACH_ZERO_ZT=2956, // terminal +ENC_UNALLOCATED_796_ADDSUB_IMMTAGS=2957, // terminal +ENC_UNALLOCATED_797_ADDSUB_IMMTAGS=2958, // terminal +ENC_UNALLOCATED_798_BITFIELD=2959, // terminal +ENC_UNALLOCATED_799_BITFIELD=2960, // terminal +ENC_UNALLOCATED_800_BITFIELD=2961, // terminal +ENC_UNALLOCATED_801_BITFIELD=2962, // terminal +ENC_UNALLOCATED_802_DP_1SRC_IMM=2963, // terminal +ENC_UNALLOCATED_803_DP_1SRC_IMM=2964, // terminal +ENC_UNALLOCATED_804_DP_1SRC_IMM=2965, // terminal +ENC_UNALLOCATED_805_EXTRACT=2966, // terminal +ENC_UNALLOCATED_806_EXTRACT=2967, // terminal +ENC_UNALLOCATED_807_EXTRACT=2968, // terminal +ENC_UNALLOCATED_808_EXTRACT=2969, // terminal +ENC_UNALLOCATED_809_EXTRACT=2970, // terminal +ENC_UNALLOCATED_810_EXTRACT=2971, // terminal +ENC_UNALLOCATED_811_LOG_IMM=2972, // terminal +ENC_UNALLOCATED_812_MINMAX_IMM=2973, // terminal +ENC_UNALLOCATED_813_MINMAX_IMM=2974, // terminal +ENC_UNALLOCATED_814_MINMAX_IMM=2975, // terminal +ENC_UNALLOCATED_815_MINMAX_IMM=2976, // terminal +ENC_UNALLOCATED_816_MOVEWIDE=2977, // terminal +ENC_UNALLOCATED_817_MOVEWIDE=2978, // terminal +ENC_UNALLOCATED_818_MOVEWIDE=2979, // terminal +ENC_UNALLOCATED_819_BARRIERS=2980, // terminal +ENC_UNALLOCATED_820_BARRIERS=2981, // terminal +ENC_UNALLOCATED_821_BARRIERS=2982, // terminal +ENC_UNALLOCATED_822_BARRIERS=2983, // terminal +ENC_UNALLOCATED_823_BARRIERS=2984, // terminal +ENC_UNALLOCATED_824_COMPBRANCH_REGS2=2985, // terminal +ENC_UNALLOCATED_825_COMPBRANCH_IMM=2986, // terminal +ENC_UNALLOCATED_826_COMPBRANCH_REGS=2987, // terminal +ENC_UNALLOCATED_827_EXCEPTION=2988, // terminal +ENC_UNALLOCATED_828_EXCEPTION=2989, // terminal +ENC_UNALLOCATED_829_EXCEPTION=2990, // terminal +ENC_UNALLOCATED_830_EXCEPTION=2991, // terminal +ENC_UNALLOCATED_831_EXCEPTION=2992, // terminal +ENC_UNALLOCATED_832_EXCEPTION=2993, // terminal +ENC_UNALLOCATED_833_EXCEPTION=2994, // terminal +ENC_UNALLOCATED_834_MISCBRANCH=2995, // terminal +ENC_UNALLOCATED_835_MISCBRANCH=2996, // terminal +ENC_UNALLOCATED_836_MISCBRANCH=2997, // terminal +ENC_UNALLOCATED_837_PSTATE=2998, // terminal +ENC_UNALLOCATED_838_PSTATE=2999, // terminal +ENC_UNALLOCATED_839_PSTATE=3000, // terminal +ENC_UNALLOCATED_840_PSTATE=3001, // terminal +ENC_UNALLOCATED_841_PSTATE=3002, // terminal +ENC_UNALLOCATED_842_SYSTEMINSTRSWITHREG=3003, // terminal +ENC_UNALLOCATED_843_SYSTEMINSTRSWITHREG=3004, // terminal +ENC_UNALLOCATED_844_SYSTEMINSTRSWITHREG=3005, // terminal +ENC_UNALLOCATED_845_SYSPAIRINSTRS=3006, // terminal +ENC_UNALLOCATED_846_BRANCH_REG=3007, // terminal +ENC_UNALLOCATED_847_BRANCH_REG=3008, // terminal +ENC_UNALLOCATED_848_BRANCH_REG=3009, // terminal +ENC_UNALLOCATED_849_BRANCH_REG=3010, // terminal +ENC_UNALLOCATED_850_BRANCH_REG=3011, // terminal +ENC_UNALLOCATED_851_BRANCH_REG=3012, // terminal +ENC_UNALLOCATED_852_BRANCH_REG=3013, // terminal +ENC_UNALLOCATED_853_BRANCH_REG=3014, // terminal +ENC_UNALLOCATED_854_BRANCH_REG=3015, // terminal +ENC_UNALLOCATED_855_BRANCH_REG=3016, // terminal +ENC_UNALLOCATED_856_BRANCH_REG=3017, // terminal +ENC_UNALLOCATED_857_BRANCH_REG=3018, // terminal +ENC_UNALLOCATED_858_BRANCH_REG=3019, // terminal +ENC_UNALLOCATED_859_BRANCH_REG=3020, // terminal +ENC_UNALLOCATED_860_BRANCH_REG=3021, // terminal +ENC_UNALLOCATED_861_BRANCH_REG=3022, // terminal +ENC_UNALLOCATED_862_BRANCH_REG=3023, // terminal +ENC_UNALLOCATED_863_BRANCH_REG=3024, // terminal +ENC_UNALLOCATED_864_BRANCH_REG=3025, // terminal +ENC_UNALLOCATED_865_BRANCH_REG=3026, // terminal +ENC_UNALLOCATED_866_BRANCH_REG=3027, // terminal +ENC_UNALLOCATED_867_BRANCH_REG=3028, // terminal +ENC_UNALLOCATED_868_BRANCH_REG=3029, // terminal +ENC_UNALLOCATED_869_BRANCH_REG=3030, // terminal +ENC_UNALLOCATED_870_BRANCH_REG=3031, // terminal +ENC_UNALLOCATED_871_MEMOP_128=3032, // terminal +ENC_UNALLOCATED_872_MEMOP_128=3033, // terminal +ENC_UNALLOCATED_873_MEMOP_128=3034, // terminal +ENC_UNALLOCATED_874_MEMOP_128=3035, // terminal +ENC_UNALLOCATED_875_ASISDLSE=3036, // terminal +ENC_UNALLOCATED_876_ASISDLSE=3037, // terminal +ENC_UNALLOCATED_877_ASISDLSE=3038, // terminal +ENC_UNALLOCATED_878_ASISDLSEP=3039, // terminal +ENC_UNALLOCATED_879_ASISDLSEP=3040, // terminal +ENC_UNALLOCATED_880_ASISDLSEP=3041, // terminal +ENC_UNALLOCATED_881_ASISDLSO=3042, // terminal +ENC_UNALLOCATED_882_ASISDLSO=3043, // terminal +ENC_UNALLOCATED_883_ASISDLSO=3044, // terminal +ENC_UNALLOCATED_884_ASISDLSO=3045, // terminal +ENC_UNALLOCATED_885_ASISDLSO=3046, // terminal +ENC_UNALLOCATED_886_ASISDLSO=3047, // terminal +ENC_UNALLOCATED_887_ASISDLSO=3048, // terminal +ENC_UNALLOCATED_888_ASISDLSO=3049, // terminal +ENC_UNALLOCATED_889_ASISDLSO=3050, // terminal +ENC_UNALLOCATED_890_ASISDLSOP=3051, // terminal +ENC_UNALLOCATED_891_ASISDLSOP=3052, // terminal +ENC_UNALLOCATED_892_ASISDLSOP=3053, // terminal +ENC_UNALLOCATED_893_ASISDLSOP=3054, // terminal +ENC_UNALLOCATED_894_ASISDLSOP=3055, // terminal +ENC_UNALLOCATED_895_MEMOP=3056, // terminal +ENC_UNALLOCATED_896_MEMOP=3057, // terminal +ENC_UNALLOCATED_897_MEMOP=3058, // terminal +ENC_UNALLOCATED_898_MEMOP=3059, // terminal +ENC_UNALLOCATED_899_MEMOP=3060, // terminal +ENC_UNALLOCATED_900_MEMOP=3061, // terminal +ENC_UNALLOCATED_901_MEMOP=3062, // terminal +ENC_UNALLOCATED_902_MEMOP=3063, // terminal +ENC_UNALLOCATED_903_MEMOP=3064, // terminal +ENC_UNALLOCATED_904_MEMOP=3065, // terminal +ENC_UNALLOCATED_905_MEMOP=3066, // terminal +ENC_UNALLOCATED_906_MEMOP=3067, // terminal +ENC_UNALLOCATED_907_MEMOP=3068, // terminal +ENC_UNALLOCATED_908_MEMOP=3069, // terminal +ENC_UNALLOCATED_909_MEMOP=3070, // terminal +ENC_UNALLOCATED_910_MEMOP=3071, // terminal +ENC_UNALLOCATED_911_MEMOP=3072, // terminal +ENC_UNALLOCATED_912_MEMOP=3073, // terminal +ENC_UNALLOCATED_913_MEMOP=3074, // terminal +ENC_UNALLOCATED_914_MEMOP=3075, // terminal +ENC_UNALLOCATED_915_MEMOP=3076, // terminal +ENC_UNALLOCATED_916_MEMOP=3077, // terminal +ENC_UNALLOCATED_917_MEMOP_UNPRIV=3078, // terminal +ENC_UNALLOCATED_918_MEMOP_UNPRIV=3079, // terminal +ENC_UNALLOCATED_919_MEMOP_UNPRIV=3080, // terminal +ENC_UNALLOCATED_920_COMSWAP=3081, // terminal +ENC_UNALLOCATED_921_COMSWAP_UNPRIV=3082, // terminal +ENC_UNALLOCATED_922_COMSWAP_UNPRIV=3083, // terminal +ENC_UNALLOCATED_923_COMSWAPPR=3084, // terminal +ENC_UNALLOCATED_924_COMSWAPPR_UNPRIV=3085, // terminal +ENC_UNALLOCATED_925_COMSWAPPR_UNPRIV=3086, // terminal +ENC_UNALLOCATED_926_LDST_GCS=3087, // terminal +ENC_UNALLOCATED_927_LDST_GCS=3088, // terminal +ENC_UNALLOCATED_928_LOADLIT=3089, // terminal +ENC_UNALLOCATED_929_LDSTTAGS=3090, // terminal +ENC_UNALLOCATED_930_LDSTNAPAIR_OFFS=3091, // terminal +ENC_UNALLOCATED_931_LDAPSTL_SIMD=3092, // terminal +ENC_UNALLOCATED_932_LDAPSTL_UNSCALED=3093, // terminal +ENC_UNALLOCATED_933_LDAPSTL_UNSCALED=3094, // terminal +ENC_UNALLOCATED_934_LDAPSTL_WRITEBACK=3095, // terminal +ENC_UNALLOCATED_935_LDIAPPSTILP=3096, // terminal +ENC_UNALLOCATED_936_LDIAPPSTILP=3097, // terminal +ENC_UNALLOCATED_937_LDIAPPSTILP=3098, // terminal +ENC_UNALLOCATED_938_LDIAPPSTILP=3099, // terminal +ENC_UNALLOCATED_939_LDIAPPSTILP=3100, // terminal +ENC_UNALLOCATED_940_LDIAPPSTILP=3101, // terminal +ENC_UNALLOCATED_941_LDIAPPSTILP=3102, // terminal +ENC_UNALLOCATED_942_LDIAPPSTILP=3103, // terminal +ENC_UNALLOCATED_943_LDST_IMMPOST=3104, // terminal +ENC_UNALLOCATED_944_LDST_IMMPOST=3105, // terminal +ENC_UNALLOCATED_945_LDST_IMMPOST=3106, // terminal +ENC_UNALLOCATED_946_LDST_IMMPOST=3107, // terminal +ENC_UNALLOCATED_947_LDST_IMMPRE=3108, // terminal +ENC_UNALLOCATED_948_LDST_IMMPRE=3109, // terminal +ENC_UNALLOCATED_949_LDST_IMMPRE=3110, // terminal +ENC_UNALLOCATED_950_LDST_IMMPRE=3111, // terminal +ENC_UNALLOCATED_951_LDST_PAC=3112, // terminal +ENC_UNALLOCATED_952_LDST_PAC=3113, // terminal +ENC_UNALLOCATED_953_LDST_REGOFF=3114, // terminal +ENC_UNALLOCATED_954_LDST_REGOFF=3115, // terminal +ENC_UNALLOCATED_955_LDST_REGOFF=3116, // terminal +ENC_UNALLOCATED_956_LDST_UNPRIV=3117, // terminal +ENC_UNALLOCATED_957_LDST_UNPRIV=3118, // terminal +ENC_UNALLOCATED_958_LDST_UNPRIV=3119, // terminal +ENC_UNALLOCATED_959_LDST_UNSCALED=3120, // terminal +ENC_UNALLOCATED_960_LDST_UNSCALED=3121, // terminal +ENC_UNALLOCATED_961_LDST_POS=3122, // terminal +ENC_UNALLOCATED_962_LDST_POS=3123, // terminal +ENC_UNALLOCATED_963_MEMCMS=3124, // terminal +ENC_UNALLOCATED_964_ADDSUB_PT=3125, // terminal +ENC_UNALLOCATED_965_ADDSUB_PT=3126, // terminal +ENC_UNALLOCATED_966_ADDSUB_EXT=3127, // terminal +ENC_UNALLOCATED_967_CONDCMP_IMM=3128, // terminal +ENC_UNALLOCATED_968_CONDCMP_IMM=3129, // terminal +ENC_UNALLOCATED_969_CONDCMP_IMM=3130, // terminal +ENC_UNALLOCATED_970_CONDCMP_REG=3131, // terminal +ENC_UNALLOCATED_971_CONDCMP_REG=3132, // terminal +ENC_UNALLOCATED_972_CONDCMP_REG=3133, // terminal +ENC_UNALLOCATED_973_CONDSEL=3134, // terminal +ENC_UNALLOCATED_974_CONDSEL=3135, // terminal +ENC_UNALLOCATED_975_DP_1SRC=3136, // terminal +ENC_UNALLOCATED_976_DP_1SRC=3137, // terminal +ENC_UNALLOCATED_977_DP_1SRC=3138, // terminal +ENC_UNALLOCATED_978_DP_1SRC=3139, // terminal +ENC_UNALLOCATED_979_DP_1SRC=3140, // terminal +ENC_UNALLOCATED_980_DP_1SRC=3141, // terminal +ENC_UNALLOCATED_981_DP_1SRC=3142, // terminal +ENC_UNALLOCATED_982_DP_1SRC=3143, // terminal +ENC_UNALLOCATED_983_DP_1SRC=3144, // terminal +ENC_UNALLOCATED_984_DP_1SRC=3145, // terminal +ENC_UNALLOCATED_985_DP_1SRC=3146, // terminal +ENC_UNALLOCATED_986_DP_1SRC=3147, // terminal +ENC_UNALLOCATED_987_DP_1SRC=3148, // terminal +ENC_UNALLOCATED_988_DP_1SRC=3149, // terminal +ENC_UNALLOCATED_989_DP_1SRC=3150, // terminal +ENC_UNALLOCATED_990_DP_1SRC=3151, // terminal +ENC_UNALLOCATED_991_DP_1SRC=3152, // terminal +ENC_UNALLOCATED_992_DP_1SRC=3153, // terminal +ENC_UNALLOCATED_993_DP_1SRC=3154, // terminal +ENC_UNALLOCATED_994_DP_1SRC=3155, // terminal +ENC_UNALLOCATED_995_DP_1SRC=3156, // terminal +ENC_UNALLOCATED_996_DP_1SRC=3157, // terminal +ENC_UNALLOCATED_997_DP_1SRC=3158, // terminal +ENC_UNALLOCATED_998_DP_1SRC=3159, // terminal +ENC_UNALLOCATED_999_DP_2SRC=3160, // terminal +ENC_UQADD_ASIMDSAME_ONLY=3161, +ENC_UQADD_ASISDSAME_ONLY=3162, +ENC_UQRSHL_ASIMDSAME_ONLY=3163, +ENC_UQRSHL_ASISDSAME_ONLY=3164, +ENC_UQRSHRN_ASIMDSHF_N=3165, +ENC_UQRSHRN_ASISDSHF_N=3166, +ENC_UQSHL_ASIMDSAME_ONLY=3167, +ENC_UQSHL_ASIMDSHF_R=3168, +ENC_UQSHL_ASISDSAME_ONLY=3169, +ENC_UQSHL_ASISDSHF_R=3170, +ENC_UQSHRN_ASIMDSHF_N=3171, +ENC_UQSHRN_ASISDSHF_N=3172, +ENC_UQSUB_ASIMDSAME_ONLY=3173, +ENC_UQSUB_ASISDSAME_ONLY=3174, +ENC_UQXTN_ASIMDMISC_N=3175, +ENC_UQXTN_ASISDMISC_N=3176, +ENC_URECPE_ASIMDMISC_R=3177, +ENC_URHADD_ASIMDSAME_ONLY=3178, +ENC_URSHL_ASIMDSAME_ONLY=3179, +ENC_URSHL_ASISDSAME_ONLY=3180, +ENC_URSHR_ASIMDSHF_R=3181, +ENC_URSHR_ASISDSHF_R=3182, +ENC_URSQRTE_ASIMDMISC_R=3183, +ENC_URSRA_ASIMDSHF_R=3184, +ENC_URSRA_ASISDSHF_R=3185, +ENC_USDOT_ASIMDELEM_D=3186, +ENC_USDOT_ASIMDSAME2_D=3187, +ENC_USHLL_ASIMDSHF_L=3188, +ENC_USHL_ASIMDSAME_ONLY=3189, +ENC_USHL_ASISDSAME_ONLY=3190, +ENC_USHR_ASIMDSHF_R=3191, +ENC_USHR_ASISDSHF_R=3192, +ENC_USMMLA_ASIMDSAME2_G=3193, +ENC_USQADD_ASIMDMISC_R=3194, +ENC_USQADD_ASISDMISC_R=3195, +ENC_USRA_ASIMDSHF_R=3196, +ENC_USRA_ASISDSHF_R=3197, +ENC_USUBL_ASIMDDIFF_L=3198, +ENC_USUBW_ASIMDDIFF_W=3199, +ENC_UXTB_UBFM_32M_BITFIELD=3200, // alias +ENC_UXTH_UBFM_32M_BITFIELD=3201, // alias +ENC_UXTL_USHLL_ASIMDSHF_L=3202, // alias +ENC_UZP1_ASIMDPERM_ONLY=3203, +ENC_UZP2_ASIMDPERM_ONLY=3204, +ENC_WFET_ONLY_SYSTEMINSTRSWITHREG=3205, +ENC_WFE_HI_HINTS=3206, +ENC_WFIT_ONLY_SYSTEMINSTRSWITHREG=3207, +ENC_WFI_HI_HINTS=3208, +ENC_XAFLAG_M_PSTATE=3209, +ENC_XAR_VVV2_CRYPTO3_IMM6=3210, +ENC_XPACD_64Z_DP_1SRC=3211, +ENC_XPACI_64Z_DP_1SRC=3212, +ENC_XPACLRI_HI_HINTS=3213, +ENC_XTN_ASIMDMISC_N=3214, +ENC_YIELD_HI_HINTS=3215, +ENC_ZIP1_ASIMDPERM_ONLY=3216, +ENC_ZIP2_ASIMDPERM_ONLY=3217, +ENC_ABS_Z_P_Z_M=3218, +ENC_ABS_Z_P_Z_Z=3219, +ENC_ADCLB_Z_ZZZ_=3220, +ENC_ADCLT_Z_ZZZ_=3221, +ENC_ADD_MZ_ZZV_2X1=3222, +ENC_ADD_MZ_ZZV_4X1=3223, +ENC_ADD_Z_P_ZZ_=3224, +ENC_ADD_Z_ZI_=3225, +ENC_ADD_Z_ZZ_=3226, +ENC_ADD_ZA_ZW_2X2=3227, +ENC_ADD_ZA_ZW_4X4=3228, +ENC_ADD_ZA_ZZV_2X1=3229, +ENC_ADD_ZA_ZZV_4X1=3230, +ENC_ADD_ZA_ZZW_2X2=3231, +ENC_ADD_ZA_ZZW_4X4=3232, +ENC_ADDHA_ZA_PP_Z_32=3233, +ENC_ADDHA_ZA_PP_Z_64=3234, +ENC_ADDHNB_Z_ZZ_=3235, +ENC_ADDHNT_Z_ZZ_=3236, +ENC_ADDP_Z_P_ZZ_=3237, +ENC_ADDPL_R_RI_=3238, +ENC_ADDPT_Z_P_ZZ_=3239, +ENC_ADDPT_Z_ZZ_=3240, +ENC_ADDQP_Z_ZZ_=3241, +ENC_ADDQV_Z_P_Z_=3242, +ENC_ADDSPL_R_RI_=3243, +ENC_ADDSUBP_Z_ZZ_=3244, +ENC_ADDSVL_R_RI_=3245, +ENC_ADDVA_ZA_PP_Z_32=3246, +ENC_ADDVA_ZA_PP_Z_64=3247, +ENC_ADDVL_R_RI_=3248, +ENC_ADR_Z_AZ_D_S32_SCALED=3249, +ENC_ADR_Z_AZ_D_U32_SCALED=3250, +ENC_ADR_Z_AZ_SD_SAME_SCALED=3251, +ENC_AESD_MZ_ZZI_2X1=3252, +ENC_AESD_MZ_ZZI_4X1=3253, +ENC_AESD_Z_ZZ_=3254, +ENC_AESDIMC_MZ_ZZI_2X1=3255, +ENC_AESDIMC_MZ_ZZI_4X1=3256, +ENC_AESE_MZ_ZZI_2X1=3257, +ENC_AESE_MZ_ZZI_4X1=3258, +ENC_AESE_Z_ZZ_=3259, +ENC_AESEMC_MZ_ZZI_2X1=3260, +ENC_AESEMC_MZ_ZZI_4X1=3261, +ENC_AESIMC_Z_Z_=3262, +ENC_AESMC_Z_Z_=3263, +ENC_AND_P_P_PP_Z=3264, +ENC_AND_Z_P_ZZ_=3265, +ENC_AND_Z_ZI_=3266, +ENC_AND_Z_ZZ_=3267, +ENC_ANDQV_Z_P_Z_=3268, +ENC_ANDS_P_P_PP_Z=3269, +ENC_ANDV_R_P_Z_=3270, +ENC_ASR_Z_P_ZI_=3271, +ENC_ASR_Z_P_ZW_=3272, +ENC_ASR_Z_P_ZZ_=3273, +ENC_ASR_Z_ZI_=3274, +ENC_ASR_Z_ZW_=3275, +ENC_ASRD_Z_P_ZI_=3276, +ENC_ASRR_Z_P_ZZ_=3277, +ENC_BCAX_Z_ZZZ_=3278, +ENC_BDEP_Z_ZZ_=3279, +ENC_BEXT_Z_ZZ_=3280, +ENC_BF1CVT_MZ2_Z8_=3281, +ENC_BF1CVT_Z_Z8_B2BF=3282, +ENC_BF1CVTL_MZ2_Z8_=3283, +ENC_BF1CVTLT_Z_Z8_B2BF=3284, +ENC_BF2CVT_MZ2_Z8_=3285, +ENC_BF2CVT_Z_Z8_B2BF=3286, +ENC_BF2CVTL_MZ2_Z8_=3287, +ENC_BF2CVTLT_Z_Z8_B2BF=3288, +ENC_BFADD_Z_P_ZZ_=3289, +ENC_BFADD_Z_ZZ_=3290, +ENC_BFADD_ZA_ZW_2X2_16=3291, +ENC_BFADD_ZA_ZW_4X4_16=3292, +ENC_BFCLAMP_MZ_ZZ_2=3293, +ENC_BFCLAMP_MZ_ZZ_4=3294, +ENC_BFCLAMP_Z_ZZ_=3295, +ENC_BFCVT_Z8_MZ2_=3296, +ENC_BFCVT_Z_MZ2_=3297, +ENC_BFCVT_Z_P_Z_S2BF=3298, +ENC_BFCVT_Z_P_Z_S2BFZ=3299, +ENC_BFCVTN_Z8_MZ2_BF2B=3300, +ENC_BFCVTN_Z_MZ2_=3301, +ENC_BFCVTNT_Z_P_Z_S2BF=3302, +ENC_BFCVTNT_Z_P_Z_S2BFZ=3303, +ENC_BFDOT_Z_ZZZ_=3304, +ENC_BFDOT_Z_ZZZI_=3305, +ENC_BFDOT_ZA_ZZI_2XI=3306, +ENC_BFDOT_ZA_ZZI_4XI=3307, +ENC_BFDOT_ZA_ZZV_2X1=3308, +ENC_BFDOT_ZA_ZZV_4X1=3309, +ENC_BFDOT_ZA_ZZW_2X2=3310, +ENC_BFDOT_ZA_ZZW_4X4=3311, +ENC_BFMAX_MZ_ZZV_2X1=3312, +ENC_BFMAX_MZ_ZZV_4X1=3313, +ENC_BFMAX_MZ_ZZW_2X2=3314, +ENC_BFMAX_MZ_ZZW_4X4=3315, +ENC_BFMAX_Z_P_ZZ_=3316, +ENC_BFMAXNM_MZ_ZZV_2X1=3317, +ENC_BFMAXNM_MZ_ZZV_4X1=3318, +ENC_BFMAXNM_MZ_ZZW_2X2=3319, +ENC_BFMAXNM_MZ_ZZW_4X4=3320, +ENC_BFMAXNM_Z_P_ZZ_=3321, +ENC_BFMIN_MZ_ZZV_2X1=3322, +ENC_BFMIN_MZ_ZZV_4X1=3323, +ENC_BFMIN_MZ_ZZW_2X2=3324, +ENC_BFMIN_MZ_ZZW_4X4=3325, +ENC_BFMIN_Z_P_ZZ_=3326, +ENC_BFMINNM_MZ_ZZV_2X1=3327, +ENC_BFMINNM_MZ_ZZV_4X1=3328, +ENC_BFMINNM_MZ_ZZW_2X2=3329, +ENC_BFMINNM_MZ_ZZW_4X4=3330, +ENC_BFMINNM_Z_P_ZZ_=3331, +ENC_BFMLA_Z_P_ZZZ_=3332, +ENC_BFMLA_Z_ZZZI_H=3333, +ENC_BFMLA_ZA_ZZI_H2XI=3334, +ENC_BFMLA_ZA_ZZI_H4XI=3335, +ENC_BFMLA_ZA_ZZV_2X1_16=3336, +ENC_BFMLA_ZA_ZZV_4X1_16=3337, +ENC_BFMLA_ZA_ZZW_2X2_16=3338, +ENC_BFMLA_ZA_ZZW_4X4_16=3339, +ENC_BFMLAL_ZA_ZZI_1=3340, +ENC_BFMLAL_ZA_ZZI_2XI=3341, +ENC_BFMLAL_ZA_ZZI_4XI=3342, +ENC_BFMLAL_ZA_ZZV_1=3343, +ENC_BFMLAL_ZA_ZZV_2X1=3344, +ENC_BFMLAL_ZA_ZZV_4X1=3345, +ENC_BFMLAL_ZA_ZZW_2X2=3346, +ENC_BFMLAL_ZA_ZZW_4X4=3347, +ENC_BFMLALB_Z_ZZZ_=3348, +ENC_BFMLALB_Z_ZZZI_=3349, +ENC_BFMLALT_Z_ZZZ_=3350, +ENC_BFMLALT_Z_ZZZI_=3351, +ENC_BFMLS_Z_P_ZZZ_=3352, +ENC_BFMLS_Z_ZZZI_H=3353, +ENC_BFMLS_ZA_ZZI_H2XI=3354, +ENC_BFMLS_ZA_ZZI_H4XI=3355, +ENC_BFMLS_ZA_ZZV_2X1_16=3356, +ENC_BFMLS_ZA_ZZV_4X1_16=3357, +ENC_BFMLS_ZA_ZZW_2X2_16=3358, +ENC_BFMLS_ZA_ZZW_4X4_16=3359, +ENC_BFMLSL_ZA_ZZI_1=3360, +ENC_BFMLSL_ZA_ZZI_2XI=3361, +ENC_BFMLSL_ZA_ZZI_4XI=3362, +ENC_BFMLSL_ZA_ZZV_1=3363, +ENC_BFMLSL_ZA_ZZV_2X1=3364, +ENC_BFMLSL_ZA_ZZV_4X1=3365, +ENC_BFMLSL_ZA_ZZW_2X2=3366, +ENC_BFMLSL_ZA_ZZW_4X4=3367, +ENC_BFMLSLB_Z_ZZZ_=3368, +ENC_BFMLSLB_Z_ZZZI_=3369, +ENC_BFMLSLT_Z_ZZZ_=3370, +ENC_BFMLSLT_Z_ZZZI_=3371, +ENC_BFMMLA_Z_ZZZ_=3372, +ENC_BFMMLA_Z_ZZZ_H=3373, +ENC_BFMOP4A_ZA32_ZZ_H1X1=3374, +ENC_BFMOP4A_ZA32_ZZ_H1X2=3375, +ENC_BFMOP4A_ZA32_ZZ_H2X1=3376, +ENC_BFMOP4A_ZA32_ZZ_H2X2=3377, +ENC_BFMOP4A_ZA_ZZ_H1X1=3378, +ENC_BFMOP4A_ZA_ZZ_H1X2=3379, +ENC_BFMOP4A_ZA_ZZ_H2X1=3380, +ENC_BFMOP4A_ZA_ZZ_H2X2=3381, +ENC_BFMOP4S_ZA32_ZZ_H1X1=3382, +ENC_BFMOP4S_ZA32_ZZ_H1X2=3383, +ENC_BFMOP4S_ZA32_ZZ_H2X1=3384, +ENC_BFMOP4S_ZA32_ZZ_H2X2=3385, +ENC_BFMOP4S_ZA_ZZ_H1X1=3386, +ENC_BFMOP4S_ZA_ZZ_H1X2=3387, +ENC_BFMOP4S_ZA_ZZ_H2X1=3388, +ENC_BFMOP4S_ZA_ZZ_H2X2=3389, +ENC_BFMOPA_ZA32_PP_ZZ_=3390, +ENC_BFMOPA_ZA_PP_ZZ_16=3391, +ENC_BFMOPS_ZA32_PP_ZZ_=3392, +ENC_BFMOPS_ZA_PP_ZZ_16=3393, +ENC_BFMUL_MZ_ZZV_2X1=3394, +ENC_BFMUL_MZ_ZZV_4X1=3395, +ENC_BFMUL_MZ_ZZW_2X2=3396, +ENC_BFMUL_MZ_ZZW_4X4=3397, +ENC_BFMUL_Z_P_ZZ_=3398, +ENC_BFMUL_Z_ZZ_=3399, +ENC_BFMUL_Z_ZZI_H=3400, +ENC_BFSCALE_MZ_ZZV_2X1=3401, +ENC_BFSCALE_MZ_ZZV_4X1=3402, +ENC_BFSCALE_MZ_ZZW_2X2=3403, +ENC_BFSCALE_MZ_ZZW_4X4=3404, +ENC_BFSCALE_Z_P_ZZ_=3405, +ENC_BFSUB_Z_P_ZZ_=3406, +ENC_BFSUB_Z_ZZ_=3407, +ENC_BFSUB_ZA_ZW_2X2_16=3408, +ENC_BFSUB_ZA_ZW_4X4_16=3409, +ENC_BFTMOPA_ZA32_ZZZI_H2X1=3410, +ENC_BFTMOPA_ZA_ZZZI_H2X1=3411, +ENC_BFVDOT_ZA_ZZI_2XI=3412, +ENC_BGRP_Z_ZZ_=3413, +ENC_BIC_P_P_PP_Z=3414, +ENC_BIC_Z_P_ZZ_=3415, +ENC_BIC_Z_ZI__AND_Z_ZI_=3416, // alias +ENC_BIC_Z_ZZ_=3417, +ENC_BICS_P_P_PP_Z=3418, +ENC_BMOPA_ZA_PP_ZZ_32=3419, +ENC_BMOPS_ZA_PP_ZZ_32=3420, +ENC_BRKA_P_P_P_=3421, +ENC_BRKAS_P_P_P_Z=3422, +ENC_BRKB_P_P_P_=3423, +ENC_BRKBS_P_P_P_Z=3424, +ENC_BRKN_P_P_PP_=3425, +ENC_BRKNS_P_P_PP_=3426, +ENC_BRKPA_P_P_PP_=3427, +ENC_BRKPAS_P_P_PP_=3428, +ENC_BRKPB_P_P_PP_=3429, +ENC_BRKPBS_P_P_PP_=3430, +ENC_BSL1N_Z_ZZZ_=3431, +ENC_BSL2N_Z_ZZZ_=3432, +ENC_BSL_Z_ZZZ_=3433, +ENC_CADD_Z_ZZ_=3434, +ENC_CDOT_Z_ZZZ_=3435, +ENC_CDOT_Z_ZZZI_D=3436, +ENC_CDOT_Z_ZZZI_S=3437, +ENC_CLASTA_R_P_Z_=3438, +ENC_CLASTA_V_P_Z_=3439, +ENC_CLASTA_Z_P_ZZ_=3440, +ENC_CLASTB_R_P_Z_=3441, +ENC_CLASTB_V_P_Z_=3442, +ENC_CLASTB_Z_P_ZZ_=3443, +ENC_CLS_Z_P_Z_M=3444, +ENC_CLS_Z_P_Z_Z=3445, +ENC_CLZ_Z_P_Z_M=3446, +ENC_CLZ_Z_P_Z_Z=3447, +ENC_CMLA_Z_ZZZ_=3448, +ENC_CMLA_Z_ZZZI_H=3449, +ENC_CMLA_Z_ZZZI_S=3450, +ENC_CMPEQ_P_P_ZI_=3451, +ENC_CMPEQ_P_P_ZW_=3452, +ENC_CMPEQ_P_P_ZZ_=3453, +ENC_CMPGE_P_P_ZI_=3454, +ENC_CMPGE_P_P_ZW_=3455, +ENC_CMPGE_P_P_ZZ_=3456, +ENC_CMPGT_P_P_ZI_=3457, +ENC_CMPGT_P_P_ZW_=3458, +ENC_CMPGT_P_P_ZZ_=3459, +ENC_CMPHI_P_P_ZI_=3460, +ENC_CMPHI_P_P_ZW_=3461, +ENC_CMPHI_P_P_ZZ_=3462, +ENC_CMPHS_P_P_ZI_=3463, +ENC_CMPHS_P_P_ZW_=3464, +ENC_CMPHS_P_P_ZZ_=3465, +ENC_CMPLE_P_P_ZI_=3466, +ENC_CMPLE_P_P_ZW_=3467, +ENC_CMPLE_P_P_ZZ__CMPGE_P_P_ZZ_=3468, // alias +ENC_CMPLO_P_P_ZI_=3469, +ENC_CMPLO_P_P_ZW_=3470, +ENC_CMPLO_P_P_ZZ__CMPHI_P_P_ZZ_=3471, // alias +ENC_CMPLS_P_P_ZI_=3472, +ENC_CMPLS_P_P_ZW_=3473, +ENC_CMPLS_P_P_ZZ__CMPHS_P_P_ZZ_=3474, // alias +ENC_CMPLT_P_P_ZI_=3475, +ENC_CMPLT_P_P_ZW_=3476, +ENC_CMPLT_P_P_ZZ__CMPGT_P_P_ZZ_=3477, // alias +ENC_CMPNE_P_P_ZI_=3478, +ENC_CMPNE_P_P_ZW_=3479, +ENC_CMPNE_P_P_ZZ_=3480, +ENC_CNOT_Z_P_Z_M=3481, +ENC_CNOT_Z_P_Z_Z=3482, +ENC_CNT_Z_P_Z_M=3483, +ENC_CNT_Z_P_Z_Z=3484, +ENC_CNTB_R_S_=3485, +ENC_CNTD_R_S_=3486, +ENC_CNTH_R_S_=3487, +ENC_CNTP_R_P_P_=3488, +ENC_CNTP_R_PN_=3489, +ENC_CNTW_R_S_=3490, +ENC_COMPACT_Z_P_Z_=3491, +ENC_COMPACT_Z_P_Z_S=3492, +ENC_CPY_Z_O_I_=3493, +ENC_CPY_Z_P_I_=3494, +ENC_CPY_Z_P_R_=3495, +ENC_CPY_Z_P_V_=3496, +ENC_CTERMEQ_RR_=3497, +ENC_CTERMNE_RR_=3498, +ENC_DECB_R_RS_=3499, +ENC_DECD_R_RS_=3500, +ENC_DECD_Z_ZS_=3501, +ENC_DECH_R_RS_=3502, +ENC_DECH_Z_ZS_=3503, +ENC_DECP_R_P_R_=3504, +ENC_DECP_Z_P_Z_=3505, +ENC_DECW_R_RS_=3506, +ENC_DECW_Z_ZS_=3507, +ENC_DUP_Z_I_=3508, +ENC_DUP_Z_R_=3509, +ENC_DUP_Z_ZI_=3510, +ENC_DUPM_Z_I_=3511, +ENC_DUPQ_Z_ZI_=3512, +ENC_EON_Z_ZI__EOR_Z_ZI_=3513, // alias +ENC_EOR3_Z_ZZZ_=3514, +ENC_EOR_P_P_PP_Z=3515, +ENC_EOR_Z_P_ZZ_=3516, +ENC_EOR_Z_ZI_=3517, +ENC_EOR_Z_ZZ_=3518, +ENC_EORBT_Z_ZZ_=3519, +ENC_EORQV_Z_P_Z_=3520, +ENC_EORS_P_P_PP_Z=3521, +ENC_EORTB_Z_ZZ_=3522, +ENC_EORV_R_P_Z_=3523, +ENC_EXPAND_Z_P_Z_=3524, +ENC_EXT_Z_ZI_CON=3525, +ENC_EXT_Z_ZI_DES=3526, +ENC_EXTQ_Z_ZI_DES=3527, +ENC_F1CVT_MZ2_Z8_=3528, +ENC_F1CVT_Z_Z8_B2H=3529, +ENC_F1CVTL_MZ2_Z8_=3530, +ENC_F1CVTLT_Z_Z8_B2H=3531, +ENC_F2CVT_MZ2_Z8_=3532, +ENC_F2CVT_Z_Z8_B2H=3533, +ENC_F2CVTL_MZ2_Z8_=3534, +ENC_F2CVTLT_Z_Z8_B2H=3535, +ENC_FABD_Z_P_ZZ_=3536, +ENC_FABS_Z_P_Z_M=3537, +ENC_FABS_Z_P_Z_Z=3538, +ENC_FACGE_P_P_ZZ_=3539, +ENC_FACGT_P_P_ZZ_=3540, +ENC_FACLE_P_P_ZZ__FACGE_P_P_ZZ_=3541, // alias +ENC_FACLT_P_P_ZZ__FACGT_P_P_ZZ_=3542, // alias +ENC_FADD_Z_P_ZS_=3543, +ENC_FADD_Z_P_ZZ_=3544, +ENC_FADD_Z_ZZ_=3545, +ENC_FADD_ZA_ZW_2X2=3546, +ENC_FADD_ZA_ZW_2X2_16=3547, +ENC_FADD_ZA_ZW_4X4=3548, +ENC_FADD_ZA_ZW_4X4_16=3549, +ENC_FADDA_V_P_Z_=3550, +ENC_FADDP_Z_P_ZZ_=3551, +ENC_FADDQV_Z_P_Z_=3552, +ENC_FADDV_V_P_Z_=3553, +ENC_FAMAX_MZ_ZZW_2X2=3554, +ENC_FAMAX_MZ_ZZW_4X4=3555, +ENC_FAMAX_Z_P_ZZ_=3556, +ENC_FAMIN_MZ_ZZW_2X2=3557, +ENC_FAMIN_MZ_ZZW_4X4=3558, +ENC_FAMIN_Z_P_ZZ_=3559, +ENC_FCADD_Z_P_ZZ_=3560, +ENC_FCLAMP_MZ_ZZ_2=3561, +ENC_FCLAMP_MZ_ZZ_4=3562, +ENC_FCLAMP_Z_ZZ_=3563, +ENC_FCMEQ_P_P_Z0_=3564, +ENC_FCMEQ_P_P_ZZ_=3565, +ENC_FCMGE_P_P_Z0_=3566, +ENC_FCMGE_P_P_ZZ_=3567, +ENC_FCMGT_P_P_Z0_=3568, +ENC_FCMGT_P_P_ZZ_=3569, +ENC_FCMLA_Z_P_ZZZ_=3570, +ENC_FCMLA_Z_ZZZI_H=3571, +ENC_FCMLA_Z_ZZZI_S=3572, +ENC_FCMLE_P_P_Z0_=3573, +ENC_FCMLE_P_P_ZZ__FCMGE_P_P_ZZ_=3574, // alias +ENC_FCMLT_P_P_Z0_=3575, +ENC_FCMLT_P_P_ZZ__FCMGT_P_P_ZZ_=3576, // alias +ENC_FCMNE_P_P_Z0_=3577, +ENC_FCMNE_P_P_ZZ_=3578, +ENC_FCMUO_P_P_ZZ_=3579, +ENC_FCPY_Z_P_I_=3580, +ENC_FCVT_MZ2_Z_=3581, +ENC_FCVT_Z8_MZ2_=3582, +ENC_FCVT_Z8_MZ4_=3583, +ENC_FCVT_Z_MZ2_=3584, +ENC_FCVT_Z_P_Z_D2H=3585, +ENC_FCVT_Z_P_Z_D2HZ=3586, +ENC_FCVT_Z_P_Z_D2S=3587, +ENC_FCVT_Z_P_Z_D2SZ=3588, +ENC_FCVT_Z_P_Z_H2D=3589, +ENC_FCVT_Z_P_Z_H2DZ=3590, +ENC_FCVT_Z_P_Z_H2S=3591, +ENC_FCVT_Z_P_Z_H2SZ=3592, +ENC_FCVT_Z_P_Z_S2D=3593, +ENC_FCVT_Z_P_Z_S2DZ=3594, +ENC_FCVT_Z_P_Z_S2H=3595, +ENC_FCVT_Z_P_Z_S2HZ=3596, +ENC_FCVTL_MZ2_Z_=3597, +ENC_FCVTLT_Z_P_Z_H2S=3598, +ENC_FCVTLT_Z_P_Z_H2SZ=3599, +ENC_FCVTLT_Z_P_Z_S2D=3600, +ENC_FCVTLT_Z_P_Z_S2DZ=3601, +ENC_FCVTN_Z8_MZ2_H2B=3602, +ENC_FCVTN_Z8_MZ4_=3603, +ENC_FCVTN_Z_MZ2_=3604, +ENC_FCVTNB_Z8_MZ2_S2B=3605, +ENC_FCVTNT_Z8_MZ2_S2B=3606, +ENC_FCVTNT_Z_P_Z_D2S=3607, +ENC_FCVTNT_Z_P_Z_D2SZ=3608, +ENC_FCVTNT_Z_P_Z_S2H=3609, +ENC_FCVTNT_Z_P_Z_S2HZ=3610, +ENC_FCVTX_Z_P_Z_D2S=3611, +ENC_FCVTX_Z_P_Z_D2SZ=3612, +ENC_FCVTXNT_Z_P_Z_D2S=3613, +ENC_FCVTXNT_Z_P_Z_D2SZ=3614, +ENC_FCVTZS_MZ_Z_2=3615, +ENC_FCVTZS_MZ_Z_4=3616, +ENC_FCVTZS_Z_P_Z_D2W=3617, +ENC_FCVTZS_Z_P_Z_D2WZ=3618, +ENC_FCVTZS_Z_P_Z_D2X=3619, +ENC_FCVTZS_Z_P_Z_D2XZ=3620, +ENC_FCVTZS_Z_P_Z_FP162H=3621, +ENC_FCVTZS_Z_P_Z_FP162HZ=3622, +ENC_FCVTZS_Z_P_Z_FP162W=3623, +ENC_FCVTZS_Z_P_Z_FP162WZ=3624, +ENC_FCVTZS_Z_P_Z_FP162X=3625, +ENC_FCVTZS_Z_P_Z_FP162XZ=3626, +ENC_FCVTZS_Z_P_Z_S2W=3627, +ENC_FCVTZS_Z_P_Z_S2WZ=3628, +ENC_FCVTZS_Z_P_Z_S2X=3629, +ENC_FCVTZS_Z_P_Z_S2XZ=3630, +ENC_FCVTZSN_Z_MZ2_=3631, +ENC_FCVTZU_MZ_Z_2=3632, +ENC_FCVTZU_MZ_Z_4=3633, +ENC_FCVTZU_Z_P_Z_D2W=3634, +ENC_FCVTZU_Z_P_Z_D2WZ=3635, +ENC_FCVTZU_Z_P_Z_D2X=3636, +ENC_FCVTZU_Z_P_Z_D2XZ=3637, +ENC_FCVTZU_Z_P_Z_FP162H=3638, +ENC_FCVTZU_Z_P_Z_FP162HZ=3639, +ENC_FCVTZU_Z_P_Z_FP162W=3640, +ENC_FCVTZU_Z_P_Z_FP162WZ=3641, +ENC_FCVTZU_Z_P_Z_FP162X=3642, +ENC_FCVTZU_Z_P_Z_FP162XZ=3643, +ENC_FCVTZU_Z_P_Z_S2W=3644, +ENC_FCVTZU_Z_P_Z_S2WZ=3645, +ENC_FCVTZU_Z_P_Z_S2X=3646, +ENC_FCVTZU_Z_P_Z_S2XZ=3647, +ENC_FCVTZUN_Z_MZ2_=3648, +ENC_FDIV_Z_P_ZZ_=3649, +ENC_FDIVR_Z_P_ZZ_=3650, +ENC_FDOT_Z32_ZZ8Z8_=3651, +ENC_FDOT_Z32_ZZ8Z8I_=3652, +ENC_FDOT_Z_ZZ8Z8_=3653, +ENC_FDOT_Z_ZZ8Z8I_=3654, +ENC_FDOT_Z_ZZZ_=3655, +ENC_FDOT_Z_ZZZI_=3656, +ENC_FDOT_ZA32_Z8Z8I_2XI=3657, +ENC_FDOT_ZA32_Z8Z8I_4XI=3658, +ENC_FDOT_ZA32_Z8Z8V_2X1=3659, +ENC_FDOT_ZA32_Z8Z8V_4X1=3660, +ENC_FDOT_ZA32_Z8Z8W_2X2=3661, +ENC_FDOT_ZA32_Z8Z8W_4X4=3662, +ENC_FDOT_ZA_Z8Z8I_2XI=3663, +ENC_FDOT_ZA_Z8Z8I_4XI=3664, +ENC_FDOT_ZA_Z8Z8V_2X1=3665, +ENC_FDOT_ZA_Z8Z8V_4X1=3666, +ENC_FDOT_ZA_Z8Z8W_2X2=3667, +ENC_FDOT_ZA_Z8Z8W_4X4=3668, +ENC_FDOT_ZA_ZZI_2XI=3669, +ENC_FDOT_ZA_ZZI_4XI=3670, +ENC_FDOT_ZA_ZZV_2X1=3671, +ENC_FDOT_ZA_ZZV_4X1=3672, +ENC_FDOT_ZA_ZZW_2X2=3673, +ENC_FDOT_ZA_ZZW_4X4=3674, +ENC_FDUP_Z_I_=3675, +ENC_FEXPA_Z_Z_=3676, +ENC_FIRSTP_R_P_P_=3677, +ENC_FLOGB_Z_P_Z_M=3678, +ENC_FLOGB_Z_P_Z_Z=3679, +ENC_FMAD_Z_P_ZZZ_=3680, +ENC_FMAX_MZ_ZZV_2X1=3681, +ENC_FMAX_MZ_ZZV_4X1=3682, +ENC_FMAX_MZ_ZZW_2X2=3683, +ENC_FMAX_MZ_ZZW_4X4=3684, +ENC_FMAX_Z_P_ZS_=3685, +ENC_FMAX_Z_P_ZZ_=3686, +ENC_FMAXNM_MZ_ZZV_2X1=3687, +ENC_FMAXNM_MZ_ZZV_4X1=3688, +ENC_FMAXNM_MZ_ZZW_2X2=3689, +ENC_FMAXNM_MZ_ZZW_4X4=3690, +ENC_FMAXNM_Z_P_ZS_=3691, +ENC_FMAXNM_Z_P_ZZ_=3692, +ENC_FMAXNMP_Z_P_ZZ_=3693, +ENC_FMAXNMQV_Z_P_Z_=3694, +ENC_FMAXNMV_V_P_Z_=3695, +ENC_FMAXP_Z_P_ZZ_=3696, +ENC_FMAXQV_Z_P_Z_=3697, +ENC_FMAXV_V_P_Z_=3698, +ENC_FMIN_MZ_ZZV_2X1=3699, +ENC_FMIN_MZ_ZZV_4X1=3700, +ENC_FMIN_MZ_ZZW_2X2=3701, +ENC_FMIN_MZ_ZZW_4X4=3702, +ENC_FMIN_Z_P_ZS_=3703, +ENC_FMIN_Z_P_ZZ_=3704, +ENC_FMINNM_MZ_ZZV_2X1=3705, +ENC_FMINNM_MZ_ZZV_4X1=3706, +ENC_FMINNM_MZ_ZZW_2X2=3707, +ENC_FMINNM_MZ_ZZW_4X4=3708, +ENC_FMINNM_Z_P_ZS_=3709, +ENC_FMINNM_Z_P_ZZ_=3710, +ENC_FMINNMP_Z_P_ZZ_=3711, +ENC_FMINNMQV_Z_P_Z_=3712, +ENC_FMINNMV_V_P_Z_=3713, +ENC_FMINP_Z_P_ZZ_=3714, +ENC_FMINQV_Z_P_Z_=3715, +ENC_FMINV_V_P_Z_=3716, +ENC_FMLA_Z_P_ZZZ_=3717, +ENC_FMLA_Z_ZZZI_D=3718, +ENC_FMLA_Z_ZZZI_H=3719, +ENC_FMLA_Z_ZZZI_S=3720, +ENC_FMLA_ZA_ZZI_D2XI=3721, +ENC_FMLA_ZA_ZZI_D4XI=3722, +ENC_FMLA_ZA_ZZI_H2XI=3723, +ENC_FMLA_ZA_ZZI_H4XI=3724, +ENC_FMLA_ZA_ZZI_S2XI=3725, +ENC_FMLA_ZA_ZZI_S4XI=3726, +ENC_FMLA_ZA_ZZV_2X1=3727, +ENC_FMLA_ZA_ZZV_2X1_16=3728, +ENC_FMLA_ZA_ZZV_4X1=3729, +ENC_FMLA_ZA_ZZV_4X1_16=3730, +ENC_FMLA_ZA_ZZW_2X2=3731, +ENC_FMLA_ZA_ZZW_2X2_16=3732, +ENC_FMLA_ZA_ZZW_4X4=3733, +ENC_FMLA_ZA_ZZW_4X4_16=3734, +ENC_FMLAL_ZA_Z8Z8I_1=3735, +ENC_FMLAL_ZA_Z8Z8I_2XI=3736, +ENC_FMLAL_ZA_Z8Z8I_4XI=3737, +ENC_FMLAL_ZA_Z8Z8V_1=3738, +ENC_FMLAL_ZA_Z8Z8V_2X1=3739, +ENC_FMLAL_ZA_Z8Z8V_4X1=3740, +ENC_FMLAL_ZA_Z8Z8W_2X2=3741, +ENC_FMLAL_ZA_Z8Z8W_4X4=3742, +ENC_FMLAL_ZA_ZZI_1=3743, +ENC_FMLAL_ZA_ZZI_2XI=3744, +ENC_FMLAL_ZA_ZZI_4XI=3745, +ENC_FMLAL_ZA_ZZV_1=3746, +ENC_FMLAL_ZA_ZZV_2X1=3747, +ENC_FMLAL_ZA_ZZV_4X1=3748, +ENC_FMLAL_ZA_ZZW_2X2=3749, +ENC_FMLAL_ZA_ZZW_4X4=3750, +ENC_FMLALB_Z_Z8Z8Z8_=3751, +ENC_FMLALB_Z_Z8Z8Z8I_=3752, +ENC_FMLALB_Z_ZZZ_=3753, +ENC_FMLALB_Z_ZZZI_S=3754, +ENC_FMLALL_ZA32_Z8Z8I_1=3755, +ENC_FMLALL_ZA32_Z8Z8I_2XI=3756, +ENC_FMLALL_ZA32_Z8Z8I_4XI=3757, +ENC_FMLALL_ZA32_Z8Z8V_1=3758, +ENC_FMLALL_ZA32_Z8Z8V_2X1=3759, +ENC_FMLALL_ZA32_Z8Z8V_4X1=3760, +ENC_FMLALL_ZA32_Z8Z8W_2X2=3761, +ENC_FMLALL_ZA32_Z8Z8W_4X4=3762, +ENC_FMLALLBB_Z32_Z8Z8Z8_=3763, +ENC_FMLALLBB_Z32_Z8Z8Z8I_=3764, +ENC_FMLALLBT_Z32_Z8Z8Z8_=3765, +ENC_FMLALLBT_Z32_Z8Z8Z8I_=3766, +ENC_FMLALLTB_Z32_Z8Z8Z8_=3767, +ENC_FMLALLTB_Z32_Z8Z8Z8I_=3768, +ENC_FMLALLTT_Z32_Z8Z8Z8_=3769, +ENC_FMLALLTT_Z32_Z8Z8Z8I_=3770, +ENC_FMLALT_Z_Z8Z8Z8_=3771, +ENC_FMLALT_Z_Z8Z8Z8I_=3772, +ENC_FMLALT_Z_ZZZ_=3773, +ENC_FMLALT_Z_ZZZI_S=3774, +ENC_FMLS_Z_P_ZZZ_=3775, +ENC_FMLS_Z_ZZZI_D=3776, +ENC_FMLS_Z_ZZZI_H=3777, +ENC_FMLS_Z_ZZZI_S=3778, +ENC_FMLS_ZA_ZZI_D2XI=3779, +ENC_FMLS_ZA_ZZI_D4XI=3780, +ENC_FMLS_ZA_ZZI_H2XI=3781, +ENC_FMLS_ZA_ZZI_H4XI=3782, +ENC_FMLS_ZA_ZZI_S2XI=3783, +ENC_FMLS_ZA_ZZI_S4XI=3784, +ENC_FMLS_ZA_ZZV_2X1=3785, +ENC_FMLS_ZA_ZZV_2X1_16=3786, +ENC_FMLS_ZA_ZZV_4X1=3787, +ENC_FMLS_ZA_ZZV_4X1_16=3788, +ENC_FMLS_ZA_ZZW_2X2=3789, +ENC_FMLS_ZA_ZZW_2X2_16=3790, +ENC_FMLS_ZA_ZZW_4X4=3791, +ENC_FMLS_ZA_ZZW_4X4_16=3792, +ENC_FMLSL_ZA_ZZI_1=3793, +ENC_FMLSL_ZA_ZZI_2XI=3794, +ENC_FMLSL_ZA_ZZI_4XI=3795, +ENC_FMLSL_ZA_ZZV_1=3796, +ENC_FMLSL_ZA_ZZV_2X1=3797, +ENC_FMLSL_ZA_ZZV_4X1=3798, +ENC_FMLSL_ZA_ZZW_2X2=3799, +ENC_FMLSL_ZA_ZZW_4X4=3800, +ENC_FMLSLB_Z_ZZZ_=3801, +ENC_FMLSLB_Z_ZZZI_S=3802, +ENC_FMLSLT_Z_ZZZ_=3803, +ENC_FMLSLT_Z_ZZZI_S=3804, +ENC_FMMLA_Z16_ZZ8Z8_=3805, +ENC_FMMLA_Z32_ZZ8Z8_=3806, +ENC_FMMLA_Z32_ZZZ_H=3807, +ENC_FMMLA_Z_ZZZ_D=3808, +ENC_FMMLA_Z_ZZZ_H=3809, +ENC_FMMLA_Z_ZZZ_S=3810, +ENC_FMOP4A_ZA16_Z8Z8_B1X1=3811, +ENC_FMOP4A_ZA16_Z8Z8_B1X2=3812, +ENC_FMOP4A_ZA16_Z8Z8_B2X1=3813, +ENC_FMOP4A_ZA16_Z8Z8_B2X2=3814, +ENC_FMOP4A_ZA32_Z8Z8_B1X1=3815, +ENC_FMOP4A_ZA32_Z8Z8_B1X2=3816, +ENC_FMOP4A_ZA32_Z8Z8_B2X1=3817, +ENC_FMOP4A_ZA32_Z8Z8_B2X2=3818, +ENC_FMOP4A_ZA32_ZZ_H1X1=3819, +ENC_FMOP4A_ZA32_ZZ_H1X2=3820, +ENC_FMOP4A_ZA32_ZZ_H2X1=3821, +ENC_FMOP4A_ZA32_ZZ_H2X2=3822, +ENC_FMOP4A_ZA_ZZ_D1X1=3823, +ENC_FMOP4A_ZA_ZZ_D1X2=3824, +ENC_FMOP4A_ZA_ZZ_D2X1=3825, +ENC_FMOP4A_ZA_ZZ_D2X2=3826, +ENC_FMOP4A_ZA_ZZ_H1X1=3827, +ENC_FMOP4A_ZA_ZZ_H1X2=3828, +ENC_FMOP4A_ZA_ZZ_H2X1=3829, +ENC_FMOP4A_ZA_ZZ_H2X2=3830, +ENC_FMOP4A_ZA_ZZ_S1X1=3831, +ENC_FMOP4A_ZA_ZZ_S1X2=3832, +ENC_FMOP4A_ZA_ZZ_S2X1=3833, +ENC_FMOP4A_ZA_ZZ_S2X2=3834, +ENC_FMOP4S_ZA32_ZZ_H1X1=3835, +ENC_FMOP4S_ZA32_ZZ_H1X2=3836, +ENC_FMOP4S_ZA32_ZZ_H2X1=3837, +ENC_FMOP4S_ZA32_ZZ_H2X2=3838, +ENC_FMOP4S_ZA_ZZ_D1X1=3839, +ENC_FMOP4S_ZA_ZZ_D1X2=3840, +ENC_FMOP4S_ZA_ZZ_D2X1=3841, +ENC_FMOP4S_ZA_ZZ_D2X2=3842, +ENC_FMOP4S_ZA_ZZ_H1X1=3843, +ENC_FMOP4S_ZA_ZZ_H1X2=3844, +ENC_FMOP4S_ZA_ZZ_H2X1=3845, +ENC_FMOP4S_ZA_ZZ_H2X2=3846, +ENC_FMOP4S_ZA_ZZ_S1X1=3847, +ENC_FMOP4S_ZA_ZZ_S1X2=3848, +ENC_FMOP4S_ZA_ZZ_S2X1=3849, +ENC_FMOP4S_ZA_ZZ_S2X2=3850, +ENC_FMOPA_ZA16_PP_Z8Z8_8=3851, +ENC_FMOPA_ZA32_PP_Z8Z8_8=3852, +ENC_FMOPA_ZA32_PP_ZZ_16=3853, +ENC_FMOPA_ZA_PP_ZZ_16=3854, +ENC_FMOPA_ZA_PP_ZZ_32=3855, +ENC_FMOPA_ZA_PP_ZZ_64=3856, +ENC_FMOPS_ZA32_PP_ZZ_16=3857, +ENC_FMOPS_ZA_PP_ZZ_16=3858, +ENC_FMOPS_ZA_PP_ZZ_32=3859, +ENC_FMOPS_ZA_PP_ZZ_64=3860, +ENC_FMOV_Z_0__DUP_Z_I_=3861, // alias +ENC_FMOV_Z_I__FDUP_Z_I_=3862, // alias +ENC_FMOV_Z_P_0__CPY_Z_P_I_=3863, // alias +ENC_FMOV_Z_P_I__FCPY_Z_P_I_=3864, // alias +ENC_FMSB_Z_P_ZZZ_=3865, +ENC_FMUL_MZ_ZZV_2X1=3866, +ENC_FMUL_MZ_ZZV_4X1=3867, +ENC_FMUL_MZ_ZZW_2X2=3868, +ENC_FMUL_MZ_ZZW_4X4=3869, +ENC_FMUL_Z_P_ZS_=3870, +ENC_FMUL_Z_P_ZZ_=3871, +ENC_FMUL_Z_ZZ_=3872, +ENC_FMUL_Z_ZZI_D=3873, +ENC_FMUL_Z_ZZI_H=3874, +ENC_FMUL_Z_ZZI_S=3875, +ENC_FMULX_Z_P_ZZ_=3876, +ENC_FNEG_Z_P_Z_M=3877, +ENC_FNEG_Z_P_Z_Z=3878, +ENC_FNMAD_Z_P_ZZZ_=3879, +ENC_FNMLA_Z_P_ZZZ_=3880, +ENC_FNMLS_Z_P_ZZZ_=3881, +ENC_FNMSB_Z_P_ZZZ_=3882, +ENC_FRECPE_Z_Z_=3883, +ENC_FRECPS_Z_ZZ_=3884, +ENC_FRECPX_Z_P_Z_M=3885, +ENC_FRECPX_Z_P_Z_Z=3886, +ENC_FRINT32X_Z_P_Z_M=3887, +ENC_FRINT32X_Z_P_Z_Z=3888, +ENC_FRINT32Z_Z_P_Z_M=3889, +ENC_FRINT32Z_Z_P_Z_Z=3890, +ENC_FRINT64X_Z_P_Z_M=3891, +ENC_FRINT64X_Z_P_Z_Z=3892, +ENC_FRINT64Z_Z_P_Z_M=3893, +ENC_FRINT64Z_Z_P_Z_Z=3894, +ENC_FRINTA_MZ_Z_2=3895, +ENC_FRINTA_MZ_Z_4=3896, +ENC_FRINTA_Z_P_Z_M=3897, +ENC_FRINTA_Z_P_Z_Z=3898, +ENC_FRINTI_Z_P_Z_M=3899, +ENC_FRINTI_Z_P_Z_Z=3900, +ENC_FRINTM_MZ_Z_2=3901, +ENC_FRINTM_MZ_Z_4=3902, +ENC_FRINTM_Z_P_Z_M=3903, +ENC_FRINTM_Z_P_Z_Z=3904, +ENC_FRINTN_MZ_Z_2=3905, +ENC_FRINTN_MZ_Z_4=3906, +ENC_FRINTN_Z_P_Z_M=3907, +ENC_FRINTN_Z_P_Z_Z=3908, +ENC_FRINTP_MZ_Z_2=3909, +ENC_FRINTP_MZ_Z_4=3910, +ENC_FRINTP_Z_P_Z_M=3911, +ENC_FRINTP_Z_P_Z_Z=3912, +ENC_FRINTX_Z_P_Z_M=3913, +ENC_FRINTX_Z_P_Z_Z=3914, +ENC_FRINTZ_Z_P_Z_M=3915, +ENC_FRINTZ_Z_P_Z_Z=3916, +ENC_FRSQRTE_Z_Z_=3917, +ENC_FRSQRTS_Z_ZZ_=3918, +ENC_FSCALE_MZ_ZZV_2X1=3919, +ENC_FSCALE_MZ_ZZV_4X1=3920, +ENC_FSCALE_MZ_ZZW_2X2=3921, +ENC_FSCALE_MZ_ZZW_4X4=3922, +ENC_FSCALE_Z_P_ZZ_=3923, +ENC_FSQRT_Z_P_Z_M=3924, +ENC_FSQRT_Z_P_Z_Z=3925, +ENC_FSUB_Z_P_ZS_=3926, +ENC_FSUB_Z_P_ZZ_=3927, +ENC_FSUB_Z_ZZ_=3928, +ENC_FSUB_ZA_ZW_2X2=3929, +ENC_FSUB_ZA_ZW_2X2_16=3930, +ENC_FSUB_ZA_ZW_4X4=3931, +ENC_FSUB_ZA_ZW_4X4_16=3932, +ENC_FSUBR_Z_P_ZS_=3933, +ENC_FSUBR_Z_P_ZZ_=3934, +ENC_FTMAD_Z_ZZI_=3935, +ENC_FTMOPA_ZA16_Z8Z8ZI_B2X1=3936, +ENC_FTMOPA_ZA32_Z8Z8ZI_B2X1=3937, +ENC_FTMOPA_ZA32_ZZZI_H2X1=3938, +ENC_FTMOPA_ZA_ZZZI_H2X1=3939, +ENC_FTMOPA_ZA_ZZZI_S2X1=3940, +ENC_FTSMUL_Z_ZZ_=3941, +ENC_FTSSEL_Z_ZZ_=3942, +ENC_FVDOT_ZA_Z8Z8I_2XI=3943, +ENC_FVDOT_ZA_ZZI_2XI=3944, +ENC_FVDOTB_ZA32_Z8Z8I_2XI=3945, +ENC_FVDOTT_ZA32_Z8Z8I_2XI=3946, +ENC_HISTCNT_Z_P_ZZ_=3947, +ENC_HISTSEG_Z_ZZ_=3948, +ENC_INCB_R_RS_=3949, +ENC_INCD_R_RS_=3950, +ENC_INCD_Z_ZS_=3951, +ENC_INCH_R_RS_=3952, +ENC_INCH_Z_ZS_=3953, +ENC_INCP_R_P_R_=3954, +ENC_INCP_Z_P_Z_=3955, +ENC_INCW_R_RS_=3956, +ENC_INCW_Z_ZS_=3957, +ENC_INDEX_Z_II_=3958, +ENC_INDEX_Z_IR_=3959, +ENC_INDEX_Z_RI_=3960, +ENC_INDEX_Z_RR_=3961, +ENC_INSR_Z_R_=3962, +ENC_INSR_Z_V_=3963, +ENC_LASTA_R_P_Z_=3964, +ENC_LASTA_V_P_Z_=3965, +ENC_LASTB_R_P_Z_=3966, +ENC_LASTB_V_P_Z_=3967, +ENC_LASTP_R_P_P_=3968, +ENC_LD1B_MZ_P_BI_2=3969, +ENC_LD1B_MZ_P_BI_4=3970, +ENC_LD1B_MZ_P_BR_2=3971, +ENC_LD1B_MZ_P_BR_4=3972, +ENC_LD1B_MZX_P_BI_2X8=3973, +ENC_LD1B_MZX_P_BI_4X4=3974, +ENC_LD1B_MZX_P_BR_2X8=3975, +ENC_LD1B_MZX_P_BR_4X4=3976, +ENC_LD1B_Z_P_AI_D=3977, +ENC_LD1B_Z_P_AI_S=3978, +ENC_LD1B_Z_P_BI_U16=3979, +ENC_LD1B_Z_P_BI_U32=3980, +ENC_LD1B_Z_P_BI_U64=3981, +ENC_LD1B_Z_P_BI_U8=3982, +ENC_LD1B_Z_P_BR_U16=3983, +ENC_LD1B_Z_P_BR_U32=3984, +ENC_LD1B_Z_P_BR_U64=3985, +ENC_LD1B_Z_P_BR_U8=3986, +ENC_LD1B_Z_P_BZ_D_64_UNSCALED=3987, +ENC_LD1B_Z_P_BZ_D_X32_UNSCALED=3988, +ENC_LD1B_Z_P_BZ_S_X32_UNSCALED=3989, +ENC_LD1B_ZA_P_RRR_=3990, +ENC_LD1D_MZ_P_BI_2=3991, +ENC_LD1D_MZ_P_BI_4=3992, +ENC_LD1D_MZ_P_BR_2=3993, +ENC_LD1D_MZ_P_BR_4=3994, +ENC_LD1D_MZX_P_BI_2X8=3995, +ENC_LD1D_MZX_P_BI_4X4=3996, +ENC_LD1D_MZX_P_BR_2X8=3997, +ENC_LD1D_MZX_P_BR_4X4=3998, +ENC_LD1D_Z_P_AI_D=3999, +ENC_LD1D_Z_P_BI_U128=4000, +ENC_LD1D_Z_P_BI_U64=4001, +ENC_LD1D_Z_P_BR_U128=4002, +ENC_LD1D_Z_P_BR_U64=4003, +ENC_LD1D_Z_P_BZ_D_64_SCALED=4004, +ENC_LD1D_Z_P_BZ_D_64_UNSCALED=4005, +ENC_LD1D_Z_P_BZ_D_X32_SCALED=4006, +ENC_LD1D_Z_P_BZ_D_X32_UNSCALED=4007, +ENC_LD1D_ZA_P_RRR_=4008, +ENC_LD1H_MZ_P_BI_2=4009, +ENC_LD1H_MZ_P_BI_4=4010, +ENC_LD1H_MZ_P_BR_2=4011, +ENC_LD1H_MZ_P_BR_4=4012, +ENC_LD1H_MZX_P_BI_2X8=4013, +ENC_LD1H_MZX_P_BI_4X4=4014, +ENC_LD1H_MZX_P_BR_2X8=4015, +ENC_LD1H_MZX_P_BR_4X4=4016, +ENC_LD1H_Z_P_AI_D=4017, +ENC_LD1H_Z_P_AI_S=4018, +ENC_LD1H_Z_P_BI_U16=4019, +ENC_LD1H_Z_P_BI_U32=4020, +ENC_LD1H_Z_P_BI_U64=4021, +ENC_LD1H_Z_P_BR_U16=4022, +ENC_LD1H_Z_P_BR_U32=4023, +ENC_LD1H_Z_P_BR_U64=4024, +ENC_LD1H_Z_P_BZ_D_64_SCALED=4025, +ENC_LD1H_Z_P_BZ_D_64_UNSCALED=4026, +ENC_LD1H_Z_P_BZ_D_X32_SCALED=4027, +ENC_LD1H_Z_P_BZ_D_X32_UNSCALED=4028, +ENC_LD1H_Z_P_BZ_S_X32_SCALED=4029, +ENC_LD1H_Z_P_BZ_S_X32_UNSCALED=4030, +ENC_LD1H_ZA_P_RRR_=4031, +ENC_LD1Q_Z_P_AR_D_64_UNSCALED=4032, +ENC_LD1Q_ZA_P_RRR_=4033, +ENC_LD1RB_Z_P_BI_U16=4034, +ENC_LD1RB_Z_P_BI_U32=4035, +ENC_LD1RB_Z_P_BI_U64=4036, +ENC_LD1RB_Z_P_BI_U8=4037, +ENC_LD1RD_Z_P_BI_U64=4038, +ENC_LD1RH_Z_P_BI_U16=4039, +ENC_LD1RH_Z_P_BI_U32=4040, +ENC_LD1RH_Z_P_BI_U64=4041, +ENC_LD1ROB_Z_P_BI_U8=4042, +ENC_LD1ROB_Z_P_BR_CONTIGUOUS=4043, +ENC_LD1ROD_Z_P_BI_U64=4044, +ENC_LD1ROD_Z_P_BR_CONTIGUOUS=4045, +ENC_LD1ROH_Z_P_BI_U16=4046, +ENC_LD1ROH_Z_P_BR_CONTIGUOUS=4047, +ENC_LD1ROW_Z_P_BI_U32=4048, +ENC_LD1ROW_Z_P_BR_CONTIGUOUS=4049, +ENC_LD1RQB_Z_P_BI_U8=4050, +ENC_LD1RQB_Z_P_BR_CONTIGUOUS=4051, +ENC_LD1RQD_Z_P_BI_U64=4052, +ENC_LD1RQD_Z_P_BR_CONTIGUOUS=4053, +ENC_LD1RQH_Z_P_BI_U16=4054, +ENC_LD1RQH_Z_P_BR_CONTIGUOUS=4055, +ENC_LD1RQW_Z_P_BI_U32=4056, +ENC_LD1RQW_Z_P_BR_CONTIGUOUS=4057, +ENC_LD1RSB_Z_P_BI_S16=4058, +ENC_LD1RSB_Z_P_BI_S32=4059, +ENC_LD1RSB_Z_P_BI_S64=4060, +ENC_LD1RSH_Z_P_BI_S32=4061, +ENC_LD1RSH_Z_P_BI_S64=4062, +ENC_LD1RSW_Z_P_BI_S64=4063, +ENC_LD1RW_Z_P_BI_U32=4064, +ENC_LD1RW_Z_P_BI_U64=4065, +ENC_LD1SB_Z_P_AI_D=4066, +ENC_LD1SB_Z_P_AI_S=4067, +ENC_LD1SB_Z_P_BI_S16=4068, +ENC_LD1SB_Z_P_BI_S32=4069, +ENC_LD1SB_Z_P_BI_S64=4070, +ENC_LD1SB_Z_P_BR_S16=4071, +ENC_LD1SB_Z_P_BR_S32=4072, +ENC_LD1SB_Z_P_BR_S64=4073, +ENC_LD1SB_Z_P_BZ_D_64_UNSCALED=4074, +ENC_LD1SB_Z_P_BZ_D_X32_UNSCALED=4075, +ENC_LD1SB_Z_P_BZ_S_X32_UNSCALED=4076, +ENC_LD1SH_Z_P_AI_D=4077, +ENC_LD1SH_Z_P_AI_S=4078, +ENC_LD1SH_Z_P_BI_S32=4079, +ENC_LD1SH_Z_P_BI_S64=4080, +ENC_LD1SH_Z_P_BR_S32=4081, +ENC_LD1SH_Z_P_BR_S64=4082, +ENC_LD1SH_Z_P_BZ_D_64_SCALED=4083, +ENC_LD1SH_Z_P_BZ_D_64_UNSCALED=4084, +ENC_LD1SH_Z_P_BZ_D_X32_SCALED=4085, +ENC_LD1SH_Z_P_BZ_D_X32_UNSCALED=4086, +ENC_LD1SH_Z_P_BZ_S_X32_SCALED=4087, +ENC_LD1SH_Z_P_BZ_S_X32_UNSCALED=4088, +ENC_LD1SW_Z_P_AI_D=4089, +ENC_LD1SW_Z_P_BI_S64=4090, +ENC_LD1SW_Z_P_BR_S64=4091, +ENC_LD1SW_Z_P_BZ_D_64_SCALED=4092, +ENC_LD1SW_Z_P_BZ_D_64_UNSCALED=4093, +ENC_LD1SW_Z_P_BZ_D_X32_SCALED=4094, +ENC_LD1SW_Z_P_BZ_D_X32_UNSCALED=4095, +ENC_LD1W_MZ_P_BI_2=4096, +ENC_LD1W_MZ_P_BI_4=4097, +ENC_LD1W_MZ_P_BR_2=4098, +ENC_LD1W_MZ_P_BR_4=4099, +ENC_LD1W_MZX_P_BI_2X8=4100, +ENC_LD1W_MZX_P_BI_4X4=4101, +ENC_LD1W_MZX_P_BR_2X8=4102, +ENC_LD1W_MZX_P_BR_4X4=4103, +ENC_LD1W_Z_P_AI_D=4104, +ENC_LD1W_Z_P_AI_S=4105, +ENC_LD1W_Z_P_BI_U128=4106, +ENC_LD1W_Z_P_BI_U32=4107, +ENC_LD1W_Z_P_BI_U64=4108, +ENC_LD1W_Z_P_BR_U128=4109, +ENC_LD1W_Z_P_BR_U32=4110, +ENC_LD1W_Z_P_BR_U64=4111, +ENC_LD1W_Z_P_BZ_D_64_SCALED=4112, +ENC_LD1W_Z_P_BZ_D_64_UNSCALED=4113, +ENC_LD1W_Z_P_BZ_D_X32_SCALED=4114, +ENC_LD1W_Z_P_BZ_D_X32_UNSCALED=4115, +ENC_LD1W_Z_P_BZ_S_X32_SCALED=4116, +ENC_LD1W_Z_P_BZ_S_X32_UNSCALED=4117, +ENC_LD1W_ZA_P_RRR_=4118, +ENC_LD2B_Z_P_BI_CONTIGUOUS=4119, +ENC_LD2B_Z_P_BR_CONTIGUOUS=4120, +ENC_LD2D_Z_P_BI_CONTIGUOUS=4121, +ENC_LD2D_Z_P_BR_CONTIGUOUS=4122, +ENC_LD2H_Z_P_BI_CONTIGUOUS=4123, +ENC_LD2H_Z_P_BR_CONTIGUOUS=4124, +ENC_LD2Q_Z_P_BI_CONTIGUOUS=4125, +ENC_LD2Q_Z_P_BR_CONTIGUOUS=4126, +ENC_LD2W_Z_P_BI_CONTIGUOUS=4127, +ENC_LD2W_Z_P_BR_CONTIGUOUS=4128, +ENC_LD3B_Z_P_BI_CONTIGUOUS=4129, +ENC_LD3B_Z_P_BR_CONTIGUOUS=4130, +ENC_LD3D_Z_P_BI_CONTIGUOUS=4131, +ENC_LD3D_Z_P_BR_CONTIGUOUS=4132, +ENC_LD3H_Z_P_BI_CONTIGUOUS=4133, +ENC_LD3H_Z_P_BR_CONTIGUOUS=4134, +ENC_LD3Q_Z_P_BI_CONTIGUOUS=4135, +ENC_LD3Q_Z_P_BR_CONTIGUOUS=4136, +ENC_LD3W_Z_P_BI_CONTIGUOUS=4137, +ENC_LD3W_Z_P_BR_CONTIGUOUS=4138, +ENC_LD4B_Z_P_BI_CONTIGUOUS=4139, +ENC_LD4B_Z_P_BR_CONTIGUOUS=4140, +ENC_LD4D_Z_P_BI_CONTIGUOUS=4141, +ENC_LD4D_Z_P_BR_CONTIGUOUS=4142, +ENC_LD4H_Z_P_BI_CONTIGUOUS=4143, +ENC_LD4H_Z_P_BR_CONTIGUOUS=4144, +ENC_LD4Q_Z_P_BI_CONTIGUOUS=4145, +ENC_LD4Q_Z_P_BR_CONTIGUOUS=4146, +ENC_LD4W_Z_P_BI_CONTIGUOUS=4147, +ENC_LD4W_Z_P_BR_CONTIGUOUS=4148, +ENC_LDFF1B_Z_P_AI_D=4149, +ENC_LDFF1B_Z_P_AI_S=4150, +ENC_LDFF1B_Z_P_BR_U16=4151, +ENC_LDFF1B_Z_P_BR_U32=4152, +ENC_LDFF1B_Z_P_BR_U64=4153, +ENC_LDFF1B_Z_P_BR_U8=4154, +ENC_LDFF1B_Z_P_BZ_D_64_UNSCALED=4155, +ENC_LDFF1B_Z_P_BZ_D_X32_UNSCALED=4156, +ENC_LDFF1B_Z_P_BZ_S_X32_UNSCALED=4157, +ENC_LDFF1D_Z_P_AI_D=4158, +ENC_LDFF1D_Z_P_BR_U64=4159, +ENC_LDFF1D_Z_P_BZ_D_64_SCALED=4160, +ENC_LDFF1D_Z_P_BZ_D_64_UNSCALED=4161, +ENC_LDFF1D_Z_P_BZ_D_X32_SCALED=4162, +ENC_LDFF1D_Z_P_BZ_D_X32_UNSCALED=4163, +ENC_LDFF1H_Z_P_AI_D=4164, +ENC_LDFF1H_Z_P_AI_S=4165, +ENC_LDFF1H_Z_P_BR_U16=4166, +ENC_LDFF1H_Z_P_BR_U32=4167, +ENC_LDFF1H_Z_P_BR_U64=4168, +ENC_LDFF1H_Z_P_BZ_D_64_SCALED=4169, +ENC_LDFF1H_Z_P_BZ_D_64_UNSCALED=4170, +ENC_LDFF1H_Z_P_BZ_D_X32_SCALED=4171, +ENC_LDFF1H_Z_P_BZ_D_X32_UNSCALED=4172, +ENC_LDFF1H_Z_P_BZ_S_X32_SCALED=4173, +ENC_LDFF1H_Z_P_BZ_S_X32_UNSCALED=4174, +ENC_LDFF1SB_Z_P_AI_D=4175, +ENC_LDFF1SB_Z_P_AI_S=4176, +ENC_LDFF1SB_Z_P_BR_S16=4177, +ENC_LDFF1SB_Z_P_BR_S32=4178, +ENC_LDFF1SB_Z_P_BR_S64=4179, +ENC_LDFF1SB_Z_P_BZ_D_64_UNSCALED=4180, +ENC_LDFF1SB_Z_P_BZ_D_X32_UNSCALED=4181, +ENC_LDFF1SB_Z_P_BZ_S_X32_UNSCALED=4182, +ENC_LDFF1SH_Z_P_AI_D=4183, +ENC_LDFF1SH_Z_P_AI_S=4184, +ENC_LDFF1SH_Z_P_BR_S32=4185, +ENC_LDFF1SH_Z_P_BR_S64=4186, +ENC_LDFF1SH_Z_P_BZ_D_64_SCALED=4187, +ENC_LDFF1SH_Z_P_BZ_D_64_UNSCALED=4188, +ENC_LDFF1SH_Z_P_BZ_D_X32_SCALED=4189, +ENC_LDFF1SH_Z_P_BZ_D_X32_UNSCALED=4190, +ENC_LDFF1SH_Z_P_BZ_S_X32_SCALED=4191, +ENC_LDFF1SH_Z_P_BZ_S_X32_UNSCALED=4192, +ENC_LDFF1SW_Z_P_AI_D=4193, +ENC_LDFF1SW_Z_P_BR_S64=4194, +ENC_LDFF1SW_Z_P_BZ_D_64_SCALED=4195, +ENC_LDFF1SW_Z_P_BZ_D_64_UNSCALED=4196, +ENC_LDFF1SW_Z_P_BZ_D_X32_SCALED=4197, +ENC_LDFF1SW_Z_P_BZ_D_X32_UNSCALED=4198, +ENC_LDFF1W_Z_P_AI_D=4199, +ENC_LDFF1W_Z_P_AI_S=4200, +ENC_LDFF1W_Z_P_BR_U32=4201, +ENC_LDFF1W_Z_P_BR_U64=4202, +ENC_LDFF1W_Z_P_BZ_D_64_SCALED=4203, +ENC_LDFF1W_Z_P_BZ_D_64_UNSCALED=4204, +ENC_LDFF1W_Z_P_BZ_D_X32_SCALED=4205, +ENC_LDFF1W_Z_P_BZ_D_X32_UNSCALED=4206, +ENC_LDFF1W_Z_P_BZ_S_X32_SCALED=4207, +ENC_LDFF1W_Z_P_BZ_S_X32_UNSCALED=4208, +ENC_LDNF1B_Z_P_BI_U16=4209, +ENC_LDNF1B_Z_P_BI_U32=4210, +ENC_LDNF1B_Z_P_BI_U64=4211, +ENC_LDNF1B_Z_P_BI_U8=4212, +ENC_LDNF1D_Z_P_BI_U64=4213, +ENC_LDNF1H_Z_P_BI_U16=4214, +ENC_LDNF1H_Z_P_BI_U32=4215, +ENC_LDNF1H_Z_P_BI_U64=4216, +ENC_LDNF1SB_Z_P_BI_S16=4217, +ENC_LDNF1SB_Z_P_BI_S32=4218, +ENC_LDNF1SB_Z_P_BI_S64=4219, +ENC_LDNF1SH_Z_P_BI_S32=4220, +ENC_LDNF1SH_Z_P_BI_S64=4221, +ENC_LDNF1SW_Z_P_BI_S64=4222, +ENC_LDNF1W_Z_P_BI_U32=4223, +ENC_LDNF1W_Z_P_BI_U64=4224, +ENC_LDNT1B_MZ_P_BI_2=4225, +ENC_LDNT1B_MZ_P_BI_4=4226, +ENC_LDNT1B_MZ_P_BR_2=4227, +ENC_LDNT1B_MZ_P_BR_4=4228, +ENC_LDNT1B_MZX_P_BI_2X8=4229, +ENC_LDNT1B_MZX_P_BI_4X4=4230, +ENC_LDNT1B_MZX_P_BR_2X8=4231, +ENC_LDNT1B_MZX_P_BR_4X4=4232, +ENC_LDNT1B_Z_P_AR_D_64_UNSCALED=4233, +ENC_LDNT1B_Z_P_AR_S_X32_UNSCALED=4234, +ENC_LDNT1B_Z_P_BI_CONTIGUOUS=4235, +ENC_LDNT1B_Z_P_BR_CONTIGUOUS=4236, +ENC_LDNT1D_MZ_P_BI_2=4237, +ENC_LDNT1D_MZ_P_BI_4=4238, +ENC_LDNT1D_MZ_P_BR_2=4239, +ENC_LDNT1D_MZ_P_BR_4=4240, +ENC_LDNT1D_MZX_P_BI_2X8=4241, +ENC_LDNT1D_MZX_P_BI_4X4=4242, +ENC_LDNT1D_MZX_P_BR_2X8=4243, +ENC_LDNT1D_MZX_P_BR_4X4=4244, +ENC_LDNT1D_Z_P_AR_D_64_UNSCALED=4245, +ENC_LDNT1D_Z_P_BI_CONTIGUOUS=4246, +ENC_LDNT1D_Z_P_BR_CONTIGUOUS=4247, +ENC_LDNT1H_MZ_P_BI_2=4248, +ENC_LDNT1H_MZ_P_BI_4=4249, +ENC_LDNT1H_MZ_P_BR_2=4250, +ENC_LDNT1H_MZ_P_BR_4=4251, +ENC_LDNT1H_MZX_P_BI_2X8=4252, +ENC_LDNT1H_MZX_P_BI_4X4=4253, +ENC_LDNT1H_MZX_P_BR_2X8=4254, +ENC_LDNT1H_MZX_P_BR_4X4=4255, +ENC_LDNT1H_Z_P_AR_D_64_UNSCALED=4256, +ENC_LDNT1H_Z_P_AR_S_X32_UNSCALED=4257, +ENC_LDNT1H_Z_P_BI_CONTIGUOUS=4258, +ENC_LDNT1H_Z_P_BR_CONTIGUOUS=4259, +ENC_LDNT1SB_Z_P_AR_D_64_UNSCALED=4260, +ENC_LDNT1SB_Z_P_AR_S_X32_UNSCALED=4261, +ENC_LDNT1SH_Z_P_AR_D_64_UNSCALED=4262, +ENC_LDNT1SH_Z_P_AR_S_X32_UNSCALED=4263, +ENC_LDNT1SW_Z_P_AR_D_64_UNSCALED=4264, +ENC_LDNT1W_MZ_P_BI_2=4265, +ENC_LDNT1W_MZ_P_BI_4=4266, +ENC_LDNT1W_MZ_P_BR_2=4267, +ENC_LDNT1W_MZ_P_BR_4=4268, +ENC_LDNT1W_MZX_P_BI_2X8=4269, +ENC_LDNT1W_MZX_P_BI_4X4=4270, +ENC_LDNT1W_MZX_P_BR_2X8=4271, +ENC_LDNT1W_MZX_P_BR_4X4=4272, +ENC_LDNT1W_Z_P_AR_D_64_UNSCALED=4273, +ENC_LDNT1W_Z_P_AR_S_X32_UNSCALED=4274, +ENC_LDNT1W_Z_P_BI_CONTIGUOUS=4275, +ENC_LDNT1W_Z_P_BR_CONTIGUOUS=4276, +ENC_LDR_P_BI_=4277, +ENC_LDR_Z_BI_=4278, +ENC_LDR_ZA_RI_=4279, +ENC_LDR_ZT_BR_=4280, +ENC_LSL_Z_P_ZI_=4281, +ENC_LSL_Z_P_ZW_=4282, +ENC_LSL_Z_P_ZZ_=4283, +ENC_LSL_Z_ZI_=4284, +ENC_LSL_Z_ZW_=4285, +ENC_LSLR_Z_P_ZZ_=4286, +ENC_LSR_Z_P_ZI_=4287, +ENC_LSR_Z_P_ZW_=4288, +ENC_LSR_Z_P_ZZ_=4289, +ENC_LSR_Z_ZI_=4290, +ENC_LSR_Z_ZW_=4291, +ENC_LSRR_Z_P_ZZ_=4292, +ENC_LUTI2_MZ2_ZTZ_1=4293, +ENC_LUTI2_MZ2_ZTZ_8=4294, +ENC_LUTI2_MZ4_ZTZ_1=4295, +ENC_LUTI2_MZ4_ZTZ_4=4296, +ENC_LUTI2_Z_ZTZ_=4297, +ENC_LUTI2_Z_ZZ_16=4298, +ENC_LUTI2_Z_ZZ_8=4299, +ENC_LUTI4_MZ2_ZTZ_1=4300, +ENC_LUTI4_MZ2_ZTZ_8=4301, +ENC_LUTI4_MZ4_ZTMZ2_1=4302, +ENC_LUTI4_MZ4_ZTMZ2_4=4303, +ENC_LUTI4_MZ4_ZTZ_1=4304, +ENC_LUTI4_MZ4_ZTZ_4=4305, +ENC_LUTI4_Z_ZTZ_=4306, +ENC_LUTI4_Z_ZZ_1X16=4307, +ENC_LUTI4_Z_ZZ_2X16=4308, +ENC_LUTI4_Z_ZZ_8=4309, +ENC_LUTI6_MZ4_ZMZ2_1=4310, +ENC_LUTI6_MZ4_ZMZ2_4=4311, +ENC_LUTI6_MZ4_ZTMZ3_1=4312, +ENC_LUTI6_MZ4_ZTMZ3_4=4313, +ENC_LUTI6_Z_ZTZ_=4314, +ENC_LUTI6_Z_ZZZ_16=4315, +ENC_LUTI6_Z_ZZZ_8=4316, +ENC_MAD_Z_P_ZZZ_=4317, +ENC_MADPT_Z_ZZZ_=4318, +ENC_MATCH_P_P_ZZ_=4319, +ENC_MLA_Z_P_ZZZ_=4320, +ENC_MLA_Z_ZZZI_D=4321, +ENC_MLA_Z_ZZZI_H=4322, +ENC_MLA_Z_ZZZI_S=4323, +ENC_MLAPT_Z_ZZZ_=4324, +ENC_MLS_Z_P_ZZZ_=4325, +ENC_MLS_Z_ZZZI_D=4326, +ENC_MLS_Z_ZZZI_H=4327, +ENC_MLS_Z_ZZZI_S=4328, +ENC_MOV_MZ2_ZA_B1_MOVA_MZ2_ZA_B1=4329, // alias +ENC_MOV_MZ2_ZA_D1_MOVA_MZ2_ZA_D1=4330, // alias +ENC_MOV_MZ2_ZA_H1_MOVA_MZ2_ZA_H1=4331, // alias +ENC_MOV_MZ2_ZA_W1_MOVA_MZ2_ZA_W1=4332, // alias +ENC_MOV_MZ4_ZA_B1_MOVA_MZ4_ZA_B1=4333, // alias +ENC_MOV_MZ4_ZA_D1_MOVA_MZ4_ZA_D1=4334, // alias +ENC_MOV_MZ4_ZA_H1_MOVA_MZ4_ZA_H1=4335, // alias +ENC_MOV_MZ4_ZA_W1_MOVA_MZ4_ZA_W1=4336, // alias +ENC_MOV_MZ_ZA2_1_MOVA_MZ_ZA2_1=4337, // alias +ENC_MOV_MZ_ZA4_1_MOVA_MZ_ZA4_1=4338, // alias +ENC_MOV_P_P__ORR_P_P_PP_Z=4339, // alias +ENC_MOV_Z_I__DUP_Z_I_=4340, // alias +ENC_MOV_Z_M__DUPM_Z_I_=4341, // alias +ENC_MOV_Z_O_I__CPY_Z_O_I_=4342, // alias +ENC_MOV_Z_P_I__CPY_Z_P_I_=4343, // alias +ENC_MOV_Z_P_R__CPY_Z_P_R_=4344, // alias +ENC_MOV_Z_P_RZA_B_MOVA_Z_P_RZA_B=4345, // alias +ENC_MOV_Z_P_RZA_D_MOVA_Z_P_RZA_D=4346, // alias +ENC_MOV_Z_P_RZA_H_MOVA_Z_P_RZA_H=4347, // alias +ENC_MOV_Z_P_RZA_Q_MOVA_Z_P_RZA_Q=4348, // alias +ENC_MOV_Z_P_RZA_W_MOVA_Z_P_RZA_W=4349, // alias +ENC_MOV_Z_P_V__CPY_Z_P_V_=4350, // alias +ENC_MOV_Z_P_Z__SEL_Z_P_ZZ_=4351, // alias +ENC_MOV_Z_R__DUP_Z_R_=4352, // alias +ENC_MOV_Z_V__DUP_Z_ZI_=4353, // alias +ENC_MOV_Z_Z__ORR_Z_ZZ_=4354, // alias +ENC_MOV_Z_ZI__DUP_Z_ZI_=4355, // alias +ENC_MOV_ZA2_Z_B1_MOVA_ZA2_Z_B1=4356, // alias +ENC_MOV_ZA2_Z_D1_MOVA_ZA2_Z_D1=4357, // alias +ENC_MOV_ZA2_Z_H1_MOVA_ZA2_Z_H1=4358, // alias +ENC_MOV_ZA2_Z_W1_MOVA_ZA2_Z_W1=4359, // alias +ENC_MOV_ZA4_Z_B1_MOVA_ZA4_Z_B1=4360, // alias +ENC_MOV_ZA4_Z_D1_MOVA_ZA4_Z_D1=4361, // alias +ENC_MOV_ZA4_Z_H1_MOVA_ZA4_Z_H1=4362, // alias +ENC_MOV_ZA4_Z_W1_MOVA_ZA4_Z_W1=4363, // alias +ENC_MOV_ZA_MZ2_1_MOVA_ZA_MZ2_1=4364, // alias +ENC_MOV_ZA_MZ4_1_MOVA_ZA_MZ4_1=4365, // alias +ENC_MOV_ZA_P_RZ_B_MOVA_ZA_P_RZ_B=4366, // alias +ENC_MOV_ZA_P_RZ_D_MOVA_ZA_P_RZ_D=4367, // alias +ENC_MOV_ZA_P_RZ_H_MOVA_ZA_P_RZ_H=4368, // alias +ENC_MOV_ZA_P_RZ_Q_MOVA_ZA_P_RZ_Q=4369, // alias +ENC_MOV_ZA_P_RZ_W_MOVA_ZA_P_RZ_W=4370, // alias +ENC_MOVA_MZ2_ZA_B1=4371, +ENC_MOVA_MZ2_ZA_D1=4372, +ENC_MOVA_MZ2_ZA_H1=4373, +ENC_MOVA_MZ2_ZA_W1=4374, +ENC_MOVA_MZ4_ZA_B1=4375, +ENC_MOVA_MZ4_ZA_D1=4376, +ENC_MOVA_MZ4_ZA_H1=4377, +ENC_MOVA_MZ4_ZA_W1=4378, +ENC_MOVA_MZ_ZA2_1=4379, +ENC_MOVA_MZ_ZA4_1=4380, +ENC_MOVA_Z_P_RZA_B=4381, +ENC_MOVA_Z_P_RZA_D=4382, +ENC_MOVA_Z_P_RZA_H=4383, +ENC_MOVA_Z_P_RZA_Q=4384, +ENC_MOVA_Z_P_RZA_W=4385, +ENC_MOVA_ZA2_Z_B1=4386, +ENC_MOVA_ZA2_Z_D1=4387, +ENC_MOVA_ZA2_Z_H1=4388, +ENC_MOVA_ZA2_Z_W1=4389, +ENC_MOVA_ZA4_Z_B1=4390, +ENC_MOVA_ZA4_Z_D1=4391, +ENC_MOVA_ZA4_Z_H1=4392, +ENC_MOVA_ZA4_Z_W1=4393, +ENC_MOVA_ZA_MZ2_1=4394, +ENC_MOVA_ZA_MZ4_1=4395, +ENC_MOVA_ZA_P_RZ_B=4396, +ENC_MOVA_ZA_P_RZ_D=4397, +ENC_MOVA_ZA_P_RZ_H=4398, +ENC_MOVA_ZA_P_RZ_Q=4399, +ENC_MOVA_ZA_P_RZ_W=4400, +ENC_MOVAZ_MZ2_ZA_B1=4401, +ENC_MOVAZ_MZ2_ZA_D1=4402, +ENC_MOVAZ_MZ2_ZA_H1=4403, +ENC_MOVAZ_MZ2_ZA_W1=4404, +ENC_MOVAZ_MZ4_ZA_B1=4405, +ENC_MOVAZ_MZ4_ZA_D1=4406, +ENC_MOVAZ_MZ4_ZA_H1=4407, +ENC_MOVAZ_MZ4_ZA_W1=4408, +ENC_MOVAZ_MZ_ZA2_1=4409, +ENC_MOVAZ_MZ_ZA4_1=4410, +ENC_MOVAZ_Z_RZA_B=4411, +ENC_MOVAZ_Z_RZA_D=4412, +ENC_MOVAZ_Z_RZA_H=4413, +ENC_MOVAZ_Z_RZA_Q=4414, +ENC_MOVAZ_Z_RZA_W=4415, +ENC_MOVM_P_P_P__SEL_P_P_PP_=4416, // alias +ENC_MOVPRFX_Z_P_Z_=4417, +ENC_MOVPRFX_Z_Z_=4418, +ENC_MOVS_P_P__ORRS_P_P_PP_Z=4419, // alias +ENC_MOVT_R_ZT_=4420, +ENC_MOVT_ZT_R_=4421, +ENC_MOVT_ZT_Z_=4422, +ENC_MOVZ_P_P_P__AND_P_P_PP_Z=4423, // alias +ENC_MOVZS_P_P_P__ANDS_P_P_PP_Z=4424, // alias +ENC_MSB_Z_P_ZZZ_=4425, +ENC_MUL_Z_P_ZZ_=4426, +ENC_MUL_Z_ZI_=4427, +ENC_MUL_Z_ZZ_=4428, +ENC_MUL_Z_ZZI_D=4429, +ENC_MUL_Z_ZZI_H=4430, +ENC_MUL_Z_ZZI_S=4431, +ENC_NAND_P_P_PP_Z=4432, +ENC_NANDS_P_P_PP_Z=4433, +ENC_NBSL_Z_ZZZ_=4434, +ENC_NEG_Z_P_Z_M=4435, +ENC_NEG_Z_P_Z_Z=4436, +ENC_NMATCH_P_P_ZZ_=4437, +ENC_NOR_P_P_PP_Z=4438, +ENC_NORS_P_P_PP_Z=4439, +ENC_NOT_P_P_P_Z_EOR_P_P_PP_Z=4440, // alias +ENC_NOT_Z_P_Z_M=4441, +ENC_NOT_Z_P_Z_Z=4442, +ENC_NOTS_P_P_P_Z_EORS_P_P_PP_Z=4443, // alias +ENC_ORN_P_P_PP_Z=4444, +ENC_ORN_Z_ZI__ORR_Z_ZI_=4445, // alias +ENC_ORNS_P_P_PP_Z=4446, +ENC_ORQV_Z_P_Z_=4447, +ENC_ORR_P_P_PP_Z=4448, +ENC_ORR_Z_P_ZZ_=4449, +ENC_ORR_Z_ZI_=4450, +ENC_ORR_Z_ZZ_=4451, +ENC_ORRS_P_P_PP_Z=4452, +ENC_ORV_R_P_Z_=4453, +ENC_PEXT_PN_RR_=4454, +ENC_PEXT_PP_RR_=4455, +ENC_PFALSE_P_=4456, +ENC_PFIRST_P_P_P_=4457, +ENC_PMLAL_MZ_ZZZW_1X2=4458, +ENC_PMOV_P_ZI_B=4459, +ENC_PMOV_P_ZI_D=4460, +ENC_PMOV_P_ZI_H=4461, +ENC_PMOV_P_ZI_S=4462, +ENC_PMOV_Z_PI_B=4463, +ENC_PMOV_Z_PI_D=4464, +ENC_PMOV_Z_PI_H=4465, +ENC_PMOV_Z_PI_S=4466, +ENC_PMUL_Z_ZZ_=4467, +ENC_PMULL_MZ_ZZW_1X2=4468, +ENC_PMULLB_Z_ZZ_=4469, +ENC_PMULLB_Z_ZZ_Q=4470, +ENC_PMULLT_Z_ZZ_=4471, +ENC_PMULLT_Z_ZZ_Q=4472, +ENC_PNEXT_P_P_P_=4473, +ENC_PRFB_I_P_AI_D=4474, +ENC_PRFB_I_P_AI_S=4475, +ENC_PRFB_I_P_BI_S=4476, +ENC_PRFB_I_P_BR_S=4477, +ENC_PRFB_I_P_BZ_D_64_SCALED=4478, +ENC_PRFB_I_P_BZ_D_X32_SCALED=4479, +ENC_PRFB_I_P_BZ_S_X32_SCALED=4480, +ENC_PRFD_I_P_AI_D=4481, +ENC_PRFD_I_P_AI_S=4482, +ENC_PRFD_I_P_BI_S=4483, +ENC_PRFD_I_P_BR_S=4484, +ENC_PRFD_I_P_BZ_D_64_SCALED=4485, +ENC_PRFD_I_P_BZ_D_X32_SCALED=4486, +ENC_PRFD_I_P_BZ_S_X32_SCALED=4487, +ENC_PRFH_I_P_AI_D=4488, +ENC_PRFH_I_P_AI_S=4489, +ENC_PRFH_I_P_BI_S=4490, +ENC_PRFH_I_P_BR_S=4491, +ENC_PRFH_I_P_BZ_D_64_SCALED=4492, +ENC_PRFH_I_P_BZ_D_X32_SCALED=4493, +ENC_PRFH_I_P_BZ_S_X32_SCALED=4494, +ENC_PRFW_I_P_AI_D=4495, +ENC_PRFW_I_P_AI_S=4496, +ENC_PRFW_I_P_BI_S=4497, +ENC_PRFW_I_P_BR_S=4498, +ENC_PRFW_I_P_BZ_D_64_SCALED=4499, +ENC_PRFW_I_P_BZ_D_X32_SCALED=4500, +ENC_PRFW_I_P_BZ_S_X32_SCALED=4501, +ENC_PSEL_P_PPI_=4502, +ENC_PTEST__P_P_=4503, +ENC_PTRUE_P_S_=4504, +ENC_PTRUE_PN_I_=4505, +ENC_PTRUES_P_S_=4506, +ENC_PUNPKHI_P_P_=4507, +ENC_PUNPKLO_P_P_=4508, +ENC_RADDHNB_Z_ZZ_=4509, +ENC_RADDHNT_Z_ZZ_=4510, +ENC_RAX1_Z_ZZ_=4511, +ENC_RBIT_Z_P_Z_M=4512, +ENC_RBIT_Z_P_Z_Z=4513, +ENC_RDFFR_P_F_=4514, +ENC_RDFFR_P_P_F_=4515, +ENC_RDFFRS_P_P_F_=4516, +ENC_RDSVL_R_I_=4517, +ENC_RDVL_R_I_=4518, +ENC_REV_P_P_=4519, +ENC_REV_Z_Z_=4520, +ENC_REVB_Z_Z_M=4521, +ENC_REVB_Z_Z_Z=4522, +ENC_REVD_Z_P_Z_M=4523, +ENC_REVD_Z_P_Z_Z=4524, +ENC_REVH_Z_Z_M=4525, +ENC_REVH_Z_Z_Z=4526, +ENC_REVW_Z_Z_M=4527, +ENC_REVW_Z_Z_Z=4528, +ENC_RSHRNB_Z_ZI_=4529, +ENC_RSHRNT_Z_ZI_=4530, +ENC_RSUBHNB_Z_ZZ_=4531, +ENC_RSUBHNT_Z_ZZ_=4532, +ENC_SABA_Z_ZZZ_=4533, +ENC_SABAL_Z_ZZ_=4534, +ENC_SABALB_Z_ZZZ_=4535, +ENC_SABALT_Z_ZZZ_=4536, +ENC_SABD_Z_P_ZZ_=4537, +ENC_SABDLB_Z_ZZ_=4538, +ENC_SABDLT_Z_ZZ_=4539, +ENC_SADALP_Z_P_Z_=4540, +ENC_SADDLB_Z_ZZ_=4541, +ENC_SADDLBT_Z_ZZ_=4542, +ENC_SADDLT_Z_ZZ_=4543, +ENC_SADDV_R_P_Z_=4544, +ENC_SADDWB_Z_ZZ_=4545, +ENC_SADDWT_Z_ZZ_=4546, +ENC_SBCLB_Z_ZZZ_=4547, +ENC_SBCLT_Z_ZZZ_=4548, +ENC_SCLAMP_MZ_ZZ_2=4549, +ENC_SCLAMP_MZ_ZZ_4=4550, +ENC_SCLAMP_Z_ZZ_=4551, +ENC_SCVTF_MZ_Z_2=4552, +ENC_SCVTF_MZ_Z_4=4553, +ENC_SCVTF_Z_P_Z_H2FP16=4554, +ENC_SCVTF_Z_P_Z_H2FP16Z=4555, +ENC_SCVTF_Z_P_Z_W2D=4556, +ENC_SCVTF_Z_P_Z_W2DZ=4557, +ENC_SCVTF_Z_P_Z_W2FP16=4558, +ENC_SCVTF_Z_P_Z_W2FP16Z=4559, +ENC_SCVTF_Z_P_Z_W2S=4560, +ENC_SCVTF_Z_P_Z_W2SZ=4561, +ENC_SCVTF_Z_P_Z_X2D=4562, +ENC_SCVTF_Z_P_Z_X2DZ=4563, +ENC_SCVTF_Z_P_Z_X2FP16=4564, +ENC_SCVTF_Z_P_Z_X2FP16Z=4565, +ENC_SCVTF_Z_P_Z_X2S=4566, +ENC_SCVTF_Z_P_Z_X2SZ=4567, +ENC_SCVTF_Z_Z_=4568, +ENC_SCVTFLT_Z_Z_=4569, +ENC_SDIV_Z_P_ZZ_=4570, +ENC_SDIVR_Z_P_ZZ_=4571, +ENC_SDOT_Z16_ZZZ_H=4572, +ENC_SDOT_Z16_ZZZI_H=4573, +ENC_SDOT_Z32_ZZZ_=4574, +ENC_SDOT_Z32_ZZZI_=4575, +ENC_SDOT_Z_ZZZ_=4576, +ENC_SDOT_Z_ZZZI_D=4577, +ENC_SDOT_Z_ZZZI_S=4578, +ENC_SDOT_ZA32_ZZI_2XI=4579, +ENC_SDOT_ZA32_ZZI_4XI=4580, +ENC_SDOT_ZA32_ZZV_2X1=4581, +ENC_SDOT_ZA32_ZZV_4X1=4582, +ENC_SDOT_ZA32_ZZW_2X2=4583, +ENC_SDOT_ZA32_ZZW_4X4=4584, +ENC_SDOT_ZA_ZZI_D2XI=4585, +ENC_SDOT_ZA_ZZI_D4XI=4586, +ENC_SDOT_ZA_ZZI_S2XI=4587, +ENC_SDOT_ZA_ZZI_S4XI=4588, +ENC_SDOT_ZA_ZZV_2X1=4589, +ENC_SDOT_ZA_ZZV_4X1=4590, +ENC_SDOT_ZA_ZZW_2X2=4591, +ENC_SDOT_ZA_ZZW_4X4=4592, +ENC_SEL_MZ_P_ZZ_2=4593, +ENC_SEL_MZ_P_ZZ_4=4594, +ENC_SEL_P_P_PP_=4595, +ENC_SEL_Z_P_ZZ_=4596, +ENC_SETFFR_F_=4597, +ENC_SHADD_Z_P_ZZ_=4598, +ENC_SHRNB_Z_ZI_=4599, +ENC_SHRNT_Z_ZI_=4600, +ENC_SHSUB_Z_P_ZZ_=4601, +ENC_SHSUBR_Z_P_ZZ_=4602, +ENC_SLI_Z_ZZI_=4603, +ENC_SM4E_Z_ZZ_=4604, +ENC_SM4EKEY_Z_ZZ_=4605, +ENC_SMAX_MZ_ZZV_2X1=4606, +ENC_SMAX_MZ_ZZV_4X1=4607, +ENC_SMAX_MZ_ZZW_2X2=4608, +ENC_SMAX_MZ_ZZW_4X4=4609, +ENC_SMAX_Z_P_ZZ_=4610, +ENC_SMAX_Z_ZI_=4611, +ENC_SMAXP_Z_P_ZZ_=4612, +ENC_SMAXQV_Z_P_Z_=4613, +ENC_SMAXV_R_P_Z_=4614, +ENC_SMIN_MZ_ZZV_2X1=4615, +ENC_SMIN_MZ_ZZV_4X1=4616, +ENC_SMIN_MZ_ZZW_2X2=4617, +ENC_SMIN_MZ_ZZW_4X4=4618, +ENC_SMIN_Z_P_ZZ_=4619, +ENC_SMIN_Z_ZI_=4620, +ENC_SMINP_Z_P_ZZ_=4621, +ENC_SMINQV_Z_P_Z_=4622, +ENC_SMINV_R_P_Z_=4623, +ENC_SMLAL_ZA_ZZI_1=4624, +ENC_SMLAL_ZA_ZZI_2XI=4625, +ENC_SMLAL_ZA_ZZI_4XI=4626, +ENC_SMLAL_ZA_ZZV_1=4627, +ENC_SMLAL_ZA_ZZV_2X1=4628, +ENC_SMLAL_ZA_ZZV_4X1=4629, +ENC_SMLAL_ZA_ZZW_2X2=4630, +ENC_SMLAL_ZA_ZZW_4X4=4631, +ENC_SMLALB_Z_ZZZ_=4632, +ENC_SMLALB_Z_ZZZI_D=4633, +ENC_SMLALB_Z_ZZZI_S=4634, +ENC_SMLALL_ZA_ZZI_D=4635, +ENC_SMLALL_ZA_ZZI_D2XI=4636, +ENC_SMLALL_ZA_ZZI_D4XI=4637, +ENC_SMLALL_ZA_ZZI_S=4638, +ENC_SMLALL_ZA_ZZI_S2XI=4639, +ENC_SMLALL_ZA_ZZI_S4XI=4640, +ENC_SMLALL_ZA_ZZV_1=4641, +ENC_SMLALL_ZA_ZZV_2X1=4642, +ENC_SMLALL_ZA_ZZV_4X1=4643, +ENC_SMLALL_ZA_ZZW_2X2=4644, +ENC_SMLALL_ZA_ZZW_4X4=4645, +ENC_SMLALT_Z_ZZZ_=4646, +ENC_SMLALT_Z_ZZZI_D=4647, +ENC_SMLALT_Z_ZZZI_S=4648, +ENC_SMLSL_ZA_ZZI_1=4649, +ENC_SMLSL_ZA_ZZI_2XI=4650, +ENC_SMLSL_ZA_ZZI_4XI=4651, +ENC_SMLSL_ZA_ZZV_1=4652, +ENC_SMLSL_ZA_ZZV_2X1=4653, +ENC_SMLSL_ZA_ZZV_4X1=4654, +ENC_SMLSL_ZA_ZZW_2X2=4655, +ENC_SMLSL_ZA_ZZW_4X4=4656, +ENC_SMLSLB_Z_ZZZ_=4657, +ENC_SMLSLB_Z_ZZZI_D=4658, +ENC_SMLSLB_Z_ZZZI_S=4659, +ENC_SMLSLL_ZA_ZZI_D=4660, +ENC_SMLSLL_ZA_ZZI_D2XI=4661, +ENC_SMLSLL_ZA_ZZI_D4XI=4662, +ENC_SMLSLL_ZA_ZZI_S=4663, +ENC_SMLSLL_ZA_ZZI_S2XI=4664, +ENC_SMLSLL_ZA_ZZI_S4XI=4665, +ENC_SMLSLL_ZA_ZZV_1=4666, +ENC_SMLSLL_ZA_ZZV_2X1=4667, +ENC_SMLSLL_ZA_ZZV_4X1=4668, +ENC_SMLSLL_ZA_ZZW_2X2=4669, +ENC_SMLSLL_ZA_ZZW_4X4=4670, +ENC_SMLSLT_Z_ZZZ_=4671, +ENC_SMLSLT_Z_ZZZI_D=4672, +ENC_SMLSLT_Z_ZZZI_S=4673, +ENC_SMMLA_Z_ZZZ_=4674, +ENC_SMOP4A_ZA32_ZZ_H1X1=4675, +ENC_SMOP4A_ZA32_ZZ_H1X2=4676, +ENC_SMOP4A_ZA32_ZZ_H2X1=4677, +ENC_SMOP4A_ZA32_ZZ_H2X2=4678, +ENC_SMOP4A_ZA_ZZ_B1X1=4679, +ENC_SMOP4A_ZA_ZZ_B1X2=4680, +ENC_SMOP4A_ZA_ZZ_B2X1=4681, +ENC_SMOP4A_ZA_ZZ_B2X2=4682, +ENC_SMOP4A_ZA_ZZ_H1X1=4683, +ENC_SMOP4A_ZA_ZZ_H1X2=4684, +ENC_SMOP4A_ZA_ZZ_H2X1=4685, +ENC_SMOP4A_ZA_ZZ_H2X2=4686, +ENC_SMOP4S_ZA32_ZZ_H1X1=4687, +ENC_SMOP4S_ZA32_ZZ_H1X2=4688, +ENC_SMOP4S_ZA32_ZZ_H2X1=4689, +ENC_SMOP4S_ZA32_ZZ_H2X2=4690, +ENC_SMOP4S_ZA_ZZ_B1X1=4691, +ENC_SMOP4S_ZA_ZZ_B1X2=4692, +ENC_SMOP4S_ZA_ZZ_B2X1=4693, +ENC_SMOP4S_ZA_ZZ_B2X2=4694, +ENC_SMOP4S_ZA_ZZ_H1X1=4695, +ENC_SMOP4S_ZA_ZZ_H1X2=4696, +ENC_SMOP4S_ZA_ZZ_H2X1=4697, +ENC_SMOP4S_ZA_ZZ_H2X2=4698, +ENC_SMOPA_ZA32_PP_ZZ_16=4699, +ENC_SMOPA_ZA_PP_ZZ_32=4700, +ENC_SMOPA_ZA_PP_ZZ_64=4701, +ENC_SMOPS_ZA32_PP_ZZ_16=4702, +ENC_SMOPS_ZA_PP_ZZ_32=4703, +ENC_SMOPS_ZA_PP_ZZ_64=4704, +ENC_SMULH_Z_P_ZZ_=4705, +ENC_SMULH_Z_ZZ_=4706, +ENC_SMULLB_Z_ZZ_=4707, +ENC_SMULLB_Z_ZZI_D=4708, +ENC_SMULLB_Z_ZZI_S=4709, +ENC_SMULLT_Z_ZZ_=4710, +ENC_SMULLT_Z_ZZI_D=4711, +ENC_SMULLT_Z_ZZI_S=4712, +ENC_SPLICE_Z_P_ZZ_CON=4713, +ENC_SPLICE_Z_P_ZZ_DES=4714, +ENC_SQABS_Z_P_Z_M=4715, +ENC_SQABS_Z_P_Z_Z=4716, +ENC_SQADD_Z_P_ZZ_=4717, +ENC_SQADD_Z_ZI_=4718, +ENC_SQADD_Z_ZZ_=4719, +ENC_SQCADD_Z_ZZ_=4720, +ENC_SQCVT_Z_MZ2_=4721, +ENC_SQCVT_Z_MZ4_=4722, +ENC_SQCVTN_Z_MZ2_=4723, +ENC_SQCVTN_Z_MZ4_=4724, +ENC_SQCVTU_Z_MZ2_=4725, +ENC_SQCVTU_Z_MZ4_=4726, +ENC_SQCVTUN_Z_MZ2_=4727, +ENC_SQCVTUN_Z_MZ4_=4728, +ENC_SQDECB_R_RS_SX=4729, +ENC_SQDECB_R_RS_X=4730, +ENC_SQDECD_R_RS_SX=4731, +ENC_SQDECD_R_RS_X=4732, +ENC_SQDECD_Z_ZS_=4733, +ENC_SQDECH_R_RS_SX=4734, +ENC_SQDECH_R_RS_X=4735, +ENC_SQDECH_Z_ZS_=4736, +ENC_SQDECP_R_P_R_SX=4737, +ENC_SQDECP_R_P_R_X=4738, +ENC_SQDECP_Z_P_Z_=4739, +ENC_SQDECW_R_RS_SX=4740, +ENC_SQDECW_R_RS_X=4741, +ENC_SQDECW_Z_ZS_=4742, +ENC_SQDMLALB_Z_ZZZ_=4743, +ENC_SQDMLALB_Z_ZZZI_D=4744, +ENC_SQDMLALB_Z_ZZZI_S=4745, +ENC_SQDMLALBT_Z_ZZZ_=4746, +ENC_SQDMLALT_Z_ZZZ_=4747, +ENC_SQDMLALT_Z_ZZZI_D=4748, +ENC_SQDMLALT_Z_ZZZI_S=4749, +ENC_SQDMLSLB_Z_ZZZ_=4750, +ENC_SQDMLSLB_Z_ZZZI_D=4751, +ENC_SQDMLSLB_Z_ZZZI_S=4752, +ENC_SQDMLSLBT_Z_ZZZ_=4753, +ENC_SQDMLSLT_Z_ZZZ_=4754, +ENC_SQDMLSLT_Z_ZZZI_D=4755, +ENC_SQDMLSLT_Z_ZZZI_S=4756, +ENC_SQDMULH_MZ_ZZV_2X1=4757, +ENC_SQDMULH_MZ_ZZV_4X1=4758, +ENC_SQDMULH_MZ_ZZW_2X2=4759, +ENC_SQDMULH_MZ_ZZW_4X4=4760, +ENC_SQDMULH_Z_ZZ_=4761, +ENC_SQDMULH_Z_ZZI_D=4762, +ENC_SQDMULH_Z_ZZI_H=4763, +ENC_SQDMULH_Z_ZZI_S=4764, +ENC_SQDMULLB_Z_ZZ_=4765, +ENC_SQDMULLB_Z_ZZI_D=4766, +ENC_SQDMULLB_Z_ZZI_S=4767, +ENC_SQDMULLT_Z_ZZ_=4768, +ENC_SQDMULLT_Z_ZZI_D=4769, +ENC_SQDMULLT_Z_ZZI_S=4770, +ENC_SQINCB_R_RS_SX=4771, +ENC_SQINCB_R_RS_X=4772, +ENC_SQINCD_R_RS_SX=4773, +ENC_SQINCD_R_RS_X=4774, +ENC_SQINCD_Z_ZS_=4775, +ENC_SQINCH_R_RS_SX=4776, +ENC_SQINCH_R_RS_X=4777, +ENC_SQINCH_Z_ZS_=4778, +ENC_SQINCP_R_P_R_SX=4779, +ENC_SQINCP_R_P_R_X=4780, +ENC_SQINCP_Z_P_Z_=4781, +ENC_SQINCW_R_RS_SX=4782, +ENC_SQINCW_R_RS_X=4783, +ENC_SQINCW_Z_ZS_=4784, +ENC_SQNEG_Z_P_Z_M=4785, +ENC_SQNEG_Z_P_Z_Z=4786, +ENC_SQRDCMLAH_Z_ZZZ_=4787, +ENC_SQRDCMLAH_Z_ZZZI_H=4788, +ENC_SQRDCMLAH_Z_ZZZI_S=4789, +ENC_SQRDMLAH_Z_ZZZ_=4790, +ENC_SQRDMLAH_Z_ZZZI_D=4791, +ENC_SQRDMLAH_Z_ZZZI_H=4792, +ENC_SQRDMLAH_Z_ZZZI_S=4793, +ENC_SQRDMLSH_Z_ZZZ_=4794, +ENC_SQRDMLSH_Z_ZZZI_D=4795, +ENC_SQRDMLSH_Z_ZZZI_H=4796, +ENC_SQRDMLSH_Z_ZZZI_S=4797, +ENC_SQRDMULH_Z_ZZ_=4798, +ENC_SQRDMULH_Z_ZZI_D=4799, +ENC_SQRDMULH_Z_ZZI_H=4800, +ENC_SQRDMULH_Z_ZZI_S=4801, +ENC_SQRSHL_Z_P_ZZ_=4802, +ENC_SQRSHLR_Z_P_ZZ_=4803, +ENC_SQRSHR_Z_MZ2_=4804, +ENC_SQRSHR_Z_MZ4_=4805, +ENC_SQRSHRN_Z_MZ2_=4806, +ENC_SQRSHRN_Z_MZ2_B=4807, +ENC_SQRSHRN_Z_MZ4_=4808, +ENC_SQRSHRNB_Z_ZI_=4809, +ENC_SQRSHRNT_Z_ZI_=4810, +ENC_SQRSHRU_Z_MZ2_=4811, +ENC_SQRSHRU_Z_MZ4_=4812, +ENC_SQRSHRUN_Z_MZ2_=4813, +ENC_SQRSHRUN_Z_MZ2_B=4814, +ENC_SQRSHRUN_Z_MZ4_=4815, +ENC_SQRSHRUNB_Z_ZI_=4816, +ENC_SQRSHRUNT_Z_ZI_=4817, +ENC_SQSHL_Z_P_ZI_=4818, +ENC_SQSHL_Z_P_ZZ_=4819, +ENC_SQSHLR_Z_P_ZZ_=4820, +ENC_SQSHLU_Z_P_ZI_=4821, +ENC_SQSHRN_Z_MZ2_=4822, +ENC_SQSHRNB_Z_ZI_=4823, +ENC_SQSHRNT_Z_ZI_=4824, +ENC_SQSHRUN_Z_MZ2_=4825, +ENC_SQSHRUNB_Z_ZI_=4826, +ENC_SQSHRUNT_Z_ZI_=4827, +ENC_SQSUB_Z_P_ZZ_=4828, +ENC_SQSUB_Z_ZI_=4829, +ENC_SQSUB_Z_ZZ_=4830, +ENC_SQSUBR_Z_P_ZZ_=4831, +ENC_SQXTNB_Z_ZZ_=4832, +ENC_SQXTNT_Z_ZZ_=4833, +ENC_SQXTUNB_Z_ZZ_=4834, +ENC_SQXTUNT_Z_ZZ_=4835, +ENC_SRHADD_Z_P_ZZ_=4836, +ENC_SRI_Z_ZZI_=4837, +ENC_SRSHL_MZ_ZZV_2X1=4838, +ENC_SRSHL_MZ_ZZV_4X1=4839, +ENC_SRSHL_MZ_ZZW_2X2=4840, +ENC_SRSHL_MZ_ZZW_4X4=4841, +ENC_SRSHL_Z_P_ZZ_=4842, +ENC_SRSHLR_Z_P_ZZ_=4843, +ENC_SRSHR_Z_P_ZI_=4844, +ENC_SRSRA_Z_ZI_=4845, +ENC_SSHLLB_Z_ZI_=4846, +ENC_SSHLLT_Z_ZI_=4847, +ENC_SSRA_Z_ZI_=4848, +ENC_SSUBLB_Z_ZZ_=4849, +ENC_SSUBLBT_Z_ZZ_=4850, +ENC_SSUBLT_Z_ZZ_=4851, +ENC_SSUBLTB_Z_ZZ_=4852, +ENC_SSUBWB_Z_ZZ_=4853, +ENC_SSUBWT_Z_ZZ_=4854, +ENC_ST1B_MZ_P_BI_2=4855, +ENC_ST1B_MZ_P_BI_4=4856, +ENC_ST1B_MZ_P_BR_2=4857, +ENC_ST1B_MZ_P_BR_4=4858, +ENC_ST1B_MZX_P_BI_2X8=4859, +ENC_ST1B_MZX_P_BI_4X4=4860, +ENC_ST1B_MZX_P_BR_2X8=4861, +ENC_ST1B_MZX_P_BR_4X4=4862, +ENC_ST1B_Z_P_AI_D=4863, +ENC_ST1B_Z_P_AI_S=4864, +ENC_ST1B_Z_P_BI_=4865, +ENC_ST1B_Z_P_BR_=4866, +ENC_ST1B_Z_P_BZ_D_64_UNSCALED=4867, +ENC_ST1B_Z_P_BZ_D_X32_UNSCALED=4868, +ENC_ST1B_Z_P_BZ_S_X32_UNSCALED=4869, +ENC_ST1B_ZA_P_RRR_=4870, +ENC_ST1D_MZ_P_BI_2=4871, +ENC_ST1D_MZ_P_BI_4=4872, +ENC_ST1D_MZ_P_BR_2=4873, +ENC_ST1D_MZ_P_BR_4=4874, +ENC_ST1D_MZX_P_BI_2X8=4875, +ENC_ST1D_MZX_P_BI_4X4=4876, +ENC_ST1D_MZX_P_BR_2X8=4877, +ENC_ST1D_MZX_P_BR_4X4=4878, +ENC_ST1D_Z_P_AI_D=4879, +ENC_ST1D_Z_P_BI_=4880, +ENC_ST1D_Z_P_BI_U128=4881, +ENC_ST1D_Z_P_BR_=4882, +ENC_ST1D_Z_P_BR_U128=4883, +ENC_ST1D_Z_P_BZ_D_64_SCALED=4884, +ENC_ST1D_Z_P_BZ_D_64_UNSCALED=4885, +ENC_ST1D_Z_P_BZ_D_X32_SCALED=4886, +ENC_ST1D_Z_P_BZ_D_X32_UNSCALED=4887, +ENC_ST1D_ZA_P_RRR_=4888, +ENC_ST1H_MZ_P_BI_2=4889, +ENC_ST1H_MZ_P_BI_4=4890, +ENC_ST1H_MZ_P_BR_2=4891, +ENC_ST1H_MZ_P_BR_4=4892, +ENC_ST1H_MZX_P_BI_2X8=4893, +ENC_ST1H_MZX_P_BI_4X4=4894, +ENC_ST1H_MZX_P_BR_2X8=4895, +ENC_ST1H_MZX_P_BR_4X4=4896, +ENC_ST1H_Z_P_AI_D=4897, +ENC_ST1H_Z_P_AI_S=4898, +ENC_ST1H_Z_P_BI_=4899, +ENC_ST1H_Z_P_BR_=4900, +ENC_ST1H_Z_P_BZ_D_64_SCALED=4901, +ENC_ST1H_Z_P_BZ_D_64_UNSCALED=4902, +ENC_ST1H_Z_P_BZ_D_X32_SCALED=4903, +ENC_ST1H_Z_P_BZ_D_X32_UNSCALED=4904, +ENC_ST1H_Z_P_BZ_S_X32_SCALED=4905, +ENC_ST1H_Z_P_BZ_S_X32_UNSCALED=4906, +ENC_ST1H_ZA_P_RRR_=4907, +ENC_ST1Q_Z_P_AR_D_64_UNSCALED=4908, +ENC_ST1Q_ZA_P_RRR_=4909, +ENC_ST1W_MZ_P_BI_2=4910, +ENC_ST1W_MZ_P_BI_4=4911, +ENC_ST1W_MZ_P_BR_2=4912, +ENC_ST1W_MZ_P_BR_4=4913, +ENC_ST1W_MZX_P_BI_2X8=4914, +ENC_ST1W_MZX_P_BI_4X4=4915, +ENC_ST1W_MZX_P_BR_2X8=4916, +ENC_ST1W_MZX_P_BR_4X4=4917, +ENC_ST1W_Z_P_AI_D=4918, +ENC_ST1W_Z_P_AI_S=4919, +ENC_ST1W_Z_P_BI_=4920, +ENC_ST1W_Z_P_BI_U128=4921, +ENC_ST1W_Z_P_BR_=4922, +ENC_ST1W_Z_P_BR_U128=4923, +ENC_ST1W_Z_P_BZ_D_64_SCALED=4924, +ENC_ST1W_Z_P_BZ_D_64_UNSCALED=4925, +ENC_ST1W_Z_P_BZ_D_X32_SCALED=4926, +ENC_ST1W_Z_P_BZ_D_X32_UNSCALED=4927, +ENC_ST1W_Z_P_BZ_S_X32_SCALED=4928, +ENC_ST1W_Z_P_BZ_S_X32_UNSCALED=4929, +ENC_ST1W_ZA_P_RRR_=4930, +ENC_ST2B_Z_P_BI_CONTIGUOUS=4931, +ENC_ST2B_Z_P_BR_CONTIGUOUS=4932, +ENC_ST2D_Z_P_BI_CONTIGUOUS=4933, +ENC_ST2D_Z_P_BR_CONTIGUOUS=4934, +ENC_ST2H_Z_P_BI_CONTIGUOUS=4935, +ENC_ST2H_Z_P_BR_CONTIGUOUS=4936, +ENC_ST2Q_Z_P_BI_CONTIGUOUS=4937, +ENC_ST2Q_Z_P_BR_CONTIGUOUS=4938, +ENC_ST2W_Z_P_BI_CONTIGUOUS=4939, +ENC_ST2W_Z_P_BR_CONTIGUOUS=4940, +ENC_ST3B_Z_P_BI_CONTIGUOUS=4941, +ENC_ST3B_Z_P_BR_CONTIGUOUS=4942, +ENC_ST3D_Z_P_BI_CONTIGUOUS=4943, +ENC_ST3D_Z_P_BR_CONTIGUOUS=4944, +ENC_ST3H_Z_P_BI_CONTIGUOUS=4945, +ENC_ST3H_Z_P_BR_CONTIGUOUS=4946, +ENC_ST3Q_Z_P_BI_CONTIGUOUS=4947, +ENC_ST3Q_Z_P_BR_CONTIGUOUS=4948, +ENC_ST3W_Z_P_BI_CONTIGUOUS=4949, +ENC_ST3W_Z_P_BR_CONTIGUOUS=4950, +ENC_ST4B_Z_P_BI_CONTIGUOUS=4951, +ENC_ST4B_Z_P_BR_CONTIGUOUS=4952, +ENC_ST4D_Z_P_BI_CONTIGUOUS=4953, +ENC_ST4D_Z_P_BR_CONTIGUOUS=4954, +ENC_ST4H_Z_P_BI_CONTIGUOUS=4955, +ENC_ST4H_Z_P_BR_CONTIGUOUS=4956, +ENC_ST4Q_Z_P_BI_CONTIGUOUS=4957, +ENC_ST4Q_Z_P_BR_CONTIGUOUS=4958, +ENC_ST4W_Z_P_BI_CONTIGUOUS=4959, +ENC_ST4W_Z_P_BR_CONTIGUOUS=4960, +ENC_STMOPA_ZA32_ZZZI_H2X1=4961, +ENC_STMOPA_ZA_ZZZI_B2X1=4962, +ENC_STNT1B_MZ_P_BI_2=4963, +ENC_STNT1B_MZ_P_BI_4=4964, +ENC_STNT1B_MZ_P_BR_2=4965, +ENC_STNT1B_MZ_P_BR_4=4966, +ENC_STNT1B_MZX_P_BI_2X8=4967, +ENC_STNT1B_MZX_P_BI_4X4=4968, +ENC_STNT1B_MZX_P_BR_2X8=4969, +ENC_STNT1B_MZX_P_BR_4X4=4970, +ENC_STNT1B_Z_P_AR_D_64_UNSCALED=4971, +ENC_STNT1B_Z_P_AR_S_X32_UNSCALED=4972, +ENC_STNT1B_Z_P_BI_CONTIGUOUS=4973, +ENC_STNT1B_Z_P_BR_CONTIGUOUS=4974, +ENC_STNT1D_MZ_P_BI_2=4975, +ENC_STNT1D_MZ_P_BI_4=4976, +ENC_STNT1D_MZ_P_BR_2=4977, +ENC_STNT1D_MZ_P_BR_4=4978, +ENC_STNT1D_MZX_P_BI_2X8=4979, +ENC_STNT1D_MZX_P_BI_4X4=4980, +ENC_STNT1D_MZX_P_BR_2X8=4981, +ENC_STNT1D_MZX_P_BR_4X4=4982, +ENC_STNT1D_Z_P_AR_D_64_UNSCALED=4983, +ENC_STNT1D_Z_P_BI_CONTIGUOUS=4984, +ENC_STNT1D_Z_P_BR_CONTIGUOUS=4985, +ENC_STNT1H_MZ_P_BI_2=4986, +ENC_STNT1H_MZ_P_BI_4=4987, +ENC_STNT1H_MZ_P_BR_2=4988, +ENC_STNT1H_MZ_P_BR_4=4989, +ENC_STNT1H_MZX_P_BI_2X8=4990, +ENC_STNT1H_MZX_P_BI_4X4=4991, +ENC_STNT1H_MZX_P_BR_2X8=4992, +ENC_STNT1H_MZX_P_BR_4X4=4993, +ENC_STNT1H_Z_P_AR_D_64_UNSCALED=4994, +ENC_STNT1H_Z_P_AR_S_X32_UNSCALED=4995, +ENC_STNT1H_Z_P_BI_CONTIGUOUS=4996, +ENC_STNT1H_Z_P_BR_CONTIGUOUS=4997, +ENC_STNT1W_MZ_P_BI_2=4998, +ENC_STNT1W_MZ_P_BI_4=4999, +ENC_STNT1W_MZ_P_BR_2=5000, +ENC_STNT1W_MZ_P_BR_4=5001, +ENC_STNT1W_MZX_P_BI_2X8=5002, +ENC_STNT1W_MZX_P_BI_4X4=5003, +ENC_STNT1W_MZX_P_BR_2X8=5004, +ENC_STNT1W_MZX_P_BR_4X4=5005, +ENC_STNT1W_Z_P_AR_D_64_UNSCALED=5006, +ENC_STNT1W_Z_P_AR_S_X32_UNSCALED=5007, +ENC_STNT1W_Z_P_BI_CONTIGUOUS=5008, +ENC_STNT1W_Z_P_BR_CONTIGUOUS=5009, +ENC_STR_P_BI_=5010, +ENC_STR_Z_BI_=5011, +ENC_STR_ZA_RI_=5012, +ENC_STR_ZT_BR_=5013, +ENC_SUB_Z_P_ZZ_=5014, +ENC_SUB_Z_ZI_=5015, +ENC_SUB_Z_ZZ_=5016, +ENC_SUB_ZA_ZW_2X2=5017, +ENC_SUB_ZA_ZW_4X4=5018, +ENC_SUB_ZA_ZZV_2X1=5019, +ENC_SUB_ZA_ZZV_4X1=5020, +ENC_SUB_ZA_ZZW_2X2=5021, +ENC_SUB_ZA_ZZW_4X4=5022, +ENC_SUBHNB_Z_ZZ_=5023, +ENC_SUBHNT_Z_ZZ_=5024, +ENC_SUBP_Z_P_ZZ_=5025, +ENC_SUBPT_Z_P_ZZ_=5026, +ENC_SUBPT_Z_ZZ_=5027, +ENC_SUBR_Z_P_ZZ_=5028, +ENC_SUBR_Z_ZI_=5029, +ENC_SUDOT_Z_ZZZI_S=5030, +ENC_SUDOT_ZA_ZZI_S2XI=5031, +ENC_SUDOT_ZA_ZZI_S4XI=5032, +ENC_SUDOT_ZA_ZZV_S2X1=5033, +ENC_SUDOT_ZA_ZZV_S4X1=5034, +ENC_SUMLALL_ZA_ZZI_S=5035, +ENC_SUMLALL_ZA_ZZI_S2XI=5036, +ENC_SUMLALL_ZA_ZZI_S4XI=5037, +ENC_SUMLALL_ZA_ZZV_S2X1=5038, +ENC_SUMLALL_ZA_ZZV_S4X1=5039, +ENC_SUMOP4A_ZA_ZZ_B1X1=5040, +ENC_SUMOP4A_ZA_ZZ_B1X2=5041, +ENC_SUMOP4A_ZA_ZZ_B2X1=5042, +ENC_SUMOP4A_ZA_ZZ_B2X2=5043, +ENC_SUMOP4A_ZA_ZZ_H1X1=5044, +ENC_SUMOP4A_ZA_ZZ_H1X2=5045, +ENC_SUMOP4A_ZA_ZZ_H2X1=5046, +ENC_SUMOP4A_ZA_ZZ_H2X2=5047, +ENC_SUMOP4S_ZA_ZZ_B1X1=5048, +ENC_SUMOP4S_ZA_ZZ_B1X2=5049, +ENC_SUMOP4S_ZA_ZZ_B2X1=5050, +ENC_SUMOP4S_ZA_ZZ_B2X2=5051, +ENC_SUMOP4S_ZA_ZZ_H1X1=5052, +ENC_SUMOP4S_ZA_ZZ_H1X2=5053, +ENC_SUMOP4S_ZA_ZZ_H2X1=5054, +ENC_SUMOP4S_ZA_ZZ_H2X2=5055, +ENC_SUMOPA_ZA_PP_ZZ_32=5056, +ENC_SUMOPA_ZA_PP_ZZ_64=5057, +ENC_SUMOPS_ZA_PP_ZZ_32=5058, +ENC_SUMOPS_ZA_PP_ZZ_64=5059, +ENC_SUNPK_MZ_Z_2=5060, +ENC_SUNPK_MZ_Z_4=5061, +ENC_SUNPKHI_Z_Z_=5062, +ENC_SUNPKLO_Z_Z_=5063, +ENC_SUQADD_Z_P_ZZ_=5064, +ENC_SUTMOPA_ZA_ZZZI_B2X1=5065, +ENC_SUVDOT_ZA_ZZI_S4XI=5066, +ENC_SVDOT_ZA32_ZZI_2XI=5067, +ENC_SVDOT_ZA_ZZI_D4XI=5068, +ENC_SVDOT_ZA_ZZI_S4XI=5069, +ENC_SXTB_Z_P_Z_M=5070, +ENC_SXTB_Z_P_Z_Z=5071, +ENC_SXTH_Z_P_Z_M=5072, +ENC_SXTH_Z_P_Z_Z=5073, +ENC_SXTW_Z_P_Z_M=5074, +ENC_SXTW_Z_P_Z_Z=5075, +ENC_TBL_Z_ZZ_1=5076, +ENC_TBL_Z_ZZ_2=5077, +ENC_TBLQ_Z_ZZ_=5078, +ENC_TBX_Z_ZZ_=5079, +ENC_TBXQ_Z_ZZ_=5080, +ENC_TRN1_P_PP_=5081, +ENC_TRN1_Z_ZZ_=5082, +ENC_TRN1_Z_ZZ_Q=5083, +ENC_TRN2_P_PP_=5084, +ENC_TRN2_Z_ZZ_=5085, +ENC_TRN2_Z_ZZ_Q=5086, +ENC_UABA_Z_ZZZ_=5087, +ENC_UABAL_Z_ZZ_=5088, +ENC_UABALB_Z_ZZZ_=5089, +ENC_UABALT_Z_ZZZ_=5090, +ENC_UABD_Z_P_ZZ_=5091, +ENC_UABDLB_Z_ZZ_=5092, +ENC_UABDLT_Z_ZZ_=5093, +ENC_UADALP_Z_P_Z_=5094, +ENC_UADDLB_Z_ZZ_=5095, +ENC_UADDLT_Z_ZZ_=5096, +ENC_UADDV_R_P_Z_=5097, +ENC_UADDWB_Z_ZZ_=5098, +ENC_UADDWT_Z_ZZ_=5099, +ENC_UCLAMP_MZ_ZZ_2=5100, +ENC_UCLAMP_MZ_ZZ_4=5101, +ENC_UCLAMP_Z_ZZ_=5102, +ENC_UCVTF_MZ_Z_2=5103, +ENC_UCVTF_MZ_Z_4=5104, +ENC_UCVTF_Z_P_Z_H2FP16=5105, +ENC_UCVTF_Z_P_Z_H2FP16Z=5106, +ENC_UCVTF_Z_P_Z_W2D=5107, +ENC_UCVTF_Z_P_Z_W2DZ=5108, +ENC_UCVTF_Z_P_Z_W2FP16=5109, +ENC_UCVTF_Z_P_Z_W2FP16Z=5110, +ENC_UCVTF_Z_P_Z_W2S=5111, +ENC_UCVTF_Z_P_Z_W2SZ=5112, +ENC_UCVTF_Z_P_Z_X2D=5113, +ENC_UCVTF_Z_P_Z_X2DZ=5114, +ENC_UCVTF_Z_P_Z_X2FP16=5115, +ENC_UCVTF_Z_P_Z_X2FP16Z=5116, +ENC_UCVTF_Z_P_Z_X2S=5117, +ENC_UCVTF_Z_P_Z_X2SZ=5118, +ENC_UCVTF_Z_Z_=5119, +ENC_UCVTFLT_Z_Z_=5120, +ENC_UDIV_Z_P_ZZ_=5121, +ENC_UDIVR_Z_P_ZZ_=5122, +ENC_UDOT_Z16_ZZZ_H=5123, +ENC_UDOT_Z16_ZZZI_H=5124, +ENC_UDOT_Z32_ZZZ_=5125, +ENC_UDOT_Z32_ZZZI_=5126, +ENC_UDOT_Z_ZZZ_=5127, +ENC_UDOT_Z_ZZZI_D=5128, +ENC_UDOT_Z_ZZZI_S=5129, +ENC_UDOT_ZA32_ZZI_2XI=5130, +ENC_UDOT_ZA32_ZZI_4XI=5131, +ENC_UDOT_ZA32_ZZV_2X1=5132, +ENC_UDOT_ZA32_ZZV_4X1=5133, +ENC_UDOT_ZA32_ZZW_2X2=5134, +ENC_UDOT_ZA32_ZZW_4X4=5135, +ENC_UDOT_ZA_ZZI_D2XI=5136, +ENC_UDOT_ZA_ZZI_D4XI=5137, +ENC_UDOT_ZA_ZZI_S2XI=5138, +ENC_UDOT_ZA_ZZI_S4XI=5139, +ENC_UDOT_ZA_ZZV_2X1=5140, +ENC_UDOT_ZA_ZZV_4X1=5141, +ENC_UDOT_ZA_ZZW_2X2=5142, +ENC_UDOT_ZA_ZZW_4X4=5143, +ENC_UHADD_Z_P_ZZ_=5144, +ENC_UHSUB_Z_P_ZZ_=5145, +ENC_UHSUBR_Z_P_ZZ_=5146, +ENC_UMAX_MZ_ZZV_2X1=5147, +ENC_UMAX_MZ_ZZV_4X1=5148, +ENC_UMAX_MZ_ZZW_2X2=5149, +ENC_UMAX_MZ_ZZW_4X4=5150, +ENC_UMAX_Z_P_ZZ_=5151, +ENC_UMAX_Z_ZI_=5152, +ENC_UMAXP_Z_P_ZZ_=5153, +ENC_UMAXQV_Z_P_Z_=5154, +ENC_UMAXV_R_P_Z_=5155, +ENC_UMIN_MZ_ZZV_2X1=5156, +ENC_UMIN_MZ_ZZV_4X1=5157, +ENC_UMIN_MZ_ZZW_2X2=5158, +ENC_UMIN_MZ_ZZW_4X4=5159, +ENC_UMIN_Z_P_ZZ_=5160, +ENC_UMIN_Z_ZI_=5161, +ENC_UMINP_Z_P_ZZ_=5162, +ENC_UMINQV_Z_P_Z_=5163, +ENC_UMINV_R_P_Z_=5164, +ENC_UMLAL_ZA_ZZI_1=5165, +ENC_UMLAL_ZA_ZZI_2XI=5166, +ENC_UMLAL_ZA_ZZI_4XI=5167, +ENC_UMLAL_ZA_ZZV_1=5168, +ENC_UMLAL_ZA_ZZV_2X1=5169, +ENC_UMLAL_ZA_ZZV_4X1=5170, +ENC_UMLAL_ZA_ZZW_2X2=5171, +ENC_UMLAL_ZA_ZZW_4X4=5172, +ENC_UMLALB_Z_ZZZ_=5173, +ENC_UMLALB_Z_ZZZI_D=5174, +ENC_UMLALB_Z_ZZZI_S=5175, +ENC_UMLALL_ZA_ZZI_D=5176, +ENC_UMLALL_ZA_ZZI_D2XI=5177, +ENC_UMLALL_ZA_ZZI_D4XI=5178, +ENC_UMLALL_ZA_ZZI_S=5179, +ENC_UMLALL_ZA_ZZI_S2XI=5180, +ENC_UMLALL_ZA_ZZI_S4XI=5181, +ENC_UMLALL_ZA_ZZV_1=5182, +ENC_UMLALL_ZA_ZZV_2X1=5183, +ENC_UMLALL_ZA_ZZV_4X1=5184, +ENC_UMLALL_ZA_ZZW_2X2=5185, +ENC_UMLALL_ZA_ZZW_4X4=5186, +ENC_UMLALT_Z_ZZZ_=5187, +ENC_UMLALT_Z_ZZZI_D=5188, +ENC_UMLALT_Z_ZZZI_S=5189, +ENC_UMLSL_ZA_ZZI_1=5190, +ENC_UMLSL_ZA_ZZI_2XI=5191, +ENC_UMLSL_ZA_ZZI_4XI=5192, +ENC_UMLSL_ZA_ZZV_1=5193, +ENC_UMLSL_ZA_ZZV_2X1=5194, +ENC_UMLSL_ZA_ZZV_4X1=5195, +ENC_UMLSL_ZA_ZZW_2X2=5196, +ENC_UMLSL_ZA_ZZW_4X4=5197, +ENC_UMLSLB_Z_ZZZ_=5198, +ENC_UMLSLB_Z_ZZZI_D=5199, +ENC_UMLSLB_Z_ZZZI_S=5200, +ENC_UMLSLL_ZA_ZZI_D=5201, +ENC_UMLSLL_ZA_ZZI_D2XI=5202, +ENC_UMLSLL_ZA_ZZI_D4XI=5203, +ENC_UMLSLL_ZA_ZZI_S=5204, +ENC_UMLSLL_ZA_ZZI_S2XI=5205, +ENC_UMLSLL_ZA_ZZI_S4XI=5206, +ENC_UMLSLL_ZA_ZZV_1=5207, +ENC_UMLSLL_ZA_ZZV_2X1=5208, +ENC_UMLSLL_ZA_ZZV_4X1=5209, +ENC_UMLSLL_ZA_ZZW_2X2=5210, +ENC_UMLSLL_ZA_ZZW_4X4=5211, +ENC_UMLSLT_Z_ZZZ_=5212, +ENC_UMLSLT_Z_ZZZI_D=5213, +ENC_UMLSLT_Z_ZZZI_S=5214, +ENC_UMMLA_Z_ZZZ_=5215, +ENC_UMOP4A_ZA32_ZZ_H1X1=5216, +ENC_UMOP4A_ZA32_ZZ_H1X2=5217, +ENC_UMOP4A_ZA32_ZZ_H2X1=5218, +ENC_UMOP4A_ZA32_ZZ_H2X2=5219, +ENC_UMOP4A_ZA_ZZ_B1X1=5220, +ENC_UMOP4A_ZA_ZZ_B1X2=5221, +ENC_UMOP4A_ZA_ZZ_B2X1=5222, +ENC_UMOP4A_ZA_ZZ_B2X2=5223, +ENC_UMOP4A_ZA_ZZ_H1X1=5224, +ENC_UMOP4A_ZA_ZZ_H1X2=5225, +ENC_UMOP4A_ZA_ZZ_H2X1=5226, +ENC_UMOP4A_ZA_ZZ_H2X2=5227, +ENC_UMOP4S_ZA32_ZZ_H1X1=5228, +ENC_UMOP4S_ZA32_ZZ_H1X2=5229, +ENC_UMOP4S_ZA32_ZZ_H2X1=5230, +ENC_UMOP4S_ZA32_ZZ_H2X2=5231, +ENC_UMOP4S_ZA_ZZ_B1X1=5232, +ENC_UMOP4S_ZA_ZZ_B1X2=5233, +ENC_UMOP4S_ZA_ZZ_B2X1=5234, +ENC_UMOP4S_ZA_ZZ_B2X2=5235, +ENC_UMOP4S_ZA_ZZ_H1X1=5236, +ENC_UMOP4S_ZA_ZZ_H1X2=5237, +ENC_UMOP4S_ZA_ZZ_H2X1=5238, +ENC_UMOP4S_ZA_ZZ_H2X2=5239, +ENC_UMOPA_ZA32_PP_ZZ_16=5240, +ENC_UMOPA_ZA_PP_ZZ_32=5241, +ENC_UMOPA_ZA_PP_ZZ_64=5242, +ENC_UMOPS_ZA32_PP_ZZ_16=5243, +ENC_UMOPS_ZA_PP_ZZ_32=5244, +ENC_UMOPS_ZA_PP_ZZ_64=5245, +ENC_UMULH_Z_P_ZZ_=5246, +ENC_UMULH_Z_ZZ_=5247, +ENC_UMULLB_Z_ZZ_=5248, +ENC_UMULLB_Z_ZZI_D=5249, +ENC_UMULLB_Z_ZZI_S=5250, +ENC_UMULLT_Z_ZZ_=5251, +ENC_UMULLT_Z_ZZI_D=5252, +ENC_UMULLT_Z_ZZI_S=5253, +ENC_UQADD_Z_P_ZZ_=5254, +ENC_UQADD_Z_ZI_=5255, +ENC_UQADD_Z_ZZ_=5256, +ENC_UQCVT_Z_MZ2_=5257, +ENC_UQCVT_Z_MZ4_=5258, +ENC_UQCVTN_Z_MZ2_=5259, +ENC_UQCVTN_Z_MZ4_=5260, +ENC_UQDECB_R_RS_UW=5261, +ENC_UQDECB_R_RS_X=5262, +ENC_UQDECD_R_RS_UW=5263, +ENC_UQDECD_R_RS_X=5264, +ENC_UQDECD_Z_ZS_=5265, +ENC_UQDECH_R_RS_UW=5266, +ENC_UQDECH_R_RS_X=5267, +ENC_UQDECH_Z_ZS_=5268, +ENC_UQDECP_R_P_R_UW=5269, +ENC_UQDECP_R_P_R_X=5270, +ENC_UQDECP_Z_P_Z_=5271, +ENC_UQDECW_R_RS_UW=5272, +ENC_UQDECW_R_RS_X=5273, +ENC_UQDECW_Z_ZS_=5274, +ENC_UQINCB_R_RS_UW=5275, +ENC_UQINCB_R_RS_X=5276, +ENC_UQINCD_R_RS_UW=5277, +ENC_UQINCD_R_RS_X=5278, +ENC_UQINCD_Z_ZS_=5279, +ENC_UQINCH_R_RS_UW=5280, +ENC_UQINCH_R_RS_X=5281, +ENC_UQINCH_Z_ZS_=5282, +ENC_UQINCP_R_P_R_UW=5283, +ENC_UQINCP_R_P_R_X=5284, +ENC_UQINCP_Z_P_Z_=5285, +ENC_UQINCW_R_RS_UW=5286, +ENC_UQINCW_R_RS_X=5287, +ENC_UQINCW_Z_ZS_=5288, +ENC_UQRSHL_Z_P_ZZ_=5289, +ENC_UQRSHLR_Z_P_ZZ_=5290, +ENC_UQRSHR_Z_MZ2_=5291, +ENC_UQRSHR_Z_MZ4_=5292, +ENC_UQRSHRN_Z_MZ2_=5293, +ENC_UQRSHRN_Z_MZ2_B=5294, +ENC_UQRSHRN_Z_MZ4_=5295, +ENC_UQRSHRNB_Z_ZI_=5296, +ENC_UQRSHRNT_Z_ZI_=5297, +ENC_UQSHL_Z_P_ZI_=5298, +ENC_UQSHL_Z_P_ZZ_=5299, +ENC_UQSHLR_Z_P_ZZ_=5300, +ENC_UQSHRN_Z_MZ2_=5301, +ENC_UQSHRNB_Z_ZI_=5302, +ENC_UQSHRNT_Z_ZI_=5303, +ENC_UQSUB_Z_P_ZZ_=5304, +ENC_UQSUB_Z_ZI_=5305, +ENC_UQSUB_Z_ZZ_=5306, +ENC_UQSUBR_Z_P_ZZ_=5307, +ENC_UQXTNB_Z_ZZ_=5308, +ENC_UQXTNT_Z_ZZ_=5309, +ENC_URECPE_Z_P_Z_M=5310, +ENC_URECPE_Z_P_Z_Z=5311, +ENC_URHADD_Z_P_ZZ_=5312, +ENC_URSHL_MZ_ZZV_2X1=5313, +ENC_URSHL_MZ_ZZV_4X1=5314, +ENC_URSHL_MZ_ZZW_2X2=5315, +ENC_URSHL_MZ_ZZW_4X4=5316, +ENC_URSHL_Z_P_ZZ_=5317, +ENC_URSHLR_Z_P_ZZ_=5318, +ENC_URSHR_Z_P_ZI_=5319, +ENC_URSQRTE_Z_P_Z_M=5320, +ENC_URSQRTE_Z_P_Z_Z=5321, +ENC_URSRA_Z_ZI_=5322, +ENC_USDOT_Z_ZZZ_S=5323, +ENC_USDOT_Z_ZZZI_S=5324, +ENC_USDOT_ZA_ZZI_S2XI=5325, +ENC_USDOT_ZA_ZZI_S4XI=5326, +ENC_USDOT_ZA_ZZV_S2X1=5327, +ENC_USDOT_ZA_ZZV_S4X1=5328, +ENC_USDOT_ZA_ZZW_S2X2=5329, +ENC_USDOT_ZA_ZZW_S4X4=5330, +ENC_USHLLB_Z_ZI_=5331, +ENC_USHLLT_Z_ZI_=5332, +ENC_USMLALL_ZA_ZZI_S=5333, +ENC_USMLALL_ZA_ZZI_S2XI=5334, +ENC_USMLALL_ZA_ZZI_S4XI=5335, +ENC_USMLALL_ZA_ZZV_S=5336, +ENC_USMLALL_ZA_ZZV_S2X1=5337, +ENC_USMLALL_ZA_ZZV_S4X1=5338, +ENC_USMLALL_ZA_ZZW_S2X2=5339, +ENC_USMLALL_ZA_ZZW_S4X4=5340, +ENC_USMMLA_Z_ZZZ_=5341, +ENC_USMOP4A_ZA_ZZ_B1X1=5342, +ENC_USMOP4A_ZA_ZZ_B1X2=5343, +ENC_USMOP4A_ZA_ZZ_B2X1=5344, +ENC_USMOP4A_ZA_ZZ_B2X2=5345, +ENC_USMOP4A_ZA_ZZ_H1X1=5346, +ENC_USMOP4A_ZA_ZZ_H1X2=5347, +ENC_USMOP4A_ZA_ZZ_H2X1=5348, +ENC_USMOP4A_ZA_ZZ_H2X2=5349, +ENC_USMOP4S_ZA_ZZ_B1X1=5350, +ENC_USMOP4S_ZA_ZZ_B1X2=5351, +ENC_USMOP4S_ZA_ZZ_B2X1=5352, +ENC_USMOP4S_ZA_ZZ_B2X2=5353, +ENC_USMOP4S_ZA_ZZ_H1X1=5354, +ENC_USMOP4S_ZA_ZZ_H1X2=5355, +ENC_USMOP4S_ZA_ZZ_H2X1=5356, +ENC_USMOP4S_ZA_ZZ_H2X2=5357, +ENC_USMOPA_ZA_PP_ZZ_32=5358, +ENC_USMOPA_ZA_PP_ZZ_64=5359, +ENC_USMOPS_ZA_PP_ZZ_32=5360, +ENC_USMOPS_ZA_PP_ZZ_64=5361, +ENC_USQADD_Z_P_ZZ_=5362, +ENC_USRA_Z_ZI_=5363, +ENC_USTMOPA_ZA_ZZZI_B2X1=5364, +ENC_USUBLB_Z_ZZ_=5365, +ENC_USUBLT_Z_ZZ_=5366, +ENC_USUBWB_Z_ZZ_=5367, +ENC_USUBWT_Z_ZZ_=5368, +ENC_USVDOT_ZA_ZZI_S4XI=5369, +ENC_UTMOPA_ZA32_ZZZI_H2X1=5370, +ENC_UTMOPA_ZA_ZZZI_B2X1=5371, +ENC_UUNPK_MZ_Z_2=5372, +ENC_UUNPK_MZ_Z_4=5373, +ENC_UUNPKHI_Z_Z_=5374, +ENC_UUNPKLO_Z_Z_=5375, +ENC_UVDOT_ZA32_ZZI_2XI=5376, +ENC_UVDOT_ZA_ZZI_D4XI=5377, +ENC_UVDOT_ZA_ZZI_S4XI=5378, +ENC_UXTB_Z_P_Z_M=5379, +ENC_UXTB_Z_P_Z_Z=5380, +ENC_UXTH_Z_P_Z_M=5381, +ENC_UXTH_Z_P_Z_Z=5382, +ENC_UXTW_Z_P_Z_M=5383, +ENC_UXTW_Z_P_Z_Z=5384, +ENC_UZP1_P_PP_=5385, +ENC_UZP1_Z_ZZ_=5386, +ENC_UZP1_Z_ZZ_Q=5387, +ENC_UZP2_P_PP_=5388, +ENC_UZP2_Z_ZZ_=5389, +ENC_UZP2_Z_ZZ_Q=5390, +ENC_UZP_MZ_Z_4=5391, +ENC_UZP_MZ_Z_4Q=5392, +ENC_UZP_MZ_ZZ_2=5393, +ENC_UZP_MZ_ZZ_2Q=5394, +ENC_UZPQ1_Z_ZZ_=5395, +ENC_UZPQ2_Z_ZZ_=5396, +ENC_WHILEGE_P_P_RR_=5397, +ENC_WHILEGE_PN_RR_=5398, +ENC_WHILEGE_PP_RR_=5399, +ENC_WHILEGT_P_P_RR_=5400, +ENC_WHILEGT_PN_RR_=5401, +ENC_WHILEGT_PP_RR_=5402, +ENC_WHILEHI_P_P_RR_=5403, +ENC_WHILEHI_PN_RR_=5404, +ENC_WHILEHI_PP_RR_=5405, +ENC_WHILEHS_P_P_RR_=5406, +ENC_WHILEHS_PN_RR_=5407, +ENC_WHILEHS_PP_RR_=5408, +ENC_WHILELE_P_P_RR_=5409, +ENC_WHILELE_PN_RR_=5410, +ENC_WHILELE_PP_RR_=5411, +ENC_WHILELO_P_P_RR_=5412, +ENC_WHILELO_PN_RR_=5413, +ENC_WHILELO_PP_RR_=5414, +ENC_WHILELS_P_P_RR_=5415, +ENC_WHILELS_PN_RR_=5416, +ENC_WHILELS_PP_RR_=5417, +ENC_WHILELT_P_P_RR_=5418, +ENC_WHILELT_PN_RR_=5419, +ENC_WHILELT_PP_RR_=5420, +ENC_WHILERW_P_RR_=5421, +ENC_WHILEWR_P_RR_=5422, +ENC_WRFFR_F_P_=5423, +ENC_XAR_Z_ZZI_=5424, +ENC_ZERO_ZA1_RI_2=5425, +ENC_ZERO_ZA1_RI_4=5426, +ENC_ZERO_ZA2_RI_1=5427, +ENC_ZERO_ZA2_RI_2=5428, +ENC_ZERO_ZA2_RI_4=5429, +ENC_ZERO_ZA4_RI_1=5430, +ENC_ZERO_ZA4_RI_2=5431, +ENC_ZERO_ZA4_RI_4=5432, +ENC_ZERO_ZA_I_=5433, +ENC_ZERO_ZT_I_=5434, +ENC_ZIP1_P_PP_=5435, +ENC_ZIP1_Z_ZZ_=5436, +ENC_ZIP1_Z_ZZ_Q=5437, +ENC_ZIP2_P_PP_=5438, +ENC_ZIP2_Z_ZZ_=5439, +ENC_ZIP2_Z_ZZ_Q=5440, +ENC_ZIP_MZ_Z_4=5441, +ENC_ZIP_MZ_Z_4Q=5442, +ENC_ZIP_MZ_ZZ_2=5443, +ENC_ZIP_MZ_ZZ_2Q=5444, +ENC_ZIPQ1_Z_ZZ_=5445, +ENC_ZIPQ2_Z_ZZ_=5446, }; enum Operation enc_to_oper(enum ENCODING); enum Operation enc_to_oper2(enum ENCODING); diff --git a/arch/arm64/disassembler/encodings_fmt.c b/arch/arm64/disassembler/encodings_fmt.c index 1aeb1abe9..a2bfd9a8b 100644 --- a/arch/arm64/disassembler/encodings_fmt.c +++ b/arch/arm64/disassembler/encodings_fmt.c @@ -695,9 +695,11 @@ const char *enc_to_str(enum ENCODING enc) case ENC_FDIV_ASIMDSAME_ONLY: return "FDIV_asimdsame_only"; case ENC_FDIV_ASIMDSAMEFP16_ONLY: return "FDIV_asimdsamefp16_only"; case ENC_FDOT_ASIMDELEM_D: return "FDOT_asimdelem_D"; + case ENC_FDOT_ASIMDELEM_FP16FP32: return "FDOT_asimdelem_FP16FP32"; case ENC_FDOT_ASIMDELEM_G: return "FDOT_asimdelem_G"; case ENC_FDOT_ASIMDSAME2_D: return "FDOT_asimdsame2_D"; case ENC_FDOT_ASIMDSAME2_DD: return "FDOT_asimdsame2_DD"; + case ENC_FDOT_ASIMDSAME2_FP16FP32: return "FDOT_asimdsame2_FP16FP32"; case ENC_FJCVTZS_32D_FLOAT2INT: return "FJCVTZS_32D_float2int"; case ENC_FMADD_D_FLOATDP3: return "FMADD_D_floatdp3"; case ENC_FMADD_H_FLOATDP3: return "FMADD_H_floatdp3"; @@ -778,6 +780,8 @@ const char *enc_to_str(enum ENCODING enc) case ENC_FMLS_ASIMDSAMEFP16_ONLY: return "FMLS_asimdsamefp16_only"; case ENC_FMLS_ASISDELEM_RH_H: return "FMLS_asisdelem_RH_H"; case ENC_FMLS_ASISDELEM_R_SD: return "FMLS_asisdelem_R_SD"; + case ENC_FMMLA_ASIMD_FP16FP16: return "FMMLA_asimd_FP16FP16"; + case ENC_FMMLA_ASIMD_FP16FP32: return "FMMLA_asimd_FP16FP32"; case ENC_FMMLA_ASIMD_FP8FP16: return "FMMLA_asimd_FP8FP16"; case ENC_FMMLA_ASIMD_FP8FP32: return "FMMLA_asimd_FP8FP32"; case ENC_FMOV_32H_FLOAT2INT: return "FMOV_32H_float2int"; @@ -920,7 +924,10 @@ const char *enc_to_str(enum ENCODING enc) case ENC_GCSSS2_SYSL_RC_SYSTEMINSTRS: return "GCSSS2_SYSL_RC_systeminstrs"; case ENC_GCSSTR_64_LDST_GCS: return "GCSSTR_64_ldst_gcs"; case ENC_GCSSTTR_64_LDST_GCS: return "GCSSTTR_64_ldst_gcs"; + case ENC_GICR_SYSL_RC_SYSTEMINSTRS: return "GICR_SYSL_RC_systeminstrs"; + case ENC_GIC_SYS_CR_SYSTEMINSTRS: return "GIC_SYS_CR_systeminstrs"; case ENC_GMI_64G_DP_2SRC: return "GMI_64G_dp_2src"; + case ENC_GSB_SYS_CR_SYSTEMINSTRS: return "GSB_SYS_CR_systeminstrs"; case ENC_HINT_HM_HINTS: return "HINT_HM_hints"; case ENC_HLT_EX_EXCEPTION: return "HLT_EX_exception"; case ENC_HVC_EX_EXCEPTION: return "HVC_EX_exception"; @@ -1028,6 +1035,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_LDADD_32_MEMOP: return "LDADD_32_memop"; case ENC_LDADD_64_MEMOP: return "LDADD_64_memop"; case ENC_LDAP1_ASISDLSO_D1: return "LDAP1_asisdlso_D1"; + case ENC_LDAPP_64_LDIAPPSTILP: return "LDAPP_64_ldiappstilp"; case ENC_LDAPRB_32L_MEMOP: return "LDAPRB_32L_memop"; case ENC_LDAPRH_32L_MEMOP: return "LDAPRH_32L_memop"; case ENC_LDAPR_32L_LDAPSTL_WRITEBACK: return "LDAPR_32L_ldapstl_writeback"; @@ -1048,6 +1056,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_LDAPUR_H_LDAPSTL_SIMD: return "LDAPUR_H_ldapstl_simd"; case ENC_LDAPUR_Q_LDAPSTL_SIMD: return "LDAPUR_Q_ldapstl_simd"; case ENC_LDAPUR_S_LDAPSTL_SIMD: return "LDAPUR_S_ldapstl_simd"; + case ENC_LDAP_64_LDIAPPSTILP: return "LDAP_64_ldiappstilp"; case ENC_LDARB_LR32_LDSTORD: return "LDARB_LR32_ldstord"; case ENC_LDARH_LR32_LDSTORD: return "LDARH_LR32_ldstord"; case ENC_LDAR_LR32_LDSTORD: return "LDAR_LR32_ldstord"; @@ -1447,6 +1456,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_MADD_64A_DP_3SRC: return "MADD_64A_dp_3src"; case ENC_MLA_ASIMDELEM_R: return "MLA_asimdelem_R"; case ENC_MLA_ASIMDSAME_ONLY: return "MLA_asimdsame_only"; + case ENC_MLBI_SYS_CR_SYSTEMINSTRS: return "MLBI_SYS_CR_systeminstrs"; case ENC_MLS_ASIMDELEM_R: return "MLS_asimdelem_R"; case ENC_MLS_ASIMDSAME_ONLY: return "MLS_asimdsame_only"; case ENC_MNEG_MSUB_32A_DP_3SRC: return "MNEG_MSUB_32A_dp_3src"; @@ -1738,6 +1748,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_SHL_ASISDSHF_R: return "SHL_asisdshf_R"; case ENC_SHRN_ASIMDSHF_N: return "SHRN_asimdshf_N"; case ENC_SHSUB_ASIMDSAME_ONLY: return "SHSUB_asimdsame_only"; + case ENC_SHUH_HI_HINTS: return "SHUH_HI_hints"; case ENC_SLI_ASIMDSHF_R: return "SLI_asimdshf_R"; case ENC_SLI_ASISDSHF_R: return "SLI_asisdshf_R"; case ENC_SM3PARTW1_VVV4_CRYPTOSHA512_3: return "SM3PARTW1_VVV4_cryptosha512_3"; @@ -1956,6 +1967,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_STCLRL_LDCLRL_64_MEMOP: return "STCLRL_LDCLRL_64_memop"; case ENC_STCLR_LDCLR_32_MEMOP: return "STCLR_LDCLR_32_memop"; case ENC_STCLR_LDCLR_64_MEMOP: return "STCLR_LDCLR_64_memop"; + case ENC_STCPH_HI_HINTS: return "STCPH_HI_hints"; case ENC_STEORB_LDEORB_32_MEMOP: return "STEORB_LDEORB_32_memop"; case ENC_STEORH_LDEORH_32_MEMOP: return "STEORH_LDEORH_32_memop"; case ENC_STEORLB_LDEORLB_32_MEMOP: return "STEORLB_LDEORLB_32_memop"; @@ -2010,6 +2022,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_STLLRH_SL32_LDSTORD: return "STLLRH_SL32_ldstord"; case ENC_STLLR_SL32_LDSTORD: return "STLLR_SL32_ldstord"; case ENC_STLLR_SL64_LDSTORD: return "STLLR_SL64_ldstord"; + case ENC_STLP_64_LDIAPPSTILP: return "STLP_64_ldiappstilp"; case ENC_STLRB_SL32_LDSTORD: return "STLRB_SL32_ldstord"; case ENC_STLRH_SL32_LDSTORD: return "STLRH_SL32_ldstord"; case ENC_STLR_32S_LDAPSTL_WRITEBACK: return "STLR_32S_ldapstl_writeback"; @@ -2250,20 +2263,16 @@ const char *enc_to_str(enum ENCODING enc) case ENC_TBX_ASIMDTBL_L3_3: return "TBX_asimdtbl_L3_3"; case ENC_TBX_ASIMDTBL_L4_4: return "TBX_asimdtbl_L4_4"; case ENC_TBZ_ONLY_TESTBRANCH: return "TBZ_only_testbranch"; - case ENC_TCANCEL_EX_EXCEPTION: return "TCANCEL_EX_exception"; - case ENC_TCOMMIT_ONLY_BARRIERS: return "TCOMMIT_only_barriers"; case ENC_TLBIP_SYSP_CR_SYSPAIRINSTRS: return "TLBIP_SYSP_CR_syspairinstrs"; case ENC_TLBI_SYS_CR_SYSTEMINSTRS: return "TLBI_SYS_CR_systeminstrs"; case ENC_TRCIT_SYS_CR_SYSTEMINSTRS: return "TRCIT_SYS_CR_systeminstrs"; case ENC_TRN1_ASIMDPERM_ONLY: return "TRN1_asimdperm_only"; case ENC_TRN2_ASIMDPERM_ONLY: return "TRN2_asimdperm_only"; case ENC_TSB_HC_HINTS: return "TSB_HC_hints"; - case ENC_TSTART_BR_SYSTEMRESULT: return "TSTART_BR_systemresult"; case ENC_TST_ANDS_32S_LOG_IMM: return "TST_ANDS_32S_log_imm"; case ENC_TST_ANDS_32_LOG_SHIFT: return "TST_ANDS_32_log_shift"; case ENC_TST_ANDS_64S_LOG_IMM: return "TST_ANDS_64S_log_imm"; case ENC_TST_ANDS_64_LOG_SHIFT: return "TST_ANDS_64_log_shift"; - case ENC_TTEST_BR_SYSTEMRESULT: return "TTEST_BR_systemresult"; case ENC_UABAL_ASIMDDIFF_L: return "UABAL_asimddiff_L"; case ENC_UABA_ASIMDSAME_ONLY: return "UABA_asimdsame_only"; case ENC_UABDL_ASIMDDIFF_L: return "UABDL_asimddiff_L"; @@ -2351,23 +2360,23 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1012_DP_2SRC: return "UNALLOCATED_1012_dp_2src"; case ENC_UNALLOCATED_1013_DP_2SRC: return "UNALLOCATED_1013_dp_2src"; case ENC_UNALLOCATED_1014_DP_2SRC: return "UNALLOCATED_1014_dp_2src"; - case ENC_UNALLOCATED_1015_DP_3SRC: return "UNALLOCATED_1015_dp_3src"; + case ENC_UNALLOCATED_1015_DP_2SRC: return "UNALLOCATED_1015_dp_2src"; case ENC_UNALLOCATED_1016_DP_3SRC: return "UNALLOCATED_1016_dp_3src"; case ENC_UNALLOCATED_1017_DP_3SRC: return "UNALLOCATED_1017_dp_3src"; case ENC_UNALLOCATED_1018_DP_3SRC: return "UNALLOCATED_1018_dp_3src"; case ENC_UNALLOCATED_1019_DP_3SRC: return "UNALLOCATED_1019_dp_3src"; case ENC_UNALLOCATED_1020_DP_3SRC: return "UNALLOCATED_1020_dp_3src"; - case ENC_UNALLOCATED_1021_SETF: return "UNALLOCATED_1021_setf"; + case ENC_UNALLOCATED_1021_DP_3SRC: return "UNALLOCATED_1021_dp_3src"; case ENC_UNALLOCATED_1022_SETF: return "UNALLOCATED_1022_setf"; case ENC_UNALLOCATED_1023_SETF: return "UNALLOCATED_1023_setf"; case ENC_UNALLOCATED_1024_SETF: return "UNALLOCATED_1024_setf"; case ENC_UNALLOCATED_1025_SETF: return "UNALLOCATED_1025_setf"; case ENC_UNALLOCATED_1026_SETF: return "UNALLOCATED_1026_setf"; - case ENC_UNALLOCATED_1027_RMIF: return "UNALLOCATED_1027_rmif"; + case ENC_UNALLOCATED_1027_SETF: return "UNALLOCATED_1027_setf"; case ENC_UNALLOCATED_1028_RMIF: return "UNALLOCATED_1028_rmif"; case ENC_UNALLOCATED_1029_RMIF: return "UNALLOCATED_1029_rmif"; case ENC_UNALLOCATED_1030_RMIF: return "UNALLOCATED_1030_rmif"; - case ENC_UNALLOCATED_1031_ASIMDALL: return "UNALLOCATED_1031_asimdall"; + case ENC_UNALLOCATED_1031_RMIF: return "UNALLOCATED_1031_rmif"; case ENC_UNALLOCATED_1032_ASIMDALL: return "UNALLOCATED_1032_asimdall"; case ENC_UNALLOCATED_1033_ASIMDALL: return "UNALLOCATED_1033_asimdall"; case ENC_UNALLOCATED_1034_ASIMDALL: return "UNALLOCATED_1034_asimdall"; @@ -2382,7 +2391,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1043_ASIMDALL: return "UNALLOCATED_1043_asimdall"; case ENC_UNALLOCATED_1044_ASIMDALL: return "UNALLOCATED_1044_asimdall"; case ENC_UNALLOCATED_1045_ASIMDALL: return "UNALLOCATED_1045_asimdall"; - case ENC_UNALLOCATED_1046_ASIMDINS: return "UNALLOCATED_1046_asimdins"; + case ENC_UNALLOCATED_1046_ASIMDALL: return "UNALLOCATED_1046_asimdall"; case ENC_UNALLOCATED_1047_ASIMDINS: return "UNALLOCATED_1047_asimdins"; case ENC_UNALLOCATED_1048_ASIMDINS: return "UNALLOCATED_1048_asimdins"; case ENC_UNALLOCATED_1049_ASIMDINS: return "UNALLOCATED_1049_asimdins"; @@ -2391,14 +2400,14 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1052_ASIMDINS: return "UNALLOCATED_1052_asimdins"; case ENC_UNALLOCATED_1053_ASIMDINS: return "UNALLOCATED_1053_asimdins"; case ENC_UNALLOCATED_1054_ASIMDINS: return "UNALLOCATED_1054_asimdins"; - case ENC_UNALLOCATED_1055_ASIMDEXT: return "UNALLOCATED_1055_asimdext"; - case ENC_UNALLOCATED_1056_ASIMDIMM: return "UNALLOCATED_1056_asimdimm"; + case ENC_UNALLOCATED_1055_ASIMDINS: return "UNALLOCATED_1055_asimdins"; + case ENC_UNALLOCATED_1056_ASIMDEXT: return "UNALLOCATED_1056_asimdext"; case ENC_UNALLOCATED_1057_ASIMDIMM: return "UNALLOCATED_1057_asimdimm"; case ENC_UNALLOCATED_1058_ASIMDIMM: return "UNALLOCATED_1058_asimdimm"; - case ENC_UNALLOCATED_1059_ASIMDPERM: return "UNALLOCATED_1059_asimdperm"; - case ENC_UNALLOCATED_1060_ASISDONE: return "UNALLOCATED_1060_asisdone"; + case ENC_UNALLOCATED_1059_ASIMDIMM: return "UNALLOCATED_1059_asimdimm"; + case ENC_UNALLOCATED_1060_ASIMDPERM: return "UNALLOCATED_1060_asimdperm"; case ENC_UNALLOCATED_1061_ASISDONE: return "UNALLOCATED_1061_asisdone"; - case ENC_UNALLOCATED_1062_ASISDPAIR: return "UNALLOCATED_1062_asisdpair"; + case ENC_UNALLOCATED_1062_ASISDONE: return "UNALLOCATED_1062_asisdone"; case ENC_UNALLOCATED_1063_ASISDPAIR: return "UNALLOCATED_1063_asisdpair"; case ENC_UNALLOCATED_1064_ASISDPAIR: return "UNALLOCATED_1064_asisdpair"; case ENC_UNALLOCATED_1065_ASISDPAIR: return "UNALLOCATED_1065_asisdpair"; @@ -2410,7 +2419,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1071_ASISDPAIR: return "UNALLOCATED_1071_asisdpair"; case ENC_UNALLOCATED_1072_ASISDPAIR: return "UNALLOCATED_1072_asisdpair"; case ENC_UNALLOCATED_1073_ASISDPAIR: return "UNALLOCATED_1073_asisdpair"; - case ENC_UNALLOCATED_1074_ASISDSHF: return "UNALLOCATED_1074_asisdshf"; + case ENC_UNALLOCATED_1074_ASISDPAIR: return "UNALLOCATED_1074_asisdpair"; case ENC_UNALLOCATED_1075_ASISDSHF: return "UNALLOCATED_1075_asisdshf"; case ENC_UNALLOCATED_1076_ASISDSHF: return "UNALLOCATED_1076_asisdshf"; case ENC_UNALLOCATED_1077_ASISDSHF: return "UNALLOCATED_1077_asisdshf"; @@ -2427,11 +2436,11 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1088_ASISDSHF: return "UNALLOCATED_1088_asisdshf"; case ENC_UNALLOCATED_1089_ASISDSHF: return "UNALLOCATED_1089_asisdshf"; case ENC_UNALLOCATED_1090_ASISDSHF: return "UNALLOCATED_1090_asisdshf"; - case ENC_UNALLOCATED_1091_ASISDDIFF: return "UNALLOCATED_1091_asisddiff"; + case ENC_UNALLOCATED_1091_ASISDSHF: return "UNALLOCATED_1091_asisdshf"; case ENC_UNALLOCATED_1092_ASISDDIFF: return "UNALLOCATED_1092_asisddiff"; case ENC_UNALLOCATED_1093_ASISDDIFF: return "UNALLOCATED_1093_asisddiff"; case ENC_UNALLOCATED_1094_ASISDDIFF: return "UNALLOCATED_1094_asisddiff"; - case ENC_UNALLOCATED_1095_ASISDSAME: return "UNALLOCATED_1095_asisdsame"; + case ENC_UNALLOCATED_1095_ASISDDIFF: return "UNALLOCATED_1095_asisddiff"; case ENC_UNALLOCATED_1096_ASISDSAME: return "UNALLOCATED_1096_asisdsame"; case ENC_UNALLOCATED_1097_ASISDSAME: return "UNALLOCATED_1097_asisdsame"; case ENC_UNALLOCATED_1098_ASISDSAME: return "UNALLOCATED_1098_asisdsame"; @@ -2466,11 +2475,11 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1127_ASISDSAMEFP16: return "UNALLOCATED_1127_asisdsamefp16"; case ENC_UNALLOCATED_1128_ASISDSAMEFP16: return "UNALLOCATED_1128_asisdsamefp16"; case ENC_UNALLOCATED_1129_ASISDSAMEFP16: return "UNALLOCATED_1129_asisdsamefp16"; - case ENC_UNALLOCATED_1130_ASISDSAME2: return "UNALLOCATED_1130_asisdsame2"; + case ENC_UNALLOCATED_1130_ASISDSAMEFP16: return "UNALLOCATED_1130_asisdsamefp16"; case ENC_UNALLOCATED_1131_ASISDSAME2: return "UNALLOCATED_1131_asisdsame2"; case ENC_UNALLOCATED_1132_ASISDSAME2: return "UNALLOCATED_1132_asisdsame2"; case ENC_UNALLOCATED_1133_ASISDSAME2: return "UNALLOCATED_1133_asisdsame2"; - case ENC_UNALLOCATED_1134_ASISDMISC: return "UNALLOCATED_1134_asisdmisc"; + case ENC_UNALLOCATED_1134_ASISDSAME2: return "UNALLOCATED_1134_asisdsame2"; case ENC_UNALLOCATED_1135_ASISDMISC: return "UNALLOCATED_1135_asisdmisc"; case ENC_UNALLOCATED_1136_ASISDMISC: return "UNALLOCATED_1136_asisdmisc"; case ENC_UNALLOCATED_1137_ASISDMISC: return "UNALLOCATED_1137_asisdmisc"; @@ -2488,8 +2497,8 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1149_ASISDMISC: return "UNALLOCATED_1149_asisdmisc"; case ENC_UNALLOCATED_1150_ASISDMISC: return "UNALLOCATED_1150_asisdmisc"; case ENC_UNALLOCATED_1151_ASISDMISC: return "UNALLOCATED_1151_asisdmisc"; - case ENC_UNALLOCATED_1152_ASISDMISCFP16: return "UNALLOCATED_1152_asisdmiscfp16"; - case ENC_UNALLOCATED_1153_ASISDMISCFP16: return "UNALLOCATED_1153_asisdmiscfp16"; + case ENC_UNALLOCATED_1152_ASISDMISC: return "UNALLOCATED_1152_asisdmisc"; + case ENC_UNALLOCATED_1153_ASISDMISC: return "UNALLOCATED_1153_asisdmisc"; case ENC_UNALLOCATED_1154_ASISDMISCFP16: return "UNALLOCATED_1154_asisdmiscfp16"; case ENC_UNALLOCATED_1155_ASISDMISCFP16: return "UNALLOCATED_1155_asisdmiscfp16"; case ENC_UNALLOCATED_1156_ASISDMISCFP16: return "UNALLOCATED_1156_asisdmiscfp16"; @@ -2498,35 +2507,35 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1159_ASISDMISCFP16: return "UNALLOCATED_1159_asisdmiscfp16"; case ENC_UNALLOCATED_1160_ASISDMISCFP16: return "UNALLOCATED_1160_asisdmiscfp16"; case ENC_UNALLOCATED_1161_ASISDMISCFP16: return "UNALLOCATED_1161_asisdmiscfp16"; - case ENC_UNALLOCATED_1162_ASISDELEM: return "UNALLOCATED_1162_asisdelem"; - case ENC_UNALLOCATED_1163_ASISDELEM: return "UNALLOCATED_1163_asisdelem"; + case ENC_UNALLOCATED_1162_ASISDMISCFP16: return "UNALLOCATED_1162_asisdmiscfp16"; + case ENC_UNALLOCATED_1163_ASISDMISCFP16: return "UNALLOCATED_1163_asisdmiscfp16"; case ENC_UNALLOCATED_1164_ASISDELEM: return "UNALLOCATED_1164_asisdelem"; case ENC_UNALLOCATED_1165_ASISDELEM: return "UNALLOCATED_1165_asisdelem"; case ENC_UNALLOCATED_1166_ASISDELEM: return "UNALLOCATED_1166_asisdelem"; case ENC_UNALLOCATED_1167_ASISDELEM: return "UNALLOCATED_1167_asisdelem"; case ENC_UNALLOCATED_1168_ASISDELEM: return "UNALLOCATED_1168_asisdelem"; case ENC_UNALLOCATED_1169_ASISDELEM: return "UNALLOCATED_1169_asisdelem"; - case ENC_UNALLOCATED_1170_ASIMDSHF: return "UNALLOCATED_1170_asimdshf"; - case ENC_UNALLOCATED_1171_ASIMDSHF: return "UNALLOCATED_1171_asimdshf"; + case ENC_UNALLOCATED_1170_ASISDELEM: return "UNALLOCATED_1170_asisdelem"; + case ENC_UNALLOCATED_1171_ASISDELEM: return "UNALLOCATED_1171_asisdelem"; case ENC_UNALLOCATED_1172_ASIMDSHF: return "UNALLOCATED_1172_asimdshf"; case ENC_UNALLOCATED_1173_ASIMDSHF: return "UNALLOCATED_1173_asimdshf"; case ENC_UNALLOCATED_1174_ASIMDSHF: return "UNALLOCATED_1174_asimdshf"; case ENC_UNALLOCATED_1175_ASIMDSHF: return "UNALLOCATED_1175_asimdshf"; - case ENC_UNALLOCATED_1176_ASIMDTBL: return "UNALLOCATED_1176_asimdtbl"; - case ENC_UNALLOCATED_1177_ASIMDTBL: return "UNALLOCATED_1177_asimdtbl"; + case ENC_UNALLOCATED_1176_ASIMDSHF: return "UNALLOCATED_1176_asimdshf"; + case ENC_UNALLOCATED_1177_ASIMDSHF: return "UNALLOCATED_1177_asimdshf"; case ENC_UNALLOCATED_1178_ASIMDTBL: return "UNALLOCATED_1178_asimdtbl"; - case ENC_UNALLOCATED_1179_ASIMDDIFF: return "UNALLOCATED_1179_asimddiff"; - case ENC_UNALLOCATED_1180_ASIMDDIFF: return "UNALLOCATED_1180_asimddiff"; + case ENC_UNALLOCATED_1179_ASIMDTBL: return "UNALLOCATED_1179_asimdtbl"; + case ENC_UNALLOCATED_1180_ASIMDTBL: return "UNALLOCATED_1180_asimdtbl"; case ENC_UNALLOCATED_1181_ASIMDDIFF: return "UNALLOCATED_1181_asimddiff"; - case ENC_UNALLOCATED_1182_ASIMDSAME: return "UNALLOCATED_1182_asimdsame"; - case ENC_UNALLOCATED_1183_ASIMDSAME: return "UNALLOCATED_1183_asimdsame"; + case ENC_UNALLOCATED_1182_ASIMDDIFF: return "UNALLOCATED_1182_asimddiff"; + case ENC_UNALLOCATED_1183_ASIMDDIFF: return "UNALLOCATED_1183_asimddiff"; case ENC_UNALLOCATED_1184_ASIMDSAME: return "UNALLOCATED_1184_asimdsame"; case ENC_UNALLOCATED_1185_ASIMDSAME: return "UNALLOCATED_1185_asimdsame"; - case ENC_UNALLOCATED_1186_ASIMDSAMEFP16: return "UNALLOCATED_1186_asimdsamefp16"; - case ENC_UNALLOCATED_1187_ASIMDSAMEFP16: return "UNALLOCATED_1187_asimdsamefp16"; + case ENC_UNALLOCATED_1186_ASIMDSAME: return "UNALLOCATED_1186_asimdsame"; + case ENC_UNALLOCATED_1187_ASIMDSAME: return "UNALLOCATED_1187_asimdsame"; case ENC_UNALLOCATED_1188_ASIMDSAMEFP16: return "UNALLOCATED_1188_asimdsamefp16"; - case ENC_UNALLOCATED_1189_ASIMDSAME2: return "UNALLOCATED_1189_asimdsame2"; - case ENC_UNALLOCATED_1190_ASIMDSAME2: return "UNALLOCATED_1190_asimdsame2"; + case ENC_UNALLOCATED_1189_ASIMDSAMEFP16: return "UNALLOCATED_1189_asimdsamefp16"; + case ENC_UNALLOCATED_1190_ASIMDSAMEFP16: return "UNALLOCATED_1190_asimdsamefp16"; case ENC_UNALLOCATED_1191_ASIMDSAME2: return "UNALLOCATED_1191_asimdsame2"; case ENC_UNALLOCATED_1192_ASIMDSAME2: return "UNALLOCATED_1192_asimdsame2"; case ENC_UNALLOCATED_1193_ASIMDSAME2: return "UNALLOCATED_1193_asimdsame2"; @@ -2544,7 +2553,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1205_ASIMDSAME2: return "UNALLOCATED_1205_asimdsame2"; case ENC_UNALLOCATED_1206_ASIMDSAME2: return "UNALLOCATED_1206_asimdsame2"; case ENC_UNALLOCATED_1207_ASIMDSAME2: return "UNALLOCATED_1207_asimdsame2"; - case ENC_UNALLOCATED_1208_ASIMDMISC: return "UNALLOCATED_1208_asimdmisc"; + case ENC_UNALLOCATED_1208_ASIMDSAME2: return "UNALLOCATED_1208_asimdsame2"; case ENC_UNALLOCATED_1209_ASIMDMISC: return "UNALLOCATED_1209_asimdmisc"; case ENC_UNALLOCATED_1210_ASIMDMISC: return "UNALLOCATED_1210_asimdmisc"; case ENC_UNALLOCATED_1211_ASIMDMISC: return "UNALLOCATED_1211_asimdmisc"; @@ -2557,7 +2566,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1218_ASIMDMISC: return "UNALLOCATED_1218_asimdmisc"; case ENC_UNALLOCATED_1219_ASIMDMISC: return "UNALLOCATED_1219_asimdmisc"; case ENC_UNALLOCATED_1220_ASIMDMISC: return "UNALLOCATED_1220_asimdmisc"; - case ENC_UNALLOCATED_1221_ASIMDMISCFP16: return "UNALLOCATED_1221_asimdmiscfp16"; + case ENC_UNALLOCATED_1221_ASIMDMISC: return "UNALLOCATED_1221_asimdmisc"; case ENC_UNALLOCATED_1222_ASIMDMISCFP16: return "UNALLOCATED_1222_asimdmiscfp16"; case ENC_UNALLOCATED_1223_ASIMDMISCFP16: return "UNALLOCATED_1223_asimdmiscfp16"; case ENC_UNALLOCATED_1224_ASIMDMISCFP16: return "UNALLOCATED_1224_asimdmiscfp16"; @@ -2565,19 +2574,19 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1226_ASIMDMISCFP16: return "UNALLOCATED_1226_asimdmiscfp16"; case ENC_UNALLOCATED_1227_ASIMDMISCFP16: return "UNALLOCATED_1227_asimdmiscfp16"; case ENC_UNALLOCATED_1228_ASIMDMISCFP16: return "UNALLOCATED_1228_asimdmiscfp16"; - case ENC_UNALLOCATED_1229_ASIMDELEM: return "UNALLOCATED_1229_asimdelem"; + case ENC_UNALLOCATED_1229_ASIMDMISCFP16: return "UNALLOCATED_1229_asimdmiscfp16"; case ENC_UNALLOCATED_1230_ASIMDELEM: return "UNALLOCATED_1230_asimdelem"; case ENC_UNALLOCATED_1231_ASIMDELEM: return "UNALLOCATED_1231_asimdelem"; case ENC_UNALLOCATED_1232_ASIMDELEM: return "UNALLOCATED_1232_asimdelem"; case ENC_UNALLOCATED_1233_ASIMDELEM: return "UNALLOCATED_1233_asimdelem"; case ENC_UNALLOCATED_1234_ASIMDELEM: return "UNALLOCATED_1234_asimdelem"; - case ENC_UNALLOCATED_1235_FLOAT2FIX: return "UNALLOCATED_1235_float2fix"; + case ENC_UNALLOCATED_1235_ASIMDELEM: return "UNALLOCATED_1235_asimdelem"; case ENC_UNALLOCATED_1236_FLOAT2FIX: return "UNALLOCATED_1236_float2fix"; case ENC_UNALLOCATED_1237_FLOAT2FIX: return "UNALLOCATED_1237_float2fix"; case ENC_UNALLOCATED_1238_FLOAT2FIX: return "UNALLOCATED_1238_float2fix"; case ENC_UNALLOCATED_1239_FLOAT2FIX: return "UNALLOCATED_1239_float2fix"; case ENC_UNALLOCATED_1240_FLOAT2FIX: return "UNALLOCATED_1240_float2fix"; - case ENC_UNALLOCATED_1241_FLOAT2INT: return "UNALLOCATED_1241_float2int"; + case ENC_UNALLOCATED_1241_FLOAT2FIX: return "UNALLOCATED_1241_float2fix"; case ENC_UNALLOCATED_1242_FLOAT2INT: return "UNALLOCATED_1242_float2int"; case ENC_UNALLOCATED_1243_FLOAT2INT: return "UNALLOCATED_1243_float2int"; case ENC_UNALLOCATED_1244_FLOAT2INT: return "UNALLOCATED_1244_float2int"; @@ -2594,34 +2603,34 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1255_FLOAT2INT: return "UNALLOCATED_1255_float2int"; case ENC_UNALLOCATED_1256_FLOAT2INT: return "UNALLOCATED_1256_float2int"; case ENC_UNALLOCATED_1257_FLOAT2INT: return "UNALLOCATED_1257_float2int"; - case ENC_UNALLOCATED_1258_CRYPTOAES: return "UNALLOCATED_1258_cryptoaes"; + case ENC_UNALLOCATED_1258_FLOAT2INT: return "UNALLOCATED_1258_float2int"; case ENC_UNALLOCATED_1259_CRYPTOAES: return "UNALLOCATED_1259_cryptoaes"; case ENC_UNALLOCATED_1260_CRYPTOAES: return "UNALLOCATED_1260_cryptoaes"; case ENC_UNALLOCATED_1261_CRYPTOAES: return "UNALLOCATED_1261_cryptoaes"; - case ENC_UNALLOCATED_1262_CRYPTO4: return "UNALLOCATED_1262_crypto4"; - case ENC_UNALLOCATED_1263_CRYPTOSHA3: return "UNALLOCATED_1263_cryptosha3"; + case ENC_UNALLOCATED_1262_CRYPTOAES: return "UNALLOCATED_1262_cryptoaes"; + case ENC_UNALLOCATED_1263_CRYPTO4: return "UNALLOCATED_1263_crypto4"; case ENC_UNALLOCATED_1264_CRYPTOSHA3: return "UNALLOCATED_1264_cryptosha3"; - case ENC_UNALLOCATED_1265_CRYPTOSHA512_3: return "UNALLOCATED_1265_cryptosha512_3"; - case ENC_UNALLOCATED_1266_CRYPTOSHA2: return "UNALLOCATED_1266_cryptosha2"; + case ENC_UNALLOCATED_1265_CRYPTOSHA3: return "UNALLOCATED_1265_cryptosha3"; + case ENC_UNALLOCATED_1266_CRYPTOSHA512_3: return "UNALLOCATED_1266_cryptosha512_3"; case ENC_UNALLOCATED_1267_CRYPTOSHA2: return "UNALLOCATED_1267_cryptosha2"; case ENC_UNALLOCATED_1268_CRYPTOSHA2: return "UNALLOCATED_1268_cryptosha2"; case ENC_UNALLOCATED_1269_CRYPTOSHA2: return "UNALLOCATED_1269_cryptosha2"; case ENC_UNALLOCATED_1270_CRYPTOSHA2: return "UNALLOCATED_1270_cryptosha2"; - case ENC_UNALLOCATED_1271_CRYPTOSHA512_2: return "UNALLOCATED_1271_cryptosha512_2"; - case ENC_UNALLOCATED_1272_FLOATCMP: return "UNALLOCATED_1272_floatcmp"; + case ENC_UNALLOCATED_1271_CRYPTOSHA2: return "UNALLOCATED_1271_cryptosha2"; + case ENC_UNALLOCATED_1272_CRYPTOSHA512_2: return "UNALLOCATED_1272_cryptosha512_2"; case ENC_UNALLOCATED_1273_FLOATCMP: return "UNALLOCATED_1273_floatcmp"; case ENC_UNALLOCATED_1274_FLOATCMP: return "UNALLOCATED_1274_floatcmp"; case ENC_UNALLOCATED_1275_FLOATCMP: return "UNALLOCATED_1275_floatcmp"; case ENC_UNALLOCATED_1276_FLOATCMP: return "UNALLOCATED_1276_floatcmp"; case ENC_UNALLOCATED_1277_FLOATCMP: return "UNALLOCATED_1277_floatcmp"; case ENC_UNALLOCATED_1278_FLOATCMP: return "UNALLOCATED_1278_floatcmp"; - case ENC_UNALLOCATED_1279_FLOATCCMP: return "UNALLOCATED_1279_floatccmp"; + case ENC_UNALLOCATED_1279_FLOATCMP: return "UNALLOCATED_1279_floatcmp"; case ENC_UNALLOCATED_1280_FLOATCCMP: return "UNALLOCATED_1280_floatccmp"; case ENC_UNALLOCATED_1281_FLOATCCMP: return "UNALLOCATED_1281_floatccmp"; - case ENC_UNALLOCATED_1282_FLOATSEL: return "UNALLOCATED_1282_floatsel"; + case ENC_UNALLOCATED_1282_FLOATCCMP: return "UNALLOCATED_1282_floatccmp"; case ENC_UNALLOCATED_1283_FLOATSEL: return "UNALLOCATED_1283_floatsel"; case ENC_UNALLOCATED_1284_FLOATSEL: return "UNALLOCATED_1284_floatsel"; - case ENC_UNALLOCATED_1285_FLOATDP1: return "UNALLOCATED_1285_floatdp1"; + case ENC_UNALLOCATED_1285_FLOATSEL: return "UNALLOCATED_1285_floatsel"; case ENC_UNALLOCATED_1286_FLOATDP1: return "UNALLOCATED_1286_floatdp1"; case ENC_UNALLOCATED_1287_FLOATDP1: return "UNALLOCATED_1287_floatdp1"; case ENC_UNALLOCATED_1288_FLOATDP1: return "UNALLOCATED_1288_floatdp1"; @@ -2632,379 +2641,383 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_1293_FLOATDP1: return "UNALLOCATED_1293_floatdp1"; case ENC_UNALLOCATED_1294_FLOATDP1: return "UNALLOCATED_1294_floatdp1"; case ENC_UNALLOCATED_1295_FLOATDP1: return "UNALLOCATED_1295_floatdp1"; - case ENC_UNALLOCATED_1296_FLOATDP2: return "UNALLOCATED_1296_floatdp2"; + case ENC_UNALLOCATED_1296_FLOATDP1: return "UNALLOCATED_1296_floatdp1"; case ENC_UNALLOCATED_1297_FLOATDP2: return "UNALLOCATED_1297_floatdp2"; case ENC_UNALLOCATED_1298_FLOATDP2: return "UNALLOCATED_1298_floatdp2"; case ENC_UNALLOCATED_1299_FLOATDP2: return "UNALLOCATED_1299_floatdp2"; case ENC_UNALLOCATED_1300_FLOATDP2: return "UNALLOCATED_1300_floatdp2"; case ENC_UNALLOCATED_1301_FLOATDP2: return "UNALLOCATED_1301_floatdp2"; - case ENC_UNALLOCATED_1302_FLOATDP3: return "UNALLOCATED_1302_floatdp3"; + case ENC_UNALLOCATED_1302_FLOATDP2: return "UNALLOCATED_1302_floatdp2"; case ENC_UNALLOCATED_1303_FLOATDP3: return "UNALLOCATED_1303_floatdp3"; case ENC_UNALLOCATED_1304_FLOATDP3: return "UNALLOCATED_1304_floatdp3"; - case ENC_UNALLOCATED_1305_FLOATIMM: return "UNALLOCATED_1305_floatimm"; + case ENC_UNALLOCATED_1305_FLOATDP3: return "UNALLOCATED_1305_floatdp3"; case ENC_UNALLOCATED_1306_FLOATIMM: return "UNALLOCATED_1306_floatimm"; case ENC_UNALLOCATED_1307_FLOATIMM: return "UNALLOCATED_1307_floatimm"; case ENC_UNALLOCATED_1308_FLOATIMM: return "UNALLOCATED_1308_floatimm"; - case ENC_UNALLOCATED_481_SVE_INT_TERN_LOG: return "UNALLOCATED_481_sve_int_tern_log"; - case ENC_UNALLOCATED_482_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_482_sve_int_bin_pred_shift_0"; - case ENC_UNALLOCATED_483_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_483_sve_int_bin_pred_shift_0"; - case ENC_UNALLOCATED_484_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_484_sve_int_bin_pred_shift_0"; - case ENC_UNALLOCATED_485_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_485_sve_int_bin_pred_shift_0"; - case ENC_UNALLOCATED_486_SVE_INT_BIN_PRED_SHIFT_1: return "UNALLOCATED_486_sve_int_bin_pred_shift_1"; - case ENC_UNALLOCATED_487_SVE_INT_BIN_PRED_SHIFT_2: return "UNALLOCATED_487_sve_int_bin_pred_shift_2"; - case ENC_UNALLOCATED_488_SVE_INT_BIN_PRED_SHIFT_2: return "UNALLOCATED_488_sve_int_bin_pred_shift_2"; - case ENC_UNALLOCATED_489_SVE_INT_BIN_CONS_SHIFT_A: return "UNALLOCATED_489_sve_int_bin_cons_shift_a"; - case ENC_UNALLOCATED_490_SVE_INT_BIN_CONS_SHIFT_B: return "UNALLOCATED_490_sve_int_bin_cons_shift_b"; - case ENC_UNALLOCATED_491_SVE_INT_COUNTVLV0: return "UNALLOCATED_491_sve_int_countvlv0"; - case ENC_UNALLOCATED_492_SVE_INT_COUNTVLV1: return "UNALLOCATED_492_sve_int_countvlv1"; - case ENC_UNALLOCATED_493_SVE_INT_COUNT: return "UNALLOCATED_493_sve_int_count"; - case ENC_UNALLOCATED_494_SVE_INT_COUNT_V_SAT: return "UNALLOCATED_494_sve_int_count_v_sat"; - case ENC_UNALLOCATED_495_SVE_INT_COUNT_V: return "UNALLOCATED_495_sve_int_count_v"; - case ENC_UNALLOCATED_496_SVE_INT_COUNT_V: return "UNALLOCATED_496_sve_int_count_v"; - case ENC_UNALLOCATED_497_SVE_INT_COUNT_R_SAT: return "UNALLOCATED_497_sve_int_count_r_sat"; - case ENC_UNALLOCATED_498_SVE_INT_COUNT_R: return "UNALLOCATED_498_sve_int_count_r"; - case ENC_UNALLOCATED_499_SVE_INT_COUNT_R: return "UNALLOCATED_499_sve_int_count_r"; - case ENC_UNALLOCATED_500_SVE_INT_BIN_CONS_ARIT_0: return "UNALLOCATED_500_sve_int_bin_cons_arit_0"; - case ENC_UNALLOCATED_501_SVE_INT_BIN_PRED_ARIT_0: return "UNALLOCATED_501_sve_int_bin_pred_arit_0"; - case ENC_UNALLOCATED_502_SVE_INT_BIN_PRED_ARIT_0: return "UNALLOCATED_502_sve_int_bin_pred_arit_0"; - case ENC_UNALLOCATED_503_SVE_INT_BIN_PRED_ARIT_0: return "UNALLOCATED_503_sve_int_bin_pred_arit_0"; - case ENC_UNALLOCATED_504_SVE_INT_BIN_PRED_ARIT_1: return "UNALLOCATED_504_sve_int_bin_pred_arit_1"; - case ENC_UNALLOCATED_505_SVE_INT_BIN_PRED_ARIT_2: return "UNALLOCATED_505_sve_int_bin_pred_arit_2"; - case ENC_UNALLOCATED_506_SVE_INT_BIN_PRED_LOG: return "UNALLOCATED_506_sve_int_bin_pred_log"; - case ENC_UNALLOCATED_507_SVE_INT_CTERM: return "UNALLOCATED_507_sve_int_cterm"; - case ENC_UNALLOCATED_508_SVE_INT_SCMP_VI: return "UNALLOCATED_508_sve_int_scmp_vi"; - case ENC_UNALLOCATED_509_SVE_INT_BIN_CONS_MISC_0_B: return "UNALLOCATED_509_sve_int_bin_cons_misc_0_b"; - case ENC_UNALLOCATED_510_SVE_INT_BIN_CONS_MISC_0_C: return "UNALLOCATED_510_sve_int_bin_cons_misc_0_c"; - case ENC_UNALLOCATED_511_SVE_INT_BIN_CONS_MISC_0_D: return "UNALLOCATED_511_sve_int_bin_cons_misc_0_d"; - case ENC_UNALLOCATED_512_SVE_INT_BIN_CONS_MISC_0_D: return "UNALLOCATED_512_sve_int_bin_cons_misc_0_d"; - case ENC_UNALLOCATED_513_SVE_INTX_DOT: return "UNALLOCATED_513_sve_intx_dot"; - case ENC_UNALLOCATED_514_SVE_INTX_MIXED_DOT: return "UNALLOCATED_514_sve_intx_mixed_dot"; - case ENC_UNALLOCATED_515_SVE_INT_REDUCE_0: return "UNALLOCATED_515_sve_int_reduce_0"; - case ENC_UNALLOCATED_516_SVE_INT_REDUCE_0Q: return "UNALLOCATED_516_sve_int_reduce_0q"; - case ENC_UNALLOCATED_517_SVE_INT_REDUCE_0Q: return "UNALLOCATED_517_sve_int_reduce_0q"; - case ENC_UNALLOCATED_518_SVE_INT_MOVPRFX_PRED: return "UNALLOCATED_518_sve_int_movprfx_pred"; - case ENC_UNALLOCATED_519_SVE_INT_REDUCE_2: return "UNALLOCATED_519_sve_int_reduce_2"; - case ENC_UNALLOCATED_520_SVE_INT_REDUCE_2Q: return "UNALLOCATED_520_sve_int_reduce_2q"; - case ENC_UNALLOCATED_521_SVE_INT_UN_PRED_ARIT_1: return "UNALLOCATED_521_sve_int_un_pred_arit_1"; - case ENC_UNALLOCATED_522_SVE_INT_ARITH_IMM0: return "UNALLOCATED_522_sve_int_arith_imm0"; - case ENC_UNALLOCATED_523_SVE_INT_ARITH_IMM1: return "UNALLOCATED_523_sve_int_arith_imm1"; - case ENC_UNALLOCATED_524_SVE_INT_ARITH_IMM1: return "UNALLOCATED_524_sve_int_arith_imm1"; - case ENC_UNALLOCATED_525_SVE_INT_ARITH_IMM2: return "UNALLOCATED_525_sve_int_arith_imm2"; - case ENC_UNALLOCATED_526_SVE_INT_ARITH_IMM2: return "UNALLOCATED_526_sve_int_arith_imm2"; - case ENC_UNALLOCATED_527_SVE_INT_DUP_IMM: return "UNALLOCATED_527_sve_int_dup_imm"; - case ENC_UNALLOCATED_528_SVE_INT_DUP_FPIMM: return "UNALLOCATED_528_sve_int_dup_fpimm"; - case ENC_UNALLOCATED_529_SVE_INT_DUP_FPIMM: return "UNALLOCATED_529_sve_int_dup_fpimm"; - case ENC_UNALLOCATED_530_SVE_MEM_32B_GLD_VS: return "UNALLOCATED_530_sve_mem_32b_gld_vs"; - case ENC_UNALLOCATED_531_SVE_MEM_32B_GLD_SV_B: return "UNALLOCATED_531_sve_mem_32b_gld_sv_b"; - case ENC_UNALLOCATED_532_SVE_MEM_32B_GLDNT_VS: return "UNALLOCATED_532_sve_mem_32b_gldnt_vs"; - case ENC_UNALLOCATED_533_SVE_MEM_32B_GLDNT_VS: return "UNALLOCATED_533_sve_mem_32b_gldnt_vs"; - case ENC_UNALLOCATED_534_SVE_MEM_PRFM_SS: return "UNALLOCATED_534_sve_mem_prfm_ss"; - case ENC_UNALLOCATED_535_SVE_MEM_32B_GLD_VI: return "UNALLOCATED_535_sve_mem_32b_gld_vi"; - case ENC_UNALLOCATED_536_SVE_MEM_32B_GLD_VI: return "UNALLOCATED_536_sve_mem_32b_gld_vi"; - case ENC_UNALLOCATED_537_SVE_MEM_64B_GLD_VS: return "UNALLOCATED_537_sve_mem_64b_gld_vs"; - case ENC_UNALLOCATED_538_SVE_MEM_64B_GLD_SV: return "UNALLOCATED_538_sve_mem_64b_gld_sv"; - case ENC_UNALLOCATED_539_SVE_MEM_64B_GLDNT_VS: return "UNALLOCATED_539_sve_mem_64b_gldnt_vs"; - case ENC_UNALLOCATED_540_SVE_MEM_64B_GLD_VI: return "UNALLOCATED_540_sve_mem_64b_gld_vi"; - case ENC_UNALLOCATED_541_SVE_MEM_64B_GLD_VS2: return "UNALLOCATED_541_sve_mem_64b_gld_vs2"; - case ENC_UNALLOCATED_542_SVE_MEM_64B_GLD_SV2: return "UNALLOCATED_542_sve_mem_64b_gld_sv2"; - case ENC_UNALLOCATED_543_SVE_MEM_LDQR_SS: return "UNALLOCATED_543_sve_mem_ldqr_ss"; - case ENC_UNALLOCATED_544_SVE_MEM_LDQR_SS: return "UNALLOCATED_544_sve_mem_ldqr_ss"; - case ENC_UNALLOCATED_545_SVE_MEM_LDQR_SI: return "UNALLOCATED_545_sve_mem_ldqr_si"; - case ENC_UNALLOCATED_546_SVE_MEM_CLD_SI_Q: return "UNALLOCATED_546_sve_mem_cld_si_q"; - case ENC_UNALLOCATED_547_SVE_MEM_CLD_SS: return "UNALLOCATED_547_sve_mem_cld_ss"; - case ENC_UNALLOCATED_548_SVE_MEM_CLD_SS_Q: return "UNALLOCATED_548_sve_mem_cld_ss_q"; - case ENC_UNALLOCATED_549_SVE_MEM_CLD_SS_Q: return "UNALLOCATED_549_sve_mem_cld_ss_q"; - case ENC_UNALLOCATED_550_SVE_MEM_ELDQ_SS: return "UNALLOCATED_550_sve_mem_eldq_ss"; - case ENC_UNALLOCATED_551_SVE_MEM_ELDQ_SS: return "UNALLOCATED_551_sve_mem_eldq_ss"; - case ENC_UNALLOCATED_552_SVE_MEM_CLDNT_SS: return "UNALLOCATED_552_sve_mem_cldnt_ss"; - case ENC_UNALLOCATED_553_SVE_MEM_ELD_SS: return "UNALLOCATED_553_sve_mem_eld_ss"; - case ENC_UNALLOCATED_554_SVE_MEM_ELDQ_SI: return "UNALLOCATED_554_sve_mem_eldq_si"; - case ENC_UNALLOCATED_555_SVE_MEM_ESTQ_SI: return "UNALLOCATED_555_sve_mem_estq_si"; - case ENC_UNALLOCATED_556_SVE_MEM_ESTQ_SS: return "UNALLOCATED_556_sve_mem_estq_ss"; - case ENC_UNALLOCATED_557_SVE_MEM_ESTQ_SS: return "UNALLOCATED_557_sve_mem_estq_ss"; - case ENC_UNALLOCATED_558_SVE_MEM_CST_SS: return "UNALLOCATED_558_sve_mem_cst_ss"; - case ENC_UNALLOCATED_559_SVE_MEM_CST_SS: return "UNALLOCATED_559_sve_mem_cst_ss"; - case ENC_UNALLOCATED_560_SVE_MEM_CST_SS: return "UNALLOCATED_560_sve_mem_cst_ss"; - case ENC_UNALLOCATED_561_SVE_MEM_CST_SS: return "UNALLOCATED_561_sve_mem_cst_ss"; - case ENC_UNALLOCATED_562_SVE_MEM_CST_SS: return "UNALLOCATED_562_sve_mem_cst_ss"; - case ENC_UNALLOCATED_563_SVE_MEM_CST_SI: return "UNALLOCATED_563_sve_mem_cst_si"; - case ENC_UNALLOCATED_564_SVE_MEM_CST_SI: return "UNALLOCATED_564_sve_mem_cst_si"; - case ENC_UNALLOCATED_565_SVE_MEM_CSTNT_SS: return "UNALLOCATED_565_sve_mem_cstnt_ss"; - case ENC_UNALLOCATED_566_SVE_MEM_EST_SS: return "UNALLOCATED_566_sve_mem_est_ss"; - case ENC_UNALLOCATED_567_SVE_MEM_SSTNT_32B_VS: return "UNALLOCATED_567_sve_mem_sstnt_32b_vs"; - case ENC_UNALLOCATED_568_SVE_MEM_SST_SV2: return "UNALLOCATED_568_sve_mem_sst_sv2"; - case ENC_UNALLOCATED_569_SVE_MEM_SST_VI_B: return "UNALLOCATED_569_sve_mem_sst_vi_b"; - case ENC_UNALLOCATED_570_SVE_MEM_SST_VS_B: return "UNALLOCATED_570_sve_mem_sst_vs_b"; - case ENC_UNALLOCATED_571_SVE_MEM_SST_SV_A: return "UNALLOCATED_571_sve_mem_sst_sv_a"; - case ENC_UNALLOCATED_572_SVE_MEM_SST_SV_B: return "UNALLOCATED_572_sve_mem_sst_sv_b"; - case ENC_UNALLOCATED_573_SVE_MEM_SST_SV_B: return "UNALLOCATED_573_sve_mem_sst_sv_b"; - case ENC_UNALLOCATED_574_SVE_INTX_CLONG: return "UNALLOCATED_574_sve_intx_clong"; - case ENC_UNALLOCATED_575_SVE_INTX_MMLA: return "UNALLOCATED_575_sve_intx_mmla"; - case ENC_UNALLOCATED_576_SVE_INTX_PERM_BIT: return "UNALLOCATED_576_sve_intx_perm_bit"; - case ENC_UNALLOCATED_577_SVE_INTX_DOT_BY_INDEXED_ELEM: return "UNALLOCATED_577_sve_intx_dot_by_indexed_elem"; - case ENC_UNALLOCATED_578_SVE_INTX_MIXED_DOT_BY_INDEXED_ELEM: return "UNALLOCATED_578_sve_intx_mixed_dot_by_indexed_elem"; - case ENC_UNALLOCATED_579_SVE_INTX_QDMLA_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_579_sve_intx_qdmla_long_by_indexed_elem"; - case ENC_UNALLOCATED_580_SVE_INTX_CDOT_BY_INDEXED_ELEM: return "UNALLOCATED_580_sve_intx_cdot_by_indexed_elem"; - case ENC_UNALLOCATED_581_SVE_INTX_CMLA_BY_INDEXED_ELEM: return "UNALLOCATED_581_sve_intx_cmla_by_indexed_elem"; - case ENC_UNALLOCATED_582_SVE_INTX_QRDCMLA_BY_INDEXED_ELEM: return "UNALLOCATED_582_sve_intx_qrdcmla_by_indexed_elem"; - case ENC_UNALLOCATED_583_SVE_INTX_MLA_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_583_sve_intx_mla_long_by_indexed_elem"; - case ENC_UNALLOCATED_584_SVE_INTX_MUL_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_584_sve_intx_mul_long_by_indexed_elem"; - case ENC_UNALLOCATED_585_SVE_INTX_QDMUL_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_585_sve_intx_qdmul_long_by_indexed_elem"; - case ENC_UNALLOCATED_586_SVE_INT_BREAK: return "UNALLOCATED_586_sve_int_break"; - case ENC_UNALLOCATED_587_SVE_INT_PERM_BIN_PERM_PP: return "UNALLOCATED_587_sve_int_perm_bin_perm_pp"; - case ENC_UNALLOCATED_588_SVE_INT_PERM_BIN_PERM_ZZ: return "UNALLOCATED_588_sve_int_perm_bin_perm_zz"; - case ENC_UNALLOCATED_589_SVE_INT_PERM_REVD: return "UNALLOCATED_589_sve_int_perm_revd"; - case ENC_UNALLOCATED_590_SVE_INT_PERM_BIN_LONG_PERM_ZZ: return "UNALLOCATED_590_sve_int_perm_bin_long_perm_zz"; - case ENC_UNALLOCATED_591_SVE_INT_PERM_BINQUADS: return "UNALLOCATED_591_sve_int_perm_binquads"; - case ENC_UNALLOCATED_592_SVE_INT_PERM_BINQUADS: return "UNALLOCATED_592_sve_int_perm_binquads"; - case ENC_UNALLOCATED_593_SVE_INT_MOV_V2P: return "UNALLOCATED_593_sve_int_mov_v2p"; - case ENC_UNALLOCATED_594_SVE_INT_MOV_P2V: return "UNALLOCATED_594_sve_int_mov_p2v"; - case ENC_UNALLOCATED_595_SVE_INT_PCOUNT_PRED: return "UNALLOCATED_595_sve_int_pcount_pred"; - case ENC_UNALLOCATED_596_SVE_INT_PCOUNT_PRED: return "UNALLOCATED_596_sve_int_pcount_pred"; - case ENC_UNALLOCATED_597_SVE_INT_PCOUNT_PN: return "UNALLOCATED_597_sve_int_pcount_pn"; - case ENC_UNALLOCATED_598_SVE_INT_PRED_LOG: return "UNALLOCATED_598_sve_int_pred_log"; - case ENC_UNALLOCATED_599_SVE_INT_PTEST: return "UNALLOCATED_599_sve_int_ptest"; - case ENC_UNALLOCATED_600_SVE_INT_PTEST: return "UNALLOCATED_600_sve_int_ptest"; - case ENC_UNALLOCATED_601_SVE_INT_PTEST: return "UNALLOCATED_601_sve_int_ptest"; - case ENC_UNALLOCATED_602_SVE_INT_PFIRST: return "UNALLOCATED_602_sve_int_pfirst"; - case ENC_UNALLOCATED_603_SVE_INT_PFIRST: return "UNALLOCATED_603_sve_int_pfirst"; - case ENC_UNALLOCATED_604_SVE_INT_PFALSE: return "UNALLOCATED_604_sve_int_pfalse"; - case ENC_UNALLOCATED_605_SVE_INT_PFALSE: return "UNALLOCATED_605_sve_int_pfalse"; - case ENC_UNALLOCATED_606_SVE_INT_RDFFR: return "UNALLOCATED_606_sve_int_rdffr"; - case ENC_UNALLOCATED_607_SVE_INT_RDFFR_2: return "UNALLOCATED_607_sve_int_rdffr_2"; - case ENC_UNALLOCATED_608_SVE_INT_RDFFR_2: return "UNALLOCATED_608_sve_int_rdffr_2"; - case ENC_UNALLOCATED_609_SVE_INT_PRED_DUP: return "UNALLOCATED_609_sve_int_pred_dup"; - case ENC_UNALLOCATED_610_SVE_INT_BRKP: return "UNALLOCATED_610_sve_int_brkp"; - case ENC_UNALLOCATED_611_SVE_INT_CTR_TO_MASK: return "UNALLOCATED_611_sve_int_ctr_to_mask"; - case ENC_UNALLOCATED_612_SVE_INT_READ_VL_A: return "UNALLOCATED_612_sve_int_read_vl_a"; - case ENC_UNALLOCATED_613_SVE_INT_READ_VL_A: return "UNALLOCATED_613_sve_int_read_vl_a"; - case ENC_UNALLOCATED_614_SVE_INT_READ_SVL_A: return "UNALLOCATED_614_sve_int_read_svl_a"; - case ENC_UNALLOCATED_615_SVE_INT_READ_SVL_A: return "UNALLOCATED_615_sve_int_read_svl_a"; - case ENC_UNALLOCATED_616_SVE_INT_WRFFR: return "UNALLOCATED_616_sve_int_wrffr"; - case ENC_UNALLOCATED_617_SVE_INT_SETFFR: return "UNALLOCATED_617_sve_int_setffr"; - case ENC_UNALLOCATED_618_SVE_FP_2OP_P_VD: return "UNALLOCATED_618_sve_fp_2op_p_vd"; - case ENC_UNALLOCATED_619_SVE_FP_2OP_P_ZDS: return "UNALLOCATED_619_sve_fp_2op_p_zds"; - case ENC_UNALLOCATED_620_SVE_FP_3OP_U_ZD: return "UNALLOCATED_620_sve_fp_3op_u_zd"; - case ENC_UNALLOCATED_621_SVE_FP_3OP_P_PD: return "UNALLOCATED_621_sve_fp_3op_p_pd"; - case ENC_UNALLOCATED_622_SVE_FP_2OP_P_PD: return "UNALLOCATED_622_sve_fp_2op_p_pd"; - case ENC_UNALLOCATED_623_SVE_FP_FCMLA_BY_INDEXED_ELEM: return "UNALLOCATED_623_sve_fp_fcmla_by_indexed_elem"; - case ENC_UNALLOCATED_624_SVE_FP_FCVT2Z: return "UNALLOCATED_624_sve_fp_fcvt2z"; - case ENC_UNALLOCATED_625_SVE_FP_FCVT2Z: return "UNALLOCATED_625_sve_fp_fcvt2z"; - case ENC_UNALLOCATED_626_SVE_FP_FCVT2Z: return "UNALLOCATED_626_sve_fp_fcvt2z"; - case ENC_UNALLOCATED_627_SVE_FP_FCVT2Z: return "UNALLOCATED_627_sve_fp_fcvt2z"; - case ENC_UNALLOCATED_628_SVE_FP_FCVT2: return "UNALLOCATED_628_sve_fp_fcvt2"; - case ENC_UNALLOCATED_629_SVE_FP_FCVT2: return "UNALLOCATED_629_sve_fp_fcvt2"; - case ENC_UNALLOCATED_630_SVE_FP_FCVT2: return "UNALLOCATED_630_sve_fp_fcvt2"; - case ENC_UNALLOCATED_631_SVE_FP_FCVT2: return "UNALLOCATED_631_sve_fp_fcvt2"; - case ENC_UNALLOCATED_632_SVE_FP_FAST_RED: return "UNALLOCATED_632_sve_fp_fast_red"; - case ENC_UNALLOCATED_633_SVE_FP_FAST_RED: return "UNALLOCATED_633_sve_fp_fast_red"; - case ENC_UNALLOCATED_634_SVE_FP_FAST_REDQ: return "UNALLOCATED_634_sve_fp_fast_redq"; - case ENC_UNALLOCATED_635_SVE_FP_FAST_REDQ: return "UNALLOCATED_635_sve_fp_fast_redq"; - case ENC_UNALLOCATED_636_SVE_FP_FMUL_BY_INDEXED_ELEM: return "UNALLOCATED_636_sve_fp_fmul_by_indexed_elem"; - case ENC_UNALLOCATED_637_SVE_FP_3OP_P_ZDS_A: return "UNALLOCATED_637_sve_fp_3op_p_zds_a"; - case ENC_UNALLOCATED_638_SVE_FP_FMA_BY_INDEXED_ELEM: return "UNALLOCATED_638_sve_fp_fma_by_indexed_elem"; - case ENC_UNALLOCATED_639_SVE_FP_2OP_P_ZD_A: return "UNALLOCATED_639_sve_fp_2op_p_zd_a"; - case ENC_UNALLOCATED_640_SVE_FP_2OP_P_ZD_B_0: return "UNALLOCATED_640_sve_fp_2op_p_zd_b_0"; - case ENC_UNALLOCATED_641_SVE_FP_2OP_P_ZD_B_0: return "UNALLOCATED_641_sve_fp_2op_p_zd_b_0"; - case ENC_UNALLOCATED_642_SVE_FP_2OP_P_ZD_B_0: return "UNALLOCATED_642_sve_fp_2op_p_zd_b_0"; - case ENC_UNALLOCATED_643_SVE_FP_2OP_P_ZD_B_1: return "UNALLOCATED_643_sve_fp_2op_p_zd_b_1"; - case ENC_UNALLOCATED_644_SVE_FP_2OP_P_ZD_C: return "UNALLOCATED_644_sve_fp_2op_p_zd_c"; - case ENC_UNALLOCATED_645_SVE_FP_2OP_P_ZD_C: return "UNALLOCATED_645_sve_fp_2op_p_zd_c"; - case ENC_UNALLOCATED_646_SVE_FP_2OP_P_ZD_C: return "UNALLOCATED_646_sve_fp_2op_p_zd_c"; - case ENC_UNALLOCATED_647_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_647_sve_fp_2op_p_zd_d"; - case ENC_UNALLOCATED_648_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_648_sve_fp_2op_p_zd_d"; - case ENC_UNALLOCATED_649_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_649_sve_fp_2op_p_zd_d"; - case ENC_UNALLOCATED_650_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_650_sve_fp_2op_p_zd_d"; - case ENC_UNALLOCATED_651_SVE_FP_FDOT_BY_INDEXED_ELEM: return "UNALLOCATED_651_sve_fp_fdot_by_indexed_elem"; - case ENC_UNALLOCATED_652_SVE_FP_FDOT_BY_INDEXED_ELEM: return "UNALLOCATED_652_sve_fp_fdot_by_indexed_elem"; - case ENC_UNALLOCATED_653_SVE_CRYPTO_UNARY: return "UNALLOCATED_653_sve_crypto_unary"; - case ENC_UNALLOCATED_654_SVE_CRYPTO_BINARY_DEST: return "UNALLOCATED_654_sve_crypto_binary_dest"; - case ENC_UNALLOCATED_655_SVE_CRYPTO_BINARY_DEST: return "UNALLOCATED_655_sve_crypto_binary_dest"; - case ENC_UNALLOCATED_656_SVE_CRYPTO_BINARY_MULTI2: return "UNALLOCATED_656_sve_crypto_binary_multi2"; - case ENC_UNALLOCATED_657_SVE_CRYPTO_BINARY_MULTI2: return "UNALLOCATED_657_sve_crypto_binary_multi2"; - case ENC_UNALLOCATED_658_SVE_CRYPTO_BINARY_MULTI4: return "UNALLOCATED_658_sve_crypto_binary_multi4"; - case ENC_UNALLOCATED_659_SVE_CRYPTO_BINARY_MULTI4: return "UNALLOCATED_659_sve_crypto_binary_multi4"; - case ENC_UNALLOCATED_660_SVE_CRYPTO_BINARY_CONST: return "UNALLOCATED_660_sve_crypto_binary_const"; - case ENC_UNALLOCATED_661_SVE_CRYPTO_PMULL_MULTI: return "UNALLOCATED_661_sve_crypto_pmull_multi"; - case ENC_UNALLOCATED_662_SVE_CRYPTO_PMLAL_MULTI: return "UNALLOCATED_662_sve_crypto_pmlal_multi"; - case ENC_UNALLOCATED_663_SVE_INTX_BIN_PRED_SHIFT_SAT_ROUND: return "UNALLOCATED_663_sve_intx_bin_pred_shift_sat_round"; - case ENC_UNALLOCATED_664_SVE_INTX_ARITH_BINARY_PAIRS: return "UNALLOCATED_664_sve_intx_arith_binary_pairs"; - case ENC_UNALLOCATED_665_SVE_INTX_ARITH_BINARY_PAIRS: return "UNALLOCATED_665_sve_intx_arith_binary_pairs"; - case ENC_UNALLOCATED_666_SVE_INT_MUL_B: return "UNALLOCATED_666_sve_int_mul_b"; - case ENC_UNALLOCATED_667_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_667_sve_intx_multi_shift_narrow"; - case ENC_UNALLOCATED_668_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_668_sve_intx_multi_shift_narrow"; - case ENC_UNALLOCATED_669_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_669_sve_intx_multi_shift_narrow"; + case ENC_UNALLOCATED_1309_FLOATIMM: return "UNALLOCATED_1309_floatimm"; + case ENC_UNALLOCATED_487_SVE_INT_TERN_LOG: return "UNALLOCATED_487_sve_int_tern_log"; + case ENC_UNALLOCATED_488_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_488_sve_int_bin_pred_shift_0"; + case ENC_UNALLOCATED_489_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_489_sve_int_bin_pred_shift_0"; + case ENC_UNALLOCATED_490_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_490_sve_int_bin_pred_shift_0"; + case ENC_UNALLOCATED_491_SVE_INT_BIN_PRED_SHIFT_0: return "UNALLOCATED_491_sve_int_bin_pred_shift_0"; + case ENC_UNALLOCATED_492_SVE_INT_BIN_PRED_SHIFT_1: return "UNALLOCATED_492_sve_int_bin_pred_shift_1"; + case ENC_UNALLOCATED_493_SVE_INT_BIN_PRED_SHIFT_2: return "UNALLOCATED_493_sve_int_bin_pred_shift_2"; + case ENC_UNALLOCATED_494_SVE_INT_BIN_PRED_SHIFT_2: return "UNALLOCATED_494_sve_int_bin_pred_shift_2"; + case ENC_UNALLOCATED_495_SVE_INT_BIN_CONS_SHIFT_A: return "UNALLOCATED_495_sve_int_bin_cons_shift_a"; + case ENC_UNALLOCATED_496_SVE_INT_BIN_CONS_SHIFT_B: return "UNALLOCATED_496_sve_int_bin_cons_shift_b"; + case ENC_UNALLOCATED_497_SVE_INT_COUNTVLV0: return "UNALLOCATED_497_sve_int_countvlv0"; + case ENC_UNALLOCATED_498_SVE_INT_COUNTVLV1: return "UNALLOCATED_498_sve_int_countvlv1"; + case ENC_UNALLOCATED_499_SVE_INT_COUNT: return "UNALLOCATED_499_sve_int_count"; + case ENC_UNALLOCATED_500_SVE_INT_COUNT_V_SAT: return "UNALLOCATED_500_sve_int_count_v_sat"; + case ENC_UNALLOCATED_501_SVE_INT_COUNT_V: return "UNALLOCATED_501_sve_int_count_v"; + case ENC_UNALLOCATED_502_SVE_INT_COUNT_V: return "UNALLOCATED_502_sve_int_count_v"; + case ENC_UNALLOCATED_503_SVE_INT_COUNT_R_SAT: return "UNALLOCATED_503_sve_int_count_r_sat"; + case ENC_UNALLOCATED_504_SVE_INT_COUNT_R: return "UNALLOCATED_504_sve_int_count_r"; + case ENC_UNALLOCATED_505_SVE_INT_COUNT_R: return "UNALLOCATED_505_sve_int_count_r"; + case ENC_UNALLOCATED_506_SVE_INT_BIN_CONS_ARIT_0: return "UNALLOCATED_506_sve_int_bin_cons_arit_0"; + case ENC_UNALLOCATED_507_SVE_INT_BIN_PRED_ARIT_0: return "UNALLOCATED_507_sve_int_bin_pred_arit_0"; + case ENC_UNALLOCATED_508_SVE_INT_BIN_PRED_ARIT_0: return "UNALLOCATED_508_sve_int_bin_pred_arit_0"; + case ENC_UNALLOCATED_509_SVE_INT_BIN_PRED_ARIT_0: return "UNALLOCATED_509_sve_int_bin_pred_arit_0"; + case ENC_UNALLOCATED_510_SVE_INT_BIN_PRED_ARIT_1: return "UNALLOCATED_510_sve_int_bin_pred_arit_1"; + case ENC_UNALLOCATED_511_SVE_INT_BIN_PRED_ARIT_2: return "UNALLOCATED_511_sve_int_bin_pred_arit_2"; + case ENC_UNALLOCATED_512_SVE_INT_BIN_PRED_LOG: return "UNALLOCATED_512_sve_int_bin_pred_log"; + case ENC_UNALLOCATED_513_SVE_INT_CTERM: return "UNALLOCATED_513_sve_int_cterm"; + case ENC_UNALLOCATED_514_SVE_INT_SCMP_VI: return "UNALLOCATED_514_sve_int_scmp_vi"; + case ENC_UNALLOCATED_515_SVE_INT_BIN_CONS_MISC_0_B: return "UNALLOCATED_515_sve_int_bin_cons_misc_0_b"; + case ENC_UNALLOCATED_516_SVE_INT_BIN_CONS_MISC_0_C: return "UNALLOCATED_516_sve_int_bin_cons_misc_0_c"; + case ENC_UNALLOCATED_517_SVE_INT_BIN_CONS_MISC_0_D: return "UNALLOCATED_517_sve_int_bin_cons_misc_0_d"; + case ENC_UNALLOCATED_518_SVE_INT_BIN_CONS_MISC_0_D: return "UNALLOCATED_518_sve_int_bin_cons_misc_0_d"; + case ENC_UNALLOCATED_519_SVE_INTX_DOT: return "UNALLOCATED_519_sve_intx_dot"; + case ENC_UNALLOCATED_520_SVE_INTX_MIXED_DOT: return "UNALLOCATED_520_sve_intx_mixed_dot"; + case ENC_UNALLOCATED_521_SVE_INT_REDUCE_0: return "UNALLOCATED_521_sve_int_reduce_0"; + case ENC_UNALLOCATED_522_SVE_INT_REDUCE_0Q: return "UNALLOCATED_522_sve_int_reduce_0q"; + case ENC_UNALLOCATED_523_SVE_INT_REDUCE_0Q: return "UNALLOCATED_523_sve_int_reduce_0q"; + case ENC_UNALLOCATED_524_SVE_INT_MOVPRFX_PRED: return "UNALLOCATED_524_sve_int_movprfx_pred"; + case ENC_UNALLOCATED_525_SVE_INT_REDUCE_2: return "UNALLOCATED_525_sve_int_reduce_2"; + case ENC_UNALLOCATED_526_SVE_INT_REDUCE_2Q: return "UNALLOCATED_526_sve_int_reduce_2q"; + case ENC_UNALLOCATED_527_SVE_INT_UN_PRED_ARIT_1: return "UNALLOCATED_527_sve_int_un_pred_arit_1"; + case ENC_UNALLOCATED_528_SVE_INT_ARITH_IMM0: return "UNALLOCATED_528_sve_int_arith_imm0"; + case ENC_UNALLOCATED_529_SVE_INT_ARITH_IMM1: return "UNALLOCATED_529_sve_int_arith_imm1"; + case ENC_UNALLOCATED_530_SVE_INT_ARITH_IMM1: return "UNALLOCATED_530_sve_int_arith_imm1"; + case ENC_UNALLOCATED_531_SVE_INT_ARITH_IMM2: return "UNALLOCATED_531_sve_int_arith_imm2"; + case ENC_UNALLOCATED_532_SVE_INT_ARITH_IMM2: return "UNALLOCATED_532_sve_int_arith_imm2"; + case ENC_UNALLOCATED_533_SVE_INT_DUP_IMM: return "UNALLOCATED_533_sve_int_dup_imm"; + case ENC_UNALLOCATED_534_SVE_INT_DUP_FPIMM: return "UNALLOCATED_534_sve_int_dup_fpimm"; + case ENC_UNALLOCATED_535_SVE_INT_DUP_FPIMM: return "UNALLOCATED_535_sve_int_dup_fpimm"; + case ENC_UNALLOCATED_536_SVE_MEM_32B_GLD_VS: return "UNALLOCATED_536_sve_mem_32b_gld_vs"; + case ENC_UNALLOCATED_537_SVE_MEM_32B_GLD_SV_B: return "UNALLOCATED_537_sve_mem_32b_gld_sv_b"; + case ENC_UNALLOCATED_538_SVE_MEM_32B_GLDNT_VS: return "UNALLOCATED_538_sve_mem_32b_gldnt_vs"; + case ENC_UNALLOCATED_539_SVE_MEM_32B_GLDNT_VS: return "UNALLOCATED_539_sve_mem_32b_gldnt_vs"; + case ENC_UNALLOCATED_540_SVE_MEM_PRFM_SS: return "UNALLOCATED_540_sve_mem_prfm_ss"; + case ENC_UNALLOCATED_541_SVE_MEM_32B_GLD_VI: return "UNALLOCATED_541_sve_mem_32b_gld_vi"; + case ENC_UNALLOCATED_542_SVE_MEM_32B_GLD_VI: return "UNALLOCATED_542_sve_mem_32b_gld_vi"; + case ENC_UNALLOCATED_543_SVE_MEM_64B_GLD_VS: return "UNALLOCATED_543_sve_mem_64b_gld_vs"; + case ENC_UNALLOCATED_544_SVE_MEM_64B_GLD_SV: return "UNALLOCATED_544_sve_mem_64b_gld_sv"; + case ENC_UNALLOCATED_545_SVE_MEM_64B_GLDNT_VS: return "UNALLOCATED_545_sve_mem_64b_gldnt_vs"; + case ENC_UNALLOCATED_546_SVE_MEM_64B_GLD_VI: return "UNALLOCATED_546_sve_mem_64b_gld_vi"; + case ENC_UNALLOCATED_547_SVE_MEM_64B_GLD_VS2: return "UNALLOCATED_547_sve_mem_64b_gld_vs2"; + case ENC_UNALLOCATED_548_SVE_MEM_64B_GLD_SV2: return "UNALLOCATED_548_sve_mem_64b_gld_sv2"; + case ENC_UNALLOCATED_549_SVE_MEM_LDQR_SS: return "UNALLOCATED_549_sve_mem_ldqr_ss"; + case ENC_UNALLOCATED_550_SVE_MEM_LDQR_SS: return "UNALLOCATED_550_sve_mem_ldqr_ss"; + case ENC_UNALLOCATED_551_SVE_MEM_LDQR_SI: return "UNALLOCATED_551_sve_mem_ldqr_si"; + case ENC_UNALLOCATED_552_SVE_MEM_CLD_SI_Q: return "UNALLOCATED_552_sve_mem_cld_si_q"; + case ENC_UNALLOCATED_553_SVE_MEM_CLD_SS: return "UNALLOCATED_553_sve_mem_cld_ss"; + case ENC_UNALLOCATED_554_SVE_MEM_CLD_SS_Q: return "UNALLOCATED_554_sve_mem_cld_ss_q"; + case ENC_UNALLOCATED_555_SVE_MEM_CLD_SS_Q: return "UNALLOCATED_555_sve_mem_cld_ss_q"; + case ENC_UNALLOCATED_556_SVE_MEM_ELDQ_SS: return "UNALLOCATED_556_sve_mem_eldq_ss"; + case ENC_UNALLOCATED_557_SVE_MEM_ELDQ_SS: return "UNALLOCATED_557_sve_mem_eldq_ss"; + case ENC_UNALLOCATED_558_SVE_MEM_CLDNT_SS: return "UNALLOCATED_558_sve_mem_cldnt_ss"; + case ENC_UNALLOCATED_559_SVE_MEM_ELD_SS: return "UNALLOCATED_559_sve_mem_eld_ss"; + case ENC_UNALLOCATED_560_SVE_MEM_ELDQ_SI: return "UNALLOCATED_560_sve_mem_eldq_si"; + case ENC_UNALLOCATED_561_SVE_MEM_ESTQ_SI: return "UNALLOCATED_561_sve_mem_estq_si"; + case ENC_UNALLOCATED_562_SVE_MEM_ESTQ_SS: return "UNALLOCATED_562_sve_mem_estq_ss"; + case ENC_UNALLOCATED_563_SVE_MEM_ESTQ_SS: return "UNALLOCATED_563_sve_mem_estq_ss"; + case ENC_UNALLOCATED_564_SVE_MEM_CST_SS: return "UNALLOCATED_564_sve_mem_cst_ss"; + case ENC_UNALLOCATED_565_SVE_MEM_CST_SS: return "UNALLOCATED_565_sve_mem_cst_ss"; + case ENC_UNALLOCATED_566_SVE_MEM_CST_SS: return "UNALLOCATED_566_sve_mem_cst_ss"; + case ENC_UNALLOCATED_567_SVE_MEM_CST_SS: return "UNALLOCATED_567_sve_mem_cst_ss"; + case ENC_UNALLOCATED_568_SVE_MEM_CST_SI: return "UNALLOCATED_568_sve_mem_cst_si"; + case ENC_UNALLOCATED_569_SVE_MEM_CST_SI: return "UNALLOCATED_569_sve_mem_cst_si"; + case ENC_UNALLOCATED_570_SVE_MEM_CSTNT_SS: return "UNALLOCATED_570_sve_mem_cstnt_ss"; + case ENC_UNALLOCATED_571_SVE_MEM_EST_SS: return "UNALLOCATED_571_sve_mem_est_ss"; + case ENC_UNALLOCATED_572_SVE_MEM_SSTNT_32B_VS: return "UNALLOCATED_572_sve_mem_sstnt_32b_vs"; + case ENC_UNALLOCATED_573_SVE_MEM_SST_SV2: return "UNALLOCATED_573_sve_mem_sst_sv2"; + case ENC_UNALLOCATED_574_SVE_MEM_SST_VI_B: return "UNALLOCATED_574_sve_mem_sst_vi_b"; + case ENC_UNALLOCATED_575_SVE_MEM_SST_VS_B: return "UNALLOCATED_575_sve_mem_sst_vs_b"; + case ENC_UNALLOCATED_576_SVE_MEM_SST_SV_A: return "UNALLOCATED_576_sve_mem_sst_sv_a"; + case ENC_UNALLOCATED_577_SVE_MEM_SST_SV_B: return "UNALLOCATED_577_sve_mem_sst_sv_b"; + case ENC_UNALLOCATED_578_SVE_MEM_SST_SV_B: return "UNALLOCATED_578_sve_mem_sst_sv_b"; + case ENC_UNALLOCATED_579_SVE_INTX_CLONG: return "UNALLOCATED_579_sve_intx_clong"; + case ENC_UNALLOCATED_580_SVE_INTX_MMLA: return "UNALLOCATED_580_sve_intx_mmla"; + case ENC_UNALLOCATED_581_SVE_INTX_PERM_BIT: return "UNALLOCATED_581_sve_intx_perm_bit"; + case ENC_UNALLOCATED_582_SVE_INTX_MIXED_DOT_BY_INDEXED_ELEM: return "UNALLOCATED_582_sve_intx_mixed_dot_by_indexed_elem"; + case ENC_UNALLOCATED_583_SVE_INTX_QDMLA_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_583_sve_intx_qdmla_long_by_indexed_elem"; + case ENC_UNALLOCATED_584_SVE_INTX_CDOT_BY_INDEXED_ELEM: return "UNALLOCATED_584_sve_intx_cdot_by_indexed_elem"; + case ENC_UNALLOCATED_585_SVE_INTX_CMLA_BY_INDEXED_ELEM: return "UNALLOCATED_585_sve_intx_cmla_by_indexed_elem"; + case ENC_UNALLOCATED_586_SVE_INTX_QRDCMLA_BY_INDEXED_ELEM: return "UNALLOCATED_586_sve_intx_qrdcmla_by_indexed_elem"; + case ENC_UNALLOCATED_587_SVE_INTX_MLA_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_587_sve_intx_mla_long_by_indexed_elem"; + case ENC_UNALLOCATED_588_SVE_INTX_MUL_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_588_sve_intx_mul_long_by_indexed_elem"; + case ENC_UNALLOCATED_589_SVE_INTX_QDMUL_LONG_BY_INDEXED_ELEM: return "UNALLOCATED_589_sve_intx_qdmul_long_by_indexed_elem"; + case ENC_UNALLOCATED_590_SVE_INT_BREAK: return "UNALLOCATED_590_sve_int_break"; + case ENC_UNALLOCATED_591_SVE_INT_PERM_BIN_PERM_PP: return "UNALLOCATED_591_sve_int_perm_bin_perm_pp"; + case ENC_UNALLOCATED_592_SVE_INT_PERM_BIN_PERM_ZZ: return "UNALLOCATED_592_sve_int_perm_bin_perm_zz"; + case ENC_UNALLOCATED_593_SVE_INT_PERM_REVD: return "UNALLOCATED_593_sve_int_perm_revd"; + case ENC_UNALLOCATED_594_SVE_INT_PERM_BIN_LONG_PERM_ZZ: return "UNALLOCATED_594_sve_int_perm_bin_long_perm_zz"; + case ENC_UNALLOCATED_595_SVE_INT_PERM_BINQUADS: return "UNALLOCATED_595_sve_int_perm_binquads"; + case ENC_UNALLOCATED_596_SVE_INT_PERM_BINQUADS: return "UNALLOCATED_596_sve_int_perm_binquads"; + case ENC_UNALLOCATED_597_SVE_INT_MOV_V2P: return "UNALLOCATED_597_sve_int_mov_v2p"; + case ENC_UNALLOCATED_598_SVE_INT_MOV_P2V: return "UNALLOCATED_598_sve_int_mov_p2v"; + case ENC_UNALLOCATED_599_SVE_INT_PCOUNT_PRED: return "UNALLOCATED_599_sve_int_pcount_pred"; + case ENC_UNALLOCATED_600_SVE_INT_PCOUNT_PRED: return "UNALLOCATED_600_sve_int_pcount_pred"; + case ENC_UNALLOCATED_601_SVE_INT_PCOUNT_PN: return "UNALLOCATED_601_sve_int_pcount_pn"; + case ENC_UNALLOCATED_602_SVE_INT_PRED_LOG: return "UNALLOCATED_602_sve_int_pred_log"; + case ENC_UNALLOCATED_603_SVE_INT_PTEST: return "UNALLOCATED_603_sve_int_ptest"; + case ENC_UNALLOCATED_604_SVE_INT_PTEST: return "UNALLOCATED_604_sve_int_ptest"; + case ENC_UNALLOCATED_605_SVE_INT_PTEST: return "UNALLOCATED_605_sve_int_ptest"; + case ENC_UNALLOCATED_606_SVE_INT_PFIRST: return "UNALLOCATED_606_sve_int_pfirst"; + case ENC_UNALLOCATED_607_SVE_INT_PFIRST: return "UNALLOCATED_607_sve_int_pfirst"; + case ENC_UNALLOCATED_608_SVE_INT_PFALSE: return "UNALLOCATED_608_sve_int_pfalse"; + case ENC_UNALLOCATED_609_SVE_INT_PFALSE: return "UNALLOCATED_609_sve_int_pfalse"; + case ENC_UNALLOCATED_610_SVE_INT_RDFFR: return "UNALLOCATED_610_sve_int_rdffr"; + case ENC_UNALLOCATED_611_SVE_INT_RDFFR_2: return "UNALLOCATED_611_sve_int_rdffr_2"; + case ENC_UNALLOCATED_612_SVE_INT_RDFFR_2: return "UNALLOCATED_612_sve_int_rdffr_2"; + case ENC_UNALLOCATED_613_SVE_INT_PRED_DUP: return "UNALLOCATED_613_sve_int_pred_dup"; + case ENC_UNALLOCATED_614_SVE_INT_BRKP: return "UNALLOCATED_614_sve_int_brkp"; + case ENC_UNALLOCATED_615_SVE_INT_CTR_TO_MASK: return "UNALLOCATED_615_sve_int_ctr_to_mask"; + case ENC_UNALLOCATED_616_SVE_INT_READ_VL_A: return "UNALLOCATED_616_sve_int_read_vl_a"; + case ENC_UNALLOCATED_617_SVE_INT_READ_VL_A: return "UNALLOCATED_617_sve_int_read_vl_a"; + case ENC_UNALLOCATED_618_SVE_INT_READ_SVL_A: return "UNALLOCATED_618_sve_int_read_svl_a"; + case ENC_UNALLOCATED_619_SVE_INT_READ_SVL_A: return "UNALLOCATED_619_sve_int_read_svl_a"; + case ENC_UNALLOCATED_620_SVE_INT_WRFFR: return "UNALLOCATED_620_sve_int_wrffr"; + case ENC_UNALLOCATED_621_SVE_INT_SETFFR: return "UNALLOCATED_621_sve_int_setffr"; + case ENC_UNALLOCATED_622_SVE_FP_2OP_P_VD: return "UNALLOCATED_622_sve_fp_2op_p_vd"; + case ENC_UNALLOCATED_623_SVE_FP_2OP_P_ZDS: return "UNALLOCATED_623_sve_fp_2op_p_zds"; + case ENC_UNALLOCATED_624_SVE_FP_3OP_U_ZD: return "UNALLOCATED_624_sve_fp_3op_u_zd"; + case ENC_UNALLOCATED_625_SVE_FP_3OP_P_PD: return "UNALLOCATED_625_sve_fp_3op_p_pd"; + case ENC_UNALLOCATED_626_SVE_FP_2OP_P_PD: return "UNALLOCATED_626_sve_fp_2op_p_pd"; + case ENC_UNALLOCATED_627_SVE_FP_FCMLA_BY_INDEXED_ELEM: return "UNALLOCATED_627_sve_fp_fcmla_by_indexed_elem"; + case ENC_UNALLOCATED_628_SVE_FP_FCVT2Z: return "UNALLOCATED_628_sve_fp_fcvt2z"; + case ENC_UNALLOCATED_629_SVE_FP_FCVT2Z: return "UNALLOCATED_629_sve_fp_fcvt2z"; + case ENC_UNALLOCATED_630_SVE_FP_FCVT2Z: return "UNALLOCATED_630_sve_fp_fcvt2z"; + case ENC_UNALLOCATED_631_SVE_FP_FCVT2Z: return "UNALLOCATED_631_sve_fp_fcvt2z"; + case ENC_UNALLOCATED_632_SVE_FP_FCVT2: return "UNALLOCATED_632_sve_fp_fcvt2"; + case ENC_UNALLOCATED_633_SVE_FP_FCVT2: return "UNALLOCATED_633_sve_fp_fcvt2"; + case ENC_UNALLOCATED_634_SVE_FP_FCVT2: return "UNALLOCATED_634_sve_fp_fcvt2"; + case ENC_UNALLOCATED_635_SVE_FP_FCVT2: return "UNALLOCATED_635_sve_fp_fcvt2"; + case ENC_UNALLOCATED_636_SVE_FP_FAST_RED: return "UNALLOCATED_636_sve_fp_fast_red"; + case ENC_UNALLOCATED_637_SVE_FP_FAST_RED: return "UNALLOCATED_637_sve_fp_fast_red"; + case ENC_UNALLOCATED_638_SVE_FP_FAST_REDQ: return "UNALLOCATED_638_sve_fp_fast_redq"; + case ENC_UNALLOCATED_639_SVE_FP_FAST_REDQ: return "UNALLOCATED_639_sve_fp_fast_redq"; + case ENC_UNALLOCATED_640_SVE_FP_FMUL_BY_INDEXED_ELEM: return "UNALLOCATED_640_sve_fp_fmul_by_indexed_elem"; + case ENC_UNALLOCATED_641_SVE_FP_3OP_P_ZDS_A: return "UNALLOCATED_641_sve_fp_3op_p_zds_a"; + case ENC_UNALLOCATED_642_SVE_FP_FMA_BY_INDEXED_ELEM: return "UNALLOCATED_642_sve_fp_fma_by_indexed_elem"; + case ENC_UNALLOCATED_643_SVE_FP_2OP_P_ZD_A: return "UNALLOCATED_643_sve_fp_2op_p_zd_a"; + case ENC_UNALLOCATED_644_SVE_FP_2OP_P_ZD_B_0: return "UNALLOCATED_644_sve_fp_2op_p_zd_b_0"; + case ENC_UNALLOCATED_645_SVE_FP_2OP_P_ZD_B_0: return "UNALLOCATED_645_sve_fp_2op_p_zd_b_0"; + case ENC_UNALLOCATED_646_SVE_FP_2OP_P_ZD_B_0: return "UNALLOCATED_646_sve_fp_2op_p_zd_b_0"; + case ENC_UNALLOCATED_647_SVE_FP_2OP_P_ZD_B_1: return "UNALLOCATED_647_sve_fp_2op_p_zd_b_1"; + case ENC_UNALLOCATED_648_SVE_FP_2OP_P_ZD_C: return "UNALLOCATED_648_sve_fp_2op_p_zd_c"; + case ENC_UNALLOCATED_649_SVE_FP_2OP_P_ZD_C: return "UNALLOCATED_649_sve_fp_2op_p_zd_c"; + case ENC_UNALLOCATED_650_SVE_FP_2OP_P_ZD_C: return "UNALLOCATED_650_sve_fp_2op_p_zd_c"; + case ENC_UNALLOCATED_651_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_651_sve_fp_2op_p_zd_d"; + case ENC_UNALLOCATED_652_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_652_sve_fp_2op_p_zd_d"; + case ENC_UNALLOCATED_653_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_653_sve_fp_2op_p_zd_d"; + case ENC_UNALLOCATED_654_SVE_FP_2OP_P_ZD_D: return "UNALLOCATED_654_sve_fp_2op_p_zd_d"; + case ENC_UNALLOCATED_655_SVE_FP_FDOT_BY_INDEXED_ELEM: return "UNALLOCATED_655_sve_fp_fdot_by_indexed_elem"; + case ENC_UNALLOCATED_656_SVE_FP_FDOT_BY_INDEXED_ELEM: return "UNALLOCATED_656_sve_fp_fdot_by_indexed_elem"; + case ENC_UNALLOCATED_657_SVE_CRYPTO_UNARY: return "UNALLOCATED_657_sve_crypto_unary"; + case ENC_UNALLOCATED_658_SVE_CRYPTO_BINARY_DEST: return "UNALLOCATED_658_sve_crypto_binary_dest"; + case ENC_UNALLOCATED_659_SVE_CRYPTO_BINARY_DEST: return "UNALLOCATED_659_sve_crypto_binary_dest"; + case ENC_UNALLOCATED_660_SVE_CRYPTO_BINARY_MULTI2: return "UNALLOCATED_660_sve_crypto_binary_multi2"; + case ENC_UNALLOCATED_661_SVE_CRYPTO_BINARY_MULTI2: return "UNALLOCATED_661_sve_crypto_binary_multi2"; + case ENC_UNALLOCATED_662_SVE_CRYPTO_BINARY_MULTI4: return "UNALLOCATED_662_sve_crypto_binary_multi4"; + case ENC_UNALLOCATED_663_SVE_CRYPTO_BINARY_MULTI4: return "UNALLOCATED_663_sve_crypto_binary_multi4"; + case ENC_UNALLOCATED_664_SVE_CRYPTO_BINARY_CONST: return "UNALLOCATED_664_sve_crypto_binary_const"; + case ENC_UNALLOCATED_665_SVE_CRYPTO_PMULL_MULTI: return "UNALLOCATED_665_sve_crypto_pmull_multi"; + case ENC_UNALLOCATED_666_SVE_CRYPTO_PMLAL_MULTI: return "UNALLOCATED_666_sve_crypto_pmlal_multi"; + case ENC_UNALLOCATED_667_SVE_INTX_BIN_PRED_SHIFT_SAT_ROUND: return "UNALLOCATED_667_sve_intx_bin_pred_shift_sat_round"; + case ENC_UNALLOCATED_668_SVE_INTX_ARITH_BINARY_PAIRS: return "UNALLOCATED_668_sve_intx_arith_binary_pairs"; + case ENC_UNALLOCATED_669_SVE_INT_MUL_B: return "UNALLOCATED_669_sve_int_mul_b"; case ENC_UNALLOCATED_670_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_670_sve_intx_multi_shift_narrow"; - case ENC_UNALLOCATED_671_SVE_INTX_EXTRACT_NARROW: return "UNALLOCATED_671_sve_intx_extract_narrow"; - case ENC_UNALLOCATED_672_SVE_INTX_MULTI_EXTRACT_NARROW: return "UNALLOCATED_672_sve_intx_multi_extract_narrow"; - case ENC_UNALLOCATED_673_SVE_INTX_MULTI_EXTRACT_NARROW: return "UNALLOCATED_673_sve_intx_multi_extract_narrow"; - case ENC_UNALLOCATED_674_SVE_INTX_MULTI_EXTRACT_NARROW: return "UNALLOCATED_674_sve_intx_multi_extract_narrow"; - case ENC_UNALLOCATED_675_SVE_INTX_CONS_ARITH_LONG: return "UNALLOCATED_675_sve_intx_cons_arith_long"; - case ENC_UNALLOCATED_676_SVE_FP_PAIRWISE: return "UNALLOCATED_676_sve_fp_pairwise"; - case ENC_UNALLOCATED_677_SVE_FP_PAIRWISE: return "UNALLOCATED_677_sve_fp_pairwise"; - case ENC_UNALLOCATED_678_SVE_FP_Z2OP_P_ZD_A: return "UNALLOCATED_678_sve_fp_z2op_p_zd_a"; - case ENC_UNALLOCATED_679_SVE_FP_Z2OP_P_ZD_B_0: return "UNALLOCATED_679_sve_fp_z2op_p_zd_b_0"; - case ENC_UNALLOCATED_680_SVE_FP_Z2OP_P_ZD_B_0: return "UNALLOCATED_680_sve_fp_z2op_p_zd_b_0"; - case ENC_UNALLOCATED_681_SVE_FP_Z2OP_P_ZD_B_0: return "UNALLOCATED_681_sve_fp_z2op_p_zd_b_0"; - case ENC_UNALLOCATED_682_SVE_FP_Z2OP_P_ZD_B_1: return "UNALLOCATED_682_sve_fp_z2op_p_zd_b_1"; - case ENC_UNALLOCATED_683_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_683_sve_fp_z2op_p_zd_c"; - case ENC_UNALLOCATED_684_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_684_sve_fp_z2op_p_zd_c"; - case ENC_UNALLOCATED_685_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_685_sve_fp_z2op_p_zd_c"; - case ENC_UNALLOCATED_686_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_686_sve_fp_z2op_p_zd_c"; - case ENC_UNALLOCATED_687_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_687_sve_fp_z2op_p_zd_d"; - case ENC_UNALLOCATED_688_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_688_sve_fp_z2op_p_zd_d"; - case ENC_UNALLOCATED_689_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_689_sve_fp_z2op_p_zd_d"; - case ENC_UNALLOCATED_690_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_690_sve_fp_z2op_p_zd_d"; + case ENC_UNALLOCATED_671_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_671_sve_intx_multi_shift_narrow"; + case ENC_UNALLOCATED_672_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_672_sve_intx_multi_shift_narrow"; + case ENC_UNALLOCATED_673_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_673_sve_intx_multi_shift_narrow"; + case ENC_UNALLOCATED_674_SVE_INTX_MULTI_SHIFT_NARROW: return "UNALLOCATED_674_sve_intx_multi_shift_narrow"; + case ENC_UNALLOCATED_675_SVE_INTX_EXTRACT_NARROW: return "UNALLOCATED_675_sve_intx_extract_narrow"; + case ENC_UNALLOCATED_676_SVE_INTX_MULTI_EXTRACT_NARROW: return "UNALLOCATED_676_sve_intx_multi_extract_narrow"; + case ENC_UNALLOCATED_677_SVE_INTX_MULTI_EXTRACT_NARROW: return "UNALLOCATED_677_sve_intx_multi_extract_narrow"; + case ENC_UNALLOCATED_678_SVE_INTX_MULTI_EXTRACT_NARROW: return "UNALLOCATED_678_sve_intx_multi_extract_narrow"; + case ENC_UNALLOCATED_679_SVE_INTX_CONS_ARITH_LONG: return "UNALLOCATED_679_sve_intx_cons_arith_long"; + case ENC_UNALLOCATED_680_SVE_FP_PAIRWISE: return "UNALLOCATED_680_sve_fp_pairwise"; + case ENC_UNALLOCATED_681_SVE_FP_PAIRWISE: return "UNALLOCATED_681_sve_fp_pairwise"; + case ENC_UNALLOCATED_682_SVE_FP_Z2OP_P_ZD_A: return "UNALLOCATED_682_sve_fp_z2op_p_zd_a"; + case ENC_UNALLOCATED_683_SVE_FP_Z2OP_P_ZD_B_0: return "UNALLOCATED_683_sve_fp_z2op_p_zd_b_0"; + case ENC_UNALLOCATED_684_SVE_FP_Z2OP_P_ZD_B_0: return "UNALLOCATED_684_sve_fp_z2op_p_zd_b_0"; + case ENC_UNALLOCATED_685_SVE_FP_Z2OP_P_ZD_B_0: return "UNALLOCATED_685_sve_fp_z2op_p_zd_b_0"; + case ENC_UNALLOCATED_686_SVE_FP_Z2OP_P_ZD_B_1: return "UNALLOCATED_686_sve_fp_z2op_p_zd_b_1"; + case ENC_UNALLOCATED_687_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_687_sve_fp_z2op_p_zd_c"; + case ENC_UNALLOCATED_688_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_688_sve_fp_z2op_p_zd_c"; + case ENC_UNALLOCATED_689_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_689_sve_fp_z2op_p_zd_c"; + case ENC_UNALLOCATED_690_SVE_FP_Z2OP_P_ZD_C: return "UNALLOCATED_690_sve_fp_z2op_p_zd_c"; case ENC_UNALLOCATED_691_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_691_sve_fp_z2op_p_zd_d"; - case ENC_UNALLOCATED_692_SVE_PTR_MULADD_UNPRED: return "UNALLOCATED_692_sve_ptr_muladd_unpred"; - case ENC_UNALLOCATED_693_MORTLACH_ADDHV: return "UNALLOCATED_693_mortlach_addhv"; - case ENC_UNALLOCATED_694_MORTLACH_ZT_LDST: return "UNALLOCATED_694_mortlach_zt_ldst"; - case ENC_UNALLOCATED_695_MORTLACH_ZT_LDST: return "UNALLOCATED_695_mortlach_zt_ldst"; - case ENC_UNALLOCATED_696_MORTLACH_ZT_LDST: return "UNALLOCATED_696_mortlach_zt_ldst"; - case ENC_UNALLOCATED_697_MORTLACH_ZT_LDST: return "UNALLOCATED_697_mortlach_zt_ldst"; + case ENC_UNALLOCATED_692_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_692_sve_fp_z2op_p_zd_d"; + case ENC_UNALLOCATED_693_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_693_sve_fp_z2op_p_zd_d"; + case ENC_UNALLOCATED_694_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_694_sve_fp_z2op_p_zd_d"; + case ENC_UNALLOCATED_695_SVE_FP_Z2OP_P_ZD_D: return "UNALLOCATED_695_sve_fp_z2op_p_zd_d"; + case ENC_UNALLOCATED_696_SVE_PTR_MULADD_UNPRED: return "UNALLOCATED_696_sve_ptr_muladd_unpred"; + case ENC_UNALLOCATED_697_MORTLACH_ADDHV: return "UNALLOCATED_697_mortlach_addhv"; case ENC_UNALLOCATED_698_MORTLACH_ZT_LDST: return "UNALLOCATED_698_mortlach_zt_ldst"; case ENC_UNALLOCATED_699_MORTLACH_ZT_LDST: return "UNALLOCATED_699_mortlach_zt_ldst"; - case ENC_UNALLOCATED_700_MORTLACH_EXTRACT_PRED: return "UNALLOCATED_700_mortlach_extract_pred"; - case ENC_UNALLOCATED_701_MORTLACH_MULTI4_EXTRACT_CTG: return "UNALLOCATED_701_mortlach_multi4_extract_ctg"; - case ENC_UNALLOCATED_702_MORTLACH_EXTRACT_ZERO: return "UNALLOCATED_702_mortlach_extract_zero"; - case ENC_UNALLOCATED_703_MORTLACH_MULTI4_EXTRACT_ZERO: return "UNALLOCATED_703_mortlach_multi4_extract_zero"; - case ENC_UNALLOCATED_704_MORTLACH_INSERT_PRED: return "UNALLOCATED_704_mortlach_insert_pred"; - case ENC_UNALLOCATED_705_MORTLACH_MULTI4_INSERT_CTG: return "UNALLOCATED_705_mortlach_multi4_insert_ctg"; - case ENC_UNALLOCATED_706_MORTLACH_EXPAND_2DST_CTG: return "UNALLOCATED_706_mortlach_expand_2dst_ctg"; - case ENC_UNALLOCATED_707_MORTLACH_EXPAND_2DST_CTG: return "UNALLOCATED_707_mortlach_expand_2dst_ctg"; - case ENC_UNALLOCATED_708_MORTLACH_EXPAND_4DST_CTG: return "UNALLOCATED_708_mortlach_expand_4dst_ctg"; - case ENC_UNALLOCATED_709_MORTLACH_EXPAND_4DST_CTG: return "UNALLOCATED_709_mortlach_expand_4dst_ctg"; - case ENC_UNALLOCATED_710_MORTLACH_EXPAND_1DST: return "UNALLOCATED_710_mortlach_expand_1dst"; - case ENC_UNALLOCATED_711_MORTLACH_EXPAND_1DST: return "UNALLOCATED_711_mortlach_expand_1dst"; - case ENC_UNALLOCATED_712_MORTLACH_EXPAND_4DST2SRC_CTG: return "UNALLOCATED_712_mortlach_expand_4dst2src_ctg"; - case ENC_UNALLOCATED_713_MORTLACH_EXPAND_2DST_NCTG: return "UNALLOCATED_713_mortlach_expand_2dst_nctg"; - case ENC_UNALLOCATED_714_MORTLACH_EXPAND_2DST_NCTG: return "UNALLOCATED_714_mortlach_expand_2dst_nctg"; - case ENC_UNALLOCATED_715_MORTLACH_EXPAND_4DST_NCTG: return "UNALLOCATED_715_mortlach_expand_4dst_nctg"; - case ENC_UNALLOCATED_716_MORTLACH_EXPAND_4DST_NCTG: return "UNALLOCATED_716_mortlach_expand_4dst_nctg"; - case ENC_UNALLOCATED_717_MORTLACH_EXPAND_4DST2SRC_NCTG: return "UNALLOCATED_717_mortlach_expand_4dst2src_nctg"; - case ENC_UNALLOCATED_718_MORTLACH_EXTRACT_ZT: return "UNALLOCATED_718_mortlach_extract_zt"; - case ENC_UNALLOCATED_719_MORTLACH_INSERT_ZT: return "UNALLOCATED_719_mortlach_insert_zt"; - case ENC_UNALLOCATED_720_MORTLACH_MOVE_TO_ZT: return "UNALLOCATED_720_mortlach_move_to_zt"; - case ENC_UNALLOCATED_721_MORTLACH_MULTI4_MLA_LONG_LONG_IDX_S: return "UNALLOCATED_721_mortlach_multi4_mla_long_long_idx_s"; - case ENC_UNALLOCATED_722_MORTLACH_MULTI4_ZZA_IDX_S: return "UNALLOCATED_722_mortlach_multi4_zza_idx_s"; - case ENC_UNALLOCATED_723_MORTLACH_MULTI4_ZZA_IDX_D: return "UNALLOCATED_723_mortlach_multi4_zza_idx_d"; - case ENC_UNALLOCATED_724_MORTLACH_MULTI1_MLA_LONG_LONG_IDX_S: return "UNALLOCATED_724_mortlach_multi1_mla_long_long_idx_s"; - case ENC_UNALLOCATED_725_MORTLACH_MULTI2_MLA_LONG_LONG_IDX_S: return "UNALLOCATED_725_mortlach_multi2_mla_long_long_idx_s"; - case ENC_UNALLOCATED_726_MORTLACH_MULTI2_ZZA_IDX_S: return "UNALLOCATED_726_mortlach_multi2_zza_idx_s"; - case ENC_UNALLOCATED_727_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_727_mortlach_multi4_zz_za_mla_long_long_mm"; - case ENC_UNALLOCATED_728_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_728_mortlach_multi4_zz_za_mla_long_long_mm"; - case ENC_UNALLOCATED_729_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_729_mortlach_multi4_zz_za_mla_long_long_mm"; - case ENC_UNALLOCATED_730_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_730_mortlach_multi2_zz_za_mla_long_long_mm"; - case ENC_UNALLOCATED_731_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_731_mortlach_multi2_zz_za_mla_long_long_mm"; - case ENC_UNALLOCATED_732_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_732_mortlach_multi2_zz_za_mla_long_long_mm"; - case ENC_UNALLOCATED_733_MORTLACH_MULTI4_Z_Z_MINMAX_MM: return "UNALLOCATED_733_mortlach_multi4_z_z_minmax_mm"; - case ENC_UNALLOCATED_734_MORTLACH_MULTI4_Z_Z_FMINMAX_MM: return "UNALLOCATED_734_mortlach_multi4_z_z_fminmax_mm"; - case ENC_UNALLOCATED_735_MORTLACH_MULTI4_Z_Z_FSCALE_MM: return "UNALLOCATED_735_mortlach_multi4_z_z_fscale_mm"; - case ENC_UNALLOCATED_736_MORTLACH_MULTI4_Z_Z_FSCALE_MM: return "UNALLOCATED_736_mortlach_multi4_z_z_fscale_mm"; - case ENC_UNALLOCATED_737_MORTLACH_MULTI4_Z_Z_SHIFT_MM: return "UNALLOCATED_737_mortlach_multi4_z_z_shift_mm"; - case ENC_UNALLOCATED_738_MORTLACH_MULTI2_Z_Z_MINMAX_MM: return "UNALLOCATED_738_mortlach_multi2_z_z_minmax_mm"; - case ENC_UNALLOCATED_739_MORTLACH_MULTI2_Z_Z_FMINMAX_MM: return "UNALLOCATED_739_mortlach_multi2_z_z_fminmax_mm"; - case ENC_UNALLOCATED_740_MORTLACH_MULTI2_Z_Z_FSCALE_MM: return "UNALLOCATED_740_mortlach_multi2_z_z_fscale_mm"; - case ENC_UNALLOCATED_741_MORTLACH_MULTI2_Z_Z_FSCALE_MM: return "UNALLOCATED_741_mortlach_multi2_z_z_fscale_mm"; - case ENC_UNALLOCATED_742_MORTLACH_MULTI2_Z_Z_SHIFT_MM: return "UNALLOCATED_742_mortlach_multi2_z_z_shift_mm"; - case ENC_UNALLOCATED_743_MORTLACH_MULTI4_Z_Z_SQDMULH_MM: return "UNALLOCATED_743_mortlach_multi4_z_z_sqdmulh_mm"; - case ENC_UNALLOCATED_744_MORTLACH_MULTI2_Z_Z_SQDMULH_MM: return "UNALLOCATED_744_mortlach_multi2_z_z_sqdmulh_mm"; - case ENC_UNALLOCATED_745_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_745_mortlach_multi4_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_746_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_746_mortlach_multi4_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_747_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_747_mortlach_multi4_zz_za_fma_long_sm"; - case ENC_UNALLOCATED_748_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_748_mortlach_multi4_zz_za_fma_long_sm"; - case ENC_UNALLOCATED_749_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_SM: return "UNALLOCATED_749_mortlach_multi4_zz_za_mla_long_sm"; - case ENC_UNALLOCATED_750_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_750_mortlach_multi2_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_751_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_751_mortlach_multi2_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_752_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_752_mortlach_multi1_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_753_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_753_mortlach_multi1_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_754_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_754_mortlach_multi1_zz_za_mla_long_long_sm"; - case ENC_UNALLOCATED_755_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_755_mortlach_multi2_zz_za_fma_long_sm"; - case ENC_UNALLOCATED_756_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_756_mortlach_multi2_zz_za_fma_long_sm"; - case ENC_UNALLOCATED_757_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_SM: return "UNALLOCATED_757_mortlach_multi2_zz_za_mla_long_sm"; - case ENC_UNALLOCATED_758_MORTLACH_MULTI4_Z_Z_FSCALE_SM: return "UNALLOCATED_758_mortlach_multi4_z_z_fscale_sm"; - case ENC_UNALLOCATED_759_MORTLACH_MULTI4_Z_Z_SHIFT_SM: return "UNALLOCATED_759_mortlach_multi4_z_z_shift_sm"; - case ENC_UNALLOCATED_760_MORTLACH_MULTI4_Z_Z_ADD_SM: return "UNALLOCATED_760_mortlach_multi4_z_z_add_sm"; - case ENC_UNALLOCATED_761_MORTLACH_MULTI4_Z_Z_SQDMULH_SM: return "UNALLOCATED_761_mortlach_multi4_z_z_sqdmulh_sm"; - case ENC_UNALLOCATED_762_MORTLACH_MULTI2_Z_Z_FSCALE_SM: return "UNALLOCATED_762_mortlach_multi2_z_z_fscale_sm"; - case ENC_UNALLOCATED_763_MORTLACH_MULTI2_Z_Z_SHIFT_SM: return "UNALLOCATED_763_mortlach_multi2_z_z_shift_sm"; - case ENC_UNALLOCATED_764_MORTLACH_MULTI2_Z_Z_ADD_SM: return "UNALLOCATED_764_mortlach_multi2_z_z_add_sm"; - case ENC_UNALLOCATED_765_MORTLACH_MULTI2_Z_Z_SQDMULH_SM: return "UNALLOCATED_765_mortlach_multi2_z_z_sqdmulh_sm"; - case ENC_UNALLOCATED_766_MORTLACH_MULTI2_FCLAMP: return "UNALLOCATED_766_mortlach_multi2_fclamp"; - case ENC_UNALLOCATED_767_MORTLACH_MULTI4_FCLAMP: return "UNALLOCATED_767_mortlach_multi4_fclamp"; - case ENC_UNALLOCATED_768_MORTLACH_MULTI2_QRSHR: return "UNALLOCATED_768_mortlach_multi2_qrshr"; - case ENC_UNALLOCATED_769_MORTLACH_MULTI4_QRSHR: return "UNALLOCATED_769_mortlach_multi4_qrshr"; - case ENC_UNALLOCATED_770_MORTLACH_MULTI2_NARROW_INT_CVRT: return "UNALLOCATED_770_mortlach_multi2_narrow_int_cvrt"; - case ENC_UNALLOCATED_771_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_771_mortlach_multi2_frint"; - case ENC_UNALLOCATED_772_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_772_mortlach_multi2_frint"; - case ENC_UNALLOCATED_773_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_773_mortlach_multi2_frint"; - case ENC_UNALLOCATED_774_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_774_mortlach_multi2_frint"; - case ENC_UNALLOCATED_775_MORTLACH_MULTI4_NARROW_INT_CVRT: return "UNALLOCATED_775_mortlach_multi4_narrow_int_cvrt"; - case ENC_UNALLOCATED_776_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_776_mortlach_multi4_frint"; - case ENC_UNALLOCATED_777_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_777_mortlach_multi4_frint"; - case ENC_UNALLOCATED_778_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_778_mortlach_multi4_frint"; - case ENC_UNALLOCATED_779_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_779_mortlach_multi4_frint"; - case ENC_UNALLOCATED_780_MORTLACH_MULTI_ZERO: return "UNALLOCATED_780_mortlach_multi_zero"; - case ENC_UNALLOCATED_781_MORTLACH_MULTI_ZERO: return "UNALLOCATED_781_mortlach_multi_zero"; - case ENC_UNALLOCATED_782_MORTLACH_MULTI_ZERO: return "UNALLOCATED_782_mortlach_multi_zero"; - case ENC_UNALLOCATED_783_MORTLACH_ZERO_ZT: return "UNALLOCATED_783_mortlach_zero_zt"; - case ENC_UNALLOCATED_784_MORTLACH_ZERO_ZT: return "UNALLOCATED_784_mortlach_zero_zt"; - case ENC_UNALLOCATED_785_ADDSUB_IMMTAGS: return "UNALLOCATED_785_addsub_immtags"; - case ENC_UNALLOCATED_786_ADDSUB_IMMTAGS: return "UNALLOCATED_786_addsub_immtags"; - case ENC_UNALLOCATED_787_BITFIELD: return "UNALLOCATED_787_bitfield"; - case ENC_UNALLOCATED_788_BITFIELD: return "UNALLOCATED_788_bitfield"; - case ENC_UNALLOCATED_789_BITFIELD: return "UNALLOCATED_789_bitfield"; - case ENC_UNALLOCATED_790_BITFIELD: return "UNALLOCATED_790_bitfield"; - case ENC_UNALLOCATED_791_DP_1SRC_IMM: return "UNALLOCATED_791_dp_1src_imm"; - case ENC_UNALLOCATED_792_DP_1SRC_IMM: return "UNALLOCATED_792_dp_1src_imm"; - case ENC_UNALLOCATED_793_DP_1SRC_IMM: return "UNALLOCATED_793_dp_1src_imm"; - case ENC_UNALLOCATED_794_EXTRACT: return "UNALLOCATED_794_extract"; - case ENC_UNALLOCATED_795_EXTRACT: return "UNALLOCATED_795_extract"; - case ENC_UNALLOCATED_796_EXTRACT: return "UNALLOCATED_796_extract"; - case ENC_UNALLOCATED_797_EXTRACT: return "UNALLOCATED_797_extract"; - case ENC_UNALLOCATED_798_EXTRACT: return "UNALLOCATED_798_extract"; - case ENC_UNALLOCATED_799_EXTRACT: return "UNALLOCATED_799_extract"; - case ENC_UNALLOCATED_800_LOG_IMM: return "UNALLOCATED_800_log_imm"; - case ENC_UNALLOCATED_801_MINMAX_IMM: return "UNALLOCATED_801_minmax_imm"; - case ENC_UNALLOCATED_802_MINMAX_IMM: return "UNALLOCATED_802_minmax_imm"; - case ENC_UNALLOCATED_803_MINMAX_IMM: return "UNALLOCATED_803_minmax_imm"; - case ENC_UNALLOCATED_804_MINMAX_IMM: return "UNALLOCATED_804_minmax_imm"; - case ENC_UNALLOCATED_805_MOVEWIDE: return "UNALLOCATED_805_movewide"; - case ENC_UNALLOCATED_806_MOVEWIDE: return "UNALLOCATED_806_movewide"; - case ENC_UNALLOCATED_807_MOVEWIDE: return "UNALLOCATED_807_movewide"; - case ENC_UNALLOCATED_808_BARRIERS: return "UNALLOCATED_808_barriers"; - case ENC_UNALLOCATED_809_BARRIERS: return "UNALLOCATED_809_barriers"; - case ENC_UNALLOCATED_810_BARRIERS: return "UNALLOCATED_810_barriers"; - case ENC_UNALLOCATED_811_BARRIERS: return "UNALLOCATED_811_barriers"; - case ENC_UNALLOCATED_812_BARRIERS: return "UNALLOCATED_812_barriers"; - case ENC_UNALLOCATED_813_COMPBRANCH_REGS2: return "UNALLOCATED_813_compbranch_regs2"; - case ENC_UNALLOCATED_814_COMPBRANCH_IMM: return "UNALLOCATED_814_compbranch_imm"; - case ENC_UNALLOCATED_815_COMPBRANCH_REGS: return "UNALLOCATED_815_compbranch_regs"; - case ENC_UNALLOCATED_816_EXCEPTION: return "UNALLOCATED_816_exception"; - case ENC_UNALLOCATED_817_EXCEPTION: return "UNALLOCATED_817_exception"; - case ENC_UNALLOCATED_818_EXCEPTION: return "UNALLOCATED_818_exception"; - case ENC_UNALLOCATED_819_EXCEPTION: return "UNALLOCATED_819_exception"; - case ENC_UNALLOCATED_820_EXCEPTION: return "UNALLOCATED_820_exception"; - case ENC_UNALLOCATED_821_EXCEPTION: return "UNALLOCATED_821_exception"; - case ENC_UNALLOCATED_822_EXCEPTION: return "UNALLOCATED_822_exception"; - case ENC_UNALLOCATED_832_MISCBRANCH: return "UNALLOCATED_832_miscbranch"; - case ENC_UNALLOCATED_833_MISCBRANCH: return "UNALLOCATED_833_miscbranch"; + case ENC_UNALLOCATED_700_MORTLACH_ZT_LDST: return "UNALLOCATED_700_mortlach_zt_ldst"; + case ENC_UNALLOCATED_701_MORTLACH_ZT_LDST: return "UNALLOCATED_701_mortlach_zt_ldst"; + case ENC_UNALLOCATED_702_MORTLACH_ZT_LDST: return "UNALLOCATED_702_mortlach_zt_ldst"; + case ENC_UNALLOCATED_703_MORTLACH_ZT_LDST: return "UNALLOCATED_703_mortlach_zt_ldst"; + case ENC_UNALLOCATED_704_MORTLACH_EXTRACT_PRED: return "UNALLOCATED_704_mortlach_extract_pred"; + case ENC_UNALLOCATED_705_MORTLACH_MULTI4_EXTRACT_CTG: return "UNALLOCATED_705_mortlach_multi4_extract_ctg"; + case ENC_UNALLOCATED_706_MORTLACH_EXTRACT_ZERO: return "UNALLOCATED_706_mortlach_extract_zero"; + case ENC_UNALLOCATED_707_MORTLACH_MULTI4_EXTRACT_ZERO: return "UNALLOCATED_707_mortlach_multi4_extract_zero"; + case ENC_UNALLOCATED_708_MORTLACH_INSERT_PRED: return "UNALLOCATED_708_mortlach_insert_pred"; + case ENC_UNALLOCATED_709_MORTLACH_MULTI4_INSERT_CTG: return "UNALLOCATED_709_mortlach_multi4_insert_ctg"; + case ENC_UNALLOCATED_710_MORTLACH_EXPAND_2DST_CTG: return "UNALLOCATED_710_mortlach_expand_2dst_ctg"; + case ENC_UNALLOCATED_711_MORTLACH_EXPAND_2DST_CTG: return "UNALLOCATED_711_mortlach_expand_2dst_ctg"; + case ENC_UNALLOCATED_712_MORTLACH_EXPAND_4DST_CTG: return "UNALLOCATED_712_mortlach_expand_4dst_ctg"; + case ENC_UNALLOCATED_713_MORTLACH_EXPAND_4DST_CTG: return "UNALLOCATED_713_mortlach_expand_4dst_ctg"; + case ENC_UNALLOCATED_714_MORTLACH_EXPAND_1DST: return "UNALLOCATED_714_mortlach_expand_1dst"; + case ENC_UNALLOCATED_715_MORTLACH_EXPAND_1DST: return "UNALLOCATED_715_mortlach_expand_1dst"; + case ENC_UNALLOCATED_716_MORTLACH_EXPAND_1DST: return "UNALLOCATED_716_mortlach_expand_1dst"; + case ENC_UNALLOCATED_717_MORTLACH_EXPAND_1DST: return "UNALLOCATED_717_mortlach_expand_1dst"; + case ENC_UNALLOCATED_718_MORTLACH_EXPAND_1DST: return "UNALLOCATED_718_mortlach_expand_1dst"; + case ENC_UNALLOCATED_719_MORTLACH_EXPAND_4DST2SRC_CTG: return "UNALLOCATED_719_mortlach_expand_4dst2src_ctg"; + case ENC_UNALLOCATED_720_MORTLACH_EXPAND_4DST3SRC_CTG: return "UNALLOCATED_720_mortlach_expand_4dst3src_ctg"; + case ENC_UNALLOCATED_721_MORTLACH_EXPAND_4DST3SRC_CTG: return "UNALLOCATED_721_mortlach_expand_4dst3src_ctg"; + case ENC_UNALLOCATED_722_MORTLACH_EXPAND_2DST_NCTG: return "UNALLOCATED_722_mortlach_expand_2dst_nctg"; + case ENC_UNALLOCATED_723_MORTLACH_EXPAND_2DST_NCTG: return "UNALLOCATED_723_mortlach_expand_2dst_nctg"; + case ENC_UNALLOCATED_724_MORTLACH_EXPAND_4DST_NCTG: return "UNALLOCATED_724_mortlach_expand_4dst_nctg"; + case ENC_UNALLOCATED_725_MORTLACH_EXPAND_4DST_NCTG: return "UNALLOCATED_725_mortlach_expand_4dst_nctg"; + case ENC_UNALLOCATED_726_MORTLACH_EXPAND_4DST2SRC_NCTG: return "UNALLOCATED_726_mortlach_expand_4dst2src_nctg"; + case ENC_UNALLOCATED_727_MORTLACH_EXPAND_4DST3SRC_NCTG: return "UNALLOCATED_727_mortlach_expand_4dst3src_nctg"; + case ENC_UNALLOCATED_728_MORTLACH_EXPAND_4DST3SRC_NCTG: return "UNALLOCATED_728_mortlach_expand_4dst3src_nctg"; + case ENC_UNALLOCATED_729_MORTLACH_EXTRACT_ZT: return "UNALLOCATED_729_mortlach_extract_zt"; + case ENC_UNALLOCATED_730_MORTLACH_INSERT_ZT: return "UNALLOCATED_730_mortlach_insert_zt"; + case ENC_UNALLOCATED_731_MORTLACH_MOVE_TO_ZT: return "UNALLOCATED_731_mortlach_move_to_zt"; + case ENC_UNALLOCATED_732_MORTLACH_MULTI4_MLA_LONG_LONG_IDX_S: return "UNALLOCATED_732_mortlach_multi4_mla_long_long_idx_s"; + case ENC_UNALLOCATED_733_MORTLACH_MULTI4_ZZA_IDX_S: return "UNALLOCATED_733_mortlach_multi4_zza_idx_s"; + case ENC_UNALLOCATED_734_MORTLACH_MULTI4_ZZA_IDX_D: return "UNALLOCATED_734_mortlach_multi4_zza_idx_d"; + case ENC_UNALLOCATED_735_MORTLACH_MULTI1_MLA_LONG_LONG_IDX_S: return "UNALLOCATED_735_mortlach_multi1_mla_long_long_idx_s"; + case ENC_UNALLOCATED_736_MORTLACH_MULTI2_MLA_LONG_LONG_IDX_S: return "UNALLOCATED_736_mortlach_multi2_mla_long_long_idx_s"; + case ENC_UNALLOCATED_737_MORTLACH_MULTI2_ZZA_IDX_S: return "UNALLOCATED_737_mortlach_multi2_zza_idx_s"; + case ENC_UNALLOCATED_738_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_738_mortlach_multi4_zz_za_mla_long_long_mm"; + case ENC_UNALLOCATED_739_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_739_mortlach_multi4_zz_za_mla_long_long_mm"; + case ENC_UNALLOCATED_740_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_740_mortlach_multi4_zz_za_mla_long_long_mm"; + case ENC_UNALLOCATED_741_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_741_mortlach_multi2_zz_za_mla_long_long_mm"; + case ENC_UNALLOCATED_742_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_742_mortlach_multi2_zz_za_mla_long_long_mm"; + case ENC_UNALLOCATED_743_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_MM: return "UNALLOCATED_743_mortlach_multi2_zz_za_mla_long_long_mm"; + case ENC_UNALLOCATED_744_MORTLACH_MULTI4_Z_Z_MINMAX_MM: return "UNALLOCATED_744_mortlach_multi4_z_z_minmax_mm"; + case ENC_UNALLOCATED_745_MORTLACH_MULTI4_Z_Z_FMINMAX_MM: return "UNALLOCATED_745_mortlach_multi4_z_z_fminmax_mm"; + case ENC_UNALLOCATED_746_MORTLACH_MULTI4_Z_Z_FSCALE_MM: return "UNALLOCATED_746_mortlach_multi4_z_z_fscale_mm"; + case ENC_UNALLOCATED_747_MORTLACH_MULTI4_Z_Z_FSCALE_MM: return "UNALLOCATED_747_mortlach_multi4_z_z_fscale_mm"; + case ENC_UNALLOCATED_748_MORTLACH_MULTI4_Z_Z_SHIFT_MM: return "UNALLOCATED_748_mortlach_multi4_z_z_shift_mm"; + case ENC_UNALLOCATED_749_MORTLACH_MULTI2_Z_Z_MINMAX_MM: return "UNALLOCATED_749_mortlach_multi2_z_z_minmax_mm"; + case ENC_UNALLOCATED_750_MORTLACH_MULTI2_Z_Z_FMINMAX_MM: return "UNALLOCATED_750_mortlach_multi2_z_z_fminmax_mm"; + case ENC_UNALLOCATED_751_MORTLACH_MULTI2_Z_Z_FSCALE_MM: return "UNALLOCATED_751_mortlach_multi2_z_z_fscale_mm"; + case ENC_UNALLOCATED_752_MORTLACH_MULTI2_Z_Z_FSCALE_MM: return "UNALLOCATED_752_mortlach_multi2_z_z_fscale_mm"; + case ENC_UNALLOCATED_753_MORTLACH_MULTI2_Z_Z_SHIFT_MM: return "UNALLOCATED_753_mortlach_multi2_z_z_shift_mm"; + case ENC_UNALLOCATED_754_MORTLACH_MULTI4_Z_Z_SQDMULH_MM: return "UNALLOCATED_754_mortlach_multi4_z_z_sqdmulh_mm"; + case ENC_UNALLOCATED_755_MORTLACH_MULTI2_Z_Z_SQDMULH_MM: return "UNALLOCATED_755_mortlach_multi2_z_z_sqdmulh_mm"; + case ENC_UNALLOCATED_756_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_756_mortlach_multi4_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_757_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_757_mortlach_multi4_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_758_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_758_mortlach_multi4_zz_za_fma_long_sm"; + case ENC_UNALLOCATED_759_MORTLACH_MULTI4_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_759_mortlach_multi4_zz_za_fma_long_sm"; + case ENC_UNALLOCATED_760_MORTLACH_MULTI4_ZZ_ZA_MLA_LONG_SM: return "UNALLOCATED_760_mortlach_multi4_zz_za_mla_long_sm"; + case ENC_UNALLOCATED_761_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_761_mortlach_multi2_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_762_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_762_mortlach_multi2_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_763_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_763_mortlach_multi1_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_764_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_764_mortlach_multi1_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_765_MORTLACH_MULTI1_ZZ_ZA_MLA_LONG_LONG_SM: return "UNALLOCATED_765_mortlach_multi1_zz_za_mla_long_long_sm"; + case ENC_UNALLOCATED_766_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_766_mortlach_multi2_zz_za_fma_long_sm"; + case ENC_UNALLOCATED_767_MORTLACH_MULTI2_ZZ_ZA_FMA_LONG_SM: return "UNALLOCATED_767_mortlach_multi2_zz_za_fma_long_sm"; + case ENC_UNALLOCATED_768_MORTLACH_MULTI2_ZZ_ZA_MLA_LONG_SM: return "UNALLOCATED_768_mortlach_multi2_zz_za_mla_long_sm"; + case ENC_UNALLOCATED_769_MORTLACH_MULTI4_Z_Z_FSCALE_SM: return "UNALLOCATED_769_mortlach_multi4_z_z_fscale_sm"; + case ENC_UNALLOCATED_770_MORTLACH_MULTI4_Z_Z_SHIFT_SM: return "UNALLOCATED_770_mortlach_multi4_z_z_shift_sm"; + case ENC_UNALLOCATED_771_MORTLACH_MULTI4_Z_Z_ADD_SM: return "UNALLOCATED_771_mortlach_multi4_z_z_add_sm"; + case ENC_UNALLOCATED_772_MORTLACH_MULTI4_Z_Z_SQDMULH_SM: return "UNALLOCATED_772_mortlach_multi4_z_z_sqdmulh_sm"; + case ENC_UNALLOCATED_773_MORTLACH_MULTI2_Z_Z_FSCALE_SM: return "UNALLOCATED_773_mortlach_multi2_z_z_fscale_sm"; + case ENC_UNALLOCATED_774_MORTLACH_MULTI2_Z_Z_SHIFT_SM: return "UNALLOCATED_774_mortlach_multi2_z_z_shift_sm"; + case ENC_UNALLOCATED_775_MORTLACH_MULTI2_Z_Z_ADD_SM: return "UNALLOCATED_775_mortlach_multi2_z_z_add_sm"; + case ENC_UNALLOCATED_776_MORTLACH_MULTI2_Z_Z_SQDMULH_SM: return "UNALLOCATED_776_mortlach_multi2_z_z_sqdmulh_sm"; + case ENC_UNALLOCATED_777_MORTLACH_MULTI2_FCLAMP: return "UNALLOCATED_777_mortlach_multi2_fclamp"; + case ENC_UNALLOCATED_778_MORTLACH_MULTI4_FCLAMP: return "UNALLOCATED_778_mortlach_multi4_fclamp"; + case ENC_UNALLOCATED_779_MORTLACH_MULTI2_QRSHR: return "UNALLOCATED_779_mortlach_multi2_qrshr"; + case ENC_UNALLOCATED_780_MORTLACH_MULTI4_QRSHR: return "UNALLOCATED_780_mortlach_multi4_qrshr"; + case ENC_UNALLOCATED_781_MORTLACH_MULTI2_NARROW_INT_CVRT: return "UNALLOCATED_781_mortlach_multi2_narrow_int_cvrt"; + case ENC_UNALLOCATED_782_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_782_mortlach_multi2_frint"; + case ENC_UNALLOCATED_783_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_783_mortlach_multi2_frint"; + case ENC_UNALLOCATED_784_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_784_mortlach_multi2_frint"; + case ENC_UNALLOCATED_785_MORTLACH_MULTI2_FRINT: return "UNALLOCATED_785_mortlach_multi2_frint"; + case ENC_UNALLOCATED_786_MORTLACH_MULTI4_NARROW_INT_CVRT: return "UNALLOCATED_786_mortlach_multi4_narrow_int_cvrt"; + case ENC_UNALLOCATED_787_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_787_mortlach_multi4_frint"; + case ENC_UNALLOCATED_788_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_788_mortlach_multi4_frint"; + case ENC_UNALLOCATED_789_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_789_mortlach_multi4_frint"; + case ENC_UNALLOCATED_790_MORTLACH_MULTI4_FRINT: return "UNALLOCATED_790_mortlach_multi4_frint"; + case ENC_UNALLOCATED_791_MORTLACH_MULTI_ZERO: return "UNALLOCATED_791_mortlach_multi_zero"; + case ENC_UNALLOCATED_792_MORTLACH_MULTI_ZERO: return "UNALLOCATED_792_mortlach_multi_zero"; + case ENC_UNALLOCATED_793_MORTLACH_MULTI_ZERO: return "UNALLOCATED_793_mortlach_multi_zero"; + case ENC_UNALLOCATED_794_MORTLACH_ZERO_ZT: return "UNALLOCATED_794_mortlach_zero_zt"; + case ENC_UNALLOCATED_795_MORTLACH_ZERO_ZT: return "UNALLOCATED_795_mortlach_zero_zt"; + case ENC_UNALLOCATED_796_ADDSUB_IMMTAGS: return "UNALLOCATED_796_addsub_immtags"; + case ENC_UNALLOCATED_797_ADDSUB_IMMTAGS: return "UNALLOCATED_797_addsub_immtags"; + case ENC_UNALLOCATED_798_BITFIELD: return "UNALLOCATED_798_bitfield"; + case ENC_UNALLOCATED_799_BITFIELD: return "UNALLOCATED_799_bitfield"; + case ENC_UNALLOCATED_800_BITFIELD: return "UNALLOCATED_800_bitfield"; + case ENC_UNALLOCATED_801_BITFIELD: return "UNALLOCATED_801_bitfield"; + case ENC_UNALLOCATED_802_DP_1SRC_IMM: return "UNALLOCATED_802_dp_1src_imm"; + case ENC_UNALLOCATED_803_DP_1SRC_IMM: return "UNALLOCATED_803_dp_1src_imm"; + case ENC_UNALLOCATED_804_DP_1SRC_IMM: return "UNALLOCATED_804_dp_1src_imm"; + case ENC_UNALLOCATED_805_EXTRACT: return "UNALLOCATED_805_extract"; + case ENC_UNALLOCATED_806_EXTRACT: return "UNALLOCATED_806_extract"; + case ENC_UNALLOCATED_807_EXTRACT: return "UNALLOCATED_807_extract"; + case ENC_UNALLOCATED_808_EXTRACT: return "UNALLOCATED_808_extract"; + case ENC_UNALLOCATED_809_EXTRACT: return "UNALLOCATED_809_extract"; + case ENC_UNALLOCATED_810_EXTRACT: return "UNALLOCATED_810_extract"; + case ENC_UNALLOCATED_811_LOG_IMM: return "UNALLOCATED_811_log_imm"; + case ENC_UNALLOCATED_812_MINMAX_IMM: return "UNALLOCATED_812_minmax_imm"; + case ENC_UNALLOCATED_813_MINMAX_IMM: return "UNALLOCATED_813_minmax_imm"; + case ENC_UNALLOCATED_814_MINMAX_IMM: return "UNALLOCATED_814_minmax_imm"; + case ENC_UNALLOCATED_815_MINMAX_IMM: return "UNALLOCATED_815_minmax_imm"; + case ENC_UNALLOCATED_816_MOVEWIDE: return "UNALLOCATED_816_movewide"; + case ENC_UNALLOCATED_817_MOVEWIDE: return "UNALLOCATED_817_movewide"; + case ENC_UNALLOCATED_818_MOVEWIDE: return "UNALLOCATED_818_movewide"; + case ENC_UNALLOCATED_819_BARRIERS: return "UNALLOCATED_819_barriers"; + case ENC_UNALLOCATED_820_BARRIERS: return "UNALLOCATED_820_barriers"; + case ENC_UNALLOCATED_821_BARRIERS: return "UNALLOCATED_821_barriers"; + case ENC_UNALLOCATED_822_BARRIERS: return "UNALLOCATED_822_barriers"; + case ENC_UNALLOCATED_823_BARRIERS: return "UNALLOCATED_823_barriers"; + case ENC_UNALLOCATED_824_COMPBRANCH_REGS2: return "UNALLOCATED_824_compbranch_regs2"; + case ENC_UNALLOCATED_825_COMPBRANCH_IMM: return "UNALLOCATED_825_compbranch_imm"; + case ENC_UNALLOCATED_826_COMPBRANCH_REGS: return "UNALLOCATED_826_compbranch_regs"; + case ENC_UNALLOCATED_827_EXCEPTION: return "UNALLOCATED_827_exception"; + case ENC_UNALLOCATED_828_EXCEPTION: return "UNALLOCATED_828_exception"; + case ENC_UNALLOCATED_829_EXCEPTION: return "UNALLOCATED_829_exception"; + case ENC_UNALLOCATED_830_EXCEPTION: return "UNALLOCATED_830_exception"; + case ENC_UNALLOCATED_831_EXCEPTION: return "UNALLOCATED_831_exception"; + case ENC_UNALLOCATED_832_EXCEPTION: return "UNALLOCATED_832_exception"; + case ENC_UNALLOCATED_833_EXCEPTION: return "UNALLOCATED_833_exception"; case ENC_UNALLOCATED_834_MISCBRANCH: return "UNALLOCATED_834_miscbranch"; - case ENC_UNALLOCATED_835_PSTATE: return "UNALLOCATED_835_pstate"; - case ENC_UNALLOCATED_836_PSTATE: return "UNALLOCATED_836_pstate"; + case ENC_UNALLOCATED_835_MISCBRANCH: return "UNALLOCATED_835_miscbranch"; + case ENC_UNALLOCATED_836_MISCBRANCH: return "UNALLOCATED_836_miscbranch"; case ENC_UNALLOCATED_837_PSTATE: return "UNALLOCATED_837_pstate"; case ENC_UNALLOCATED_838_PSTATE: return "UNALLOCATED_838_pstate"; case ENC_UNALLOCATED_839_PSTATE: return "UNALLOCATED_839_pstate"; - case ENC_UNALLOCATED_840_SYSTEMINSTRSWITHREG: return "UNALLOCATED_840_systeminstrswithreg"; - case ENC_UNALLOCATED_841_SYSTEMINSTRSWITHREG: return "UNALLOCATED_841_systeminstrswithreg"; + case ENC_UNALLOCATED_840_PSTATE: return "UNALLOCATED_840_pstate"; + case ENC_UNALLOCATED_841_PSTATE: return "UNALLOCATED_841_pstate"; case ENC_UNALLOCATED_842_SYSTEMINSTRSWITHREG: return "UNALLOCATED_842_systeminstrswithreg"; - case ENC_UNALLOCATED_843_SYSPAIRINSTRS: return "UNALLOCATED_843_syspairinstrs"; - case ENC_UNALLOCATED_844_SYSTEMRESULT: return "UNALLOCATED_844_systemresult"; - case ENC_UNALLOCATED_845_SYSTEMRESULT: return "UNALLOCATED_845_systemresult"; - case ENC_UNALLOCATED_846_SYSTEMRESULT: return "UNALLOCATED_846_systemresult"; - case ENC_UNALLOCATED_847_SYSTEMRESULT: return "UNALLOCATED_847_systemresult"; - case ENC_UNALLOCATED_848_SYSTEMRESULT: return "UNALLOCATED_848_systemresult"; - case ENC_UNALLOCATED_849_SYSTEMRESULT: return "UNALLOCATED_849_systemresult"; + case ENC_UNALLOCATED_843_SYSTEMINSTRSWITHREG: return "UNALLOCATED_843_systeminstrswithreg"; + case ENC_UNALLOCATED_844_SYSTEMINSTRSWITHREG: return "UNALLOCATED_844_systeminstrswithreg"; + case ENC_UNALLOCATED_845_SYSPAIRINSTRS: return "UNALLOCATED_845_syspairinstrs"; + case ENC_UNALLOCATED_846_BRANCH_REG: return "UNALLOCATED_846_branch_reg"; + case ENC_UNALLOCATED_847_BRANCH_REG: return "UNALLOCATED_847_branch_reg"; + case ENC_UNALLOCATED_848_BRANCH_REG: return "UNALLOCATED_848_branch_reg"; + case ENC_UNALLOCATED_849_BRANCH_REG: return "UNALLOCATED_849_branch_reg"; case ENC_UNALLOCATED_850_BRANCH_REG: return "UNALLOCATED_850_branch_reg"; case ENC_UNALLOCATED_851_BRANCH_REG: return "UNALLOCATED_851_branch_reg"; case ENC_UNALLOCATED_852_BRANCH_REG: return "UNALLOCATED_852_branch_reg"; @@ -3026,34 +3039,34 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_868_BRANCH_REG: return "UNALLOCATED_868_branch_reg"; case ENC_UNALLOCATED_869_BRANCH_REG: return "UNALLOCATED_869_branch_reg"; case ENC_UNALLOCATED_870_BRANCH_REG: return "UNALLOCATED_870_branch_reg"; - case ENC_UNALLOCATED_871_BRANCH_REG: return "UNALLOCATED_871_branch_reg"; - case ENC_UNALLOCATED_872_BRANCH_REG: return "UNALLOCATED_872_branch_reg"; - case ENC_UNALLOCATED_873_BRANCH_REG: return "UNALLOCATED_873_branch_reg"; - case ENC_UNALLOCATED_874_BRANCH_REG: return "UNALLOCATED_874_branch_reg"; - case ENC_UNALLOCATED_875_MEMOP_128: return "UNALLOCATED_875_memop_128"; - case ENC_UNALLOCATED_876_MEMOP_128: return "UNALLOCATED_876_memop_128"; - case ENC_UNALLOCATED_877_MEMOP_128: return "UNALLOCATED_877_memop_128"; - case ENC_UNALLOCATED_878_MEMOP_128: return "UNALLOCATED_878_memop_128"; - case ENC_UNALLOCATED_879_ASISDLSE: return "UNALLOCATED_879_asisdlse"; - case ENC_UNALLOCATED_880_ASISDLSE: return "UNALLOCATED_880_asisdlse"; - case ENC_UNALLOCATED_881_ASISDLSE: return "UNALLOCATED_881_asisdlse"; - case ENC_UNALLOCATED_882_ASISDLSEP: return "UNALLOCATED_882_asisdlsep"; - case ENC_UNALLOCATED_883_ASISDLSEP: return "UNALLOCATED_883_asisdlsep"; - case ENC_UNALLOCATED_884_ASISDLSEP: return "UNALLOCATED_884_asisdlsep"; + case ENC_UNALLOCATED_871_MEMOP_128: return "UNALLOCATED_871_memop_128"; + case ENC_UNALLOCATED_872_MEMOP_128: return "UNALLOCATED_872_memop_128"; + case ENC_UNALLOCATED_873_MEMOP_128: return "UNALLOCATED_873_memop_128"; + case ENC_UNALLOCATED_874_MEMOP_128: return "UNALLOCATED_874_memop_128"; + case ENC_UNALLOCATED_875_ASISDLSE: return "UNALLOCATED_875_asisdlse"; + case ENC_UNALLOCATED_876_ASISDLSE: return "UNALLOCATED_876_asisdlse"; + case ENC_UNALLOCATED_877_ASISDLSE: return "UNALLOCATED_877_asisdlse"; + case ENC_UNALLOCATED_878_ASISDLSEP: return "UNALLOCATED_878_asisdlsep"; + case ENC_UNALLOCATED_879_ASISDLSEP: return "UNALLOCATED_879_asisdlsep"; + case ENC_UNALLOCATED_880_ASISDLSEP: return "UNALLOCATED_880_asisdlsep"; + case ENC_UNALLOCATED_881_ASISDLSO: return "UNALLOCATED_881_asisdlso"; + case ENC_UNALLOCATED_882_ASISDLSO: return "UNALLOCATED_882_asisdlso"; + case ENC_UNALLOCATED_883_ASISDLSO: return "UNALLOCATED_883_asisdlso"; + case ENC_UNALLOCATED_884_ASISDLSO: return "UNALLOCATED_884_asisdlso"; case ENC_UNALLOCATED_885_ASISDLSO: return "UNALLOCATED_885_asisdlso"; case ENC_UNALLOCATED_886_ASISDLSO: return "UNALLOCATED_886_asisdlso"; case ENC_UNALLOCATED_887_ASISDLSO: return "UNALLOCATED_887_asisdlso"; case ENC_UNALLOCATED_888_ASISDLSO: return "UNALLOCATED_888_asisdlso"; case ENC_UNALLOCATED_889_ASISDLSO: return "UNALLOCATED_889_asisdlso"; - case ENC_UNALLOCATED_890_ASISDLSO: return "UNALLOCATED_890_asisdlso"; - case ENC_UNALLOCATED_891_ASISDLSO: return "UNALLOCATED_891_asisdlso"; - case ENC_UNALLOCATED_892_ASISDLSO: return "UNALLOCATED_892_asisdlso"; - case ENC_UNALLOCATED_893_ASISDLSO: return "UNALLOCATED_893_asisdlso"; + case ENC_UNALLOCATED_890_ASISDLSOP: return "UNALLOCATED_890_asisdlsop"; + case ENC_UNALLOCATED_891_ASISDLSOP: return "UNALLOCATED_891_asisdlsop"; + case ENC_UNALLOCATED_892_ASISDLSOP: return "UNALLOCATED_892_asisdlsop"; + case ENC_UNALLOCATED_893_ASISDLSOP: return "UNALLOCATED_893_asisdlsop"; case ENC_UNALLOCATED_894_ASISDLSOP: return "UNALLOCATED_894_asisdlsop"; - case ENC_UNALLOCATED_895_ASISDLSOP: return "UNALLOCATED_895_asisdlsop"; - case ENC_UNALLOCATED_896_ASISDLSOP: return "UNALLOCATED_896_asisdlsop"; - case ENC_UNALLOCATED_897_ASISDLSOP: return "UNALLOCATED_897_asisdlsop"; - case ENC_UNALLOCATED_898_ASISDLSOP: return "UNALLOCATED_898_asisdlsop"; + case ENC_UNALLOCATED_895_MEMOP: return "UNALLOCATED_895_memop"; + case ENC_UNALLOCATED_896_MEMOP: return "UNALLOCATED_896_memop"; + case ENC_UNALLOCATED_897_MEMOP: return "UNALLOCATED_897_memop"; + case ENC_UNALLOCATED_898_MEMOP: return "UNALLOCATED_898_memop"; case ENC_UNALLOCATED_899_MEMOP: return "UNALLOCATED_899_memop"; case ENC_UNALLOCATED_900_MEMOP: return "UNALLOCATED_900_memop"; case ENC_UNALLOCATED_901_MEMOP: return "UNALLOCATED_901_memop"; @@ -3072,28 +3085,28 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UNALLOCATED_914_MEMOP: return "UNALLOCATED_914_memop"; case ENC_UNALLOCATED_915_MEMOP: return "UNALLOCATED_915_memop"; case ENC_UNALLOCATED_916_MEMOP: return "UNALLOCATED_916_memop"; - case ENC_UNALLOCATED_917_MEMOP: return "UNALLOCATED_917_memop"; - case ENC_UNALLOCATED_918_MEMOP: return "UNALLOCATED_918_memop"; - case ENC_UNALLOCATED_919_MEMOP: return "UNALLOCATED_919_memop"; - case ENC_UNALLOCATED_920_MEMOP: return "UNALLOCATED_920_memop"; - case ENC_UNALLOCATED_921_MEMOP_UNPRIV: return "UNALLOCATED_921_memop_unpriv"; - case ENC_UNALLOCATED_922_MEMOP_UNPRIV: return "UNALLOCATED_922_memop_unpriv"; - case ENC_UNALLOCATED_923_MEMOP_UNPRIV: return "UNALLOCATED_923_memop_unpriv"; - case ENC_UNALLOCATED_924_COMSWAP: return "UNALLOCATED_924_comswap"; - case ENC_UNALLOCATED_925_COMSWAP_UNPRIV: return "UNALLOCATED_925_comswap_unpriv"; - case ENC_UNALLOCATED_926_COMSWAP_UNPRIV: return "UNALLOCATED_926_comswap_unpriv"; - case ENC_UNALLOCATED_927_COMSWAPPR: return "UNALLOCATED_927_comswappr"; - case ENC_UNALLOCATED_928_COMSWAPPR_UNPRIV: return "UNALLOCATED_928_comswappr_unpriv"; - case ENC_UNALLOCATED_929_COMSWAPPR_UNPRIV: return "UNALLOCATED_929_comswappr_unpriv"; - case ENC_UNALLOCATED_930_LDST_GCS: return "UNALLOCATED_930_ldst_gcs"; - case ENC_UNALLOCATED_931_LDST_GCS: return "UNALLOCATED_931_ldst_gcs"; - case ENC_UNALLOCATED_932_LOADLIT: return "UNALLOCATED_932_loadlit"; - case ENC_UNALLOCATED_933_LDSTTAGS: return "UNALLOCATED_933_ldsttags"; - case ENC_UNALLOCATED_934_LDSTNAPAIR_OFFS: return "UNALLOCATED_934_ldstnapair_offs"; - case ENC_UNALLOCATED_935_LDAPSTL_SIMD: return "UNALLOCATED_935_ldapstl_simd"; - case ENC_UNALLOCATED_936_LDAPSTL_UNSCALED: return "UNALLOCATED_936_ldapstl_unscaled"; - case ENC_UNALLOCATED_937_LDAPSTL_UNSCALED: return "UNALLOCATED_937_ldapstl_unscaled"; - case ENC_UNALLOCATED_938_LDAPSTL_WRITEBACK: return "UNALLOCATED_938_ldapstl_writeback"; + case ENC_UNALLOCATED_917_MEMOP_UNPRIV: return "UNALLOCATED_917_memop_unpriv"; + case ENC_UNALLOCATED_918_MEMOP_UNPRIV: return "UNALLOCATED_918_memop_unpriv"; + case ENC_UNALLOCATED_919_MEMOP_UNPRIV: return "UNALLOCATED_919_memop_unpriv"; + case ENC_UNALLOCATED_920_COMSWAP: return "UNALLOCATED_920_comswap"; + case ENC_UNALLOCATED_921_COMSWAP_UNPRIV: return "UNALLOCATED_921_comswap_unpriv"; + case ENC_UNALLOCATED_922_COMSWAP_UNPRIV: return "UNALLOCATED_922_comswap_unpriv"; + case ENC_UNALLOCATED_923_COMSWAPPR: return "UNALLOCATED_923_comswappr"; + case ENC_UNALLOCATED_924_COMSWAPPR_UNPRIV: return "UNALLOCATED_924_comswappr_unpriv"; + case ENC_UNALLOCATED_925_COMSWAPPR_UNPRIV: return "UNALLOCATED_925_comswappr_unpriv"; + case ENC_UNALLOCATED_926_LDST_GCS: return "UNALLOCATED_926_ldst_gcs"; + case ENC_UNALLOCATED_927_LDST_GCS: return "UNALLOCATED_927_ldst_gcs"; + case ENC_UNALLOCATED_928_LOADLIT: return "UNALLOCATED_928_loadlit"; + case ENC_UNALLOCATED_929_LDSTTAGS: return "UNALLOCATED_929_ldsttags"; + case ENC_UNALLOCATED_930_LDSTNAPAIR_OFFS: return "UNALLOCATED_930_ldstnapair_offs"; + case ENC_UNALLOCATED_931_LDAPSTL_SIMD: return "UNALLOCATED_931_ldapstl_simd"; + case ENC_UNALLOCATED_932_LDAPSTL_UNSCALED: return "UNALLOCATED_932_ldapstl_unscaled"; + case ENC_UNALLOCATED_933_LDAPSTL_UNSCALED: return "UNALLOCATED_933_ldapstl_unscaled"; + case ENC_UNALLOCATED_934_LDAPSTL_WRITEBACK: return "UNALLOCATED_934_ldapstl_writeback"; + case ENC_UNALLOCATED_935_LDIAPPSTILP: return "UNALLOCATED_935_ldiappstilp"; + case ENC_UNALLOCATED_936_LDIAPPSTILP: return "UNALLOCATED_936_ldiappstilp"; + case ENC_UNALLOCATED_937_LDIAPPSTILP: return "UNALLOCATED_937_ldiappstilp"; + case ENC_UNALLOCATED_938_LDIAPPSTILP: return "UNALLOCATED_938_ldiappstilp"; case ENC_UNALLOCATED_939_LDIAPPSTILP: return "UNALLOCATED_939_ldiappstilp"; case ENC_UNALLOCATED_940_LDIAPPSTILP: return "UNALLOCATED_940_ldiappstilp"; case ENC_UNALLOCATED_941_LDIAPPSTILP: return "UNALLOCATED_941_ldiappstilp"; @@ -3235,8 +3248,10 @@ const char *enc_to_str(enum ENCODING enc) case ENC_ADDPL_R_RI_: return "addpl_r_ri_"; case ENC_ADDPT_Z_P_ZZ_: return "addpt_z_p_zz_"; case ENC_ADDPT_Z_ZZ_: return "addpt_z_zz_"; + case ENC_ADDQP_Z_ZZ_: return "addqp_z_zz_"; case ENC_ADDQV_Z_P_Z_: return "addqv_z_p_z_"; case ENC_ADDSPL_R_RI_: return "addspl_r_ri_"; + case ENC_ADDSUBP_Z_ZZ_: return "addsubp_z_zz_"; case ENC_ADDSVL_R_RI_: return "addsvl_r_ri_"; case ENC_ADDVA_ZA_PP_Z_32: return "addva_za_pp_z_32"; case ENC_ADDVA_ZA_PP_Z_64: return "addva_za_pp_z_64"; @@ -3365,6 +3380,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_BFMLSLT_Z_ZZZ_: return "bfmlslt_z_zzz_"; case ENC_BFMLSLT_Z_ZZZI_: return "bfmlslt_z_zzzi_"; case ENC_BFMMLA_Z_ZZZ_: return "bfmmla_z_zzz_"; + case ENC_BFMMLA_Z_ZZZ_H: return "bfmmla_z_zzz_h"; case ENC_BFMOP4A_ZA32_ZZ_H1X1: return "bfmop4a_za32_zz_h1x1"; case ENC_BFMOP4A_ZA32_ZZ_H1X2: return "bfmop4a_za32_zz_h1x2"; case ENC_BFMOP4A_ZA32_ZZ_H2X1: return "bfmop4a_za32_zz_h2x1"; @@ -3622,6 +3638,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_FCVTZS_Z_P_Z_S2WZ: return "fcvtzs_z_p_z_s2wz"; case ENC_FCVTZS_Z_P_Z_S2X: return "fcvtzs_z_p_z_s2x"; case ENC_FCVTZS_Z_P_Z_S2XZ: return "fcvtzs_z_p_z_s2xz"; + case ENC_FCVTZSN_Z_MZ2_: return "fcvtzsn_z_mz2_"; case ENC_FCVTZU_MZ_Z_2: return "fcvtzu_mz_z_2"; case ENC_FCVTZU_MZ_Z_4: return "fcvtzu_mz_z_4"; case ENC_FCVTZU_Z_P_Z_D2W: return "fcvtzu_z_p_z_d2w"; @@ -3638,6 +3655,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_FCVTZU_Z_P_Z_S2WZ: return "fcvtzu_z_p_z_s2wz"; case ENC_FCVTZU_Z_P_Z_S2X: return "fcvtzu_z_p_z_s2x"; case ENC_FCVTZU_Z_P_Z_S2XZ: return "fcvtzu_z_p_z_s2xz"; + case ENC_FCVTZUN_Z_MZ2_: return "fcvtzun_z_mz2_"; case ENC_FDIV_Z_P_ZZ_: return "fdiv_z_p_zz_"; case ENC_FDIVR_Z_P_ZZ_: return "fdivr_z_p_zz_"; case ENC_FDOT_Z32_ZZ8Z8_: return "fdot_z32_zz8z8_"; @@ -3798,6 +3816,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_FMMLA_Z32_ZZ8Z8_: return "fmmla_z32_zz8z8_"; case ENC_FMMLA_Z32_ZZZ_H: return "fmmla_z32_zzz_h"; case ENC_FMMLA_Z_ZZZ_D: return "fmmla_z_zzz_d"; + case ENC_FMMLA_Z_ZZZ_H: return "fmmla_z_zzz_h"; case ENC_FMMLA_Z_ZZZ_S: return "fmmla_z_zzz_s"; case ENC_FMOP4A_ZA16_Z8Z8_B1X1: return "fmop4a_za16_z8z8_b1x1"; case ENC_FMOP4A_ZA16_Z8Z8_B1X2: return "fmop4a_za16_z8z8_b1x2"; @@ -4298,6 +4317,13 @@ const char *enc_to_str(enum ENCODING enc) case ENC_LUTI4_Z_ZZ_1X16: return "luti4_z_zz_1x16"; case ENC_LUTI4_Z_ZZ_2X16: return "luti4_z_zz_2x16"; case ENC_LUTI4_Z_ZZ_8: return "luti4_z_zz_8"; + case ENC_LUTI6_MZ4_ZMZ2_1: return "luti6_mz4_zmz2_1"; + case ENC_LUTI6_MZ4_ZMZ2_4: return "luti6_mz4_zmz2_4"; + case ENC_LUTI6_MZ4_ZTMZ3_1: return "luti6_mz4_ztmz3_1"; + case ENC_LUTI6_MZ4_ZTMZ3_4: return "luti6_mz4_ztmz3_4"; + case ENC_LUTI6_Z_ZTZ_: return "luti6_z_ztz_"; + case ENC_LUTI6_Z_ZZZ_16: return "luti6_z_zzz_16"; + case ENC_LUTI6_Z_ZZZ_8: return "luti6_z_zzz_8"; case ENC_MAD_Z_P_ZZZ_: return "mad_z_p_zzz_"; case ENC_MADPT_Z_ZZZ_: return "madpt_z_zzz_"; case ENC_MATCH_P_P_ZZ_: return "match_p_p_zz_"; @@ -4515,6 +4541,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_RSUBHNB_Z_ZZ_: return "rsubhnb_z_zz_"; case ENC_RSUBHNT_Z_ZZ_: return "rsubhnt_z_zz_"; case ENC_SABA_Z_ZZZ_: return "saba_z_zzz_"; + case ENC_SABAL_Z_ZZ_: return "sabal_z_zz_"; case ENC_SABALB_Z_ZZZ_: return "sabalb_z_zzz_"; case ENC_SABALT_Z_ZZZ_: return "sabalt_z_zzz_"; case ENC_SABD_Z_P_ZZ_: return "sabd_z_p_zz_"; @@ -4548,8 +4575,12 @@ const char *enc_to_str(enum ENCODING enc) case ENC_SCVTF_Z_P_Z_X2FP16Z: return "scvtf_z_p_z_x2fp16z"; case ENC_SCVTF_Z_P_Z_X2S: return "scvtf_z_p_z_x2s"; case ENC_SCVTF_Z_P_Z_X2SZ: return "scvtf_z_p_z_x2sz"; + case ENC_SCVTF_Z_Z_: return "scvtf_z_z_"; + case ENC_SCVTFLT_Z_Z_: return "scvtflt_z_z_"; case ENC_SDIV_Z_P_ZZ_: return "sdiv_z_p_zz_"; case ENC_SDIVR_Z_P_ZZ_: return "sdivr_z_p_zz_"; + case ENC_SDOT_Z16_ZZZ_H: return "sdot_z16_zzz_h"; + case ENC_SDOT_Z16_ZZZI_H: return "sdot_z16_zzzi_h"; case ENC_SDOT_Z32_ZZZ_: return "sdot_z32_zzz_"; case ENC_SDOT_Z32_ZZZI_: return "sdot_z32_zzzi_"; case ENC_SDOT_Z_ZZZ_: return "sdot_z_zzz_"; @@ -4783,12 +4814,14 @@ const char *enc_to_str(enum ENCODING enc) case ENC_SQRSHR_Z_MZ2_: return "sqrshr_z_mz2_"; case ENC_SQRSHR_Z_MZ4_: return "sqrshr_z_mz4_"; case ENC_SQRSHRN_Z_MZ2_: return "sqrshrn_z_mz2_"; + case ENC_SQRSHRN_Z_MZ2_B: return "sqrshrn_z_mz2_b"; case ENC_SQRSHRN_Z_MZ4_: return "sqrshrn_z_mz4_"; case ENC_SQRSHRNB_Z_ZI_: return "sqrshrnb_z_zi_"; case ENC_SQRSHRNT_Z_ZI_: return "sqrshrnt_z_zi_"; case ENC_SQRSHRU_Z_MZ2_: return "sqrshru_z_mz2_"; case ENC_SQRSHRU_Z_MZ4_: return "sqrshru_z_mz4_"; case ENC_SQRSHRUN_Z_MZ2_: return "sqrshrun_z_mz2_"; + case ENC_SQRSHRUN_Z_MZ2_B: return "sqrshrun_z_mz2_b"; case ENC_SQRSHRUN_Z_MZ4_: return "sqrshrun_z_mz4_"; case ENC_SQRSHRUNB_Z_ZI_: return "sqrshrunb_z_zi_"; case ENC_SQRSHRUNT_Z_ZI_: return "sqrshrunt_z_zi_"; @@ -4796,8 +4829,10 @@ const char *enc_to_str(enum ENCODING enc) case ENC_SQSHL_Z_P_ZZ_: return "sqshl_z_p_zz_"; case ENC_SQSHLR_Z_P_ZZ_: return "sqshlr_z_p_zz_"; case ENC_SQSHLU_Z_P_ZI_: return "sqshlu_z_p_zi_"; + case ENC_SQSHRN_Z_MZ2_: return "sqshrn_z_mz2_"; case ENC_SQSHRNB_Z_ZI_: return "sqshrnb_z_zi_"; case ENC_SQSHRNT_Z_ZI_: return "sqshrnt_z_zi_"; + case ENC_SQSHRUN_Z_MZ2_: return "sqshrun_z_mz2_"; case ENC_SQSHRUNB_Z_ZI_: return "sqshrunb_z_zi_"; case ENC_SQSHRUNT_Z_ZI_: return "sqshrunt_z_zi_"; case ENC_SQSUB_Z_P_ZZ_: return "sqsub_z_p_zz_"; @@ -4997,6 +5032,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_SUB_ZA_ZZW_4X4: return "sub_za_zzw_4x4"; case ENC_SUBHNB_Z_ZZ_: return "subhnb_z_zz_"; case ENC_SUBHNT_Z_ZZ_: return "subhnt_z_zz_"; + case ENC_SUBP_Z_P_ZZ_: return "subp_z_p_zz_"; case ENC_SUBPT_Z_P_ZZ_: return "subpt_z_p_zz_"; case ENC_SUBPT_Z_ZZ_: return "subpt_z_zz_"; case ENC_SUBR_Z_P_ZZ_: return "subr_z_p_zz_"; @@ -5059,6 +5095,7 @@ const char *enc_to_str(enum ENCODING enc) case ENC_TRN2_Z_ZZ_: return "trn2_z_zz_"; case ENC_TRN2_Z_ZZ_Q: return "trn2_z_zz_q"; case ENC_UABA_Z_ZZZ_: return "uaba_z_zzz_"; + case ENC_UABAL_Z_ZZ_: return "uabal_z_zz_"; case ENC_UABALB_Z_ZZZ_: return "uabalb_z_zzz_"; case ENC_UABALT_Z_ZZZ_: return "uabalt_z_zzz_"; case ENC_UABD_Z_P_ZZ_: return "uabd_z_p_zz_"; @@ -5089,8 +5126,12 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UCVTF_Z_P_Z_X2FP16Z: return "ucvtf_z_p_z_x2fp16z"; case ENC_UCVTF_Z_P_Z_X2S: return "ucvtf_z_p_z_x2s"; case ENC_UCVTF_Z_P_Z_X2SZ: return "ucvtf_z_p_z_x2sz"; + case ENC_UCVTF_Z_Z_: return "ucvtf_z_z_"; + case ENC_UCVTFLT_Z_Z_: return "ucvtflt_z_z_"; case ENC_UDIV_Z_P_ZZ_: return "udiv_z_p_zz_"; case ENC_UDIVR_Z_P_ZZ_: return "udivr_z_p_zz_"; + case ENC_UDOT_Z16_ZZZ_H: return "udot_z16_zzz_h"; + case ENC_UDOT_Z16_ZZZI_H: return "udot_z16_zzzi_h"; case ENC_UDOT_Z32_ZZZ_: return "udot_z32_zzz_"; case ENC_UDOT_Z32_ZZZI_: return "udot_z32_zzzi_"; case ENC_UDOT_Z_ZZZ_: return "udot_z_zzz_"; @@ -5260,12 +5301,14 @@ const char *enc_to_str(enum ENCODING enc) case ENC_UQRSHR_Z_MZ2_: return "uqrshr_z_mz2_"; case ENC_UQRSHR_Z_MZ4_: return "uqrshr_z_mz4_"; case ENC_UQRSHRN_Z_MZ2_: return "uqrshrn_z_mz2_"; + case ENC_UQRSHRN_Z_MZ2_B: return "uqrshrn_z_mz2_b"; case ENC_UQRSHRN_Z_MZ4_: return "uqrshrn_z_mz4_"; case ENC_UQRSHRNB_Z_ZI_: return "uqrshrnb_z_zi_"; case ENC_UQRSHRNT_Z_ZI_: return "uqrshrnt_z_zi_"; case ENC_UQSHL_Z_P_ZI_: return "uqshl_z_p_zi_"; case ENC_UQSHL_Z_P_ZZ_: return "uqshl_z_p_zz_"; case ENC_UQSHLR_Z_P_ZZ_: return "uqshlr_z_p_zz_"; + case ENC_UQSHRN_Z_MZ2_: return "uqshrn_z_mz2_"; case ENC_UQSHRNB_Z_ZI_: return "uqshrnb_z_zi_"; case ENC_UQSHRNT_Z_ZI_: return "uqshrnt_z_zi_"; case ENC_UQSUB_Z_P_ZZ_: return "uqsub_z_p_zz_"; @@ -6105,9 +6148,11 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_FDIV_ASIMDSAME_ONLY: return "fdiv_advsimd.xml"; case ENC_FDIV_ASIMDSAMEFP16_ONLY: return "fdiv_advsimd.xml"; case ENC_FDOT_ASIMDELEM_D: return "fdot_advsimd_4wayelem.xml"; + case ENC_FDOT_ASIMDELEM_FP16FP32: return "fdot_advsimd_elt_fp16fp32.xml"; case ENC_FDOT_ASIMDELEM_G: return "fdot_advsimd_2wayelem.xml"; case ENC_FDOT_ASIMDSAME2_D: return "fdot_advsimd_2wayvec.xml"; case ENC_FDOT_ASIMDSAME2_DD: return "fdot_advsimd_4wayvec.xml"; + case ENC_FDOT_ASIMDSAME2_FP16FP32: return "fdot_advsimd_fp16fp32.xml"; case ENC_FJCVTZS_32D_FLOAT2INT: return "fjcvtzs.xml"; case ENC_FMADD_D_FLOATDP3: return "fmadd_float.xml"; case ENC_FMADD_H_FLOATDP3: return "fmadd_float.xml"; @@ -6188,6 +6233,8 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_FMLS_ASIMDSAMEFP16_ONLY: return "fmls_advsimd_vec.xml"; case ENC_FMLS_ASISDELEM_RH_H: return "fmls_advsimd_elt.xml"; case ENC_FMLS_ASISDELEM_R_SD: return "fmls_advsimd_elt.xml"; + case ENC_FMMLA_ASIMD_FP16FP16: return "fmmla_advsimd_fp16fp16.xml"; + case ENC_FMMLA_ASIMD_FP16FP32: return "fmmla_advsimd_fp16fp32.xml"; case ENC_FMMLA_ASIMD_FP8FP16: return "fmmla_fp8fp16.xml"; case ENC_FMMLA_ASIMD_FP8FP32: return "fmmla_fp8fp32.xml"; case ENC_FMOV_32H_FLOAT2INT: return "fmov_float_gen.xml"; @@ -6330,7 +6377,10 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_GCSSS2_SYSL_RC_SYSTEMINSTRS: return "gcsss2_sysl.xml"; case ENC_GCSSTR_64_LDST_GCS: return "gcsstr.xml"; case ENC_GCSSTTR_64_LDST_GCS: return "gcssttr.xml"; + case ENC_GICR_SYSL_RC_SYSTEMINSTRS: return "gicr_sysl.xml"; + case ENC_GIC_SYS_CR_SYSTEMINSTRS: return "gic_sys.xml"; case ENC_GMI_64G_DP_2SRC: return "gmi.xml"; + case ENC_GSB_SYS_CR_SYSTEMINSTRS: return "gsb_sys.xml"; case ENC_HINT_HM_HINTS: return "hint.xml"; case ENC_HLT_EX_EXCEPTION: return "hlt.xml"; case ENC_HVC_EX_EXCEPTION: return "hvc.xml"; @@ -6438,6 +6488,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_LDADD_32_MEMOP: return "ldadd.xml"; case ENC_LDADD_64_MEMOP: return "ldadd.xml"; case ENC_LDAP1_ASISDLSO_D1: return "ldap1_advsimd_sngl.xml"; + case ENC_LDAPP_64_LDIAPPSTILP: return "ldapp_gen.xml"; case ENC_LDAPRB_32L_MEMOP: return "ldaprb.xml"; case ENC_LDAPRH_32L_MEMOP: return "ldaprh.xml"; case ENC_LDAPR_32L_LDAPSTL_WRITEBACK: return "ldapr.xml"; @@ -6458,6 +6509,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_LDAPUR_H_LDAPSTL_SIMD: return "ldapur_fpsimd.xml"; case ENC_LDAPUR_Q_LDAPSTL_SIMD: return "ldapur_fpsimd.xml"; case ENC_LDAPUR_S_LDAPSTL_SIMD: return "ldapur_fpsimd.xml"; + case ENC_LDAP_64_LDIAPPSTILP: return "ldap_gen.xml"; case ENC_LDARB_LR32_LDSTORD: return "ldarb.xml"; case ENC_LDARH_LR32_LDSTORD: return "ldarh.xml"; case ENC_LDAR_LR32_LDSTORD: return "ldar.xml"; @@ -6857,6 +6909,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_MADD_64A_DP_3SRC: return "madd.xml"; case ENC_MLA_ASIMDELEM_R: return "mla_advsimd_elt.xml"; case ENC_MLA_ASIMDSAME_ONLY: return "mla_advsimd_vec.xml"; + case ENC_MLBI_SYS_CR_SYSTEMINSTRS: return "mlbi_sys.xml"; case ENC_MLS_ASIMDELEM_R: return "mls_advsimd_elt.xml"; case ENC_MLS_ASIMDSAME_ONLY: return "mls_advsimd_vec.xml"; case ENC_MNEG_MSUB_32A_DP_3SRC: return "mneg_msub.xml"; @@ -7148,6 +7201,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_SHL_ASISDSHF_R: return "shl_advsimd.xml"; case ENC_SHRN_ASIMDSHF_N: return "shrn_advsimd.xml"; case ENC_SHSUB_ASIMDSAME_ONLY: return "shsub_advsimd.xml"; + case ENC_SHUH_HI_HINTS: return "shuh.xml"; case ENC_SLI_ASIMDSHF_R: return "sli_advsimd.xml"; case ENC_SLI_ASISDSHF_R: return "sli_advsimd.xml"; case ENC_SM3PARTW1_VVV4_CRYPTOSHA512_3: return "sm3partw1_advsimd.xml"; @@ -7366,6 +7420,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_STCLRL_LDCLRL_64_MEMOP: return "stclr_ldclr.xml"; case ENC_STCLR_LDCLR_32_MEMOP: return "stclr_ldclr.xml"; case ENC_STCLR_LDCLR_64_MEMOP: return "stclr_ldclr.xml"; + case ENC_STCPH_HI_HINTS: return "stcph.xml"; case ENC_STEORB_LDEORB_32_MEMOP: return "steorb_ldeorb.xml"; case ENC_STEORH_LDEORH_32_MEMOP: return "steorh_ldeorh.xml"; case ENC_STEORLB_LDEORLB_32_MEMOP: return "steorb_ldeorb.xml"; @@ -7420,6 +7475,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_STLLRH_SL32_LDSTORD: return "stllrh.xml"; case ENC_STLLR_SL32_LDSTORD: return "stllr.xml"; case ENC_STLLR_SL64_LDSTORD: return "stllr.xml"; + case ENC_STLP_64_LDIAPPSTILP: return "stlp_gen.xml"; case ENC_STLRB_SL32_LDSTORD: return "stlrb.xml"; case ENC_STLRH_SL32_LDSTORD: return "stlrh.xml"; case ENC_STLR_32S_LDAPSTL_WRITEBACK: return "stlr.xml"; @@ -7660,20 +7716,16 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_TBX_ASIMDTBL_L3_3: return "tbx_advsimd.xml"; case ENC_TBX_ASIMDTBL_L4_4: return "tbx_advsimd.xml"; case ENC_TBZ_ONLY_TESTBRANCH: return "tbz.xml"; - case ENC_TCANCEL_EX_EXCEPTION: return "tcancel.xml"; - case ENC_TCOMMIT_ONLY_BARRIERS: return "tcommit.xml"; case ENC_TLBIP_SYSP_CR_SYSPAIRINSTRS: return "tlbip_sysp.xml"; case ENC_TLBI_SYS_CR_SYSTEMINSTRS: return "tlbi_sys.xml"; case ENC_TRCIT_SYS_CR_SYSTEMINSTRS: return "trcit_sys.xml"; case ENC_TRN1_ASIMDPERM_ONLY: return "trn1_advsimd.xml"; case ENC_TRN2_ASIMDPERM_ONLY: return "trn2_advsimd.xml"; case ENC_TSB_HC_HINTS: return "tsb.xml"; - case ENC_TSTART_BR_SYSTEMRESULT: return "tstart.xml"; case ENC_TST_ANDS_32S_LOG_IMM: return "tst_ands_log_imm.xml"; case ENC_TST_ANDS_32_LOG_SHIFT: return "tst_ands_log_shift.xml"; case ENC_TST_ANDS_64S_LOG_IMM: return "tst_ands_log_imm.xml"; case ENC_TST_ANDS_64_LOG_SHIFT: return "tst_ands_log_shift.xml"; - case ENC_TTEST_BR_SYSTEMRESULT: return "ttest.xml"; case ENC_UABAL_ASIMDDIFF_L: return "uabal_advsimd.xml"; case ENC_UABA_ASIMDSAME_ONLY: return "uaba_advsimd.xml"; case ENC_UABDL_ASIMDDIFF_L: return "uabdl_advsimd.xml"; @@ -7826,8 +7878,10 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_ADDPL_R_RI_: return "addpl_r_ri.xml"; case ENC_ADDPT_Z_P_ZZ_: return "addpt_z_p_zz.xml"; case ENC_ADDPT_Z_ZZ_: return "addpt_z_zz.xml"; + case ENC_ADDQP_Z_ZZ_: return "addqp_z_zz.xml"; case ENC_ADDQV_Z_P_Z_: return "addqv_z_p_z.xml"; case ENC_ADDSPL_R_RI_: return "addspl_r_ri.xml"; + case ENC_ADDSUBP_Z_ZZ_: return "addsubp_z_zz.xml"; case ENC_ADDSVL_R_RI_: return "addsvl_r_ri.xml"; case ENC_ADDVA_ZA_PP_Z_32: return "addva_za_pp_z.xml"; case ENC_ADDVA_ZA_PP_Z_64: return "addva_za_pp_z.xml"; @@ -7956,6 +8010,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_BFMLSLT_Z_ZZZ_: return "bfmlslt_z_zzz.xml"; case ENC_BFMLSLT_Z_ZZZI_: return "bfmlslt_z_zzzi.xml"; case ENC_BFMMLA_Z_ZZZ_: return "bfmmla_z_zzz.xml"; + case ENC_BFMMLA_Z_ZZZ_H: return "bfmmla_z16_zzz.xml"; case ENC_BFMOP4A_ZA32_ZZ_H1X1: return "bfmop4a_za32_zz.xml"; case ENC_BFMOP4A_ZA32_ZZ_H1X2: return "bfmop4a_za32_zz.xml"; case ENC_BFMOP4A_ZA32_ZZ_H2X1: return "bfmop4a_za32_zz.xml"; @@ -8213,6 +8268,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_FCVTZS_Z_P_Z_S2WZ: return "fcvtzs_z_p_z.xml"; case ENC_FCVTZS_Z_P_Z_S2X: return "fcvtzs_z_p_z.xml"; case ENC_FCVTZS_Z_P_Z_S2XZ: return "fcvtzs_z_p_z.xml"; + case ENC_FCVTZSN_Z_MZ2_: return "fcvtzsn_z_mz2.xml"; case ENC_FCVTZU_MZ_Z_2: return "fcvtzu_mz_z.xml"; case ENC_FCVTZU_MZ_Z_4: return "fcvtzu_mz_z.xml"; case ENC_FCVTZU_Z_P_Z_D2W: return "fcvtzu_z_p_z.xml"; @@ -8229,6 +8285,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_FCVTZU_Z_P_Z_S2WZ: return "fcvtzu_z_p_z.xml"; case ENC_FCVTZU_Z_P_Z_S2X: return "fcvtzu_z_p_z.xml"; case ENC_FCVTZU_Z_P_Z_S2XZ: return "fcvtzu_z_p_z.xml"; + case ENC_FCVTZUN_Z_MZ2_: return "fcvtzun_z_mz2.xml"; case ENC_FDIV_Z_P_ZZ_: return "fdiv_z_p_zz.xml"; case ENC_FDIVR_Z_P_ZZ_: return "fdivr_z_p_zz.xml"; case ENC_FDOT_Z32_ZZ8Z8_: return "fdot_z32_zz8z8.xml"; @@ -8389,6 +8446,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_FMMLA_Z32_ZZ8Z8_: return "fmmla_z32_zz8z8.xml"; case ENC_FMMLA_Z32_ZZZ_H: return "fmmla_z32_zzz.xml"; case ENC_FMMLA_Z_ZZZ_D: return "fmmla_z_zzz.xml"; + case ENC_FMMLA_Z_ZZZ_H: return "fmmla_z_zzz.xml"; case ENC_FMMLA_Z_ZZZ_S: return "fmmla_z_zzz.xml"; case ENC_FMOP4A_ZA16_Z8Z8_B1X1: return "fmop4a_za16_z8z8.xml"; case ENC_FMOP4A_ZA16_Z8Z8_B1X2: return "fmop4a_za16_z8z8.xml"; @@ -8889,6 +8947,13 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_LUTI4_Z_ZZ_1X16: return "luti4_z_zz.xml"; case ENC_LUTI4_Z_ZZ_2X16: return "luti4_z_zz.xml"; case ENC_LUTI4_Z_ZZ_8: return "luti4_z_zz.xml"; + case ENC_LUTI6_MZ4_ZMZ2_1: return "luti6_mz4_zmz2.xml"; + case ENC_LUTI6_MZ4_ZMZ2_4: return "luti6_mz4_zmz2.xml"; + case ENC_LUTI6_MZ4_ZTMZ3_1: return "luti6_mz4_ztz.xml"; + case ENC_LUTI6_MZ4_ZTMZ3_4: return "luti6_mz4_ztz.xml"; + case ENC_LUTI6_Z_ZTZ_: return "luti6_z_ztz.xml"; + case ENC_LUTI6_Z_ZZZ_16: return "luti6_z_z2zz.xml"; + case ENC_LUTI6_Z_ZZZ_8: return "luti6_z_zzz.xml"; case ENC_MAD_Z_P_ZZZ_: return "mad_z_p_zzz.xml"; case ENC_MADPT_Z_ZZZ_: return "madpt_z_zzz.xml"; case ENC_MATCH_P_P_ZZ_: return "match_p_p_zz.xml"; @@ -9106,6 +9171,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_RSUBHNB_Z_ZZ_: return "rsubhnb_z_zz.xml"; case ENC_RSUBHNT_Z_ZZ_: return "rsubhnt_z_zz.xml"; case ENC_SABA_Z_ZZZ_: return "saba_z_zzz.xml"; + case ENC_SABAL_Z_ZZ_: return "sabal_z_zzz.xml"; case ENC_SABALB_Z_ZZZ_: return "sabalb_z_zzz.xml"; case ENC_SABALT_Z_ZZZ_: return "sabalt_z_zzz.xml"; case ENC_SABD_Z_P_ZZ_: return "sabd_z_p_zz.xml"; @@ -9139,8 +9205,12 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_SCVTF_Z_P_Z_X2FP16Z: return "scvtf_z_p_z.xml"; case ENC_SCVTF_Z_P_Z_X2S: return "scvtf_z_p_z.xml"; case ENC_SCVTF_Z_P_Z_X2SZ: return "scvtf_z_p_z.xml"; + case ENC_SCVTF_Z_Z_: return "scvtf_z_z.xml"; + case ENC_SCVTFLT_Z_Z_: return "scvtflt_z_z.xml"; case ENC_SDIV_Z_P_ZZ_: return "sdiv_z_p_zz.xml"; case ENC_SDIVR_Z_P_ZZ_: return "sdivr_z_p_zz.xml"; + case ENC_SDOT_Z16_ZZZ_H: return "sdot_z32_zzz.xml"; + case ENC_SDOT_Z16_ZZZI_H: return "sdot_z32_zzzi.xml"; case ENC_SDOT_Z32_ZZZ_: return "sdot_z32_zzz.xml"; case ENC_SDOT_Z32_ZZZI_: return "sdot_z32_zzzi.xml"; case ENC_SDOT_Z_ZZZ_: return "sdot_z_zzz.xml"; @@ -9374,12 +9444,14 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_SQRSHR_Z_MZ2_: return "sqrshr_z_mz2.xml"; case ENC_SQRSHR_Z_MZ4_: return "sqrshr_z_mz4.xml"; case ENC_SQRSHRN_Z_MZ2_: return "sqrshrn_z_mz2.xml"; + case ENC_SQRSHRN_Z_MZ2_B: return "sqrshrn_z_mz2.xml"; case ENC_SQRSHRN_Z_MZ4_: return "sqrshrn_z_mz4.xml"; case ENC_SQRSHRNB_Z_ZI_: return "sqrshrnb_z_zi.xml"; case ENC_SQRSHRNT_Z_ZI_: return "sqrshrnt_z_zi.xml"; case ENC_SQRSHRU_Z_MZ2_: return "sqrshru_z_mz2.xml"; case ENC_SQRSHRU_Z_MZ4_: return "sqrshru_z_mz4.xml"; case ENC_SQRSHRUN_Z_MZ2_: return "sqrshrun_z_mz2.xml"; + case ENC_SQRSHRUN_Z_MZ2_B: return "sqrshrun_z_mz2.xml"; case ENC_SQRSHRUN_Z_MZ4_: return "sqrshrun_z_mz4.xml"; case ENC_SQRSHRUNB_Z_ZI_: return "sqrshrunb_z_zi.xml"; case ENC_SQRSHRUNT_Z_ZI_: return "sqrshrunt_z_zi.xml"; @@ -9387,8 +9459,10 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_SQSHL_Z_P_ZZ_: return "sqshl_z_p_zz.xml"; case ENC_SQSHLR_Z_P_ZZ_: return "sqshlr_z_p_zz.xml"; case ENC_SQSHLU_Z_P_ZI_: return "sqshlu_z_p_zi.xml"; + case ENC_SQSHRN_Z_MZ2_: return "sqshrn_z_mz2.xml"; case ENC_SQSHRNB_Z_ZI_: return "sqshrnb_z_zi.xml"; case ENC_SQSHRNT_Z_ZI_: return "sqshrnt_z_zi.xml"; + case ENC_SQSHRUN_Z_MZ2_: return "sqshrun_z_mz2.xml"; case ENC_SQSHRUNB_Z_ZI_: return "sqshrunb_z_zi.xml"; case ENC_SQSHRUNT_Z_ZI_: return "sqshrunt_z_zi.xml"; case ENC_SQSUB_Z_P_ZZ_: return "sqsub_z_p_zz.xml"; @@ -9588,6 +9662,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_SUB_ZA_ZZW_4X4: return "sub_za_zzw.xml"; case ENC_SUBHNB_Z_ZZ_: return "subhnb_z_zz.xml"; case ENC_SUBHNT_Z_ZZ_: return "subhnt_z_zz.xml"; + case ENC_SUBP_Z_P_ZZ_: return "subp_z_p_zz.xml"; case ENC_SUBPT_Z_P_ZZ_: return "subpt_z_p_zz.xml"; case ENC_SUBPT_Z_ZZ_: return "subpt_z_zz.xml"; case ENC_SUBR_Z_P_ZZ_: return "subr_z_p_zz.xml"; @@ -9650,6 +9725,7 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_TRN2_Z_ZZ_: return "trn1_z_zz.xml"; case ENC_TRN2_Z_ZZ_Q: return "trn1_z_zz.xml"; case ENC_UABA_Z_ZZZ_: return "uaba_z_zzz.xml"; + case ENC_UABAL_Z_ZZ_: return "uabal_z_zzz.xml"; case ENC_UABALB_Z_ZZZ_: return "uabalb_z_zzz.xml"; case ENC_UABALT_Z_ZZZ_: return "uabalt_z_zzz.xml"; case ENC_UABD_Z_P_ZZ_: return "uabd_z_p_zz.xml"; @@ -9680,8 +9756,12 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_UCVTF_Z_P_Z_X2FP16Z: return "ucvtf_z_p_z.xml"; case ENC_UCVTF_Z_P_Z_X2S: return "ucvtf_z_p_z.xml"; case ENC_UCVTF_Z_P_Z_X2SZ: return "ucvtf_z_p_z.xml"; + case ENC_UCVTF_Z_Z_: return "ucvtf_z_z.xml"; + case ENC_UCVTFLT_Z_Z_: return "ucvtflt_z_z.xml"; case ENC_UDIV_Z_P_ZZ_: return "udiv_z_p_zz.xml"; case ENC_UDIVR_Z_P_ZZ_: return "udivr_z_p_zz.xml"; + case ENC_UDOT_Z16_ZZZ_H: return "udot_z32_zzz.xml"; + case ENC_UDOT_Z16_ZZZI_H: return "udot_z32_zzzi.xml"; case ENC_UDOT_Z32_ZZZ_: return "udot_z32_zzz.xml"; case ENC_UDOT_Z32_ZZZI_: return "udot_z32_zzzi.xml"; case ENC_UDOT_Z_ZZZ_: return "udot_z_zzz.xml"; @@ -9851,12 +9931,14 @@ const char *enc_to_xml(enum ENCODING enc) case ENC_UQRSHR_Z_MZ2_: return "uqrshr_z_mz2.xml"; case ENC_UQRSHR_Z_MZ4_: return "uqrshr_z_mz4.xml"; case ENC_UQRSHRN_Z_MZ2_: return "uqrshrn_z_mz2.xml"; + case ENC_UQRSHRN_Z_MZ2_B: return "uqrshrn_z_mz2.xml"; case ENC_UQRSHRN_Z_MZ4_: return "uqrshrn_z_mz4.xml"; case ENC_UQRSHRNB_Z_ZI_: return "uqrshrnb_z_zi.xml"; case ENC_UQRSHRNT_Z_ZI_: return "uqrshrnt_z_zi.xml"; case ENC_UQSHL_Z_P_ZI_: return "uqshl_z_p_zi.xml"; case ENC_UQSHL_Z_P_ZZ_: return "uqshl_z_p_zz.xml"; case ENC_UQSHLR_Z_P_ZZ_: return "uqshlr_z_p_zz.xml"; + case ENC_UQSHRN_Z_MZ2_: return "uqshrn_z_mz2.xml"; case ENC_UQSHRNB_Z_ZI_: return "uqshrnb_z_zi.xml"; case ENC_UQSHRNT_Z_ZI_: return "uqshrnt_z_zi.xml"; case ENC_UQSUB_Z_P_ZZ_: return "uqsub_z_p_zz.xml"; diff --git a/arch/arm64/disassembler/feature_flags.h b/arch/arm64/disassembler/feature_flags.h index c2a56df77..89aa38be3 100644 --- a/arch/arm64/disassembler/feature_flags.h +++ b/arch/arm64/disassembler/feature_flags.h @@ -1,6 +1,6 @@ /* GENERATED FILE */ #pragma once -// 100 HasXXX() functions used by decode: +// 107 HasXXX() functions used by decode: #define HasFeature(feat) (ctx->decode_features[(feat) / 64] & ((uint64_t)1 << ((feat) % 64))) #define HasAES() HasFeature(ARCH_FEATURE_AES) @@ -9,6 +9,7 @@ #define HasBTI() HasFeature(ARCH_FEATURE_BTI) #define HasCHK() HasFeature(ARCH_FEATURE_CHK) #define HasCLRBHB() HasFeature(ARCH_FEATURE_CLRBHB) +#define HasCMH() HasFeature(ARCH_FEATURE_CMH) #define HasCMPBR() HasFeature(ARCH_FEATURE_CMPBR) #define HasCPA() HasFeature(ARCH_FEATURE_CPA) #define HasCRC32() HasFeature(ARCH_FEATURE_CRC32) @@ -16,6 +17,9 @@ #define HasD128() HasFeature(ARCH_FEATURE_D128) #define HasDGH() HasFeature(ARCH_FEATURE_DGH) #define HasDotProd() HasFeature(ARCH_FEATURE_DotProd) +#define HasF16F32DOT() HasFeature(ARCH_FEATURE_F16F32DOT) +#define HasF16F32MM() HasFeature(ARCH_FEATURE_F16F32MM) +#define HasF16MM() HasFeature(ARCH_FEATURE_F16MM) #define HasF32MM() HasFeature(ARCH_FEATURE_F32MM) #define HasF64MM() HasFeature(ARCH_FEATURE_F64MM) #define HasF8F16MM() HasFeature(ARCH_FEATURE_F8F16MM) @@ -44,6 +48,7 @@ #define HasLS64() HasFeature(ARCH_FEATURE_LS64) #define HasLS64_ACCDATA() HasFeature(ARCH_FEATURE_LS64_ACCDATA) #define HasLS64_V() HasFeature(ARCH_FEATURE_LS64_V) +#define HasLSCP() HasFeature(ARCH_FEATURE_LSCP) #define HasLSE() HasFeature(ARCH_FEATURE_LSE) #define HasLSE128() HasFeature(ARCH_FEATURE_LSE128) #define HasLSFE() HasFeature(ARCH_FEATURE_LSFE) @@ -69,6 +74,7 @@ #define HasSME2() HasFeature(ARCH_FEATURE_SME2) #define HasSME2p1() HasFeature(ARCH_FEATURE_SME2p1) #define HasSME2p2() HasFeature(ARCH_FEATURE_SME2p2) +#define HasSME2p3() HasFeature(ARCH_FEATURE_SME2p3) #define HasSME_B16B16() HasFeature(ARCH_FEATURE_SME_B16B16) #define HasSME_F16F16() HasFeature(ARCH_FEATURE_SME_F16F16) #define HasSME_F64F64() HasFeature(ARCH_FEATURE_SME_F64F64) @@ -87,9 +93,11 @@ #define HasSVE2() HasFeature(ARCH_FEATURE_SVE2) #define HasSVE2p1() HasFeature(ARCH_FEATURE_SVE2p1) #define HasSVE2p2() HasFeature(ARCH_FEATURE_SVE2p2) +#define HasSVE2p3() HasFeature(ARCH_FEATURE_SVE2p3) #define HasSVE_AES() HasFeature(ARCH_FEATURE_SVE_AES) #define HasSVE_AES2() HasFeature(ARCH_FEATURE_SVE_AES2) #define HasSVE_B16B16() HasFeature(ARCH_FEATURE_SVE_B16B16) +#define HasSVE_B16MM() HasFeature(ARCH_FEATURE_SVE_B16MM) #define HasSVE_BFSCALE() HasFeature(ARCH_FEATURE_SVE_BFSCALE) #define HasSVE_BitPerm() HasFeature(ARCH_FEATURE_SVE_BitPerm) #define HasSVE_F16F32MM() HasFeature(ARCH_FEATURE_SVE_F16F32MM) @@ -99,12 +107,11 @@ #define HasSYSINSTR128() HasFeature(ARCH_FEATURE_SYSINSTR128) #define HasSYSREG128() HasFeature(ARCH_FEATURE_SYSREG128) #define HasTHE() HasFeature(ARCH_FEATURE_THE) -#define HasTME() HasFeature(ARCH_FEATURE_TME) #define HasTRF() HasFeature(ARCH_FEATURE_TRF) #define HasWFxT() HasFeature(ARCH_FEATURE_WFxT) #define HasXS() HasFeature(ARCH_FEATURE_XS) -// 108 HaveXXX()/IsImplemented(FEAT_XXX) functions used by pcode: +// 115 HaveXXX()/IsImplemented(FEAT_XXX) functions used by pcode: #define HaveFeature(feat) (ctx->pcode_features[(feat) / 64] & ((uint64_t)1 << ((feat) % 64))) #define HaveAES() HaveFeature(ARCH_FEATURE_AES) #define HaveAdvSIMD() HaveFeature(ARCH_FEATURE_AdvSIMD) @@ -112,6 +119,7 @@ #define HaveBTI() HaveFeature(ARCH_FEATURE_BTI) #define HaveCHK() HaveFeature(ARCH_FEATURE_CHK) #define HaveCLRBHB() HaveFeature(ARCH_FEATURE_CLRBHB) +#define HaveCMH() HaveFeature(ARCH_FEATURE_CMH) #define HaveCMPBR() HaveFeature(ARCH_FEATURE_CMPBR) #define HaveCPA() HaveFeature(ARCH_FEATURE_CPA) #define HaveCRC32() HaveFeature(ARCH_FEATURE_CRC32) @@ -121,6 +129,9 @@ #define HaveDIT() HaveFeature(ARCH_FEATURE_DIT) #define HaveDotProd() HaveFeature(ARCH_FEATURE_DotProd) #define HaveEBEP() HaveFeature(ARCH_FEATURE_EBEP) +#define HaveF16F32DOT() HaveFeature(ARCH_FEATURE_F16F32DOT) +#define HaveF16F32MM() HaveFeature(ARCH_FEATURE_F16F32MM) +#define HaveF16MM() HaveFeature(ARCH_FEATURE_F16MM) #define HaveF32MM() HaveFeature(ARCH_FEATURE_F32MM) #define HaveF64MM() HaveFeature(ARCH_FEATURE_F64MM) #define HaveF8F16MM() HaveFeature(ARCH_FEATURE_F8F16MM) @@ -149,6 +160,7 @@ #define HaveLS64() HaveFeature(ARCH_FEATURE_LS64) #define HaveLS64_ACCDATA() HaveFeature(ARCH_FEATURE_LS64_ACCDATA) #define HaveLS64_V() HaveFeature(ARCH_FEATURE_LS64_V) +#define HaveLSCP() HaveFeature(ARCH_FEATURE_LSCP) #define HaveLSE() HaveFeature(ARCH_FEATURE_LSE) #define HaveLSE128() HaveFeature(ARCH_FEATURE_LSE128) #define HaveLSFE() HaveFeature(ARCH_FEATURE_LSFE) @@ -177,6 +189,7 @@ #define HaveSME2() HaveFeature(ARCH_FEATURE_SME2) #define HaveSME2p1() HaveFeature(ARCH_FEATURE_SME2p1) #define HaveSME2p2() HaveFeature(ARCH_FEATURE_SME2p2) +#define HaveSME2p3() HaveFeature(ARCH_FEATURE_SME2p3) #define HaveSME_B16B16() HaveFeature(ARCH_FEATURE_SME_B16B16) #define HaveSME_F16F16() HaveFeature(ARCH_FEATURE_SME_F16F16) #define HaveSME_F64F64() HaveFeature(ARCH_FEATURE_SME_F64F64) @@ -196,9 +209,11 @@ #define HaveSVE2FP8FMA() HaveFeature(ARCH_FEATURE_SVE2FP8FMA) #define HaveSVE2p1() HaveFeature(ARCH_FEATURE_SVE2p1) #define HaveSVE2p2() HaveFeature(ARCH_FEATURE_SVE2p2) +#define HaveSVE2p3() HaveFeature(ARCH_FEATURE_SVE2p3) #define HaveSVE_AES() HaveFeature(ARCH_FEATURE_SVE_AES) #define HaveSVE_AES2() HaveFeature(ARCH_FEATURE_SVE_AES2) #define HaveSVE_B16B16() HaveFeature(ARCH_FEATURE_SVE_B16B16) +#define HaveSVE_B16MM() HaveFeature(ARCH_FEATURE_SVE_B16MM) #define HaveSVE_BFSCALE() HaveFeature(ARCH_FEATURE_SVE_BFSCALE) #define HaveSVE_BitPerm() HaveFeature(ARCH_FEATURE_SVE_BitPerm) #define HaveSVE_F16F32MM() HaveFeature(ARCH_FEATURE_SVE_F16F32MM) @@ -208,7 +223,6 @@ #define HaveSYSINSTR128() HaveFeature(ARCH_FEATURE_SYSINSTR128) #define HaveSYSREG128() HaveFeature(ARCH_FEATURE_SYSREG128) #define HaveTHE() HaveFeature(ARCH_FEATURE_THE) -#define HaveTME() HaveFeature(ARCH_FEATURE_TME) #define HaveTRF() HaveFeature(ARCH_FEATURE_TRF) #define HaveUAO() HaveFeature(ARCH_FEATURE_UAO) #define HaveVHE() HaveFeature(ARCH_FEATURE_VHE) @@ -221,111 +235,118 @@ #define ARCH_FEATURE_BTI 3 // Referenced by decode and pcode #define ARCH_FEATURE_CHK 4 // Referenced by decode and pcode #define ARCH_FEATURE_CLRBHB 5 // Referenced by decode and pcode -#define ARCH_FEATURE_CMPBR 6 // Referenced by decode and pcode -#define ARCH_FEATURE_CPA 7 // Referenced by decode and pcode -#define ARCH_FEATURE_CRC32 8 // Referenced by decode and pcode -#define ARCH_FEATURE_CSSC 9 // Referenced by decode and pcode -#define ARCH_FEATURE_D128 10 // Referenced by decode and pcode -#define ARCH_FEATURE_DGH 11 // Referenced by decode and pcode -#define ARCH_FEATURE_DIT 12 // Referenced by pcode -#define ARCH_FEATURE_DotProd 13 // Referenced by decode and pcode -#define ARCH_FEATURE_EBEP 14 // Referenced by pcode -#define ARCH_FEATURE_F32MM 15 // Referenced by decode and pcode -#define ARCH_FEATURE_F64MM 16 // Referenced by decode and pcode -#define ARCH_FEATURE_F8F16MM 17 // Referenced by decode and pcode -#define ARCH_FEATURE_F8F32MM 18 // Referenced by decode and pcode -#define ARCH_FEATURE_FAMINMAX 19 // Referenced by decode and pcode -#define ARCH_FEATURE_FCMA 20 // Referenced by decode and pcode -#define ARCH_FEATURE_FHM 21 // Referenced by decode and pcode -#define ARCH_FEATURE_FP 22 // Referenced by decode and pcode -#define ARCH_FEATURE_FP16 23 // Referenced by decode and pcode -#define ARCH_FEATURE_FP8 24 // Referenced by decode and pcode -#define ARCH_FEATURE_FP8DOT2 25 // Referenced by decode and pcode -#define ARCH_FEATURE_FP8DOT4 26 // Referenced by decode and pcode -#define ARCH_FEATURE_FP8FMA 27 // Referenced by decode and pcode -#define ARCH_FEATURE_FPRCVT 28 // Referenced by decode and pcode -#define ARCH_FEATURE_FRINTTS 29 // Referenced by decode and pcode -#define ARCH_FEATURE_FlagM 30 // Referenced by decode and pcode -#define ARCH_FEATURE_FlagM2 31 // Referenced by decode and pcode -#define ARCH_FEATURE_GCS 32 // Referenced by decode and pcode -#define ARCH_FEATURE_HBC 33 // Referenced by decode and pcode -#define ARCH_FEATURE_I8MM 34 // Referenced by decode and pcode -#define ARCH_FEATURE_JSCVT 35 // Referenced by decode and pcode -#define ARCH_FEATURE_LOR 36 // Referenced by decode and pcode -#define ARCH_FEATURE_LRCPC 37 // Referenced by decode and pcode -#define ARCH_FEATURE_LRCPC2 38 // Referenced by decode and pcode -#define ARCH_FEATURE_LRCPC3 39 // Referenced by decode and pcode -#define ARCH_FEATURE_LS64 40 // Referenced by decode and pcode -#define ARCH_FEATURE_LS64_ACCDATA 41 // Referenced by decode and pcode -#define ARCH_FEATURE_LS64_V 42 // Referenced by decode and pcode -#define ARCH_FEATURE_LSE 43 // Referenced by decode and pcode -#define ARCH_FEATURE_LSE128 44 // Referenced by decode and pcode -#define ARCH_FEATURE_LSFE 45 // Referenced by decode and pcode -#define ARCH_FEATURE_LSUI 46 // Referenced by decode and pcode -#define ARCH_FEATURE_LUT 47 // Referenced by decode and pcode -#define ARCH_FEATURE_MOPS 48 // Referenced by decode and pcode -#define ARCH_FEATURE_MTE 49 // Referenced by decode and pcode -#define ARCH_FEATURE_MTE2 50 // Referenced by decode and pcode -#define ARCH_FEATURE_NMI 51 // Referenced by pcode -#define ARCH_FEATURE_PAN 52 // Referenced by pcode -#define ARCH_FEATURE_PAuth 53 // Referenced by decode and pcode -#define ARCH_FEATURE_PAuth_LR 54 // Referenced by decode and pcode -#define ARCH_FEATURE_PCDPHINT 55 // Referenced by decode and pcode -#define ARCH_FEATURE_PMULL 56 // Referenced by pcode -#define ARCH_FEATURE_RAS 57 // Referenced by decode and pcode -#define ARCH_FEATURE_RDM 58 // Referenced by decode and pcode -#define ARCH_FEATURE_RPRFM 59 // Referenced by decode and pcode -#define ARCH_FEATURE_SB 60 // Referenced by decode and pcode -#define ARCH_FEATURE_SHA1 61 // Referenced by decode and pcode -#define ARCH_FEATURE_SHA256 62 // Referenced by decode and pcode -#define ARCH_FEATURE_SHA3 63 // Referenced by decode and pcode -#define ARCH_FEATURE_SHA512 64 // Referenced by decode and pcode -#define ARCH_FEATURE_SM3 65 // Referenced by decode and pcode -#define ARCH_FEATURE_SM4 66 // Referenced by decode and pcode -#define ARCH_FEATURE_SME 67 // Referenced by decode and pcode -#define ARCH_FEATURE_SME2 68 // Referenced by decode and pcode -#define ARCH_FEATURE_SME2p1 69 // Referenced by decode and pcode -#define ARCH_FEATURE_SME2p2 70 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_B16B16 71 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_F16F16 72 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_F64F64 73 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_F8F16 74 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_F8F32 75 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_I16I64 76 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_LUTv2 77 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_MOP4 78 // Referenced by decode and pcode -#define ARCH_FEATURE_SME_TMOP 79 // Referenced by decode and pcode -#define ARCH_FEATURE_SPE 80 // Referenced by decode and pcode -#define ARCH_FEATURE_SSBS 81 // Referenced by pcode -#define ARCH_FEATURE_SSVE_FEXPA 82 // Referenced by decode and pcode -#define ARCH_FEATURE_SSVE_FP8DOT2 83 // Referenced by decode -#define ARCH_FEATURE_SSVE_FP8DOT4 84 // Referenced by decode -#define ARCH_FEATURE_SSVE_FP8FMA 85 // Referenced by decode -#define ARCH_FEATURE_SVE 86 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE2 87 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE2FP8DOT2 88 // Referenced by pcode -#define ARCH_FEATURE_SVE2FP8DOT4 89 // Referenced by pcode -#define ARCH_FEATURE_SVE2FP8FMA 90 // Referenced by pcode -#define ARCH_FEATURE_SVE2p1 91 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE2p2 92 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_AES 93 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_AES2 94 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_B16B16 95 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_BFSCALE 96 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_BitPerm 97 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_F16F32MM 98 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_PMULL128 99 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_SHA3 100 // Referenced by decode and pcode -#define ARCH_FEATURE_SVE_SM4 101 // Referenced by decode and pcode -#define ARCH_FEATURE_SYSINSTR128 102 // Referenced by decode and pcode -#define ARCH_FEATURE_SYSREG128 103 // Referenced by decode and pcode -#define ARCH_FEATURE_THE 104 // Referenced by decode and pcode -#define ARCH_FEATURE_TME 105 // Referenced by decode and pcode -#define ARCH_FEATURE_TRF 106 // Referenced by decode and pcode -#define ARCH_FEATURE_UAO 107 // Referenced by pcode -#define ARCH_FEATURE_VHE 108 // Referenced by pcode -#define ARCH_FEATURE_WFxT 109 // Referenced by decode and pcode -#define ARCH_FEATURE_XS 110 // Referenced by decode and pcode +#define ARCH_FEATURE_CMH 6 // Referenced by decode and pcode +#define ARCH_FEATURE_CMPBR 7 // Referenced by decode and pcode +#define ARCH_FEATURE_CPA 8 // Referenced by decode and pcode +#define ARCH_FEATURE_CRC32 9 // Referenced by decode and pcode +#define ARCH_FEATURE_CSSC 10 // Referenced by decode and pcode +#define ARCH_FEATURE_D128 11 // Referenced by decode and pcode +#define ARCH_FEATURE_DGH 12 // Referenced by decode and pcode +#define ARCH_FEATURE_DIT 13 // Referenced by pcode +#define ARCH_FEATURE_DotProd 14 // Referenced by decode and pcode +#define ARCH_FEATURE_EBEP 15 // Referenced by pcode +#define ARCH_FEATURE_F16F32DOT 16 // Referenced by decode and pcode +#define ARCH_FEATURE_F16F32MM 17 // Referenced by decode and pcode +#define ARCH_FEATURE_F16MM 18 // Referenced by decode and pcode +#define ARCH_FEATURE_F32MM 19 // Referenced by decode and pcode +#define ARCH_FEATURE_F64MM 20 // Referenced by decode and pcode +#define ARCH_FEATURE_F8F16MM 21 // Referenced by decode and pcode +#define ARCH_FEATURE_F8F32MM 22 // Referenced by decode and pcode +#define ARCH_FEATURE_FAMINMAX 23 // Referenced by decode and pcode +#define ARCH_FEATURE_FCMA 24 // Referenced by decode and pcode +#define ARCH_FEATURE_FHM 25 // Referenced by decode and pcode +#define ARCH_FEATURE_FP 26 // Referenced by decode and pcode +#define ARCH_FEATURE_FP16 27 // Referenced by decode and pcode +#define ARCH_FEATURE_FP8 28 // Referenced by decode and pcode +#define ARCH_FEATURE_FP8DOT2 29 // Referenced by decode and pcode +#define ARCH_FEATURE_FP8DOT4 30 // Referenced by decode and pcode +#define ARCH_FEATURE_FP8FMA 31 // Referenced by decode and pcode +#define ARCH_FEATURE_FPRCVT 32 // Referenced by decode and pcode +#define ARCH_FEATURE_FRINTTS 33 // Referenced by decode and pcode +#define ARCH_FEATURE_FlagM 34 // Referenced by decode and pcode +#define ARCH_FEATURE_FlagM2 35 // Referenced by decode and pcode +#define ARCH_FEATURE_GCS 36 // Referenced by decode and pcode +#define ARCH_FEATURE_HBC 37 // Referenced by decode and pcode +#define ARCH_FEATURE_I8MM 38 // Referenced by decode and pcode +#define ARCH_FEATURE_JSCVT 39 // Referenced by decode and pcode +#define ARCH_FEATURE_LOR 40 // Referenced by decode and pcode +#define ARCH_FEATURE_LRCPC 41 // Referenced by decode and pcode +#define ARCH_FEATURE_LRCPC2 42 // Referenced by decode and pcode +#define ARCH_FEATURE_LRCPC3 43 // Referenced by decode and pcode +#define ARCH_FEATURE_LS64 44 // Referenced by decode and pcode +#define ARCH_FEATURE_LS64_ACCDATA 45 // Referenced by decode and pcode +#define ARCH_FEATURE_LS64_V 46 // Referenced by decode and pcode +#define ARCH_FEATURE_LSCP 47 // Referenced by decode and pcode +#define ARCH_FEATURE_LSE 48 // Referenced by decode and pcode +#define ARCH_FEATURE_LSE128 49 // Referenced by decode and pcode +#define ARCH_FEATURE_LSFE 50 // Referenced by decode and pcode +#define ARCH_FEATURE_LSUI 51 // Referenced by decode and pcode +#define ARCH_FEATURE_LUT 52 // Referenced by decode and pcode +#define ARCH_FEATURE_MOPS 53 // Referenced by decode and pcode +#define ARCH_FEATURE_MTE 54 // Referenced by decode and pcode +#define ARCH_FEATURE_MTE2 55 // Referenced by decode and pcode +#define ARCH_FEATURE_NMI 56 // Referenced by pcode +#define ARCH_FEATURE_PAN 57 // Referenced by pcode +#define ARCH_FEATURE_PAuth 58 // Referenced by decode and pcode +#define ARCH_FEATURE_PAuth_LR 59 // Referenced by decode and pcode +#define ARCH_FEATURE_PCDPHINT 60 // Referenced by decode and pcode +#define ARCH_FEATURE_PMULL 61 // Referenced by pcode +#define ARCH_FEATURE_RAS 62 // Referenced by decode and pcode +#define ARCH_FEATURE_RDM 63 // Referenced by decode and pcode +#define ARCH_FEATURE_RPRFM 64 // Referenced by decode and pcode +#define ARCH_FEATURE_SB 65 // Referenced by decode and pcode +#define ARCH_FEATURE_SHA1 66 // Referenced by decode and pcode +#define ARCH_FEATURE_SHA256 67 // Referenced by decode and pcode +#define ARCH_FEATURE_SHA3 68 // Referenced by decode and pcode +#define ARCH_FEATURE_SHA512 69 // Referenced by decode and pcode +#define ARCH_FEATURE_SM3 70 // Referenced by decode and pcode +#define ARCH_FEATURE_SM4 71 // Referenced by decode and pcode +#define ARCH_FEATURE_SME 72 // Referenced by decode and pcode +#define ARCH_FEATURE_SME2 73 // Referenced by decode and pcode +#define ARCH_FEATURE_SME2p1 74 // Referenced by decode and pcode +#define ARCH_FEATURE_SME2p2 75 // Referenced by decode and pcode +#define ARCH_FEATURE_SME2p3 76 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_B16B16 77 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_F16F16 78 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_F64F64 79 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_F8F16 80 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_F8F32 81 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_I16I64 82 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_LUTv2 83 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_MOP4 84 // Referenced by decode and pcode +#define ARCH_FEATURE_SME_TMOP 85 // Referenced by decode and pcode +#define ARCH_FEATURE_SPE 86 // Referenced by decode and pcode +#define ARCH_FEATURE_SSBS 87 // Referenced by pcode +#define ARCH_FEATURE_SSVE_FEXPA 88 // Referenced by decode and pcode +#define ARCH_FEATURE_SSVE_FP8DOT2 89 // Referenced by decode +#define ARCH_FEATURE_SSVE_FP8DOT4 90 // Referenced by decode +#define ARCH_FEATURE_SSVE_FP8FMA 91 // Referenced by decode +#define ARCH_FEATURE_SVE 92 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE2 93 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE2FP8DOT2 94 // Referenced by pcode +#define ARCH_FEATURE_SVE2FP8DOT4 95 // Referenced by pcode +#define ARCH_FEATURE_SVE2FP8FMA 96 // Referenced by pcode +#define ARCH_FEATURE_SVE2p1 97 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE2p2 98 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE2p3 99 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_AES 100 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_AES2 101 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_B16B16 102 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_B16MM 103 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_BFSCALE 104 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_BitPerm 105 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_F16F32MM 106 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_PMULL128 107 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_SHA3 108 // Referenced by decode and pcode +#define ARCH_FEATURE_SVE_SM4 109 // Referenced by decode and pcode +#define ARCH_FEATURE_SYSINSTR128 110 // Referenced by decode and pcode +#define ARCH_FEATURE_SYSREG128 111 // Referenced by decode and pcode +#define ARCH_FEATURE_THE 112 // Referenced by decode and pcode +#define ARCH_FEATURE_TRF 113 // Referenced by decode and pcode +#define ARCH_FEATURE_UAO 114 // Referenced by pcode +#define ARCH_FEATURE_VHE 115 // Referenced by pcode +#define ARCH_FEATURE_WFxT 116 // Referenced by decode and pcode +#define ARCH_FEATURE_XS 117 // Referenced by decode and pcode #define ARCH_FEATURES_ENABLE_ALL(feature_field) do { \ _Static_assert(sizeof(feature_field) * 8 > ARCH_FEATURE_XS, "Feature field too small for largest feature value"); \ diff --git a/arch/arm64/disassembler/operations.c b/arch/arm64/disassembler/operations.c index 0b6b7a861..b83e2768a 100644 --- a/arch/arm64/disassembler/operations.c +++ b/arch/arm64/disassembler/operations.c @@ -18,9 +18,11 @@ static const char* const names[] = { "addp", "addpl", "addpt", + "addqp", "addqv", "adds", "addspl", + "addsubp", "addsvl", "addv", "addva", @@ -470,7 +472,9 @@ static const char* const names[] = { "fcvtxn2", "fcvtxnt", "fcvtzs", + "fcvtzsn", "fcvtzu", + "fcvtzun", "fdiv", "fdivr", "fdot", @@ -567,7 +571,10 @@ static const char* const names[] = { "gcsss2", "gcsstr", "gcssttr", + "gic", + "gicr", "gmi", + "gsb", "hint", "histcnt", "histseg", @@ -646,7 +653,9 @@ static const char* const names[] = { "ldaddl", "ldaddlb", "ldaddlh", + "ldap", "ldap1", + "ldapp", "ldapr", "ldaprb", "ldaprh", @@ -873,6 +882,7 @@ static const char* const names[] = { "lsrv", "luti2", "luti4", + "luti6", "mad", "madd", "maddpt", @@ -880,6 +890,7 @@ static const char* const names[] = { "match", "mla", "mlapt", + "mlbi", "mls", "mneg", "mov", @@ -1102,6 +1113,7 @@ static const char* const names[] = { "sbfx", "sclamp", "scvtf", + "scvtflt", "sdiv", "sdivr", "sdot", @@ -1159,6 +1171,7 @@ static const char* const names[] = { "shrnt", "shsub", "shsubr", + "shuh", "sli", "sm3partw1", "sm3partw2", @@ -1349,6 +1362,7 @@ static const char* const names[] = { "stclrl", "stclrlb", "stclrlh", + "stcph", "steor", "steorb", "steorh", @@ -1373,6 +1387,7 @@ static const char* const names[] = { "stllr", "stllrb", "stllrh", + "stlp", "stlr", "stlrb", "stlrh", @@ -1506,8 +1521,6 @@ static const char* const names[] = { "tbx", "tbxq", "tbz", - "tcancel", - "tcommit", "tlbi", "tlbip", "trcit", @@ -1515,8 +1528,6 @@ static const char* const names[] = { "trn2", "tsb", "tst", - "tstart", - "ttest", "uaba", "uabal", "uabal2", @@ -1544,6 +1555,7 @@ static const char* const names[] = { "ubfx", "uclamp", "ucvtf", + "ucvtflt", "udf", "udiv", "udivr", diff --git a/arch/arm64/disassembler/operations.h b/arch/arm64/disassembler/operations.h index d692c8b56..9c917b90b 100644 --- a/arch/arm64/disassembler/operations.h +++ b/arch/arm64/disassembler/operations.h @@ -18,9 +18,11 @@ enum Operation { ARM64_ADDP, ARM64_ADDPL, ARM64_ADDPT, + ARM64_ADDQP, ARM64_ADDQV, ARM64_ADDS, ARM64_ADDSPL, + ARM64_ADDSUBP, ARM64_ADDSVL, ARM64_ADDV, ARM64_ADDVA, @@ -470,7 +472,9 @@ enum Operation { ARM64_FCVTXN2, ARM64_FCVTXNT, ARM64_FCVTZS, + ARM64_FCVTZSN, ARM64_FCVTZU, + ARM64_FCVTZUN, ARM64_FDIV, ARM64_FDIVR, ARM64_FDOT, @@ -567,7 +571,10 @@ enum Operation { ARM64_GCSSS2, ARM64_GCSSTR, ARM64_GCSSTTR, + ARM64_GIC, + ARM64_GICR, ARM64_GMI, + ARM64_GSB, ARM64_HINT, ARM64_HISTCNT, ARM64_HISTSEG, @@ -646,7 +653,9 @@ enum Operation { ARM64_LDADDL, ARM64_LDADDLB, ARM64_LDADDLH, + ARM64_LDAP, ARM64_LDAP1, + ARM64_LDAPP, ARM64_LDAPR, ARM64_LDAPRB, ARM64_LDAPRH, @@ -873,6 +882,7 @@ enum Operation { ARM64_LSRV, ARM64_LUTI2, ARM64_LUTI4, + ARM64_LUTI6, ARM64_MAD, ARM64_MADD, ARM64_MADDPT, @@ -880,6 +890,7 @@ enum Operation { ARM64_MATCH, ARM64_MLA, ARM64_MLAPT, + ARM64_MLBI, ARM64_MLS, ARM64_MNEG, ARM64_MOV, @@ -1102,6 +1113,7 @@ enum Operation { ARM64_SBFX, ARM64_SCLAMP, ARM64_SCVTF, + ARM64_SCVTFLT, ARM64_SDIV, ARM64_SDIVR, ARM64_SDOT, @@ -1159,6 +1171,7 @@ enum Operation { ARM64_SHRNT, ARM64_SHSUB, ARM64_SHSUBR, + ARM64_SHUH, ARM64_SLI, ARM64_SM3PARTW1, ARM64_SM3PARTW2, @@ -1349,6 +1362,7 @@ enum Operation { ARM64_STCLRL, ARM64_STCLRLB, ARM64_STCLRLH, + ARM64_STCPH, ARM64_STEOR, ARM64_STEORB, ARM64_STEORH, @@ -1373,6 +1387,7 @@ enum Operation { ARM64_STLLR, ARM64_STLLRB, ARM64_STLLRH, + ARM64_STLP, ARM64_STLR, ARM64_STLRB, ARM64_STLRH, @@ -1506,8 +1521,6 @@ enum Operation { ARM64_TBX, ARM64_TBXQ, ARM64_TBZ, - ARM64_TCANCEL, - ARM64_TCOMMIT, ARM64_TLBI, ARM64_TLBIP, ARM64_TRCIT, @@ -1515,8 +1528,6 @@ enum Operation { ARM64_TRN2, ARM64_TSB, ARM64_TST, - ARM64_TSTART, - ARM64_TTEST, ARM64_UABA, ARM64_UABAL, ARM64_UABAL2, @@ -1544,6 +1555,7 @@ enum Operation { ARM64_UBFX, ARM64_UCLAMP, ARM64_UCVTF, + ARM64_UCVTFLT, ARM64_UDF, ARM64_UDIV, ARM64_UDIVR, diff --git a/arch/arm64/disassembler/pcode.c b/arch/arm64/disassembler/pcode.c index 8590f4106..7993e3129 100644 --- a/arch/arm64/disassembler/pcode.c +++ b/arch/arm64/disassembler/pcode.c @@ -666,6 +666,11 @@ bool BTypeCompatible_BTI(uint8_t hintcode, uint8_t pstate_btype) } bool BTypeCompatible_PACIXSP(void) +{ + return BTypeCompatible_PAC(PACIxSP); +} + +bool BTypeCompatible_PAC(enum PACInstType pacinst) { // TODO: determine if filling this in is necessary return true; diff --git a/arch/arm64/disassembler/pcode.h b/arch/arm64/disassembler/pcode.h index b2e422650..5b8b78f6b 100644 --- a/arch/arm64/disassembler/pcode.h +++ b/arch/arm64/disassembler/pcode.h @@ -167,13 +167,15 @@ enum SystemHintOp SystemHintOp_PSB, SystemHintOp_TSB, SystemHintOp_BTI, - SystemHintOp_CSDB, SystemHintOp_WFET, SystemHintOp_WFIT, - SystemHintOp_CHKFEAT, SystemHintOp_CLRBHB, SystemHintOp_GCSB, + SystemHintOp_CHKFEAT, SystemHintOp_STSHH, + SystemHintOp_SHUH, + SystemHintOp_STCPH, + SystemHintOp_CSDB, }; enum ImmediateOp @@ -427,6 +429,11 @@ enum Unpredictable Unpredictable_LSE128OVERLAP, }; +enum PACInstType { + PACIxSP, + PACIxSPPC, +}; + typedef struct DecodeBitMasks_ReturnType_ { uint64_t wmask; @@ -462,6 +469,7 @@ uint64_t AdvSIMDExpandImm(uint8_t op, uint8_t cmode, uint64_t imm8); bool BTypeCompatible_BTI(uint8_t hintcode, uint8_t pstate_btype); bool BTypeCompatible_PACIXSP(void); +bool BTypeCompatible_PAC(enum PACInstType pacinst); enum FPRounding FPDecodeRounding(uint8_t RMode); enum FPRounding FPRoundingMode(uint64_t fpcr); diff --git a/arch/arm64/disassembler/test_cases.txt b/arch/arm64/disassembler/test_cases.txt index 1c22154cd..453e655ad 100644 --- a/arch/arm64/disassembler/test_cases.txt +++ b/arch/arm64/disassembler/test_cases.txt @@ -568,40 +568,43 @@ D51BE996 msr pmevcntr12_el0, x22 D5111020 msr trcrsctlr16, x0 // https://github.com/Vector35/arch-arm64/issues/78 D5032FFF hint #0x7f -// added in 2021-03 v9 spec +// Removed in 2025-09 ISA specification // TCANCEL_EX_exception 11010100|opc=011|imm16=xxxxxxxxxxxxxxxx|op2=000|LL=00 // TCANCEL # -D478DA60 tcancel #0xc6d3 -D469F740 tcancel #0x4fba -D47B3CC0 tcancel #0xd9e6 -D47EC080 tcancel #0xf604 -D475F200 tcancel #0xaf90 -D46AAE20 tcancel #0x5571 -D4666BE0 tcancel #0x335f -D47DA280 tcancel #0xed14 +D478DA60 error +D469F740 error +D47B3CC0 error +D47EC080 error +D475F200 error +D46AAE20 error +D4666BE0 error +D47DA280 error +// Removed in 2025-09 ISA specification // TCOMMIT_only_barriers 1101010100|L=0|op0=00|op1=011|CRn=0011|CRm=0000|op2=011|Rt=11111 // TCOMMIT -D503307F tcommit +D503307F error +// Removed in 2025-09 ISA specification // TSTART_BR_systemresult 1101010100|L=1|op0=00|op1=011|CRn=0011|CRm=0000|op2=011|Rt=xxxxx // TSTART -D5233070 tstart x16 -D5233068 tstart x8 -D523307C tstart x28 -D5233062 tstart x2 -D523307F tstart xzr -D523306B tstart x11 -D523307A tstart x26 -D5233076 tstart x22 +D5233070 error +D5233068 error +D523307C error +D5233062 error +D523307F error +D523306B error +D523307A error +D5233076 error +// Removed in 2025-09 ISA specification // TTEST_BR_systemresult 1101010100|L=1|op0=00|op1=011|CRn=0011|CRm=0001|op2=011|Rt=xxxxx // TTEST -D5233178 ttest x24 -D5233177 ttest x23 -D523317C ttest x28 -D5233169 ttest x9 -D523317D ttest fp -D523317F ttest xzr -D5233162 ttest x2 -D5233172 ttest x18 +D5233178 error +D5233177 error +D523317C error +D5233169 error +D523317D error +D523317F error +D5233162 error +D5233172 error // adclb_z_zzz_ 01000101|0|sz=x|0|Zm=xxxxx|11010|T=0|Zn=xxxxx|Zda=xxxxx // ADCLB .,.,. 4540D2D6 adclb z22.d, z22.d, z0.d