diff --git a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td index 0b65a5f6b1e25..78bbf3f923c26 100644 --- a/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td +++ b/llvm/lib/Target/AArch64/AArch64SchedNeoverseN3.td @@ -1097,7 +1097,7 @@ def : SchedAlias; // ASIMD shift accumulate def : InstRW<[N3Wr_ADA, N3Rd_ADA], (instregex "^[SU]ABAL?v", "^[SU]ADALPv", - "^[SU]R?SRAv")>; + "^[SU]R?SRA(v|d)")>; // ASIMD arith, reduce, 4H/4S def : InstRW<[N3Write_3c_1V1], (instregex "^[SU]?ADDL?Vv4i(16|32)v$")>; @@ -1138,30 +1138,30 @@ def : InstRW<[N3Wr_VMAH, N3Rd_VMAH], (instregex "^SQRDMLAHv", "^SQRDMLSHv")>; def : InstRW<[N3Wr_VMAL, N3Rd_VMAL], (instregex "^[SU]MLALv", "^[SU]MLSLv")>; // ASIMD multiply accumulate saturating long -def : InstRW<[N3Wr_VMASL, N3Rd_VMASL], (instregex "^SQDMLALv", "^SQDMLSLv")>; +def : InstRW<[N3Wr_VMASL, N3Rd_VMASL], (instregex "^SQDMLAL(v|i16|i32)", "^SQDMLSL(v|i16|i32)")>; // ASIMD multiply/multiply long (8x8) polynomial, D-form // ASIMD multiply/multiply long (8x8) polynomial, Q-form def : InstRW<[N3Write_2c_1V0], (instregex "^PMULL?(v8i8|v16i8)$")>; // ASIMD multiply long -def : InstRW<[N3Write_4c_1V0], (instregex "^[SU]MULLv", "^SQDMULLv")>; +def : InstRW<[N3Write_4c_1V0], (instregex "^[SU]MULLv", "^SQDMULL(v|i16|i32)")>; // ASIMD shift by immed, basic -def : InstRW<[N3Write_2c_1V1], (instregex "^SHLv", "^SHLLv", "^SHRNv", - "^SSHLLv", "^SSHRv", "^USHLLv", - "^USHRv")>; +def : InstRW<[N3Write_2c_1V1], (instregex "^SHL(v|d)", "^SHLLv", "^SHRNv", + "^SSHLLv", "^SSHR(v|d)", "^USHLLv", + "^USHR(v|d)")>; // ASIMD shift by immed and insert, basic -def : InstRW<[N3Write_2c_1V1], (instregex "^SLIv", "^SRIv")>; +def : InstRW<[N3Write_2c_1V1], (instregex "^SLI(v|d)", "^SRI(v|d)")>; // ASIMD shift by immed, complex def : InstRW<[N3Write_4c_1V1], - (instregex "^RSHRNv", "^SQRSHRNv", "^SQRSHRUNv", + (instregex "^RSHRNv", "^SQRSHRN[vbhs]", "^SQRSHRUN[vbhs]", "^(SQSHLU?|UQSHL)[bhsd]$", "^(SQSHLU?|UQSHL)(v8i8|v16i8|v4i16|v8i16|v2i32|v4i32|v2i64)_shift$", - "^SQSHRNv", "^SQSHRUNv", "^SRSHRv", "^UQRSHRNv", - "^UQSHRNv", "^URSHRv")>; + "^SQSHRN[vbhs]", "^SQSHRUN[vbhs]", "^SRSHR(v|d)", + "^UQRSHRN[vbhs]", "^UQSHRN[vbhs]","^URSHR(v|d)")>; // ASIMD shift by register, basic def : InstRW<[N3Write_2c_1V1], (instregex "^[SU]SHLv")>; @@ -1197,16 +1197,16 @@ def : InstRW<[N3Write_3c_1V0], (instregex "^FCVTL(v2|v4)i32")>; def : InstRW<[N3Write_4c_2V0], (instregex "^FCVTN(v4|v8)i16")>; // ASIMD FP convert, narrow (F64 to F32) -def : InstRW<[N3Write_3c_1V0], (instregex "^FCVTN(v2|v4)i32", +def : InstRW<[N3Write_3c_1V0], (instregex "^FCVTN(v2|v4)i32", "^FCVTXNv1i64", "^FCVTXN(v2|v4)f32")>; // ASIMD FP convert, other, D-form F32 and Q-form F64 -def : InstRW<[N3Write_3c_1V0], (instregex "^[FSU]CVT[AMNPZ][SU]v2f(32|64)$", - "^[SU]CVTFv2f(32|64)$")>; +def : InstRW<[N3Write_3c_1V0], (instregex "^[FSU]CVT[AMNPZ][SU](v2f(32|64)|s|d|v1i32|v1i64|v2i32_shift|v2i64_shift)$", + "^[SU]CVTF(v2f(32|64)|s|d|v1i32|v1i64|v2i32_shift|v2i64_shift)$")>; // ASIMD FP convert, other, D-form F16 and Q-form F32 -def : InstRW<[N3Write_4c_2V0], (instregex "^[FSU]CVT[AMNPZ][SU]v4f(16|32)$", - "^[SU]CVTFv4f(16|32)$")>; +def : InstRW<[N3Write_4c_2V0], (instregex "^[FSU]CVT[AMNPZ][SU](v4f(16|32)|v4i(16|32)_shift)$", + "^[SU]CVTF(v4f(16|32)|v4i(16|32)_shift)$")>; // ASIMD FP convert, other, Q-form F16 def : InstRW<[N3Write_6c_4V0], (instregex "^[FSU]CVT[AMNPZ][SU]v8f16$", @@ -1241,7 +1241,7 @@ def : InstRW<[N3Write_4c_2V], (instregex "^(FMAX|FMIN)(NM)?Vv4(i16|i32)v$")>; def : InstRW<[N3Write_6c_3V], (instregex "^(FMAX|FMIN)(NM)?Vv8i16v$")>; // ASIMD FP multiply -def : InstRW<[N3Wr_FPM], (instregex "^FMULv", "^FMULXv")>; +def : InstRW<[N3Wr_FPM], (instregex "^FMULv", "^FMULX(v|32|64)")>; // ASIMD FP multiply accumulate def : InstRW<[N3Wr_FPMA, N3Rd_FPMA], (instregex "^FMLAv", "^FMLSv")>; @@ -1330,9 +1330,9 @@ def : InstRW<[N3Write_4c_2V0], (instrs URECPEv4i32, URSQRTEv4i32)>; // ASIMD reciprocal and square root estimate, D-form F32 and scalar forms def : InstRW<[N3Write_3c_1V0], (instrs FRECPEv1f16, FRECPEv1i32, - FRECPEv1i64, FRECPEv2f32, + FRECPEv1i64, FRECPEv2f32, FRECPEv2f64, FRSQRTEv1f16, FRSQRTEv1i32, - FRSQRTEv1i64, FRSQRTEv2f32)>; + FRSQRTEv1i64, FRSQRTEv2f32, FRSQRTEv2f64)>; // ASIMD reciprocal and square root estimate, D-form F16 and Q-form F32 def : InstRW<[N3Write_4c_2V0], (instrs FRECPEv4f16, FRECPEv4f32, @@ -1345,7 +1345,7 @@ def : InstRW<[N3Write_6c_4V0], (instrs FRECPEv8f16, FRSQRTEv8f16)>; def : InstRW<[N3Write_3c_1V0], (instregex "^FRECPXv")>; // ASIMD reciprocal step -def : InstRW<[N3Write_4c_1V], (instregex "^FRECPSv", "^FRSQRTSv")>; +def : InstRW<[N3Write_4c_1V], (instregex "^FRECPS(v|32|64)", "^FRSQRTS(v|32|64)")>; // ASIMD table lookup, 3 table regs def : InstRW<[N3Write_4c_2V], (instrs TBLv8i8Three, TBLv16i8Three)>; diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s index 9ef4dd9877a14..2f7563df9a7d9 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s @@ -1189,15 +1189,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt v0.4s, v0.4s, #0.0 -# CHECK-NEXT: 1 2 0.50 fcvtas d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtas s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtas d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtas s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtas v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtas v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtas v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtas v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 fcvtas v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtau d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtau s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtau d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtau s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtau v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtau v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtau v0.4h, v0.4h @@ -1207,15 +1207,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtl v0.4s, v0.4h # CHECK-NEXT: 1 3 1.00 fcvtl2 v0.2d, v0.4s # CHECK-NEXT: 2 4 2.00 fcvtl2 v0.4s, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtms d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtms s22, s13 +# CHECK-NEXT: 1 3 1.00 fcvtms d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtms s22, s13 # CHECK-NEXT: 1 3 1.00 fcvtms v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtms v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtms v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtms v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 fcvtms v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtmu d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtmu s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtmu d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtmu s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtmu v0.4h, v0.4h @@ -1225,60 +1225,60 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtn v0.4h, v0.4s # CHECK-NEXT: 1 3 1.00 fcvtn2 v0.4s, v0.2d # CHECK-NEXT: 2 4 2.00 fcvtn2 v0.8h, v0.4s -# CHECK-NEXT: 1 2 0.50 fcvtns d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtns s22, s13 +# CHECK-NEXT: 1 3 1.00 fcvtns d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtns s22, s13 # CHECK-NEXT: 1 3 1.00 fcvtns v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtns v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtns v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtns v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 fcvtns v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtnu d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtnu s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtnu d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtnu s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtnu v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtnu v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 fcvtnu v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtps d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtps s22, s13 +# CHECK-NEXT: 1 3 1.00 fcvtps d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtps s22, s13 # CHECK-NEXT: 1 3 1.00 fcvtps v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtps v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtps v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtps v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 fcvtps v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtpu d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtpu s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtpu d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtpu s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtpu v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtpu v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 fcvtpu v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtxn s22, d13 +# CHECK-NEXT: 1 3 1.00 fcvtxn s22, d13 # CHECK-NEXT: 1 3 1.00 fcvtxn v0.2s, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtxn2 v0.4s, v0.2d -# CHECK-NEXT: 1 2 0.50 fcvtzs d21, d12, #1 -# CHECK-NEXT: 1 2 0.50 fcvtzs d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtzs s12, s13 -# CHECK-NEXT: 1 2 0.50 fcvtzs s21, s12, #1 +# CHECK-NEXT: 1 3 1.00 fcvtzs d21, d12, #1 +# CHECK-NEXT: 1 3 1.00 fcvtzs d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtzs s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtzs s21, s12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2d, v0.2d -# CHECK-NEXT: 1 2 0.50 fcvtzs v0.2d, v0.2d, #3 +# CHECK-NEXT: 1 3 1.00 fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s -# CHECK-NEXT: 1 2 0.50 fcvtzs v0.2s, v0.2s, #3 +# CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 fcvtzs v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzs v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 fcvtzu d21, d12, #1 -# CHECK-NEXT: 1 2 0.50 fcvtzu d21, d14 -# CHECK-NEXT: 1 2 0.50 fcvtzu s12, s13 -# CHECK-NEXT: 1 2 0.50 fcvtzu s21, s12, #1 +# CHECK-NEXT: 1 3 1.00 fcvtzu d21, d12, #1 +# CHECK-NEXT: 1 3 1.00 fcvtzu d21, d14 +# CHECK-NEXT: 1 3 1.00 fcvtzu s12, s13 +# CHECK-NEXT: 1 3 1.00 fcvtzu s21, s12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2d, v0.2d -# CHECK-NEXT: 1 2 0.50 fcvtzu v0.2d, v0.2d, #3 +# CHECK-NEXT: 1 3 1.00 fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s -# CHECK-NEXT: 1 2 0.50 fcvtzu v0.2s, v0.2s, #3 +# CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 fcvtzu v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzu v0.8h, v0.8h # CHECK-NEXT: 2 8 2.00 fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmax v0.2d, v0.2d, v0.2d @@ -1318,8 +1318,8 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx d0, d4, v0.d[1] -# CHECK-NEXT: 1 2 0.50 fmulx d23, d11, d1 -# CHECK-NEXT: 1 2 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: 1 3 0.50 fmulx d23, d11, d1 +# CHECK-NEXT: 1 3 0.50 fmulx s20, s22, s15 # CHECK-NEXT: 1 3 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 fmulx v0.2s, v0.2s, v0.2s @@ -1331,14 +1331,14 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fneg v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 frecpe d13, d13 # CHECK-NEXT: 1 3 1.00 frecpe s19, s14 -# CHECK-NEXT: 1 2 0.50 frecpe v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frecpe v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frecpe v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frecpe v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 frecps d22, d30, d21 -# CHECK-NEXT: 1 2 0.50 frecps s21, s16, s13 +# CHECK-NEXT: 1 4 0.50 frecps d22, d30, d21 +# CHECK-NEXT: 1 4 0.50 frecps s21, s16, s13 # CHECK-NEXT: 1 3 1.00 frecpx d16, d19 # CHECK-NEXT: 1 3 1.00 frecpx s18, s10 # CHECK-NEXT: 1 3 1.00 frinta v0.2d, v0.2d @@ -1378,13 +1378,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 frintz v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 frsqrte d21, d12 # CHECK-NEXT: 1 3 1.00 frsqrte s22, s13 -# CHECK-NEXT: 1 2 0.50 frsqrte v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frsqrte v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frsqrte v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 frsqrts d8, d22, d18 -# CHECK-NEXT: 1 2 0.50 frsqrts s21, s5, s12 +# CHECK-NEXT: 1 4 0.50 frsqrts d8, d22, d18 +# CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d # CHECK-NEXT: 2 13 2.00 fsqrt v0.2d, v0.2d # CHECK-NEXT: 2 8 2.00 fsqrt v0.2s, v0.2s @@ -1543,20 +1543,20 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.8h, v0.8h, v0.16b -# CHECK-NEXT: 1 2 0.50 scvtf d21, d12 -# CHECK-NEXT: 1 2 0.50 scvtf d21, d12, #64 -# CHECK-NEXT: 1 2 0.50 scvtf s22, s13 -# CHECK-NEXT: 1 2 0.50 scvtf s22, s13, #32 +# CHECK-NEXT: 1 3 1.00 scvtf d21, d12 +# CHECK-NEXT: 1 3 1.00 scvtf d21, d12, #64 +# CHECK-NEXT: 1 3 1.00 scvtf s22, s13 +# CHECK-NEXT: 1 3 1.00 scvtf s22, s13, #32 # CHECK-NEXT: 1 3 1.00 scvtf v0.2d, v0.2d -# CHECK-NEXT: 1 2 0.50 scvtf v0.2d, v0.2d, #3 +# CHECK-NEXT: 1 3 1.00 scvtf v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 scvtf v0.2s, v0.2s -# CHECK-NEXT: 1 2 0.50 scvtf v0.2s, v0.2s, #3 +# CHECK-NEXT: 1 3 1.00 scvtf v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 scvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 scvtf v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 shadd v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 2 0.50 shl d7, d10, #12 +# CHECK-NEXT: 1 2 1.00 shl d7, d10, #12 # CHECK-NEXT: 1 2 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 shl v0.4h, v0.4h, #3 @@ -1581,7 +1581,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: 1 2 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 shsub v0.4h, v0.4h, v0.4h -# CHECK-NEXT: 1 2 0.50 sli d10, d14, #12 +# CHECK-NEXT: 1 2 1.00 sli d10, d14, #12 # CHECK-NEXT: 1 2 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sli v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 sli v0.2s, v0.2s, #3 @@ -1633,18 +1633,18 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqadd b20, b11, b15 # CHECK-NEXT: 1 2 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqadd v0.2s, v0.2s, v0.2s -# CHECK-NEXT: 1 2 0.50 sqdmlal d19, s24, s12 +# CHECK-NEXT: 1 4 1.00 sqdmlal d19, s24, s12 # CHECK-NEXT: 1 4 1.00 sqdmlal d8, s9, v0.s[1] # CHECK-NEXT: 1 4 1.00 sqdmlal s0, h0, v0.h[3] -# CHECK-NEXT: 1 2 0.50 sqdmlal s17, h27, h12 +# CHECK-NEXT: 1 4 1.00 sqdmlal s17, h27, h12 # CHECK-NEXT: 1 4 1.00 sqdmlal v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqdmlal v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 sqdmlsl d12, s23, s13 +# CHECK-NEXT: 1 4 1.00 sqdmlsl d12, s23, s13 # CHECK-NEXT: 1 4 1.00 sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: 1 4 1.00 sqdmlsl s0, h0, v0.h[3] -# CHECK-NEXT: 1 2 0.50 sqdmlsl s14, h12, h25 +# CHECK-NEXT: 1 4 1.00 sqdmlsl s14, h12, h25 # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.2d, v0.4s, v0.4s @@ -1656,9 +1656,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqdmulh v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqdmulh v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 sqdmull d1, s1, v0.s[1] -# CHECK-NEXT: 1 2 0.50 sqdmull d15, s22, s12 +# CHECK-NEXT: 1 4 1.00 sqdmull d15, s22, s12 # CHECK-NEXT: 1 4 1.00 sqdmull s1, h1, v0.h[3] -# CHECK-NEXT: 1 2 0.50 sqdmull s12, h22, h12 +# CHECK-NEXT: 1 4 1.00 sqdmull s12, h22, h12 # CHECK-NEXT: 1 4 1.00 sqdmull v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqdmull v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqdmull2 v0.2d, v0.4s, v0.4s @@ -1685,18 +1685,18 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqrshl v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 2 0.50 sqrshrn b10, h13, #2 -# CHECK-NEXT: 1 2 0.50 sqrshrn h15, s10, #6 -# CHECK-NEXT: 1 2 0.50 sqrshrn s15, d12, #9 +# CHECK-NEXT: 1 4 1.00 sqrshrn b10, h13, #2 +# CHECK-NEXT: 1 4 1.00 sqrshrn h15, s10, #6 +# CHECK-NEXT: 1 4 1.00 sqrshrn s15, d12, #9 # CHECK-NEXT: 1 4 1.00 sqrshrn v0.2s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqrshrn v0.4h, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 sqrshrn v0.8b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 sqrshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 sqrshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqrshrn2 v0.8h, v0.4s, #3 -# CHECK-NEXT: 1 2 0.50 sqrshrun b17, h10, #6 -# CHECK-NEXT: 1 2 0.50 sqrshrun h10, s13, #15 -# CHECK-NEXT: 1 2 0.50 sqrshrun s22, d16, #31 +# CHECK-NEXT: 1 4 1.00 sqrshrun b17, h10, #6 +# CHECK-NEXT: 1 4 1.00 sqrshrun h10, s13, #15 +# CHECK-NEXT: 1 4 1.00 sqrshrun s22, d16, #31 # CHECK-NEXT: 1 4 1.00 sqrshrun v0.2s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqrshrun v0.4h, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 sqrshrun v0.8b, v0.8h, #3 @@ -1730,18 +1730,18 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqshlu v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 sqshlu v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 1.00 sqshlu v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 2 0.50 sqshrn b10, h15, #5 -# CHECK-NEXT: 1 2 0.50 sqshrn h17, s10, #4 -# CHECK-NEXT: 1 2 0.50 sqshrn s18, d10, #31 +# CHECK-NEXT: 1 4 1.00 sqshrn b10, h15, #5 +# CHECK-NEXT: 1 4 1.00 sqshrn h17, s10, #4 +# CHECK-NEXT: 1 4 1.00 sqshrn s18, d10, #31 # CHECK-NEXT: 1 4 1.00 sqshrn v0.2s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqshrn v0.4h, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 sqshrn v0.8b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 sqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 sqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqshrn2 v0.8h, v0.4s, #3 -# CHECK-NEXT: 1 2 0.50 sqshrun b15, h10, #7 -# CHECK-NEXT: 1 2 0.50 sqshrun h20, s14, #3 -# CHECK-NEXT: 1 2 0.50 sqshrun s10, d15, #15 +# CHECK-NEXT: 1 4 1.00 sqshrun b15, h10, #7 +# CHECK-NEXT: 1 4 1.00 sqshrun h20, s14, #3 +# CHECK-NEXT: 1 4 1.00 sqshrun s10, d15, #15 # CHECK-NEXT: 1 4 1.00 sqshrun v0.2s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqshrun v0.4h, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 sqshrun v0.8b, v0.8h, #3 @@ -1773,7 +1773,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 srhadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 srhadd v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 srhadd v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 2 0.50 sri d10, d12, #14 +# CHECK-NEXT: 1 2 1.00 sri d10, d12, #14 # CHECK-NEXT: 1 2 1.00 sri v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sri v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 sri v0.2s, v0.2s, #3 @@ -1785,7 +1785,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 srshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 srshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 srshl v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 2 0.50 srshr d19, d18, #7 +# CHECK-NEXT: 1 4 1.00 srshr d19, d18, #7 # CHECK-NEXT: 1 4 1.00 srshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 4 1.00 srshr v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 srshr v0.2s, v0.2s, #3 @@ -1793,7 +1793,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 srshr v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 srshr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 1.00 srshr v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 2 0.50 srsra d15, d11, #19 +# CHECK-NEXT: 1 4 1.00 srsra d15, d11, #19 # CHECK-NEXT: 1 4 1.00 srsra v0.16b, v0.16b, #3 # CHECK-NEXT: 1 4 1.00 srsra v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 srsra v0.2s, v0.2s, #3 @@ -1808,7 +1808,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 sshl v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 1.00 sshll v0.2d, v0.2s, #3 # CHECK-NEXT: 1 2 1.00 sshll2 v0.4s, v0.8h, #3 -# CHECK-NEXT: 1 2 0.50 sshr d15, d16, #12 +# CHECK-NEXT: 1 2 1.00 sshr d15, d16, #12 # CHECK-NEXT: 1 2 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.2s, v0.2s, #3 @@ -1816,7 +1816,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 sshr v0.4s, v0.4s, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 2 0.50 ssra d18, d12, #21 +# CHECK-NEXT: 1 4 1.00 ssra d18, d12, #21 # CHECK-NEXT: 1 4 1.00 ssra v0.16b, v0.16b, #3 # CHECK-NEXT: 1 4 1.00 ssra v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 ssra v0.2s, v0.2s, #3 @@ -1939,17 +1939,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.8h, v0.8h, v0.16b -# CHECK-NEXT: 1 2 0.50 ucvtf d21, d14 -# CHECK-NEXT: 1 2 0.50 ucvtf d21, d14, #64 -# CHECK-NEXT: 1 2 0.50 ucvtf s22, s13 -# CHECK-NEXT: 1 2 0.50 ucvtf s22, s13, #32 +# CHECK-NEXT: 1 3 1.00 ucvtf d21, d14 +# CHECK-NEXT: 1 3 1.00 ucvtf d21, d14, #64 +# CHECK-NEXT: 1 3 1.00 ucvtf s22, s13 +# CHECK-NEXT: 1 3 1.00 ucvtf s22, s13, #32 # CHECK-NEXT: 1 3 1.00 ucvtf v0.2d, v0.2d -# CHECK-NEXT: 1 2 0.50 ucvtf v0.2d, v0.2d, #3 +# CHECK-NEXT: 1 3 1.00 ucvtf v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 ucvtf v0.2s, v0.2s -# CHECK-NEXT: 1 2 0.50 ucvtf v0.2s, v0.2s, #3 +# CHECK-NEXT: 1 3 1.00 ucvtf v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 ucvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 ucvtf v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uhadd v0.8h, v0.8h, v0.8h @@ -1992,9 +1992,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqrshl v0.8h, v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 uqrshrn b10, h12, #5 -# CHECK-NEXT: 1 2 0.50 uqrshrn h12, s10, #14 -# CHECK-NEXT: 1 2 0.50 uqrshrn s10, d10, #25 +# CHECK-NEXT: 1 4 1.00 uqrshrn b10, h12, #5 +# CHECK-NEXT: 1 4 1.00 uqrshrn h12, s10, #14 +# CHECK-NEXT: 1 4 1.00 uqrshrn s10, d10, #25 # CHECK-NEXT: 1 4 1.00 uqrshrn v0.2s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 uqrshrn v0.4h, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 uqrshrn v0.8b, v0.8h, #3 @@ -2018,9 +2018,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshl v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.8h, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.8h, v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 uqshrn b12, h10, #7 -# CHECK-NEXT: 1 2 0.50 uqshrn h10, s14, #5 -# CHECK-NEXT: 1 2 0.50 uqshrn s10, d12, #13 +# CHECK-NEXT: 1 4 1.00 uqshrn b12, h10, #7 +# CHECK-NEXT: 1 4 1.00 uqshrn h10, s14, #5 +# CHECK-NEXT: 1 4 1.00 uqshrn s10, d12, #13 # CHECK-NEXT: 1 4 1.00 uqshrn v0.2s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 uqshrn v0.4h, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 uqshrn v0.8b, v0.8h, #3 @@ -2048,7 +2048,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 urshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 urshl v0.8h, v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 urshr d20, d23, #31 +# CHECK-NEXT: 1 4 1.00 urshr d20, d23, #31 # CHECK-NEXT: 1 4 1.00 urshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 4 1.00 urshr v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 urshr v0.2s, v0.2s, #3 @@ -2058,7 +2058,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 urshr v0.8h, v0.8h, #3 # CHECK-NEXT: 1 3 1.00 ursqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 ursqrte v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 ursra d18, d10, #13 +# CHECK-NEXT: 1 4 1.00 ursra d18, d10, #13 # CHECK-NEXT: 1 4 1.00 ursra v0.16b, v0.16b, #3 # CHECK-NEXT: 1 4 1.00 ursra v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 ursra v0.2s, v0.2s, #3 @@ -2072,7 +2072,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushll v0.4s, v0.4h, #3 # CHECK-NEXT: 1 2 1.00 ushll2 v0.8h, v0.16b, #3 -# CHECK-NEXT: 1 2 0.50 ushr d10, d17, #18 +# CHECK-NEXT: 1 2 1.00 ushr d10, d17, #18 # CHECK-NEXT: 1 2 1.00 ushr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.2s, v0.2s, #3 @@ -2091,7 +2091,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 usqadd v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 usqadd v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 usqadd v0.8h, v0.8h -# CHECK-NEXT: 1 2 0.50 usra d20, d13, #61 +# CHECK-NEXT: 1 4 1.00 usra d20, d13, #61 # CHECK-NEXT: 1 4 1.00 usra v0.16b, v0.16b, #3 # CHECK-NEXT: 1 4 1.00 usra v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 usra v0.2s, v0.2s, #3 @@ -2163,7 +2163,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] -# CHECK-NEXT: - - - - 33.00 51.50 51.50 18.75 7.75 7.75 7.75 647.50 582.50 +# CHECK-NEXT: - - - - 33.00 51.50 51.50 18.75 7.75 7.75 7.75 663.50 570.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: @@ -2278,15 +2278,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v0.4s, v0.4s, #0.0 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtas d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtas s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtas v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtas v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtas v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtau d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtau s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtau v0.4h, v0.4h @@ -2296,15 +2296,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtl v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtl2 v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtl2 v0.4s, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtms d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtms s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms s22, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtms v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtms v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtms v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtmu d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtmu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtmu v0.4h, v0.4h @@ -2314,60 +2314,60 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtn v0.4h, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtn2 v0.4s, v0.2d # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtn2 v0.8h, v0.4s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtns d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtns s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns s22, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtns v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtns v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtns v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtnu d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtnu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtnu v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtnu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtnu v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtps d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtps s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps s22, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtps v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtps v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtps v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtpu d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtpu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtpu v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtpu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtpu v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtxn s22, d13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtxn s22, d13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtxn v0.2s, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtxn2 v0.4s, v0.2d -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs d21, d12, #1 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs s12, s13 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs s21, s12, #1 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs d21, d12, #1 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs s21, s12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v0.2d, v0.2d, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v0.2s, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtzs v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu d21, d12, #1 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu s12, s13 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu s21, s12, #1 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu d21, d12, #1 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu s21, s12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v0.2d, v0.2d, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v0.2s, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtzu v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.2d, v0.2d, v0.2d @@ -2420,7 +2420,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe d13, d13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe s19, s14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecpe v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frecpe v0.4s, v0.4s @@ -2467,7 +2467,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - frintz v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte d21, d12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte s22, s13 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrte v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frsqrte v0.4s, v0.4s @@ -2632,20 +2632,20 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.8h, v0.8h, v0.16b -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf d21, d12 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf d21, d12, #64 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf s22, s13 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf s22, s13, #32 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf d21, d12 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf d21, d12, #64 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v0.2d, v0.2d, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v0.2s, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - scvtf v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shadd v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shl d7, d10, #12 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 shl d7, d10, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.4h, v0.4h, #3 @@ -2670,7 +2670,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v0.4h, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sli d10, d14, #12 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sli d10, d14, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.2s, v0.2s, #3 @@ -2722,18 +2722,18 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd b20, b11, b15 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd v0.2s, v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlal d19, s24, s12 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal d19, s24, s12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal s0, h0, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlal s17, h27, h12 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal s17, h27, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v0.4s, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlsl d12, s23, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl d12, s23, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl s0, h0, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlsl s14, h12, h25 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl s14, h12, h25 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v0.2d, v0.4s, v0.4s @@ -2745,9 +2745,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull d1, s1, v0.s[1] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmull d15, s22, s12 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull d15, s22, s12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull s1, h1, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmull s12, h22, h12 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull s12, h22, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull2 v0.2d, v0.4s, v0.4s @@ -2774,18 +2774,18 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrn b10, h13, #2 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrn h15, s10, #6 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrn s15, d12, #9 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn b10, h13, #2 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn h15, s10, #6 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn s15, d12, #9 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn v0.2s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn v0.4h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn v0.8b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn2 v0.8h, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrun b17, h10, #6 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrun h10, s13, #15 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrun s22, d16, #31 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrun b17, h10, #6 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrun h10, s13, #15 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrun s22, d16, #31 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrun v0.2s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrun v0.4h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrun v0.8b, v0.8h, #3 @@ -2819,18 +2819,18 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshlu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshlu v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshlu v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqshrn b10, h15, #5 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqshrn h17, s10, #4 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqshrn s18, d10, #31 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn b10, h15, #5 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn h17, s10, #4 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn s18, d10, #31 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn v0.2s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn v0.4h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn v0.8b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrn2 v0.8h, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqshrun b15, h10, #7 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqshrun h20, s14, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqshrun s10, d15, #15 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrun b15, h10, #7 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrun h20, s14, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrun s10, d15, #15 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrun v0.2s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrun v0.4h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshrun v0.8b, v0.8h, #3 @@ -2862,7 +2862,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 srhadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 srhadd v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 srhadd v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sri d10, d12, #14 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sri d10, d12, #14 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sri v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sri v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sri v0.2s, v0.2s, #3 @@ -2874,7 +2874,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshl v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 srshr d19, d18, #7 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr d19, d18, #7 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr v0.2s, v0.2s, #3 @@ -2882,7 +2882,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srshr v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 srsra d15, d11, #19 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 srsra d15, d11, #19 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srsra v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srsra v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 srsra v0.2s, v0.2s, #3 @@ -2897,7 +2897,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v0.2d, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v0.4s, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sshr d15, d16, #12 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr d15, d16, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.2s, v0.2s, #3 @@ -2905,7 +2905,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ssra d18, d12, #21 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ssra d18, d12, #21 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ssra v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ssra v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ssra v0.2s, v0.2s, #3 @@ -3028,17 +3028,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.8h, v0.8h, v0.16b -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf d21, d14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf d21, d14, #64 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf s22, s13 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf s22, s13, #32 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf d21, d14 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf d21, d14, #64 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v0.2d, v0.2d, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v0.2s, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - ucvtf v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhadd v0.8h, v0.8h, v0.8h @@ -3081,9 +3081,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.8h, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqrshrn b10, h12, #5 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqrshrn h12, s10, #14 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqrshrn s10, d10, #25 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn b10, h12, #5 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn h12, s10, #14 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn s10, d10, #25 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn v0.2s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn v0.4h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn v0.8b, v0.8h, #3 @@ -3107,9 +3107,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.8h, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.8h, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqshrn b12, h10, #7 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqshrn h10, s14, #5 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqshrn s10, d12, #13 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn b12, h10, #7 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn h10, s14, #5 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn s10, d12, #13 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn v0.2s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn v0.4h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn v0.8b, v0.8h, #3 @@ -3137,7 +3137,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.8h, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urshr d20, d23, #31 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 urshr d20, d23, #31 # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshr v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshr v0.2s, v0.2s, #3 @@ -3147,7 +3147,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshr v0.8h, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ursqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - ursqrte v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ursra d18, d10, #13 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra d18, d10, #13 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.2s, v0.2s, #3 @@ -3161,7 +3161,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v0.4s, v0.4h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v0.8h, v0.16b, #3 -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ushr d10, d17, #18 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.2s, v0.2s, #3 @@ -3180,7 +3180,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usra d20, d13, #61 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 usra d20, d13, #61 # CHECK-NEXT: - - - - - - - - - - - - 1.00 usra v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 usra v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 usra v0.2s, v0.2s, #3