diff --git a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td --- a/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td @@ -310,7 +310,8 @@ def AArch64ptest : SDNode<"AArch64ISD::PTEST", SDT_AArch64PTest>; def AArch64ptest_any : SDNode<"AArch64ISD::PTEST_ANY", SDT_AArch64PTest>; -def SDT_AArch64DUP_PRED : SDTypeProfile<1, 3, [SDTCisVec<0>, SDTCisSameAs<0, 3>, SDTCisVec<1>, SDTCVecEltisVT<1,i1>]>; +def SDT_AArch64DUP_PRED : SDTypeProfile<1, 3, + [SDTCisVec<0>, SDTCisSameAs<0, 3>, SDTCisVec<1>, SDTCVecEltisVT<1,i1>, SDTCisSameNumEltsAs<0, 1>]>; def AArch64dup_mt : SDNode<"AArch64ISD::DUP_MERGE_PASSTHRU", SDT_AArch64DUP_PRED>; def AArch64splice : SDNode<"AArch64ISD::SPLICE", SDT_AArch64Arith>; @@ -2280,43 +2281,46 @@ } let AddedComplexity = 1 in { - class LD1RPat : - Pat<(vt (splat_vector (index_vt (operator (CP GPR64:$base, immtype:$offset))))), - (load (ptrue 31), GPR64:$base, $offset)>; + multiclass LD1RPat { + def : Pat<(vt (splat_vector (index_vt (operator (CP GPR64:$base, immtype:$offset))))), + (load (ptrue 31), GPR64:$base, $offset)>; + def : Pat<(vt (AArch64dup_mt PPR:$pg, (index_vt (operator (CP GPR64:$base, immtype:$offset))), (SVEDup0Undef))), + (load $pg, GPR64:$base, $offset)>; + } } // LDR1 of 8-bit data - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; // LDR1 of 16-bit data - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; // LDR1 of 32-bit data - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; // LDR1 of 64-bit data - def : LD1RPat; + defm : LD1RPat; // LD1R of FP data - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; - def : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; + defm : LD1RPat; // LD1R of 128-bit masked data multiclass ld1rq_pat{ diff --git a/llvm/test/CodeGen/AArch64/sve-ld1r.ll b/llvm/test/CodeGen/AArch64/sve-ld1r.ll --- a/llvm/test/CodeGen/AArch64/sve-ld1r.ll +++ b/llvm/test/CodeGen/AArch64/sve-ld1r.ll @@ -819,6 +819,547 @@ ret %3 } +; +; +; Tests for dup and dupx: +; +; Positive tests: +; * dup with passthru=undef or passthrue=zero. +; * dupx with an in-range immediate (hi, lo) for address offset. +; +; Negative tests: +; * dup with passthru as a parameter. +; * dupx with an out of range immediate for address offset +; +; + + +define @dup_ld1rqb_i8_passthruundef( %pg, i8* %addr) { +; CHECK-LABEL: dup_ld1rqb_i8_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rb { z0.b }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i8, i8* %addr + %res = call @llvm.aarch64.sve.dup.nxv16i8( undef, %pg, i8 %ld) + ret %res +} +define @dup_ld1rqh_i16_passthruundef( %pg, i16* %addr) { +; CHECK-LABEL: dup_ld1rqh_i16_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i16, i16* %addr + %res = call @llvm.aarch64.sve.dup.nxv8i16( undef, %pg, i16 %ld) + ret %res +} +define @dup_ld1rqs_i32_passthruundef( %pg, i32* %addr) { +; CHECK-LABEL: dup_ld1rqs_i32_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i32, i32* %addr + %res = call @llvm.aarch64.sve.dup.nxv4i32( undef, %pg, i32 %ld) + ret %res +} +define @dup_ld1rqd_i64_passthruundef( %pg, i64* %addr) { +; CHECK-LABEL: dup_ld1rqd_i64_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i64, i64* %addr + %res = call @llvm.aarch64.sve.dup.nxv2i64( undef, %pg, i64 %ld) + ret %res +} +define @dup_ld1rqh_half_passthruundef( %pg, half* %addr) { +; CHECK-LABEL: dup_ld1rqh_half_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load half, half* %addr + %res = call @llvm.aarch64.sve.dup.nxv8f16( undef, %pg, half %ld) + ret %res +} +define @dup_ld1rqs_float_passthruundef( %pg, float* %addr) { +; CHECK-LABEL: dup_ld1rqs_float_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load float, float* %addr + %res = call @llvm.aarch64.sve.dup.nxv4f32( undef, %pg, float %ld) + ret %res +} +define @dup_ld1rqd_double_passthruundef( %pg, double* %addr) { +; CHECK-LABEL: dup_ld1rqd_double_passthruundef: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load double, double* %addr + %res = call @llvm.aarch64.sve.dup.nxv2f64( undef, %pg, double %ld) + ret %res +} +define @dup_ld1rqb_i8_passthruzero( %pg, i8* %addr) { +; CHECK-LABEL: dup_ld1rqb_i8_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rb { z0.b }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i8, i8* %addr + %res = call @llvm.aarch64.sve.dup.nxv16i8( zeroinitializer, %pg, i8 %ld) + ret %res +} +define @dup_ld1rqh_i16_passthruzero( %pg, i16* %addr) { +; CHECK-LABEL: dup_ld1rqh_i16_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i16, i16* %addr + %res = call @llvm.aarch64.sve.dup.nxv8i16( zeroinitializer, %pg, i16 %ld) + ret %res +} +define @dup_ld1rqs_i32_passthruzero( %pg, i32* %addr) { +; CHECK-LABEL: dup_ld1rqs_i32_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i32, i32* %addr + %res = call @llvm.aarch64.sve.dup.nxv4i32( zeroinitializer, %pg, i32 %ld) + ret %res +} +define @dup_ld1rqd_i64_passthruzero( %pg, i64* %addr) { +; CHECK-LABEL: dup_ld1rqd_i64_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load i64, i64* %addr + %res = call @llvm.aarch64.sve.dup.nxv2i64( zeroinitializer, %pg, i64 %ld) + ret %res +} +define @dup_ld1rqh_half_passthruzero( %pg, half* %addr) { +; CHECK-LABEL: dup_ld1rqh_half_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load half, half* %addr + %res = call @llvm.aarch64.sve.dup.nxv8f16( zeroinitializer, %pg, half %ld) + ret %res +} +define @dup_ld1rqs_float_passthruzero( %pg, float* %addr) { +; CHECK-LABEL: dup_ld1rqs_float_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load float, float* %addr + %res = call @llvm.aarch64.sve.dup.nxv4f32( zeroinitializer, %pg, float %ld) + ret %res +} +define @dup_ld1rqd_double_passthruzero( %pg, double* %addr) { +; CHECK-LABEL: dup_ld1rqd_double_passthruzero: +; CHECK: // %bb.0: +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0] +; CHECK-NEXT: ret + %ld = load double, double* %addr + %res = call @llvm.aarch64.sve.dup.nxv2f64( zeroinitializer, %pg, double %ld) + ret %res +} +define @dupx_ld1rqb_i8_immlo(i8* %addr) { +; CHECK-LABEL: dupx_ld1rqb_i8_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.b +; CHECK-NEXT: ld1rb { z0.b }, p0/z, [x0, #1] +; CHECK-NEXT: ret + %gep = getelementptr i8, i8* %addr, i32 1 + %ld = load i8, i8* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv16i8(i8 %ld) + ret %res +} +define @dupx_ld1rqh_i16_immlo(i16* %addr) { +; CHECK-LABEL: dupx_ld1rqh_i16_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0, #2] +; CHECK-NEXT: ret + %gep = getelementptr i16, i16* %addr, i32 1 + %ld = load i16, i16* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8i16(i16 %ld) + ret %res +} +define @dupx_ld1rqs_i32_immlo(i32* %addr) { +; CHECK-LABEL: dupx_ld1rqs_i32_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0, #4] +; CHECK-NEXT: ret + %gep = getelementptr i32, i32* %addr, i32 1 + %ld = load i32, i32* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4i32(i32 %ld) + ret %res +} +define @dupx_ld1rqd_i64_immlo(i64* %addr) { +; CHECK-LABEL: dupx_ld1rqd_i64_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0, #8] +; CHECK-NEXT: ret + %gep = getelementptr i64, i64* %addr, i32 1 + %ld = load i64, i64* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2i64(i64 %ld) + ret %res +} +define @dupx_ld1rqh_half_immlo(half* %addr) { +; CHECK-LABEL: dupx_ld1rqh_half_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0, #2] +; CHECK-NEXT: ret + %gep = getelementptr half, half* %addr, i32 1 + %ld = load half, half* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8f16(half %ld) + ret %res +} +define @dupx_ld1rqs_float_immlo(float* %addr) { +; CHECK-LABEL: dupx_ld1rqs_float_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0, #4] +; CHECK-NEXT: ret + %gep = getelementptr float, float* %addr, i32 1 + %ld = load float, float* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4f32(float %ld) + ret %res +} +define @dupx_ld1rqd_double_immlo(double* %addr) { +; CHECK-LABEL: dupx_ld1rqd_double_immlo: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0, #8] +; CHECK-NEXT: ret + %gep = getelementptr double, double* %addr, i32 1 + %ld = load double, double* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2f64(double %ld) + ret %res +} +define @dupx_ld1rqb_i8_immhi(i8* %addr) { +; CHECK-LABEL: dupx_ld1rqb_i8_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.b +; CHECK-NEXT: ld1rb { z0.b }, p0/z, [x0, #63] +; CHECK-NEXT: ret + %gep = getelementptr i8, i8* %addr, i32 63 + %ld = load i8, i8* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv16i8(i8 %ld) + ret %res +} +define @dupx_ld1rqh_i16_immhi(i16* %addr) { +; CHECK-LABEL: dupx_ld1rqh_i16_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0, #126] +; CHECK-NEXT: ret + %gep = getelementptr i16, i16* %addr, i32 63 + %ld = load i16, i16* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8i16(i16 %ld) + ret %res +} +define @dupx_ld1rqs_i32_immhi(i32* %addr) { +; CHECK-LABEL: dupx_ld1rqs_i32_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0, #252] +; CHECK-NEXT: ret + %gep = getelementptr i32, i32* %addr, i32 63 + %ld = load i32, i32* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4i32(i32 %ld) + ret %res +} +define @dupx_ld1rqd_i64_immhi(i64* %addr) { +; CHECK-LABEL: dupx_ld1rqd_i64_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0, #504] +; CHECK-NEXT: ret + %gep = getelementptr i64, i64* %addr, i32 63 + %ld = load i64, i64* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2i64(i64 %ld) + ret %res +} +define @dupx_ld1rqh_half_immhi(half* %addr) { +; CHECK-LABEL: dupx_ld1rqh_half_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x0, #126] +; CHECK-NEXT: ret + %gep = getelementptr half, half* %addr, i32 63 + %ld = load half, half* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8f16(half %ld) + ret %res +} +define @dupx_ld1rqs_float_immhi(float* %addr) { +; CHECK-LABEL: dupx_ld1rqs_float_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x0, #252] +; CHECK-NEXT: ret + %gep = getelementptr float, float* %addr, i32 63 + %ld = load float, float* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4f32(float %ld) + ret %res +} +define @dupx_ld1rqd_double_immhi(double* %addr) { +; CHECK-LABEL: dupx_ld1rqd_double_immhi: +; CHECK: // %bb.0: +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x0, #504] +; CHECK-NEXT: ret + %gep = getelementptr double, double* %addr, i32 63 + %ld = load double, double* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2f64(double %ld) + ret %res +} +define @negtest_dup_ld1rqb_i8_passthru( %pt, %pg, i8* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqb_i8_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldrb w8, [x0] +; CHECK-NEXT: mov z0.b, p0/m, w8 +; CHECK-NEXT: ret + %ld = load i8, i8* %addr + %res = call @llvm.aarch64.sve.dup.nxv16i8( %pt, %pg, i8 %ld) + ret %res +} +define @negtest_dup_ld1rqh_i16_passthru( %pt, %pg, i16* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqh_i16_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldrh w8, [x0] +; CHECK-NEXT: mov z0.h, p0/m, w8 +; CHECK-NEXT: ret + %ld = load i16, i16* %addr + %res = call @llvm.aarch64.sve.dup.nxv8i16( %pt, %pg, i16 %ld) + ret %res +} +define @negtest_dup_ld1rqs_i32_passthru( %pt, %pg, i32* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqs_i32_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldr w8, [x0] +; CHECK-NEXT: mov z0.s, p0/m, w8 +; CHECK-NEXT: ret + %ld = load i32, i32* %addr + %res = call @llvm.aarch64.sve.dup.nxv4i32( %pt, %pg, i32 %ld) + ret %res +} +define @negtest_dup_ld1rqd_i64_passthru( %pt, %pg, i64* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqd_i64_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldr x8, [x0] +; CHECK-NEXT: mov z0.d, p0/m, x8 +; CHECK-NEXT: ret + %ld = load i64, i64* %addr + %res = call @llvm.aarch64.sve.dup.nxv2i64( %pt, %pg, i64 %ld) + ret %res +} +define @negtest_dup_ld1rqh_half_passthru( %pt, %pg, half* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqh_half_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldr h1, [x0] +; CHECK-NEXT: mov z0.h, p0/m, h1 +; CHECK-NEXT: ret + %ld = load half, half* %addr + %res = call @llvm.aarch64.sve.dup.nxv8f16( %pt, %pg, half %ld) + ret %res +} +define @negtest_dup_ld1rqs_float_passthru( %pt, %pg, float* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqs_float_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldr s1, [x0] +; CHECK-NEXT: mov z0.s, p0/m, s1 +; CHECK-NEXT: ret + %ld = load float, float* %addr + %res = call @llvm.aarch64.sve.dup.nxv4f32( %pt, %pg, float %ld) + ret %res +} +define @negtest_dup_ld1rqd_double_passthru( %pt, %pg, double* %addr) { +; CHECK-LABEL: negtest_dup_ld1rqd_double_passthru: +; CHECK: // %bb.0: +; CHECK-NEXT: ldr d1, [x0] +; CHECK-NEXT: mov z0.d, p0/m, d1 +; CHECK-NEXT: ret + %ld = load double, double* %addr + %res = call @llvm.aarch64.sve.dup.nxv2f64( %pt, %pg, double %ld) + ret %res +} +define @negtest_dupx_ld1rqb_i8_immlo_outrange(i8* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqb_i8_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #1 +; CHECK-NEXT: ptrue p0.b +; CHECK-NEXT: ld1rb { z0.b }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i8, i8* %addr, i32 -1 + %ld = load i8, i8* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv16i8(i8 %ld) + ret %res +} +define @negtest_dupx_ld1rqh_i16_immlo_outrange(i16* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqh_i16_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #2 +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i16, i16* %addr, i32 -1 + %ld = load i16, i16* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8i16(i16 %ld) + ret %res +} +define @negtest_dupx_ld1rqs_i32_immlo_outrange(i32* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqs_i32_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #4 +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i32, i32* %addr, i32 -1 + %ld = load i32, i32* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4i32(i32 %ld) + ret %res +} +define @negtest_dupx_ld1rqd_i64_immlo_outrange(i64* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqd_i64_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #8 +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i64, i64* %addr, i32 -1 + %ld = load i64, i64* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2i64(i64 %ld) + ret %res +} +define @negtest_dupx_ld1rqh_half_immlo_outrange(half* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqh_half_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #2 +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr half, half* %addr, i32 -1 + %ld = load half, half* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8f16(half %ld) + ret %res +} +define @negtest_dupx_ld1rqs_float_immlo_outrange(float* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqs_float_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #4 +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr float, float* %addr, i32 -1 + %ld = load float, float* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4f32(float %ld) + ret %res +} +define @negtest_dupx_ld1rqd_double_immlo_outrange(double* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqd_double_immlo_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: sub x8, x0, #8 +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr double, double* %addr, i32 -1 + %ld = load double, double* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2f64(double %ld) + ret %res +} +define @negtest_dupx_ld1rqb_i8_immhi_outrange(i8* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqb_i8_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #64 +; CHECK-NEXT: ptrue p0.b +; CHECK-NEXT: ld1rb { z0.b }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i8, i8* %addr, i32 64 + %ld = load i8, i8* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv16i8(i8 %ld) + ret %res +} + +define @negtest_dupx_ld1rqh_i16_immhi_outrange(i16* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqh_i16_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #128 +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i16, i16* %addr, i32 64 + %ld = load i16, i16* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8i16(i16 %ld) + ret %res +} + +define @negtest_dupx_ld1rqs_i32_immhi_outrange(i32* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqs_i32_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #256 +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i32, i32* %addr, i32 64 + %ld = load i32, i32* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4i32(i32 %ld) + ret %res +} + +define @negtest_dupx_ld1rqd_i64_immhi_outrange(i64* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqd_i64_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #512 +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr i64, i64* %addr, i32 64 + %ld = load i64, i64* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2i64(i64 %ld) + ret %res +} + +define @negtest_dupx_ld1rqh_half_immhi_outrange(half* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqh_half_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #128 +; CHECK-NEXT: ptrue p0.h +; CHECK-NEXT: ld1rh { z0.h }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr half, half* %addr, i32 64 + %ld = load half, half* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv8f16(half %ld) + ret %res +} + +define @negtest_dupx_ld1rqs_float_immhi_outrange(float* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqs_float_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #256 +; CHECK-NEXT: ptrue p0.s +; CHECK-NEXT: ld1rw { z0.s }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr float, float* %addr, i32 64 + %ld = load float, float* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv4f32(float %ld) + ret %res +} + +define @negtest_dupx_ld1rqd_double_immhi_outrange(double* %addr) { +; CHECK-LABEL: negtest_dupx_ld1rqd_double_immhi_outrange: +; CHECK: // %bb.0: +; CHECK-NEXT: add x8, x0, #512 +; CHECK-NEXT: ptrue p0.d +; CHECK-NEXT: ld1rd { z0.d }, p0/z, [x8] +; CHECK-NEXT: ret + %gep = getelementptr double, double* %addr, i32 64 + %ld = load double, double* %gep + %res = call @llvm.aarch64.sve.dup.x.nxv2f64(double %ld) + ret %res +} + + declare @llvm.aarch64.sve.dupq.lane.nxv16i8(, i64) declare @llvm.aarch64.sve.dupq.lane.nxv8i16(, i64) declare @llvm.aarch64.sve.dupq.lane.nxv4i32(, i64) @@ -837,4 +1378,21 @@ declare @llvm.vector.insert.nxv16i8.v16i8(, <16 x i8>, i64) declare @llvm.vector.insert.nxv8bf16.v8bf16(, <8 x bfloat>, i64) +declare @llvm.aarch64.sve.dup.nxv16i8(, , i8) +declare @llvm.aarch64.sve.dup.nxv8i16(, , i16) +declare @llvm.aarch64.sve.dup.nxv4i32(, , i32) +declare @llvm.aarch64.sve.dup.nxv2i64(, , i64) +declare @llvm.aarch64.sve.dup.nxv8f16(, , half) +declare @llvm.aarch64.sve.dup.nxv4f32(, , float) +declare @llvm.aarch64.sve.dup.nxv2f64(, , double) + +declare @llvm.aarch64.sve.dup.x.nxv16i8(i8) +declare @llvm.aarch64.sve.dup.x.nxv8i16(i16) +declare @llvm.aarch64.sve.dup.x.nxv4i32(i32) +declare @llvm.aarch64.sve.dup.x.nxv2i64(i64) +declare @llvm.aarch64.sve.dup.x.nxv8f16(half) +declare @llvm.aarch64.sve.dup.x.nxv4f32(float) +declare @llvm.aarch64.sve.dup.x.nxv2f64(double) + + attributes #0 = { "target-features"="+sve,+bf16" } diff --git a/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s --- a/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s @@ -2566,21 +2566,21 @@ # CHECK-NEXT: 1 1 0.50 addvl x0, x0, #-32 # CHECK-NEXT: 1 1 0.50 addvl x21, x21, #0 # CHECK-NEXT: 1 1 0.50 addvl x23, x8, #-1 -# CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d, lsl #1] -# CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d, lsl #2] -# CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d, lsl #3] -# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw #1] -# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw #2] -# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw #3] +# CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d, lsl #1] +# CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d, lsl #2] +# CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d, lsl #3] +# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw #1] +# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw #2] +# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw #3] # CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, sxtw] -# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw #1] -# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw #2] -# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw #3] +# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw #1] +# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw #2] +# CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw #3] # CHECK-NEXT: 1 4 0.50 adr z0.d, [z0.d, z0.d, uxtw] # CHECK-NEXT: 2 5 2.00 adr z0.d, [z0.d, z0.d] -# CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s, lsl #1] -# CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s, lsl #2] -# CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s, lsl #3] +# CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s, lsl #1] +# CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s, lsl #2] +# CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s, lsl #3] # CHECK-NEXT: 2 5 2.00 adr z0.s, [z0.s, z0.s] # CHECK-NEXT: 1 3 1.00 and p0.b, p0/z, p0.b, p1.b # CHECK-NEXT: 1 4 1.00 and z0.d, z0.d, #0x6 @@ -3376,21 +3376,21 @@ # 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 { 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 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 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 * 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 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] @@ -3403,71 +3403,71 @@ # 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 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 * 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 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 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 * U ld1rb { z0.b }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z0.h }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z31.b }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z31.d }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z31.h }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rb { z31.s }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rd { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rd { z31.d }, p7/z, [sp, #504] -# CHECK-NEXT: 1 11 0.50 * U ld1rh { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rh { z0.h }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rh { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rh { z31.d }, p7/z, [sp, #126] -# CHECK-NEXT: 1 11 0.50 * U ld1rh { z31.h }, p7/z, [sp, #126] -# CHECK-NEXT: 1 11 0.50 * U ld1rh { z31.s }, p7/z, [sp, #126] +# 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 * ld1rb { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rb { z0.h }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rb { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rb { z31.b }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rb { z31.d }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rb { z31.h }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rb { z31.s }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rd { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rd { z31.d }, p7/z, [sp, #504] +# CHECK-NEXT: 1 11 0.50 * ld1rh { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rh { z0.h }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rh { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rh { z31.d }, p7/z, [sp, #126] +# CHECK-NEXT: 1 11 0.50 * ld1rh { z31.h }, p7/z, [sp, #126] +# CHECK-NEXT: 1 11 0.50 * ld1rh { z31.s }, p7/z, [sp, #126] # CHECK-NEXT: 1 11 0.50 * ld1rqb { z0.b }, p0/z, [x0, x0] # CHECK-NEXT: 1 11 0.50 * ld1rqb { z0.b }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ld1rqb { z21.b }, p5/z, [x10, #112] # CHECK-NEXT: 1 11 0.50 * ld1rqb { z23.b }, p3/z, [x13, #-128] # CHECK-NEXT: 1 11 0.50 * ld1rqb { z31.b }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 11 0.50 * ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: 1 11 0.50 * ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: 1 11 0.50 * ld1rqd { z0.d }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ld1rqd { z23.d }, p3/z, [x13, #-128] # CHECK-NEXT: 1 11 0.50 * ld1rqd { z23.d }, p3/z, [x13, #112] # CHECK-NEXT: 1 11 0.50 * ld1rqd { z31.d }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 11 0.50 * ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 0.50 * ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 1 11 0.50 * ld1rqh { z0.h }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ld1rqh { z23.h }, p3/z, [x13, #-128] # CHECK-NEXT: 1 11 0.50 * ld1rqh { z23.h }, p3/z, [x13, #112] # CHECK-NEXT: 1 11 0.50 * ld1rqh { z31.h }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 11 0.50 * ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 1 11 0.50 * ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: 1 11 0.50 * ld1rqw { z0.s }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ld1rqw { z23.s }, p3/z, [x13, #-128] # CHECK-NEXT: 1 11 0.50 * ld1rqw { z23.s }, p3/z, [x13, #112] # CHECK-NEXT: 1 11 0.50 * ld1rqw { z31.s }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 11 0.50 * U ld1rsb { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rsb { z0.h }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rsb { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rsb { z31.d }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rsb { z31.h }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rsb { z31.s }, p7/z, [sp, #63] -# CHECK-NEXT: 1 11 0.50 * U ld1rsh { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rsh { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rsh { z31.d }, p7/z, [sp, #126] -# CHECK-NEXT: 1 11 0.50 * U ld1rsh { z31.s }, p7/z, [sp, #126] -# CHECK-NEXT: 1 11 0.50 * U ld1rsw { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rsw { z31.d }, p7/z, [sp, #252] -# CHECK-NEXT: 1 11 0.50 * U ld1rw { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rw { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 11 0.50 * U ld1rw { z31.d }, p7/z, [sp, #252] -# CHECK-NEXT: 1 11 0.50 * U ld1rw { z31.s }, p7/z, [sp, #252] +# CHECK-NEXT: 1 11 0.50 * ld1rsb { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rsb { z0.h }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rsb { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rsb { z31.d }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rsb { z31.h }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rsb { z31.s }, p7/z, [sp, #63] +# CHECK-NEXT: 1 11 0.50 * ld1rsh { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rsh { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rsh { z31.d }, p7/z, [sp, #126] +# CHECK-NEXT: 1 11 0.50 * ld1rsh { z31.s }, p7/z, [sp, #126] +# CHECK-NEXT: 1 11 0.50 * ld1rsw { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 11 0.50 * ld1rsw { z31.d }, p7/z, [sp, #252] +# CHECK-NEXT: 1 11 0.50 * ld1rw { z0.d }, 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.h }, p0/z, [sp, x0] @@ -3489,8 +3489,8 @@ # 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 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] @@ -3500,33 +3500,33 @@ # 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 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1] +# 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, 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 * 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 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 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 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 * 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 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] @@ -3536,78 +3536,78 @@ # 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 11 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2] +# 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, 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 * 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 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: 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 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: 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: 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: 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 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: 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: 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: 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 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: 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: 5 12 2.50 * U 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] @@ -3624,34 +3624,34 @@ # CHECK-NEXT: 1 11 0.50 * U ldff1b { z31.h }, p7/z, [sp] # CHECK-NEXT: 1 11 0.50 * U ldff1b { z31.s }, p7/z, [sp] # CHECK-NEXT: 1 19 4.00 * U ldff1b { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: 1 11 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] -# CHECK-NEXT: 1 20 2.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] -# CHECK-NEXT: 1 20 2.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] +# CHECK-NEXT: 1 11 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: 1 20 2.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] +# CHECK-NEXT: 1 20 2.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] # CHECK-NEXT: 1 16 2.00 * U ldff1d { z0.d }, p0/z, [z0.d] # CHECK-NEXT: 1 20 2.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 1 20 2.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 1 20 2.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] +# CHECK-NEXT: 1 20 2.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] # CHECK-NEXT: 1 20 2.00 * U ldff1d { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 1 11 0.50 * U ldff1d { z31.d }, p7/z, [sp] # CHECK-NEXT: 1 16 2.00 * U ldff1d { z31.d }, p7/z, [z31.d, #248] -# CHECK-NEXT: 1 11 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: 1 20 2.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: 1 20 2.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: 1 11 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 20 2.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: 1 20 2.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: 1 16 2.00 * U ldff1h { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: 1 11 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: 1 11 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 1 23 4.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: 1 23 4.00 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: 1 19 4.00 * U ldff1h { z0.s }, p0/z, [z0.s] # CHECK-NEXT: 1 20 2.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 1 20 2.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 1 20 2.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: 1 20 2.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: 1 20 2.00 * U ldff1h { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 1 11 0.50 * U ldff1h { z31.d }, p7/z, [sp] # CHECK-NEXT: 1 16 2.00 * U ldff1h { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: 1 11 0.50 * U ldff1h { z31.h }, p7/z, [sp] -# CHECK-NEXT: 1 23 4.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: 1 23 4.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: 1 23 4.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: 1 23 4.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: 1 11 0.50 * U ldff1h { z31.s }, p7/z, [sp] # CHECK-NEXT: 1 19 4.00 * U ldff1h { z31.s }, p7/z, [z31.s, #62] # CHECK-NEXT: 1 11 0.50 * U ldff1sb { z0.d }, p0/z, [x0, x0] @@ -3669,50 +3669,50 @@ # CHECK-NEXT: 1 11 0.50 * U ldff1sb { z31.h }, p7/z, [sp] # CHECK-NEXT: 1 11 0.50 * U ldff1sb { z31.s }, p7/z, [sp] # CHECK-NEXT: 1 19 4.00 * U ldff1sb { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: 1 11 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: 1 20 2.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: 1 20 2.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: 1 11 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 20 2.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: 1 20 2.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: 1 16 2.00 * U ldff1sh { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: 1 11 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 1 23 4.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: 1 23 4.00 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: 1 19 4.00 * U ldff1sh { z0.s }, p0/z, [z0.s] # CHECK-NEXT: 1 20 2.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 1 20 2.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 1 20 2.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: 1 20 2.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: 1 20 2.00 * U ldff1sh { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 1 11 0.50 * U ldff1sh { z31.d }, p7/z, [sp] # CHECK-NEXT: 1 16 2.00 * U ldff1sh { z31.d }, p7/z, [z31.d, #62] -# CHECK-NEXT: 1 23 4.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: 1 23 4.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: 1 23 4.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: 1 23 4.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: 1 11 0.50 * U ldff1sh { z31.s }, p7/z, [sp] # CHECK-NEXT: 1 19 4.00 * U ldff1sh { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: 1 11 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: 1 20 2.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: 1 20 2.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: 1 11 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 1 20 2.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 1 20 2.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: 1 16 2.00 * U ldff1sw { z0.d }, p0/z, [z0.d] # CHECK-NEXT: 1 20 2.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 1 20 2.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 1 20 2.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: 1 20 2.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: 1 20 2.00 * U ldff1sw { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 1 11 0.50 * U ldff1sw { z31.d }, p7/z, [sp] # CHECK-NEXT: 1 16 2.00 * U ldff1sw { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: 1 11 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: 1 20 2.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: 1 20 2.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: 1 11 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 1 20 2.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 1 20 2.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: 1 16 2.00 * U ldff1w { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: 1 11 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 1 11 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: 1 23 4.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: 1 23 4.00 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: 1 19 4.00 * U ldff1w { z0.s }, p0/z, [z0.s] # CHECK-NEXT: 1 20 2.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 1 20 2.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 1 20 2.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: 1 20 2.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: 1 20 2.00 * U ldff1w { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 1 11 0.50 * U ldff1w { z31.d }, p7/z, [sp] # CHECK-NEXT: 1 16 2.00 * U ldff1w { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: 1 23 4.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] -# CHECK-NEXT: 1 23 4.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] +# CHECK-NEXT: 1 23 4.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] +# CHECK-NEXT: 1 23 4.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] # CHECK-NEXT: 1 11 0.50 * U ldff1w { z31.s }, p7/z, [sp] # CHECK-NEXT: 1 19 4.00 * U ldff1w { z31.s }, p7/z, [z31.s, #124] # CHECK-NEXT: 1 11 0.50 * U ldnf1b { z0.b }, p0/z, [x0] @@ -3767,15 +3767,15 @@ # CHECK-NEXT: 1 11 0.50 * ldnt1b { z0.b }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ldnt1b { z21.b }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: 1 11 0.50 * ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl] -# CHECK-NEXT: 1 11 0.50 * ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: 1 11 0.50 * ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: 1 11 0.50 * ldnt1d { z0.d }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ldnt1d { z21.d }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: 1 11 0.50 * ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl] -# CHECK-NEXT: 1 11 0.50 * ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 0.50 * ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 1 11 0.50 * ldnt1h { z0.h }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ldnt1h { z21.h }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: 1 11 0.50 * ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl] -# CHECK-NEXT: 1 11 0.50 * ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 1 11 0.50 * ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: 1 11 0.50 * ldnt1w { z0.s }, p0/z, [x0] # CHECK-NEXT: 1 11 0.50 * ldnt1w { z21.s }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: 1 11 0.50 * ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl] @@ -4079,11 +4079,11 @@ # CHECK-NEXT: 1 1 2.00 * * 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 1.00 * * U prfd pldl1keep, p0, [x0, z0.d, sxtw #3] -# CHECK-NEXT: 1 1 1.00 * * U prfd pldl1keep, p0, [x0, z0.d, uxtw #3] -# CHECK-NEXT: 1 1 2.00 * * U prfd pldl1keep, p0, [x0, z0.s, sxtw #3] -# CHECK-NEXT: 1 1 2.00 * * U prfd pldl1keep, p0, [x0, z0.s, uxtw #3] +# CHECK-NEXT: 1 1 1.00 * * U prfd pldl1keep, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: 1 1 1.00 * * U prfd pldl1keep, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: 1 1 1.00 * * U prfd pldl1keep, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: 1 1 2.00 * * U prfd pldl1keep, p0, [x0, z0.s, sxtw #3] +# CHECK-NEXT: 1 1 2.00 * * U prfd pldl1keep, p0, [x0, z0.s, uxtw #3] # CHECK-NEXT: 1 1 0.50 * * U prfd pldl1keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfd pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: 1 1 0.50 * * U prfd pldl1strm, p0, [x0, #31, mul vl] @@ -4106,7 +4106,7 @@ # CHECK-NEXT: 1 1 2.00 * * 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 1.00 * * U prfh pldl1keep, p0, [x0, z0.d, lsl #1] # CHECK-NEXT: 1 1 0.50 * * U prfh pldl1keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfh pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: 1 1 0.50 * * U prfh pldl1strm, p0, [x0, #31, mul vl] @@ -4115,10 +4115,10 @@ # CHECK-NEXT: 1 1 0.50 * * U prfh pldl2strm, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfh pldl3keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfh pldl3strm, p0, [x0] -# CHECK-NEXT: 1 1 1.00 * * U prfh pldl3strm, p5, [x10, z21.d, sxtw #1] -# CHECK-NEXT: 1 1 1.00 * * U prfh pldl3strm, p5, [x10, z21.d, uxtw #1] -# CHECK-NEXT: 1 1 2.00 * * U prfh pldl3strm, p5, [x10, z21.s, sxtw #1] -# CHECK-NEXT: 1 1 2.00 * * U prfh pldl3strm, p5, [x10, z21.s, uxtw #1] +# CHECK-NEXT: 1 1 1.00 * * U prfh pldl3strm, p5, [x10, z21.d, sxtw #1] +# CHECK-NEXT: 1 1 1.00 * * U prfh pldl3strm, p5, [x10, z21.d, uxtw #1] +# CHECK-NEXT: 1 1 2.00 * * U prfh pldl3strm, p5, [x10, z21.s, sxtw #1] +# CHECK-NEXT: 1 1 2.00 * * U prfh pldl3strm, p5, [x10, z21.s, uxtw #1] # CHECK-NEXT: 1 1 0.50 * * U prfh pstl1keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfh pstl1strm, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfh pstl2keep, p0, [x0] @@ -4133,9 +4133,9 @@ # CHECK-NEXT: 1 1 2.00 * * 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 1 1.00 * * U prfw pldl1keep, p0, [x0, z0.d, sxtw #2] -# CHECK-NEXT: 1 1 2.00 * * U prfw pldl1keep, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: 1 1 1.00 * * U prfw #7, p3, [x13, z8.d, uxtw #2] +# CHECK-NEXT: 1 1 1.00 * * U prfw pldl1keep, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 1 1 2.00 * * U prfw pldl1keep, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: 1 1 0.50 * * U prfw pldl1keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfw pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: 1 1 0.50 * * U prfw pldl1strm, p0, [x0, #31, mul vl] @@ -4144,8 +4144,8 @@ # CHECK-NEXT: 1 1 0.50 * * U prfw pldl2strm, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfw pldl3keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfw pldl3strm, p0, [x0] -# CHECK-NEXT: 1 1 1.00 * * U prfw pldl3strm, p5, [x10, z21.d, lsl #2] -# CHECK-NEXT: 1 1 2.00 * * U prfw pldl3strm, p5, [x10, z21.s, sxtw #2] +# CHECK-NEXT: 1 1 1.00 * * U prfw pldl3strm, p5, [x10, z21.d, lsl #2] +# CHECK-NEXT: 1 1 2.00 * * U prfw pldl3strm, p5, [x10, z21.s, sxtw #2] # CHECK-NEXT: 1 1 0.50 * * U prfw pstl1keep, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfw pstl1strm, p0, [x0] # CHECK-NEXT: 1 1 0.50 * * U prfw pstl2keep, p0, [x0] @@ -4500,11 +4500,11 @@ # CHECK-NEXT: 1 11 1.00 * st1b { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 1 11 1.00 * st1b { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 8 16 12.00 * st1b { z31.s }, p7, [z31.s, #31] -# CHECK-NEXT: 1 11 1.00 * st1d { z0.d }, p0, [x0, x0, lsl #3] -# CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, lsl #3] -# CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: 1 11 1.00 * st1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, sxtw #3] # CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, uxtw #3] # CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: 4 20 4.00 * st1d { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: 1 11 1.00 * st1d { z0.d }, p0, [x0] @@ -4512,21 +4512,21 @@ # CHECK-NEXT: 1 11 1.00 * st1d { z21.d }, p5, [x10, #5, mul vl] # CHECK-NEXT: 1 11 1.00 * st1d { z31.d }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 4 16 4.00 * st1d { z31.d }, p7, [z31.d, #248] -# CHECK-NEXT: 1 11 1.00 * st1h { z0.d }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, lsl #1] -# CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, sxtw #1] +# CHECK-NEXT: 1 11 1.00 * st1h { z0.d }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, lsl #1] +# CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, sxtw #1] # CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, uxtw #1] +# CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, uxtw #1] # CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: 4 20 4.00 * st1h { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: 1 11 1.00 * st1h { z0.d }, p0, [x0] # CHECK-NEXT: 4 16 4.00 * st1h { z0.d }, p7, [z0.d] -# CHECK-NEXT: 1 11 1.00 * st1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 1.00 * st1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: 1 11 1.00 * st1h { z0.h }, p0, [x0] -# CHECK-NEXT: 1 11 1.00 * st1h { z0.s }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: 8 20 8.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw #1] +# CHECK-NEXT: 1 11 1.00 * st1h { z0.s }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 8 20 8.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw #1] # CHECK-NEXT: 8 20 8.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: 8 20 8.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw #1] +# CHECK-NEXT: 8 20 8.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw #1] # CHECK-NEXT: 8 20 8.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: 1 11 1.00 * st1h { z0.s }, p0, [x0] # CHECK-NEXT: 8 16 12.00 * st1h { z0.s }, p7, [z0.s] @@ -4538,19 +4538,19 @@ # CHECK-NEXT: 1 11 1.00 * st1h { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 1 11 1.00 * st1h { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 8 16 12.00 * st1h { z31.s }, p7, [z31.s, #62] -# CHECK-NEXT: 1 11 1.00 * st1w { z0.d }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, lsl #2] -# CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 1 11 1.00 * st1w { z0.d }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, lsl #2] +# CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, sxtw #2] # CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, uxtw #2] +# CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, uxtw #2] # CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: 4 20 4.00 * st1w { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: 1 11 1.00 * st1w { z0.d }, p0, [x0] # CHECK-NEXT: 4 16 4.00 * st1w { z0.d }, p7, [z0.d] -# CHECK-NEXT: 1 11 1.00 * st1w { z0.s }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: 8 20 8.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw #2] +# CHECK-NEXT: 1 11 1.00 * st1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: 8 20 8.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw #2] # CHECK-NEXT: 8 20 8.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: 8 20 8.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: 8 20 8.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: 8 20 8.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: 1 11 1.00 * st1w { z0.s }, p0, [x0] # CHECK-NEXT: 8 16 12.00 * st1w { z0.s }, p7, [z0.s] @@ -4565,74 +4565,74 @@ # 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: 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: 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 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: 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: 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: 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 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: 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: 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: 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 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: 4 11 4.00 * U 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 * stnt1b { z23.b }, p3, [x13, #-8, mul vl] -# CHECK-NEXT: 1 11 1.00 * stnt1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: 1 11 1.00 * stnt1d { z0.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: 1 11 1.00 * stnt1d { z0.d }, p0, [x0] # CHECK-NEXT: 1 11 1.00 * stnt1d { z21.d }, p5, [x10, #7, mul vl] # CHECK-NEXT: 1 11 1.00 * stnt1d { z23.d }, p3, [x13, #-8, mul vl] -# CHECK-NEXT: 1 11 1.00 * stnt1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 1 11 1.00 * stnt1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: 1 11 1.00 * stnt1h { z0.h }, p0, [x0] # CHECK-NEXT: 1 11 1.00 * stnt1h { z21.h }, p5, [x10, #7, mul vl] # CHECK-NEXT: 1 11 1.00 * stnt1h { z23.h }, p3, [x13, #-8, mul vl] -# CHECK-NEXT: 1 11 1.00 * stnt1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: 1 11 1.00 * stnt1w { z0.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: 1 11 1.00 * stnt1w { z0.s }, p0, [x0] # CHECK-NEXT: 1 11 1.00 * stnt1w { z21.s }, p5, [x10, #7, mul vl] # CHECK-NEXT: 1 11 1.00 * stnt1w { z23.s }, p3, [x13, #-8, mul vl] @@ -5078,21 +5078,21 @@ # CHECK-NEXT: - - - 0.50 0.50 - - - addvl x0, x0, #-32 # CHECK-NEXT: - - - 0.50 0.50 - - - addvl x21, x21, #0 # CHECK-NEXT: - - - 0.50 0.50 - - - addvl x23, x8, #-1 -# CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d, lsl #1] -# CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d, lsl #2] -# CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d, lsl #3] -# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw #2] -# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw #3] +# CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d, lsl #1] +# CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d, lsl #2] +# CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw #3] # CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, sxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw #2] -# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw #3] # CHECK-NEXT: - - - - - 0.50 0.50 - adr z0.d, [z0.d, z0.d, uxtw] # CHECK-NEXT: - - - - - 2.00 - - adr z0.d, [z0.d, z0.d] -# CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s, lsl #1] -# CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s, lsl #2] -# CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s, lsl #3] +# CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s, lsl #1] +# CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s, lsl #2] +# CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s, lsl #3] # CHECK-NEXT: - - - - - 2.00 - - adr z0.s, [z0.s, z0.s] # CHECK-NEXT: - - - - - - - 1.00 and p0.b, p0/z, p0.b, p1.b # CHECK-NEXT: - - - - - 1.00 - - and z0.d, z0.d, #0x6 @@ -5888,21 +5888,21 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ld1b { z31.s }, p7/z, [z31.s, #31] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1b { z5.h }, p3/z, [x17, x16] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z0.d }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1d { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1d { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1d { z31.d }, p7/z, [z31.d, #248] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z0.d }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1h { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z0.h }, p0/z, [x0] @@ -5915,19 +5915,19 @@ # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z21.d }, p5/z, [x10, z21.d, uxtw] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1h { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1h { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ld1h { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rb { z0.b }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rb { z0.d }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rb { z0.h }, p0/z, [x0] @@ -5949,17 +5949,17 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqb { z21.b }, p5/z, [x10, #112] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqd { z0.d }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqd { z23.d }, p3/z, [x13, #112] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqh { z0.h }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqh { z23.h }, p3/z, [x13, #112] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqw { z0.s }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1rqw { z23.s }, p3/z, [x13, #112] @@ -6001,8 +6001,8 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ld1sb { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z0.d }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1sh { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw] @@ -6012,33 +6012,33 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sh { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1sh { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ld1sh { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z0.d }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1sw { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1sw { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1sw { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z0.d }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1w { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1w { z0.s }, p0/z, [x0, z0.s, sxtw] @@ -6048,78 +6048,78 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2] -# CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ld1w { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ld1w { z31.d }, p7/z, [z31.d, #124] # CHECK-NEXT: - 0.50 0.50 - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ld1w { z31.s }, p7/z, [z31.s, #124] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2b { z0.b, z1.b }, p0/z, [x0, x0] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2b { z0.b, z1.b }, p0/z, [x0] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2b { z5.b, z6.b }, p3/z, [x17, x16] -# CHECK-NEXT: - 1.50 1.50 - - - - - ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - 1.50 1.50 - - - - - ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - 1.00 1.00 - - - - - ld2d { z0.d, z1.d }, p0/z, [x0] # CHECK-NEXT: - 1.00 1.00 - - - - - ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - 1.00 1.00 - - - - - ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl] -# CHECK-NEXT: - 1.50 1.50 - - - - - ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3] -# CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 1.50 1.50 - - - - - ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3] +# CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z0.h, z1.h }, p0/z, [x0] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl] -# CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1] -# CHECK-NEXT: - 1.50 1.50 - - - - - ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 4.50 4.50 - - - - - ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - 1.50 1.50 - - - - - ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - 1.00 1.00 - - - - - ld2w { z0.s, z1.s }, p0/z, [x0] # CHECK-NEXT: - 1.00 1.00 - - - - - ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - 1.00 1.00 - - - - - ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl] -# CHECK-NEXT: - 1.50 1.50 - - - - - ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2] +# CHECK-NEXT: - 1.50 1.50 - - - - - ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3b { z0.b - z2.b }, p0/z, [x0, x0] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3b { z0.b - z2.b }, p0/z, [x0] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3b { z5.b - z7.b }, p3/z, [x17, x16] -# CHECK-NEXT: - 2.00 2.00 - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - 2.00 2.00 - - - - - ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - 1.50 1.50 - - - - - ld3d { z0.d - z2.d }, p0/z, [x0] # CHECK-NEXT: - 1.50 1.50 - - - - - ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - 1.50 1.50 - - - - - ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl] -# CHECK-NEXT: - 2.00 2.00 - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3] -# CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 2.00 2.00 - - - - - ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3] +# CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z0.h - z2.h }, p0/z, [x0] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl] -# CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1] -# CHECK-NEXT: - 2.00 2.00 - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 6.50 6.50 - - - - - ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - 2.00 2.00 - - - - - ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - 1.50 1.50 - - - - - ld3w { z0.s - z2.s }, p0/z, [x0] # CHECK-NEXT: - 1.50 1.50 - - - - - ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - 1.50 1.50 - - - - - ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl] -# CHECK-NEXT: - 2.00 2.00 - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2] +# CHECK-NEXT: - 2.00 2.00 - - - - - ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4b { z0.b - z3.b }, p0/z, [x0, x0] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4b { z0.b - z3.b }, p0/z, [x0] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4b { z5.b - z8.b }, p3/z, [x17, x16] -# CHECK-NEXT: - 2.50 2.50 - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - 2.50 2.50 - - - - - ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - 2.00 2.00 - - - - - ld4d { z0.d - z3.d }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - - - - ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - 2.00 2.00 - - - - - ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl] -# CHECK-NEXT: - 2.50 2.50 - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3] -# CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 2.50 2.50 - - - - - ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3] +# CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z0.h - z3.h }, p0/z, [x0] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl] -# CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1] -# CHECK-NEXT: - 2.50 2.50 - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 8.50 8.50 - - - - - ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - 2.50 2.50 - - - - - ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - 2.00 2.00 - - - - - ld4w { z0.s - z3.s }, p0/z, [x0] # CHECK-NEXT: - 2.00 2.00 - - - - - ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - 2.00 2.00 - - - - - ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl] -# CHECK-NEXT: - 2.50 2.50 - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2] +# CHECK-NEXT: - 2.50 2.50 - - - - - ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1b { z0.d }, p0/z, [x0, x0] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1b { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1b { z0.h }, p0/z, [x0, x0] @@ -6136,34 +6136,34 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1b { z31.h }, p7/z, [sp] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1b { z31.s }, p7/z, [sp] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1b { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1d { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1d { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1d { z31.d }, p7/z, [sp] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1d { z31.d }, p7/z, [z31.d, #248] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1h { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1h { z0.s }, p0/z, [z0.s] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1h { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z31.d }, p7/z, [sp] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1h { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z31.h }, p7/z, [sp] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1h { z31.s }, p7/z, [sp] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1h { z31.s }, p7/z, [z31.s, #62] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sb { z0.d }, p0/z, [x0, x0] @@ -6181,50 +6181,50 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sb { z31.h }, p7/z, [sp] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sb { z31.s }, p7/z, [sp] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1sb { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1sh { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1sh { z0.s }, p0/z, [z0.s] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sh { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sh { z31.d }, p7/z, [sp] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1sh { z31.d }, p7/z, [z31.d, #62] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sh { z31.s }, p7/z, [sp] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1sh { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1sw { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1sw { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1sw { z31.d }, p7/z, [sp] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1sw { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1w { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1w { z0.s }, p0/z, [z0.s] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - 2.00 2.00 1.00 - 1.00 - - ldff1w { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1w { z31.d }, p7/z, [sp] # CHECK-NEXT: - 2.00 2.00 - - 1.00 - - ldff1w { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] -# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] +# CHECK-NEXT: - 4.00 4.00 1.00 - 2.00 - - ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ldff1w { z31.s }, p7/z, [sp] # CHECK-NEXT: - 4.00 4.00 - - 2.00 - - ldff1w { z31.s }, p7/z, [z31.s, #124] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnf1b { z0.b }, p0/z, [x0] @@ -6279,15 +6279,15 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1b { z0.b }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1b { z21.b }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1d { z0.d }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1h { z0.h }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1w { z0.s }, p0/z, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl] @@ -6591,11 +6591,11 @@ # CHECK-NEXT: - 2.00 2.00 - - 2.00 - - prfd #15, p7, [z31.s] # CHECK-NEXT: - 0.50 0.50 - - - - - prfd #6, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfd #7, p0, [x0] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfd pldl1keep, p0, [x0, z0.d, lsl #3] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3] -# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3] -# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfd pldl1keep, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3] +# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3] # CHECK-NEXT: - 0.50 0.50 - - - - - prfd pldl1keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfd pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - prfd pldl1strm, p0, [x0, #31, mul vl] @@ -6618,7 +6618,7 @@ # CHECK-NEXT: - 2.00 2.00 - - 2.00 - - prfh #15, p7, [z31.s] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh #6, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh #7, p0, [x0] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfh pldl1keep, p0, [x0, z0.d, lsl #1] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfh pldl1keep, p0, [x0, z0.d, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pldl1keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pldl1strm, p0, [x0, #31, mul vl] @@ -6627,10 +6627,10 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pldl2strm, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pldl3keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pldl3strm, p0, [x0] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1] -# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1] +# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pstl1keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pstl1strm, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfh pstl2keep, p0, [x0] @@ -6645,9 +6645,9 @@ # CHECK-NEXT: - 2.00 2.00 - - 2.00 - - prfw #15, p7, [z31.s] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw #6, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw #7, p0, [x0] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfw #7, p3, [x13, z8.d, uxtw #2] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfw #7, p3, [x13, z8.d, uxtw #2] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pldl1keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pldl1strm, p0, [x0, #31, mul vl] @@ -6656,8 +6656,8 @@ # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pldl2strm, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pldl3keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pldl3strm, p0, [x0] -# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfw pldl3strm, p5, [x10, z21.d, lsl #2] -# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2] +# CHECK-NEXT: - 1.00 1.00 1.00 - 1.00 - - prfw pldl3strm, p5, [x10, z21.d, lsl #2] +# CHECK-NEXT: - 2.00 2.00 1.00 - 2.00 - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pstl1keep, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pstl1strm, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - - - - prfw pstl2keep, p0, [x0] @@ -7012,11 +7012,11 @@ # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1b { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1b { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - 8.00 8.00 - - 12.00 - - st1b { z31.s }, p7, [z31.s, #31] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1d { z0.d }, p0, [x0, x0, lsl #3] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, lsl #3] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, sxtw #3] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, uxtw #3] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1d { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1d { z0.d }, p0, [x0] @@ -7024,21 +7024,21 @@ # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1d { z21.d }, p5, [x10, #5, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1d { z31.d }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - 4.00 4.00 - - 4.00 - - st1d { z31.d }, p7, [z31.d, #248] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.d }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, lsl #1] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.d }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, lsl #1] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, sxtw #1] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, uxtw #1] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1h { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.d }, p0, [x0] # CHECK-NEXT: - 4.00 4.00 - - 4.00 - - st1h { z0.d }, p7, [z0.d] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.h }, p0, [x0] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.s }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1h { z0.s }, p0, [x0, z0.s, sxtw #1] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.s }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1h { z0.s }, p0, [x0, z0.s, sxtw #1] # CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1h { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1h { z0.s }, p0, [x0, z0.s, uxtw #1] +# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1h { z0.s }, p0, [x0, z0.s, uxtw #1] # CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1h { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z0.s }, p0, [x0] # CHECK-NEXT: - 8.00 8.00 - - 12.00 - - st1h { z0.s }, p7, [z0.s] @@ -7050,19 +7050,19 @@ # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1h { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - 8.00 8.00 - - 12.00 - - st1h { z31.s }, p7, [z31.s, #62] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1w { z0.d }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, lsl #2] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1w { z0.d }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, lsl #2] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, sxtw #2] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, uxtw #2] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: - 4.00 4.00 4.00 - 4.00 - - st1w { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1w { z0.d }, p0, [x0] # CHECK-NEXT: - 4.00 4.00 - - 4.00 - - st1w { z0.d }, p7, [z0.d] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1w { z0.s }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1w { z0.s }, p0, [x0, z0.s, sxtw #2] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1w { z0.s }, p0, [x0, z0.s, sxtw #2] # CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1w { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1w { z0.s }, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1w { z0.s }, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: - 8.00 8.00 8.00 - 8.00 - - st1w { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - st1w { z0.s }, p0, [x0] # CHECK-NEXT: - 8.00 8.00 - - 12.00 - - st1w { z0.s }, p7, [z0.s] @@ -7077,74 +7077,74 @@ # CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2b { z21.b, z22.b }, p5, [x10, #10, mul vl] # CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl] # CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2b { z5.b, z6.b }, p3, [x17, x16] -# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - 1.50 1.50 - - 2.00 - - st2d { z0.d, z1.d }, p0, [x0] # CHECK-NEXT: - 1.50 1.50 - - 2.00 - - st2d { z21.d, z22.d }, p5, [x10, #10, mul vl] # CHECK-NEXT: - 1.50 1.50 - - 2.00 - - st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl] -# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3] -# CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3] +# CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z0.h, z1.h }, p0, [x0] # CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z21.h, z22.h }, p5, [x10, #10, mul vl] # CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl] -# CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1] -# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - 4.50 4.50 - - 8.00 - - st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1] +# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - 1.50 1.50 - - 2.00 - - st2w { z0.s, z1.s }, p0, [x0] # CHECK-NEXT: - 1.50 1.50 - - 2.00 - - st2w { z21.s, z22.s }, p5, [x10, #10, mul vl] # CHECK-NEXT: - 1.50 1.50 - - 2.00 - - st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl] -# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2] +# CHECK-NEXT: - 1.00 1.00 - - 2.00 - - st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3b { z0.b - z2.b }, p0, [x0, x0] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3b { z0.b - z2.b }, p0, [x0] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3b { z21.b - z23.b }, p5, [x10, #15, mul vl] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3b { z5.b - z7.b }, p3, [x17, x16] -# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - 2.00 2.00 - - 3.00 - - st3d { z0.d - z2.d }, p0, [x0] # CHECK-NEXT: - 2.00 2.00 - - 3.00 - - st3d { z21.d - z23.d }, p5, [x10, #15, mul vl] # CHECK-NEXT: - 2.00 2.00 - - 3.00 - - st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl] -# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3] -# CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3] +# CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z0.h - z2.h }, p0, [x0] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z21.h - z23.h }, p5, [x10, #15, mul vl] # CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl] -# CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1] -# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - 6.50 6.50 - - 12.00 - - st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1] +# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - 2.00 2.00 - - 3.00 - - st3w { z0.s - z2.s }, p0, [x0] # CHECK-NEXT: - 2.00 2.00 - - 3.00 - - st3w { z21.s - z23.s }, p5, [x10, #15, mul vl] # CHECK-NEXT: - 2.00 2.00 - - 3.00 - - st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl] -# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2] +# CHECK-NEXT: - 1.50 1.50 - - 3.00 - - st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4b { z0.b - z3.b }, p0, [x0, x0] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4b { z0.b - z3.b }, p0, [x0] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4b { z21.b - z24.b }, p5, [x10, #20, mul vl] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4b { z5.b - z8.b }, p3, [x17, x16] -# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - 2.50 2.50 - - 4.00 - - st4d { z0.d - z3.d }, p0, [x0] # CHECK-NEXT: - 2.50 2.50 - - 4.00 - - st4d { z21.d - z24.d }, p5, [x10, #20, mul vl] # CHECK-NEXT: - 2.50 2.50 - - 4.00 - - st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl] -# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3] -# CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3] +# CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z0.h - z3.h }, p0, [x0] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z21.h - z24.h }, p5, [x10, #20, mul vl] # CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl] -# CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1] -# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - 8.50 8.50 - - 16.00 - - st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1] +# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - 2.50 2.50 - - 4.00 - - st4w { z0.s - z3.s }, p0, [x0] # CHECK-NEXT: - 2.50 2.50 - - 4.00 - - st4w { z21.s - z24.s }, p5, [x10, #20, mul vl] # CHECK-NEXT: - 2.50 2.50 - - 4.00 - - st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl] -# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2] +# CHECK-NEXT: - 2.00 2.00 - - 4.00 - - st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1b { z0.b }, p0, [x0, x0] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1b { z0.b }, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1b { z21.b }, p5, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1b { z23.b }, p3, [x13, #-8, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1d { z0.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1d { z0.d }, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1d { z21.d }, p5, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1d { z23.d }, p3, [x13, #-8, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1h { z0.h }, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1h { z21.h }, p5, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1h { z23.h }, p3, [x13, #-8, mul vl] -# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1w { z0.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1w { z0.s }, p0, [x0] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1w { z21.s }, p5, [x10, #7, mul vl] # CHECK-NEXT: - 0.50 0.50 - - 1.00 - - stnt1w { z23.s }, p3, [x13, #-8, mul vl] diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-sve-instructions.s @@ -3494,21 +3494,21 @@ # 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 addvl x23, x8, #-1 -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, lsl #1] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, lsl #2] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, lsl #3] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw #1] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw #2] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw #3] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, lsl #1] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, lsl #2] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, lsl #3] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw #1] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw #2] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw #3] # CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, sxtw] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw #1] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw #2] -# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw #3] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw #1] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw #2] +# CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw #3] # CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d, uxtw] # CHECK-NEXT: 1 2 0.50 adr z0.d, [z0.d, z0.d] -# CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s, lsl #1] -# CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s, lsl #2] -# CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s, lsl #3] +# CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s, lsl #1] +# CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s, lsl #2] +# CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s, lsl #3] # CHECK-NEXT: 1 2 0.50 adr z0.s, [z0.s, z0.s] # CHECK-NEXT: 1 2 0.50 aesd z0.b, z0.b, z31.b # CHECK-NEXT: 1 2 0.50 aese z0.b, z0.b, z31.b @@ -4432,21 +4432,21 @@ # 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.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: 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: 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.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: 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] @@ -4459,71 +4459,71 @@ # 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: 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.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: 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: 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 * U ld1rb { z0.b }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z0.h }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z31.b }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z31.d }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z31.h }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rb { z31.s }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rd { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rd { z31.d }, p7/z, [sp, #504] -# CHECK-NEXT: 1 6 0.33 * U ld1rh { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rh { z0.h }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rh { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rh { z31.d }, p7/z, [sp, #126] -# CHECK-NEXT: 1 6 0.33 * U ld1rh { z31.h }, p7/z, [sp, #126] -# CHECK-NEXT: 1 6 0.33 * U ld1rh { z31.s }, p7/z, [sp, #126] +# 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 * ld1rb { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rb { z0.h }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rb { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rb { z31.b }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rb { z31.d }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rb { z31.h }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rb { z31.s }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rd { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rd { z31.d }, p7/z, [sp, #504] +# CHECK-NEXT: 1 6 0.33 * ld1rh { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rh { z0.h }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rh { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rh { z31.d }, p7/z, [sp, #126] +# CHECK-NEXT: 1 6 0.33 * ld1rh { z31.h }, p7/z, [sp, #126] +# CHECK-NEXT: 1 6 0.33 * ld1rh { z31.s }, p7/z, [sp, #126] # CHECK-NEXT: 1 6 0.33 * ld1rqb { z0.b }, p0/z, [x0, x0] # CHECK-NEXT: 1 6 0.33 * ld1rqb { z0.b }, p0/z, [x0] # CHECK-NEXT: 1 6 0.33 * ld1rqb { z21.b }, p5/z, [x10, #112] # CHECK-NEXT: 1 6 0.33 * ld1rqb { z23.b }, p3/z, [x13, #-128] # CHECK-NEXT: 1 6 0.33 * ld1rqb { z31.b }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 6 0.33 * ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: 1 6 0.33 * ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: 1 6 0.33 * ld1rqd { z0.d }, p0/z, [x0] # CHECK-NEXT: 1 6 0.33 * ld1rqd { z23.d }, p3/z, [x13, #-128] # CHECK-NEXT: 1 6 0.33 * ld1rqd { z23.d }, p3/z, [x13, #112] # CHECK-NEXT: 1 6 0.33 * ld1rqd { z31.d }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 6 0.33 * ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 1 6 0.33 * ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 1 6 0.33 * ld1rqh { z0.h }, p0/z, [x0] # CHECK-NEXT: 1 6 0.33 * ld1rqh { z23.h }, p3/z, [x13, #-128] # CHECK-NEXT: 1 6 0.33 * ld1rqh { z23.h }, p3/z, [x13, #112] # CHECK-NEXT: 1 6 0.33 * ld1rqh { z31.h }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 6 0.33 * ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 1 6 0.33 * ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: 1 6 0.33 * ld1rqw { z0.s }, p0/z, [x0] # CHECK-NEXT: 1 6 0.33 * ld1rqw { z23.s }, p3/z, [x13, #-128] # CHECK-NEXT: 1 6 0.33 * ld1rqw { z23.s }, p3/z, [x13, #112] # CHECK-NEXT: 1 6 0.33 * ld1rqw { z31.s }, p7/z, [sp, #-16] -# CHECK-NEXT: 1 6 0.33 * U ld1rsb { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rsb { z0.h }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rsb { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rsb { z31.d }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rsb { z31.h }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rsb { z31.s }, p7/z, [sp, #63] -# CHECK-NEXT: 1 6 0.33 * U ld1rsh { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rsh { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rsh { z31.d }, p7/z, [sp, #126] -# CHECK-NEXT: 1 6 0.33 * U ld1rsh { z31.s }, p7/z, [sp, #126] -# CHECK-NEXT: 1 6 0.33 * U ld1rsw { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rsw { z31.d }, p7/z, [sp, #252] -# CHECK-NEXT: 1 6 0.33 * U ld1rw { z0.d }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rw { z0.s }, p0/z, [x0] -# CHECK-NEXT: 1 6 0.33 * U ld1rw { z31.d }, p7/z, [sp, #252] -# CHECK-NEXT: 1 6 0.33 * U ld1rw { z31.s }, p7/z, [sp, #252] +# CHECK-NEXT: 1 6 0.33 * ld1rsb { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rsb { z0.h }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rsb { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rsb { z31.d }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rsb { z31.h }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rsb { z31.s }, p7/z, [sp, #63] +# CHECK-NEXT: 1 6 0.33 * ld1rsh { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rsh { z0.s }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rsh { z31.d }, p7/z, [sp, #126] +# CHECK-NEXT: 1 6 0.33 * ld1rsh { z31.s }, p7/z, [sp, #126] +# CHECK-NEXT: 1 6 0.33 * ld1rsw { z0.d }, p0/z, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1rsw { z31.d }, p7/z, [sp, #252] +# CHECK-NEXT: 1 6 0.33 * ld1rw { z0.d }, 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.50 * ld1sb { z0.h }, p0/z, [sp, x0] @@ -4545,8 +4545,8 @@ # 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: 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] @@ -4556,33 +4556,33 @@ # 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.50 * ld1sh { z21.s }, p5/z, [sp, x21, lsl #1] +# 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.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.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: 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: 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: 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.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: 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] @@ -4592,78 +4592,78 @@ # 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: 1 6 0.50 * ld1w { z21.s }, p5/z, [sp, x21, lsl #2] +# 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.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.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: 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 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 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 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: 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: 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: 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: 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: 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: 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: 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: 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: 6 10 1.00 * U 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] @@ -4680,34 +4680,34 @@ # CHECK-NEXT: 2 6 0.50 * U ldff1b { z31.h }, p7/z, [sp] # CHECK-NEXT: 2 6 0.50 * U ldff1b { z31.s }, p7/z, [sp] # CHECK-NEXT: 2 9 0.50 * U ldff1b { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: 2 6 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] -# CHECK-NEXT: 4 9 1.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] -# CHECK-NEXT: 4 9 1.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] +# CHECK-NEXT: 2 6 0.50 * U ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: 4 9 1.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] +# CHECK-NEXT: 4 9 1.00 * U ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] # CHECK-NEXT: 4 9 1.00 * U ldff1d { z0.d }, p0/z, [z0.d] # CHECK-NEXT: 4 9 1.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 4 9 1.00 * U ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 4 9 1.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] +# CHECK-NEXT: 4 9 1.00 * U ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] # CHECK-NEXT: 4 9 1.00 * U ldff1d { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 2 6 0.50 * U ldff1d { z31.d }, p7/z, [sp] # CHECK-NEXT: 4 9 1.00 * U ldff1d { z31.d }, p7/z, [z31.d, #248] -# CHECK-NEXT: 2 6 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: 4 9 1.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: 4 9 1.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: 2 6 0.50 * U ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 4 9 1.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: 4 9 1.00 * U ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: 4 9 1.00 * U ldff1h { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: 2 6 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: 2 6 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 2 6 0.50 * U ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 2 6 0.50 * U ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 2 9 0.50 * U ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: 2 9 0.50 * U ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: 2 9 0.50 * U ldff1h { z0.s }, p0/z, [z0.s] # CHECK-NEXT: 4 9 1.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 4 9 1.00 * U ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 4 9 1.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: 4 9 1.00 * U ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: 4 9 1.00 * U ldff1h { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 2 6 0.50 * U ldff1h { z31.d }, p7/z, [sp] # CHECK-NEXT: 4 9 1.00 * U ldff1h { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: 2 6 0.50 * U ldff1h { z31.h }, p7/z, [sp] -# CHECK-NEXT: 4 10 1.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: 4 10 1.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: 4 10 1.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: 4 10 1.00 * U ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: 2 6 0.50 * U ldff1h { z31.s }, p7/z, [sp] # CHECK-NEXT: 2 9 0.50 * U ldff1h { z31.s }, p7/z, [z31.s, #62] # CHECK-NEXT: 2 6 0.50 * U ldff1sb { z0.d }, p0/z, [x0, x0] @@ -4725,50 +4725,50 @@ # CHECK-NEXT: 2 6 0.50 * U ldff1sb { z31.h }, p7/z, [sp] # CHECK-NEXT: 2 6 0.50 * U ldff1sb { z31.s }, p7/z, [sp] # CHECK-NEXT: 2 9 0.50 * U ldff1sb { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: 2 6 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: 4 9 1.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: 4 9 1.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: 2 6 0.50 * U ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 4 9 1.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: 4 9 1.00 * U ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: 4 9 1.00 * U ldff1sh { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: 2 6 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 2 6 0.50 * U ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 2 9 0.50 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: 2 9 0.50 * U ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: 2 9 0.50 * U ldff1sh { z0.s }, p0/z, [z0.s] # CHECK-NEXT: 4 9 1.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 4 9 1.00 * U ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 4 9 1.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: 4 9 1.00 * U ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: 4 9 1.00 * U ldff1sh { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 2 6 0.50 * U ldff1sh { z31.d }, p7/z, [sp] # CHECK-NEXT: 4 9 1.00 * U ldff1sh { z31.d }, p7/z, [z31.d, #62] -# CHECK-NEXT: 4 10 1.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: 4 10 1.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: 4 10 1.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: 4 10 1.00 * U ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: 2 6 0.50 * U ldff1sh { z31.s }, p7/z, [sp] # CHECK-NEXT: 2 9 0.50 * U ldff1sh { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: 2 6 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: 4 9 1.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: 4 9 1.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: 2 6 0.50 * U ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 4 9 1.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 4 9 1.00 * U ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: 4 9 1.00 * U ldff1sw { z0.d }, p0/z, [z0.d] # CHECK-NEXT: 4 9 1.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 4 9 1.00 * U ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 4 9 1.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: 4 9 1.00 * U ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: 4 9 1.00 * U ldff1sw { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 2 6 0.50 * U ldff1sw { z31.d }, p7/z, [sp] # CHECK-NEXT: 4 9 1.00 * U ldff1sw { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: 2 6 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: 4 9 1.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: 4 9 1.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: 2 6 0.50 * U ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 4 9 1.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 4 9 1.00 * U ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: 4 9 1.00 * U ldff1w { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: 2 6 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 2 6 0.50 * U ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: 2 9 0.50 * U ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: 2 9 0.50 * U ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: 2 9 0.50 * U ldff1w { z0.s }, p0/z, [z0.s] # CHECK-NEXT: 4 9 1.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: 4 9 1.00 * U ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: 4 9 1.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: 4 9 1.00 * U ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: 4 9 1.00 * U ldff1w { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: 2 6 0.50 * U ldff1w { z31.d }, p7/z, [sp] # CHECK-NEXT: 4 9 1.00 * U ldff1w { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: 4 10 1.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] -# CHECK-NEXT: 4 10 1.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] +# CHECK-NEXT: 4 10 1.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] +# CHECK-NEXT: 4 10 1.00 * U ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] # CHECK-NEXT: 2 6 0.50 * U ldff1w { z31.s }, p7/z, [sp] # CHECK-NEXT: 2 9 0.50 * U ldff1w { z31.s }, p7/z, [z31.s, #124] # CHECK-NEXT: 1 6 0.33 * U ldnf1b { z0.b }, p0/z, [x0] @@ -4829,7 +4829,7 @@ # CHECK-NEXT: 4 10 2.00 * ldnt1b { z31.d }, p7/z, [z31.d] # CHECK-NEXT: 2 9 0.50 * ldnt1b { z31.s }, p7/z, [z31.s, x0] # CHECK-NEXT: 2 9 0.50 * ldnt1b { z31.s }, p7/z, [z31.s] -# CHECK-NEXT: 2 6 0.50 * ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: 2 6 0.50 * ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: 1 6 0.33 * ldnt1d { z0.d }, p0/z, [x0] # CHECK-NEXT: 4 10 2.00 * ldnt1d { z0.d }, p0/z, [z1.d] # CHECK-NEXT: 1 6 0.33 * ldnt1d { z21.d }, p5/z, [x10, #7, mul vl] @@ -4837,7 +4837,7 @@ # CHECK-NEXT: 4 10 2.00 * ldnt1d { z31.d }, p7/z, [z31.d, x0] # CHECK-NEXT: 4 10 2.00 * ldnt1d { z31.d }, p7/z, [z31.d] # CHECK-NEXT: 4 10 2.00 * ldnt1h { z0.d }, p0/z, [z1.d] -# CHECK-NEXT: 2 6 0.50 * ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: 2 6 0.50 * ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: 1 6 0.33 * ldnt1h { z0.h }, p0/z, [x0] # CHECK-NEXT: 2 9 0.50 * ldnt1h { z0.s }, p0/z, [z1.s] # CHECK-NEXT: 1 6 0.33 * ldnt1h { z21.h }, p5/z, [x10, #7, mul vl] @@ -4862,7 +4862,7 @@ # CHECK-NEXT: 4 10 2.00 * ldnt1sw { z31.d }, p7/z, [z31.d, x0] # CHECK-NEXT: 4 10 2.00 * ldnt1sw { z31.d }, p7/z, [z31.d] # CHECK-NEXT: 4 10 2.00 * ldnt1w { z0.d }, p0/z, [z1.d] -# CHECK-NEXT: 2 6 0.50 * ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: 2 6 0.50 * ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: 1 6 0.33 * ldnt1w { z0.s }, p0/z, [x0] # CHECK-NEXT: 2 9 0.50 * ldnt1w { z0.s }, p0/z, [z1.s] # CHECK-NEXT: 1 6 0.33 * ldnt1w { z21.s }, p5/z, [x10, #7, mul vl] @@ -5201,11 +5201,11 @@ # CHECK-NEXT: 1 4 0.33 * * 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 prfd pldl1keep, p0, [x0, z0.d, sxtw #3] -# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.d, uxtw #3] -# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.s, sxtw #3] -# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.s, uxtw #3] +# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.s, sxtw #3] +# CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0, z0.s, uxtw #3] # CHECK-NEXT: 1 4 0.33 * * U prfd pldl1keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfd pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: 1 4 0.33 * * U prfd pldl1strm, p0, [x0, #31, mul vl] @@ -5228,7 +5228,7 @@ # CHECK-NEXT: 1 4 0.33 * * 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 prfh pldl1keep, p0, [x0, z0.d, lsl #1] # CHECK-NEXT: 1 4 0.33 * * U prfh pldl1keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfh pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: 1 4 0.33 * * U prfh pldl1strm, p0, [x0, #31, mul vl] @@ -5237,10 +5237,10 @@ # CHECK-NEXT: 1 4 0.33 * * U prfh pldl2strm, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfh pldl3keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p0, [x0] -# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.d, sxtw #1] -# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.d, uxtw #1] -# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.s, sxtw #1] -# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.s, uxtw #1] +# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.d, sxtw #1] +# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.d, uxtw #1] +# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.s, sxtw #1] +# CHECK-NEXT: 1 4 0.33 * * U prfh pldl3strm, p5, [x10, z21.s, uxtw #1] # CHECK-NEXT: 1 4 0.33 * * U prfh pstl1keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfh pstl1strm, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfh pstl2keep, p0, [x0] @@ -5255,9 +5255,9 @@ # CHECK-NEXT: 1 4 0.33 * * 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 4 0.33 * * U prfw pldl1keep, p0, [x0, z0.d, sxtw #2] -# CHECK-NEXT: 1 4 0.33 * * U prfw pldl1keep, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: 1 4 0.33 * * U prfw #7, p3, [x13, z8.d, uxtw #2] +# CHECK-NEXT: 1 4 0.33 * * U prfw pldl1keep, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 1 4 0.33 * * U prfw pldl1keep, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: 1 4 0.33 * * U prfw pldl1keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfw pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: 1 4 0.33 * * U prfw pldl1strm, p0, [x0, #31, mul vl] @@ -5266,8 +5266,8 @@ # CHECK-NEXT: 1 4 0.33 * * U prfw pldl2strm, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfw pldl3keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfw pldl3strm, p0, [x0] -# CHECK-NEXT: 1 4 0.33 * * U prfw pldl3strm, p5, [x10, z21.d, lsl #2] -# CHECK-NEXT: 1 4 0.33 * * U prfw pldl3strm, p5, [x10, z21.s, sxtw #2] +# CHECK-NEXT: 1 4 0.33 * * U prfw pldl3strm, p5, [x10, z21.d, lsl #2] +# CHECK-NEXT: 1 4 0.33 * * U prfw pldl3strm, p5, [x10, z21.s, sxtw #2] # CHECK-NEXT: 1 4 0.33 * * U prfw pstl1keep, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfw pstl1strm, p0, [x0] # CHECK-NEXT: 1 4 0.33 * * U prfw pstl2keep, p0, [x0] @@ -6044,11 +6044,11 @@ # CHECK-NEXT: 2 2 0.50 * st1b { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 2 2 0.50 * st1b { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 4 4 1.00 * st1b { z31.s }, p7, [z31.s, #31] -# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, x0, lsl #3] -# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, lsl #3] -# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, sxtw #3] # CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, uxtw #3] # CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: 2 2 0.50 * st1d { z0.d }, p0, [x0] @@ -6056,21 +6056,21 @@ # CHECK-NEXT: 2 2 0.50 * st1d { z21.d }, p5, [x10, #5, mul vl] # CHECK-NEXT: 2 2 0.50 * st1d { z31.d }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 2 2 0.50 * st1d { z31.d }, p7, [z31.d, #248] -# CHECK-NEXT: 3 2 0.50 * st1h { z0.d }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, lsl #1] -# CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, sxtw #1] +# CHECK-NEXT: 3 2 0.50 * st1h { z0.d }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, lsl #1] +# CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, sxtw #1] # CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, uxtw #1] +# CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, uxtw #1] # CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p0, [x0] # CHECK-NEXT: 2 2 0.50 * st1h { z0.d }, p7, [z0.d] -# CHECK-NEXT: 3 2 0.50 * st1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 3 2 0.50 * st1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: 2 2 0.50 * st1h { z0.h }, p0, [x0] -# CHECK-NEXT: 3 2 0.50 * st1h { z0.s }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw #1] +# CHECK-NEXT: 3 2 0.50 * st1h { z0.s }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw #1] # CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw #1] +# CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw #1] # CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: 2 2 0.50 * st1h { z0.s }, p0, [x0] # CHECK-NEXT: 4 4 1.00 * st1h { z0.s }, p7, [z0.s] @@ -6082,19 +6082,19 @@ # CHECK-NEXT: 2 2 0.50 * st1h { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 2 2 0.50 * st1h { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: 4 4 1.00 * st1h { z31.s }, p7, [z31.s, #62] -# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, lsl #2] -# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, lsl #2] +# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, sxtw #2] # CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, uxtw #2] +# CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, uxtw #2] # CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p0, [x0] # CHECK-NEXT: 2 2 0.50 * st1w { z0.d }, p7, [z0.d] -# CHECK-NEXT: 2 2 0.50 * st1w { z0.s }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw #2] +# CHECK-NEXT: 2 2 0.50 * st1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw #2] # CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: 2 2 0.50 * st1w { z0.s }, p0, [x0] # CHECK-NEXT: 4 4 1.00 * st1w { z0.s }, p7, [z0.s] @@ -6109,61 +6109,61 @@ # 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, 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 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 27 11 4.50 * U 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] @@ -6174,7 +6174,7 @@ # CHECK-NEXT: 2 2 0.50 * stnt1b { z31.d }, p7, [z31.d] # CHECK-NEXT: 4 4 1.00 * stnt1b { z31.s }, p7, [z31.s, x0] # CHECK-NEXT: 4 4 1.00 * stnt1b { z31.s }, p7, [z31.s] -# CHECK-NEXT: 2 2 0.50 * stnt1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: 2 2 0.50 * stnt1d { z0.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: 2 2 0.50 * stnt1d { z0.d }, p0, [x0] # CHECK-NEXT: 2 2 0.50 * stnt1d { z0.d }, p0, [z1.d] # CHECK-NEXT: 2 2 0.50 * stnt1d { z21.d }, p5, [x10, #7, mul vl] @@ -6182,7 +6182,7 @@ # CHECK-NEXT: 2 2 0.50 * stnt1d { z31.d }, p7, [z31.d, x0] # CHECK-NEXT: 2 2 0.50 * stnt1d { z31.d }, p7, [z31.d] # CHECK-NEXT: 2 2 0.50 * stnt1h { z0.d }, p0, [z1.d] -# CHECK-NEXT: 3 2 0.50 * stnt1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: 3 2 0.50 * stnt1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: 2 2 0.50 * stnt1h { z0.h }, p0, [x0] # CHECK-NEXT: 4 4 1.00 * stnt1h { z0.s }, p0, [z1.s] # CHECK-NEXT: 2 2 0.50 * stnt1h { z21.h }, p5, [x10, #7, mul vl] @@ -6192,7 +6192,7 @@ # CHECK-NEXT: 4 4 1.00 * stnt1h { z31.s }, p7, [z31.s, x0] # CHECK-NEXT: 4 4 1.00 * stnt1h { z31.s }, p7, [z31.s] # CHECK-NEXT: 2 2 0.50 * stnt1w { z0.d }, p0, [z1.d] -# CHECK-NEXT: 2 2 0.50 * stnt1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: 2 2 0.50 * stnt1w { z0.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: 2 2 0.50 * stnt1w { z0.s }, p0, [x0] # CHECK-NEXT: 4 4 1.00 * stnt1w { z0.s }, p0, [z1.s] # CHECK-NEXT: 2 2 0.50 * stnt1w { z21.s }, p5, [x10, #7, mul vl] @@ -6925,21 +6925,21 @@ # CHECK-NEXT: - - - - - - - 0.50 0.50 - - - - addvl x0, x0, #-32 # CHECK-NEXT: - - - - - - - 0.50 0.50 - - - - addvl x21, x21, #0 # CHECK-NEXT: - - - - - - - 0.50 0.50 - - - - addvl x23, x8, #-1 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, lsl #1] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, lsl #2] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, lsl #3] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw #1] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw #2] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw #3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, lsl #1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, lsl #2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, lsl #3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw #1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw #2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw #3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, sxtw] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw #1] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw #2] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw #3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw #1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw #2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw #3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d, uxtw] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.d, [z0.d, z0.d] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s, lsl #1] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s, lsl #2] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s, lsl #3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s, lsl #1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s, lsl #2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s, lsl #3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 adr z0.s, [z0.s, z0.s] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesd z0.b, z0.b, z31.b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aese z0.b, z0.b, z31.b @@ -7863,21 +7863,21 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1b { z31.s }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1b { z31.s }, p7/z, [z31.s, #31] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1b { z5.h }, p3/z, [x17, x16] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1d { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1d { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1d { z23.d }, p3/z, [sp, x8, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1d { z23.d }, p3/z, [x13, x8, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z23.d }, p3/z, [x13, z8.d, lsl #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1d { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1d { z31.d }, p7/z, [z31.d, #248] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z0.h }, p0/z, [x0] @@ -7890,19 +7890,19 @@ # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z21.d }, p5/z, [x10, z21.d, uxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z21.h }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z21.s }, p5/z, [x10, #5, mul vl] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z21.s }, p5/z, [x10, x21, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z23.d }, p3/z, [x13, x8, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z31.h }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1h { z31.s }, p7/z, [sp, #-1, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1h { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z5.h }, p3/z, [sp, x16, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1h { z5.h }, p3/z, [x17, x16, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rb { z0.b }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rb { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rb { z0.h }, p0/z, [x0] @@ -7924,17 +7924,17 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqb { z21.b }, p5/z, [x10, #112] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqb { z23.b }, p3/z, [x13, #-128] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqb { z31.b }, p7/z, [sp, #-16] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqd { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqd { z23.d }, p3/z, [x13, #-128] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqd { z23.d }, p3/z, [x13, #112] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqd { z31.d }, p7/z, [sp, #-16] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqh { z0.h }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqh { z23.h }, p3/z, [x13, #-128] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqh { z23.h }, p3/z, [x13, #112] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqh { z31.h }, p7/z, [sp, #-16] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqw { z0.s }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqw { z23.s }, p3/z, [x13, #-128] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1rqw { z23.s }, p3/z, [x13, #112] @@ -7976,8 +7976,8 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sb { z31.h }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sb { z31.s }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1sb { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sh { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1sh { z0.s }, p0/z, [x0, z0.s, sxtw] @@ -7987,33 +7987,33 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sh { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sh { z21.s }, p5/z, [sp, x21, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sh { z21.s }, p5/z, [x10, #5, mul vl] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sh { z21.s }, p5/z, [x10, x21, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sh { z23.d }, p3/z, [x13, x8, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sh { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sh { z31.s }, p7/z, [sp, #-1, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1sh { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sw { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sw { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sw { z23.d }, p3/z, [sp, x8, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1sw { z23.d }, p3/z, [x13, x8, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1sw { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1sw { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1w { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1w { z0.s }, p0/z, [x0, z0.s, sxtw] @@ -8023,78 +8023,78 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1w { z21.d }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1w { z21.s }, p5/z, [sp, x21, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1w { z21.s }, p5/z, [x10, #5, mul vl] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1w { z21.s }, p5/z, [x10, x21, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - ld1w { z23.d }, p3/z, [x13, x8, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1w { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z31.d }, p7/z, [z31.d, #124] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1w { z31.s }, p7/z, [sp, #-1, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1w { z31.s }, p7/z, [z31.s, #124] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2b { z0.b, z1.b }, p0/z, [x0, x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2b { z0.b, z1.b }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2b { z21.b, z22.b }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2b { z23.b, z24.b }, p3/z, [x13, #-16, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2b { z5.b, z6.b }, p3/z, [x17, x16] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z0.d, z1.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z0.d, z1.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z21.d, z22.d }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z23.d, z24.d }, p3/z, [x13, #-16, mul vl] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2d { z5.d, z6.d }, p3/z, [x17, x16, lsl #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z0.h, z1.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z0.h, z1.h }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z21.h, z22.h }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z23.h, z24.h }, p3/z, [x13, #-16, mul vl] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2h { z5.h, z6.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z0.s, z1.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z0.s, z1.s }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z21.s, z22.s }, p5/z, [x10, #10, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z23.s, z24.s }, p3/z, [x13, #-16, mul vl] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2w { z5.s, z6.s }, p3/z, [x17, x16, lsl #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3b { z0.b - z2.b }, p0/z, [x0, x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3b { z0.b - z2.b }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3b { z21.b - z23.b }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3b { z23.b - z25.b }, p3/z, [x13, #-24, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3b { z5.b - z7.b }, p3/z, [x17, x16] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3d { z0.d - z2.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3d { z0.d - z2.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3d { z21.d - z23.d }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3d { z23.d - z25.d }, p3/z, [x13, #-24, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3d { z5.d - z7.d }, p3/z, [x17, x16, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3h { z0.h - z2.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3h { z0.h - z2.h }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3h { z21.h - z23.h }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3h { z23.h - z25.h }, p3/z, [x13, #-24, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3h { z5.h - z7.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3w { z0.s - z2.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3w { z0.s - z2.s }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3w { z21.s - z23.s }, p5/z, [x10, #15, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld3w { z23.s - z25.s }, p3/z, [x13, #-24, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld3w { z5.s - z7.s }, p3/z, [x17, x16, lsl #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4b { z0.b - z3.b }, p0/z, [x0, x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4b { z0.b - z3.b }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4b { z21.b - z24.b }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4b { z23.b - z26.b }, p3/z, [x13, #-32, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4b { z5.b - z8.b }, p3/z, [x17, x16] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4d { z0.d - z3.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4d { z0.d - z3.d }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4d { z21.d - z24.d }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4d { z23.d - z26.d }, p3/z, [x13, #-32, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4d { z5.d - z8.d }, p3/z, [x17, x16, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4h { z0.h - z3.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4h { z0.h - z3.h }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4h { z21.h - z24.h }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4h { z23.h - z26.h }, p3/z, [x13, #-32, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4h { z5.h - z8.h }, p3/z, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4w { z0.s - z3.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4w { z0.s - z3.s }, p0/z, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4w { z21.s - z24.s }, p5/z, [x10, #20, mul vl] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld4w { z23.s - z26.s }, p3/z, [x13, #-32, mul vl] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - 1.00 1.00 1.00 1.00 ld4w { z5.s - z8.s }, p3/z, [x17, x16, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1b { z0.d }, p0/z, [x0, x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1b { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1b { z0.h }, p0/z, [x0, x0] @@ -8111,34 +8111,34 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1b { z31.h }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1b { z31.s }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1b { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1d { z31.d }, p7/z, [sp] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1d { z31.d }, p7/z, [z31.d, #248] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1h { z0.s }, p0/z, [z0.s] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z31.d }, p7/z, [sp] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z31.d }, p7/z, [z31.d, #62] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z31.h }, p7/z, [sp] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1h { z31.s }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1h { z31.s }, p7/z, [z31.s, #62] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sb { z0.d }, p0/z, [x0, x0] @@ -8156,50 +8156,50 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sb { z31.h }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sb { z31.s }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1sb { z31.s }, p7/z, [z31.s, #31] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sh { z0.d }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z0.d }, p0/z, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z0.d }, p0/z, [x0, z0.d, uxtw #1] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sh { z0.s }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1sh { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1sh { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1sh { z0.s }, p0/z, [z0.s] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z23.d }, p3/z, [x13, z8.d, lsl #1] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sh { z31.d }, p7/z, [sp] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z31.d }, p7/z, [z31.d, #62] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z31.s }, p7/z, [sp, z31.s, sxtw #1] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sh { z31.s }, p7/z, [sp, z31.s, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sh { z31.s }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1sh { z31.s }, p7/z, [z31.s, #62] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sw { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z0.d }, p0/z, [z0.d] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1sw { z31.d }, p7/z, [sp] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1sw { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1w { z0.d }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z0.d }, p0/z, [z0.d] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1w { z0.s }, p0/z, [z0.s] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z31.d }, p7/z, [sp, z31.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1w { z31.d }, p7/z, [sp] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z31.d }, p7/z, [z31.d, #124] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] -# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldff1w { z31.s }, p7/z, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldff1w { z31.s }, p7/z, [z31.s, #124] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnf1b { z0.b }, p0/z, [x0] @@ -8260,7 +8260,7 @@ # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1b { z31.d }, p7/z, [z31.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldnt1b { z31.s }, p7/z, [z31.s, x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldnt1b { z31.s }, p7/z, [z31.s] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnt1d { z0.d }, p0/z, [x0] # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1d { z0.d }, p0/z, [z1.d] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnt1d { z21.d }, p5/z, [x10, #7, mul vl] @@ -8268,7 +8268,7 @@ # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1d { z31.d }, p7/z, [z31.d, x0] # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1d { z31.d }, p7/z, [z31.d] # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1h { z0.d }, p0/z, [z1.d] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnt1h { z0.h }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldnt1h { z0.s }, p0/z, [z1.s] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnt1h { z21.h }, p5/z, [x10, #7, mul vl] @@ -8293,7 +8293,7 @@ # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1sw { z31.d }, p7/z, [z31.d, x0] # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1sw { z31.d }, p7/z, [z31.d] # CHECK-NEXT: - - - - - - - - - - - 1.00 3.00 ldnt1w { z0.d }, p0/z, [z1.d] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - 0.50 0.50 - - ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnt1w { z0.s }, p0/z, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ldnt1w { z0.s }, p0/z, [z1.s] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ldnt1w { z21.s }, p5/z, [x10, #7, mul vl] @@ -8632,11 +8632,11 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd #15, p7, [z31.s] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd #6, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd #7, p0, [x0] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.d, lsl #3] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.s, sxtw #3] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0, z0.s, uxtw #3] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfd pldl1strm, p0, [x0, #31, mul vl] @@ -8659,7 +8659,7 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh #15, p7, [z31.s] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh #6, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh #7, p0, [x0] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl1keep, p0, [x0, z0.d, lsl #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl1keep, p0, [x0, z0.d, lsl #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl1keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl1strm, p0, [x0, #31, mul vl] @@ -8668,10 +8668,10 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl2strm, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p0, [x0] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.d, sxtw #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.d, uxtw #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.s, sxtw #1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pldl3strm, p5, [x10, z21.s, uxtw #1] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pstl1keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pstl1strm, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfh pstl2keep, p0, [x0] @@ -8686,9 +8686,9 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw #15, p7, [z31.s] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw #6, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw #7, p0, [x0] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw #7, p3, [x13, z8.d, uxtw #2] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw #7, p3, [x13, z8.d, uxtw #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1keep, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1keep, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1strm, p0, [x0, #-32, mul vl] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl1strm, p0, [x0, #31, mul vl] @@ -8697,8 +8697,8 @@ # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl2strm, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl3keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl3strm, p0, [x0] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl3strm, p5, [x10, z21.d, lsl #2] -# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl3strm, p5, [x10, z21.d, lsl #2] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pldl3strm, p5, [x10, z21.s, sxtw #2] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pstl1keep, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pstl1strm, p0, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - prfw pstl2keep, p0, [x0] @@ -9475,11 +9475,11 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1b { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1b { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1b { z31.s }, p7, [z31.s, #31] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, x0, lsl #3] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, lsl #3] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, sxtw #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, sxtw #3] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, uxtw #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, uxtw #3] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z0.d }, p0, [x0] @@ -9487,21 +9487,21 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z21.d }, p5, [x10, #5, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z31.d }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1d { z31.d }, p7, [z31.d, #248] -# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st1h { z0.d }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, lsl #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, sxtw #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st1h { z0.d }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, sxtw #1] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, uxtw #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, uxtw #1] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.d }, p7, [z0.d] -# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.h }, p0, [x0] -# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st1h { z0.s }, p0, [x0, x0, lsl #1] -# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p0, [x0, z0.s, sxtw #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st1h { z0.s }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p0, [x0, z0.s, sxtw #1] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p0, [x0, z0.s, uxtw #1] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p0, [x0, z0.s, uxtw #1] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z0.s }, p0, [x0] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z0.s }, p7, [z0.s] @@ -9513,19 +9513,19 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z31.h }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1h { z31.s }, p7, [sp, #-1, mul vl] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1h { z31.s }, p7, [z31.s, #62] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, lsl #2] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, sxtw #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, sxtw #2] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, sxtw] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, uxtw #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, uxtw #2] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d, uxtw] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0, z0.d] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.d }, p7, [z0.d] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.s }, p0, [x0, x0, lsl #2] -# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p0, [x0, z0.s, sxtw #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p0, [x0, z0.s, sxtw #2] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p0, [x0, z0.s, sxtw] -# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p0, [x0, z0.s, uxtw #2] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p0, [x0, z0.s, uxtw #2] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p0, [x0, z0.s, uxtw] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1w { z0.s }, p0, [x0] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1w { z0.s }, p7, [z0.s] @@ -9540,61 +9540,61 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2b { z21.b, z22.b }, p5, [x10, #10, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2b { z23.b, z24.b }, p3, [x13, #-16, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2b { z5.b, z6.b }, p3, [x17, x16] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z0.d, z1.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z0.d, z1.d }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z21.d, z22.d }, p5, [x10, #10, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z23.d, z24.d }, p3, [x13, #-16, mul vl] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3] -# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2d { z5.d, z6.d }, p3, [x17, x16, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st2h { z0.h, z1.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2h { z0.h, z1.h }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2h { z21.h, z22.h }, p5, [x10, #10, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2h { z23.h, z24.h }, p3, [x13, #-16, mul vl] -# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 st2h { z5.h, z6.h }, p3, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z0.s, z1.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z0.s, z1.s }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z21.s, z22.s }, p5, [x10, #10, mul vl] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z23.s, z24.s }, p3, [x13, #-16, mul vl] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2w { z5.s, z6.s }, p3, [x17, x16, lsl #2] # CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3b { z0.b - z2.b }, p0, [x0, x0] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3b { z0.b - z2.b }, p0, [x0] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3b { z21.b - z23.b }, p5, [x10, #15, mul vl] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3b { z23.b - z25.b }, p3, [x13, #-24, mul vl] # CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3b { z5.b - z7.b }, p3, [x17, x16] -# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3d { z0.d - z2.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3d { z0.d - z2.d }, p0, [x0] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3d { z21.d - z23.d }, p5, [x10, #15, mul vl] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3d { z23.d - z25.d }, p3, [x13, #-24, mul vl] -# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3] -# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3d { z5.d - z7.d }, p3, [x17, x16, lsl #3] +# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3h { z0.h - z2.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3h { z0.h - z2.h }, p0, [x0] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3h { z21.h - z23.h }, p5, [x10, #15, mul vl] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3h { z23.h - z25.h }, p3, [x13, #-24, mul vl] -# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1] -# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3h { z5.h - z7.h }, p3, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3w { z0.s - z2.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3w { z0.s - z2.s }, p0, [x0] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3w { z21.s - z23.s }, p5, [x10, #15, mul vl] # CHECK-NEXT: - - - - - 2.50 2.50 - - - - 2.50 2.50 st3w { z23.s - z25.s }, p3, [x13, #-24, mul vl] -# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2] +# CHECK-NEXT: - - - - - 2.50 2.50 - - 2.50 2.50 2.50 2.50 st3w { z5.s - z7.s }, p3, [x17, x16, lsl #2] # CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4b { z0.b - z3.b }, p0, [x0, x0] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4b { z0.b - z3.b }, p0, [x0] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4b { z21.b - z24.b }, p5, [x10, #20, mul vl] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4b { z23.b - z26.b }, p3, [x13, #-32, mul vl] # CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4b { z5.b - z8.b }, p3, [x17, x16] -# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4d { z0.d - z3.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4d { z0.d - z3.d }, p0, [x0] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4d { z21.d - z24.d }, p5, [x10, #20, mul vl] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4d { z23.d - z26.d }, p3, [x13, #-32, mul vl] -# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3] -# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4d { z5.d - z8.d }, p3, [x17, x16, lsl #3] +# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4h { z0.h - z3.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4h { z0.h - z3.h }, p0, [x0] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4h { z21.h - z24.h }, p5, [x10, #20, mul vl] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4h { z23.h - z26.h }, p3, [x13, #-32, mul vl] -# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1] -# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4h { z5.h - z8.h }, p3, [x17, x16, lsl #1] +# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4w { z0.s - z3.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4w { z0.s - z3.s }, p0, [x0] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4w { z21.s - z24.s }, p5, [x10, #20, mul vl] # CHECK-NEXT: - - - - - 4.50 4.50 - - - - 4.50 4.50 st4w { z23.s - z26.s }, p3, [x13, #-32, mul vl] -# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2] +# CHECK-NEXT: - - - - - 4.50 4.50 - - 4.50 4.50 4.50 4.50 st4w { z5.s - z8.s }, p3, [x17, x16, lsl #2] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1b { z0.b }, p0, [x0, x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1b { z0.b }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1b { z0.d }, p0, [z1.d] @@ -9605,7 +9605,7 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1b { z31.d }, p7, [z31.d] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 stnt1b { z31.s }, p7, [z31.s, x0] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 stnt1b { z31.s }, p7, [z31.s] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z0.d }, p0, [x0, x0, lsl #3] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z0.d }, p0, [x0, x0, lsl #3] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z0.d }, p0, [x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z0.d }, p0, [z1.d] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z21.d }, p5, [x10, #7, mul vl] @@ -9613,7 +9613,7 @@ # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z31.d }, p7, [z31.d, x0] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1d { z31.d }, p7, [z31.d] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1h { z0.d }, p0, [z1.d] -# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 stnt1h { z0.h }, p0, [x0, x0, lsl #1] +# CHECK-NEXT: - - - - - 0.50 0.50 - - 0.50 0.50 0.50 0.50 stnt1h { z0.h }, p0, [x0, x0, lsl #1] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1h { z0.h }, p0, [x0] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 stnt1h { z0.s }, p0, [z1.s] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1h { z21.h }, p5, [x10, #7, mul vl] @@ -9623,7 +9623,7 @@ # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 stnt1h { z31.s }, p7, [z31.s, x0] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 stnt1h { z31.s }, p7, [z31.s] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1w { z0.d }, p0, [z1.d] -# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1w { z0.s }, p0, [x0, x0, lsl #2] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1w { z0.s }, p0, [x0, x0, lsl #2] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1w { z0.s }, p0, [x0] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 stnt1w { z0.s }, p0, [z1.s] # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 stnt1w { z21.s }, p5, [x10, #7, mul vl]