class SVE2_CONFLICT_DETECT_Intrinsic
: DefaultAttrsIntrinsic<[llvm_anyvector_ty],
[LLVMAnyPointerType<llvm_any_ty>,
- LLVMMatchType<1>]>;
+ LLVMMatchType<1>],
+ [IntrNoMem]>;
class SVE2_3VectorArg_Indexed_Intrinsic
: DefaultAttrsIntrinsic<[llvm_anyvector_ty],
let Defs = !if(!eq (opc{0}, 1), [NZCV], []);
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Inst{8-4} = 0b00000;
let Inst{3-0} = Pd;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Inst{4-0} = 0b00000;
let Defs = [NZCV];
+ let hasSideEffects = 0;
let isCompare = 1;
}
let Constraints = "$Pdn = $_Pdn";
let Defs = [NZCV];
- let isPTestLike = 1;
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
+ let isPTestLike = 1;
}
multiclass sve_int_pfirst<bits<5> opc, string asm, SDPatternOperator op> {
!strconcat(asm, "\t$Rdn, $Pg, $_Rdn"),
!strconcat(asm, "\t$Rdn, $Pg"));
let Constraints = "$Rdn = $_Rdn";
+ let hasSideEffects = 0;
}
multiclass sve_int_count_r_s32<bits<5> opc, string asm,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_count_v<bits<5> opc, string asm,
let Inst{9} = opc{0};
let Inst{8-5} = Pn;
let Inst{4-0} = Rd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_pcount_pred<bits<4> opc, string asm,
let Inst{9-5} = pattern;
let Inst{4-0} = Rd;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_countvlv<bits<5> opc, string asm, ZPRRegOp zprty,
let Inst{4-0} = Rdn;
let Constraints = "$Rdn = $_Rdn";
+ let hasSideEffects = 0;
}
multiclass sve_int_pred_pattern_a<bits<3> opc, string asm,
!strconcat(asm, "\t$Rdn, $pattern, mul $imm4"));
let Constraints = "$Rdn = $_Rdn";
+ let hasSideEffects = 0;
}
multiclass sve_int_pred_pattern_b_s32<bits<5> opc, string asm,
let Inst{21-10} = 0b100000001110;
let Inst{9-5} = Rn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_dup_r<string asm, SDPatternOperator op> {
let Inst{15-10} = 0b001000;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_dup_i<string asm> {
let Inst{10} = 0b0;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_tbl<string asm, SDPatternOperator op> {
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
}
multiclass sve2_int_perm_tbx<string asm, bits<2> opc, SDPatternOperator op> {
let Inst{21-10} = 0b111000001110;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_reverse_z<string asm, SDPatternOperator op> {
let Inst{8-5} = Pn;
let Inst{4} = 0b0;
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_reverse_p<string asm, SDPatternOperator op> {
let Inst{15-10} = 0b001110;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_unpk<bits<2> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_insrs<string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_insrv<string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_extract_i<string asm, SDPatternOperator op> {
let Inst{12-10} = imm8{2-0};
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
//===----------------------------------------------------------------------===//
let Inst{13-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_sel_vvv<string asm, SDPatternOperator op> {
!strconcat(asm, "\t$Pd, $Pg/z, $Pn, $Pm"));
let Defs = !if(!eq (opc{2}, 1), [NZCV], []);
-
+ let hasSideEffects = 0;
}
multiclass sve_int_pred_log<bits<4> opc, string asm, SDPatternOperator op,
let DecoderMethod = "DecodeSVELogicalImmInstruction";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_log_imm<bits<2> opc, string asm, string alias, SDPatternOperator op> {
let Inst{17-5} = imms;
let Inst{4-0} = Zd;
- let isReMaterializable = 1;
let DecoderMethod = "DecodeSVELogicalImmInstruction";
+ let hasSideEffects = 0;
+ let isReMaterializable = 1;
}
multiclass sve_int_dup_mask_imm<string asm> {
let Inst{12-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_cons_arit_0<bits<3> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_2op_i_p_zds<bits<3> opc, string asm, string Ps, Operand imm_ty, FPImmLeaf A, FPImmLeaf B, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_2op_p_zds<bits<4> opc, string asm, string Ps,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_ftmad<string asm, SDPatternOperator op> {
let Inst{12-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_3op_u_zd<bits<3> opc, string asm, SDPatternOperator op,
let Constraints = "$Zda = $_Zda";
let ElementSize = zprty.ElementSize;
let DestructiveInstType = DestructiveTernaryCommWithRev;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_3op_p_zds_a<bits<2> opc, string asm, string Ps,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_3op_p_zds_b<bits<2> opc, string asm, SDPatternOperator op,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2p1_fp_bfma_by_indexed_elem<string asm, bits<2> opc> {
let Inst{10} = 0b0;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2p1_fp_bfmul_by_indexed_elem<string asm> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_fcmla<string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_fcmla_by_indexed_elem<string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_fcadd<string asm, SDPatternOperator op> {
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2_fp_convert_down_narrow<string asm, string op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2_fp_pairwise_pred<bits<3> opc, string asm,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2_fp_mla_long_by_indexed_elem<bits<3> opc, string asm,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2_fp_mla_long<bits<3> opc, string asm, ValueType OutVT,
let Inst{11} = streaming_sve;
let Inst{10-5} = imm6;
let Inst{4-0} = Rd;
+
+ let hasSideEffects = 0;
}
class sve_int_read_vl_a<bit op, bits<5> opc2, string asm, bit streaming_sve = 0b0>
let Inst{10-5} = imm6;
let Inst{4-0} = Rd;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Inst{12-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_bin_perm_zz<bits<3> opc, string asm,
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveUnaryPassthru;
let ElementSize = Sz;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_2op_p_zd<bits<7> opc, string asm,
let Inst{15-10} = 0b001100;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_2op_u_zd<bits<3> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_pred_log<bits<3> opc, string asm, string Ps,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_mladdsub_vvv_pred<bits<1> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_mlas_vvv_pred<bits<1> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_mla<bit S, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_mla_by_indexed_elem<bits<2> opc, bit S, string asm,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
}
multiclass sve_intx_dot<bit opc, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
}
multiclass sve_intx_dot_by_indexed_elem<bit opc, string asm,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_cintx_dot<string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_cintx_dot_by_indexed_elem<string asm, SDPatternOperator op> {
let Inst{12-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_int_mul<bits<3> opc, string asm, SDPatternOperator op,
let Inst{13-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_int_mul_by_indexed_elem<bits<4> opc, string asm,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve2_int_arith_pred<bits<6> opc, string asm, SDPatternOperator op,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty1.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve2_int_sadd_long_accum_pairwise<bit U, string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveUnaryPassthru;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve2_int_un_pred_arit_s<bits<3> opc, string asm,
let Inst{14-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_wide_int_arith_long<bits<5> opc, string asm,
let Inst{13-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_misc_bitwise<bits<4> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_bitwise_xor_interleaved<bit opc, string asm,
let Inst{11-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_bitwise_shift_left_long<bits<2> opc, string asm,
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
}
multiclass sve2_int_bin_shift_imm_left<bit opc, string asm,
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_bin_accum_shift_imm_right<bits<2> opc, string asm,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_cadd<bit opc, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_absdiff_accum<bit opc, string asm, SDPatternOperator op> {
let Inst{10} = 0b0;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_int_bin_shift_imm_right_narrow_bottom<bits<3> opc, string asm,
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
}
multiclass sve2_int_bin_shift_imm_right_narrow_top<bits<3> opc, string asm,
let Inst{10} = 0b0; // Top
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_int_addsub_narrow_high_bottom<bits<2> opc, string asm,
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
}
multiclass sve2_int_addsub_narrow_high_top<bits<2> opc, string asm,
let Inst{10} = 0b0;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_int_sat_extract_narrow_bottom<bits<2> opc, string asm,
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
}
multiclass sve2_int_sat_extract_narrow_top<bits<2> opc, string asm,
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveUnaryPassthru;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_un_pred_arit_0<bits<3> opc, string asm,
let Inst{12-5} = imm{7-0}; // imm8
let Inst{4-0} = Zd;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Inst{12-5} = imm8;
let Inst{4-0} = Zd;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_arith_imm0<bits<3> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_arith_imm1<bits<2> opc, string asm, SDPatternOperator op> {
let Inst{15-10} = 0b001100;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_cons_log<bits<2> opc, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_bitwise_ternary_op<bits<3> opc, string asm, SDPatternOperator op,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve2_int_rotate_right_imm<string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_dup_fpimm_pred<string asm> {
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_dup_imm_pred_merge_inst<
let Defs = [NZCV];
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isPTestLike = 1;
}
let Defs = [NZCV];
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isPTestLike = 1;
}
let Defs = [NZCV];
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isPTestLike = 1;
}
let Inst{3-0} = 0b0000;
let Defs = [NZCV];
+ let hasSideEffects = 0;
}
class sve_int_while_rr<bits<2> sz8_64, bits<4> opc, string asm,
let Defs = [NZCV];
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isWhile = 1;
}
let Defs = [NZCV];
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isWhile = 1;
}
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Vd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_fast_red<bits<3> opc, string asm, SDPatternOperator op> {
let Inst{4-0} = Vdn;
let Constraints = "$Vdn = $_Vdn";
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_2op_p_vd<bits<3> opc, string asm, SDPatternOperator op> {
let Inst{9-5} = Zn;
let Inst{4} = opc{0};
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_3op_p_pd<bits<3> opc, string asm, SDPatternOperator op> {
let Inst{9-5} = Zn;
let Inst{4} = opc{0};
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_2op_p_pd<bits<3> opc, string asm,
let Inst{9-5} = imm5;
let Inst{4-0} = Zd;
+ let hasSideEffects = 0;
let isReMaterializable = 1;
}
let Inst{15-10} = 0b010010;
let Inst{9-5} = imm5;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_index_ir<string asm, SDPatternOperator mulop, SDPatternOperator muloneuseop> {
let Inst{15-10} = 0b010001;
let Inst{9-5} = Rn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_index_ri<string asm> {
let Inst{15-10} = 0b010011;
let Inst{9-5} = Rn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_index_rr<string asm, SDPatternOperator mulop> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveBinaryImm;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_pred_shift_imm_left<bits<4> opc, string asm, string Ps,
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_pred_shift<bits<3> opc, string asm, string Ps,
let Inst{11-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_cons_shift_wide<bits<2> opc, string asm, SDPatternOperator op> {
let Inst{11-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_cons_shift_imm_left<bits<2> opc, string asm,
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{4} = 0b0;
let Inst{3-0} = Pt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{8-5} = Pn;
let Inst{4} = 0b0;
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_bin_perm_pp<bits<3> opc, string asm,
let Inst{8-5} = Pn;
let Inst{4} = 0b0;
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_punpk<bit opc, string asm, SDPatternOperator op> {
let Defs = !if(s, [NZCV], []);
let Uses = [FFR];
+ let hasSideEffects = 1;
}
multiclass sve_int_rdffr_pred<bit s, string asm, SDPatternOperator op> {
let Inst{3-0} = Pd;
let Uses = [FFR];
+ let hasSideEffects = 1;
}
multiclass sve_int_rdffr_unpred<string asm, SDPatternOperator op> {
let Inst{8-5} = Pn;
let Inst{4-0} = 0b00000;
- let hasSideEffects = 1;
let Defs = [FFR];
+ let hasSideEffects = 1;
}
class sve_int_setffr<string asm, SDPatternOperator op>
[(op)]>, Sched<[]> {
let Inst{31-0} = 0b00100101001011001001000000000000;
- let hasSideEffects = 1;
let Defs = [FFR];
+ let hasSideEffects = 1;
}
//===----------------------------------------------------------------------===//
let Inst{4-0} = Rdn;
let Constraints = "$Rdn = $_Rdn";
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_clast_rz<bit ab, string asm, SDPatternOperator op> {
let Inst{4-0} = Vdn;
let Constraints = "$Vdn = $_Vdn";
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_clast_vz<bit ab, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_clast_zz<bit ab, string asm, SDPatternOperator op> {
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Rd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_last_r<bit ab, string asm, SDPatternOperator op> {
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Vd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_last_v<bit ab, string asm, SDPatternOperator op> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeNone;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_splice<string asm, SDPatternOperator op> {
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_int_perm_splice_cons<string asm> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_rev_rbit<string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_cpy_r<string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_cpy_v<string asm, SDPatternOperator op> {
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_compact<string asm, SDPatternOperator op> {
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
- let mayLoad = 1;
- let Uses = !if(nf, [FFR], []);
let Defs = !if(nf, [FFR], []);
+ let Uses = !if(nf, [FFR], []);
+ let hasSideEffects = nf;
+ let mayLoad = 1;
}
multiclass sve_mem_cld_si_base<bits<4> dtype, bit nf, string asm,
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
- let mayLoad = 1;
- let Uses = !if(ff, [FFR], []);
let Defs = !if(ff, [FFR], []);
+ let Uses = !if(ff, [FFR], []);
+ let hasSideEffects = ff;
+ let mayLoad = 1;
}
multiclass sve_mem_cld_ss<bits<4> dtype, string asm, RegisterOperand listty,
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
- let mayLoad = 1;
+
let Defs = !if(!eq(opc{0}, 1), [FFR], []);
let Uses = !if(!eq(opc{0}, 1), [FFR], []);
+ let hasSideEffects = opc{0};
+ let mayLoad = 1;
}
multiclass sve_mem_32b_gld_sv_32_scaled<bits<4> opc, string asm,
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
- let mayLoad = 1;
+
let Defs = !if(!eq(opc{0}, 1), [FFR], []);
let Uses = !if(!eq(opc{0}, 1), [FFR], []);
+ let hasSideEffects = opc{0};
+ let mayLoad = 1;
}
multiclass sve_mem_32b_gld_vi_32_ptrs<bits<4> opc, string asm, Operand imm_ty,
let Inst{9-5} = Zn;
let Inst{4} = 0b0;
let Inst{3-0} = prfop;
+
+ let hasSideEffects = 1;
}
multiclass sve_mem_32b_prfm_vi<bits<2> msz, string asm, Operand imm_ty, SDPatternOperator op> {
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{4} = 0b0;
let Inst{3-0} = Pt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
- let mayLoad = 1;
+
let Defs = !if(!eq(opc{0}, 1), [FFR], []);
let Uses = !if(!eq(opc{0}, 1), [FFR], []);
+ let hasSideEffects = opc{0};
+ let mayLoad = 1;
}
multiclass sve_mem_64b_gld_sv_32_scaled<bits<4> opc, string asm,
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
- let mayLoad = 1;
let Defs = !if(!eq(opc{0}, 1), [FFR], []);
let Uses = !if(!eq(opc{0}, 1), [FFR], []);
+ let hasSideEffects = opc{0};
+ let mayLoad = 1;
}
multiclass sve_mem_64b_gld_vi_64_ptrs<bits<4> opc, string asm, Operand imm_ty,
let Inst{11-10} = msz;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_cons_misc_0_a_uxtw<bits<2> opc, string asm> {
let Inst{15-10} = 0b101100;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_bin_cons_misc_0_b<string asm, SDPatternOperator op> {
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Vd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_reduce_0_saddv<bits<3> opc, string asm,
let Inst{4-0} = Zd;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_movprfx_pred_merge<bits<3> opc, string asm> {
let Inst{3-0} = Pd;
let Defs = !if(!eq (opc{1}, 1), [NZCV], []);
+ let hasSideEffects = 0;
}
multiclass sve_int_brkp<bits<2> opc, string asm, SDPatternOperator op> {
let Constraints = "$Pdm = $_Pdm";
let Defs = !if(S, [NZCV], []);
let ElementSize = ElementSizeB;
+ let hasSideEffects = 0;
}
multiclass sve_int_brkn<bits<1> opc, string asm, SDPatternOperator op> {
let Constraints = !if(!eq (opc{0}, 1), "$Pd = $_Pd", "");
let Defs = !if(!eq (opc{1}, 1), [NZCV], []);
-
+ let hasSideEffects = 0;
}
multiclass sve_int_break_m<bits<3> opc, string asm, SDPatternOperator op> {
let Defs = [NZCV];
let ElementSize = pprty.ElementSize;
+ let hasSideEffects = 0;
let isPTestLike = 1;
}
let Inst{15-10} = 0b101000;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
//===----------------------------------------------------------------------===//
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_hist_gen_vector<string asm, SDPatternOperator op> {
let Inst{10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2_crypto_cons_bin_op<bit opc, string asm, ZPRRegOp zprty,
let Inst{4-0} = Zdn;
let Constraints = "$Zdn = $_Zdn";
+ let hasSideEffects = 0;
}
multiclass sve2_crypto_des_bin_op<bits<2> opc, string asm, ZPRRegOp zprty,
let Inst{4-0} = Zdn;
let Constraints = "$Zdn = $_Zdn";
+ let hasSideEffects = 0;
}
multiclass sve2_crypto_unary_op<bit opc, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_float_dot<bit bf, string asm, ValueType InVT, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_float_dot_indexed<bit bf, string asm, ValueType InVT, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ElementSizeH;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_bfloat_matmul<string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
- let hasSideEffects = 1;
let ElementSize = ElementSizeS;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_bfloat_convert<bit N, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ZPR32.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_matmul<bits<2> uns, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ZPR32.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_dot_mixed<string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = ZPR32.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve_int_dot_mixed_indexed<bit U, string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
let ElementSize = zprty.ElementSize;
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve_fp_matrix_mla<bit sz, string asm, ZPRRegOp zprty, SDPatternOperator op, ValueType vt> {
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{10} = P;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve_int_perm_bin_perm_128_zz<bits<2> opc, bit P, string asm, SDPatternOperator op> {
let Constraints = "$Zd = $_Zd";
let DestructiveInstType = DestructiveOther;
let ElementSize = zpr_ty.ElementSize;
+ let hasSideEffects = 0;
}
multiclass sve2p1_fclamp<string asm, SDPatternOperator op> {
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
}
let Constraints = "$Zda = $_Zda";
let DestructiveInstType = DestructiveOther;
+ let hasSideEffects = 0;
}
let Inst{23-22} = sz;
let Inst{21-3} = 0b1000000111100000010;
let Inst{2-0} = PNd;
+
+ let hasSideEffects = 0;
}
let Inst{7-5} = PNn;
let Inst{4} = 0b1;
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
}
class sve2p1_pred_as_ctr_to_mask<string mnemonic, bits<2> sz, PPRRegOp pprty>
let Inst{9-6} = Zn;
let Inst{5} = 0b0;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_multi_vec_extract_narrow<string mnemonic, bits<2> opc, SDPatternOperator intrinsic> {
let Inst{9-6} = Zn;
let Inst{5} = 0b0;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_multi_vec_shift_narrow<string mnemonic, bits<3> opc> {
let Inst{4-1} = Zt;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{4-1} = Zt;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{1} = 0b0;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{1} = 0b0;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{4-1} = Zt;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{4-1} = Zt;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{1} = 0b0;
let Inst{0} = n;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9} = 0b1;
let Inst{8-5} = PNn;
let Inst{4-0} = Rd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_pcount_pn<string mnemonic, bits<3> opc> {
let Inst{2-0} = PNd;
let Defs = [NZCV];
+ let hasSideEffects = 0;
}
let Inst{0} = opc{0};
let Defs = [NZCV];
+ let hasSideEffects = 0;
}
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Zn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayStore = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{9-5} = Rn;
let Inst{4-0} = Zt;
+ let hasSideEffects = 0;
let mayLoad = 1;
}
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Vd;
+
+ let hasSideEffects = 0;
+ let mayRaiseFPException = 1;
}
multiclass sve2p1_fp_reduction_q<bits<3> opc, string mnemonic> {
let Inst{15-10} = 0b001001;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_dupq<string mnemonic> {
let Constraints = "$Zdn = $_Zdn";
let DestructiveInstType = DestructiveOther;
let ElementSize = ZPR8.ElementSize;
+ let hasSideEffects = 0;
}
let Inst{9-5} = Zn;
let Inst{4} = 0b0;
let Inst{3-0} = Pd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_vector_to_pred<string mnemonic> {
let Inst{4-0} = Zd;
let Constraints = "$Zd = $_Zd";
+ let hasSideEffects = 0;
}
multiclass sve2p1_pred_to_vector<string mnemonic> {
let Inst{12-10} = Pg;
let Inst{9-5} = Zn;
let Inst{4-0} = Vd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_int_reduce_q<bits<4> opc, string mnemonic> {
let Inst{12-10} = opc;
let Inst{9-5} = Zn;
let Inst{4-0} = Zd;
+
+ let hasSideEffects = 0;
}
multiclass sve2p1_permute_vec_elems_q<bits<3> opc, string mnemonic> {
; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
; CHECK-NEXT: bl __extenddftf2
; CHECK-NEXT: add x8, sp, #48
-; CHECK-NEXT: ldr z1, [x8] // 16-byte Folded Reload
; CHECK-NEXT: str q0, [sp, #32] // 16-byte Folded Spill
+; CHECK-NEXT: ldr z1, [x8] // 16-byte Folded Reload
; CHECK-NEXT: mov d1, v1.d[1]
; CHECK-NEXT: fmov d0, d1
; CHECK-NEXT: bl __extenddftf2
; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
; CHECK-NEXT: bl __extenddftf2
; CHECK-NEXT: add x8, sp, #48
-; CHECK-NEXT: ldr z1, [x8, #1, mul vl] // 16-byte Folded Reload
; CHECK-NEXT: str q0, [sp] // 16-byte Folded Spill
+; CHECK-NEXT: ldr z1, [x8, #1, mul vl] // 16-byte Folded Reload
; CHECK-NEXT: mov d1, v1.d[1]
; CHECK-NEXT: fmov d0, d1
; CHECK-NEXT: bl __extenddftf2
; CHECK-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT: addvl sp, sp, #-1
; CHECK-NEXT: ptrue p0.s
-; CHECK-NEXT: st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT: addpl x8, sp, #4
+; CHECK-NEXT: st1h { z0.s }, p0, [sp, #1, mul vl]
; CHECK-NEXT: str d1, [x8]
; CHECK-NEXT: ld1h { z0.s }, p0/z, [sp, #1, mul vl]
; CHECK-NEXT: addvl sp, sp, #1
# CHECK-NEXT: 1 4 0.50 add z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 4 0.50 add z31.s, z31.s, #65280
# CHECK-NEXT: 1 4 0.50 add z31.s, z31.s, z31.s
-# CHECK-NEXT: 1 1 0.50 U addpl sp, sp, #31
-# CHECK-NEXT: 1 1 0.50 U addpl x0, x0, #-32
-# CHECK-NEXT: 1 1 0.50 U addpl x21, x21, #0
-# CHECK-NEXT: 1 1 0.50 U addpl x23, x8, #-1
+# CHECK-NEXT: 1 1 0.50 addpl sp, sp, #31
+# CHECK-NEXT: 1 1 0.50 addpl x0, x0, #-32
+# CHECK-NEXT: 1 1 0.50 addpl x21, x21, #0
+# CHECK-NEXT: 1 1 0.50 addpl x23, x8, #-1
# CHECK-NEXT: 1 1 0.50 addvl sp, sp, #31
# CHECK-NEXT: 1 1 0.50 addvl x0, x0, #-32
# CHECK-NEXT: 1 1 0.50 addvl x21, x21, #0
# CHECK-NEXT: 1 4 0.50 and z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 and z5.b, z5.b, #0x6
# CHECK-NEXT: 1 4 1.00 and z5.b, z5.b, #0xf9
-# CHECK-NEXT: 1 3 1.00 U ands p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 3 1.00 ands p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 10 46 5.00 andv b0, p7, z31.b
# CHECK-NEXT: 7 34 3.50 andv d0, p7, z31.d
# CHECK-NEXT: 9 42 4.50 andv h0, p7, z31.h
# CHECK-NEXT: 2 8 1.00 asrd z31.d, p0/m, z31.d, #64
# CHECK-NEXT: 2 8 1.00 asrd z31.h, p0/m, z31.h, #16
# CHECK-NEXT: 2 8 1.00 asrd z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: 1 4 0.50 U asrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 4 0.50 U asrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 4 0.50 U asrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 4 0.50 U asrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 asrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 asrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 asrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 asrr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 3 1.00 bic p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 3 1.00 bic p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 4 0.50 bic z0.d, z0.d, z0.d
# CHECK-NEXT: 1 4 0.50 bic z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: 1 4 0.50 bic z31.h, p7/m, z31.h, z31.h
# CHECK-NEXT: 1 4 0.50 bic z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: 1 3 1.00 U bics p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 1 3 1.00 U bics p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 bics p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 3 1.00 bics p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 1.00 brka p0.b, p15/m, p15.b
# CHECK-NEXT: 1 3 1.00 brka p0.b, p15/z, p15.b
-# CHECK-NEXT: 1 3 1.00 U brkas p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 1.00 brkas p0.b, p15/z, p15.b
# CHECK-NEXT: 1 3 1.00 brkb p0.b, p15/m, p15.b
# CHECK-NEXT: 1 3 1.00 brkb p0.b, p15/z, p15.b
-# CHECK-NEXT: 1 3 1.00 U brkbs p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 1.00 brkbs p0.b, p15/z, p15.b
# CHECK-NEXT: 1 3 1.00 brkn p0.b, p15/z, p1.b, p0.b
# CHECK-NEXT: 1 3 1.00 brkn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U brkns p0.b, p15/z, p1.b, p0.b
-# CHECK-NEXT: 1 3 1.00 U brkns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 brkns p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: 1 3 1.00 brkns p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 1.00 brkpa p0.b, p15/z, p1.b, p2.b
# CHECK-NEXT: 1 3 1.00 brkpa p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U brkpas p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: 1 3 1.00 U brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 3 1.00 brkpas p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 1.00 brkpb p0.b, p15/z, p1.b, p2.b
# CHECK-NEXT: 1 3 1.00 brkpb p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U brkpbs p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: 1 3 1.00 U brkpbs p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 6 1.00 U clasta b0, p7, b0, z31.b
+# CHECK-NEXT: 1 3 1.00 brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 1 3 1.00 brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 6 1.00 clasta b0, p7, b0, z31.b
# CHECK-NEXT: 1 6 1.00 clasta d0, p7, d0, z31.d
# CHECK-NEXT: 1 6 1.00 clasta h0, p7, h0, z31.h
# CHECK-NEXT: 1 6 1.00 clasta s0, p7, s0, z31.s
# CHECK-NEXT: 1 6 1.00 clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: 1 6 1.00 clasta z0.h, p7, z0.h, z31.h
# CHECK-NEXT: 1 6 1.00 clasta z0.s, p7, z0.s, z31.s
-# CHECK-NEXT: 1 6 1.00 U clastb b0, p7, b0, z31.b
+# CHECK-NEXT: 1 6 1.00 clastb b0, p7, b0, z31.b
# CHECK-NEXT: 1 6 1.00 clastb d0, p7, d0, z31.d
# CHECK-NEXT: 1 6 1.00 clastb h0, p7, h0, z31.h
# CHECK-NEXT: 1 6 1.00 clastb s0, p7, s0, z31.s
# CHECK-NEXT: 1 1 0.50 cntw x0, pow2
# CHECK-NEXT: 1 6 1.00 compact z31.d, p7, z31.d
# CHECK-NEXT: 1 6 1.00 compact z31.s, p7, z31.s
-# CHECK-NEXT: 1 2 1.00 U ctermeq w30, wzr
-# CHECK-NEXT: 1 2 1.00 U ctermeq wzr, w30
-# CHECK-NEXT: 1 2 1.00 U ctermeq x30, xzr
-# CHECK-NEXT: 1 2 1.00 U ctermeq xzr, x30
-# CHECK-NEXT: 1 2 1.00 U ctermne w30, wzr
-# CHECK-NEXT: 1 2 1.00 U ctermne wzr, w30
-# CHECK-NEXT: 1 2 1.00 U ctermne x30, xzr
-# CHECK-NEXT: 1 2 1.00 U ctermne xzr, x30
+# CHECK-NEXT: 1 2 1.00 ctermeq w30, wzr
+# CHECK-NEXT: 1 2 1.00 ctermeq wzr, w30
+# CHECK-NEXT: 1 2 1.00 ctermeq x30, xzr
+# CHECK-NEXT: 1 2 1.00 ctermeq xzr, x30
+# CHECK-NEXT: 1 2 1.00 ctermne w30, wzr
+# CHECK-NEXT: 1 2 1.00 ctermne wzr, w30
+# CHECK-NEXT: 1 2 1.00 ctermne x30, xzr
+# CHECK-NEXT: 1 2 1.00 ctermne xzr, x30
# CHECK-NEXT: 1 1 0.50 decb x0
# CHECK-NEXT: 1 1 0.50 decb x0, #14
# CHECK-NEXT: 1 1 0.50 decb x0, all, mul #16
# CHECK-NEXT: 2 7 1.00 decp xzr, p15.d
# CHECK-NEXT: 2 7 1.00 decp xzr, p15.h
# CHECK-NEXT: 2 7 1.00 decp xzr, p15.s
-# CHECK-NEXT: 1 12 1.00 U decp z31.d, p15.d
-# CHECK-NEXT: 1 12 1.00 U decp z31.h, p15.h
-# CHECK-NEXT: 1 12 1.00 U decp z31.s, p15.s
+# CHECK-NEXT: 1 12 1.00 decp z31.d, p15.d
+# CHECK-NEXT: 1 12 1.00 decp z31.h, p15.h
+# CHECK-NEXT: 1 12 1.00 decp z31.s, p15.s
# CHECK-NEXT: 1 1 0.50 decw x0
# CHECK-NEXT: 1 1 0.50 decw x0, #14
# CHECK-NEXT: 1 1 0.50 decw x0, all, mul #16
# CHECK-NEXT: 1 4 0.50 eor z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 eor z5.b, z5.b, #0x6
# CHECK-NEXT: 1 4 1.00 eor z5.b, z5.b, #0xf9
-# CHECK-NEXT: 1 3 1.00 U eors p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 3 1.00 eors p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 10 46 5.00 eorv b0, p7, z31.b
# CHECK-NEXT: 7 34 3.50 eorv d0, p7, z31.d
# CHECK-NEXT: 9 42 4.50 eorv h0, p7, z31.h
# CHECK-NEXT: 2 15 1.00 fmls z0.s, z1.s, z7.s[3]
# CHECK-NEXT: 1 6 1.00 fmov z0.d, #-10.00000000
# CHECK-NEXT: 1 6 1.00 fmov z0.d, #0.12500000
-# CHECK-NEXT: 1 4 1.00 U fmov z0.d, p0/m, #-10.00000000
-# CHECK-NEXT: 1 4 1.00 U fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: 1 4 1.00 fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: 1 4 1.00 fmov z0.d, p0/m, #0.12500000
# CHECK-NEXT: 1 6 1.00 fmov z0.h, #-0.12500000
-# CHECK-NEXT: 1 4 1.00 U fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: 1 4 1.00 fmov z0.h, p0/m, #-0.12500000
# CHECK-NEXT: 1 6 1.00 fmov z0.s, #-0.12500000
-# CHECK-NEXT: 1 4 1.00 U fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: 1 4 1.00 fmov z0.s, p0/m, #-0.12500000
# CHECK-NEXT: 1 9 0.50 fmsb z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 9 0.50 fmsb z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 9 0.50 fmsb z0.s, p7/m, z1.s, z31.s
# CHECK-NEXT: 2 7 1.00 incp xzr, p15.d
# CHECK-NEXT: 2 7 1.00 incp xzr, p15.h
# CHECK-NEXT: 2 7 1.00 incp xzr, p15.s
-# CHECK-NEXT: 1 12 1.00 U incp z31.d, p15.d
-# CHECK-NEXT: 1 12 1.00 U incp z31.h, p15.h
-# CHECK-NEXT: 1 12 1.00 U incp z31.s, p15.s
+# CHECK-NEXT: 1 12 1.00 incp z31.d, p15.d
+# CHECK-NEXT: 1 12 1.00 incp z31.h, p15.h
+# CHECK-NEXT: 1 12 1.00 incp z31.s, p15.s
# CHECK-NEXT: 1 1 0.50 incw x0
# CHECK-NEXT: 1 1 0.50 incw x0, #14
# CHECK-NEXT: 1 1 0.50 incw x0, all, mul #16
# CHECK-NEXT: 1 10 1.00 insr z31.h, wzr
# CHECK-NEXT: 1 6 1.00 insr z31.s, s31
# CHECK-NEXT: 1 10 1.00 insr z31.s, wzr
-# CHECK-NEXT: 1 6 1.00 U lasta b0, p7, z31.b
+# CHECK-NEXT: 1 6 1.00 lasta b0, p7, z31.b
# CHECK-NEXT: 1 6 1.00 lasta d0, p7, z31.d
# CHECK-NEXT: 1 6 1.00 lasta h0, p7, z31.h
# CHECK-NEXT: 1 6 1.00 lasta s0, p7, z31.s
# CHECK-NEXT: 1 29 1.00 lasta w0, p7, z31.h
# CHECK-NEXT: 1 29 1.00 lasta w0, p7, z31.s
# CHECK-NEXT: 1 29 1.00 lasta x0, p7, z31.d
-# CHECK-NEXT: 1 6 1.00 U lastb b0, p7, z31.b
+# CHECK-NEXT: 1 6 1.00 lastb b0, p7, z31.b
# CHECK-NEXT: 1 6 1.00 lastb d0, p7, z31.d
# CHECK-NEXT: 1 6 1.00 lastb h0, p7, z31.h
# CHECK-NEXT: 1 6 1.00 lastb s0, p7, z31.s
# CHECK-NEXT: 1 29 1.00 lastb x0, p7, z31.d
# CHECK-NEXT: 1 11 0.50 * ld1b { z0.b }, p0/z, [sp, x0]
# CHECK-NEXT: 1 11 0.50 * ld1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 23 4.00 * U ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 23 4.00 * U ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 19 4.00 * U ld1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 23 4.00 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 23 4.00 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 19 4.00 * ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 11 0.50 * ld1b { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: 1 11 0.50 * ld1b { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 19 4.00 * U ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 19 4.00 * ld1b { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: 1 11 0.50 * ld1b { z5.h }, p3/z, [x17, x16]
-# CHECK-NEXT: 1 20 2.00 * U ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: 1 20 2.00 * U ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: 1 11 0.50 * U ld1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 11 0.50 * U ld1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 1 20 2.00 * ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 11 0.50 * ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 11 0.50 * ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 11 0.50 * ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
# CHECK-NEXT: 1 11 0.50 * ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
-# CHECK-NEXT: 1 20 2.00 * U ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: 1 11 0.50 * U ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: 1 20 2.00 * U ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 1 20 2.00 * U ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 23 4.00 * U ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 23 4.00 * U ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 19 4.00 * U ld1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: 1 11 0.50 * ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: 1 20 2.00 * ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 20 2.00 * ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 23 4.00 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 23 4.00 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 19 4.00 * ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 11 0.50 * ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: 1 11 0.50 * ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: 1 20 2.00 * U ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 23 4.00 * U ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 1 23 4.00 * U ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 1 19 4.00 * U ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 20 2.00 * ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 23 4.00 * ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 23 4.00 * ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 19 4.00 * ld1h { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: 1 11 0.50 * ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
# CHECK-NEXT: 1 11 0.50 * ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
# CHECK-NEXT: 1 11 0.50 * ld1rb { z0.b }, p0/z, [x0]
# CHECK-NEXT: 1 11 0.50 * ld1rw { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 11 0.50 * ld1rw { z31.d }, p7/z, [sp, #252]
# CHECK-NEXT: 1 11 0.50 * ld1rw { z31.s }, p7/z, [sp, #252]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1sb { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 11 0.50 * ld1sb { z0.h }, p0/z, [sp, x0]
# CHECK-NEXT: 1 11 0.50 * ld1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 1 23 4.00 * U ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 19 4.00 * U ld1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 1 23 4.00 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 19 4.00 * ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 11 0.50 * ld1sb { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: 1 11 0.50 * ld1sb { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 11 0.50 * U ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 19 4.00 * U ld1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: 1 20 2.00 * U ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 1 20 2.00 * U ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 11 0.50 * U ld1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 23 4.00 * U ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 23 4.00 * U ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 19 4.00 * U ld1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 11 0.50 * U ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 19 4.00 * ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 20 2.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 1 20 2.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 11 0.50 * ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 23 4.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 23 4.00 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 19 4.00 * ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 11 0.50 * ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 11 0.50 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-# CHECK-NEXT: 1 11 0.50 * U ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 11 0.50 * ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: 1 11 0.50 * ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: 1 20 2.00 * U ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 11 0.50 * U ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 11 0.50 * U ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 23 4.00 * U ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 1 23 4.00 * U ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 1 19 4.00 * U ld1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: 1 20 2.00 * U ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 1 20 2.00 * U ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 11 0.50 * U ld1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 11 0.50 * U ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 11 0.50 * ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 11 0.50 * ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 23 4.00 * ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 1 23 4.00 * ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 1 19 4.00 * ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 1 20 2.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 20 2.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 11 0.50 * ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 11 0.50 * ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 11 0.50 * ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
# CHECK-NEXT: 1 11 0.50 * ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: 1 20 2.00 * U ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 11 0.50 * U ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 20 2.00 * U ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 1 20 2.00 * U ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 11 0.50 * U ld1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 1 16 2.00 * U ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 23 4.00 * U ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 23 4.00 * U ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 11 0.50 * U ld1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 1 19 4.00 * U ld1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 11 0.50 * U ld1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 1 20 2.00 * U ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 11 0.50 * ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 20 2.00 * ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 1 20 2.00 * ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 11 0.50 * ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 1 16 2.00 * ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 23 4.00 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 23 4.00 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 11 0.50 * ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 1 19 4.00 * ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 11 0.50 * ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 1 20 2.00 * ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 11 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-# CHECK-NEXT: 1 11 0.50 * U ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 11 0.50 * ld1w { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 11 0.50 * ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
# CHECK-NEXT: 1 11 0.50 * ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: 1 20 2.00 * U ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 11 0.50 * U ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 20 2.00 * U ld1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 1 16 2.00 * U ld1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 11 0.50 * U ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 23 4.00 * U ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: 1 23 4.00 * U ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: 1 19 4.00 * U ld1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: 3 15 4.50 * U ld2b { z0.b, z1.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 3 15 4.50 * U ld2b { z0.b, z1.b }, p0/z, [x0]
-# CHECK-NEXT: 3 15 4.50 * U ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 3 15 4.50 * U ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 15 4.50 * U ld2b { z5.b, z6.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 3 12 1.50 * U ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 2 11 1.00 * U ld2d { z0.d, z1.d }, p0/z, [x0]
-# CHECK-NEXT: 2 11 1.00 * U ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 2 11 1.00 * U ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 12 1.50 * U ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 3 15 4.50 * U ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 3 15 4.50 * U ld2h { z0.h, z1.h }, p0/z, [x0]
-# CHECK-NEXT: 3 15 4.50 * U ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 3 15 4.50 * U ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 15 4.50 * U ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 3 12 1.50 * U ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 2 11 1.00 * U ld2w { z0.s, z1.s }, p0/z, [x0]
-# CHECK-NEXT: 2 11 1.00 * U ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 2 11 1.00 * U ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 12 1.50 * U ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 4 15 6.50 * U ld3b { z0.b - z2.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 4 15 6.50 * U ld3b { z0.b - z2.b }, p0/z, [x0]
-# CHECK-NEXT: 4 15 6.50 * U ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 4 15 6.50 * U ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 4 15 6.50 * U ld3b { z5.b - z7.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 4 12 2.00 * U ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 3 11 1.50 * U ld3d { z0.d - z2.d }, p0/z, [x0]
-# CHECK-NEXT: 3 11 1.50 * U ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 3 11 1.50 * U ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 4 12 2.00 * U ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 4 15 6.50 * U ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 4 15 6.50 * U ld3h { z0.h - z2.h }, p0/z, [x0]
-# CHECK-NEXT: 4 15 6.50 * U ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 4 15 6.50 * U ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 4 15 6.50 * U ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 4 12 2.00 * U ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 3 11 1.50 * U ld3w { z0.s - z2.s }, p0/z, [x0]
-# CHECK-NEXT: 3 11 1.50 * U ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 3 11 1.50 * U ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 4 12 2.00 * U ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 5 15 8.50 * U ld4b { z0.b - z3.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 5 15 8.50 * U ld4b { z0.b - z3.b }, p0/z, [x0]
-# CHECK-NEXT: 5 15 8.50 * U ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 5 15 8.50 * U ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 5 15 8.50 * U ld4b { z5.b - z8.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 5 12 2.50 * U ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 4 11 2.00 * U ld4d { z0.d - z3.d }, p0/z, [x0]
-# CHECK-NEXT: 4 11 2.00 * U ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 4 11 2.00 * U ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 5 12 2.50 * U ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 5 15 8.50 * U ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 5 15 8.50 * U ld4h { z0.h - z3.h }, p0/z, [x0]
-# CHECK-NEXT: 5 15 8.50 * U ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 5 15 8.50 * U ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 5 15 8.50 * U ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 5 12 2.50 * U ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 4 11 2.00 * U ld4w { z0.s - z3.s }, p0/z, [x0]
-# CHECK-NEXT: 4 11 2.00 * U ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 4 11 2.00 * U ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 5 12 2.50 * U ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 1 20 2.00 * ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 11 0.50 * ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 20 2.00 * ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 1 16 2.00 * ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 11 0.50 * ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 23 4.00 * ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: 1 23 4.00 * ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: 1 19 4.00 * ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: 3 15 4.50 * ld2b { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 3 15 4.50 * ld2b { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT: 3 15 4.50 * ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 3 15 4.50 * ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 15 4.50 * ld2b { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 3 12 1.50 * ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 2 11 1.00 * ld2d { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT: 2 11 1.00 * ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 2 11 1.00 * ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 12 1.50 * ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 3 15 4.50 * ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 3 15 4.50 * ld2h { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT: 3 15 4.50 * ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 3 15 4.50 * ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 15 4.50 * ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 3 12 1.50 * ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 2 11 1.00 * ld2w { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT: 2 11 1.00 * ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 2 11 1.00 * ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 12 1.50 * ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 4 15 6.50 * ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 4 15 6.50 * ld3b { z0.b - z2.b }, p0/z, [x0]
+# CHECK-NEXT: 4 15 6.50 * ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 4 15 6.50 * ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 4 15 6.50 * ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 4 12 2.00 * ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 3 11 1.50 * ld3d { z0.d - z2.d }, p0/z, [x0]
+# CHECK-NEXT: 3 11 1.50 * ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 3 11 1.50 * ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 4 12 2.00 * ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 4 15 6.50 * ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 4 15 6.50 * ld3h { z0.h - z2.h }, p0/z, [x0]
+# CHECK-NEXT: 4 15 6.50 * ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 4 15 6.50 * ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 4 15 6.50 * ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 4 12 2.00 * ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 3 11 1.50 * ld3w { z0.s - z2.s }, p0/z, [x0]
+# CHECK-NEXT: 3 11 1.50 * ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 3 11 1.50 * ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 4 12 2.00 * ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 5 15 8.50 * ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 5 15 8.50 * ld4b { z0.b - z3.b }, p0/z, [x0]
+# CHECK-NEXT: 5 15 8.50 * ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 5 15 8.50 * ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 5 15 8.50 * ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 5 12 2.50 * ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 4 11 2.00 * ld4d { z0.d - z3.d }, p0/z, [x0]
+# CHECK-NEXT: 4 11 2.00 * ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 4 11 2.00 * ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 5 12 2.50 * ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 5 15 8.50 * ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 5 15 8.50 * ld4h { z0.h - z3.h }, p0/z, [x0]
+# CHECK-NEXT: 5 15 8.50 * ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 5 15 8.50 * ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 5 15 8.50 * ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 5 12 2.50 * ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 4 11 2.00 * ld4w { z0.s - z3.s }, p0/z, [x0]
+# CHECK-NEXT: 4 11 2.00 * ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 4 11 2.00 * ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 5 12 2.50 * ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
# CHECK-NEXT: 1 11 0.50 * U ldff1b { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: 1 16 2.00 * U ldff1b { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 11 0.50 * U ldff1b { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: 1 11 1.00 * ldr p0, [x0]
# CHECK-NEXT: 1 11 1.00 * ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: 1 11 1.00 * ldr p7, [x13, #-256, mul vl]
-# CHECK-NEXT: 1 11 1.00 * U ldr z0, [x0]
-# CHECK-NEXT: 1 11 1.00 * U ldr z23, [x13, #255, mul vl]
-# CHECK-NEXT: 1 11 1.00 * U ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: 1 11 1.00 * ldr z0, [x0]
+# CHECK-NEXT: 1 11 1.00 * ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: 1 11 1.00 * ldr z31, [sp, #-256, mul vl]
# CHECK-NEXT: 1 4 0.50 lsl z0.b, p0/m, z0.b, #0
# CHECK-NEXT: 1 4 0.50 lsl z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 4 0.50 lsl z0.b, p0/m, z0.b, z1.d
# CHECK-NEXT: 1 4 0.50 lsl z31.h, z31.h, #15
# CHECK-NEXT: 1 4 0.50 lsl z31.s, p0/m, z31.s, #31
# CHECK-NEXT: 1 4 0.50 lsl z31.s, z31.s, #31
-# CHECK-NEXT: 1 4 0.50 U lslr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 4 0.50 U lslr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 4 0.50 U lslr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 4 0.50 U lslr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 lslr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 lslr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 lslr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 lslr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 4 0.50 lsr z0.b, p0/m, z0.b, #1
# CHECK-NEXT: 1 4 0.50 lsr z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 4 0.50 lsr z0.b, p0/m, z0.b, z1.d
# CHECK-NEXT: 1 4 0.50 lsr z31.h, z31.h, #16
# CHECK-NEXT: 1 4 0.50 lsr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: 1 4 0.50 lsr z31.s, z31.s, #32
-# CHECK-NEXT: 1 4 0.50 U lsrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 4 0.50 U lsrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 4 0.50 U lsrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 4 0.50 U lsrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 4 0.50 lsrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 4 0.50 lsrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 4 0.50 lsrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 4 0.50 lsrr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 9 0.50 mad z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: 1 9 0.50 mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 9 0.50 mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 3 1.00 mov p15.b, p15/z, p15.b
# CHECK-NEXT: 1 4 1.00 mov z0.b, #127
# CHECK-NEXT: 1 4 1.00 mov z0.b, b0
-# CHECK-NEXT: 1 6 1.00 U mov z0.b, p0/m, b0
+# CHECK-NEXT: 1 6 1.00 mov z0.b, p0/m, b0
# CHECK-NEXT: 1 8 1.00 mov z0.b, p0/m, w0
# CHECK-NEXT: 1 4 1.00 mov z0.b, p0/z, #127
# CHECK-NEXT: 1 6 1.00 mov z0.b, w0
# CHECK-NEXT: 1 4 1.00 mov z21.s, p15/m, #-128
# CHECK-NEXT: 1 4 1.00 mov z21.s, p15/m, #-32768
# CHECK-NEXT: 1 4 0.50 mov z31.b, p15/m, z31.b
-# CHECK-NEXT: 1 6 1.00 U mov z31.b, p7/m, b31
+# CHECK-NEXT: 1 6 1.00 mov z31.b, p7/m, b31
# CHECK-NEXT: 1 1 0.17 movprfx z31, z6
# CHECK-NEXT: 1 8 1.00 mov z31.b, p7/m, wsp
# CHECK-NEXT: 1 6 1.00 mov z31.b, wsp
# CHECK-NEXT: 1 4 1.00 mov z31.b, z31.b[63]
# CHECK-NEXT: 1 4 0.50 mov z31.d, p15/m, z31.d
# CHECK-NEXT: 1 6 1.00 mov z31.d, p7/m, d31
-# CHECK-NEXT: 1 1 0.17 U movprfx z31.d, p7/z, z6.d
+# CHECK-NEXT: 1 1 0.17 movprfx z31.d, p7/z, z6.d
# CHECK-NEXT: 1 8 1.00 mov z31.d, p7/m, sp
# CHECK-NEXT: 1 6 1.00 mov z31.d, sp
# CHECK-NEXT: 1 4 0.50 mov z31.d, z0.d
# CHECK-NEXT: 1 4 1.00 mov z5.h, #-6
# CHECK-NEXT: 1 4 1.00 mov z5.q, z17.q[3]
# CHECK-NEXT: 1 4 1.00 mov z5.s, #-6
-# CHECK-NEXT: 1 3 1.00 U movs p0.b, p0.b
-# CHECK-NEXT: 1 3 1.00 U movs p0.b, p0/z, p0.b
-# CHECK-NEXT: 1 3 1.00 U movs p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U movs p15.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 1.00 movs p0.b, p0.b
+# CHECK-NEXT: 1 3 1.00 movs p0.b, p0/z, p0.b
+# CHECK-NEXT: 1 3 1.00 movs p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 movs p15.b, p15/z, p15.b
# CHECK-NEXT: 1 1 0.17 U mrs x3, ID_AA64ZFR0_EL1
# CHECK-NEXT: 1 1 0.17 U mrs x3, ZCR_EL1
# CHECK-NEXT: 1 1 0.17 U mrs x3, ZCR_EL12
# CHECK-NEXT: 1 9 1.00 mul z31.s, z31.s, #127
# CHECK-NEXT: 1 3 1.00 nand p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 3 1.00 nand p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U nands p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 1 3 1.00 U nands p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 nands p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 3 1.00 nands p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 4 1.00 neg z0.b, p0/m, z0.b
# CHECK-NEXT: 1 4 1.00 neg z0.d, p0/m, z0.d
# CHECK-NEXT: 1 4 1.00 neg z0.h, p0/m, z0.h
# CHECK-NEXT: 1 4 1.00 neg z31.s, p7/m, z31.s
# CHECK-NEXT: 1 3 1.00 nor p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 3 1.00 nor p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U nors p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 1 3 1.00 U nors p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 nors p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 3 1.00 nors p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 1.00 not p0.b, p0/z, p0.b
# CHECK-NEXT: 1 3 1.00 not p15.b, p15/z, p15.b
# CHECK-NEXT: 1 4 0.50 not z31.b, p7/m, z31.b
# CHECK-NEXT: 1 4 0.50 not z31.d, p7/m, z31.d
# CHECK-NEXT: 1 4 0.50 not z31.h, p7/m, z31.h
# CHECK-NEXT: 1 4 0.50 not z31.s, p7/m, z31.s
-# CHECK-NEXT: 1 3 1.00 U nots p0.b, p0/z, p0.b
-# CHECK-NEXT: 1 3 1.00 U nots p15.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 1.00 nots p0.b, p0/z, p0.b
+# CHECK-NEXT: 1 3 1.00 nots p15.b, p15/z, p15.b
# CHECK-NEXT: 1 3 1.00 orn p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 3 1.00 orn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 1 3 1.00 U orns p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 1 3 1.00 U orns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 1 3 1.00 orns p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 1 3 1.00 orns p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 3 1.00 orr p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 1 4 1.00 orr z0.d, z0.d, #0x6
# CHECK-NEXT: 1 4 1.00 orr z0.d, z0.d, #0xfffffffffffffff9
# CHECK-NEXT: 1 4 0.50 orr z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 4 1.00 orr z5.b, z5.b, #0x6
# CHECK-NEXT: 1 4 1.00 orr z5.b, z5.b, #0xf9
-# CHECK-NEXT: 1 3 1.00 U orrs p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 1 3 1.00 orrs p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 10 46 5.00 orv b0, p7, z31.b
# CHECK-NEXT: 7 34 3.50 orv d0, p7, z31.d
# CHECK-NEXT: 9 42 4.50 orv h0, p7, z31.h
# CHECK-NEXT: 1 1 0.50 * * U prfb #15, p0, [x0]
# CHECK-NEXT: 1 1 0.50 * * U prfb #6, p0, [x0]
# CHECK-NEXT: 1 1 0.50 * * U prfb #7, p0, [x0]
-# CHECK-NEXT: 1 1 2.00 * * prfb #7, p3, [z13.s, #31]
-# CHECK-NEXT: 1 1 2.00 * * prfb #7, p3, [z13.s]
+# CHECK-NEXT: 1 1 2.00 * * U prfb #7, p3, [z13.s, #31]
+# CHECK-NEXT: 1 1 2.00 * * U prfb #7, p3, [z13.s]
# CHECK-NEXT: 1 1 1.00 * * U prfb pldl1keep, p0, [x0, z0.d, uxtw]
# CHECK-NEXT: 1 1 1.00 * * U prfb pldl1keep, p0, [x0, z0.d]
# CHECK-NEXT: 1 1 2.00 * * U prfb pldl1keep, p0, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 1 0.50 * * U prfd #15, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * * U prfd #15, p7, [z31.d, #248]
# CHECK-NEXT: 1 1 1.00 * * U prfd #15, p7, [z31.d]
-# CHECK-NEXT: 1 1 2.00 * * prfd #15, p7, [z31.s, #248]
-# CHECK-NEXT: 1 1 2.00 * * prfd #15, p7, [z31.s]
+# CHECK-NEXT: 1 1 2.00 * * U prfd #15, p7, [z31.s, #248]
+# CHECK-NEXT: 1 1 2.00 * * U prfd #15, p7, [z31.s]
# CHECK-NEXT: 1 1 0.50 * * U prfd #6, p0, [x0]
# CHECK-NEXT: 1 1 0.50 * * U prfd #7, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * * U prfd pldl1keep, p0, [x0, z0.d, lsl #3]
# CHECK-NEXT: 1 1 0.50 * * U prfh #15, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * * U prfh #15, p7, [z31.d, #62]
# CHECK-NEXT: 1 1 1.00 * * U prfh #15, p7, [z31.d]
-# CHECK-NEXT: 1 1 2.00 * * prfh #15, p7, [z31.s, #62]
-# CHECK-NEXT: 1 1 2.00 * * prfh #15, p7, [z31.s]
+# CHECK-NEXT: 1 1 2.00 * * U prfh #15, p7, [z31.s, #62]
+# CHECK-NEXT: 1 1 2.00 * * U prfh #15, p7, [z31.s]
# CHECK-NEXT: 1 1 0.50 * * U prfh #6, p0, [x0]
# CHECK-NEXT: 1 1 0.50 * * U prfh #7, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * * U prfh pldl1keep, p0, [x0, z0.d, lsl #1]
# CHECK-NEXT: 1 1 0.50 * * U prfw #15, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * * U prfw #15, p7, [z31.d, #124]
# CHECK-NEXT: 1 1 1.00 * * U prfw #15, p7, [z31.d]
-# CHECK-NEXT: 1 1 2.00 * * prfw #15, p7, [z31.s, #124]
-# CHECK-NEXT: 1 1 2.00 * * prfw #15, p7, [z31.s]
+# CHECK-NEXT: 1 1 2.00 * * U prfw #15, p7, [z31.s, #124]
+# CHECK-NEXT: 1 1 2.00 * * U prfw #15, p7, [z31.s]
# CHECK-NEXT: 1 1 0.50 * * U prfw #6, p0, [x0]
# CHECK-NEXT: 1 1 0.50 * * U prfw #7, p0, [x0]
# CHECK-NEXT: 1 1 1.00 * * U prfw #7, p3, [x13, z8.d, uxtw #2]
# CHECK-NEXT: 1 3 1.00 ptrue p7.s, vl64
# CHECK-NEXT: 1 3 1.00 ptrue p7.s, vl7
# CHECK-NEXT: 1 3 1.00 ptrue p7.s, vl8
-# CHECK-NEXT: 1 3 1.00 U ptrues p0.b, pow2
-# CHECK-NEXT: 1 3 1.00 U ptrues p0.d, pow2
-# CHECK-NEXT: 1 3 1.00 U ptrues p0.h, pow2
-# CHECK-NEXT: 1 3 1.00 U ptrues p0.s, pow2
-# CHECK-NEXT: 1 3 1.00 U ptrues p15.b
-# CHECK-NEXT: 1 3 1.00 U ptrues p15.d
-# CHECK-NEXT: 1 3 1.00 U ptrues p15.h
-# CHECK-NEXT: 1 3 1.00 U ptrues p15.s
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #14
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #15
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #16
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #17
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #18
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #19
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #20
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #21
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #22
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #23
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #24
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #25
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #26
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #27
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, #28
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, mul3
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, mul4
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl1
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl128
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl16
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl2
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl256
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl3
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl32
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl4
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl5
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl6
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl64
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl7
-# CHECK-NEXT: 1 3 1.00 U ptrues p7.s, vl8
+# CHECK-NEXT: 1 3 1.00 ptrues p0.b, pow2
+# CHECK-NEXT: 1 3 1.00 ptrues p0.d, pow2
+# CHECK-NEXT: 1 3 1.00 ptrues p0.h, pow2
+# CHECK-NEXT: 1 3 1.00 ptrues p0.s, pow2
+# CHECK-NEXT: 1 3 1.00 ptrues p15.b
+# CHECK-NEXT: 1 3 1.00 ptrues p15.d
+# CHECK-NEXT: 1 3 1.00 ptrues p15.h
+# CHECK-NEXT: 1 3 1.00 ptrues p15.s
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #14
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #15
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #16
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #17
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #18
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #19
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #20
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #21
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #22
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #23
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #24
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #25
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #26
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #27
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, #28
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, mul3
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, mul4
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl1
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl128
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl16
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl2
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl256
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl3
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl32
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl4
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl5
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl6
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl64
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl7
+# CHECK-NEXT: 1 3 1.00 ptrues p7.s, vl8
# CHECK-NEXT: 1 3 1.00 punpkhi p0.h, p0.b
# CHECK-NEXT: 1 3 1.00 punpkhi p15.h, p15.b
# CHECK-NEXT: 1 3 1.00 punpklo p0.h, p0.b
# CHECK-NEXT: 1 2 1.00 sqdecb x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecb x0, pow2
# CHECK-NEXT: 1 2 1.00 sqdecb x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqdecb x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqdecb x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecb x0, w0
+# CHECK-NEXT: 1 2 1.00 sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecb x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqdecb x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecd x0
# CHECK-NEXT: 1 2 1.00 sqdecd x0, #14
# CHECK-NEXT: 1 2 1.00 sqdecd x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecd x0, pow2
# CHECK-NEXT: 1 2 1.00 sqdecd x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqdecd x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqdecd x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecd x0, w0
+# CHECK-NEXT: 1 2 1.00 sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecd x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqdecd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecd z0.d, pow2
# CHECK-NEXT: 1 2 1.00 sqdech x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdech x0, pow2
# CHECK-NEXT: 1 2 1.00 sqdech x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqdech x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqdech x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdech x0, w0
+# CHECK-NEXT: 1 2 1.00 sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdech x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqdech x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdech z0.h, pow2
# CHECK-NEXT: 2 6 1.50 sqdecp x0, p0.d
# CHECK-NEXT: 2 6 1.50 sqdecp x0, p0.h
# CHECK-NEXT: 2 6 1.50 sqdecp x0, p0.s
-# CHECK-NEXT: 2 6 1.50 U sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: 2 6 1.50 U sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: 2 6 1.50 U sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: 2 6 1.50 U sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: 2 6 1.50 sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: 2 6 1.50 sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: 2 6 1.50 sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: 2 6 1.50 sqdecp xzr, p15.s, wzr
# CHECK-NEXT: 1 12 1.00 sqdecp z0.d, p0.d
# CHECK-NEXT: 1 12 1.00 sqdecp z0.h, p0.h
# CHECK-NEXT: 1 12 1.00 sqdecp z0.s, p0.s
# CHECK-NEXT: 1 2 1.00 sqdecw x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecw x0, pow2
# CHECK-NEXT: 1 2 1.00 sqdecw x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqdecw x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqdecw x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecw x0, w0
+# CHECK-NEXT: 1 2 1.00 sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqdecw x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqdecw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqdecw z0.s, pow2
# CHECK-NEXT: 1 2 1.00 sqincb x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqincb x0, pow2
# CHECK-NEXT: 1 2 1.00 sqincb x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqincb x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqincb x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincb x0, w0
+# CHECK-NEXT: 1 2 1.00 sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincb x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqincb x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqincd x0
# CHECK-NEXT: 1 2 1.00 sqincd x0, #14
# CHECK-NEXT: 1 2 1.00 sqincd x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqincd x0, pow2
# CHECK-NEXT: 1 2 1.00 sqincd x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqincd x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqincd x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincd x0, w0
+# CHECK-NEXT: 1 2 1.00 sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincd x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqincd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincd z0.d, pow2
# CHECK-NEXT: 1 2 1.00 sqinch x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqinch x0, pow2
# CHECK-NEXT: 1 2 1.00 sqinch x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqinch x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqinch x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqinch x0, w0
+# CHECK-NEXT: 1 2 1.00 sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqinch x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqinch x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqinch z0.h, pow2
# CHECK-NEXT: 2 6 1.50 sqincp x0, p0.d
# CHECK-NEXT: 2 6 1.50 sqincp x0, p0.h
# CHECK-NEXT: 2 6 1.50 sqincp x0, p0.s
-# CHECK-NEXT: 2 6 1.50 U sqincp xzr, p15.b, wzr
-# CHECK-NEXT: 2 6 1.50 U sqincp xzr, p15.d, wzr
-# CHECK-NEXT: 2 6 1.50 U sqincp xzr, p15.h, wzr
-# CHECK-NEXT: 2 6 1.50 U sqincp xzr, p15.s, wzr
+# CHECK-NEXT: 2 6 1.50 sqincp xzr, p15.b, wzr
+# CHECK-NEXT: 2 6 1.50 sqincp xzr, p15.d, wzr
+# CHECK-NEXT: 2 6 1.50 sqincp xzr, p15.h, wzr
+# CHECK-NEXT: 2 6 1.50 sqincp xzr, p15.s, wzr
# CHECK-NEXT: 1 12 1.00 sqincp z0.d, p0.d
# CHECK-NEXT: 1 12 1.00 sqincp z0.h, p0.h
# CHECK-NEXT: 1 12 1.00 sqincp z0.s, p0.s
# CHECK-NEXT: 1 2 1.00 sqincw x0, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqincw x0, pow2
# CHECK-NEXT: 1 2 1.00 sqincw x0, vl1
-# CHECK-NEXT: 1 2 1.00 U sqincw x0, w0
-# CHECK-NEXT: 1 2 1.00 U sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 1.00 U sqincw x0, w0, pow2
-# CHECK-NEXT: 1 2 1.00 U sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincw x0, w0
+# CHECK-NEXT: 1 2 1.00 sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 1.00 sqincw x0, w0, pow2
+# CHECK-NEXT: 1 2 1.00 sqincw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, all, mul #16
# CHECK-NEXT: 1 4 0.50 sqincw z0.s, pow2
# CHECK-NEXT: 4 16 4.00 * st1w { z31.d }, p7, [z31.d, #124]
# CHECK-NEXT: 1 11 1.00 * st1w { z31.s }, p7, [sp, #-1, mul vl]
# CHECK-NEXT: 8 16 12.00 * st1w { z31.s }, p7, [z31.s, #124]
-# CHECK-NEXT: 3 12 8.00 * U st2b { z0.b, z1.b }, p0, [x0, x0]
-# CHECK-NEXT: 3 12 8.00 * U st2b { z0.b, z1.b }, p0, [x0]
-# CHECK-NEXT: 3 12 8.00 * U st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 3 12 8.00 * U st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 12 8.00 * U st2b { z5.b, z6.b }, p3, [x17, x16]
-# CHECK-NEXT: 2 11 2.00 * U st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: 3 12 2.00 * U st2d { z0.d, z1.d }, p0, [x0]
-# CHECK-NEXT: 3 12 2.00 * U st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 3 12 2.00 * U st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 11 2.00 * U st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: 3 12 8.00 * U st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: 3 12 8.00 * U st2h { z0.h, z1.h }, p0, [x0]
-# CHECK-NEXT: 3 12 8.00 * U st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 3 12 8.00 * U st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 12 8.00 * U st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: 2 11 2.00 * U st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: 3 12 2.00 * U st2w { z0.s, z1.s }, p0, [x0]
-# CHECK-NEXT: 3 12 2.00 * U st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 3 12 2.00 * U st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 11 2.00 * U st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: 4 15 12.00 * U st3b { z0.b - z2.b }, p0, [x0, x0]
-# CHECK-NEXT: 4 15 12.00 * U st3b { z0.b - z2.b }, p0, [x0]
-# CHECK-NEXT: 4 15 12.00 * U st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 4 15 12.00 * U st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 4 15 12.00 * U st3b { z5.b - z7.b }, p3, [x17, x16]
-# CHECK-NEXT: 3 11 3.00 * U st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: 4 12 3.00 * U st3d { z0.d - z2.d }, p0, [x0]
-# CHECK-NEXT: 4 12 3.00 * U st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 4 12 3.00 * U st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 3 11 3.00 * U st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: 4 15 12.00 * U st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: 4 15 12.00 * U st3h { z0.h - z2.h }, p0, [x0]
-# CHECK-NEXT: 4 15 12.00 * U st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 4 15 12.00 * U st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 4 15 12.00 * U st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: 3 11 3.00 * U st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: 4 12 3.00 * U st3w { z0.s - z2.s }, p0, [x0]
-# CHECK-NEXT: 4 12 3.00 * U st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 4 12 3.00 * U st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 3 11 3.00 * U st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: 5 15 16.00 * U st4b { z0.b - z3.b }, p0, [x0, x0]
-# CHECK-NEXT: 5 15 16.00 * U st4b { z0.b - z3.b }, p0, [x0]
-# CHECK-NEXT: 5 15 16.00 * U st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 5 15 16.00 * U st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 5 15 16.00 * U st4b { z5.b - z8.b }, p3, [x17, x16]
-# CHECK-NEXT: 4 11 4.00 * U st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: 5 12 4.00 * U st4d { z0.d - z3.d }, p0, [x0]
-# CHECK-NEXT: 5 12 4.00 * U st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 5 12 4.00 * U st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 4 11 4.00 * U st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: 5 15 16.00 * U st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: 5 15 16.00 * U st4h { z0.h - z3.h }, p0, [x0]
-# CHECK-NEXT: 5 15 16.00 * U st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 5 15 16.00 * U st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 5 15 16.00 * U st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: 4 11 4.00 * U st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: 5 12 4.00 * U st4w { z0.s - z3.s }, p0, [x0]
-# CHECK-NEXT: 5 12 4.00 * U st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 5 12 4.00 * U st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 4 11 4.00 * U st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 3 12 8.00 * st2b { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT: 3 12 8.00 * st2b { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT: 3 12 8.00 * st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 3 12 8.00 * st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 12 8.00 * st2b { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT: 2 11 2.00 * st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 3 12 2.00 * st2d { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT: 3 12 2.00 * st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 3 12 2.00 * st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 11 2.00 * st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 3 12 8.00 * st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 3 12 8.00 * st2h { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT: 3 12 8.00 * st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 3 12 8.00 * st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 12 8.00 * st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 2 11 2.00 * st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 3 12 2.00 * st2w { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT: 3 12 2.00 * st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 3 12 2.00 * st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 11 2.00 * st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 4 15 12.00 * st3b { z0.b - z2.b }, p0, [x0, x0]
+# CHECK-NEXT: 4 15 12.00 * st3b { z0.b - z2.b }, p0, [x0]
+# CHECK-NEXT: 4 15 12.00 * st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 4 15 12.00 * st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 4 15 12.00 * st3b { z5.b - z7.b }, p3, [x17, x16]
+# CHECK-NEXT: 3 11 3.00 * st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 4 12 3.00 * st3d { z0.d - z2.d }, p0, [x0]
+# CHECK-NEXT: 4 12 3.00 * st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 4 12 3.00 * st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 3 11 3.00 * st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 4 15 12.00 * st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 4 15 12.00 * st3h { z0.h - z2.h }, p0, [x0]
+# CHECK-NEXT: 4 15 12.00 * st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 4 15 12.00 * st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 4 15 12.00 * st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 3 11 3.00 * st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 4 12 3.00 * st3w { z0.s - z2.s }, p0, [x0]
+# CHECK-NEXT: 4 12 3.00 * st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 4 12 3.00 * st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 3 11 3.00 * st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 5 15 16.00 * st4b { z0.b - z3.b }, p0, [x0, x0]
+# CHECK-NEXT: 5 15 16.00 * st4b { z0.b - z3.b }, p0, [x0]
+# CHECK-NEXT: 5 15 16.00 * st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 5 15 16.00 * st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 5 15 16.00 * st4b { z5.b - z8.b }, p3, [x17, x16]
+# CHECK-NEXT: 4 11 4.00 * st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 5 12 4.00 * st4d { z0.d - z3.d }, p0, [x0]
+# CHECK-NEXT: 5 12 4.00 * st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 5 12 4.00 * st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 4 11 4.00 * st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 5 15 16.00 * st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 5 15 16.00 * st4h { z0.h - z3.h }, p0, [x0]
+# CHECK-NEXT: 5 15 16.00 * st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 5 15 16.00 * st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 5 15 16.00 * st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 4 11 4.00 * st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 5 12 4.00 * st4w { z0.s - z3.s }, p0, [x0]
+# CHECK-NEXT: 5 12 4.00 * st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 5 12 4.00 * st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 4 11 4.00 * st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
# CHECK-NEXT: 1 11 1.00 * stnt1b { z0.b }, p0, [x0, x0]
# CHECK-NEXT: 1 11 1.00 * stnt1b { z0.b }, p0, [x0]
# CHECK-NEXT: 1 11 1.00 * stnt1b { z21.b }, p5, [x10, #7, mul vl]
# CHECK-NEXT: 1 11 1.00 * str p0, [x0]
# CHECK-NEXT: 1 11 1.00 * str p15, [sp, #-256, mul vl]
# CHECK-NEXT: 1 11 1.00 * str p5, [x10, #255, mul vl]
-# CHECK-NEXT: 1 11 1.00 * U str z0, [x0]
-# CHECK-NEXT: 1 11 1.00 * U str z21, [x10, #-256, mul vl]
-# CHECK-NEXT: 1 11 1.00 * U str z31, [sp, #255, mul vl]
+# CHECK-NEXT: 1 11 1.00 * str z0, [x0]
+# CHECK-NEXT: 1 11 1.00 * str z21, [x10, #-256, mul vl]
+# CHECK-NEXT: 1 11 1.00 * str z31, [sp, #255, mul vl]
# CHECK-NEXT: 1 4 0.50 sub z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 4 1.00 sub z0.b, z0.b, #0
# CHECK-NEXT: 1 4 0.50 sub z0.b, z0.b, z0.b
# CHECK-NEXT: 1 2 0.50 addp z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 2 0.50 addp z29.s, p7/m, z29.s, z30.s
# CHECK-NEXT: 1 2 0.50 addp z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 2 0.50 U addpl sp, sp, #31
-# CHECK-NEXT: 1 2 0.50 U addpl x0, x0, #-32
-# CHECK-NEXT: 1 2 0.50 U addpl x21, x21, #0
-# CHECK-NEXT: 1 2 0.50 U addpl x23, x8, #-1
+# CHECK-NEXT: 1 2 0.50 addpl sp, sp, #31
+# CHECK-NEXT: 1 2 0.50 addpl x0, x0, #-32
+# CHECK-NEXT: 1 2 0.50 addpl x21, x21, #0
+# CHECK-NEXT: 1 2 0.50 addpl x23, x8, #-1
# CHECK-NEXT: 1 2 0.50 addvl sp, sp, #31
# CHECK-NEXT: 1 2 0.50 addvl x0, x0, #-32
# CHECK-NEXT: 1 2 0.50 addvl x21, x21, #0
# CHECK-NEXT: 1 2 0.50 and z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 2 0.50 and z5.b, z5.b, #0x6
# CHECK-NEXT: 1 2 0.50 and z5.b, z5.b, #0xf9
-# CHECK-NEXT: 2 2 1.00 U ands p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 2 2 1.00 ands p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 2 6 1.00 andv b0, p7, z31.b
# CHECK-NEXT: 2 6 1.00 andv d0, p7, z31.d
# CHECK-NEXT: 2 6 1.00 andv h0, p7, z31.h
# CHECK-NEXT: 1 4 1.00 asrd z31.d, p0/m, z31.d, #64
# CHECK-NEXT: 1 4 1.00 asrd z31.h, p0/m, z31.h, #16
# CHECK-NEXT: 1 4 1.00 asrd z31.s, p0/m, z31.s, #32
-# CHECK-NEXT: 1 2 1.00 U asrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 1.00 U asrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 1.00 U asrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 1.00 U asrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 1.00 asrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 1.00 asrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 1.00 asrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 1.00 asrr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 2 1.00 bcax z29.d, z29.d, z30.d, z31.d
# CHECK-NEXT: 2 6 2.00 bdep z0.b, z1.b, z31.b
# CHECK-NEXT: 2 6 2.00 bdep z0.d, z1.d, z31.d
# CHECK-NEXT: 2 6 2.00 bext z0.d, z1.d, z31.d
# CHECK-NEXT: 2 6 2.00 bext z0.h, z1.h, z31.h
# CHECK-NEXT: 2 6 2.00 bext z0.s, z1.s, z31.s
-# CHECK-NEXT: 1 3 1.00 U bfcvt z0.h, p0/m, z1.s
-# CHECK-NEXT: 1 3 1.00 U bfcvtnt z0.h, p0/m, z1.s
+# CHECK-NEXT: 1 3 1.00 bfcvt z0.h, p0/m, z1.s
+# CHECK-NEXT: 1 3 1.00 bfcvtnt z0.h, p0/m, z1.s
# CHECK-NEXT: 1 4 0.50 bfdot z0.s, z1.h, z2.h
# CHECK-NEXT: 1 4 0.50 bfdot z0.s, z1.h, z2.h[0]
# CHECK-NEXT: 1 4 0.50 bfdot z0.s, z1.h, z2.h[3]
# CHECK-NEXT: 1 2 0.50 bic z31.d, p7/m, z31.d, z31.d
# CHECK-NEXT: 1 2 0.50 bic z31.h, p7/m, z31.h, z31.h
# CHECK-NEXT: 1 2 0.50 bic z31.s, p7/m, z31.s, z31.s
-# CHECK-NEXT: 2 2 1.00 U bics p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 2 2 1.00 U bics p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 2 1.00 bics p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 2 2 1.00 bics p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 0.50 brka p0.b, p15/m, p15.b
# CHECK-NEXT: 1 2 0.50 brka p0.b, p15/z, p15.b
-# CHECK-NEXT: 1 3 0.50 U brkas p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 0.50 brkas p0.b, p15/z, p15.b
# CHECK-NEXT: 1 2 0.50 brkb p0.b, p15/m, p15.b
# CHECK-NEXT: 1 2 0.50 brkb p0.b, p15/z, p15.b
-# CHECK-NEXT: 1 3 0.50 U brkbs p0.b, p15/z, p15.b
+# CHECK-NEXT: 1 3 0.50 brkbs p0.b, p15/z, p15.b
# CHECK-NEXT: 1 2 2.00 brkn p0.b, p15/z, p1.b, p0.b
# CHECK-NEXT: 1 2 2.00 brkn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 2 3 1.00 U brkns p0.b, p15/z, p1.b, p0.b
-# CHECK-NEXT: 2 3 1.00 U brkns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 3 1.00 brkns p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT: 2 3 1.00 brkns p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 2.00 brkpa p0.b, p15/z, p1.b, p2.b
# CHECK-NEXT: 1 2 2.00 brkpa p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 2 3 1.00 U brkpas p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: 2 3 1.00 U brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 3 1.00 brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 2 3 1.00 brkpas p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 2.00 brkpb p0.b, p15/z, p1.b, p2.b
# CHECK-NEXT: 1 2 2.00 brkpb p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 2 3 1.00 U brkpbs p0.b, p15/z, p1.b, p2.b
-# CHECK-NEXT: 2 3 1.00 U brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 3 1.00 brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT: 2 3 1.00 brkpbs p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 0.50 bsl z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: 1 2 0.50 bsl1n z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: 1 2 0.50 bsl2n z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: 1 4 1.00 cdot z29.d, z30.h, z0.h[0], #180
# CHECK-NEXT: 1 4 1.00 cdot z31.d, z30.h, z7.h[1], #270
# CHECK-NEXT: 1 4 1.00 cdot z5.d, z6.h, z3.h[0], #90
-# CHECK-NEXT: 1 3 1.00 U clasta b0, p7, b0, z31.b
+# CHECK-NEXT: 1 3 1.00 clasta b0, p7, b0, z31.b
# CHECK-NEXT: 1 3 1.00 clasta d0, p7, d0, z31.d
# CHECK-NEXT: 1 3 1.00 clasta h0, p7, h0, z31.h
# CHECK-NEXT: 1 3 1.00 clasta s0, p7, s0, z31.s
# CHECK-NEXT: 1 3 1.00 clasta z0.d, p7, z0.d, z31.d
# CHECK-NEXT: 1 3 1.00 clasta z0.h, p7, z0.h, z31.h
# CHECK-NEXT: 1 3 1.00 clasta z0.s, p7, z0.s, z31.s
-# CHECK-NEXT: 1 3 1.00 U clastb b0, p7, b0, z31.b
+# CHECK-NEXT: 1 3 1.00 clastb b0, p7, b0, z31.b
# CHECK-NEXT: 1 3 1.00 clastb d0, p7, d0, z31.d
# CHECK-NEXT: 1 3 1.00 clastb h0, p7, h0, z31.h
# CHECK-NEXT: 1 3 1.00 clastb s0, p7, s0, z31.s
# CHECK-NEXT: 1 2 0.50 cntw x0, pow2
# CHECK-NEXT: 1 3 1.00 compact z31.d, p7, z31.d
# CHECK-NEXT: 1 3 1.00 compact z31.s, p7, z31.s
-# CHECK-NEXT: 1 1 0.50 U ctermeq w30, wzr
-# CHECK-NEXT: 1 1 0.50 U ctermeq wzr, w30
-# CHECK-NEXT: 1 1 0.50 U ctermeq x30, xzr
-# CHECK-NEXT: 1 1 0.50 U ctermeq xzr, x30
-# CHECK-NEXT: 1 1 0.50 U ctermne w30, wzr
-# CHECK-NEXT: 1 1 0.50 U ctermne wzr, w30
-# CHECK-NEXT: 1 1 0.50 U ctermne x30, xzr
-# CHECK-NEXT: 1 1 0.50 U ctermne xzr, x30
+# CHECK-NEXT: 1 1 0.50 ctermeq w30, wzr
+# CHECK-NEXT: 1 1 0.50 ctermeq wzr, w30
+# CHECK-NEXT: 1 1 0.50 ctermeq x30, xzr
+# CHECK-NEXT: 1 1 0.50 ctermeq xzr, x30
+# CHECK-NEXT: 1 1 0.50 ctermne w30, wzr
+# CHECK-NEXT: 1 1 0.50 ctermne wzr, w30
+# CHECK-NEXT: 1 1 0.50 ctermne x30, xzr
+# CHECK-NEXT: 1 1 0.50 ctermne xzr, x30
# CHECK-NEXT: 1 2 0.50 decb x0
# CHECK-NEXT: 1 2 0.50 decb x0, #14
# CHECK-NEXT: 1 2 0.50 decb x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 decp xzr, p15.d
# CHECK-NEXT: 1 2 0.50 decp xzr, p15.h
# CHECK-NEXT: 1 2 0.50 decp xzr, p15.s
-# CHECK-NEXT: 3 7 1.00 U decp z31.d, p15.d
-# CHECK-NEXT: 3 7 1.00 U decp z31.h, p15.h
-# CHECK-NEXT: 3 7 1.00 U decp z31.s, p15.s
+# CHECK-NEXT: 3 7 1.00 decp z31.d, p15.d
+# CHECK-NEXT: 3 7 1.00 decp z31.h, p15.h
+# CHECK-NEXT: 3 7 1.00 decp z31.s, p15.s
# CHECK-NEXT: 1 2 0.50 decw x0
# CHECK-NEXT: 1 2 0.50 decw x0, #14
# CHECK-NEXT: 1 2 0.50 decw x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 eorbt z0.d, z1.d, z31.d
# CHECK-NEXT: 1 2 0.50 eorbt z0.h, z1.h, z31.h
# CHECK-NEXT: 1 2 0.50 eorbt z0.s, z1.s, z31.s
-# CHECK-NEXT: 2 2 1.00 U eors p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 2 2 1.00 eors p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 1 2 0.50 eortb z0.b, z1.b, z31.b
# CHECK-NEXT: 1 2 0.50 eortb z0.d, z1.d, z31.d
# CHECK-NEXT: 1 2 0.50 eortb z0.h, z1.h, z31.h
# CHECK-NEXT: 2 6 1.00 eorv d0, p7, z31.d
# CHECK-NEXT: 2 6 1.00 eorv h0, p7, z31.h
# CHECK-NEXT: 2 6 1.00 eorv s0, p7, z31.s
-# CHECK-NEXT: 1 2 0.50 U ext z0.b, { z1.b, z2.b }, #0
+# CHECK-NEXT: 1 2 0.50 ext z0.b, { z1.b, z2.b }, #0
# CHECK-NEXT: 1 2 0.50 ext z31.b, z31.b, z0.b, #0
# CHECK-NEXT: 1 2 0.50 ext z31.b, z31.b, z0.b, #255
-# CHECK-NEXT: 1 2 0.50 U ext z31.b, { z30.b, z31.b }, #255
+# CHECK-NEXT: 1 2 0.50 ext z31.b, { z30.b, z31.b }, #255
# CHECK-NEXT: 1 2 0.50 fabd z0.d, p7/m, z0.d, z31.d
# CHECK-NEXT: 1 2 0.50 fabd z0.h, p7/m, z0.h, z31.h
# CHECK-NEXT: 1 2 0.50 fabd z0.s, p7/m, z0.s, z31.s
# CHECK-NEXT: 1 4 0.50 fmlslt z30.s, z31.h, z7.h[7]
# CHECK-NEXT: 1 2 0.50 fmov z0.d, #-10.00000000
# CHECK-NEXT: 1 2 0.50 fmov z0.d, #0.12500000
-# CHECK-NEXT: 1 2 0.50 U fmov z0.d, p0/m, #-10.00000000
-# CHECK-NEXT: 1 2 0.50 U fmov z0.d, p0/m, #0.12500000
+# CHECK-NEXT: 1 2 0.50 fmov z0.d, p0/m, #-10.00000000
+# CHECK-NEXT: 1 2 0.50 fmov z0.d, p0/m, #0.12500000
# CHECK-NEXT: 1 2 0.50 fmov z0.h, #-0.12500000
-# CHECK-NEXT: 1 2 0.50 U fmov z0.h, p0/m, #-0.12500000
+# CHECK-NEXT: 1 2 0.50 fmov z0.h, p0/m, #-0.12500000
# CHECK-NEXT: 1 2 0.50 fmov z0.s, #-0.12500000
-# CHECK-NEXT: 1 2 0.50 U fmov z0.s, p0/m, #-0.12500000
+# CHECK-NEXT: 1 2 0.50 fmov z0.s, p0/m, #-0.12500000
# CHECK-NEXT: 1 4 0.50 fmsb z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 0.50 fmsb z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 4 0.50 fmsb z0.s, p7/m, z1.s, z31.s
# CHECK-NEXT: 1 2 0.50 incp xzr, p15.d
# CHECK-NEXT: 1 2 0.50 incp xzr, p15.h
# CHECK-NEXT: 1 2 0.50 incp xzr, p15.s
-# CHECK-NEXT: 3 7 1.00 U incp z31.d, p15.d
-# CHECK-NEXT: 3 7 1.00 U incp z31.h, p15.h
-# CHECK-NEXT: 3 7 1.00 U incp z31.s, p15.s
+# CHECK-NEXT: 3 7 1.00 incp z31.d, p15.d
+# CHECK-NEXT: 3 7 1.00 incp z31.h, p15.h
+# CHECK-NEXT: 3 7 1.00 incp z31.s, p15.s
# CHECK-NEXT: 1 2 0.50 incw x0
# CHECK-NEXT: 1 2 0.50 incw x0, #14
# CHECK-NEXT: 1 2 0.50 incw x0, all, mul #16
# CHECK-NEXT: 2 5 1.00 insr z31.h, wzr
# CHECK-NEXT: 1 3 1.00 insr z31.s, s31
# CHECK-NEXT: 2 5 1.00 insr z31.s, wzr
-# CHECK-NEXT: 1 3 1.00 U lasta b0, p7, z31.b
+# CHECK-NEXT: 1 3 1.00 lasta b0, p7, z31.b
# CHECK-NEXT: 1 3 1.00 lasta d0, p7, z31.d
# CHECK-NEXT: 1 3 1.00 lasta h0, p7, z31.h
# CHECK-NEXT: 1 3 1.00 lasta s0, p7, z31.s
# CHECK-NEXT: 2 5 1.00 lasta w0, p7, z31.h
# CHECK-NEXT: 2 5 1.00 lasta w0, p7, z31.s
# CHECK-NEXT: 2 5 1.00 lasta x0, p7, z31.d
-# CHECK-NEXT: 1 3 1.00 U lastb b0, p7, z31.b
+# CHECK-NEXT: 1 3 1.00 lastb b0, p7, z31.b
# CHECK-NEXT: 1 3 1.00 lastb d0, p7, z31.d
# CHECK-NEXT: 1 3 1.00 lastb h0, p7, z31.h
# CHECK-NEXT: 1 3 1.00 lastb s0, p7, z31.s
# CHECK-NEXT: 2 5 1.00 lastb x0, p7, z31.d
# CHECK-NEXT: 1 6 0.50 * ld1b { z0.b }, p0/z, [sp, x0]
# CHECK-NEXT: 1 6 0.50 * ld1b { z0.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z0.b }, p0/z, [x0]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1b { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 2 9 0.50 * U ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1b { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z21.b }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 2 9 0.50 * ld1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 6 0.50 * ld1b { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: 1 6 0.50 * ld1b { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1b { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1b { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld1b { z31.s }, p7/z, [z31.s, #31]
# CHECK-NEXT: 1 6 0.50 * ld1b { z5.h }, p3/z, [x17, x16]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
-# CHECK-NEXT: 1 6 0.33 * U ld1d { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 6 0.33 * U ld1d { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT: 1 6 0.33 * ld1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 6 0.33 * ld1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 6 0.50 * ld1d { z23.d }, p3/z, [sp, x8, lsl #3]
# CHECK-NEXT: 1 6 0.50 * ld1d { z23.d }, p3/z, [x13, x8, lsl #3]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
-# CHECK-NEXT: 1 6 0.33 * U ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1d { z31.d }, p7/z, [z31.d, #248]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 2 9 0.50 * U ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1h { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT: 1 6 0.33 * ld1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 2 9 0.50 * ld1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 6 0.50 * ld1h { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: 1 6 0.50 * ld1h { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1h { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 10 1.00 * U ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 4 10 1.00 * U ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 2 9 0.50 * U ld1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 10 1.00 * ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 4 10 1.00 * ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 2 9 0.50 * ld1h { z31.s }, p7/z, [z31.s, #62]
# CHECK-NEXT: 1 6 0.50 * ld1h { z5.h }, p3/z, [sp, x16, lsl #1]
# CHECK-NEXT: 1 6 0.50 * ld1h { z5.h }, p3/z, [x17, x16, lsl #1]
# CHECK-NEXT: 1 6 0.33 * ld1rb { z0.b }, p0/z, [x0]
# CHECK-NEXT: 1 6 0.33 * ld1rw { z0.s }, p0/z, [x0]
# CHECK-NEXT: 1 6 0.33 * ld1rw { z31.d }, p7/z, [sp, #252]
# CHECK-NEXT: 1 6 0.33 * ld1rw { z31.s }, p7/z, [sp, #252]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1sb { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1sb { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 1 6 0.50 * ld1sb { z0.h }, p0/z, [sp, x0]
# CHECK-NEXT: 1 6 0.50 * ld1sb { z0.h }, p0/z, [x0, x0]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z0.h }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1sb { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z0.h }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1sb { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1sb { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 6 0.50 * ld1sb { z21.s }, p5/z, [x10, x21]
# CHECK-NEXT: 1 6 0.50 * ld1sb { z23.d }, p3/z, [x13, x8]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1sb { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1sb { z31.d }, p7/z, [z31.d, #31]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld1sb { z31.s }, p7/z, [z31.s, #31]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
-# CHECK-NEXT: 1 6 0.33 * U ld1sh { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 2 9 0.50 * U ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 2 9 0.50 * U ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1sh { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1sh { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 6 0.33 * U ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1sb { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1sb { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1sb { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld1sb { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT: 1 6 0.33 * ld1sh { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 2 9 0.50 * ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 2 9 0.50 * ld1sh { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1sh { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1sh { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 6 0.33 * ld1sh { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 6 0.50 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1]
-# CHECK-NEXT: 1 6 0.33 * U ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1sh { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 6 0.50 * ld1sh { z21.s }, p5/z, [x10, x21, lsl #1]
# CHECK-NEXT: 1 6 0.50 * ld1sh { z23.d }, p3/z, [x13, x8, lsl #1]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
-# CHECK-NEXT: 1 6 0.33 * U ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1sh { z31.d }, p7/z, [z31.d, #62]
-# CHECK-NEXT: 1 6 0.33 * U ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 10 1.00 * U ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
-# CHECK-NEXT: 4 10 1.00 * U ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
-# CHECK-NEXT: 2 9 0.50 * U ld1sh { z31.s }, p7/z, [z31.s, #62]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 6 0.33 * U ld1sw { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 1 6 0.33 * U ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT: 1 6 0.33 * ld1sh { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1sh { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT: 1 6 0.33 * ld1sh { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 10 1.00 * ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT: 4 10 1.00 * ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT: 2 9 0.50 * ld1sh { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 6 0.33 * ld1sw { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 1 6 0.33 * ld1sw { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 6 0.50 * ld1sw { z23.d }, p3/z, [sp, x8, lsl #2]
# CHECK-NEXT: 1 6 0.50 * ld1sw { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 6 0.33 * U ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1sw { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
-# CHECK-NEXT: 1 6 0.33 * U ld1w { z0.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z0.d }, p0/z, [z0.d]
-# CHECK-NEXT: 2 9 0.50 * U ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
-# CHECK-NEXT: 2 9 0.50 * U ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
-# CHECK-NEXT: 1 6 0.33 * U ld1w { z0.s }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld1w { z0.s }, p0/z, [z0.s]
-# CHECK-NEXT: 1 6 0.33 * U ld1w { z21.d }, p5/z, [x10, #5, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 6 0.33 * ld1sw { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1sw { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT: 1 6 0.33 * ld1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT: 2 9 0.50 * ld1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT: 2 9 0.50 * ld1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT: 1 6 0.33 * ld1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT: 1 6 0.33 * ld1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z21.d }, p5/z, [x10, z21.d, uxtw]
# CHECK-NEXT: 1 6 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2]
-# CHECK-NEXT: 1 6 0.33 * U ld1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ld1w { z21.s }, p5/z, [x10, #5, mul vl]
# CHECK-NEXT: 1 6 0.50 * ld1w { z21.s }, p5/z, [x10, x21, lsl #2]
# CHECK-NEXT: 1 6 0.50 * ld1w { z23.d }, p3/z, [x13, x8, lsl #2]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
-# CHECK-NEXT: 1 6 0.33 * U ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z31.d }, p7/z, [sp, z31.d]
-# CHECK-NEXT: 4 9 1.00 * U ld1w { z31.d }, p7/z, [z31.d, #124]
-# CHECK-NEXT: 1 6 0.33 * U ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
-# CHECK-NEXT: 4 10 1.00 * U ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
-# CHECK-NEXT: 4 10 1.00 * U ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
-# CHECK-NEXT: 2 9 0.50 * U ld1w { z31.s }, p7/z, [z31.s, #124]
-# CHECK-NEXT: 2 9 0.50 * U ld2b { z0.b, z1.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 2 8 0.50 * U ld2b { z0.b, z1.b }, p0/z, [x0]
-# CHECK-NEXT: 2 8 0.50 * U ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 2 8 0.50 * U ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld2b { z5.b, z6.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 2 9 0.50 * U ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 2 8 0.50 * U ld2d { z0.d, z1.d }, p0/z, [x0]
-# CHECK-NEXT: 2 8 0.50 * U ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 2 8 0.50 * U ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 2 9 0.50 * U ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 2 8 0.50 * U ld2h { z0.h, z1.h }, p0/z, [x0]
-# CHECK-NEXT: 2 8 0.50 * U ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 2 8 0.50 * U ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 2 9 0.50 * U ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 2 8 0.50 * U ld2w { z0.s, z1.s }, p0/z, [x0]
-# CHECK-NEXT: 2 8 0.50 * U ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
-# CHECK-NEXT: 2 8 0.50 * U ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 3 10 0.67 * U ld3b { z0.b - z2.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 2 9 0.50 * U ld3b { z0.b - z2.b }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 3 10 0.67 * U ld3b { z5.b - z7.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 3 10 0.67 * U ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 2 9 0.50 * U ld3d { z0.d - z2.d }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 3 10 0.67 * U ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 3 10 0.67 * U ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 2 9 0.50 * U ld3h { z0.h - z2.h }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 3 10 0.67 * U ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 3 10 0.67 * U ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 2 9 0.50 * U ld3w { z0.s - z2.s }, p0/z, [x0]
-# CHECK-NEXT: 2 9 0.50 * U ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
-# CHECK-NEXT: 2 9 0.50 * U ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
-# CHECK-NEXT: 3 10 0.67 * U ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
-# CHECK-NEXT: 6 10 1.00 * U ld4b { z0.b - z3.b }, p0/z, [x0, x0]
-# CHECK-NEXT: 4 9 1.00 * U ld4b { z0.b - z3.b }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 6 10 1.00 * U ld4b { z5.b - z8.b }, p3/z, [x17, x16]
-# CHECK-NEXT: 6 10 1.00 * U ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
-# CHECK-NEXT: 4 9 1.00 * U ld4d { z0.d - z3.d }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 6 10 1.00 * U ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
-# CHECK-NEXT: 6 10 1.00 * U ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
-# CHECK-NEXT: 4 9 1.00 * U ld4h { z0.h - z3.h }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 6 10 1.00 * U ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
-# CHECK-NEXT: 6 10 1.00 * U ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
-# CHECK-NEXT: 4 9 1.00 * U ld4w { z0.s - z3.s }, p0/z, [x0]
-# CHECK-NEXT: 4 9 1.00 * U ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
-# CHECK-NEXT: 4 9 1.00 * U ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
-# CHECK-NEXT: 6 10 1.00 * U ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT: 1 6 0.33 * ld1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT: 4 9 1.00 * ld1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT: 1 6 0.33 * ld1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT: 4 10 1.00 * ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT: 4 10 1.00 * ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT: 2 9 0.50 * ld1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT: 2 9 0.50 * ld2b { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 2 8 0.50 * ld2b { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT: 2 8 0.50 * ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 2 8 0.50 * ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld2b { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 2 9 0.50 * ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 2 8 0.50 * ld2d { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT: 2 8 0.50 * ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 2 8 0.50 * ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 2 9 0.50 * ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 2 8 0.50 * ld2h { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT: 2 8 0.50 * ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 2 8 0.50 * ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 2 9 0.50 * ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 2 8 0.50 * ld2w { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT: 2 8 0.50 * ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT: 2 8 0.50 * ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 3 10 0.67 * ld3b { z0.b - z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 2 9 0.50 * ld3b { z0.b - z2.b }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 3 10 0.67 * ld3b { z5.b - z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 3 10 0.67 * ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 2 9 0.50 * ld3d { z0.d - z2.d }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 3 10 0.67 * ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 3 10 0.67 * ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 2 9 0.50 * ld3h { z0.h - z2.h }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 3 10 0.67 * ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 3 10 0.67 * ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 2 9 0.50 * ld3w { z0.s - z2.s }, p0/z, [x0]
+# CHECK-NEXT: 2 9 0.50 * ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT: 2 9 0.50 * ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT: 3 10 0.67 * ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT: 6 10 1.00 * ld4b { z0.b - z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT: 4 9 1.00 * ld4b { z0.b - z3.b }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 6 10 1.00 * ld4b { z5.b - z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT: 6 10 1.00 * ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT: 4 9 1.00 * ld4d { z0.d - z3.d }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 6 10 1.00 * ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT: 6 10 1.00 * ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT: 4 9 1.00 * ld4h { z0.h - z3.h }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 6 10 1.00 * ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT: 6 10 1.00 * ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT: 4 9 1.00 * ld4w { z0.s - z3.s }, p0/z, [x0]
+# CHECK-NEXT: 4 9 1.00 * ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT: 4 9 1.00 * ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT: 6 10 1.00 * ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2]
# CHECK-NEXT: 2 6 0.50 * U ldff1b { z0.d }, p0/z, [x0, x0]
# CHECK-NEXT: 4 9 1.00 * U ldff1b { z0.d }, p0/z, [z0.d]
# CHECK-NEXT: 2 6 0.50 * U ldff1b { z0.h }, p0/z, [x0, x0]
# CHECK-NEXT: 2 6 0.50 * ldr p0, [x0]
# CHECK-NEXT: 2 6 0.50 * ldr p5, [x10, #255, mul vl]
# CHECK-NEXT: 2 6 0.50 * ldr p7, [x13, #-256, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ldr z0, [x0]
-# CHECK-NEXT: 1 6 0.33 * U ldr z23, [x13, #255, mul vl]
-# CHECK-NEXT: 1 6 0.33 * U ldr z31, [sp, #-256, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ldr z0, [x0]
+# CHECK-NEXT: 1 6 0.33 * ldr z23, [x13, #255, mul vl]
+# CHECK-NEXT: 1 6 0.33 * ldr z31, [sp, #-256, mul vl]
# CHECK-NEXT: 1 2 1.00 lsl z0.b, p0/m, z0.b, #0
# CHECK-NEXT: 1 2 1.00 lsl z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 2 1.00 lsl z0.b, p0/m, z0.b, z1.d
# CHECK-NEXT: 1 2 1.00 lsl z31.h, z31.h, #15
# CHECK-NEXT: 1 2 1.00 lsl z31.s, p0/m, z31.s, #31
# CHECK-NEXT: 1 2 1.00 lsl z31.s, z31.s, #31
-# CHECK-NEXT: 1 2 1.00 U lslr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 1.00 U lslr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 1.00 U lslr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 1.00 U lslr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 1.00 lslr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 1.00 lslr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 1.00 lslr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 1.00 lslr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 2 1.00 lsr z0.b, p0/m, z0.b, #1
# CHECK-NEXT: 1 2 1.00 lsr z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 2 1.00 lsr z0.b, p0/m, z0.b, z1.d
# CHECK-NEXT: 1 2 1.00 lsr z31.h, z31.h, #16
# CHECK-NEXT: 1 2 1.00 lsr z31.s, p0/m, z31.s, #32
# CHECK-NEXT: 1 2 1.00 lsr z31.s, z31.s, #32
-# CHECK-NEXT: 1 2 1.00 U lsrr z0.b, p0/m, z0.b, z0.b
-# CHECK-NEXT: 1 2 1.00 U lsrr z0.d, p0/m, z0.d, z0.d
-# CHECK-NEXT: 1 2 1.00 U lsrr z0.h, p0/m, z0.h, z0.h
-# CHECK-NEXT: 1 2 1.00 U lsrr z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT: 1 2 1.00 lsrr z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT: 1 2 1.00 lsrr z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT: 1 2 1.00 lsrr z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT: 1 2 1.00 lsrr z0.s, p0/m, z0.s, z0.s
# CHECK-NEXT: 1 4 1.00 mad z0.b, p7/m, z1.b, z31.b
# CHECK-NEXT: 2 5 2.00 mad z0.d, p7/m, z1.d, z31.d
# CHECK-NEXT: 1 4 1.00 mad z0.h, p7/m, z1.h, z31.h
# CHECK-NEXT: 1 1 1.00 mov p15.b, p15/z, p15.b
# CHECK-NEXT: 1 2 0.50 mov z0.b, #127
# CHECK-NEXT: 1 2 0.50 mov z0.b, b0
-# CHECK-NEXT: 1 2 0.50 U mov z0.b, p0/m, b0
+# CHECK-NEXT: 1 2 0.50 mov z0.b, p0/m, b0
# CHECK-NEXT: 2 5 1.00 mov z0.b, p0/m, w0
# CHECK-NEXT: 1 2 0.50 mov z0.b, p0/z, #127
# CHECK-NEXT: 1 3 3.00 mov z0.b, w0
# CHECK-NEXT: 1 2 0.50 mov z21.s, p15/m, #-128
# CHECK-NEXT: 1 2 0.50 mov z21.s, p15/m, #-32768
# CHECK-NEXT: 1 2 0.50 mov z31.b, p15/m, z31.b
-# CHECK-NEXT: 1 2 0.50 U mov z31.b, p7/m, b31
+# CHECK-NEXT: 1 2 0.50 mov z31.b, p7/m, b31
# CHECK-NEXT: 1 2 0.50 movprfx z31, z6
# CHECK-NEXT: 2 5 1.00 mov z31.b, p7/m, wsp
# CHECK-NEXT: 1 3 3.00 mov z31.b, wsp
# CHECK-NEXT: 1 2 0.50 mov z31.b, z31.b[63]
# CHECK-NEXT: 1 2 0.50 mov z31.d, p15/m, z31.d
# CHECK-NEXT: 1 2 0.50 mov z31.d, p7/m, d31
-# CHECK-NEXT: 1 2 0.50 U movprfx z31.d, p7/z, z6.d
+# CHECK-NEXT: 1 2 0.50 movprfx z31.d, p7/z, z6.d
# CHECK-NEXT: 2 5 1.00 mov z31.d, p7/m, sp
# CHECK-NEXT: 1 3 3.00 mov z31.d, sp
# CHECK-NEXT: 1 2 0.50 mov z31.d, z0.d
# CHECK-NEXT: 1 2 0.50 mov z5.h, #-6
# CHECK-NEXT: 1 2 0.50 mov z5.q, z17.q[3]
# CHECK-NEXT: 1 2 0.50 mov z5.s, #-6
-# CHECK-NEXT: 2 2 1.00 U movs p0.b, p0.b
-# CHECK-NEXT: 2 2 1.00 U movs p0.b, p0/z, p0.b
-# CHECK-NEXT: 2 2 1.00 U movs p15.b, p15.b
-# CHECK-NEXT: 2 2 1.00 U movs p15.b, p15/z, p15.b
+# CHECK-NEXT: 2 2 1.00 movs p0.b, p0.b
+# CHECK-NEXT: 2 2 1.00 movs p0.b, p0/z, p0.b
+# CHECK-NEXT: 2 2 1.00 movs p15.b, p15.b
+# CHECK-NEXT: 2 2 1.00 movs p15.b, p15/z, p15.b
# CHECK-NEXT: 1 1 0.10 U mrs x3, ID_AA64ZFR0_EL1
# CHECK-NEXT: 1 1 0.10 U mrs x3, ZCR_EL1
# CHECK-NEXT: 1 1 0.10 U mrs x3, ZCR_EL12
# CHECK-NEXT: 1 4 1.00 mul z31.s, z31.s, #127
# CHECK-NEXT: 1 1 1.00 nand p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 1 1.00 nand p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 2 2 1.00 U nands p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 2 2 1.00 U nands p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 2 1.00 nands p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 2 2 1.00 nands p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 2 0.50 nbsl z0.d, z0.d, z1.d, z2.d
# CHECK-NEXT: 1 2 0.50 neg z0.b, p0/m, z0.b
# CHECK-NEXT: 1 2 0.50 neg z0.d, p0/m, z0.d
# CHECK-NEXT: 2 2 1.00 nmatch p15.h, p7/z, z30.h, z31.h
# CHECK-NEXT: 1 1 1.00 nor p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 1 1.00 nor p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 2 2 1.00 U nors p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 2 2 1.00 U nors p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 2 1.00 nors p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 2 2 1.00 nors p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 1 1.00 not p0.b, p0/z, p0.b
# CHECK-NEXT: 1 1 1.00 not p15.b, p15/z, p15.b
# CHECK-NEXT: 1 2 0.50 not z31.b, p7/m, z31.b
# CHECK-NEXT: 1 2 0.50 not z31.d, p7/m, z31.d
# CHECK-NEXT: 1 2 0.50 not z31.h, p7/m, z31.h
# CHECK-NEXT: 1 2 0.50 not z31.s, p7/m, z31.s
-# CHECK-NEXT: 2 2 1.00 U nots p0.b, p0/z, p0.b
-# CHECK-NEXT: 2 2 1.00 U nots p15.b, p15/z, p15.b
+# CHECK-NEXT: 2 2 1.00 nots p0.b, p0/z, p0.b
+# CHECK-NEXT: 2 2 1.00 nots p15.b, p15/z, p15.b
# CHECK-NEXT: 1 1 1.00 orn p0.b, p0/z, p0.b, p0.b
# CHECK-NEXT: 1 1 1.00 orn p15.b, p15/z, p15.b, p15.b
-# CHECK-NEXT: 2 2 1.00 U orns p0.b, p0/z, p0.b, p0.b
-# CHECK-NEXT: 2 2 1.00 U orns p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT: 2 2 1.00 orns p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT: 2 2 1.00 orns p15.b, p15/z, p15.b, p15.b
# CHECK-NEXT: 1 1 1.00 orr p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 1 2 0.50 orr z0.d, z0.d, #0x6
# CHECK-NEXT: 1 2 0.50 orr z0.d, z0.d, #0xfffffffffffffff9
# CHECK-NEXT: 1 2 0.50 orr z31.s, p7/m, z31.s, z31.s
# CHECK-NEXT: 1 2 0.50 orr z5.b, z5.b, #0x6
# CHECK-NEXT: 1 2 0.50 orr z5.b, z5.b, #0xf9
-# CHECK-NEXT: 2 2 1.00 U orrs p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT: 2 2 1.00 orrs p0.b, p0/z, p0.b, p1.b
# CHECK-NEXT: 2 6 1.00 orv b0, p7, z31.b
# CHECK-NEXT: 2 6 1.00 orv d0, p7, z31.d
# CHECK-NEXT: 2 6 1.00 orv h0, p7, z31.h
# CHECK-NEXT: 1 4 0.33 * * U prfb #15, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfb #6, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfb #7, p0, [x0]
-# CHECK-NEXT: 1 4 0.33 * * prfb #7, p3, [z13.s, #31]
-# CHECK-NEXT: 1 4 0.33 * * prfb #7, p3, [z13.s]
+# CHECK-NEXT: 1 4 0.33 * * U prfb #7, p3, [z13.s, #31]
+# CHECK-NEXT: 1 4 0.33 * * U prfb #7, p3, [z13.s]
# CHECK-NEXT: 1 4 0.33 * * U prfb pldl1keep, p0, [x0, z0.d, uxtw]
# CHECK-NEXT: 1 4 0.33 * * U prfb pldl1keep, p0, [x0, z0.d]
# CHECK-NEXT: 1 4 0.33 * * U prfb pldl1keep, p0, [x0, z0.s, uxtw]
# CHECK-NEXT: 1 4 0.33 * * U prfd #15, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfd #15, p7, [z31.d, #248]
# CHECK-NEXT: 1 4 0.33 * * U prfd #15, p7, [z31.d]
-# CHECK-NEXT: 1 4 0.33 * * prfd #15, p7, [z31.s, #248]
-# CHECK-NEXT: 1 4 0.33 * * prfd #15, p7, [z31.s]
+# CHECK-NEXT: 1 4 0.33 * * U prfd #15, p7, [z31.s, #248]
+# CHECK-NEXT: 1 4 0.33 * * U prfd #15, p7, [z31.s]
# CHECK-NEXT: 1 4 0.33 * * U prfd #6, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfd #7, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.d, lsl #3]
# CHECK-NEXT: 1 4 0.33 * * U prfh #15, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfh #15, p7, [z31.d, #62]
# CHECK-NEXT: 1 4 0.33 * * U prfh #15, p7, [z31.d]
-# CHECK-NEXT: 1 4 0.33 * * prfh #15, p7, [z31.s, #62]
-# CHECK-NEXT: 1 4 0.33 * * prfh #15, p7, [z31.s]
+# CHECK-NEXT: 1 4 0.33 * * U prfh #15, p7, [z31.s, #62]
+# CHECK-NEXT: 1 4 0.33 * * U prfh #15, p7, [z31.s]
# CHECK-NEXT: 1 4 0.33 * * U prfh #6, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfh #7, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfh pldl1keep, p0, [x0, z0.d, lsl #1]
# CHECK-NEXT: 1 4 0.33 * * U prfw #15, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfw #15, p7, [z31.d, #124]
# CHECK-NEXT: 1 4 0.33 * * U prfw #15, p7, [z31.d]
-# CHECK-NEXT: 1 4 0.33 * * prfw #15, p7, [z31.s, #124]
-# CHECK-NEXT: 1 4 0.33 * * prfw #15, p7, [z31.s]
+# CHECK-NEXT: 1 4 0.33 * * U prfw #15, p7, [z31.s, #124]
+# CHECK-NEXT: 1 4 0.33 * * U prfw #15, p7, [z31.s]
# CHECK-NEXT: 1 4 0.33 * * U prfw #6, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfw #7, p0, [x0]
# CHECK-NEXT: 1 4 0.33 * * U prfw #7, p3, [x13, z8.d, uxtw #2]
# CHECK-NEXT: 1 2 0.50 ptrue p7.s, vl64
# CHECK-NEXT: 1 2 0.50 ptrue p7.s, vl7
# CHECK-NEXT: 1 2 0.50 ptrue p7.s, vl8
-# CHECK-NEXT: 1 3 0.50 U ptrues p0.b, pow2
-# CHECK-NEXT: 1 3 0.50 U ptrues p0.d, pow2
-# CHECK-NEXT: 1 3 0.50 U ptrues p0.h, pow2
-# CHECK-NEXT: 1 3 0.50 U ptrues p0.s, pow2
-# CHECK-NEXT: 1 3 0.50 U ptrues p15.b
-# CHECK-NEXT: 1 3 0.50 U ptrues p15.d
-# CHECK-NEXT: 1 3 0.50 U ptrues p15.h
-# CHECK-NEXT: 1 3 0.50 U ptrues p15.s
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #14
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #15
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #16
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #17
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #18
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #19
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #20
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #21
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #22
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #23
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #24
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #25
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #26
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #27
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, #28
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, mul3
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, mul4
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl1
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl128
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl16
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl2
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl256
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl3
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl32
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl4
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl5
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl6
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl64
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl7
-# CHECK-NEXT: 1 3 0.50 U ptrues p7.s, vl8
+# CHECK-NEXT: 1 3 0.50 ptrues p0.b, pow2
+# CHECK-NEXT: 1 3 0.50 ptrues p0.d, pow2
+# CHECK-NEXT: 1 3 0.50 ptrues p0.h, pow2
+# CHECK-NEXT: 1 3 0.50 ptrues p0.s, pow2
+# CHECK-NEXT: 1 3 0.50 ptrues p15.b
+# CHECK-NEXT: 1 3 0.50 ptrues p15.d
+# CHECK-NEXT: 1 3 0.50 ptrues p15.h
+# CHECK-NEXT: 1 3 0.50 ptrues p15.s
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #14
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #15
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #16
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #17
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #18
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #19
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #20
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #21
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #22
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #23
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #24
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #25
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #26
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #27
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, #28
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, mul3
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, mul4
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl1
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl128
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl16
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl2
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl256
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl3
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl32
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl4
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl5
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl6
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl64
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl7
+# CHECK-NEXT: 1 3 0.50 ptrues p7.s, vl8
# CHECK-NEXT: 1 2 0.50 punpkhi p0.h, p0.b
# CHECK-NEXT: 1 2 0.50 punpkhi p15.h, p15.b
# CHECK-NEXT: 1 2 0.50 punpklo p0.h, p0.b
# CHECK-NEXT: 1 4 1.00 smullt z0.s, z1.h, z7.h[7]
# CHECK-NEXT: 1 4 1.00 smullt z29.s, z30.h, z31.h
# CHECK-NEXT: 1 4 1.00 smullt z31.d, z31.s, z31.s
-# CHECK-NEXT: 1 3 1.00 U splice z29.b, p7, { z30.b, z31.b }
-# CHECK-NEXT: 1 3 1.00 U splice z29.d, p7, { z30.d, z31.d }
-# CHECK-NEXT: 1 3 1.00 U splice z29.h, p7, { z30.h, z31.h }
-# CHECK-NEXT: 1 3 1.00 U splice z29.s, p7, { z30.s, z31.s }
+# CHECK-NEXT: 1 3 1.00 splice z29.b, p7, { z30.b, z31.b }
+# CHECK-NEXT: 1 3 1.00 splice z29.d, p7, { z30.d, z31.d }
+# CHECK-NEXT: 1 3 1.00 splice z29.h, p7, { z30.h, z31.h }
+# CHECK-NEXT: 1 3 1.00 splice z29.s, p7, { z30.s, z31.s }
# CHECK-NEXT: 1 3 1.00 splice z31.b, p7, z31.b, z31.b
# CHECK-NEXT: 1 3 1.00 splice z31.d, p7, z31.d, z31.d
# CHECK-NEXT: 1 3 1.00 splice z31.h, p7, z31.h, z31.h
# CHECK-NEXT: 1 2 0.50 sqdecb x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqdecb x0, pow2
# CHECK-NEXT: 1 2 0.50 sqdecb x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqdecb x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqdecb x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqdecb x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdecb x0, w0
+# CHECK-NEXT: 1 2 0.50 sqdecb x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdecb x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqdecb x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 0.50 sqdecd x0
# CHECK-NEXT: 1 2 0.50 sqdecd x0, #14
# CHECK-NEXT: 1 2 0.50 sqdecd x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqdecd x0, pow2
# CHECK-NEXT: 1 2 0.50 sqdecd x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqdecd x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqdecd x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqdecd x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdecd x0, w0
+# CHECK-NEXT: 1 2 0.50 sqdecd x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdecd x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqdecd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecd z0.d
# CHECK-NEXT: 1 2 1.00 sqdecd z0.d, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecd z0.d, pow2
# CHECK-NEXT: 1 2 0.50 sqdech x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqdech x0, pow2
# CHECK-NEXT: 1 2 0.50 sqdech x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqdech x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqdech x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqdech x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdech x0, w0
+# CHECK-NEXT: 1 2 0.50 sqdech x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdech x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqdech x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqdech z0.h
# CHECK-NEXT: 1 2 1.00 sqdech z0.h, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdech z0.h, pow2
# CHECK-NEXT: 1 2 0.50 sqdecp x0, p0.d
# CHECK-NEXT: 1 2 0.50 sqdecp x0, p0.h
# CHECK-NEXT: 1 2 0.50 sqdecp x0, p0.s
-# CHECK-NEXT: 1 2 0.50 U sqdecp xzr, p15.b, wzr
-# CHECK-NEXT: 1 2 0.50 U sqdecp xzr, p15.d, wzr
-# CHECK-NEXT: 1 2 0.50 U sqdecp xzr, p15.h, wzr
-# CHECK-NEXT: 1 2 0.50 U sqdecp xzr, p15.s, wzr
+# CHECK-NEXT: 1 2 0.50 sqdecp xzr, p15.b, wzr
+# CHECK-NEXT: 1 2 0.50 sqdecp xzr, p15.d, wzr
+# CHECK-NEXT: 1 2 0.50 sqdecp xzr, p15.h, wzr
+# CHECK-NEXT: 1 2 0.50 sqdecp xzr, p15.s, wzr
# CHECK-NEXT: 3 7 1.00 sqdecp z0.d, p0.d
# CHECK-NEXT: 3 7 1.00 sqdecp z0.h, p0.h
# CHECK-NEXT: 3 7 1.00 sqdecp z0.s, p0.s
# CHECK-NEXT: 1 2 0.50 sqdecw x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqdecw x0, pow2
# CHECK-NEXT: 1 2 0.50 sqdecw x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqdecw x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqdecw x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqdecw x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdecw x0, w0
+# CHECK-NEXT: 1 2 0.50 sqdecw x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqdecw x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqdecw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecw z0.s
# CHECK-NEXT: 1 2 1.00 sqdecw z0.s, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqdecw z0.s, pow2
# CHECK-NEXT: 1 2 0.50 sqincb x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqincb x0, pow2
# CHECK-NEXT: 1 2 0.50 sqincb x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqincb x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqincb x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqincb x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqincb x0, w0
+# CHECK-NEXT: 1 2 0.50 sqincb x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqincb x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqincb x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 0.50 sqincd x0
# CHECK-NEXT: 1 2 0.50 sqincd x0, #14
# CHECK-NEXT: 1 2 0.50 sqincd x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqincd x0, pow2
# CHECK-NEXT: 1 2 0.50 sqincd x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqincd x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqincd x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqincd x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqincd x0, w0
+# CHECK-NEXT: 1 2 0.50 sqincd x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqincd x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqincd x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqincd z0.d
# CHECK-NEXT: 1 2 1.00 sqincd z0.d, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqincd z0.d, pow2
# CHECK-NEXT: 1 2 0.50 sqinch x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqinch x0, pow2
# CHECK-NEXT: 1 2 0.50 sqinch x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqinch x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqinch x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqinch x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqinch x0, w0
+# CHECK-NEXT: 1 2 0.50 sqinch x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqinch x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqinch x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqinch z0.h
# CHECK-NEXT: 1 2 1.00 sqinch z0.h, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqinch z0.h, pow2
# CHECK-NEXT: 1 2 0.50 sqincp x0, p0.d
# CHECK-NEXT: 1 2 0.50 sqincp x0, p0.h
# CHECK-NEXT: 1 2 0.50 sqincp x0, p0.s
-# CHECK-NEXT: 1 2 0.50 U sqincp xzr, p15.b, wzr
-# CHECK-NEXT: 1 2 0.50 U sqincp xzr, p15.d, wzr
-# CHECK-NEXT: 1 2 0.50 U sqincp xzr, p15.h, wzr
-# CHECK-NEXT: 1 2 0.50 U sqincp xzr, p15.s, wzr
+# CHECK-NEXT: 1 2 0.50 sqincp xzr, p15.b, wzr
+# CHECK-NEXT: 1 2 0.50 sqincp xzr, p15.d, wzr
+# CHECK-NEXT: 1 2 0.50 sqincp xzr, p15.h, wzr
+# CHECK-NEXT: 1 2 0.50 sqincp xzr, p15.s, wzr
# CHECK-NEXT: 3 7 1.00 sqincp z0.d, p0.d
# CHECK-NEXT: 3 7 1.00 sqincp z0.h, p0.h
# CHECK-NEXT: 3 7 1.00 sqincp z0.s, p0.s
# CHECK-NEXT: 1 2 0.50 sqincw x0, all, mul #16
# CHECK-NEXT: 1 2 0.50 sqincw x0, pow2
# CHECK-NEXT: 1 2 0.50 sqincw x0, vl1
-# CHECK-NEXT: 1 2 0.50 U sqincw x0, w0
-# CHECK-NEXT: 1 2 0.50 U sqincw x0, w0, all, mul #16
-# CHECK-NEXT: 1 2 0.50 U sqincw x0, w0, pow2
-# CHECK-NEXT: 1 2 0.50 U sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT: 1 2 0.50 sqincw x0, w0
+# CHECK-NEXT: 1 2 0.50 sqincw x0, w0, all, mul #16
+# CHECK-NEXT: 1 2 0.50 sqincw x0, w0, pow2
+# CHECK-NEXT: 1 2 0.50 sqincw x0, w0, pow2, mul #16
# CHECK-NEXT: 1 2 1.00 sqincw z0.s
# CHECK-NEXT: 1 2 1.00 sqincw z0.s, all, mul #16
# CHECK-NEXT: 1 2 1.00 sqincw z0.s, pow2
# CHECK-NEXT: 1 4 1.00 sqrshl z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 1.00 sqrshl z29.s, p7/m, z29.s, z30.s
# CHECK-NEXT: 1 4 1.00 sqrshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 1.00 U sqrshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 1.00 U sqrshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 U sqrshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 1.00 U sqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 sqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 1.00 sqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 sqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 1.00 sqrshlr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 sqrshrnb z0.b, z0.h, #1
# CHECK-NEXT: 1 4 1.00 sqrshrnb z0.h, z0.s, #1
# CHECK-NEXT: 1 4 1.00 sqrshrnb z0.s, z0.d, #1
# CHECK-NEXT: 1 4 1.00 sqshl z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 sqshl z31.h, p0/m, z31.h, #15
# CHECK-NEXT: 1 4 1.00 sqshl z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: 1 4 1.00 U sqshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 1.00 U sqshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 U sqshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 1.00 U sqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 sqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 1.00 sqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 sqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 1.00 sqshlr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 sqshlu z0.b, p0/m, z0.b, #0
# CHECK-NEXT: 1 4 1.00 sqshlu z0.d, p0/m, z0.d, #0
# CHECK-NEXT: 1 4 1.00 sqshlu z0.h, p0/m, z0.h, #0
# CHECK-NEXT: 1 4 1.00 srshl z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 1.00 srshl z29.s, p7/m, z29.s, z30.s
# CHECK-NEXT: 1 4 1.00 srshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 1.00 U srshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 1.00 U srshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 U srshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 1.00 U srshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 srshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 1.00 srshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 srshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 1.00 srshlr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 srshr z0.b, p0/m, z0.b, #1
# CHECK-NEXT: 1 4 1.00 srshr z0.d, p0/m, z0.d, #1
# CHECK-NEXT: 1 4 1.00 srshr z0.h, p0/m, z0.h, #1
# CHECK-NEXT: 2 2 0.50 * st1w { z31.d }, p7, [z31.d, #124]
# CHECK-NEXT: 2 2 0.50 * st1w { z31.s }, p7, [sp, #-1, mul vl]
# CHECK-NEXT: 4 4 1.00 * st1w { z31.s }, p7, [z31.s, #124]
-# CHECK-NEXT: 2 4 0.50 * U st2b { z0.b, z1.b }, p0, [x0, x0]
-# CHECK-NEXT: 2 4 0.50 * U st2b { z0.b, z1.b }, p0, [x0]
-# CHECK-NEXT: 2 4 0.50 * U st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2b { z5.b, z6.b }, p3, [x17, x16]
-# CHECK-NEXT: 2 4 0.50 * U st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: 2 4 0.50 * U st2d { z0.d, z1.d }, p0, [x0]
-# CHECK-NEXT: 2 4 0.50 * U st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: 3 4 0.50 * U st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: 2 4 0.50 * U st2h { z0.h, z1.h }, p0, [x0]
-# CHECK-NEXT: 2 4 0.50 * U st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 3 4 0.50 * U st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: 2 4 0.50 * U st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: 2 4 0.50 * U st2w { z0.s, z1.s }, p0, [x0]
-# CHECK-NEXT: 2 4 0.50 * U st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
-# CHECK-NEXT: 2 4 0.50 * U st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: 15 7 2.50 * U st3b { z0.b - z2.b }, p0, [x0, x0]
-# CHECK-NEXT: 10 7 2.50 * U st3b { z0.b - z2.b }, p0, [x0]
-# CHECK-NEXT: 10 7 2.50 * U st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 10 7 2.50 * U st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 15 7 2.50 * U st3b { z5.b - z7.b }, p3, [x17, x16]
-# CHECK-NEXT: 15 7 2.50 * U st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: 10 7 2.50 * U st3d { z0.d - z2.d }, p0, [x0]
-# CHECK-NEXT: 10 7 2.50 * U st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 10 7 2.50 * U st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 15 7 2.50 * U st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: 15 7 2.50 * U st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: 10 7 2.50 * U st3h { z0.h - z2.h }, p0, [x0]
-# CHECK-NEXT: 10 7 2.50 * U st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 10 7 2.50 * U st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 15 7 2.50 * U st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: 15 7 2.50 * U st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: 10 7 2.50 * U st3w { z0.s - z2.s }, p0, [x0]
-# CHECK-NEXT: 10 7 2.50 * U st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
-# CHECK-NEXT: 10 7 2.50 * U st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
-# CHECK-NEXT: 15 7 2.50 * U st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
-# CHECK-NEXT: 27 11 4.50 * U st4b { z0.b - z3.b }, p0, [x0, x0]
-# CHECK-NEXT: 18 11 4.50 * U st4b { z0.b - z3.b }, p0, [x0]
-# CHECK-NEXT: 18 11 4.50 * U st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 18 11 4.50 * U st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 27 11 4.50 * U st4b { z5.b - z8.b }, p3, [x17, x16]
-# CHECK-NEXT: 27 11 4.50 * U st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
-# CHECK-NEXT: 18 11 4.50 * U st4d { z0.d - z3.d }, p0, [x0]
-# CHECK-NEXT: 18 11 4.50 * U st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 18 11 4.50 * U st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 27 11 4.50 * U st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
-# CHECK-NEXT: 27 11 4.50 * U st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
-# CHECK-NEXT: 18 11 4.50 * U st4h { z0.h - z3.h }, p0, [x0]
-# CHECK-NEXT: 18 11 4.50 * U st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 18 11 4.50 * U st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 27 11 4.50 * U st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
-# CHECK-NEXT: 27 11 4.50 * U st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
-# CHECK-NEXT: 18 11 4.50 * U st4w { z0.s - z3.s }, p0, [x0]
-# CHECK-NEXT: 18 11 4.50 * U st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
-# CHECK-NEXT: 18 11 4.50 * U st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
-# CHECK-NEXT: 27 11 4.50 * U st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 2 4 0.50 * st2b { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT: 2 4 0.50 * st2b { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT: 2 4 0.50 * st2b { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2b { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT: 2 4 0.50 * st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 2 4 0.50 * st2d { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT: 2 4 0.50 * st2d { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 3 4 0.50 * st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 2 4 0.50 * st2h { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT: 2 4 0.50 * st2h { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 3 4 0.50 * st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 2 4 0.50 * st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 2 4 0.50 * st2w { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT: 2 4 0.50 * st2w { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT: 2 4 0.50 * st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 15 7 2.50 * st3b { z0.b - z2.b }, p0, [x0, x0]
+# CHECK-NEXT: 10 7 2.50 * st3b { z0.b - z2.b }, p0, [x0]
+# CHECK-NEXT: 10 7 2.50 * st3b { z21.b - z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 10 7 2.50 * st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 15 7 2.50 * st3b { z5.b - z7.b }, p3, [x17, x16]
+# CHECK-NEXT: 15 7 2.50 * st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 10 7 2.50 * st3d { z0.d - z2.d }, p0, [x0]
+# CHECK-NEXT: 10 7 2.50 * st3d { z21.d - z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 10 7 2.50 * st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 15 7 2.50 * st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 15 7 2.50 * st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 10 7 2.50 * st3h { z0.h - z2.h }, p0, [x0]
+# CHECK-NEXT: 10 7 2.50 * st3h { z21.h - z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 10 7 2.50 * st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 15 7 2.50 * st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 15 7 2.50 * st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 10 7 2.50 * st3w { z0.s - z2.s }, p0, [x0]
+# CHECK-NEXT: 10 7 2.50 * st3w { z21.s - z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT: 10 7 2.50 * st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT: 15 7 2.50 * st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT: 27 11 4.50 * st4b { z0.b - z3.b }, p0, [x0, x0]
+# CHECK-NEXT: 18 11 4.50 * st4b { z0.b - z3.b }, p0, [x0]
+# CHECK-NEXT: 18 11 4.50 * st4b { z21.b - z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 18 11 4.50 * st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 27 11 4.50 * st4b { z5.b - z8.b }, p3, [x17, x16]
+# CHECK-NEXT: 27 11 4.50 * st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT: 18 11 4.50 * st4d { z0.d - z3.d }, p0, [x0]
+# CHECK-NEXT: 18 11 4.50 * st4d { z21.d - z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 18 11 4.50 * st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 27 11 4.50 * st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT: 27 11 4.50 * st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT: 18 11 4.50 * st4h { z0.h - z3.h }, p0, [x0]
+# CHECK-NEXT: 18 11 4.50 * st4h { z21.h - z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 18 11 4.50 * st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 27 11 4.50 * st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT: 27 11 4.50 * st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT: 18 11 4.50 * st4w { z0.s - z3.s }, p0, [x0]
+# CHECK-NEXT: 18 11 4.50 * st4w { z21.s - z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT: 18 11 4.50 * st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT: 27 11 4.50 * st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2]
# CHECK-NEXT: 2 2 0.50 * stnt1b { z0.b }, p0, [x0, x0]
# CHECK-NEXT: 2 2 0.50 * stnt1b { z0.b }, p0, [x0]
# CHECK-NEXT: 2 2 0.50 * stnt1b { z0.d }, p0, [z1.d]
# CHECK-NEXT: 1 1 0.50 * str p0, [x0]
# CHECK-NEXT: 1 1 0.50 * str p15, [sp, #-256, mul vl]
# CHECK-NEXT: 1 1 0.50 * str p5, [x10, #255, mul vl]
-# CHECK-NEXT: 2 2 0.50 * U str z0, [x0]
-# CHECK-NEXT: 2 2 0.50 * U str z21, [x10, #-256, mul vl]
-# CHECK-NEXT: 2 2 0.50 * U str z31, [sp, #255, mul vl]
+# CHECK-NEXT: 2 2 0.50 * str z0, [x0]
+# CHECK-NEXT: 2 2 0.50 * str z21, [x10, #-256, mul vl]
+# CHECK-NEXT: 2 2 0.50 * str z31, [sp, #255, mul vl]
# CHECK-NEXT: 1 2 0.50 sub z0.b, p0/m, z0.b, z0.b
# CHECK-NEXT: 1 2 0.50 sub z0.b, z0.b, #0
# CHECK-NEXT: 1 2 0.50 sub z0.b, z0.b, z0.b
# CHECK-NEXT: 1 2 1.00 sxth z31.s, p7/m, z31.s
# CHECK-NEXT: 1 2 1.00 sxtw z0.d, p0/m, z0.d
# CHECK-NEXT: 1 2 1.00 sxtw z31.d, p7/m, z31.d
-# CHECK-NEXT: 1 2 0.50 U tbl z28.b, { z29.b, z30.b }, z31.b
-# CHECK-NEXT: 1 2 0.50 U tbl z28.d, { z29.d, z30.d }, z31.d
-# CHECK-NEXT: 1 2 0.50 U tbl z28.h, { z29.h, z30.h }, z31.h
-# CHECK-NEXT: 1 2 0.50 U tbl z28.s, { z29.s, z30.s }, z31.s
+# CHECK-NEXT: 1 2 0.50 tbl z28.b, { z29.b, z30.b }, z31.b
+# CHECK-NEXT: 1 2 0.50 tbl z28.d, { z29.d, z30.d }, z31.d
+# CHECK-NEXT: 1 2 0.50 tbl z28.h, { z29.h, z30.h }, z31.h
+# CHECK-NEXT: 1 2 0.50 tbl z28.s, { z29.s, z30.s }, z31.s
# CHECK-NEXT: 1 2 0.50 tbl z31.b, { z31.b }, z31.b
# CHECK-NEXT: 1 2 0.50 tbl z31.d, { z31.d }, z31.d
# CHECK-NEXT: 1 2 0.50 tbl z31.h, { z31.h }, z31.h
# CHECK-NEXT: 1 4 1.00 uqrshl z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 1.00 uqrshl z29.s, p7/m, z29.s, z30.s
# CHECK-NEXT: 1 4 1.00 uqrshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 1.00 U uqrshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 1.00 U uqrshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 U uqrshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 1.00 U uqrshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 uqrshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 1.00 uqrshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 uqrshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 1.00 uqrshlr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 uqrshrnb z0.b, z0.h, #1
# CHECK-NEXT: 1 4 1.00 uqrshrnb z0.h, z0.s, #1
# CHECK-NEXT: 1 4 1.00 uqrshrnb z0.s, z0.d, #1
# CHECK-NEXT: 1 4 1.00 uqshl z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 uqshl z31.h, p0/m, z31.h, #15
# CHECK-NEXT: 1 4 1.00 uqshl z31.s, p0/m, z31.s, #31
-# CHECK-NEXT: 1 4 1.00 U uqshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 1.00 U uqshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 U uqshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 1.00 U uqshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 uqshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 1.00 uqshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 uqshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 1.00 uqshlr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 uqshrnb z0.b, z0.h, #1
# CHECK-NEXT: 1 4 1.00 uqshrnb z0.h, z0.s, #1
# CHECK-NEXT: 1 4 1.00 uqshrnb z0.s, z0.d, #1
# CHECK-NEXT: 1 4 1.00 urshl z0.h, p0/m, z0.h, z1.h
# CHECK-NEXT: 1 4 1.00 urshl z29.s, p7/m, z29.s, z30.s
# CHECK-NEXT: 1 4 1.00 urshl z31.d, p7/m, z31.d, z30.d
-# CHECK-NEXT: 1 4 1.00 U urshlr z0.b, p0/m, z0.b, z1.b
-# CHECK-NEXT: 1 4 1.00 U urshlr z0.h, p0/m, z0.h, z1.h
-# CHECK-NEXT: 1 4 1.00 U urshlr z29.s, p7/m, z29.s, z30.s
-# CHECK-NEXT: 1 4 1.00 U urshlr z31.d, p7/m, z31.d, z30.d
+# CHECK-NEXT: 1 4 1.00 urshlr z0.b, p0/m, z0.b, z1.b
+# CHECK-NEXT: 1 4 1.00 urshlr z0.h, p0/m, z0.h, z1.h
+# CHECK-NEXT: 1 4 1.00 urshlr z29.s, p7/m, z29.s, z30.s
+# CHECK-NEXT: 1 4 1.00 urshlr z31.d, p7/m, z31.d, z30.d
# CHECK-NEXT: 1 4 1.00 urshr z0.b, p0/m, z0.b, #1
# CHECK-NEXT: 1 4 1.00 urshr z0.d, p0/m, z0.d, #1
# CHECK-NEXT: 1 4 1.00 urshr z0.h, p0/m, z0.h, #1
# CHECK-NEXT: 1 3 0.50 whilege p15.h, x0, xzr
# CHECK-NEXT: 1 3 0.50 whilege p15.s, w0, wzr
# CHECK-NEXT: 1 3 0.50 whilege p15.s, x0, xzr
-# CHECK-NEXT: 1 3 0.50 * * U whilerw p15.b, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilerw p15.d, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilerw p15.h, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilerw p15.s, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilewr p15.b, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilewr p15.d, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilewr p15.h, x30, x30
-# CHECK-NEXT: 1 3 0.50 * * U whilewr p15.s, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilerw p15.b, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilerw p15.d, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilerw p15.h, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilerw p15.s, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilewr p15.b, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilewr p15.d, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilewr p15.h, x30, x30
+# CHECK-NEXT: 1 3 0.50 whilewr p15.s, x30, x30
# CHECK-NEXT: 1 2 2.00 * U wrffr p0.b
# CHECK-NEXT: 1 2 2.00 * U wrffr p15.b
# CHECK-NEXT: 1 2 1.00 xar z0.b, z0.b, z1.b, #1