diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s index a5330b9d6d2d6..e1c7bf56f45f2 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-basic-instructions.s @@ -24,21 +24,21 @@ adds w13, w23, #291, lsl #12 cmn w2, #4095 adds w20, wsp, #0 cmn x3, #1, lsl #12 +cmp wsp, #2342 cmp sp, #20, lsl #12 cmp x30, #4095 subs x4, sp, #3822 cmn w3, #291, lsl #12 cmn wsp, #1365 cmn sp, #1092, lsl #12 -mov sp, x30 -mov wsp, w20 -mov x11, sp -mov w24, wsp +mov x10, #-63432 #------------------------------------------------------------------------------ # Add-subtract (shifted register) #------------------------------------------------------------------------------ +add wsp, wsp, w10 +add x25, x9, w25, uxtb add w3, w5, w7 add wzr, w3, w5 add w20, wzr, w4 @@ -66,6 +66,8 @@ add x2, x3, x4, asr #0 add x5, x6, x7, asr #21 add x8, x9, x10, asr #63 adds w3, w5, w7 +adds w17, wsp, w25 +adds x13, x23, w8, uxtb cmn w3, w5 adds w20, wzr, w4 adds w4, w6, wzr @@ -115,6 +117,9 @@ sub x27, x28, x29, lsr #63 sub x2, x3, x4, asr #0 sub x5, x6, x7, asr #21 sub x8, x9, x10, asr #63 +sub w13, wsp, w10 +sub x16, x2, w19, uxtb +subs x13, x15, x14, sxtx #1 subs w3, w5, w7 cmp w3, w5 subs w4, w6, wzr @@ -173,6 +178,8 @@ cmp w14, w15, lsr #21 cmp w18, w19, asr #0 cmp w20, w21, asr #22 cmp w22, w23, asr #31 +cmp wsp, w26 +cmp x16, w27, uxtb cmp x0, x3 cmp xzr, x4 cmp x5, xzr @@ -187,6 +194,10 @@ cmp x20, x21, asr #55 cmp x22, x23, asr #63 cmp wzr, w0 cmp xzr, x0 +mov sp, x30 +mov wsp, w20 +mov x11, sp +mov w24, wsp #------------------------------------------------------------------------------ # Add-subtract (shifted register) @@ -269,15 +280,11 @@ lsr w3, w2, #0 lsr w9, w10, #31 lsr x20, x21, #63 lsr wzr, wzr, #3 -lsr w3, w2, #0 lsl w9, w10, #31 lsl x20, x21, #63 lsl w1, wzr, #3 -sbfx w9, w10, #0, #1 sbfiz x2, x3, #63, #1 -asr x19, x20, #0 sbfiz x9, x10, #5, #59 -asr w9, w10, #0 sbfiz w11, w12, #31, #1 sbfiz w13, w14, #29, #3 sbfiz xzr, xzr, #10, #11 @@ -289,11 +296,8 @@ asr w9, w10, #0 asr w11, w12, #31 asr w13, w14, #29 sbfx xzr, xzr, #10, #11 -bfxil w9, w10, #0, #1 bfi x2, x3, #63, #1 -bfxil x19, x20, #0, #64 bfi x9, x10, #5, #59 -bfxil w9, w10, #0, #32 bfi w11, w12, #31, #1 bfi w13, w14, #29, #3 bfi xzr, xzr, #10, #11 @@ -305,11 +309,8 @@ bfxil w9, w10, #0, #32 bfxil w11, w12, #31, #1 bfxil w13, w14, #29, #3 bfxil xzr, xzr, #10, #11 -ubfx w9, w10, #0, #1 lsl x2, x3, #63 -lsr x19, x20, #0 lsl x9, x10, #5 -lsr w9, w10, #0 lsl w11, w12, #31 lsl w13, w14, #29 ubfiz xzr, xzr, #10, #11 @@ -332,6 +333,7 @@ cbnz x2, #-4 cbnz x26, #1048572 cbz wzr, #0 cbnz xzr, #0 +cbnz w21, test #------------------------------------------------------------------------------ # Conditional branch (immediate) @@ -440,7 +442,6 @@ cneg x3, x5, gt cneg xzr, x4, le cneg x9, xzr, lt csneg x4, x8, x8, al -csinv w9, w8, w8, nv #------------------------------------------------------------------------------ # Data-processing (1 source) @@ -473,7 +474,7 @@ lsr x20, x21, x22 asr w23, w24, w25 asr x26, x27, x28 ror w0, w1, w2 -ror x3, x4, x5 +ror x3, x4, x5 lsl w6, w7, w8 lsl x9, x10, x11 lsr w12, w13, w14 @@ -487,6 +488,16 @@ ror x27, x28, x29 # Data-processing (3 sources) #------------------------------------------------------------------------------ +crc32cb w30, w23, w15 +crc32cb w31, w12, w14 +crc32cb w28, w10, w11 +crc32b w27, w12, w15 +crc32h w3, w15, w21 +crc32w w9, w18, w24 +crc32x w19, w6, x25 +crc32ch w25, w26, w16 +crc32cw w27, w12, w23 +crc32cx w21, w28, x5 smulh x30, x29, x28 smulh xzr, x27, x26 umulh x30, x29, x28 @@ -529,7 +540,6 @@ umull x19, w20, w21 umsubl x3, w5, w2, x9 umsubl x16, w17, wzr, x18 umnegl x19, w20, w21 -smulh x30, x29, x28 smulh x23, x22, xzr umulh x23, x22, xzr mul x19, x20, xzr @@ -547,26 +557,26 @@ extr w3, w5, w7, #0 extr w11, w13, w17, #31 extr x3, x5, x7, #15 extr x11, x13, x17, #63 -ror x19, x23, #24 -ror x29, xzr, #63 -ror w9, w13, #31 +ror x19, x23, #24 +ror x29, xzr, #63 +ror w9, w13, #31 #------------------------------------------------------------------------------ # Floating-point compare #------------------------------------------------------------------------------ +fcmp h5, h21 +fcmp h5, #0.0 +fcmpe h22, h21 +fcmpe h13, #0.0 fcmp s3, s5 fcmp s31, #0.0 -fcmp s31, #0.0 fcmpe s29, s30 fcmpe s15, #0.0 -fcmpe s15, #0.0 fcmp d4, d12 fcmp d23, #0.0 -fcmp d23, #0.0 fcmpe d26, d22 fcmpe d29, #0.0 -fcmpe d29, #0.0 #------------------------------------------------------------------------------ # Floating-point conditional compare @@ -578,6 +588,8 @@ fccmp s31, s15, #13, hs fccmp d9, d31, #0, le fccmp d3, d0, #15, gt fccmp d31, d5, #7, ne +fccmp h31, h3, #11, hs +fccmpe h6, h1, #12, ne fccmpe s1, s31, #0, eq fccmpe s3, s0, #15, hs fccmpe s31, s15, #13, hs @@ -591,27 +603,38 @@ fccmpe d31, d5, #7, ne fcsel s3, s20, s9, pl fcsel d9, d10, d11, mi +fcsel h26, h2, h11, hs #------------------------------------------------------------------------------ # Floating-point data-processing (1 source) #------------------------------------------------------------------------------ +fmov h18, h28 fmov s0, s1 fabs s2, s3 +fneg h2, h9 fneg s4, s5 fsqrt s6, s7 fcvt d8, s9 fcvt h10, s11 +frintn h12, h3 frintn s12, s13 +frintp h17, h31 frintp s14, s15 +frintm h0, h21 frintm s16, s17 +frintz h10, h29 frintz s18, s19 +frinta h22, h10 frinta s20, s21 +frintx h4, h5 frintx s22, s23 frinti s24, s25 +frinti h31, h14 fmov d0, d1 fabs d2, d3 fneg d4, d5 +fsqrt h13, h24 fsqrt d6, d7 fcvt s8, d9 fcvt h10, d11 @@ -630,13 +653,19 @@ fcvt d28, h29 #------------------------------------------------------------------------------ fmul s20, s19, s17 +fdiv h1, h26, h23 fdiv s1, s2, s3 +fadd h23, h27, h22 fadd s4, s5, s6 +fsub h20, h11, h18 fsub s7, s8, s9 fmax s10, s11, s12 +fmax h8, h7, h11 fmin s13, s14, s15 +fmaxnm h29, h13, h14 fmaxnm s16, s17, s18 fminnm s19, s20, s21 +fnmul h3, h15, h7 fnmul s22, s23, s2 fmul d20, d19, d17 fdiv d1, d2, d3 @@ -644,22 +673,28 @@ fadd d4, d5, d6 fsub d7, d8, d9 fmax d10, d11, d12 fmin d13, d14, d15 +fmin h4, h13, h17 fmaxnm d16, d17, d18 fminnm d19, d20, d21 +fminnm h29, h23, h17 fnmul d22, d23, d24 #------------------------------------------------------------------------------ # Floating-point data-processing (1 source) #------------------------------------------------------------------------------ +fmadd h27, h0, h6, h28 fmadd s3, s5, s6, s31 fmadd d3, d13, d0, d23 +fmsub h25, h28, h12, h24 fmsub s3, s5, s6, s31 fmsub d3, d13, d0, d23 +fnmadd h3, h18, h31, h24 fnmadd s3, s5, s6, s31 fnmadd d3, d13, d0, d23 fnmsub s3, s5, s6, s31 fnmsub d3, d13, d0, d23 +fnmsub h3, h29, h24, h17 #------------------------------------------------------------------------------ # Floating-point <-> fixed-point conversion @@ -814,8 +849,12 @@ fcvtas w25, d26 fcvtas x27, d28 fcvtau w29, d30 fcvtau xzr, d0 +fmov h6, w5 +fmov h16, x27 +fmov w15, h31 fmov w3, s9 fmov s9, w3 +fmov x21, h14 fmov x20, d31 fmov d1, x15 fmov x3, v12.d[1] @@ -825,6 +864,7 @@ fmov v1.d[1], x19 # Floating-point immediate #------------------------------------------------------------------------------ +fmov h29, #0.50000000 fmov s2, #0.12500000 fmov s3, #1.00000000 fmov d30, #16.00000000 @@ -858,13 +898,10 @@ ldxrb w30, [x0] ldxrh w17, [x4] ldxr w22, [sp] ldxr x11, [x29] -ldxr x11, [x29] -ldxr x11, [x29] stxp w12, w11, w10, [sp] stxp wzr, x27, x9, [x12] ldxp w0, wzr, [sp] ldxp x17, x0, [x18] -ldxp x17, x0, [x18] stlxrb w12, w22, [x0] stlxrh w10, w1, [x1] stlxr w9, w2, [x2] @@ -873,25 +910,32 @@ ldaxrb w8, [x4] ldaxrh w7, [x5] ldaxr w6, [sp] ldaxr x5, [x6] -ldaxr x5, [x6] -ldaxr x5, [x6] stlxp w4, w5, w6, [sp] stlxp wzr, x6, x7, [x1] ldaxp w5, w18, [sp] ldaxp x6, x19, [x22] -ldaxp x6, x19, [x22] +ldapur w7, [x24] +ldapur x20, [x13] +ldapurb w13, [x17] +ldapurh w3, [x22] +ldapursb w7, [x8] +ldapursb x29, [x7] +ldapursh w17, [x19] +ldapursh x3, [x3] +ldapursw x3, [x18] stlrb w24, [sp] stlrh w25, [x30] stlr w26, [x29] stlr x27, [x28] -stlr x27, [x28] -stlr x27, [x28] +stlur w3, [x27] +stlur x23, [x25] +stlurb w30, [x17] +stlurh w9, [x29] +ldarb w16, [x21] ldarb w23, [sp] ldarh w22, [x30] ldar wzr, [x29] ldar x21, [x28] -ldar x21, [x28] -ldar x21, [x28] #------------------------------------------------------------------------------ # Load/store (unscaled immediate) @@ -1102,16 +1146,23 @@ ldr w17, [sp, #16380] ldr w13, [x2, #4] ldrsw x2, [x5, #4] ldrsw x23, [sp, #16380] +ldrsw x21, [x25, x7] ldrh w2, [x4] ldrsh w23, [x6, #8190] ldrsh wzr, [sp, #2] ldrsh x29, [x2, #2] +ldrsh x25, [x8, w13, uxtw] ldrb w26, [x3, #121] ldrb w12, [x2] ldrsb w27, [sp, #4095] ldrsb xzr, [x15] +ldrsb x12, [x28, x27] str x30, [sp] str w20, [x4, #16380] +str b5, [x11] +str h23, [x15] +str s25, [x19] +str d15, [x2] strh w17, [sp, #8190] strb w23, [x3, #4095] strb wzr, [x2] @@ -1120,6 +1171,7 @@ ldr h20, [x2, #8190] ldr s10, [x19, #16380] ldr d3, [x10, #32760] str q12, [sp, #65520] +ldr q14, [x6, #4624] #------------------------------------------------------------------------------ # Load/store (register offset) @@ -1130,6 +1182,7 @@ ldrb w9, [x27, x6] ldrsb w10, [x30, x7] ldrb w11, [x29, x3, sxtx] strb w12, [x28, xzr, sxtx] +strb w5, [x26, w7, uxtw] ldrb w14, [x26, w6, uxtw] ldrsb w15, [x25, w7, uxtw] ldrb w17, [x23, w9, sxtw] @@ -1146,6 +1199,18 @@ ldrsh w16, [x24, w8, uxtw #1] ldrh w17, [x23, w9, sxtw] ldrh w18, [x22, w10, sxtw] strh w19, [x21, wzr, sxtw #1] +ldr b25, [x21, w8, uxtw] +ldr b8, [x30, x10] +str b14, [x13, x25] +str b30, [x16, w26, uxtw] +ldr h6, [x4, w4, uxtw] +ldr h11, [x13, x9] +str h16, [x5, x24] +str h15, [x15, w15, uxtw] +ldr s12, [x30, w5, uxtw] +ldr d24, [x26, w7, uxtw] +str s20, [x24, w10, uxtw] +str d5, [x26, x6] ldr w3, [sp, x5] ldr s9, [x27, x6] ldr w10, [x30, x7, lsl #2] @@ -1166,6 +1231,7 @@ ldr x12, [x28, xzr, sxtx] ldr x13, [x27, x5, sxtx #3] prfm pldl1keep, [x26, w6, uxtw] ldr x15, [x25, w7, uxtw] +str x27, [x26, w24, uxtw] ldr x16, [x24, w8, uxtw #3] ldr x17, [x23, w9, sxtw] ldr x18, [x22, w10, sxtw] @@ -1202,6 +1268,8 @@ stp s27, s26, [sp, #-256] ldp s1, s2, [x3, #44] stp d3, d5, [x9, #504] stp d7, d11, [x10, #-512] +stnp x20, x16, [x8] +stp x3, x6, [x16] ldp d2, d3, [x30, #-8] stp q3, q5, [sp] stp q17, q19, [sp, #1008] @@ -1280,6 +1348,12 @@ ldnp q23, q29, [x1, #-1024] # Logical (immediate) #------------------------------------------------------------------------------ +and wsp, w16, #0xe00 +and x2, x22, #0x1e00 +ands w14, w8, #0x70 +ands x4, x10, #0x60 +eor wsp, w4, #0xe00 +eor x27, x25, #0x1e00 mov w3, #983055 mov x10, #-6148914691236517206 @@ -1301,6 +1375,10 @@ and w3, wzr, w20, ror #2 and x7, x20, xzr, asr #63 bic x13, x20, x14, lsl #47 bic w2, w7, w9 +eon w29, w4, w19 +eon x19, x12, x2 +eor w8, w27, w2 +eor x22, x16, x6 orr w2, w7, w0, asr #31 orr x8, x9, x10, lsl #12 orn x3, x5, x7, asr #2 @@ -1332,6 +1410,12 @@ movk x7, #0, lsl #32 movz x8, #0, lsl #48 movk x9, #0, lsl #48 +#------------------------------------------------------------------------------ +# Move immediate to Special Register +#------------------------------------------------------------------------------ + +msr DAIFSet, #0 + #------------------------------------------------------------------------------ # PC-relative addressing #------------------------------------------------------------------------------ @@ -1347,7 +1431,9 @@ adr x0, #262144 tbz x12, #62, #0 tbz x12, #62, #4 tbz x12, #62, #-32768 +tbz w17, #16, test tbnz x12, #60, #32764 +tbnz w3, #28, test #------------------------------------------------------------------------------ # Unconditional branch (immediate) @@ -1356,6 +1442,7 @@ tbnz x12, #60, #32764 b #4 b #-4 b #134217724 +bl test #------------------------------------------------------------------------------ # Unconditional branch (register) @@ -1396,16 +1483,16 @@ drps # CHECK-NEXT: 1 1 0.33 cmn w2, #4095 # CHECK-NEXT: 1 1 0.33 adds w20, wsp, #0 # CHECK-NEXT: 1 1 0.33 cmn x3, #1, lsl #12 +# CHECK-NEXT: 1 1 0.33 cmp wsp, #2342 # CHECK-NEXT: 1 1 0.33 cmp sp, #20, lsl #12 # CHECK-NEXT: 1 1 0.33 cmp x30, #4095 # CHECK-NEXT: 1 1 0.33 subs x4, sp, #3822 # CHECK-NEXT: 1 1 0.33 cmn w3, #291, lsl #12 # CHECK-NEXT: 1 1 0.33 cmn wsp, #1365 # CHECK-NEXT: 1 1 0.33 cmn sp, #1092, lsl #12 -# CHECK-NEXT: 1 1 0.25 mov sp, x30 -# CHECK-NEXT: 1 1 0.25 mov wsp, w20 -# CHECK-NEXT: 1 1 0.25 mov x11, sp -# CHECK-NEXT: 1 1 0.25 mov w24, wsp +# CHECK-NEXT: 1 1 0.25 mov x10, #-63432 +# CHECK-NEXT: 1 2 0.50 add wsp, wsp, w10 +# CHECK-NEXT: 1 2 0.50 add x25, x9, w25, uxtb # CHECK-NEXT: 1 1 0.25 add w3, w5, w7 # CHECK-NEXT: 1 1 0.25 add wzr, w3, w5 # CHECK-NEXT: 1 1 0.25 add w20, wzr, w4 @@ -1433,6 +1520,8 @@ drps # CHECK-NEXT: 1 2 0.50 add x5, x6, x7, asr #21 # CHECK-NEXT: 1 2 0.50 add x8, x9, x10, asr #63 # CHECK-NEXT: 1 1 0.33 adds w3, w5, w7 +# CHECK-NEXT: 1 2 0.50 adds w17, wsp, w25 +# CHECK-NEXT: 1 1 0.33 adds x13, x23, w8, uxtb # CHECK-NEXT: 1 1 0.33 cmn w3, w5 # CHECK-NEXT: 1 1 0.33 adds w20, wzr, w4 # CHECK-NEXT: 1 1 0.33 adds w4, w6, wzr @@ -1482,6 +1571,9 @@ drps # CHECK-NEXT: 1 2 0.50 sub x2, x3, x4, asr #0 # CHECK-NEXT: 1 2 0.50 sub x5, x6, x7, asr #21 # CHECK-NEXT: 1 2 0.50 sub x8, x9, x10, asr #63 +# CHECK-NEXT: 1 2 0.50 sub w13, wsp, w10 +# CHECK-NEXT: 1 2 0.50 sub x16, x2, w19, uxtb +# CHECK-NEXT: 1 2 0.50 subs x13, x15, x14, sxtx #1 # CHECK-NEXT: 1 1 0.33 subs w3, w5, w7 # CHECK-NEXT: 1 1 0.33 cmp w3, w5 # CHECK-NEXT: 1 1 0.33 subs w4, w6, wzr @@ -1540,6 +1632,8 @@ drps # CHECK-NEXT: 1 2 0.50 cmp w18, w19, asr #0 # CHECK-NEXT: 1 2 0.50 cmp w20, w21, asr #22 # CHECK-NEXT: 1 2 0.50 cmp w22, w23, asr #31 +# CHECK-NEXT: 1 2 0.50 cmp wsp, w26 +# CHECK-NEXT: 1 1 0.33 cmp x16, w27, uxtb # CHECK-NEXT: 1 1 0.33 cmp x0, x3 # CHECK-NEXT: 1 1 0.33 cmp xzr, x4 # CHECK-NEXT: 1 1 0.33 cmp x5, xzr @@ -1554,6 +1648,10 @@ drps # CHECK-NEXT: 1 2 0.50 cmp x22, x23, asr #63 # CHECK-NEXT: 1 1 0.33 cmp wzr, w0 # CHECK-NEXT: 1 1 0.33 cmp xzr, x0 +# CHECK-NEXT: 1 1 0.25 mov sp, x30 +# CHECK-NEXT: 1 1 0.25 mov wsp, w20 +# CHECK-NEXT: 1 1 0.25 mov x11, sp +# CHECK-NEXT: 1 1 0.25 mov w24, wsp # CHECK-NEXT: 1 1 0.25 adc w29, w27, w25 # CHECK-NEXT: 1 1 0.25 adc wzr, w3, w4 # CHECK-NEXT: 1 1 0.25 adc w9, wzr, w10 @@ -1626,15 +1724,11 @@ drps # CHECK-NEXT: 1 1 0.25 lsr w9, w10, #31 # CHECK-NEXT: 1 1 0.25 lsr x20, x21, #63 # CHECK-NEXT: 1 1 0.25 lsr wzr, wzr, #3 -# CHECK-NEXT: 1 1 0.25 lsr w3, w2, #0 # CHECK-NEXT: 1 1 0.25 lsl w9, w10, #31 # CHECK-NEXT: 1 1 0.25 lsl x20, x21, #63 # CHECK-NEXT: 1 1 0.25 lsl w1, wzr, #3 -# CHECK-NEXT: 1 1 0.25 sbfx w9, w10, #0, #1 # CHECK-NEXT: 1 1 0.25 sbfiz x2, x3, #63, #1 -# CHECK-NEXT: 1 1 0.25 asr x19, x20, #0 # CHECK-NEXT: 1 1 0.25 sbfiz x9, x10, #5, #59 -# CHECK-NEXT: 1 1 0.25 asr w9, w10, #0 # CHECK-NEXT: 1 1 0.25 sbfiz w11, w12, #31, #1 # CHECK-NEXT: 1 1 0.25 sbfiz w13, w14, #29, #3 # CHECK-NEXT: 1 1 0.25 sbfiz xzr, xzr, #10, #11 @@ -1646,11 +1740,8 @@ drps # CHECK-NEXT: 1 1 0.25 asr w11, w12, #31 # CHECK-NEXT: 1 1 0.25 asr w13, w14, #29 # CHECK-NEXT: 1 1 0.25 sbfx xzr, xzr, #10, #11 -# CHECK-NEXT: 1 2 0.50 bfxil w9, w10, #0, #1 # CHECK-NEXT: 1 2 0.50 bfi x2, x3, #63, #1 -# CHECK-NEXT: 1 2 0.50 bfxil x19, x20, #0, #64 # CHECK-NEXT: 1 2 0.50 bfi x9, x10, #5, #59 -# CHECK-NEXT: 1 2 0.50 bfxil w9, w10, #0, #32 # CHECK-NEXT: 1 2 0.50 bfi w11, w12, #31, #1 # CHECK-NEXT: 1 2 0.50 bfi w13, w14, #29, #3 # CHECK-NEXT: 1 2 0.50 bfc xzr, #10, #11 @@ -1662,11 +1753,8 @@ drps # CHECK-NEXT: 1 2 0.50 bfxil w11, w12, #31, #1 # CHECK-NEXT: 1 2 0.50 bfxil w13, w14, #29, #3 # CHECK-NEXT: 1 2 0.50 bfxil xzr, xzr, #10, #11 -# CHECK-NEXT: 1 1 0.25 ubfx w9, w10, #0, #1 # CHECK-NEXT: 1 1 0.25 lsl x2, x3, #63 -# CHECK-NEXT: 1 1 0.25 lsr x19, x20, #0 # CHECK-NEXT: 1 1 0.25 lsl x9, x10, #5 -# CHECK-NEXT: 1 1 0.25 lsr w9, w10, #0 # CHECK-NEXT: 1 1 0.25 lsl w11, w12, #31 # CHECK-NEXT: 1 1 0.25 lsl w13, w14, #29 # CHECK-NEXT: 1 1 0.25 ubfiz xzr, xzr, #10, #11 @@ -1684,6 +1772,7 @@ drps # CHECK-NEXT: 1 1 0.50 cbnz x26, #1048572 # CHECK-NEXT: 1 1 0.50 cbz wzr, #0 # CHECK-NEXT: 1 1 0.50 cbnz xzr, #0 +# CHECK-NEXT: 1 1 0.50 cbnz w21, test # CHECK-NEXT: 1 1 0.50 b.ne #4 # CHECK-NEXT: 1 1 0.50 b.ge #1048572 # CHECK-NEXT: 1 1 0.50 b.ge #-4 @@ -1772,7 +1861,6 @@ drps # CHECK-NEXT: 1 1 0.25 cneg xzr, x4, le # CHECK-NEXT: 1 1 0.25 cneg x9, xzr, lt # CHECK-NEXT: 1 1 0.25 csneg x4, x8, x8, al -# CHECK-NEXT: 1 1 0.25 csinv w9, w8, w8, nv # CHECK-NEXT: 1 1 0.25 rbit w0, w7 # CHECK-NEXT: 1 1 0.25 rbit x18, x3 # CHECK-NEXT: 1 1 0.25 rev16 w17, w1 @@ -1804,6 +1892,16 @@ drps # CHECK-NEXT: 1 1 0.25 asr x21, x22, x23 # CHECK-NEXT: 1 1 0.25 ror w24, w25, w26 # CHECK-NEXT: 1 1 0.25 ror x27, x28, x29 +# CHECK-NEXT: 1 2 1.00 crc32cb w30, w23, w15 +# CHECK-NEXT: 1 2 1.00 crc32cb wzr, w12, w14 +# CHECK-NEXT: 1 2 1.00 crc32cb w28, w10, w11 +# CHECK-NEXT: 1 2 1.00 crc32b w27, w12, w15 +# CHECK-NEXT: 1 2 1.00 crc32h w3, w15, w21 +# CHECK-NEXT: 1 2 1.00 crc32w w9, w18, w24 +# CHECK-NEXT: 1 2 1.00 crc32x w19, w6, x25 +# CHECK-NEXT: 1 2 1.00 crc32ch w25, w26, w16 +# CHECK-NEXT: 1 2 1.00 crc32cw w27, w12, w23 +# CHECK-NEXT: 1 2 1.00 crc32cx w21, w28, x5 # CHECK-NEXT: 1 3 0.50 smulh x30, x29, x28 # CHECK-NEXT: 1 3 0.50 smulh xzr, x27, x26 # CHECK-NEXT: 1 3 0.50 umulh x30, x29, x28 @@ -1846,7 +1944,6 @@ drps # CHECK-NEXT: 1 2 1.00 umsubl x3, w5, w2, x9 # CHECK-NEXT: 1 2 1.00 umsubl x16, w17, wzr, x18 # CHECK-NEXT: 1 2 0.50 umnegl x19, w20, w21 -# CHECK-NEXT: 1 3 0.50 smulh x30, x29, x28 # CHECK-NEXT: 1 3 0.50 smulh x23, x22, xzr # CHECK-NEXT: 1 3 0.50 umulh x23, x22, xzr # CHECK-NEXT: 1 2 0.50 mul x19, x20, xzr @@ -1862,24 +1959,26 @@ drps # CHECK-NEXT: 1 1 0.25 ror x19, x23, #24 # CHECK-NEXT: 1 1 0.25 ror x29, xzr, #63 # CHECK-NEXT: 1 1 0.25 ror w9, w13, #31 +# CHECK-NEXT: 1 2 1.00 fcmp h5, h21 +# CHECK-NEXT: 1 2 1.00 fcmp h5, #0.0 +# CHECK-NEXT: 1 2 1.00 fcmpe h22, h21 +# CHECK-NEXT: 1 2 1.00 fcmpe h13, #0.0 # CHECK-NEXT: 1 2 1.00 fcmp s3, s5 # CHECK-NEXT: 1 2 1.00 fcmp s31, #0.0 -# CHECK-NEXT: 1 2 1.00 fcmp s31, #0.0 # CHECK-NEXT: 1 2 1.00 fcmpe s29, s30 # CHECK-NEXT: 1 2 1.00 fcmpe s15, #0.0 -# CHECK-NEXT: 1 2 1.00 fcmpe s15, #0.0 # CHECK-NEXT: 1 2 1.00 fcmp d4, d12 # CHECK-NEXT: 1 2 1.00 fcmp d23, #0.0 -# CHECK-NEXT: 1 2 1.00 fcmp d23, #0.0 # CHECK-NEXT: 1 2 1.00 fcmpe d26, d22 # CHECK-NEXT: 1 2 1.00 fcmpe d29, #0.0 -# CHECK-NEXT: 1 2 1.00 fcmpe d29, #0.0 # CHECK-NEXT: 1 2 1.00 fccmp s1, s31, #0, eq # CHECK-NEXT: 1 2 1.00 fccmp s3, s0, #15, hs # CHECK-NEXT: 1 2 1.00 fccmp s31, s15, #13, hs # CHECK-NEXT: 1 2 1.00 fccmp d9, d31, #0, le # CHECK-NEXT: 1 2 1.00 fccmp d3, d0, #15, gt # CHECK-NEXT: 1 2 1.00 fccmp d31, d5, #7, ne +# CHECK-NEXT: 1 2 1.00 fccmp h31, h3, #11, hs +# CHECK-NEXT: 1 2 1.00 fccmpe h6, h1, #12, ne # CHECK-NEXT: 1 2 1.00 fccmpe s1, s31, #0, eq # CHECK-NEXT: 1 2 1.00 fccmpe s3, s0, #15, hs # CHECK-NEXT: 1 2 1.00 fccmpe s31, s15, #13, hs @@ -1888,22 +1987,33 @@ drps # CHECK-NEXT: 1 2 1.00 fccmpe d31, d5, #7, ne # CHECK-NEXT: 1 2 0.50 fcsel s3, s20, s9, pl # CHECK-NEXT: 1 2 0.50 fcsel d9, d10, d11, mi +# CHECK-NEXT: 1 2 0.50 fcsel h26, h2, h11, hs +# CHECK-NEXT: 1 2 0.25 fmov h18, h28 # CHECK-NEXT: 1 2 0.25 fmov s0, s1 # CHECK-NEXT: 1 2 0.25 fabs s2, s3 +# CHECK-NEXT: 1 2 0.25 fneg h2, h9 # CHECK-NEXT: 1 2 0.25 fneg s4, s5 # CHECK-NEXT: 1 10 3.50 fsqrt s6, s7 # CHECK-NEXT: 1 3 0.50 fcvt d8, s9 # CHECK-NEXT: 1 3 0.50 fcvt h10, s11 +# CHECK-NEXT: 1 3 0.50 frintn h12, h3 # CHECK-NEXT: 1 3 0.50 frintn s12, s13 +# CHECK-NEXT: 1 3 0.50 frintp h17, h31 # CHECK-NEXT: 1 3 0.50 frintp s14, s15 +# CHECK-NEXT: 1 3 0.50 frintm h0, h21 # CHECK-NEXT: 1 3 0.50 frintm s16, s17 +# CHECK-NEXT: 1 3 0.50 frintz h10, h29 # CHECK-NEXT: 1 3 0.50 frintz s18, s19 +# CHECK-NEXT: 1 3 0.50 frinta h22, h10 # CHECK-NEXT: 1 3 0.50 frinta s20, s21 +# CHECK-NEXT: 1 3 0.50 frintx h4, h5 # CHECK-NEXT: 1 3 0.50 frintx s22, s23 # CHECK-NEXT: 1 3 0.50 frinti s24, s25 +# CHECK-NEXT: 1 3 0.50 frinti h31, h14 # CHECK-NEXT: 1 2 0.25 fmov d0, d1 # CHECK-NEXT: 1 2 0.25 fabs d2, d3 # CHECK-NEXT: 1 2 0.25 fneg d4, d5 +# CHECK-NEXT: 1 7 3.50 fsqrt h13, h24 # CHECK-NEXT: 1 16 3.50 fsqrt d6, d7 # CHECK-NEXT: 1 3 0.50 fcvt s8, d9 # CHECK-NEXT: 1 3 0.50 fcvt h10, d11 @@ -1917,13 +2027,19 @@ drps # CHECK-NEXT: 1 3 0.50 fcvt s26, h27 # CHECK-NEXT: 1 3 0.50 fcvt d28, h29 # CHECK-NEXT: 1 3 0.25 fmul s20, s19, s17 +# CHECK-NEXT: 1 7 3.50 fdiv h1, h26, h23 # CHECK-NEXT: 1 10 3.50 fdiv s1, s2, s3 +# CHECK-NEXT: 1 2 0.25 fadd h23, h27, h22 # CHECK-NEXT: 1 2 0.25 fadd s4, s5, s6 +# CHECK-NEXT: 1 2 0.25 fsub h20, h11, h18 # CHECK-NEXT: 1 2 0.25 fsub s7, s8, s9 # CHECK-NEXT: 1 2 0.25 fmax s10, s11, s12 +# CHECK-NEXT: 1 2 0.25 fmax h8, h7, h11 # CHECK-NEXT: 1 2 0.25 fmin s13, s14, s15 +# CHECK-NEXT: 1 2 0.25 fmaxnm h29, h13, h14 # CHECK-NEXT: 1 2 0.25 fmaxnm s16, s17, s18 # CHECK-NEXT: 1 2 0.25 fminnm s19, s20, s21 +# CHECK-NEXT: 1 3 0.25 fnmul h3, h15, h7 # CHECK-NEXT: 1 3 0.25 fnmul s22, s23, s2 # CHECK-NEXT: 1 3 0.25 fmul d20, d19, d17 # CHECK-NEXT: 1 15 3.50 fdiv d1, d2, d3 @@ -1931,17 +2047,23 @@ drps # CHECK-NEXT: 1 2 0.25 fsub d7, d8, d9 # CHECK-NEXT: 1 2 0.25 fmax d10, d11, d12 # CHECK-NEXT: 1 2 0.25 fmin d13, d14, d15 +# CHECK-NEXT: 1 2 0.25 fmin h4, h13, h17 # CHECK-NEXT: 1 2 0.25 fmaxnm d16, d17, d18 # CHECK-NEXT: 1 2 0.25 fminnm d19, d20, d21 +# CHECK-NEXT: 1 2 0.25 fminnm h29, h23, h17 # CHECK-NEXT: 1 3 0.25 fnmul d22, d23, d24 +# CHECK-NEXT: 1 4 0.25 fmadd h27, h0, h6, h28 # CHECK-NEXT: 1 4 0.25 fmadd s3, s5, s6, s31 # CHECK-NEXT: 1 4 0.25 fmadd d3, d13, d0, d23 +# CHECK-NEXT: 1 4 0.25 fmsub h25, h28, h12, h24 # CHECK-NEXT: 1 4 0.25 fmsub s3, s5, s6, s31 # CHECK-NEXT: 1 4 0.25 fmsub d3, d13, d0, d23 +# CHECK-NEXT: 1 4 0.25 fnmadd h3, h18, h31, h24 # CHECK-NEXT: 1 4 0.25 fnmadd s3, s5, s6, s31 # CHECK-NEXT: 1 4 0.25 fnmadd d3, d13, d0, d23 # CHECK-NEXT: 1 4 0.25 fnmsub s3, s5, s6, s31 # CHECK-NEXT: 1 4 0.25 fnmsub d3, d13, d0, d23 +# CHECK-NEXT: 1 4 0.25 fnmsub h3, h29, h24, h17 # CHECK-NEXT: 1 3 0.50 fcvtzs w3, h5, #1 # CHECK-NEXT: 1 3 0.50 fcvtzs wzr, h20, #13 # CHECK-NEXT: 1 3 0.50 fcvtzs w19, h0, #32 @@ -2086,12 +2208,17 @@ drps # CHECK-NEXT: 1 3 1.00 fcvtas x27, d28 # CHECK-NEXT: 1 3 1.00 fcvtau w29, d30 # CHECK-NEXT: 1 3 1.00 fcvtau xzr, d0 +# CHECK-NEXT: 1 3 1.00 fmov h6, w5 +# CHECK-NEXT: 1 3 1.00 fmov h16, x27 +# CHECK-NEXT: 1 2 1.00 fmov w15, h31 # CHECK-NEXT: 1 2 1.00 fmov w3, s9 # CHECK-NEXT: 1 3 1.00 fmov s9, w3 +# CHECK-NEXT: 1 2 1.00 fmov x21, h14 # CHECK-NEXT: 1 2 1.00 fmov x20, d31 # CHECK-NEXT: 1 3 1.00 fmov d1, x15 # CHECK-NEXT: 1 2 1.00 fmov x3, v12.d[1] # CHECK-NEXT: 2 5 1.00 fmov v1.d[1], x19 +# CHECK-NEXT: 1 2 0.25 fmov h29, #0.50000000 # CHECK-NEXT: 1 2 0.25 fmov s2, #0.12500000 # CHECK-NEXT: 1 2 0.25 fmov s3, #1.00000000 # CHECK-NEXT: 1 2 0.25 fmov d30, #16.00000000 @@ -2115,13 +2242,10 @@ drps # CHECK-NEXT: 1 4 0.33 * * U ldxrh w17, [x4] # CHECK-NEXT: 1 4 0.33 * * U ldxr w22, [sp] # CHECK-NEXT: 1 4 0.33 * * U ldxr x11, [x29] -# CHECK-NEXT: 1 4 0.33 * * U ldxr x11, [x29] -# CHECK-NEXT: 1 4 0.33 * * U ldxr x11, [x29] # CHECK-NEXT: 3 5 0.67 * * U stxp w12, w11, w10, [sp] # CHECK-NEXT: 3 5 0.67 * * U stxp wzr, x27, x9, [x12] # CHECK-NEXT: 2 4 0.67 * * U ldxp w0, wzr, [sp] # CHECK-NEXT: 2 4 0.67 * * U ldxp x17, x0, [x18] -# CHECK-NEXT: 2 4 0.67 * * U ldxp x17, x0, [x18] # CHECK-NEXT: 3 5 0.67 * * U stlxrb w12, w22, [x0] # CHECK-NEXT: 3 5 0.67 * * U stlxrh w10, w1, [x1] # CHECK-NEXT: 3 5 0.67 * * U stlxr w9, w2, [x2] @@ -2130,25 +2254,32 @@ drps # CHECK-NEXT: 1 4 0.33 * * U ldaxrh w7, [x5] # CHECK-NEXT: 1 4 0.33 * * U ldaxr w6, [sp] # CHECK-NEXT: 1 4 0.33 * * U ldaxr x5, [x6] -# CHECK-NEXT: 1 4 0.33 * * U ldaxr x5, [x6] -# CHECK-NEXT: 1 4 0.33 * * U ldaxr x5, [x6] # CHECK-NEXT: 3 5 0.67 * * U stlxp w4, w5, w6, [sp] # CHECK-NEXT: 3 5 0.67 * * U stlxp wzr, x6, x7, [x1] # CHECK-NEXT: 2 4 0.67 * * U ldaxp w5, w18, [sp] # CHECK-NEXT: 2 4 0.67 * * U ldaxp x6, x19, [x22] -# CHECK-NEXT: 2 4 0.67 * * U ldaxp x6, x19, [x22] +# CHECK-NEXT: 2 1 0.50 * ldapur w7, [x24] +# CHECK-NEXT: 2 1 0.50 * ldapur x20, [x13] +# CHECK-NEXT: 2 1 0.50 * ldapurb w13, [x17] +# CHECK-NEXT: 2 1 0.50 * ldapurh w3, [x22] +# CHECK-NEXT: 2 1 0.50 U ldapursb w7, [x8] +# CHECK-NEXT: 2 1 0.50 U ldapursb x29, [x7] +# CHECK-NEXT: 2 1 0.50 U ldapursh w17, [x19] +# CHECK-NEXT: 2 1 0.50 U ldapursh x3, [x3] +# CHECK-NEXT: 2 1 0.50 U ldapursw x3, [x18] # CHECK-NEXT: 2 1 0.50 * U stlrb w24, [sp] # CHECK-NEXT: 2 1 0.50 * U stlrh w25, [x30] # CHECK-NEXT: 2 1 0.50 * U stlr w26, [x29] # CHECK-NEXT: 2 1 0.50 * U stlr x27, [x28] -# CHECK-NEXT: 2 1 0.50 * U stlr x27, [x28] -# CHECK-NEXT: 2 1 0.50 * U stlr x27, [x28] +# CHECK-NEXT: 2 1 0.50 * stlur w3, [x27] +# CHECK-NEXT: 2 1 0.50 * stlur x23, [x25] +# CHECK-NEXT: 2 1 0.50 * stlurb w30, [x17] +# CHECK-NEXT: 2 1 0.50 * stlurh w9, [x29] +# CHECK-NEXT: 1 4 0.33 * U ldarb w16, [x21] # CHECK-NEXT: 1 4 0.33 * U ldarb w23, [sp] # CHECK-NEXT: 1 4 0.33 * U ldarh w22, [x30] # CHECK-NEXT: 1 4 0.33 * U ldar wzr, [x29] # CHECK-NEXT: 1 4 0.33 * U ldar x21, [x28] -# CHECK-NEXT: 1 4 0.33 * U ldar x21, [x28] -# CHECK-NEXT: 1 4 0.33 * U ldar x21, [x28] # CHECK-NEXT: 2 1 0.50 * sturb w9, [sp] # CHECK-NEXT: 2 1 0.50 * sturh wzr, [x12, #255] # CHECK-NEXT: 2 1 0.50 * stur w16, [x0, #-256] @@ -2334,16 +2465,23 @@ drps # CHECK-NEXT: 1 4 0.33 * ldr w13, [x2, #4] # CHECK-NEXT: 1 4 0.33 * ldrsw x2, [x5, #4] # CHECK-NEXT: 1 4 0.33 * ldrsw x23, [sp, #16380] +# CHECK-NEXT: 1 4 0.33 * ldrsw x21, [x25, x7] # CHECK-NEXT: 1 4 0.33 * ldrh w2, [x4] # CHECK-NEXT: 1 4 0.33 * ldrsh w23, [x6, #8190] # CHECK-NEXT: 1 4 0.33 * ldrsh wzr, [sp, #2] # CHECK-NEXT: 1 4 0.33 * ldrsh x29, [x2, #2] +# CHECK-NEXT: 1 4 0.33 * ldrsh x25, [x8, w13, uxtw] # CHECK-NEXT: 1 4 0.33 * ldrb w26, [x3, #121] # CHECK-NEXT: 1 4 0.33 * ldrb w12, [x2] # CHECK-NEXT: 1 4 0.33 * ldrsb w27, [sp, #4095] # CHECK-NEXT: 1 4 0.33 * ldrsb xzr, [x15] +# CHECK-NEXT: 1 4 0.33 * ldrsb x12, [x28, x27] # CHECK-NEXT: 2 1 0.50 * str x30, [sp] # CHECK-NEXT: 2 1 0.50 * str w20, [x4, #16380] +# CHECK-NEXT: 2 2 0.50 * str b5, [x11] +# CHECK-NEXT: 2 2 0.50 * str h23, [x15] +# CHECK-NEXT: 2 2 0.50 * str s25, [x19] +# CHECK-NEXT: 2 2 0.50 * str d15, [x2] # CHECK-NEXT: 2 1 0.50 * strh w17, [sp, #8190] # CHECK-NEXT: 2 1 0.50 * strb w23, [x3, #4095] # CHECK-NEXT: 2 1 0.50 * strb wzr, [x2] @@ -2352,11 +2490,13 @@ drps # CHECK-NEXT: 1 6 0.33 * ldr s10, [x19, #16380] # CHECK-NEXT: 1 6 0.33 * ldr d3, [x10, #32760] # CHECK-NEXT: 2 2 0.50 * str q12, [sp, #65520] +# CHECK-NEXT: 1 6 0.33 * ldr q14, [x6, #4624] # CHECK-NEXT: 1 4 0.33 * ldrb w3, [sp, x5] # CHECK-NEXT: 1 4 0.33 * ldrb w9, [x27, x6] # CHECK-NEXT: 1 4 0.33 * ldrsb w10, [x30, x7] # CHECK-NEXT: 1 4 0.33 * ldrb w11, [x29, x3, sxtx] # CHECK-NEXT: 2 1 0.50 * strb w12, [x28, xzr, sxtx] +# CHECK-NEXT: 2 1 0.50 * strb w5, [x26, w7, uxtw] # CHECK-NEXT: 1 4 0.33 * ldrb w14, [x26, w6, uxtw] # CHECK-NEXT: 1 4 0.33 * ldrsb w15, [x25, w7, uxtw] # CHECK-NEXT: 1 4 0.33 * ldrb w17, [x23, w9, sxtw] @@ -2373,6 +2513,18 @@ drps # CHECK-NEXT: 1 4 0.33 * ldrh w17, [x23, w9, sxtw] # CHECK-NEXT: 1 4 0.33 * ldrh w18, [x22, w10, sxtw] # CHECK-NEXT: 2 1 0.50 * strh w19, [x21, wzr, sxtw #1] +# CHECK-NEXT: 1 6 0.33 * ldr b25, [x21, w8, uxtw] +# CHECK-NEXT: 1 6 0.33 * ldr b8, [x30, x10] +# CHECK-NEXT: 2 2 0.50 * str b14, [x13, x25] +# CHECK-NEXT: 2 2 0.50 * str b30, [x16, w26, uxtw] +# CHECK-NEXT: 2 7 0.33 * ldr h6, [x4, w4, uxtw] +# CHECK-NEXT: 2 7 0.33 * ldr h11, [x13, x9] +# CHECK-NEXT: 3 2 0.50 * str h16, [x5, x24] +# CHECK-NEXT: 3 2 0.50 * str h15, [x15, w15, uxtw] +# CHECK-NEXT: 1 6 0.33 * ldr s12, [x30, w5, uxtw] +# CHECK-NEXT: 1 6 0.33 * ldr d24, [x26, w7, uxtw] +# CHECK-NEXT: 2 2 0.50 * str s20, [x24, w10, uxtw] +# CHECK-NEXT: 2 2 0.50 * str d5, [x26, x6] # CHECK-NEXT: 1 4 0.33 * ldr w3, [sp, x5] # CHECK-NEXT: 1 6 0.33 * ldr s9, [x27, x6] # CHECK-NEXT: 1 4 0.33 * ldr w10, [x30, x7, lsl #2] @@ -2393,6 +2545,7 @@ drps # CHECK-NEXT: 1 4 0.33 * ldr x13, [x27, x5, sxtx #3] # CHECK-NEXT: 1 4 0.33 U prfm pldl1keep, [x26, w6, uxtw] # CHECK-NEXT: 1 4 0.33 * ldr x15, [x25, w7, uxtw] +# CHECK-NEXT: 2 1 0.50 * str x27, [x26, w24, uxtw] # CHECK-NEXT: 1 4 0.33 * ldr x16, [x24, w8, uxtw #3] # CHECK-NEXT: 1 4 0.33 * ldr x17, [x23, w9, sxtw] # CHECK-NEXT: 1 4 0.33 * ldr x18, [x22, w10, sxtw] @@ -2424,6 +2577,8 @@ drps # CHECK-NEXT: 1 6 0.33 * ldp s1, s2, [x3, #44] # CHECK-NEXT: 2 2 0.50 * stp d3, d5, [x9, #504] # CHECK-NEXT: 2 2 0.50 * stp d7, d11, [x10, #-512] +# CHECK-NEXT: 2 1 0.50 * stnp x20, x16, [x8] +# CHECK-NEXT: 2 1 0.50 * stp x3, x6, [x16] # CHECK-NEXT: 1 6 0.33 * ldp d2, d3, [x30, #-8] # CHECK-NEXT: 2 2 0.50 * stp q3, q5, [sp] # CHECK-NEXT: 2 2 0.50 * stp q17, q19, [sp, #1008] @@ -2482,6 +2637,12 @@ drps # CHECK-NEXT: 2 2 0.50 * stnp q3, q5, [sp] # CHECK-NEXT: 2 2 0.50 * stnp q17, q19, [sp, #1008] # CHECK-NEXT: 2 6 0.67 * ldnp q23, q29, [x1, #-1024] +# CHECK-NEXT: 1 1 0.25 and wsp, w16, #0xe00 +# CHECK-NEXT: 1 1 0.25 and x2, x22, #0x1e00 +# CHECK-NEXT: 1 1 0.33 ands w14, w8, #0x70 +# CHECK-NEXT: 1 1 0.33 ands x4, x10, #0x60 +# CHECK-NEXT: 1 1 0.25 eor wsp, w4, #0xe00 +# CHECK-NEXT: 1 1 0.25 eor x27, x25, #0x1e00 # CHECK-NEXT: 1 1 0.25 mov w3, #983055 # CHECK-NEXT: 1 1 0.25 mov x10, #-6148914691236517206 # CHECK-NEXT: 1 1 0.25 and w12, w23, w21 @@ -2498,6 +2659,10 @@ drps # CHECK-NEXT: 1 1 0.25 and x7, x20, xzr, asr #63 # CHECK-NEXT: 1 1 0.25 bic x13, x20, x14, lsl #47 # CHECK-NEXT: 1 1 0.25 bic w2, w7, w9 +# CHECK-NEXT: 1 1 0.25 eon w29, w4, w19 +# CHECK-NEXT: 1 1 0.25 eon x19, x12, x2 +# CHECK-NEXT: 1 1 0.25 eor w8, w27, w2 +# CHECK-NEXT: 1 1 0.25 eor x22, x16, x6 # CHECK-NEXT: 1 1 0.25 orr w2, w7, w0, asr #31 # CHECK-NEXT: 1 1 0.25 orr x8, x9, x10, lsl #12 # CHECK-NEXT: 1 1 0.25 orn x3, x5, x7, asr #2 @@ -2523,16 +2688,20 @@ drps # CHECK-NEXT: 1 1 0.25 movk x7, #0, lsl #32 # CHECK-NEXT: 1 1 0.25 movz x8, #0, lsl #48 # CHECK-NEXT: 1 1 0.25 movk x9, #0, lsl #48 +# CHECK-NEXT: 1 1 0.07 U msr DAIFSet, #0 # CHECK-NEXT: 1 1 0.25 adr x2, #1600 # CHECK-NEXT: 1 1 0.25 adrp x21, #6553600 # CHECK-NEXT: 1 1 0.25 adr x0, #262144 # CHECK-NEXT: 1 1 0.50 tbz x12, #62, #0 # CHECK-NEXT: 1 1 0.50 tbz x12, #62, #4 # CHECK-NEXT: 1 1 0.50 tbz x12, #62, #-32768 +# CHECK-NEXT: 1 1 0.50 tbz w17, #16, test # CHECK-NEXT: 1 1 0.50 tbnz x12, #60, #32764 +# CHECK-NEXT: 1 1 0.50 tbnz w3, #28, test # CHECK-NEXT: 1 1 0.50 b #4 # CHECK-NEXT: 1 1 0.50 b #-4 # CHECK-NEXT: 1 1 0.50 b #134217724 +# CHECK-NEXT: 2 1 0.50 bl test # CHECK-NEXT: 1 1 0.50 br x20 # CHECK-NEXT: 2 1 0.50 blr xzr # CHECK-NEXT: 1 1 0.50 U ret x10 @@ -2562,7 +2731,7 @@ drps # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] -# CHECK-NEXT: 11.00 11.00 33.00 33.00 45.33 45.33 45.33 96.33 162.33 162.33 306.50 205.50 139.00 139.00 167.50 44.50 51.50 9.50 +# CHECK-NEXT: 13.00 13.00 40.50 40.50 48.00 48.00 48.00 96.67 175.17 175.17 322.50 209.50 142.00 142.00 189.00 55.50 65.50 13.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions: @@ -2585,16 +2754,16 @@ drps # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmn w2, #4095 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - adds w20, wsp, #0 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmn x3, #1, lsl #12 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp wsp, #2342 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp sp, #20, lsl #12 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp x30, #4095 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - subs x4, sp, #3822 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmn w3, #291, lsl #12 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmn wsp, #1365 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmn sp, #1092, lsl #12 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov sp, x30 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov wsp, w20 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov x11, sp -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov w24, wsp +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov x10, #-63432 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - add wsp, wsp, w10 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - add x25, x9, w25, uxtb # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - add w3, w5, w7 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - add wzr, w3, w5 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - add w20, wzr, w4 @@ -2622,6 +2791,8 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - add x5, x6, x7, asr #21 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - add x8, x9, x10, asr #63 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - adds w3, w5, w7 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - adds w17, wsp, w25 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - adds x13, x23, w8, uxtb # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmn w3, w5 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - adds w20, wzr, w4 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - adds w4, w6, wzr @@ -2671,6 +2842,9 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - sub x2, x3, x4, asr #0 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - sub x5, x6, x7, asr #21 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - sub x8, x9, x10, asr #63 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - sub w13, wsp, w10 +# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - sub x16, x2, w19, uxtb +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - subs x13, x15, x14, sxtx #1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - subs w3, w5, w7 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp w3, w5 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - subs w4, w6, wzr @@ -2729,6 +2903,8 @@ drps # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - cmp w18, w19, asr #0 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - cmp w20, w21, asr #22 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - cmp w22, w23, asr #31 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - cmp wsp, w26 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp x16, w27, uxtb # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp x0, x3 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp xzr, x4 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp x5, xzr @@ -2743,6 +2919,10 @@ drps # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.50 0.50 - - - - - - cmp x22, x23, asr #63 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp wzr, w0 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - cmp xzr, x0 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov sp, x30 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov wsp, w20 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov x11, sp +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov w24, wsp # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - adc w29, w27, w25 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - adc wzr, w3, w4 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - adc w9, wzr, w10 @@ -2815,15 +2995,11 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsr w9, w10, #31 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsr x20, x21, #63 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsr wzr, wzr, #3 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsr w3, w2, #0 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl w9, w10, #31 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl x20, x21, #63 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl w1, wzr, #3 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfx w9, w10, #0, #1 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfiz x2, x3, #63, #1 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - asr x19, x20, #0 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfiz x9, x10, #5, #59 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - asr w9, w10, #0 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfiz w11, w12, #31, #1 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfiz w13, w14, #29, #3 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfiz xzr, xzr, #10, #11 @@ -2835,11 +3011,8 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - asr w11, w12, #31 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - asr w13, w14, #29 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - sbfx xzr, xzr, #10, #11 -# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfxil w9, w10, #0, #1 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfi x2, x3, #63, #1 -# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfxil x19, x20, #0, #64 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfi x9, x10, #5, #59 -# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfxil w9, w10, #0, #32 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfi w11, w12, #31, #1 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfi w13, w14, #29, #3 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfc xzr, #10, #11 @@ -2851,11 +3024,8 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfxil w11, w12, #31, #1 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfxil w13, w14, #29, #3 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - bfxil xzr, xzr, #10, #11 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ubfx w9, w10, #0, #1 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl x2, x3, #63 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsr x19, x20, #0 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl x9, x10, #5 -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsr w9, w10, #0 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl w11, w12, #31 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - lsl w13, w14, #29 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ubfiz xzr, xzr, #10, #11 @@ -2873,6 +3043,7 @@ drps # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - cbnz x26, #1048572 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - cbz wzr, #0 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - cbnz xzr, #0 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - cbnz w21, test # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - b.ne #4 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - b.ge #1048572 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - b.ge #-4 @@ -2961,7 +3132,6 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - cneg xzr, x4, le # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - cneg x9, xzr, lt # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - csneg x4, x8, x8, al -# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - csinv w9, w8, w8, nv # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - rbit w0, w7 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - rbit x18, x3 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - rev16 w17, w1 @@ -2993,6 +3163,16 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - asr x21, x22, x23 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ror w24, w25, w26 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ror x27, x28, x29 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32cb w30, w23, w15 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32cb wzr, w12, w14 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32cb w28, w10, w11 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32b w27, w12, w15 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32h w3, w15, w21 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32w w9, w18, w24 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32x w19, w6, x25 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32ch w25, w26, w16 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32cw w27, w12, w23 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - crc32cx w21, w28, x5 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - smulh x30, x29, x28 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - smulh xzr, x27, x26 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - umulh x30, x29, x28 @@ -3035,7 +3215,6 @@ drps # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - umsubl x3, w5, w2, x9 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - umsubl x16, w17, wzr, x18 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - umnegl x19, w20, w21 -# CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - smulh x30, x29, x28 # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - smulh x23, x22, xzr # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - umulh x23, x22, xzr # CHECK-NEXT: - - - - - - - - - - 0.50 0.50 - - - - - - mul x19, x20, xzr @@ -3051,24 +3230,26 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ror x19, x23, #24 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ror x29, xzr, #63 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - ror w9, w13, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp h5, h21 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp h5, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe h22, h21 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe h13, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp s3, s5 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp s31, #0.0 -# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp s31, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe s29, s30 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe s15, #0.0 -# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe s15, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp d4, d12 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp d23, #0.0 -# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmp d23, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe d26, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe d29, #0.0 -# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcmpe d29, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp s1, s31, #0, eq # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp s3, s0, #15, hs # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp s31, s15, #13, hs # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp d9, d31, #0, le # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp d3, d0, #15, gt # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp d31, d5, #7, ne +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmp h31, h3, #11, hs +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmpe h6, h1, #12, ne # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmpe s1, s31, #0, eq # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmpe s3, s0, #15, hs # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmpe s31, s15, #13, hs @@ -3077,22 +3258,33 @@ drps # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fccmpe d31, d5, #7, ne # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - fcsel s3, s20, s9, pl # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - fcsel d9, d10, d11, mi +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - fcsel h26, h2, h11, hs +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov h18, h28 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov s0, s1 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs s2, s3 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg h2, h9 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg s4, s5 # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fsqrt s6, s7 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvt d8, s9 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvt h10, s11 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintn h12, h3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintn s12, s13 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintp h17, h31 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintp s14, s15 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintm h0, h21 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintm s16, s17 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintz h10, h29 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintz s18, s19 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frinta h22, h10 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frinta s20, s21 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintx h4, h5 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frintx s22, s23 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frinti s24, s25 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frinti h31, h14 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov d0, d1 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs d2, d3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg d4, d5 +# CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fsqrt h13, h24 # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fsqrt d6, d7 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvt s8, d9 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvt h10, d11 @@ -3106,13 +3298,19 @@ drps # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvt s26, h27 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvt d28, h29 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul s20, s19, s17 +# CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv h1, h26, h23 # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv s1, s2, s3 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fadd h23, h27, h22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fadd s4, s5, s6 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fsub h20, h11, h18 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fsub s7, s8, s9 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmax s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmax h8, h7, h11 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmin s13, s14, s15 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnm h29, h13, h14 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnm s16, s17, s18 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnm s19, s20, s21 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmul h3, h15, h7 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmul s22, s23, s2 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul d20, d19, d17 # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv d1, d2, d3 @@ -3120,17 +3318,23 @@ drps # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fsub d7, d8, d9 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmax d10, d11, d12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmin d13, d14, d15 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmin h4, h13, h17 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnm d16, d17, d18 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnm d19, d20, d21 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnm h29, h23, h17 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmul d22, d23, d24 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmadd h27, h0, h6, h28 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmadd s3, s5, s6, s31 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmadd d3, d13, d0, d23 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmsub h25, h28, h12, h24 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmsub s3, s5, s6, s31 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmsub d3, d13, d0, d23 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmadd h3, h18, h31, h24 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmadd s3, s5, s6, s31 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmadd d3, d13, d0, d23 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmsub s3, s5, s6, s31 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmsub d3, d13, d0, d23 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fnmsub h3, h29, h24, h17 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzs w3, h5, #1 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzs wzr, h20, #13 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzs w19, h0, #32 @@ -3275,12 +3479,17 @@ drps # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcvtas x27, d28 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcvtau w29, d30 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - fcvtau xzr, d0 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - fmov h6, w5 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - fmov h16, x27 +# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - fmov w15, h31 # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - fmov w3, s9 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - fmov s9, w3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - fmov x21, h14 # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - fmov x20, d31 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - fmov d1, x15 # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - fmov x3, v12.d[1] # CHECK-NEXT: - - - - - - - - - - 1.00 - - - 0.25 0.25 0.25 0.25 fmov v1.d[1], x19 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov h29, #0.50000000 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov s2, #0.12500000 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov s3, #1.00000000 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov d30, #16.00000000 @@ -3304,13 +3513,10 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldxrh w17, [x4] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldxr w22, [sp] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldxr x11, [x29] -# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldxr x11, [x29] -# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldxr x11, [x29] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stxp w12, w11, w10, [sp] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stxp wzr, x27, x9, [x12] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldxp w0, wzr, [sp] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldxp x17, x0, [x18] -# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldxp x17, x0, [x18] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stlxrb w12, w22, [x0] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stlxrh w10, w1, [x1] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stlxr w9, w2, [x2] @@ -3319,25 +3525,32 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldaxrh w7, [x5] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldaxr w6, [sp] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldaxr x5, [x6] -# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldaxr x5, [x6] -# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldaxr x5, [x6] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stlxp w4, w5, w6, [sp] # CHECK-NEXT: - - 0.50 0.50 - - - 0.33 0.83 0.83 - - - - - - - - stlxp wzr, x6, x7, [x1] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldaxp w5, w18, [sp] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldaxp x6, x19, [x22] -# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldaxp x6, x19, [x22] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapur w7, [x24] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapur x20, [x13] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapurb w13, [x17] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapurh w3, [x22] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapursb w7, [x8] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapursb x29, [x7] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapursh w17, [x19] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapursh x3, [x3] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - ldapursw x3, [x18] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlrb w24, [sp] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlrh w25, [x30] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlr w26, [x29] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlr x27, [x28] -# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlr x27, [x28] -# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlr x27, [x28] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlur w3, [x27] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlur x23, [x25] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlurb w30, [x17] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stlurh w9, [x29] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldarb w16, [x21] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldarb w23, [sp] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldarh w22, [x30] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldar wzr, [x29] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldar x21, [x28] -# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldar x21, [x28] -# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldar x21, [x28] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - sturb w9, [sp] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - sturh wzr, [x12, #255] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stur w16, [x0, #-256] @@ -3523,16 +3736,23 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr w13, [x2, #4] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsw x2, [x5, #4] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsw x23, [sp, #16380] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsw x21, [x25, x7] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrh w2, [x4] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsh w23, [x6, #8190] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsh wzr, [sp, #2] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsh x29, [x2, #2] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsh x25, [x8, w13, uxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w26, [x3, #121] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w12, [x2] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsb w27, [sp, #4095] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsb xzr, [x15] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsb x12, [x28, x27] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - str x30, [sp] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - str w20, [x4, #16380] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str b5, [x11] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str h23, [x15] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str s25, [x19] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str d15, [x2] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - strh w17, [sp, #8190] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - strb w23, [x3, #4095] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - strb wzr, [x2] @@ -3541,11 +3761,13 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr s10, [x19, #16380] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr d3, [x10, #32760] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str q12, [sp, #65520] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr q14, [x6, #4624] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w3, [sp, x5] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w9, [x27, x6] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsb w10, [x30, x7] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w11, [x29, x3, sxtx] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - strb w12, [x28, xzr, sxtx] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - strb w5, [x26, w7, uxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w14, [x26, w6, uxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrsb w15, [x25, w7, uxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrb w17, [x23, w9, sxtw] @@ -3562,6 +3784,18 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrh w17, [x23, w9, sxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldrh w18, [x22, w10, sxtw] # CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - strh w19, [x21, wzr, sxtw #1] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr b25, [x21, w8, uxtw] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr b8, [x30, x10] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str b14, [x13, x25] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str b30, [x16, w26, uxtw] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - ldr h6, [x4, w4, uxtw] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - ldr h11, [x13, x9] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 - - str h16, [x5, x24] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 - - str h15, [x15, w15, uxtw] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr s12, [x30, w5, uxtw] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr d24, [x26, w7, uxtw] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str s20, [x24, w10, uxtw] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - str d5, [x26, x6] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr w3, [sp, x5] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr s9, [x27, x6] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr w10, [x30, x7, lsl #2] @@ -3582,6 +3816,7 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr x13, [x27, x5, sxtx #3] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - prfm pldl1keep, [x26, w6, uxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr x15, [x25, w7, uxtw] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - str x27, [x26, w24, uxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr x16, [x24, w8, uxtw #3] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr x17, [x23, w9, sxtw] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldr x18, [x22, w10, sxtw] @@ -3613,6 +3848,8 @@ drps # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldp s1, s2, [x3, #44] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - stp d3, d5, [x9, #504] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - stp d7, d11, [x10, #-512] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stnp x20, x16, [x8] +# CHECK-NEXT: - - 0.50 0.50 - - - - 0.50 0.50 - - - - - - - - stp x3, x6, [x16] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ldp d2, d3, [x30, #-8] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - stp q3, q5, [sp] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - stp q17, q19, [sp, #1008] @@ -3671,6 +3908,12 @@ drps # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - stnp q3, q5, [sp] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - stnp q17, q19, [sp, #1008] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ldnp q23, q29, [x1, #-1024] +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - and wsp, w16, #0xe00 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - and x2, x22, #0x1e00 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - ands w14, w8, #0x70 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - 0.25 0.25 0.25 0.25 - - - - ands x4, x10, #0x60 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - eor wsp, w4, #0xe00 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - eor x27, x25, #0x1e00 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov w3, #983055 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - mov x10, #-6148914691236517206 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - and w12, w23, w21 @@ -3687,6 +3930,10 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - and x7, x20, xzr, asr #63 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - bic x13, x20, x14, lsl #47 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - bic w2, w7, w9 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - eon w29, w4, w19 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - eon x19, x12, x2 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - eor w8, w27, w2 +# CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - eor x22, x16, x6 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - orr w2, w7, w0, asr #31 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - orr x8, x9, x10, lsl #12 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - orn x3, x5, x7, asr #2 @@ -3712,16 +3959,20 @@ drps # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - movk x7, #0, lsl #32 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - movz x8, #0, lsl #48 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - movk x9, #0, lsl #48 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - msr DAIFSet, #0 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - adr x2, #1600 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - adrp x21, #6553600 # CHECK-NEXT: - - - - - - - - - - 0.25 0.25 0.25 0.25 - - - - adr x0, #262144 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - tbz x12, #62, #0 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - tbz x12, #62, #4 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - tbz x12, #62, #-32768 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - tbz w17, #16, test # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - tbnz x12, #60, #32764 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - tbnz w3, #28, test # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - b #4 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - b #-4 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - b #134217724 +# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - 0.50 0.50 - - - - bl test # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - br x20 # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - 0.50 0.50 - - - - blr xzr # CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - ret x10 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s index 4de37f9600052..a720a6bde305b 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-forwarding.s @@ -119,11 +119,18 @@ bfmlalb v0.4s, v1.8h, v2.8h bfmlalb v0.4s, v0.8h, v1.8h # LLVM-MCA-END -# LLVM-MCA-BEGIN crc32cb +# LLVM-MCA-BEGIN crc32 mul w0, w0, w0 crc32cb w0, w0, w1 crc32cb w0, w0, w1 crc32cb w0, w0, w0 +crc32b w0, w0, w15 +crc32h w0, w0, w21 +crc32w w0, w0, w24 +crc32x w0, w0, x25 +crc32ch w0, w0, w16 +crc32cw w0, w0, w23 +crc32cx w0, w0, x5 # LLVM-MCA-END # LLVM-MCA-BEGIN Z sdot.s @@ -850,30 +857,44 @@ bfmlalb z0.s, z0.h, z1.h # CHECK-NEXT: 3. 2 16.5 0.0 0.0 bfmlalb v0.4s, v0.8h, v1.8h # CHECK-NEXT: 2 11.8 0.1 0.0 -# CHECK: [16] Code Region - crc32cb +# CHECK: [16] Code Region - crc32 # CHECK: Iterations: 100 -# CHECK-NEXT: Instructions: 400 -# CHECK-NEXT: Total Cycles: 703 -# CHECK-NEXT: Total uOps: 400 +# CHECK-NEXT: Instructions: 1100 +# CHECK-NEXT: Total Cycles: 1403 +# CHECK-NEXT: Total uOps: 1100 # CHECK: Dispatch Width: 15 -# CHECK-NEXT: uOps Per Cycle: 0.57 -# CHECK-NEXT: IPC: 0.57 -# CHECK-NEXT: Block RThroughput: 3.0 +# CHECK-NEXT: uOps Per Cycle: 0.78 +# CHECK-NEXT: IPC: 0.78 +# CHECK-NEXT: Block RThroughput: 10.0 # CHECK: Timeline view: -# CHECK-NEXT: 0123456 -# CHECK-NEXT: Index 0123456789 +# CHECK-NEXT: 0123456789 0 +# CHECK-NEXT: Index 0123456789 0123456789 -# CHECK: [0,0] DeeER. . .. mul w0, w0, w0 -# CHECK-NEXT: [0,1] D==eeER . .. crc32cb w0, w0, w1 -# CHECK-NEXT: [0,2] D===eeER . .. crc32cb w0, w0, w1 -# CHECK-NEXT: [0,3] D=====eeER. .. crc32cb w0, w0, w0 -# CHECK-NEXT: [1,0] D=======eeER .. mul w0, w0, w0 -# CHECK-NEXT: [1,1] D=========eeER .. crc32cb w0, w0, w1 -# CHECK-NEXT: [1,2] D==========eeER.. crc32cb w0, w0, w1 -# CHECK-NEXT: [1,3] D============eeER crc32cb w0, w0, w0 +# CHECK: [0,0] DeeER. . . . . . mul w0, w0, w0 +# CHECK-NEXT: [0,1] D==eeER . . . . . crc32cb w0, w0, w1 +# CHECK-NEXT: [0,2] D===eeER . . . . . crc32cb w0, w0, w1 +# CHECK-NEXT: [0,3] D=====eeER. . . . . crc32cb w0, w0, w0 +# CHECK-NEXT: [0,4] D======eeER . . . . crc32b w0, w0, w15 +# CHECK-NEXT: [0,5] D=======eeER . . . . crc32h w0, w0, w21 +# CHECK-NEXT: [0,6] D========eeER . . . . crc32w w0, w0, w24 +# CHECK-NEXT: [0,7] D=========eeER . . . . crc32x w0, w0, x25 +# CHECK-NEXT: [0,8] D==========eeER. . . . crc32ch w0, w0, w16 +# CHECK-NEXT: [0,9] D===========eeER . . . crc32cw w0, w0, w23 +# CHECK-NEXT: [0,10] D============eeER . . . crc32cx w0, w0, x5 +# CHECK-NEXT: [1,0] D==============eeER . . . mul w0, w0, w0 +# CHECK-NEXT: [1,1] D================eeER . . crc32cb w0, w0, w1 +# CHECK-NEXT: [1,2] D=================eeER . . crc32cb w0, w0, w1 +# CHECK-NEXT: [1,3] D===================eeER . . crc32cb w0, w0, w0 +# CHECK-NEXT: [1,4] .D===================eeER. . crc32b w0, w0, w15 +# CHECK-NEXT: [1,5] .D====================eeER . crc32h w0, w0, w21 +# CHECK-NEXT: [1,6] .D=====================eeER . crc32w w0, w0, w24 +# CHECK-NEXT: [1,7] .D======================eeER . crc32x w0, w0, x25 +# CHECK-NEXT: [1,8] .D=======================eeER . crc32ch w0, w0, w16 +# CHECK-NEXT: [1,9] .D========================eeER. crc32cw w0, w0, w23 +# CHECK-NEXT: [1,10] .D=========================eeER crc32cx w0, w0, x5 # CHECK: Average Wait times (based on the timeline view): # CHECK-NEXT: [0]: Executions @@ -882,11 +903,18 @@ bfmlalb z0.s, z0.h, z1.h # CHECK-NEXT: [3]: Average time elapsed from WB until retire stage # CHECK: [0] [1] [2] [3] -# CHECK-NEXT: 0. 2 4.5 0.5 0.0 mul w0, w0, w0 -# CHECK-NEXT: 1. 2 6.5 0.0 0.0 crc32cb w0, w0, w1 -# CHECK-NEXT: 2. 2 7.5 0.0 0.0 crc32cb w0, w0, w1 -# CHECK-NEXT: 3. 2 9.5 0.0 0.0 crc32cb w0, w0, w0 -# CHECK-NEXT: 2 7.0 0.1 0.0 +# CHECK-NEXT: 0. 2 8.0 0.5 0.0 mul w0, w0, w0 +# CHECK-NEXT: 1. 2 10.0 0.0 0.0 crc32cb w0, w0, w1 +# CHECK-NEXT: 2. 2 11.0 0.0 0.0 crc32cb w0, w0, w1 +# CHECK-NEXT: 3. 2 13.0 0.0 0.0 crc32cb w0, w0, w0 +# CHECK-NEXT: 4. 2 13.5 0.0 0.0 crc32b w0, w0, w15 +# CHECK-NEXT: 5. 2 14.5 0.0 0.0 crc32h w0, w0, w21 +# CHECK-NEXT: 6. 2 15.5 0.0 0.0 crc32w w0, w0, w24 +# CHECK-NEXT: 7. 2 16.5 0.0 0.0 crc32x w0, w0, x25 +# CHECK-NEXT: 8. 2 17.5 0.0 0.0 crc32ch w0, w0, w16 +# CHECK-NEXT: 9. 2 18.5 0.0 0.0 crc32cw w0, w0, w23 +# CHECK-NEXT: 10. 2 19.5 0.0 0.0 crc32cx w0, w0, x5 +# CHECK-NEXT: 2 14.3 0.0 0.0 # CHECK: [17] Code Region - Z sdot.s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s new file mode 100644 index 0000000000000..4f48de8b42926 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-misc-instructions.s @@ -0,0 +1,89 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %s | FileCheck %s + +#---------------------------------------------------------------------------- +# Basic instructions without scheduling information in Neoverse V1 SOG +#---------------------------------------------------------------------------- + +at s12e1r, x28 +brk #0x8415 +clrex +csdb +dcps1 +dcps2 +dcps3 +dmb sy +hlt #0x7a67 +hvc #0xecb9 +isb +pssbb +smc #0x7e57 +svc #0x89cb +sysl x16, #5, c11, c8, #5 + +# CHECK: Instruction Info: +# CHECK-NEXT: [1]: #uOps +# CHECK-NEXT: [2]: Latency +# CHECK-NEXT: [3]: RThroughput +# CHECK-NEXT: [4]: MayLoad +# CHECK-NEXT: [5]: MayStore +# CHECK-NEXT: [6]: HasSideEffects (U) + +# CHECK: [1] [2] [3] [4] [5] [6] Instructions: +# CHECK-NEXT: 1 1 0.07 U at s12e1r, x28 +# CHECK-NEXT: 1 1 0.07 U brk #0x8415 +# CHECK-NEXT: 1 1 0.07 * * U clrex +# CHECK-NEXT: 1 1 0.07 * * U csdb +# CHECK-NEXT: 1 1 0.07 U dcps1 +# CHECK-NEXT: 1 1 0.07 U dcps2 +# CHECK-NEXT: 1 1 0.07 U dcps3 +# CHECK-NEXT: 1 1 0.07 * * U dmb sy +# CHECK-NEXT: 1 1 0.07 U hlt #0x7a67 +# CHECK-NEXT: 1 1 0.07 U hvc #0xecb9 +# CHECK-NEXT: 1 1 0.07 * * U isb +# CHECK-NEXT: 1 1 0.07 * * U pssbb +# CHECK-NEXT: 1 1 0.07 U smc #0x7e57 +# CHECK-NEXT: 1 1 0.07 U svc #0x89cb +# CHECK-NEXT: 1 1 0.07 U sysl x16, #5, c11, c8, #5 + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V1UnitB +# CHECK-NEXT: [0.1] - V1UnitB +# CHECK-NEXT: [1.0] - V1UnitD +# CHECK-NEXT: [1.1] - V1UnitD +# CHECK-NEXT: [2.0] - V1UnitFlg +# CHECK-NEXT: [2.1] - V1UnitFlg +# CHECK-NEXT: [2.2] - V1UnitFlg +# CHECK-NEXT: [3] - V1UnitL2 +# CHECK-NEXT: [4.0] - V1UnitL01 +# CHECK-NEXT: [4.1] - V1UnitL01 +# CHECK-NEXT: [5] - V1UnitM0 +# CHECK-NEXT: [6] - V1UnitM1 +# CHECK-NEXT: [7.0] - V1UnitS +# CHECK-NEXT: [7.1] - V1UnitS +# CHECK-NEXT: [8] - V1UnitV0 +# CHECK-NEXT: [9] - V1UnitV1 +# CHECK-NEXT: [10] - V1UnitV2 +# CHECK-NEXT: [11] - V1UnitV3 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - at s12e1r, x28 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - brk #0x8415 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - clrex +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - csdb +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - dcps1 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - dcps2 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - dcps3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - dmb sy +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - hlt #0x7a67 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - hvc #0xecb9 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - isb +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - pssbb +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - smc #0x7e57 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - svc #0x89cb +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - sysl x16, #5, c11, c8, #5 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s index 20e76ef27c470..36a03fa8fe501 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s @@ -17,8 +17,10 @@ addhn v0.8b, v0.8h, v0.8h addhn2 v0.16b, v0.8h, v0.8h addhn2 v0.4s, v0.2d, v0.2d addhn2 v0.8h, v0.4s, v0.4s +addp v7.2s, v1.2s, v2.2s addp v0.2d, v0.2d, v0.2d addp v0.8b, v0.8b, v0.8b +addp d1, v14.2d addv s0, v0.4s addv h0, v0.4h addv h0, v0.8h @@ -32,6 +34,7 @@ and v0.8b, v0.8b, v0.8b bfcvt h0, s0 bfcvtn v0.4h, v0.4s bfcvtn2 v0.8h, v0.4s +bfdot v0.2s, v24.4h, v14.2h[2] bfdot v0.2s, v0.4h, v0.4h bfdot v0.4s, v0.8h, v0.8h bfmlalb v0.4s, v0.8h, v0.8h @@ -40,10 +43,16 @@ bfmlalt v0.4s, v0.8h, v0.8h bfmlalt v0.4s, v0.8h, v0.h[3] bfmmla v0.4s, v0.8h, v0.8h bic v0.4h, #15, lsl #8 +bic v23.8h, #101 bic v0.8b, v0.8b, v0.8b +bic v25.16b, v10.16b, v9.16b +bic v24.2s, #70 +bit v5.8b, v12.8b, v22.8b +bif v0.8b, v25.8b, v4.8b bif v0.16b, v0.16b, v0.16b bit v0.16b, v0.16b, v0.16b bsl v0.8b, v0.8b, v0.8b +bsl v27.16b, v13.16b, v21.16b cls v0.16b, v0.16b cls v0.2s, v0.2s cls v0.4h, v0.4h @@ -56,28 +65,37 @@ clz v0.4h, v0.4h clz v0.4s, v0.4s clz v0.8b, v0.8b clz v0.8h, v0.8h +cmeq v9.8h, v16.8h, v24.8h +cmeq v14.4h, v18.4h, #0 cmeq d20, d21, 0 cmeq d20, d21, d22 cmeq v0.16b, v0.16b, 0 cmeq v0.16b, v0.16b, v0.16b +cmge v22.8h, v16.8h, v3.8h +cmge v22.16b, v30.16b, #0 cmge d20, d21, 0 cmge d20, d21, d22 cmge v0.4h, v0.4h, v0.4h cmge v0.8b, v0.8b, 0 +cmgt v3.2d, v29.2d, v11.2d cmgt d20, d21, 0 cmgt d20, d21, d22 cmgt v0.2s, v0.2s, 0 cmgt v0.4s, v0.4s, v0.4s +cmhi v28.4h, v25.4h, v21.4h cmhi d20, d21, d22 cmhi v0.8h, v0.8h, v0.8h cmhs d20, d21, d22 cmhs v0.8b, v0.8b, v0.8b +cmle v21.2s, v19.2s, #0 cmle d20, d21, 0 cmle v0.2d, v0.2d, 0 +cmlt v26.4h, v12.4h, #0 cmlt d20, d21, 0 cmlt v0.8h, v0.8h, 0 cmtst d20, d21, d22 cmtst v0.2s, v0.2s, v0.2s +cmtst v13.2d, v13.2d, v13.2d cnt v0.16b, v0.16b cnt v0.8b, v0.8b dup v0.16b,w28 @@ -103,7 +121,10 @@ ext v0.16b, v0.16b, v0.16b, #3 ext v0.8b, v0.8b, v0.8b, #3 fabd d29, d24, d20 fabd s29, s24, s20 +fabd h27, h20, h17 +fabd v13.8h, v28.8h, v12.8h fabd v0.4s, v0.4s, v0.4s +fabs h25, h7 fabs v0.2d, v0.2d fabs v0.2s, v0.2s fabs v0.4h, v0.4h @@ -111,41 +132,71 @@ fabs v0.4s, v0.4s fabs v0.8h, v0.8h facge d20, d21, d22 facge s10, s11, s12 +facge h24, h26, h29 +facge v25.4h, v16.4h, v11.4h +facge v19.2s, v24.2s, v5.2s facge v0.4s, v0.4s, v0.4s facgt d20, d21, d22 facgt s10, s11, s12 +facgt h0, h4, h10 facgt v0.2d, v0.2d, v0.2d +facgt v22.8h, v14.8h, v31.8h +facgt v22.4s, v8.4s, v2.4s fadd v0.4s, v0.4s, v0.4s +faddp h10, v19.2h +faddp d11, v28.2d faddp v0.2s, v0.2s, v0.2s faddp v0.4s, v0.4s, v0.4s +faddp v16.2d, v11.2d, v5.2d fcadd v0.2s, v0.2s, v0.2s, 90 fcadd v0.4s, v0.4s, v0.4s, 270 +fcmeq h30, h6, h1 +fcmeq h19, h23, #0.0 fcmeq d20, d21, #0.0 fcmeq d20, d21, d22 fcmeq s10, s11, #0.0 fcmeq s10, s11, s12 fcmeq v0.2s, v0.2s, #0.0 fcmeq v0.2s, v0.2s, v0.2s +fcmeq v12.4s, v11.4s, v26.4s +fcmeq v18.2d, v17.2d, #0.0 +fcmge h10, h23, #0.0 +fcmge h1, h16, h12 fcmge d20, d21, #0.0 fcmge d20, d21, d22 fcmge s10, s11, #0.0 fcmge s10, s11, s12 fcmge v0.2d, v0.2d, #0.0 +fcmge v17.2d, v11.2d, v13.2d fcmge v0.4s, v0.4s, v0.4s +fcmge v18.4h, v27.4h, #0.0 +fcmge v20.8h, v19.8h, v22.8h +fcmge v17.2s, v11.2s, #0.0 +fcmgt h4, h5, h0 +fcmgt h0, h18, #0.0 fcmgt d20, d21, #0.0 fcmgt d20, d21, d22 fcmgt s10, s11, #0.0 fcmgt s10, s11, s12 fcmgt v0.4s, v0.4s, #0.0 fcmgt v0.4s, v0.4s, v0.4s +fcmgt v24.8h, v24.8h, v28.8h +fcmgt v0.8h, v11.8h, #0.0 +fcmgt v19.2d, v31.2d, #0.0 fcmla v0.2s, v0.2s, v0.2s, #90 fcmla v0.4s, v0.4s, v0.s[1], #0 +fcmle v16.8h, v11.8h, #0.0 +fcmle v22.4s, v30.4s, #0.0 fcmle d20, d21, #0.0 fcmle s10, s11, #0.0 fcmle v0.2d, v0.2d, #0.0 +fcmle h18, h28, #0.0 +fcmlt h23, h7, #0.0 fcmlt d20, d21, #0.0 fcmlt s10, s11, #0.0 fcmlt v0.4s, v0.4s, #0.0 +fcmlt v8.4h, v2.4h, #0.0 +fcmlt v7.2d, v16.2d, #0.0 fcvtas d21, d14 fcvtas s12, s13 fcvtas h12, h13 @@ -232,9 +283,11 @@ fcvtzs v0.2d, v0.2d, #3 fcvtzs v0.2s, v0.2s fcvtzs v0.2s, v0.2s, #3 fcvtzs v0.4h, v0.4h +fcvtzs v20.4h, v24.4h, #11 fcvtzs v0.4s, v0.4s fcvtzs v0.4s, v0.4s, #3 fcvtzs v0.8h, v0.8h +fcvtzs v18.8h, v10.8h, #7 fcvtzu d21, d12, #1 fcvtzu d21, d14 fcvtzu s12, s13 @@ -246,9 +299,11 @@ fcvtzu v0.2d, v0.2d, #3 fcvtzu v0.2s, v0.2s fcvtzu v0.2s, v0.2s, #3 fcvtzu v0.4h, v0.4h +fcvtzu v19.4h, v26.4h, #9 fcvtzu v0.4s, v0.4s fcvtzu v0.4s, v0.4s, #3 fcvtzu v0.8h, v0.8h +fcvtzu v27.8h, v6.8h, #11 fdiv v0.2d, v0.2d, v0.2d fdiv v0.2s, v0.2s, v0.2s fdiv v0.4h, v0.4h, v0.4h @@ -260,12 +315,19 @@ fmax v0.4s, v0.4s, v0.4s fmaxnm v0.2d, v0.2d, v0.2d fmaxnm v0.2s, v0.2s, v0.2s fmaxnm v0.4s, v0.4s, v0.4s +fmaxnmp h25, v19.2h +fmaxnmp d17, v29.2d fmaxnmp v0.2d, v0.2d, v0.2d fmaxnmp v0.2s, v0.2s, v0.2s fmaxnmp v0.4s, v0.4s, v0.4s +fmaxnmv h0, v13.4h +fmaxnmv h12, v11.8h +fmaxnmv s28, v31.4s fmaxp v0.2d, v0.2d, v0.2d fmaxp v0.2s, v0.2s, v0.2s fmaxp v0.4s, v0.4s, v0.4s +fmaxp h15, v25.2h +fmaxp s6, v2.2s fmaxv h0, v0.4h fmaxv h0, v0.8h fmaxv s0, v0.4s @@ -275,15 +337,31 @@ fmin v0.4s, v0.4s, v0.4s fminnm v0.2d, v0.2d, v0.2d fminnm v0.2s, v0.2s, v0.2s fminnm v0.4s, v0.4s, v0.4s +fminnmp h20, v14.2h +fminnmp d15, v8.2d fminnmp v0.2d, v0.2d, v0.2d fminnmp v0.2s, v0.2s, v0.2s fminnmp v0.4s, v0.4s, v0.4s +fminnmv h19, v25.4h +fminnmv h23, v17.8h +fminnmv s29, v17.4s fminp v0.2d, v0.2d, v0.2d fminp v0.2s, v0.2s, v0.2s fminp v0.4s, v0.4s, v0.4s +fminp h7, v10.2h +fminp s17, v7.2s +fminv h3, v30.4h +fminv h29, v12.8h +fminv s16, v19.4s fmla d0, d1, v0.d[1] +fmla h23, h24, v15.h[4] fmla s0, s1, v0.s[3] fmla v0.2s, v0.2s, v0.2s +fmla v29.8h, v15.8h, v10.h[4] +fmla v2.2s, v16.2s, v28.s[0] +fmla v14.4s, v14.4s, v5.s[3] +fmla v1.4s, v24.4s, v12.4s +fmla v10.2d, v14.2d, v21.d[1] fmlal v0.2s, v0.2h, v0.h[1] fmlal v0.4s, v0.4h, v0.h[3] fmlal v0.2s, v0.2h, v0.2h @@ -293,8 +371,14 @@ fmlal2 v0.4s, v0.4h, v0.h[3] fmlal2 v0.2s, v0.2h, v0.2h fmlal2 v0.4s, v0.4h, v0.4h fmls d0, d4, v0.d[1] +fmls h8, h14, v7.h[4] fmls s3, s5, v0.s[3] fmls v0.2s, v0.2s, v0.2s +fmls v30.8h, v18.8h, v4.h[6] +fmls v10.2s, v27.2s, v0.s[0] +fmls v27.4s, v7.4s, v24.s[0] +fmls v10.2d, v22.2d, v29.d[0] +fmls v6.8h, v15.8h, v23.8h fmlsl v0.2s, v0.2h, v0.h[1] fmlsl v0.4s, v0.4h, v0.h[3] fmlsl v0.2s, v0.2h, v0.2h @@ -306,21 +390,34 @@ fmlsl2 v0.4s, v0.4h, v0.4h fmov v0.2d, #-1.25 fmov v0.2s, #13.0 fmov v0.4s, #1.0 +fmul h18, h4, v7.h[3] +fmul v10.4h, v2.4h, v7.h[5] +fmul v5.2s, v12.2s, v9.s[0] +fmul v15.4s, v30.4s, v2.s[3] +fmul v11.2d, v31.2d, v24.d[1] +fmul h28, h14, h3 fmul d0, d1, v0.d[1] fmul s0, s1, v0.s[3] fmul v0.2s, v0.2s, v0.2s fmulx d0, d4, v0.d[1] fmulx d23, d11, d1 fmulx s20, s22, s15 +fmulx h18, h17, v7.h[1] +fmulx h20, h25, h0 fmulx s3, s5, v0.s[3] fmulx v0.2d, v0.2d, v0.2d +fmulx v28.4h, v25.4h, v15.h[1] +fmulx v3.2s, v22.2s, v23.s[3] fmulx v0.2s, v0.2s, v0.2s fmulx v0.4s, v0.4s, v0.4s +fmulx v5.4s, v28.4s, v15.s[3] +fmulx v22.2d, v18.2d, v25.d[1] fneg v0.2d, v0.2d fneg v0.2s, v0.2s fneg v0.4h, v0.4h fneg v0.4s, v0.4s fneg v0.8h, v0.8h +frecpe h20, h8 frecpe d13, d13 frecpe s19, s14 frecpe v0.2d, v0.2d @@ -328,9 +425,13 @@ frecpe v0.2s, v0.2s frecpe v0.4h, v0.4h frecpe v0.4s, v0.4s frecpe v0.8h, v0.8h +frecps h29, h19, h8 +frecpx h18, h11 +frecps v12.8h, v25.8h, v4.8h frecps v0.4s, v0.4s, v0.4s frecps d22, d30, d21 frecps s21, s16, s13 +frecps v7.2d, v29.2d, v18.2d frecpx d16, d19 frecpx s18, s10 frinta v0.2d, v0.2d @@ -368,13 +469,17 @@ frintz v0.2s, v0.2s frintz v0.4h, v0.4h frintz v0.4s, v0.4s frintz v0.8h, v0.8h +frsqrte h23, h26 frsqrte d21, d12 frsqrte s22, s13 frsqrte v0.2d, v0.2d frsqrte v0.2s, v0.2s frsqrte v0.4h, v0.4h frsqrte v0.4s, v0.4s +frsqrts v20.4s, v26.4s, v27.4s +frsqrts v8.4h, v9.4h, v30.4h frsqrte v0.8h, v0.8h +frsqrts h28, h26, h1 frsqrts d8, d22, d18 frsqrts s21, s5, s12 frsqrts v0.2d, v0.2d, v0.2d @@ -383,53 +488,138 @@ fsqrt v0.2s, v0.2s fsqrt v0.4h, v0.4h fsqrt v0.4s, v0.4s fsqrt v0.8h, v0.8h +fsub v13.8h, v15.8h, v17.8h fsub v0.2s, v0.2s, v0.2s ld1 { v0.16b }, [x0] +ld1 { v0.16b, v1.16b }, [x14] +ld1 { v19.16b, v20.16b, v21.16b }, [x10] +ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9] +ld1 { v24.8h }, [x27] +ld1 { v1.8h, v2.8h }, [x27] ld1 { v0.8h, v1.8h }, [sp], #32 +ld1 { v21.8h, v22.8h, v23.8h }, [x22] +ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21] +ld1 { v3.4s }, [x4] +ld1 { v11.4s, v12.4s }, [x30] +ld1 { v0.4s, v1.4s, v2.4s }, [x24] +ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28] ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48 +ld1 { v3.2d }, [x28] +ld1 { v13.2d, v14.2d }, [x13] +ld1 { v12.2d, v13.2d, v14.2d }, [x15] ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] ld1 { v0.1d }, [x15], x2 +ld1 { v27.1d, v28.1d }, [x7] +ld1 { v14.1d, v15.1d, v16.1d }, [x3] +ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4] ld1 { v0.2s, v1.2s }, [x15] +ld1 { v16.2s, v17.2s, v18.2s }, [x27] +ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +ld1 { v25.4h, v26.4h }, [x3] +ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15] ld1 { v0.4h, v1.4h, v2.4h }, [sp] +ld1 { v24.8b, v25.8b }, [x6] +ld1 { v7.8b, v8.8b, v9.8b }, [x12] +ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 ld1 { v0.b }[7], [x0] ld1 { v0.h }[3], [x0], #2 +ld1 { v18.h }[3], [x1] ld1 { v0.s }[1], [x15] ld1 { v0.d }[0], [x15], #8 +ld1 { v11.d }[0], [x13] ld1r { v0.16b }, [x0] ld1r { v0.8h }, [x0], #2 ld1r { v0.4s }, [x15] +ld1r { v3.1d }, [x15] ld1r { v0.2d }, [x15], x16 +ld1r { v18.2d }, [x0] +ld1r { v8.8b }, [x23] +ld1r { v28.4h }, [x9] +ld1r { v3.8h }, [x16] +ld1r { v10.2s }, [x20] +ld2 { v0.4h, v1.4h }, [x21] +ld2 { v8.8h, v9.8h }, [x28] +ld2 { v2.2s, v3.2s }, [x16] +ld2 { v22.4s, v23.4s }, [x4] +ld2 { v22.2d, v23.2d }, [x17] +ld2 { v29.b, v30.b }[3], [x1] +ld2 { v26.s, v27.s }[1], [x17] +ld2 { v1.d, v2.d }[0], [x10] ld2 { v0.16b, v1.16b }, [x0] +ld2 { v13.8b, v14.8b }, [x4] ld2 { v0.8b, v1.8b }, [x0], #16 ld2 { v0.h, v1.h }[7], [x15] ld2 { v0.h, v1.h }[7], [x15], x8 ld2r { v0.8b, v1.8b }, [x0] +ld2r { v10.16b, v11.16b }, [x23] ld2r { v0.4h, v1.4h }, [x0], #4 +ld2r { v25.4h, v26.4h }, [x11] +ld2r { v23.8h, v24.8h }, [x10] ld2r { v0.2s, v1.2s }, [sp] +ld2r { v8.4s, v9.4s }, [x17] ld2r { v0.1d, v1.1d }, [sp], x8 +ld2r { v9.1d, v10.1d }, [x25] +ld2r { v26.2d, v27.2d }, [x8] +ld3 { v8.8b, v9.8b, v10.8b }, [x0] +ld3 { v15.16b, v16.16b, v17.16b }, [x5] ld3 { v0.4h, v1.4h, v2.4h }, [x15] ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +ld3 { v7.8h, v8.8h, v9.8h }, [x21] +ld3 { v16.2s, v17.2s, v18.2s }, [x0] +ld3 { v12.4s, v13.4s, v14.4s }, [x25] +ld3 { v17.b, v18.b, v19.b }[2], [x27] +ld3 { v18.h, v19.h, v20.h }[5], [x16] +ld3 { v10.2d, v11.2d, v12.2d }, [x18] ld3 { v0.s, v1.s, v2.s }[3], [sp] ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +ld3 { v5.d, v6.d, v7.d }[1], [x14] ld3r { v0.8b, v1.8b, v2.8b }, [x15] +ld3r { v17.16b, v18.16b, v19.16b }, [x3] ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +ld3r { v3.4h, v4.4h, v5.4h }, [x1] +ld3r { v6.8h, v7.8h, v8.8h }, [x28] ld3r { v0.2s, v1.2s, v2.2s }, [x0] +ld3r { v28.4s, v29.4s, v30.4s }, [x2] ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +ld3r { v1.1d, v2.1d, v3.1d }, [x28] +ld3r { v8.2d, v9.2d, v10.2d }, [x3] +ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 mla v0.8b, v0.8b, v0.8b +mla v15.8h, v22.8h, v4.h[3] +mla v28.2s, v10.2s, v2.s[0] mls v0.4h, v0.4h, v0.4h +mls v25.8h, v29.8h, v0.h[4] +mls v22.2s, v29.2s, v0.s[3] +mls v26.4s, v5.4s, v28.4s mov b0, v0.b[15] mov d6, v0.d[1] mov h2, v0.h[5] mov s17, v0.s[2] +mov w8, v8.s[0] +mov x30, v18.d[0] mov v2.b[0], v0.b[0] mov v2.h[1], v0.h[1] mov v2.s[2], v0.s[2] @@ -442,11 +632,24 @@ mov v0.16b, v0.16b mov v0.8b, v0.8b movi d15, #0xff00ff00ff00ff movi v0.16b, #31 +movi v14.8h, #174 +movi v13.4h, #74, lsl #8 movi v0.2d, #0xff0000ff0000ffff movi v0.2s, #8, msl #8 +movi v19.2s, #226 +movi v1.4s, #122, msl #8 movi v0.4s, #255, lsl #24 movi v0.8b, #255 mul v0.8b, v0.8b, v0.8b +mul v26.4h, v20.4h, v14.h[5] +mul v5.8h, v21.8h, v3.h[7] +mul v29.2s, v10.2s, v3.s[1] +mul v30.4s, v11.4s, v4.s[0] +mul v30.4s, v11.4s, v4.4s +mul v3.8h, v9.8h, v8.8h +mvni v9.4h, #237 +mvni v8.8h, #171, lsl #8 +mvni v22.4s, #15, lsl #8 mvni v0.2s, 0 mvni v0.4s, #16, msl #16 neg d29, d24 @@ -460,8 +663,11 @@ neg v0.8h, v0.8h not v0.16b, v0.16b not v0.8b, v0.8b orn v0.16b, v0.16b, v0.16b +orn v29.8b, v19.8b, v16.8b orr v0.16b, v0.16b, v0.16b +orr v9.4h, #18 orr v0.8h, #31 +orr v4.4s, #0 pmul v0.16b, v0.16b, v0.16b pmul v0.8b, v0.8b, v0.8b pmull v0.8h, v0.8b, v0.8b @@ -506,6 +712,7 @@ sabal2 v0.2d, v0.4s, v0.4s sabal2 v0.4s, v0.8h, v0.8h sabal2 v0.8h, v0.16b, v0.16b sabd v0.4h, v0.4h, v0.4h +sabd v12.2s, v11.2s, v27.2s sabdl v0.2d, v0.2s, v0.2s sabdl v0.4s, v0.4h, v0.4h sabdl v0.8h, v0.8b, v0.8b @@ -541,6 +748,8 @@ saddw v0.8h, v0.8h, v0.8b saddw2 v0.2d, v0.2d, v0.4s saddw2 v0.4s, v0.4s, v0.8h saddw2 v0.8h, v0.8h, v0.16b +scvtf h4, h8, #9 +scvtf h5, h14 scvtf d21, d12 scvtf d21, d12, #64 scvtf s22, s13 @@ -552,26 +761,25 @@ scvtf v0.2s, v0.2s, #3 scvtf v0.4h, v0.4h scvtf v0.4s, v0.4s scvtf v0.4s, v0.4s, #3 +scvtf v25.4h, v13.4h, #8 scvtf v0.8h, v0.8h +scvtf v4.8h, v8.8h, #10 sdot v0.2s, v0.8b, v0.4b[2] sdot v0.2s, v0.8b, v0.8b sdot v0.4s, v0.16b, v0.16b sdot v0.4s, v0.16b, v0.4b[2] shadd v0.8b, v0.8b, v0.8b +shadd v25.16b, v1.16b, v10.16b shl d7, d10, #12 +shl v23.8b, v18.8b, #6 shl v0.16b, v0.16b, #3 shl v0.2d, v0.2d, #3 shl v0.4h, v0.4h, #3 +shl v0.8h, v23.8h, #10 shl v0.4s, v0.4s, #3 -shll v0.2d, v0.2s, #32 shll v0.4s, v0.4h, #16 shll v0.8h, v0.8b, #8 shll v0.2d, v0.2s, #32 -shll v0.4s, v0.4h, #16 -shll v0.8h, v0.8b, #8 -shll2 v0.2d, v0.4s, #32 -shll2 v0.4s, v0.8h, #16 -shll2 v0.8h, v0.16b, #8 shll2 v0.2d, v0.4s, #32 shll2 v0.4s, v0.8h, #16 shll2 v0.8h, v0.16b, #8 @@ -583,6 +791,7 @@ shrn2 v0.4s, v0.2d, #3 shrn2 v0.8h, v0.4s, #3 shsub v0.2s, v0.2s, v0.2s shsub v0.4h, v0.4h, v0.4h +shsub v15.8h, v5.8h, v27.8h sli d10, d14, #12 sli v0.16b, v0.16b, #3 sli v0.2d, v0.2d, #3 @@ -594,8 +803,10 @@ sli v0.8h, v0.8h, #3 smax v0.2s, v0.2s, v0.2s smax v0.4h, v0.4h, v0.4h smax v0.8b, v0.8b, v0.8b +smax v30.16b, v3.16b, v30.16b smaxp v0.2s, v0.2s, v0.2s smaxp v0.4h, v0.4h, v0.4h +smaxp v21.8h, v16.8h, v7.8h smaxp v0.8b, v0.8b, v0.8b smaxv b0, v0.8b smaxv b0, v0.16b @@ -614,23 +825,35 @@ sminv h0, v0.4h sminv h0, v0.8h sminv s0, v0.4s smlal v0.2d, v0.2s, v0.2s +smlal v0.2d, v25.2s, v1.s[1] smlal v0.4s, v0.4h, v0.4h +smlal v16.4s, v9.4h, v11.h[4] smlal v0.8h, v0.8b, v0.8b smlal2 v0.2d, v0.4s, v0.4s +smlal2 v30.2d, v22.4s, v7.s[2] smlal2 v0.4s, v0.8h, v0.8h smlal2 v0.8h, v0.16b, v0.16b smlsl v0.2d, v0.2s, v0.2s +smlsl v25.2d, v27.2s, v1.s[1] smlsl v0.4s, v0.4h, v0.4h +smlsl v14.4s, v23.4h, v12.h[7] smlsl v0.8h, v0.8b, v0.8b +smlal2 v1.4s, v9.8h, v0.h[6] +smlsl2 v12.4s, v11.8h, v12.h[0] smlsl2 v0.2d, v0.4s, v0.4s +smlsl2 v11.2d, v28.4s, v7.s[2] smlsl2 v0.4s, v0.8h, v0.8h smlsl2 v0.8h, v0.16b, v0.16b smmla v0.4s, v0.16b, v0.16b smull v0.2d, v0.2s, v0.2s +smull v31.2d, v23.2s, v6.s[2] smull v0.4s, v0.4h, v0.4h +smull v3.4s, v26.4h, v1.h[5] smull v0.8h, v0.8b, v0.8b smull2 v0.2d, v0.4s, v0.4s +smull2 v11.2d, v1.4s, v7.s[0] smull2 v0.4s, v0.8h, v0.8h +smull2 v13.4s, v18.8h, v0.h[3] smull2 v0.8h, v0.16b, v0.16b sqabs b19, b14 sqabs d18, d12 @@ -644,6 +867,7 @@ sqabs v0.4s, v0.4s sqabs v0.8b, v0.8b sqabs v0.8h, v0.8h sqadd b20, b11, b15 +sqadd h12, h18, h10 sqadd v0.16b, v0.16b, v0.16b sqadd v0.2s, v0.2s, v0.2s sqdmlal d19, s24, s12 @@ -651,17 +875,34 @@ sqdmlal d8, s9, v0.s[1] sqdmlal s0, h0, v0.h[3] sqdmlal s17, h27, h12 sqdmlal v0.2d, v0.2s, v0.2s +sqdmlal v11.2d, v24.2s, v0.s[3] sqdmlal v0.4s, v0.4h, v0.4h +sqdmlal v20.4s, v30.4h, v12.h[3] sqdmlal2 v0.2d, v0.4s, v0.4s +sqdmlal2 v23.2d, v30.4s, v6.s[0] sqdmlal2 v0.4s, v0.8h, v0.8h +sqdmlal2 v2.4s, v17.8h, v5.h[6] +sqdmulh v8.4h, v16.4h, v5.h[4] +sqdmulh v16.2s, v24.2s, v7.s[2] +sqdmull v8.4s, v19.4h, v1.h[2] +sqdmull v20.2d, v10.2s, v6.s[2] +sqdmull2 v10.4s, v25.8h, v0.h[7] +sqdmull2 v4.2d, v29.4s, v2.s[3] +sqrdmulh v0.8h, v15.8h, v0.h[5] +sqrdmulh v6.2s, v29.2s, v4.s[2] +sqrdmulh v31.2s, v17.2s, v4.2s sqdmlsl d12, s23, s13 sqdmlsl d8, s9, v0.s[1] sqdmlsl s0, h0, v0.h[3] sqdmlsl s14, h12, h25 sqdmlsl v0.2d, v0.2s, v0.2s +sqdmlsl v26.2d, v7.2s, v3.s[0] sqdmlsl v0.4s, v0.4h, v0.4h +sqdmlsl v4.4s, v22.4h, v13.h[2] sqdmlsl2 v0.2d, v0.4s, v0.4s +sqdmlsl2 v4.2d, v3.4s, v3.s[2] sqdmlsl2 v0.4s, v0.8h, v0.8h +sqdmlsl2 v2.4s, v28.8h, v4.h[6] sqdmulh h10, h11, h12 sqdmulh h7, h15, v0.h[3] sqdmulh s15, s14, v0.s[1] @@ -722,6 +963,9 @@ sqrshl h3, h4, h15 sqrshl v0.2s, v0.2s, v0.2s sqrshl v0.4h, v0.4h, v0.4h sqrshl v0.8b, v0.8b, v0.8b +sqshl s17, s4, s23 +sqsub b3, b13, b12 +sqsub v20.8h, v18.8h, v12.8h sqrshrn b10, h13, #2 sqrshrn h15, s10, #6 sqrshrn s15, d12, #9 @@ -747,6 +991,7 @@ sqshl h13, h18, #11 sqshl h3, h4, h15 sqshl s14, s17, #22 sqshl v0.16b, v0.16b, #3 +sqshl v23.16b, v23.16b, v23.16b sqshl v0.2d, v0.2d, #3 sqshl v0.2s, v0.2s, #3 sqshl v0.2s, v0.2s, v0.2s @@ -843,8 +1088,12 @@ sshl v0.2d, v0.2d, v0.2d sshl v0.2s, v0.2s, v0.2s sshl v0.4h, v0.4h, v0.4h sshl v0.8b, v0.8b, v0.8b +sshll v9.8h, v2.8b, #0 +sshll v12.4s, v3.4h, #4 sshll v0.2d, v0.2s, #3 +sshll2 v28.8h, v12.16b, #7 sshll2 v0.4s, v0.8h, #3 +sshll2 v17.2d, v13.4s, #22 sshr d15, d16, #12 sshr v0.16b, v0.16b, #3 sshr v0.2d, v0.2d, #3 @@ -873,30 +1122,91 @@ ssubw v0.8h, v0.8h, v0.8b ssubw2 v0.2d, v0.2d, v0.4s ssubw2 v0.4s, v0.4s, v0.8h ssubw2 v0.8h, v0.8h, v0.16b +st1 { v18.8b }, [x15] +st1 { v8.8b, v9.8b }, [x18] +st1 { v15.8b, v16.8b, v17.8b }, [x0] +st1 { v21.8b, v22.8b, v23.8b, v24.8b }, [x14] st1 { v0.16b }, [x0] +st1 { v1.16b, v2.16b }, [x4] +st1 { v27.16b, v28.16b, v29.16b }, [x18] +st1 { v18.16b, v19.16b, v20.16b, v21.16b }, [x29] +st1 { v19.4h }, [x7] +st1 { v22.4h, v23.4h }, [x22] +st1 { v13.4h, v14.4h, v15.4h }, [x7] +st1 { v23.4h, v24.4h, v25.4h, v26.4h }, [x24] +st1 { v27.8h }, [x17] +st1 { v8.8h, v9.8h, v10.8h }, [x16] +st1 { v7.8h, v8.8h, v9.8h, v10.8h }, [x19] +st1 { v25.2s }, [x6] +st1 { v13.2s, v14.2s }, [x9] +st1 { v12.2s, v13.2s, v14.2s }, [x3] +st1 { v6.2s, v7.2s, v8.2s, v9.2s }, [x13] st1 { v0.4s, v1.4s }, [sp], #32 +st1 { v22.4s }, [x19] +st1 { v15.4s, v16.4s }, [x12] +st1 { v26.4s, v27.4s, v28.4s, v29.4s }, [x12] +st1 { v20.1d }, [x10] +st1 { v21.1d, v22.1d }, [x29] +st1 { v5.1d, v6.1d, v7.1d }, [x3] +st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x10] +st1 { v26.2d, v27.2d }, [x28] st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 +st1 { v13.2d, v14.2d, v15.2d }, [x27] st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] +st1 { v8.2d }, [x15] st1 { v0.8h }, [x15], x2 st1 { v0.8h, v1.8h }, [x15] st1 { v0.4s, v1.4s, v2.4s }, [sp] st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +st1 { v1.b }[5], [x1] +st1 { v0.h }[2], [x1] +st1 { v31.s }[1], [x16] st1 { v0.d }[1], [x0] st1 { v0.d }[1], [x0], #8 st2 { v0.16b, v1.16b }, [x0], x1 st2 { v0.8b, v1.8b }, [x0] +st2 { v6.16b, v7.16b }, [x23] +st2 { v10.4h, v11.4h }, [x18] +st2 { v10.8h, v11.8h }, [x18] +st2 { v25.2s, v26.2s }, [x29] +st2 { v26.4s, v27.4s }, [x14] +st2 { v10.2d, v11.2d }, [x1] +st2 { v21.b, v22.b }[15], [x15] +st2 { v28.h, v29.h }[2], [x6] st2 { v0.s, v1.s }[3], [sp] st2 { v0.s, v1.s }[3], [sp], #8 +st2 { v17.d, v18.d }[1], [x1] +st3 { v10.8b, v11.8b, v12.8b }, [x18] +st3 { v26.16b, v27.16b, v28.16b }, [x4] st3 { v0.4h, v1.4h, v2.4h }, [x15] st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +st3 { v0.8h, v1.8h, v2.8h }, [x0] +st3 { v19.2s, v20.2s, v21.2s }, [x30] +st3 { v24.4s, v25.4s, v26.4s }, [x8] +st3 { v24.2d, v25.2d, v26.2d }, [x25] +st3 { v8.b, v9.b, v10.b }[4], [x18] st3 { v0.h, v1.h, v2.h }[7], [x15] st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +st3 { v9.s, v10.s, v11.s }[2], [x20] +st3 { v16.d, v17.d, v18.d }[0], [x13] +st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 sub d15, d5, d16 sub v0.2d, v0.2d, v0.2d +sub v15.2s, v14.2s, v11.2s +subhn v7.4h, v10.4s, v13.4s +subhn2 v24.4s, v24.2d, v8.2d sudot v0.2s, v0.8b, v0.4b[2] sudot v0.4s, v0.16b, v0.4b[2] suqadd b19, b14 @@ -941,6 +1251,7 @@ trn2 v0.4s, v0.4s, v0.4s trn2 v0.8b, v0.8b, v0.8b trn2 v0.8h, v0.8h, v0.8h uaba v0.8b, v0.8b, v0.8b +uaba v13.16b, v14.16b, v19.16b uabal v0.2d, v0.2s, v0.2s uabal v0.4s, v0.4h, v0.4h uabal v0.8h, v0.8b, v0.8b @@ -948,6 +1259,7 @@ uabal2 v0.2d, v0.4s, v0.4s uabal2 v0.4s, v0.8h, v0.8h uabal2 v0.8h, v0.16b, v0.16b uabd v0.4h, v0.4h, v0.4h +uabd v23.4s, v4.4s, v30.4s uabdl v0.2d, v0.2s, v0.2s uabdl v0.4s, v0.4h, v0.4h uabdl v0.8h, v0.8b, v0.8b @@ -983,8 +1295,12 @@ uaddw v0.8h, v0.8h, v0.8b uaddw2 v0.2d, v0.2d, v0.4s uaddw2 v0.4s, v0.4s, v0.8h uaddw2 v0.8h, v0.8h, v0.16b +ucvtf h17, x12 +ucvtf h22, h16, #11 +ucvtf h7, h21 ucvtf d21, d14 ucvtf d21, d14, #64 +ucvtf s8, x0 ucvtf s22, s13 ucvtf s22, s13, #32 ucvtf v0.2d, v0.2d @@ -994,13 +1310,16 @@ ucvtf v0.2s, v0.2s, #3 ucvtf v0.4h, v0.4h ucvtf v0.4s, v0.4s ucvtf v0.4s, v0.4s, #3 +ucvtf v18.4h, v11.4h, #7 ucvtf v0.8h, v0.8h +ucvtf v22.8h, v20.8h, #10 udot v0.2s, v0.8b, v0.4b[2] udot v0.2s, v0.8b, v0.8b udot v0.4s, v0.16b, v0.16b udot v0.4s, v0.16b, v0.4b[2] uhadd v0.16b, v0.16b, v0.16b uhadd v0.8h, v0.8h, v0.8h +uhsub v12.4h, v16.4h, v28.4h uhsub v0.4s, v0.4s, v0.4s umax v0.16b, v0.16b, v0.16b umax v0.4s, v0.4s, v0.4s @@ -1016,7 +1335,9 @@ umaxv s0, v0.4s umin v0.2s, v0.2s, v0.2s umin v0.4h, v0.4h, v0.4h umin v0.8b, v0.8b, v0.8b +umin v0.16b, v26.16b, v2.16b uminp v0.2s, v0.2s, v0.2s +uminp v28.4s, v16.4s, v15.4s uminp v0.4h, v0.4h, v0.4h uminp v0.8b, v0.8b, v0.8b uminv b0, v0.8b @@ -1025,35 +1346,51 @@ uminv h0, v0.4h uminv h0, v0.8h uminv s0, v0.4s umlal v0.2d, v0.2s, v0.2s +umlal v28.2d, v31.2s, v0.s[1] umlal v0.4s, v0.4h, v0.4h +umlal v22.4s, v14.4h, v0.h[6] umlal v0.8h, v0.8b, v0.8b +umlal2 v10.2d, v4.4s, v3.s[2] +umlal2 v31.4s, v7.8h, v15.h[5] umlal2 v0.2d, v0.4s, v0.4s umlal2 v0.4s, v0.8h, v0.8h umlal2 v0.8h, v0.16b, v0.16b umlsl v0.2d, v0.2s, v0.2s +umlsl v20.2d, v20.2s, v2.s[0] umlsl v0.4s, v0.4h, v0.4h +umlsl v21.4s, v12.4h, v7.h[5] umlsl v0.8h, v0.8b, v0.8b umlsl2 v0.2d, v0.4s, v0.4s +umlsl2 v30.2d, v23.4s, v1.s[2] umlsl2 v0.4s, v0.8h, v0.8h +umlsl2 v27.4s, v28.8h, v6.h[4] umlsl2 v0.8h, v0.16b, v0.16b ummla v0.4s, v0.16b, v0.16b +umov w6, v22.b[0] umov w0, v0.b[1] +umov w10, v25.h[0] umov w0, v0.h[1] umov w0, v0.s[1] umov x0, v0.d[1] umull v0.2d, v0.2s, v0.2s +umull v22.2d, v28.2s, v6.s[1] umull v0.4s, v0.4h, v0.4h +umull v27.4s, v1.4h, v8.h[6] umull v0.8h, v0.8b, v0.8b umull2 v0.2d, v0.4s, v0.4s +umull2 v28.2d, v21.4s, v1.s[0] umull2 v0.4s, v0.8h, v0.8h +umull2 v18.4s, v26.8h, v10.h[1] umull2 v0.8h, v0.16b, v0.16b uqadd h0, h1, h5 +uqadd s0, s24, s30 uqadd v0.8h, v0.8h, v0.8h +uqadd v14.2d, v22.2d, v20.2d uqrshl b11, b20, b30 uqrshl s23, s20, s16 +uqrshl v25.8b, v13.8b, v23.8b uqrshl v0.16b, v0.16b, v0.16b uqrshl v0.4s, v0.4s, v0.4s -uqrshl v0.4s, v0.4s, v0.4s uqrshl v0.8h, v0.8h, v0.8h uqrshrn b10, h12, #5 uqrshrn h12, s10, #14 @@ -1076,6 +1413,7 @@ uqshl v0.2d, v0.2d, #3 uqshl v0.2d, v0.2d, v0.2d uqshl v0.2s, v0.2s, #3 uqshl v0.4h, v0.4h, #3 +uqshl v8.4h, v17.4h, v13.4h uqshl v0.4s, v0.4s, #3 uqshl v0.4s, v0.4s, v0.4s uqshl v0.8b, v0.8b, #3 @@ -1090,8 +1428,10 @@ uqshrn v0.8b, v0.8h, #3 uqshrn2 v0.16b, v0.8h, #3 uqshrn2 v0.4s, v0.2d, #3 uqshrn2 v0.8h, v0.4s, #3 +uqsub s16, s21, s6 uqsub d16, d16, d16 uqsub v0.4h, v0.4h, v0.4h +uqsub v19.4s, v0.4s, v5.4s uqxtn b18, h18 uqxtn h20, s17 uqxtn s19, d14 @@ -1106,7 +1446,9 @@ urecpe v0.4s, v0.4s urhadd v0.16b, v0.16b, v0.16b urhadd v0.4s, v0.4s, v0.4s urhadd v0.8h, v0.8h, v0.8h +urhadd v16.2s, v19.2s, v2.2s urshl d8, d7, d4 +urshl v31.8b, v5.8b, v3.8b urshl v0.16b, v0.16b, v0.16b urshl v0.2d, v0.2d, v0.2d urshl v0.4s, v0.4s, v0.4s @@ -1134,10 +1476,15 @@ usdot v0.2s, v0.8b, v0.8b usdot v0.4s, v0.16b, v0.16b usdot v0.4s, v0.16b, v0.4b[2] ushl d0, d0, d0 +ushl v6.8b, v26.8b, v6.8b ushl v0.16b, v0.16b, v0.16b ushl v0.4s, v0.4s, v0.4s ushl v0.8h, v0.8h, v0.8h ushll v0.4s, v0.4h, #3 +ushll v18.8h, v24.8b, #4 +ushll v16.2d, v16.2s, #31 +ushll2 v31.2d, v12.4s, #11 +ushll2 v18.4s, v22.8h, #13 ushll2 v0.8h, v0.16b, #3 ushr d10, d17, #18 ushr v0.16b, v0.16b, #3 @@ -1148,6 +1495,11 @@ ushr v0.4s, v0.4s, #3 ushr v0.8b, v0.8b, #3 ushr v0.8h, v0.8h, #3 usmmla v0.4s, v0.16b, v0.16b +smov w15, v22.b[0] +smov w26, v27.h[0] +smov x21, v0.b[0] +smov x9, v27.h[0] +smov x15, v3.s[0] smov w0, v0.b[1] smov w0, v0.h[1] smov x0, v0.b[1] @@ -1244,8 +1596,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: 1 2 0.25 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 addp d1, v14.2d # CHECK-NEXT: 1 2 0.50 addv s0, v0.4s # CHECK-NEXT: 1 2 0.50 addv h0, v0.4h # CHECK-NEXT: 2 4 0.50 addv h0, v0.8h @@ -1259,6 +1613,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 0.50 bfcvt h0, s0 # CHECK-NEXT: 1 4 0.50 bfcvtn v0.4h, v0.4s # CHECK-NEXT: 1 4 0.50 bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: 1 4 0.25 bfdot v0.2s, v24.4h, v14.2h[2] # CHECK-NEXT: 1 4 0.25 bfdot v0.2s, v0.4h, v0.4h # CHECK-NEXT: 1 4 0.25 bfdot v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 bfmlalb v0.4s, v0.8h, v0.8h @@ -1267,10 +1622,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 bfmlalt v0.4s, v0.8h, v0.h[3] # CHECK-NEXT: 1 5 0.25 bfmmla v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: 1 2 0.25 bic v23.8h, #101 # CHECK-NEXT: 1 2 0.25 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: 1 2 0.25 bic v24.2s, #70 +# CHECK-NEXT: 1 2 0.25 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: 1 2 0.25 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: 1 2 0.25 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: 1 2 0.25 cls v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 cls v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 cls v0.4h, v0.4h @@ -1283,28 +1644,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 clz v0.4s, v0.4s # CHECK-NEXT: 1 2 0.25 clz v0.8b, v0.8b # CHECK-NEXT: 1 2 0.25 clz v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.25 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: 1 2 0.25 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: 1 2 0.25 cmeq d20, d21, #0 # CHECK-NEXT: 1 2 0.25 cmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.25 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: 1 2 0.25 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.25 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: 1 2 0.25 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: 1 2 0.25 cmge d20, d21, #0 # CHECK-NEXT: 1 2 0.25 cmge d20, d21, d22 # CHECK-NEXT: 1 2 0.25 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: 1 2 0.25 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: 1 2 0.25 cmgt d20, d21, #0 # CHECK-NEXT: 1 2 0.25 cmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.25 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: 1 2 0.25 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: 1 2 0.25 cmhi d20, d21, d22 # CHECK-NEXT: 1 2 0.25 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 cmhs d20, d21, d22 # CHECK-NEXT: 1 2 0.25 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: 1 2 0.25 cmle d20, d21, #0 # CHECK-NEXT: 1 2 0.25 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: 1 2 0.25 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: 1 2 0.25 cmlt d20, d21, #0 # CHECK-NEXT: 1 2 0.25 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: 1 2 0.25 cmtst d20, d21, d22 # CHECK-NEXT: 1 2 0.25 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.25 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: 1 2 0.25 cnt v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 cnt v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 dup v0.16b, w28 @@ -1330,7 +1700,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.25 fabd d29, d24, d20 # CHECK-NEXT: 1 2 0.25 fabd s29, s24, s20 +# CHECK-NEXT: 1 2 0.25 fabd h27, h20, h17 +# CHECK-NEXT: 1 2 0.25 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: 1 2 0.25 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fabs h25, h7 # CHECK-NEXT: 1 2 0.25 fabs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fabs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fabs v0.4h, v0.4h @@ -1338,41 +1711,71 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 fabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 facge d20, d21, d22 # CHECK-NEXT: 1 2 0.25 facge s10, s11, s12 +# CHECK-NEXT: 1 2 0.25 facge h24, h26, h29 +# CHECK-NEXT: 1 2 0.25 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: 1 2 0.25 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: 1 2 0.25 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.25 facgt d20, d21, d22 # CHECK-NEXT: 1 2 0.25 facgt s10, s11, s12 +# CHECK-NEXT: 1 2 0.25 facgt h0, h4, h10 # CHECK-NEXT: 1 2 0.25 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.25 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: 1 2 0.25 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: 1 2 0.25 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 faddp h10, v19.2h +# CHECK-NEXT: 1 2 0.25 faddp d11, v28.2d # CHECK-NEXT: 1 2 0.25 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 faddp v16.2d, v11.2d, v5.2d # CHECK-NEXT: 1 4 0.25 fcadd v0.2s, v0.2s, v0.2s, #90 # CHECK-NEXT: 1 4 0.25 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 2 0.25 fcmeq h30, h6, h1 +# CHECK-NEXT: 1 2 0.25 fcmeq h19, h23, #0.0 # CHECK-NEXT: 1 2 0.25 fcmeq d20, d21, #0.0 # CHECK-NEXT: 1 2 0.25 fcmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.25 fcmeq s10, s11, #0.0 # CHECK-NEXT: 1 2 0.25 fcmeq s10, s11, s12 # CHECK-NEXT: 1 2 0.25 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: 1 2 0.25 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.25 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: 1 2 0.25 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmge h10, h23, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmge h1, h16, h12 # CHECK-NEXT: 1 2 0.25 fcmge d20, d21, #0.0 # CHECK-NEXT: 1 2 0.25 fcmge d20, d21, d22 # CHECK-NEXT: 1 2 0.25 fcmge s10, s11, #0.0 # CHECK-NEXT: 1 2 0.25 fcmge s10, s11, s12 # CHECK-NEXT: 1 2 0.25 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: 1 2 0.25 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: 1 2 0.25 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmgt h4, h5, h0 +# CHECK-NEXT: 1 2 0.25 fcmgt h0, h18, #0.0 # CHECK-NEXT: 1 2 0.25 fcmgt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.25 fcmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.25 fcmgt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.25 fcmgt s10, s11, s12 # CHECK-NEXT: 1 2 0.25 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: 1 2 0.25 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: 1 2 0.25 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmgt v19.2d, v31.2d, #0.0 # CHECK-NEXT: 1 4 0.25 fcmla v0.2s, v0.2s, v0.2s, #90 # CHECK-NEXT: 1 4 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0 +# CHECK-NEXT: 1 2 0.25 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: 1 2 0.25 fcmle d20, d21, #0.0 # CHECK-NEXT: 1 2 0.25 fcmle s10, s11, #0.0 # CHECK-NEXT: 1 2 0.25 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmle h18, h28, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmlt h23, h7, #0.0 # CHECK-NEXT: 1 2 0.25 fcmlt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.25 fcmlt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.25 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: 1 2 0.25 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: 1 3 0.50 fcvtas d21, d14 # CHECK-NEXT: 2 4 1.00 fcvtas s12, s13 # CHECK-NEXT: 4 6 1.00 fcvtas h12, h13 @@ -1459,9 +1862,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 0.50 fcvtzs v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 1.00 fcvtzs v0.4h, v0.4h +# CHECK-NEXT: 2 4 1.00 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: 2 4 1.00 fcvtzs v0.4s, v0.4s # CHECK-NEXT: 2 4 1.00 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 1.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 4 6 1.00 fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: 1 3 0.50 fcvtzu d21, d12, #1 # CHECK-NEXT: 1 3 0.50 fcvtzu d21, d14 # CHECK-NEXT: 2 4 1.00 fcvtzu s12, s13 @@ -1473,9 +1878,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 0.50 fcvtzu v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 1.00 fcvtzu v0.4h, v0.4h +# CHECK-NEXT: 2 4 1.00 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: 2 4 1.00 fcvtzu v0.4s, v0.4s # CHECK-NEXT: 2 4 1.00 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 1.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 4 6 1.00 fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: 1 15 3.50 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 10 3.50 fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 7 3.50 fdiv v0.4h, v0.4h, v0.4h @@ -1487,12 +1894,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fmaxnmp h25, v19.2h +# CHECK-NEXT: 1 2 0.25 fmaxnmp d17, v29.2d # CHECK-NEXT: 1 2 0.25 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 4 0.50 fmaxnmv h0, v13.4h +# CHECK-NEXT: 3 6 0.75 fmaxnmv h12, v11.8h +# CHECK-NEXT: 2 4 0.50 fmaxnmv s28, v31.4s # CHECK-NEXT: 1 2 0.25 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fmaxp h15, v25.2h +# CHECK-NEXT: 1 2 0.25 fmaxp s6, v2.2s # CHECK-NEXT: 2 4 0.50 fmaxv h0, v0.4h # CHECK-NEXT: 3 6 0.75 fmaxv h0, v0.8h # CHECK-NEXT: 2 4 0.50 fmaxv s0, v0.4s @@ -1502,15 +1916,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fminnmp h20, v14.2h +# CHECK-NEXT: 1 2 0.25 fminnmp d15, v8.2d # CHECK-NEXT: 1 2 0.25 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 4 0.50 fminnmv h19, v25.4h +# CHECK-NEXT: 3 6 0.75 fminnmv h23, v17.8h +# CHECK-NEXT: 2 4 0.50 fminnmv s29, v17.4s # CHECK-NEXT: 1 2 0.25 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.25 fminp h7, v10.2h +# CHECK-NEXT: 1 2 0.25 fminp s17, v7.2s +# CHECK-NEXT: 2 4 0.50 fminv h3, v30.4h +# CHECK-NEXT: 3 6 0.75 fminv h29, v12.8h +# CHECK-NEXT: 2 4 0.50 fminv s16, v19.4s # CHECK-NEXT: 1 4 0.25 fmla d0, d1, v0.d[1] +# CHECK-NEXT: 1 4 0.25 fmla h23, h24, v15.h[4] # CHECK-NEXT: 1 4 0.25 fmla s0, s1, v0.s[3] # CHECK-NEXT: 1 4 0.25 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.25 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: 1 4 0.25 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: 1 4 0.25 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: 1 4 0.25 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: 1 4 0.25 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: 1 2 0.25 fmlal v0.2s, v0.2h, v0.h[1] # CHECK-NEXT: 1 2 0.25 fmlal v0.4s, v0.4h, v0.h[3] # CHECK-NEXT: 1 5 0.25 fmlal v0.2s, v0.2h, v0.2h @@ -1520,8 +1950,14 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 5 0.25 fmlal2 v0.2s, v0.2h, v0.2h # CHECK-NEXT: 1 5 0.25 fmlal2 v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 0.25 fmls d0, d4, v0.d[1] +# CHECK-NEXT: 1 4 0.25 fmls h8, h14, v7.h[4] # CHECK-NEXT: 1 4 0.25 fmls s3, s5, v0.s[3] # CHECK-NEXT: 1 4 0.25 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.25 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: 1 4 0.25 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: 1 4 0.25 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: 1 4 0.25 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: 1 4 0.25 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: 1 2 0.25 fmlsl v0.2s, v0.2h, v0.h[1] # CHECK-NEXT: 1 2 0.25 fmlsl v0.4s, v0.4h, v0.h[3] # CHECK-NEXT: 1 5 0.25 fmlsl v0.2s, v0.2h, v0.2h @@ -1533,21 +1969,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 fmov v0.2d, #-1.25000000 # CHECK-NEXT: 1 2 0.25 fmov v0.2s, #13.00000000 # CHECK-NEXT: 1 2 0.25 fmov v0.4s, #1.00000000 +# CHECK-NEXT: 1 3 0.25 fmul h18, h4, v7.h[3] +# CHECK-NEXT: 1 3 0.25 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: 1 3 0.25 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: 1 3 0.25 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: 1 3 0.25 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: 1 3 0.25 fmul h28, h14, h3 # CHECK-NEXT: 1 3 0.25 fmul d0, d1, v0.d[1] # CHECK-NEXT: 1 3 0.25 fmul s0, s1, v0.s[3] # CHECK-NEXT: 1 3 0.25 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.25 fmulx d0, d4, v0.d[1] # CHECK-NEXT: 1 2 0.25 fmulx d23, d11, d1 # CHECK-NEXT: 1 2 0.25 fmulx s20, s22, s15 +# CHECK-NEXT: 1 3 0.25 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: 1 2 0.25 fmulx h20, h25, h0 # CHECK-NEXT: 1 3 0.25 fmulx s3, s5, v0.s[3] # CHECK-NEXT: 1 3 0.25 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.25 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: 1 3 0.25 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: 1 3 0.25 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.25 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.25 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: 1 3 0.25 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: 1 2 0.25 fneg v0.2d, v0.2d # CHECK-NEXT: 1 2 0.25 fneg v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 fneg v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 fneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.25 fneg v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 frecpe h20, h8 # CHECK-NEXT: 1 3 0.50 frecpe d13, d13 # CHECK-NEXT: 1 3 0.50 frecpe s19, s14 # CHECK-NEXT: 1 4 0.50 frecpe v0.2d, v0.2d @@ -1555,9 +2004,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 frecpe v0.4h, v0.4h # CHECK-NEXT: 1 4 0.50 frecpe v0.4s, v0.4s # CHECK-NEXT: 2 6 1.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.25 frecps h29, h19, h8 +# CHECK-NEXT: 1 3 0.50 frecpx h18, h11 +# CHECK-NEXT: 1 4 0.25 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: 1 4 0.25 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.25 frecps d22, d30, d21 # CHECK-NEXT: 1 4 0.25 frecps s21, s16, s13 +# CHECK-NEXT: 1 4 0.25 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: 1 3 0.50 frecpx d16, d19 # CHECK-NEXT: 1 3 0.50 frecpx s18, s10 # CHECK-NEXT: 1 3 0.50 frinta v0.2d, v0.2d @@ -1595,13 +2048,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 1.00 frintz v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 frintz v0.4s, v0.4s # CHECK-NEXT: 4 6 1.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 frsqrte h23, h26 # CHECK-NEXT: 1 3 0.50 frsqrte d21, d12 # CHECK-NEXT: 1 3 0.50 frsqrte s22, s13 # CHECK-NEXT: 1 4 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 frsqrte v0.2s, v0.2s # CHECK-NEXT: 1 4 0.50 frsqrte v0.4h, v0.4h # CHECK-NEXT: 1 4 0.50 frsqrte v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.25 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: 1 4 0.25 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: 2 6 1.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.25 frsqrts h28, h26, h1 # CHECK-NEXT: 1 4 0.25 frsqrts d8, d22, d18 # CHECK-NEXT: 1 4 0.25 frsqrts s21, s5, s12 # CHECK-NEXT: 1 4 0.25 frsqrts v0.2d, v0.2d, v0.2d @@ -1610,53 +2067,138 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 7 3.50 fsqrt v0.4h, v0.4h # CHECK-NEXT: 1 10 3.50 fsqrt v0.4s, v0.4s # CHECK-NEXT: 1 13 5.50 fsqrt v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.25 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: 1 2 0.25 fsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 6 0.33 * ld1 { v0.16b }, [x0] +# CHECK-NEXT: 2 6 0.67 * ld1 { v0.16b, v1.16b }, [x14] +# CHECK-NEXT: 3 6 1.00 * ld1 { v19.16b, v20.16b, v21.16b }, [x10] +# CHECK-NEXT: 4 7 1.33 * ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9] +# CHECK-NEXT: 1 6 0.33 * ld1 { v24.8h }, [x27] +# CHECK-NEXT: 2 6 0.67 * ld1 { v1.8h, v2.8h }, [x27] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.8h, v1.8h }, [sp], #32 +# CHECK-NEXT: 3 6 1.00 * ld1 { v21.8h, v22.8h, v23.8h }, [x22] +# CHECK-NEXT: 4 7 1.33 * ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21] +# CHECK-NEXT: 1 6 0.33 * ld1 { v3.4s }, [x4] +# CHECK-NEXT: 2 6 0.67 * ld1 { v11.4s, v12.4s }, [x30] +# CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [x24] +# CHECK-NEXT: 4 7 1.33 * ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28] # CHECK-NEXT: 4 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48 +# CHECK-NEXT: 1 6 0.33 * ld1 { v3.2d }, [x28] +# CHECK-NEXT: 2 6 0.67 * ld1 { v13.2d, v14.2d }, [x13] +# CHECK-NEXT: 3 6 1.00 * ld1 { v12.2d, v13.2d, v14.2d }, [x15] # CHECK-NEXT: 4 7 1.33 * ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] # CHECK-NEXT: 2 6 0.33 * ld1 { v0.1d }, [x15], x2 +# CHECK-NEXT: 2 6 0.67 * ld1 { v27.1d, v28.1d }, [x7] +# CHECK-NEXT: 3 6 1.00 * ld1 { v14.1d, v15.1d, v16.1d }, [x3] +# CHECK-NEXT: 2 6 0.67 * ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4] # CHECK-NEXT: 2 6 0.67 * ld1 { v0.2s, v1.2s }, [x15] +# CHECK-NEXT: 3 6 1.00 * ld1 { v16.2s, v17.2s, v18.2s }, [x27] +# CHECK-NEXT: 2 6 0.67 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 6 0.67 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 2 6 0.67 * ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15] # CHECK-NEXT: 3 6 1.00 * ld1 { v0.4h, v1.4h, v2.4h }, [sp] +# CHECK-NEXT: 2 6 0.67 * ld1 { v24.8b, v25.8b }, [x6] +# CHECK-NEXT: 3 6 1.00 * ld1 { v7.8b, v8.8b, v9.8b }, [x12] +# CHECK-NEXT: 2 6 0.67 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 # CHECK-NEXT: 2 8 0.33 * ld1 { v0.b }[7], [x0] # CHECK-NEXT: 3 8 0.33 * ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: 2 8 0.33 * ld1 { v18.h }[3], [x1] # CHECK-NEXT: 2 8 0.33 * ld1 { v0.s }[1], [x15] # CHECK-NEXT: 3 8 0.33 * ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: 2 8 0.33 * ld1 { v11.d }[0], [x13] # CHECK-NEXT: 2 8 0.33 * ld1r { v0.16b }, [x0] # CHECK-NEXT: 3 8 0.33 * ld1r { v0.8h }, [x0], #2 # CHECK-NEXT: 2 8 0.33 * ld1r { v0.4s }, [x15] +# CHECK-NEXT: 2 8 0.33 * ld1r { v3.1d }, [x15] # CHECK-NEXT: 3 8 0.33 * ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: 2 8 0.33 * ld1r { v18.2d }, [x0] +# CHECK-NEXT: 2 8 0.33 * ld1r { v8.8b }, [x23] +# CHECK-NEXT: 2 8 0.33 * ld1r { v28.4h }, [x9] +# CHECK-NEXT: 2 8 0.33 * ld1r { v3.8h }, [x16] +# CHECK-NEXT: 2 8 0.33 * ld1r { v10.2s }, [x20] +# CHECK-NEXT: 3 8 0.50 * ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: 4 8 0.67 * ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: 3 8 0.50 * ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: 4 8 0.67 * ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: 4 8 0.67 * ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: 3 8 0.50 * ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: 3 8 0.50 * ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: 3 8 0.50 * ld2 { v1.d, v2.d }[0], [x10] # CHECK-NEXT: 4 8 0.67 * ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: 3 8 0.50 * ld2 { v13.8b, v14.8b }, [x4] # CHECK-NEXT: 4 8 0.50 * ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: 3 8 0.50 * ld2 { v0.h, v1.h }[7], [x15] # CHECK-NEXT: 4 8 0.50 * ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: 3 8 0.50 * ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 3 8 0.50 * ld2r { v10.16b, v11.16b }, [x23] # CHECK-NEXT: 4 8 0.50 * ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: 3 8 0.50 * ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: 3 8 0.50 * ld2r { v23.8h, v24.8h }, [x10] # CHECK-NEXT: 3 8 0.50 * ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: 3 8 0.50 * ld2r { v8.4s, v9.4s }, [x17] # CHECK-NEXT: 4 8 0.50 * ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: 3 8 0.50 * ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: 3 8 0.50 * ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: 5 8 0.75 * ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: 6 8 1.00 * ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: 5 8 0.75 * ld3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 7 8 1.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: 6 8 1.00 * ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: 5 8 0.75 * ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: 6 8 1.00 * ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: 5 8 0.75 * ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: 5 8 0.75 * ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: 6 8 1.00 * ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: 5 8 0.75 * ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: 6 8 0.75 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: 5 8 0.75 * ld3 { v5.d, v6.d, v7.d }[1], [x14] # CHECK-NEXT: 5 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: 5 8 0.75 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 6 8 0.75 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: 5 8 0.75 * ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: 5 8 0.75 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] # CHECK-NEXT: 5 8 0.75 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 5 8 0.75 * ld3r { v28.4s, v29.4s, v30.4s }, [x2] # CHECK-NEXT: 6 8 0.75 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: 5 8 0.75 * ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: 5 8 0.75 * ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: 7 8 1.00 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: 8 9 1.33 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: 7 8 1.00 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: 8 9 1.33 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 8 9 1.33 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 7 8 1.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 9 9 1.33 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: 7 8 1.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: 8 9 1.33 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: 7 8 1.00 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: 7 8 1.00 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: 8 8 1.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: 7 8 1.00 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: 7 8 1.00 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: 7 8 1.00 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: 7 8 1.00 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: 7 8 1.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] # CHECK-NEXT: 7 8 1.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 7 8 1.00 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: 7 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] # CHECK-NEXT: 8 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: 7 8 1.00 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] # CHECK-NEXT: 8 8 1.00 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 1 4 0.50 mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.50 mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: 1 4 0.50 mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: 1 4 0.50 mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: 1 4 0.50 mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: 1 4 0.50 mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: 1 2 0.25 mov b0, v0.b[15] # CHECK-NEXT: 1 2 0.25 mov d6, v0.d[1] # CHECK-NEXT: 1 2 0.25 mov h2, v0.h[5] # CHECK-NEXT: 1 2 0.25 mov s17, v0.s[2] +# CHECK-NEXT: 1 2 0.25 mov w8, v8.s[0] +# CHECK-NEXT: 1 2 0.25 mov x30, v18.d[0] # CHECK-NEXT: 1 2 0.25 mov v2.b[0], v0.b[0] # CHECK-NEXT: 1 2 0.25 mov v2.h[1], v0.h[1] # CHECK-NEXT: 1 2 0.25 mov v2.s[2], v0.s[2] @@ -1669,11 +2211,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 mov v0.8b, v0.8b # CHECK-NEXT: 1 2 0.25 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: 1 2 0.25 movi v0.16b, #31 +# CHECK-NEXT: 1 2 0.25 movi v14.8h, #174 +# CHECK-NEXT: 1 2 0.25 movi v13.4h, #74, lsl #8 # CHECK-NEXT: 1 2 0.25 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: 1 2 0.25 movi v0.2s, #8, msl #8 +# CHECK-NEXT: 1 2 0.25 movi v19.2s, #226 +# CHECK-NEXT: 1 2 0.25 movi v1.4s, #122, msl #8 # CHECK-NEXT: 1 2 0.25 movi v0.4s, #255, lsl #24 # CHECK-NEXT: 1 2 0.25 movi v0.8b, #255 # CHECK-NEXT: 1 4 0.50 mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.50 mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: 1 4 0.50 mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: 1 4 0.50 mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: 1 4 0.50 mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: 1 4 0.50 mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: 1 4 0.50 mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: 1 2 0.25 mvni v9.4h, #237 +# CHECK-NEXT: 1 2 0.25 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: 1 2 0.25 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: 1 2 0.25 mvni v0.2s, #0 # CHECK-NEXT: 1 2 0.25 mvni v0.4s, #16, msl #16 # CHECK-NEXT: 1 2 0.25 neg d29, d24 @@ -1687,8 +2242,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 mvn v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 mvn v0.8b, v0.8b # CHECK-NEXT: 1 2 0.25 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.25 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: 1 2 0.25 mov v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.25 orr v9.4h, #18 # CHECK-NEXT: 1 2 0.25 orr v0.8h, #31 +# CHECK-NEXT: 1 2 0.25 orr v4.4s, #0 # CHECK-NEXT: 1 3 0.50 pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.50 pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.50 pmull v0.8h, v0.8b, v0.8b @@ -1733,6 +2291,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: 1 2 0.25 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 sabdl v0.8h, v0.8b, v0.8b @@ -1768,6 +2327,8 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.25 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.25 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 4 6 1.00 scvtf h4, h8, #9 +# CHECK-NEXT: 4 6 1.00 scvtf h5, h14 # CHECK-NEXT: 1 3 0.50 scvtf d21, d12 # CHECK-NEXT: 1 3 0.50 scvtf d21, d12, #64 # CHECK-NEXT: 2 4 1.00 scvtf s22, s13 @@ -1779,26 +2340,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 1.00 scvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 scvtf v0.4s, v0.4s # CHECK-NEXT: 2 4 1.00 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 1.00 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: 4 6 1.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 1.00 scvtf v4.8h, v8.8h, #10 # CHECK-NEXT: 1 3 0.25 sdot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: 1 3 0.25 sdot v0.2s, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.25 sdot v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.25 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.25 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: 1 2 0.25 shl d7, d10, #12 +# CHECK-NEXT: 1 2 0.50 shl v23.8b, v18.8b, #6 # CHECK-NEXT: 1 2 0.50 shl v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 shl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 0.50 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 2 0.50 shl v0.8h, v23.8h, #10 # CHECK-NEXT: 1 2 0.50 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: 1 2 0.50 shll v0.2d, v0.2s, #32 # CHECK-NEXT: 1 2 0.50 shll v0.4s, v0.4h, #16 # CHECK-NEXT: 1 2 0.50 shll v0.8h, v0.8b, #8 # CHECK-NEXT: 1 2 0.50 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: 1 2 0.50 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: 1 2 0.50 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: 1 2 0.50 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: 1 2 0.50 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: 1 2 0.50 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: 1 2 0.50 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: 1 2 0.50 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: 1 2 0.50 shll2 v0.8h, v0.16b, #8 @@ -1810,6 +2370,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: 1 2 0.25 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: 1 2 0.25 sli d10, d14, #12 # CHECK-NEXT: 1 2 0.50 sli v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 sli v0.2d, v0.2d, #3 @@ -1821,8 +2382,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: 1 2 0.25 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: 1 2 0.25 smaxp v0.8b, v0.8b, v0.8b # CHECK-NEXT: 2 4 0.50 smaxv b0, v0.8b # CHECK-NEXT: 2 4 1.00 smaxv b0, v0.16b @@ -1841,23 +2404,35 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 0.50 sminv h0, v0.8h # CHECK-NEXT: 1 2 0.50 sminv s0, v0.4s # CHECK-NEXT: 1 4 0.50 smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: 1 4 0.50 smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: 1 4 0.50 smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 0.50 smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: 1 4 0.50 smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 0.50 smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: 1 4 0.50 smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: 1 4 0.50 smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.50 smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: 1 4 0.50 smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: 1 4 0.50 smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: 1 4 0.50 smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 smlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.25 smmla v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.50 smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 3 0.50 smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: 1 3 0.50 smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 3 0.50 smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: 1 3 0.50 smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.50 smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: 1 3 0.50 smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 3 0.50 smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: 1 3 0.50 smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 sqabs b19, b14 # CHECK-NEXT: 1 2 0.25 sqabs d18, d12 @@ -1871,6 +2446,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 sqabs v0.8b, v0.8b # CHECK-NEXT: 1 2 0.25 sqabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 sqadd b20, b11, b15 +# CHECK-NEXT: 1 2 0.25 sqadd h12, h18, h10 # CHECK-NEXT: 1 2 0.25 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 0.50 sqdmlal d19, s24, s12 @@ -1878,17 +2454,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: 1 4 0.50 sqdmlal s17, h27, h12 # CHECK-NEXT: 1 4 0.50 sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: 1 4 0.50 sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: 1 4 0.50 sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: 1 4 0.50 sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: 1 4 0.50 sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: 1 4 0.50 sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: 1 3 0.50 sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: 1 3 0.50 sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: 1 3 0.50 sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: 1 3 0.50 sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: 1 4 0.50 sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: 1 4 0.50 sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: 1 4 0.50 sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: 1 4 0.50 sqdmlsl d12, s23, s13 # CHECK-NEXT: 1 4 0.50 sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: 1 4 0.50 sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: 1 4 0.50 sqdmlsl s14, h12, h25 # CHECK-NEXT: 1 4 0.50 sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: 1 4 0.50 sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: 1 4 0.50 sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: 1 4 0.50 sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: 1 4 0.50 sqdmulh h10, h11, h12 # CHECK-NEXT: 1 4 0.50 sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 4 0.50 sqdmulh s15, s14, v0.s[1] @@ -1949,6 +2542,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 0.50 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 0.50 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.50 sqshl s17, s4, s23 +# CHECK-NEXT: 1 2 0.25 sqsub b3, b13, b12 +# CHECK-NEXT: 1 2 0.25 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: 1 2 0.25 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 2 0.25 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 2 0.25 sqrshrn s15, d12, #9 @@ -1974,6 +2570,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 sqshl h3, h4, h15 # CHECK-NEXT: 1 4 0.50 sqshl s14, s17, #22 # CHECK-NEXT: 1 4 0.50 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: 1 4 0.50 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: 1 4 0.50 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 0.50 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 0.50 sqshl v0.2s, v0.2s, v0.2s @@ -2070,8 +2667,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: 1 2 0.50 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: 1 2 0.50 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: 1 2 0.50 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: 1 2 0.50 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: 1 2 0.50 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: 1 2 0.25 sshr d15, d16, #12 # CHECK-NEXT: 1 2 0.50 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 sshr v0.2d, v0.2d, #3 @@ -2100,30 +2701,91 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.25 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.25 ssubw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 2 2 0.50 * st1 { v18.8b }, [x15] +# CHECK-NEXT: 2 2 0.50 * st1 { v8.8b, v9.8b }, [x18] +# CHECK-NEXT: 4 2 1.00 * st1 { v15.8b, v16.8b, v17.8b }, [x0] +# CHECK-NEXT: 4 2 1.00 * st1 { v21.8b, v22.8b, v23.8b, v24.8b }, [x14] # CHECK-NEXT: 2 2 0.50 * st1 { v0.16b }, [x0] +# CHECK-NEXT: 4 2 1.00 * st1 { v1.16b, v2.16b }, [x4] +# CHECK-NEXT: 6 2 1.50 * st1 { v27.16b, v28.16b, v29.16b }, [x18] +# CHECK-NEXT: 8 2 2.00 * st1 { v18.16b, v19.16b, v20.16b, v21.16b }, [x29] +# CHECK-NEXT: 2 2 0.50 * st1 { v19.4h }, [x7] +# CHECK-NEXT: 2 2 0.50 * st1 { v22.4h, v23.4h }, [x22] +# CHECK-NEXT: 4 2 1.00 * st1 { v13.4h, v14.4h, v15.4h }, [x7] +# CHECK-NEXT: 4 2 1.00 * st1 { v23.4h, v24.4h, v25.4h, v26.4h }, [x24] +# CHECK-NEXT: 2 2 0.50 * st1 { v27.8h }, [x17] +# CHECK-NEXT: 6 2 1.50 * st1 { v8.8h, v9.8h, v10.8h }, [x16] +# CHECK-NEXT: 8 2 2.00 * st1 { v7.8h, v8.8h, v9.8h, v10.8h }, [x19] +# CHECK-NEXT: 2 2 0.50 * st1 { v25.2s }, [x6] +# CHECK-NEXT: 2 2 0.50 * st1 { v13.2s, v14.2s }, [x9] +# CHECK-NEXT: 4 2 1.00 * st1 { v12.2s, v13.2s, v14.2s }, [x3] +# CHECK-NEXT: 4 2 1.00 * st1 { v6.2s, v7.2s, v8.2s, v9.2s }, [x13] # CHECK-NEXT: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 +# CHECK-NEXT: 2 2 0.50 * st1 { v22.4s }, [x19] +# CHECK-NEXT: 4 2 1.00 * st1 { v15.4s, v16.4s }, [x12] +# CHECK-NEXT: 8 2 2.00 * st1 { v26.4s, v27.4s, v28.4s, v29.4s }, [x12] +# CHECK-NEXT: 2 2 0.50 * st1 { v20.1d }, [x10] +# CHECK-NEXT: 2 2 0.50 * st1 { v21.1d, v22.1d }, [x29] +# CHECK-NEXT: 4 2 1.00 * st1 { v5.1d, v6.1d, v7.1d }, [x3] +# CHECK-NEXT: 4 2 1.00 * st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x10] +# CHECK-NEXT: 4 2 1.00 * st1 { v26.2d, v27.2d }, [x28] # CHECK-NEXT: 7 2 1.50 * st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 +# CHECK-NEXT: 6 2 1.50 * st1 { v13.2d, v14.2d, v15.2d }, [x27] # CHECK-NEXT: 8 2 2.00 * st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] +# CHECK-NEXT: 2 2 0.50 * st1 { v8.2d }, [x15] # CHECK-NEXT: 3 2 0.50 * st1 { v0.8h }, [x15], x2 # CHECK-NEXT: 4 2 1.00 * st1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 6 2 1.50 * st1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 2 1.00 * st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: 2 4 0.50 * st1 { v1.b }[5], [x1] +# CHECK-NEXT: 2 4 0.50 * st1 { v0.h }[2], [x1] +# CHECK-NEXT: 2 4 0.50 * st1 { v31.s }[1], [x16] # CHECK-NEXT: 2 4 0.50 * st1 { v0.d }[1], [x0] # CHECK-NEXT: 3 4 0.50 * st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: 5 4 1.00 * st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 2 4 0.50 * st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 4 4 1.00 * st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: 2 4 0.50 * st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: 4 4 1.00 * st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: 2 4 0.50 * st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: 4 4 1.00 * st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: 4 4 1.00 * st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: 2 4 0.50 * st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: 2 4 0.50 * st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: 2 4 0.50 * st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: 3 4 0.50 * st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: 2 4 0.50 * st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: 4 4 1.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: 6 5 1.50 * st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: 4 4 1.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 7 5 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 6 5 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: 4 4 1.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: 6 5 1.50 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 6 5 1.50 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 4 4 1.00 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 4 4 1.00 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 5 4 1.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 4 4 1.00 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 4 4 1.00 * st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: 6 6 1.50 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: 12 7 3.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: 6 6 1.50 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: 12 7 3.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: 6 6 1.50 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 13 7 3.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: 12 7 3.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: 8 4 2.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] # CHECK-NEXT: 6 6 1.00 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 6 6 1.00 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 6 6 1.00 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 4 4 1.00 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 5 4 1.00 * st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: 1 2 0.25 sub d15, d5, d16 # CHECK-NEXT: 1 2 0.25 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.25 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: 1 2 0.25 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: 1 2 0.25 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: 1 3 0.25 sudot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: 1 3 0.25 sudot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.25 suqadd b19, b14 @@ -2168,6 +2830,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.25 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.50 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: 1 4 0.50 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 0.50 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 0.50 uabal v0.8h, v0.8b, v0.8b @@ -2175,6 +2838,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: 1 2 0.25 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 uabdl v0.8h, v0.8b, v0.8b @@ -2210,8 +2874,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.25 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.25 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 ucvtf h17, x12 +# CHECK-NEXT: 4 6 1.00 ucvtf h22, h16, #11 +# CHECK-NEXT: 4 6 1.00 ucvtf h7, h21 # CHECK-NEXT: 1 3 0.50 ucvtf d21, d14 # CHECK-NEXT: 1 3 0.50 ucvtf d21, d14, #64 +# CHECK-NEXT: 1 3 1.00 ucvtf s8, x0 # CHECK-NEXT: 2 4 1.00 ucvtf s22, s13 # CHECK-NEXT: 2 4 1.00 ucvtf s22, s13, #32 # CHECK-NEXT: 1 3 0.50 ucvtf v0.2d, v0.2d @@ -2221,13 +2889,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 1.00 ucvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 ucvtf v0.4s, v0.4s # CHECK-NEXT: 2 4 1.00 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 1.00 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: 4 6 1.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 1.00 ucvtf v22.8h, v20.8h, #10 # CHECK-NEXT: 1 3 0.25 udot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: 1 3 0.25 udot v0.2s, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.25 udot v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.25 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.25 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.25 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: 1 2 0.25 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.25 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 umax v0.4s, v0.4s, v0.4s @@ -2243,7 +2914,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: 1 2 0.25 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.25 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: 1 2 0.25 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 uminp v0.8b, v0.8b, v0.8b # CHECK-NEXT: 2 4 0.50 uminv b0, v0.8b @@ -2252,35 +2925,51 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 0.50 uminv h0, v0.8h # CHECK-NEXT: 1 2 0.50 uminv s0, v0.4s # CHECK-NEXT: 1 4 0.50 umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: 1 4 0.50 umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: 1 4 0.50 umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.50 umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: 1 4 0.50 umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: 1 4 0.50 umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.50 umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 0.50 umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: 1 4 0.50 umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: 1 4 0.50 umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 0.50 umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: 1 4 0.50 umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: 1 4 0.50 umlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.25 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.25 umov w6, v22.b[0] # CHECK-NEXT: 1 2 0.25 umov w0, v0.b[1] +# CHECK-NEXT: 1 2 0.25 umov w10, v25.h[0] # CHECK-NEXT: 1 2 0.25 umov w0, v0.h[1] # CHECK-NEXT: 1 2 0.25 mov w0, v0.s[1] # CHECK-NEXT: 1 2 0.25 mov x0, v0.d[1] # CHECK-NEXT: 1 3 0.50 umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 3 0.50 umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: 1 3 0.50 umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 3 0.50 umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: 1 3 0.50 umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.50 umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: 1 3 0.50 umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 3 0.50 umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: 1 3 0.50 umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 uqadd h0, h1, h5 +# CHECK-NEXT: 1 2 0.25 uqadd s0, s24, s30 # CHECK-NEXT: 1 2 0.25 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.25 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: 1 4 0.50 uqrshl b11, b20, b30 # CHECK-NEXT: 1 4 0.50 uqrshl s23, s20, s16 +# CHECK-NEXT: 1 4 0.50 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: 1 4 0.50 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 0.50 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 4 0.50 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.50 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 2 0.25 uqrshrn h12, s10, #14 @@ -2303,6 +2992,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 0.50 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 0.50 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 4 0.50 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: 1 4 0.50 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 0.50 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.50 uqshl v0.8b, v0.8b, #3 @@ -2317,8 +3007,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 0.50 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 0.50 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: 1 2 0.25 uqsub s16, s21, s6 # CHECK-NEXT: 1 2 0.25 uqsub d16, d16, d16 # CHECK-NEXT: 1 2 0.25 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: 1 4 0.50 uqxtn b18, h18 # CHECK-NEXT: 1 4 0.50 uqxtn h20, s17 # CHECK-NEXT: 1 4 0.50 uqxtn s19, d14 @@ -2333,7 +3025,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.25 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.25 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: 1 4 0.50 urshl d8, d7, d4 +# CHECK-NEXT: 1 4 0.50 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: 1 4 0.50 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 0.50 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 0.50 urshl v0.4s, v0.4s, v0.4s @@ -2361,10 +3055,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.25 usdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 ushl d0, d0, d0 +# CHECK-NEXT: 1 2 0.50 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: 1 2 0.50 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: 1 2 0.50 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: 1 2 0.50 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: 1 2 0.50 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: 1 2 0.50 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: 1 2 0.50 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: 1 2 0.25 ushr d10, d17, #18 # CHECK-NEXT: 1 2 0.50 ushr v0.16b, v0.16b, #3 @@ -2375,6 +3074,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.50 ushr v0.8h, v0.8h, #3 # CHECK-NEXT: 1 3 0.25 usmmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.25 U smov w15, v22.b[0] +# CHECK-NEXT: 1 2 0.25 U smov w26, v27.h[0] +# CHECK-NEXT: 1 2 0.25 U smov x21, v0.b[0] +# CHECK-NEXT: 1 2 0.25 U smov x9, v27.h[0] +# CHECK-NEXT: 1 2 0.25 U smov x15, v3.s[0] # CHECK-NEXT: 1 2 0.25 smov w0, v0.b[1] # CHECK-NEXT: 1 2 0.25 smov w0, v0.h[1] # CHECK-NEXT: 1 2 0.25 smov x0, v0.b[1] @@ -2468,7 +3172,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] -# CHECK-NEXT: - - - - - - - 26.67 49.17 49.17 18.75 7.75 7.75 7.75 431.00 356.50 385.50 311.00 +# CHECK-NEXT: - - - - - - - 84.33 167.83 167.83 20.75 7.75 7.75 7.75 606.25 497.25 499.75 390.75 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions: @@ -2488,8 +3192,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 addp d1, v14.2d # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 addv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 addv h0, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.75 0.25 0.75 addv h0, v0.8h @@ -2503,6 +3209,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvtn v0.4h, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v24.4h, v14.2h[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.2s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfdot v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.8h @@ -2511,10 +3218,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, v0.8h, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmmla v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bic v23.8h, #101 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bic v24.2s, #70 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cls v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cls v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cls v0.4h, v0.4h @@ -2527,28 +3240,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 clz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 clz v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 clz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmeq d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmge d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmgt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmhi d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmhs d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmle d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmlt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmtst d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cnt v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 cnt v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - dup v0.16b, w28 @@ -2574,7 +3296,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabd d29, d24, d20 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabd s29, s24, s20 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabd h27, h20, h17 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs h25, h7 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs v0.4h, v0.4h @@ -2582,41 +3307,71 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facge s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facge h24, h26, h29 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facgt s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facgt h0, h4, h10 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 faddp h10, v19.2h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 faddp d11, v28.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 faddp v16.2d, v11.2d, v5.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.2s, v0.2s, v0.2s, #90 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq h30, h6, h1 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq h19, h23, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge h10, h23, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge h1, h16, h12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt h4, h5, h0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt h0, h18, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmgt v19.2d, v31.2d, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.2s, v0.2s, v0.2s, #90 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmla v0.4s, v0.4s, v0.s[1], #0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmle d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmle s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmle h18, h28, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmlt h23, h7, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmlt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmlt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtas d21, d14 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtas s12, s13 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtas h12, h13 @@ -2703,9 +3458,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzs v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzs v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzu d21, d12, #1 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzu d21, d14 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu s12, s13 @@ -2717,9 +3474,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv v0.4h, v0.4h, v0.4h @@ -2731,12 +3490,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnmp h25, v19.2h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnmp d17, v29.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fmaxnmv h0, v13.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.75 0.75 fmaxnmv h12, v11.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fmaxnmv s28, v31.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxp h15, v25.2h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmaxp s6, v2.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fmaxv h0, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.75 0.75 fmaxv h0, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fmaxv s0, v0.4s @@ -2746,15 +3512,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnmp h20, v14.2h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnmp d15, v8.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fminnmv h19, v25.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.75 0.75 fminnmv h23, v17.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fminnmv s29, v17.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminp h7, v10.2h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fminp s17, v7.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fminv h3, v30.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.75 0.75 fminv h29, v12.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 0.50 0.50 fminv s16, v19.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla d0, d1, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla h23, h24, v15.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.2s, v0.2h, v0.2h @@ -2764,8 +3546,14 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.2h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls d0, d4, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls h8, h14, v7.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.2s, v0.2h, v0.2h @@ -2777,21 +3565,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov v0.2d, #-1.25000000 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov v0.2s, #13.00000000 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmov v0.4s, #1.00000000 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul h18, h4, v7.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul h28, h14, h3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul d0, d1, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx d0, d4, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx d23, d11, d1 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx s20, s22, s15 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx h20, h25, h0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpe h20, h8 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpe d13, d13 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpe s19, s14 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpe v0.2d, v0.2d @@ -2799,9 +3600,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - frecpe v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frecps h29, h19, h8 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpx h18, h11 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frecps d22, d30, d21 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frecps s21, s16, s13 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpx d16, d19 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frecpx s18, s10 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frinta v0.2d, v0.2d @@ -2839,13 +3644,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - frintz v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - frintz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - frintz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte h23, h26 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte d21, d12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte s22, s13 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - frsqrte v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frsqrts h28, h26, h1 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frsqrts d8, d22, d18 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frsqrts s21, s5, s12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 frsqrts v0.2d, v0.2d, v0.2d @@ -2854,53 +3663,138 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 3.50 - 3.50 - fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 5.50 - 5.50 - fsqrt v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ld1 { v0.16b }, [x0] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v0.16b, v1.16b }, [x14] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v19.16b, v20.16b, v21.16b }, [x10] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - - - - - ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ld1 { v24.8h }, [x27] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v1.8h, v2.8h }, [x27] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - ld1 { v0.8h, v1.8h }, [sp], #32 +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v21.8h, v22.8h, v23.8h }, [x22] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - - - - - ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ld1 { v3.4s }, [x4] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v11.4s, v12.4s }, [x30] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [x24] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - - - - - ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 - - - - ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - ld1 { v3.2d }, [x28] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v13.2d, v14.2d }, [x13] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v12.2d, v13.2d, v14.2d }, [x15] # CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - - - - - ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - - - ld1 { v0.1d }, [x15], x2 +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v27.1d, v28.1d }, [x7] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v14.1d, v15.1d, v16.1d }, [x3] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v0.2s, v1.2s }, [x15] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v16.2s, v17.2s, v18.2s }, [x27] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v0.4h, v1.4h, v2.4h }, [sp] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v24.8b, v25.8b }, [x6] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v7.8b, v8.8b, v9.8b }, [x12] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1 { v0.b }[7], [x0] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1 { v18.h }[3], [x1] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1 { v0.s }[1], [x15] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1 { v11.d }[0], [x13] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v0.16b }, [x0] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ld1r { v0.8h }, [x0], #2 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v0.4s }, [x15] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v3.1d }, [x15] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v18.2d }, [x0] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v8.8b }, [x23] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v28.4h }, [x9] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v3.8h }, [x16] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v10.2s }, [x20] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 0.50 0.50 ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 0.50 0.50 ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 0.50 0.50 ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v1.d, v2.d }[0], [x10] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 0.50 0.50 ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v13.8b, v14.8b }, [x4] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v0.h, v1.h }[7], [x15] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 0.50 0.50 ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v10.16b, v11.16b }, [x23] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 0.50 0.50 ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v23.8h, v24.8h }, [x10] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v8.4s, v9.4s }, [x17] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 0.50 0.50 ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 0.75 0.75 0.75 0.75 ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 0.75 0.75 0.75 0.75 ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3 { v5.d, v6.d, v7.d }[1], [x14] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 0.75 0.75 0.75 0.75 ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v6.8h, v7.8h, v8.8h }, [x28] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v28.4s, v29.4s, v30.4s }, [x2] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 0.75 0.75 0.75 0.75 ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - 1.00 1.00 1.00 1.00 ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - 1.00 1.00 1.00 1.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - 1.00 1.00 1.00 1.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 1.00 1.00 1.00 1.00 ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - 1.00 1.00 1.00 1.00 ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 1.00 1.00 ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 1.00 1.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 1.00 1.00 1.00 1.00 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 1.00 1.00 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov b0, v0.b[15] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov d6, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov h2, v0.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov s17, v0.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov x30, v18.d[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov v2.b[0], v0.b[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov v2.h[1], v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov v2.s[2], v0.s[2] @@ -2913,11 +3807,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v0.16b, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v14.8h, #174 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v13.4h, #74, lsl #8 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v0.2s, #8, msl #8 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v19.2s, #226 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v1.4s, #122, msl #8 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v0.4s, #255, lsl #24 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 movi v0.8b, #255 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvni v9.4h, #237 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvni v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvni v0.4s, #16, msl #16 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 neg d29, d24 @@ -2931,8 +3838,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvn v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mvn v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 orr v9.4h, #18 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 orr v0.8h, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 orr v4.4s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - pmull v0.8h, v0.8b, v0.8b @@ -2977,6 +3887,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sabdl v0.8h, v0.8b, v0.8b @@ -3012,6 +3923,8 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf h5, h14 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - scvtf d21, d12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - scvtf d21, d12, #64 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf s22, s13 @@ -3023,26 +3936,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - scvtf v4.8h, v8.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sdot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sdot v0.2s, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sdot v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shl d7, d10, #12 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shl v23.8b, v18.8b, #6 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shl v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shl v0.8h, v23.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll v0.2d, v0.2s, #32 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll v0.4s, v0.4h, #16 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll v0.8h, v0.8b, #8 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shll2 v0.8h, v0.16b, #8 @@ -3054,6 +3966,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sli d10, d14, #12 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sli v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sli v0.2d, v0.2d, #3 @@ -3065,8 +3978,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smaxp v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.75 0.25 0.75 smaxv b0, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - 1.00 smaxv b0, v0.16b @@ -3085,23 +4000,35 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.75 0.25 0.75 sminv h0, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqabs b19, b14 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqabs d18, d12 @@ -3115,6 +4042,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqabs v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqadd b20, b11, b15 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqadd h12, h18, h10 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal d19, s24, s12 @@ -3122,17 +4050,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal s17, h27, h12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl d12, s23, s13 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl s14, h12, h25 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - sqdmulh s15, s14, v0.s[1] @@ -3193,6 +4138,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl s17, s4, s23 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqsub b3, b13, b12 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqrshrn b10, h13, #2 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqrshrn h15, s10, #6 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqrshrn s15, d12, #9 @@ -3218,6 +4166,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl h3, h4, h15 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl s14, s17, #22 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sqshl v0.2s, v0.2s, v0.2s @@ -3314,8 +4263,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshr d15, d16, #12 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 sshr v0.2d, v0.2d, #3 @@ -3344,30 +4297,91 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ssubw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v18.8b }, [x15] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v8.8b, v9.8b }, [x18] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v15.8b, v16.8b, v17.8b }, [x0] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v21.8b, v22.8b, v23.8b, v24.8b }, [x14] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v0.16b }, [x0] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v1.16b, v2.16b }, [x4] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st1 { v27.16b, v28.16b, v29.16b }, [x18] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 2.00 2.00 - - st1 { v18.16b, v19.16b, v20.16b, v21.16b }, [x29] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v19.4h }, [x7] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v22.4h, v23.4h }, [x22] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v13.4h, v14.4h, v15.4h }, [x7] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v23.4h, v24.4h, v25.4h, v26.4h }, [x24] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v27.8h }, [x17] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st1 { v8.8h, v9.8h, v10.8h }, [x16] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 2.00 2.00 - - st1 { v7.8h, v8.8h, v9.8h, v10.8h }, [x19] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v25.2s }, [x6] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v13.2s, v14.2s }, [x9] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v12.2s, v13.2s, v14.2s }, [x3] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v6.2s, v7.2s, v8.2s, v9.2s }, [x13] # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 - - st1 { v0.4s, v1.4s }, [sp], #32 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v22.4s }, [x19] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v15.4s, v16.4s }, [x12] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 2.00 2.00 - - st1 { v26.4s, v27.4s, v28.4s, v29.4s }, [x12] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v20.1d }, [x10] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v21.1d, v22.1d }, [x29] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v5.1d, v6.1d, v7.1d }, [x3] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x10] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v26.2d, v27.2d }, [x28] # CHECK-NEXT: - - - - - - - - 1.50 1.50 0.25 0.25 0.25 0.25 1.50 1.50 - - st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st1 { v13.2d, v14.2d, v15.2d }, [x27] # CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 2.00 2.00 - - st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v8.2d }, [x15] # CHECK-NEXT: - - - - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 - - st1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v1.b }[5], [x1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v0.h }[2], [x1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v31.s }[1], [x16] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st1 { v0.d }[1], [x0] # CHECK-NEXT: - - - - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 - - st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 - - st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: - - - - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 - - st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 0.50 0.50 - - st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - - 1.50 1.50 0.25 0.25 0.25 0.25 1.50 1.50 - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - 3.00 3.00 - - st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - 3.00 3.00 - - st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - 1.50 1.50 - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - - 3.00 3.00 0.25 0.25 0.25 0.25 3.00 3.00 - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: - - - - - - - - 3.00 3.00 - - - - 3.00 3.00 - - st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - 2.00 2.00 - - st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - 0.75 0.75 0.75 0.75 st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - 1.00 1.00 - - st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 - - st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sub d15, d5, d16 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sudot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd b19, b14 @@ -3412,6 +4426,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uabal v0.8h, v0.8b, v0.8b @@ -3419,6 +4434,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabdl v0.8h, v0.8b, v0.8b @@ -3454,8 +4470,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - ucvtf h17, x12 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf h7, h21 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - ucvtf d21, d14 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - ucvtf d21, d14, #64 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - ucvtf s8, x0 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf s22, s13 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - ucvtf v0.2d, v0.2d @@ -3465,13 +4485,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - 1.00 - ucvtf v22.8h, v20.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 udot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 udot v0.2s, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 udot v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umax v0.4s, v0.4s, v0.4s @@ -3487,7 +4510,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uminp v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.75 0.25 0.75 uminv b0, v0.8b @@ -3496,35 +4521,51 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.75 0.25 0.75 uminv h0, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umov w6, v22.b[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umov w10, v25.h[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 umov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov w0, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 mov x0, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 - 0.50 - umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqadd h0, h1, h5 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqadd s0, s24, s30 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl b11, b20, b30 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl s23, s20, s16 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshrn b10, h12, #5 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshrn h12, s10, #14 @@ -3547,6 +4588,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshl v0.8b, v0.8b, #3 @@ -3561,8 +4603,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqsub s16, s21, s6 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqsub d16, d16, d16 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqxtn b18, h18 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqxtn h20, s17 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 uqxtn s19, d14 @@ -3577,7 +4621,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 urshl d8, d7, d4 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 urshl v0.4s, v0.4s, v0.4s @@ -3605,10 +4651,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushl d0, d0, d0 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushr v0.16b, v0.16b, #3 @@ -3619,6 +4670,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushr v0.8h, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov x15, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov w0, v0.b[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smov x0, v0.b[1] diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s index 6b7616d68d4cd..bcbc5eecd924b 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s @@ -426,9 +426,12 @@ decp xzr, p15.b decp xzr, p15.d decp xzr, p15.h decp xzr, p15.s +decd z19.d decp z31.d, p15.d +dech z23.h decp z31.h, p15.h decp z31.s, p15.s +decw z8.s decw x0 decw x0, #14 decw x0, all, mul #16 @@ -1005,6 +1008,7 @@ ld1sb { z21.d }, p5/z, [x10, z21.d, uxtw] ld1sb { z21.h }, p5/z, [x10, #5, mul vl] ld1sb { z21.s }, p5/z, [x10, #5, mul vl] ld1sb { z21.s }, p5/z, [x10, x21] +ld1sb { z23.s }, p5/z, [x17, z10.s, uxtw] ld1sb { z23.d }, p3/z, [x13, x8] ld1sb { z31.d }, p7/z, [sp, #-1, mul vl] ld1sb { z31.d }, p7/z, [sp, z31.d] @@ -1368,8 +1372,17 @@ lsrr z0.b, p0/m, z0.b, z0.b lsrr z0.d, p0/m, z0.d, z0.d lsrr z0.h, p0/m, z0.h, z0.h lsrr z0.s, p0/m, z0.s, z0.s +mad z17.b, p7/m, z4.b, z5.b +mad z29.h, p4/m, z31.h, z18.h +mad z7.s, p4/m, z5.s, z29.s mad z0.d, p0/m, z0.d, z0.d +mla z1.b, p0/m, z3.b, z3.b +mla z21.h, p2/m, z31.h, z30.h +mla z24.s, p3/m, z11.s, z9.s mla z0.d, p0/m, z0.d, z0.d +mls z11.b, p1/m, z28.b, z6.b +mls z31.h, p0/m, z25.h, z24.h +mls z1.s, p5/m, z7.s, z13.s mls z0.d, p0/m, z0.d, z0.d mov p0.b, p0.b mov p0.b, p0/m, p0.b @@ -1444,7 +1457,8 @@ mov z31.b, p15/m, z31.b mov z31.b, p7/m, b31 movprfx z31, z6 mov z31.b, p7/m, wsp -mov z31.b, wsp +movprfx z31.b, p0/m, z4.b +mov z31.b, p0/m, wsp mov z31.b, z31.b[63] mov z31.d, p15/m, z31.d mov z31.d, p7/m, d31 @@ -1485,6 +1499,9 @@ mrs x3, ZCR_EL2 mrs x3, ZCR_EL3 msr ZCR_EL1, x3 msb z0.d, p0/m, z0.d, z0.d +msb z18.b, p1/m, z27.b, z0.b +msb z27.h, p5/m, z23.h, z1.h +msb z26.s, p2/m, z0.s, z2.s msr ZCR_EL12, x3 msr ZCR_EL2, x3 msr ZCR_EL3, x3 @@ -1555,6 +1572,36 @@ pnext p0.d, p15, p0.d pnext p0.h, p15, p0.h pnext p0.s, p15, p0.s pnext p15.b, p15, p15.b +prfb #14, p5, [x21] +prfb pldl1keep, p7, [x4, x9] +prfb pldl3strm, p4, [x3, z15.s, uxtw] +prfb pldl1strm, p7, [x28, z4.d, uxtw] +prfb pstl3keep, p2, [x18, z19.d] +prfb pstl3keep, p1, [z28.s] +prfb pstl2strm, p5, [z25.d] +prfd pstl3strm, p3, [x21] +prfd pstl2keep, p3, [x24, x24, lsl #3] +prfd pstl1strm, p3, [x27, z27.s, sxtw #3] +prfd pstl1keep, p0, [x21, z2.d, uxtw #3] +prfd pldl1strm, p7, [x22, z22.d, lsl #3] +prfd pldl2strm, p1, [z2.s] +prfd #15, p1, [z17.d] +prfh pldl2strm, p3, [x17] +prfh pstl2keep, p1, [x28, x9, lsl #1] +prfh pldl1strm, p6, [x0, z10.s, uxtw #1] +prfh pldl3keep, p7, [x24, z21.d, uxtw #1] +prfh pstl1strm, p5, [x10, z6.d, lsl #1] +prfh pldl3strm, p6, [z0.s] +prfh pstl2keep, p2, [z21.d] +prfm pldl1strm, [x5] +prfm pldl1keep, [x25, x16] +prfw pldl2strm, p2, [x4] +prfw pstl1keep, p4, [x18, x21, lsl #2] +prfw pldl2strm, p0, [x15, z6.s, uxtw #2] +prfw pstl2keep, p0, [x27, z18.d, sxtw #2] +prfw pstl2keep, p3, [x19, z8.d, lsl #2] +prfw #7, p7, [z27.s] +prfw #7, p1, [z20.d] ptest p15, p0.b ptest p15, p15.b ptrue p0.b, pow2 @@ -1653,6 +1700,7 @@ rdvl x0, #0 rdvl x21, #-32 rdvl x23, #31 rdvl xzr, #-1 +rev p1.h, p2.h rev z0.b, z31.b rev z0.d, z31.d rev z0.h, z31.h @@ -1671,8 +1719,10 @@ saddv d0, p7, z31.b saddv d0, p7, z31.h saddv d0, p7, z31.s scvtf z0.d, p0/m, z0.d +scvtf z18.d, p3/m, z16.s scvtf z0.h, p0/m, z0.h scvtf z0.h, p0/m, z0.s +scvtf z18.h, p1/m, z14.d scvtf z0.s, p0/m, z0.d scvtf z0.s, p0/m, z0.s sdiv z0.d, p7/m, z0.d, z31.d @@ -1703,6 +1753,7 @@ smax z31.s, z31.s, #127 smaxv b0, p7, z31.b smaxv h0, p7, z31.h smaxv s0, p7, z31.s +smaxv d24, p5, z24.d smin z0.b, z0.b, #-128 smin z0.d, z0.d, #-128 smin z0.h, z0.h, #-128 @@ -1718,6 +1769,7 @@ smin z31.s, z31.s, #127 sminv b0, p7, z31.b sminv h0, p7, z31.h sminv s0, p7, z31.s +sminv d17, p2, z18.d smmla z0.s, z1.b, z2.b smulh z0.b, p7/m, z0.b, z31.b smulh z0.d, p7/m, z0.d, z31.d @@ -2146,9 +2198,11 @@ uabd z31.s, p7/m, z31.s, z31.s uaddv d0, p7, z31.b uaddv d0, p7, z31.h uaddv d0, p7, z31.s +uaddv d28, p6, z6.d ucvtf z0.d, p0/m, z0.d ucvtf z0.h, p0/m, z0.h ucvtf z0.h, p0/m, z0.s +ucvtf z30.h, p2/m, z24.d ucvtf z0.s, p0/m, z0.d ucvtf z0.s, p0/m, z0.s udiv z0.d, p7/m, z0.d, z31.d @@ -2157,6 +2211,7 @@ udivr z0.d, p7/m, z0.d, z31.d udivr z0.s, p7/m, z0.s, z31.s udot z0.d, z1.h, z15.h[1] udot z0.d, z1.h, z31.h +ucvtf z24.d, p5/m, z9.s udot z0.s, z1.b, z31.b udot z0.s, z1.b, z7.b[3] umax z0.b, z0.b, #0 @@ -2168,15 +2223,18 @@ umax z31.s, p7/m, z31.s, z31.s umaxv b0, p7, z31.b umaxv h0, p7, z31.h umaxv s0, p7, z31.s +umaxv d11, p4, z11.d umin z0.b, z0.b, #0 umin z31.b, p7/m, z31.b, z31.b umin z31.b, z31.b, #255 umin z31.d, p7/m, z31.d, z31.d umin z31.h, p7/m, z31.h, z31.h umin z31.s, p7/m, z31.s, z31.s +umin z21.s, z21.s, #139 uminv b0, p7, z31.b uminv h0, p7, z31.h uminv s0, p7, z31.s +uminv d24, p5, z29.d ummla z0.s, z1.b, z2.b umulh z0.b, p7/m, z0.b, z31.b umulh z0.d, p7/m, z0.d, z31.d @@ -2368,7 +2426,10 @@ uzp2 z31.d, z31.d, z31.d uzp2 z31.h, z31.h, z31.h uzp2 z31.s, z31.s, z31.s whilele p0.b, w30, wzr +whilele p6.h, x28, x30 whilelo p15.d, xzr, x30 +whilelo p3.b, x9, x7 +whilels p4.b, w4, w20 whilels p0.h, w30, wzr whilelt p15.s, xzr, x30 wrffr p0.b @@ -2840,9 +2901,12 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 2 1.00 decp xzr, p15.d # CHECK-NEXT: 1 2 1.00 decp xzr, p15.h # CHECK-NEXT: 1 2 1.00 decp xzr, p15.s +# CHECK-NEXT: 1 2 1.00 decd z19.d # CHECK-NEXT: 3 7 2.00 decp z31.d, p15.d +# CHECK-NEXT: 1 2 1.00 dech z23.h # CHECK-NEXT: 3 7 2.00 decp z31.h, p15.h # CHECK-NEXT: 3 7 2.00 decp z31.s, p15.s +# CHECK-NEXT: 1 2 1.00 decw z8.s # CHECK-NEXT: 1 2 1.00 decw x0 # CHECK-NEXT: 1 2 1.00 decw x0, #14 # CHECK-NEXT: 1 2 1.00 decw x0, all, mul #16 @@ -3419,6 +3483,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 6 0.50 * ld1sb { z21.h }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: 1 6 0.50 * ld1sb { z21.s }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: 1 6 0.50 * ld1sb { z21.s }, p5/z, [x10, x21] +# CHECK-NEXT: 2 9 0.33 * ld1sb { z23.s }, p5/z, [x17, z10.s, uxtw] # CHECK-NEXT: 1 6 0.50 * ld1sb { z23.d }, p3/z, [x13, x8] # CHECK-NEXT: 1 6 0.50 * ld1sb { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: 4 9 0.67 * ld1sb { z31.d }, p7/z, [sp, z31.d] @@ -3782,8 +3847,17 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 2 1.00 lsrr z0.d, p0/m, z0.d, z0.d # CHECK-NEXT: 1 2 1.00 lsrr z0.h, p0/m, z0.h, z0.h # CHECK-NEXT: 1 2 1.00 lsrr z0.s, p0/m, z0.s, z0.s +# CHECK-NEXT: 1 4 1.00 mad z17.b, p7/m, z4.b, z5.b +# CHECK-NEXT: 1 4 1.00 mad z29.h, p4/m, z31.h, z18.h +# CHECK-NEXT: 1 4 1.00 mad z7.s, p4/m, z5.s, z29.s # CHECK-NEXT: 2 5 2.00 mad z0.d, p0/m, z0.d, z0.d +# CHECK-NEXT: 1 4 1.00 mla z1.b, p0/m, z3.b, z3.b +# CHECK-NEXT: 1 4 1.00 mla z21.h, p2/m, z31.h, z30.h +# CHECK-NEXT: 1 4 1.00 mla z24.s, p3/m, z11.s, z9.s # CHECK-NEXT: 2 5 2.00 mla z0.d, p0/m, z0.d, z0.d +# CHECK-NEXT: 1 4 1.00 mls z11.b, p1/m, z28.b, z6.b +# CHECK-NEXT: 1 4 1.00 mls z31.h, p0/m, z25.h, z24.h +# CHECK-NEXT: 1 4 1.00 mls z1.s, p5/m, z7.s, z13.s # CHECK-NEXT: 2 5 2.00 mls z0.d, p0/m, z0.d, z0.d # CHECK-NEXT: 1 1 1.00 mov p0.b, p0.b # CHECK-NEXT: 1 1 1.00 mov p0.b, p0/m, p0.b @@ -3858,7 +3932,8 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 2 0.50 mov z31.b, p7/m, b31 # CHECK-NEXT: 1 2 0.50 movprfx z31, z6 # CHECK-NEXT: 2 5 1.00 mov z31.b, p7/m, wsp -# CHECK-NEXT: 1 3 1.00 mov z31.b, wsp +# CHECK-NEXT: 1 2 0.50 movprfx z31.b, p0/m, z4.b +# CHECK-NEXT: 2 5 1.00 mov z31.b, p0/m, wsp # CHECK-NEXT: 1 2 0.50 mov z31.b, z31.b[63] # CHECK-NEXT: 1 2 0.50 mov z31.d, p15/m, z31.d # CHECK-NEXT: 1 2 0.50 mov z31.d, p7/m, d31 @@ -3899,6 +3974,9 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 1 0.07 U mrs x3, ZCR_EL3 # CHECK-NEXT: 1 1 0.07 U msr ZCR_EL1, x3 # CHECK-NEXT: 2 5 2.00 msb z0.d, p0/m, z0.d, z0.d +# CHECK-NEXT: 1 4 1.00 msb z18.b, p1/m, z27.b, z0.b +# CHECK-NEXT: 1 4 1.00 msb z27.h, p5/m, z23.h, z1.h +# CHECK-NEXT: 1 4 1.00 msb z26.s, p2/m, z0.s, z2.s # CHECK-NEXT: 1 1 0.07 U msr ZCR_EL12, x3 # CHECK-NEXT: 1 1 0.07 U msr ZCR_EL2, x3 # CHECK-NEXT: 1 1 0.07 U msr ZCR_EL3, x3 @@ -3969,6 +4047,36 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 2 1.00 pnext p0.h, p15, p0.h # CHECK-NEXT: 1 2 1.00 pnext p0.s, p15, p0.s # CHECK-NEXT: 1 2 1.00 pnext p15.b, p15, p15.b +# CHECK-NEXT: 1 4 0.50 * * U prfb #14, p5, [x21] +# CHECK-NEXT: 1 4 0.50 * * U prfb pldl1keep, p7, [x4, x9] +# CHECK-NEXT: 1 4 0.50 * * U prfb pldl3strm, p4, [x3, z15.s, uxtw] +# CHECK-NEXT: 1 4 0.50 * * U prfb pldl1strm, p7, [x28, z4.d, uxtw] +# CHECK-NEXT: 1 4 0.50 * * U prfb pstl3keep, p2, [x18, z19.d] +# CHECK-NEXT: 1 4 0.50 * * U prfb pstl3keep, p1, [z28.s] +# CHECK-NEXT: 1 4 0.50 * * U prfb pstl2strm, p5, [z25.d] +# CHECK-NEXT: 1 4 0.50 * * U prfd pstl3strm, p3, [x21] +# CHECK-NEXT: 1 4 0.50 * * U prfd pstl2keep, p3, [x24, x24, lsl #3] +# CHECK-NEXT: 1 4 0.50 * * U prfd pstl1strm, p3, [x27, z27.s, sxtw #3] +# CHECK-NEXT: 1 4 0.50 * * U prfd pstl1keep, p0, [x21, z2.d, uxtw #3] +# CHECK-NEXT: 1 4 0.50 * * U prfd pldl1strm, p7, [x22, z22.d, lsl #3] +# CHECK-NEXT: 1 4 0.50 * * U prfd pldl2strm, p1, [z2.s] +# CHECK-NEXT: 1 4 0.50 * * U prfd #15, p1, [z17.d] +# CHECK-NEXT: 1 4 0.50 * * U prfh pldl2strm, p3, [x17] +# CHECK-NEXT: 1 4 0.50 * * U prfh pstl2keep, p1, [x28, x9, lsl #1] +# CHECK-NEXT: 1 4 0.50 * * U prfh pldl1strm, p6, [x0, z10.s, uxtw #1] +# CHECK-NEXT: 1 4 0.50 * * U prfh pldl3keep, p7, [x24, z21.d, uxtw #1] +# CHECK-NEXT: 1 4 0.50 * * U prfh pstl1strm, p5, [x10, z6.d, lsl #1] +# CHECK-NEXT: 1 4 0.50 * * U prfh pldl3strm, p6, [z0.s] +# CHECK-NEXT: 1 4 0.50 * * U prfh pstl2keep, p2, [z21.d] +# CHECK-NEXT: 1 4 0.33 U prfm pldl1strm, [x5] +# CHECK-NEXT: 1 4 0.33 U prfm pldl1keep, [x25, x16] +# CHECK-NEXT: 1 4 0.50 * * U prfw pldl2strm, p2, [x4] +# CHECK-NEXT: 1 4 0.50 * * U prfw pstl1keep, p4, [x18, x21, lsl #2] +# CHECK-NEXT: 1 4 0.50 * * U prfw pldl2strm, p0, [x15, z6.s, uxtw #2] +# CHECK-NEXT: 1 4 0.50 * * U prfw pstl2keep, p0, [x27, z18.d, sxtw #2] +# CHECK-NEXT: 1 4 0.50 * * U prfw pstl2keep, p3, [x19, z8.d, lsl #2] +# CHECK-NEXT: 1 4 0.50 * * U prfw #7, p7, [z27.s] +# CHECK-NEXT: 1 4 0.50 * * U prfw #7, p1, [z20.d] # CHECK-NEXT: 1 2 1.00 ptest p15, p0.b # CHECK-NEXT: 1 2 1.00 ptest p15, p15.b # CHECK-NEXT: 1 2 1.00 ptrue p0.b, pow2 @@ -4067,6 +4175,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 2 1.00 rdvl x21, #-32 # CHECK-NEXT: 1 2 1.00 rdvl x23, #31 # CHECK-NEXT: 1 2 1.00 rdvl xzr, #-1 +# CHECK-NEXT: 1 2 1.00 rev p1.h, p2.h # CHECK-NEXT: 1 2 0.50 rev z0.b, z31.b # CHECK-NEXT: 1 2 0.50 rev z0.d, z31.d # CHECK-NEXT: 1 2 0.50 rev z0.h, z31.h @@ -4085,8 +4194,10 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 4 12 2.00 saddv d0, p7, z31.h # CHECK-NEXT: 4 10 2.00 saddv d0, p7, z31.s # CHECK-NEXT: 1 3 1.00 scvtf z0.d, p0/m, z0.d +# CHECK-NEXT: 1 3 1.00 scvtf z18.d, p3/m, z16.s # CHECK-NEXT: 4 6 4.00 scvtf z0.h, p0/m, z0.h # CHECK-NEXT: 2 4 2.00 scvtf z0.h, p0/m, z0.s +# CHECK-NEXT: 1 3 1.00 scvtf z18.h, p1/m, z14.d # CHECK-NEXT: 1 3 1.00 scvtf z0.s, p0/m, z0.d # CHECK-NEXT: 2 4 2.00 scvtf z0.s, p0/m, z0.s # CHECK-NEXT: 1 20 7.00 sdiv z0.d, p7/m, z0.d, z31.d @@ -4117,6 +4228,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 5 14 2.00 smaxv b0, p7, z31.b # CHECK-NEXT: 4 12 2.00 smaxv h0, p7, z31.h # CHECK-NEXT: 4 10 2.00 smaxv s0, p7, z31.s +# CHECK-NEXT: 2 8 0.50 smaxv d24, p5, z24.d # CHECK-NEXT: 1 2 0.50 smin z0.b, z0.b, #-128 # CHECK-NEXT: 1 2 0.50 smin z0.d, z0.d, #-128 # CHECK-NEXT: 1 2 0.50 smin z0.h, z0.h, #-128 @@ -4132,6 +4244,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 5 14 2.00 sminv b0, p7, z31.b # CHECK-NEXT: 4 12 2.00 sminv h0, p7, z31.h # CHECK-NEXT: 4 10 2.00 sminv s0, p7, z31.s +# CHECK-NEXT: 2 8 0.50 sminv d17, p2, z18.d # CHECK-NEXT: 1 3 0.50 smmla z0.s, z1.b, z2.b # CHECK-NEXT: 1 4 1.00 smulh z0.b, p7/m, z0.b, z31.b # CHECK-NEXT: 2 5 2.00 smulh z0.d, p7/m, z0.d, z31.d @@ -4560,9 +4673,11 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 5 14 2.00 uaddv d0, p7, z31.b # CHECK-NEXT: 4 12 2.00 uaddv d0, p7, z31.h # CHECK-NEXT: 4 10 2.00 uaddv d0, p7, z31.s +# CHECK-NEXT: 2 8 0.50 uaddv d28, p6, z6.d # CHECK-NEXT: 1 3 1.00 ucvtf z0.d, p0/m, z0.d # CHECK-NEXT: 4 6 4.00 ucvtf z0.h, p0/m, z0.h # CHECK-NEXT: 2 4 2.00 ucvtf z0.h, p0/m, z0.s +# CHECK-NEXT: 1 3 1.00 ucvtf z30.h, p2/m, z24.d # CHECK-NEXT: 1 3 1.00 ucvtf z0.s, p0/m, z0.d # CHECK-NEXT: 2 4 2.00 ucvtf z0.s, p0/m, z0.s # CHECK-NEXT: 1 20 7.00 udiv z0.d, p7/m, z0.d, z31.d @@ -4571,6 +4686,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 12 7.00 udivr z0.s, p7/m, z0.s, z31.s # CHECK-NEXT: 1 4 1.00 udot z0.d, z1.h, z15.h[1] # CHECK-NEXT: 1 4 1.00 udot z0.d, z1.h, z31.h +# CHECK-NEXT: 1 3 1.00 ucvtf z24.d, p5/m, z9.s # CHECK-NEXT: 1 3 0.50 udot z0.s, z1.b, z31.b # CHECK-NEXT: 1 3 0.50 udot z0.s, z1.b, z7.b[3] # CHECK-NEXT: 1 2 0.50 umax z0.b, z0.b, #0 @@ -4582,15 +4698,18 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 5 14 2.00 umaxv b0, p7, z31.b # CHECK-NEXT: 4 12 2.00 umaxv h0, p7, z31.h # CHECK-NEXT: 4 10 2.00 umaxv s0, p7, z31.s +# CHECK-NEXT: 2 8 0.50 umaxv d11, p4, z11.d # CHECK-NEXT: 1 2 0.50 umin z0.b, z0.b, #0 # CHECK-NEXT: 1 2 0.50 umin z31.b, p7/m, z31.b, z31.b # CHECK-NEXT: 1 2 0.50 umin z31.b, z31.b, #255 # CHECK-NEXT: 1 2 0.50 umin z31.d, p7/m, z31.d, z31.d # CHECK-NEXT: 1 2 0.50 umin z31.h, p7/m, z31.h, z31.h # CHECK-NEXT: 1 2 0.50 umin z31.s, p7/m, z31.s, z31.s +# CHECK-NEXT: 1 2 0.50 umin z21.s, z21.s, #139 # CHECK-NEXT: 5 14 2.00 uminv b0, p7, z31.b # CHECK-NEXT: 4 12 2.00 uminv h0, p7, z31.h # CHECK-NEXT: 4 10 2.00 uminv s0, p7, z31.s +# CHECK-NEXT: 2 8 0.50 uminv d24, p5, z29.d # CHECK-NEXT: 1 3 0.50 ummla z0.s, z1.b, z2.b # CHECK-NEXT: 1 4 1.00 umulh z0.b, p7/m, z0.b, z31.b # CHECK-NEXT: 2 5 2.00 umulh z0.d, p7/m, z0.d, z31.d @@ -4782,7 +4901,10 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: 1 2 0.50 uzp2 z31.h, z31.h, z31.h # CHECK-NEXT: 1 2 0.50 uzp2 z31.s, z31.s, z31.s # CHECK-NEXT: 2 3 2.00 whilele p0.b, w30, wzr +# CHECK-NEXT: 2 3 2.00 whilele p6.h, x28, x30 # CHECK-NEXT: 2 3 2.00 whilelo p15.d, xzr, x30 +# CHECK-NEXT: 2 3 2.00 whilelo p3.b, x9, x7 +# CHECK-NEXT: 2 3 2.00 whilels p4.b, w4, w20 # CHECK-NEXT: 2 3 2.00 whilels p0.h, w30, wzr # CHECK-NEXT: 2 3 2.00 whilelt p15.s, xzr, x30 # CHECK-NEXT: 1 2 1.00 * U wrffr p0.b @@ -4842,7 +4964,7 @@ zip2 z31.s, z31.s, z31.s # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] -# CHECK-NEXT: - - - - - - - 88.67 500.67 500.67 797.50 2.50 92.50 92.50 1252.00 921.00 178.50 181.50 +# CHECK-NEXT: - - - - - - - 89.67 515.67 515.67 804.50 2.50 92.50 92.50 1276.50 926.50 180.00 183.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2.0] [2.1] [2.2] [3] [4.0] [4.1] [5] [6] [7.0] [7.1] [8] [9] [10] [11] Instructions: @@ -5271,9 +5393,12 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - decp xzr, p15.d # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - decp xzr, p15.h # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - decp xzr, p15.s +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - decd z19.d # CHECK-NEXT: - - - - - - - - - - 2.00 - - - 0.50 0.50 - - decp z31.d, p15.d +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - dech z23.h # CHECK-NEXT: - - - - - - - - - - 2.00 - - - 0.50 0.50 - - decp z31.h, p15.h # CHECK-NEXT: - - - - - - - - - - 2.00 - - - 0.50 0.50 - - decp z31.s, p15.s +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - decw z8.s # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - decw x0 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - decw x0, #14 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - decw x0, all, mul #16 @@ -5850,6 +5975,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - ld1sb { z21.h }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - ld1sb { z21.s }, p5/z, [x10, #5, mul vl] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - ld1sb { z21.s }, p5/z, [x10, x21] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1sb { z23.s }, p5/z, [x17, z10.s, uxtw] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - ld1sb { z23.d }, p3/z, [x13, x8] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - ld1sb { z31.d }, p7/z, [sp, #-1, mul vl] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 0.50 0.50 ld1sb { z31.d }, p7/z, [sp, z31.d] @@ -6213,8 +6339,17 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - lsrr z0.d, p0/m, z0.d, z0.d # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - lsrr z0.h, p0/m, z0.h, z0.h # CHECK-NEXT: - - - - - - - - - - - - - - - 1.00 - - lsrr z0.s, p0/m, z0.s, z0.s +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mad z17.b, p7/m, z4.b, z5.b +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mad z29.h, p4/m, z31.h, z18.h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mad z7.s, p4/m, z5.s, z29.s # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - mad z0.d, p0/m, z0.d, z0.d +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mla z1.b, p0/m, z3.b, z3.b +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mla z21.h, p2/m, z31.h, z30.h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mla z24.s, p3/m, z11.s, z9.s # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - mla z0.d, p0/m, z0.d, z0.d +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mls z11.b, p1/m, z28.b, z6.b +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mls z31.h, p0/m, z25.h, z24.h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - mls z1.s, p5/m, z7.s, z13.s # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - mls z0.d, p0/m, z0.d, z0.d # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - mov p0.b, p0.b # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - mov p0.b, p0/m, p0.b @@ -6289,7 +6424,8 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - mov z31.b, p7/m, b31 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - movprfx z31, z6 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - 0.50 0.50 - - mov z31.b, p7/m, wsp -# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - mov z31.b, wsp +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - movprfx z31.b, p0/m, z4.b +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - 0.50 0.50 - - mov z31.b, p0/m, wsp # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - mov z31.b, z31.b[63] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - mov z31.d, p15/m, z31.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - mov z31.d, p7/m, d31 @@ -6330,6 +6466,9 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - mrs x3, ZCR_EL3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - msr ZCR_EL1, x3 # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - msb z0.d, p0/m, z0.d, z0.d +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - msb z18.b, p1/m, z27.b, z0.b +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - msb z27.h, p5/m, z23.h, z1.h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - msb z26.s, p2/m, z0.s, z2.s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - msr ZCR_EL12, x3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - msr ZCR_EL2, x3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - msr ZCR_EL3, x3 @@ -6400,6 +6539,36 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - pnext p0.h, p15, p0.h # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - pnext p0.s, p15, p0.s # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - pnext p15.b, p15, p15.b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb #14, p5, [x21] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb pldl1keep, p7, [x4, x9] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb pldl3strm, p4, [x3, z15.s, uxtw] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb pldl1strm, p7, [x28, z4.d, uxtw] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb pstl3keep, p2, [x18, z19.d] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb pstl3keep, p1, [z28.s] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfb pstl2strm, p5, [z25.d] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd pstl3strm, p3, [x21] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd pstl2keep, p3, [x24, x24, lsl #3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd pstl1strm, p3, [x27, z27.s, sxtw #3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd pstl1keep, p0, [x21, z2.d, uxtw #3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd pldl1strm, p7, [x22, z22.d, lsl #3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd pldl2strm, p1, [z2.s] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfd #15, p1, [z17.d] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pldl2strm, p3, [x17] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pstl2keep, p1, [x28, x9, lsl #1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pldl1strm, p6, [x0, z10.s, uxtw #1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pldl3keep, p7, [x24, z21.d, uxtw #1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pstl1strm, p5, [x10, z6.d, lsl #1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pldl3strm, p6, [z0.s] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfh pstl2keep, p2, [z21.d] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - prfm pldl1strm, [x5] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - - - prfm pldl1keep, [x25, x16] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw pldl2strm, p2, [x4] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw pstl1keep, p4, [x18, x21, lsl #2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw pldl2strm, p0, [x15, z6.s, uxtw #2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw pstl2keep, p0, [x27, z18.d, sxtw #2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw pstl2keep, p3, [x19, z8.d, lsl #2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw #7, p7, [z27.s] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - prfw #7, p1, [z20.d] # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - ptest p15, p0.b # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - ptest p15, p15.b # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - ptrue p0.b, pow2 @@ -6498,6 +6667,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - rdvl x21, #-32 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - rdvl x23, #31 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - rdvl xzr, #-1 +# CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - rev p1.h, p2.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - rev z0.b, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - rev z0.d, z31.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - rev z0.h, z31.h @@ -6516,8 +6686,10 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 saddv d0, p7, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 saddv d0, p7, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - scvtf z0.d, p0/m, z0.d +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - scvtf z18.d, p3/m, z16.s # CHECK-NEXT: - - - - - - - - - - - - - - 4.00 - - - scvtf z0.h, p0/m, z0.h # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - scvtf z0.h, p0/m, z0.s +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - scvtf z18.h, p1/m, z14.d # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - scvtf z0.s, p0/m, z0.d # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - scvtf z0.s, p0/m, z0.s # CHECK-NEXT: - - - - - - - - - - - - - - 7.00 - - - sdiv z0.d, p7/m, z0.d, z31.d @@ -6548,6 +6720,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 1.25 2.75 0.25 0.75 smaxv b0, p7, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 smaxv h0, p7, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 smaxv s0, p7, z31.s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.25 0.25 smaxv d24, p5, z24.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - smin z0.b, z0.b, #-128 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - smin z0.d, z0.d, #-128 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - smin z0.h, z0.h, #-128 @@ -6563,6 +6736,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 1.25 2.75 0.25 0.75 sminv b0, p7, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 sminv h0, p7, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 sminv s0, p7, z31.s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.25 0.25 sminv d17, p2, z18.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - smmla z0.s, z1.b, z2.b # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - smulh z0.b, p7/m, z0.b, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - smulh z0.d, p7/m, z0.d, z31.d @@ -6991,9 +7165,11 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 1.25 2.75 0.25 0.75 uaddv d0, p7, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 uaddv d0, p7, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 uaddv d0, p7, z31.s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.25 0.25 uaddv d28, p6, z6.d # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - ucvtf z0.d, p0/m, z0.d # CHECK-NEXT: - - - - - - - - - - - - - - 4.00 - - - ucvtf z0.h, p0/m, z0.h # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - ucvtf z0.h, p0/m, z0.s +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - ucvtf z30.h, p2/m, z24.d # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - ucvtf z0.s, p0/m, z0.d # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - ucvtf z0.s, p0/m, z0.s # CHECK-NEXT: - - - - - - - - - - - - - - 7.00 - - - udiv z0.d, p7/m, z0.d, z31.d @@ -7002,6 +7178,7 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 7.00 - - - udivr z0.s, p7/m, z0.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - udot z0.d, z1.h, z15.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - udot z0.d, z1.h, z31.h +# CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - ucvtf z24.d, p5/m, z9.s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - udot z0.s, z1.b, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - udot z0.s, z1.b, z7.b[3] # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umax z0.b, z0.b, #0 @@ -7013,15 +7190,18 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 1.25 2.75 0.25 0.75 umaxv b0, p7, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 umaxv h0, p7, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 umaxv s0, p7, z31.s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.25 0.25 umaxv d11, p4, z11.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z0.b, z0.b, #0 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z31.b, p7/m, z31.b, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z31.b, z31.b, #255 # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z31.d, p7/m, z31.d, z31.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z31.h, p7/m, z31.h, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z31.s, p7/m, z31.s, z31.s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - umin z21.s, z21.s, #139 # CHECK-NEXT: - - - - - - - - - - - - - - 1.25 2.75 0.25 0.75 uminv b0, p7, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 uminv h0, p7, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.75 2.75 0.25 0.25 uminv s0, p7, z31.s +# CHECK-NEXT: - - - - - - - - - - - - - - 0.75 0.75 0.25 0.25 uminv d24, p5, z29.d # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - ummla z0.s, z1.b, z2.b # CHECK-NEXT: - - - - - - - - - - - - - - 1.00 - - - umulh z0.b, p7/m, z0.b, z31.b # CHECK-NEXT: - - - - - - - - - - - - - - 2.00 - - - umulh z0.d, p7/m, z0.d, z31.d @@ -7213,7 +7393,10 @@ zip2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - uzp2 z31.h, z31.h, z31.h # CHECK-NEXT: - - - - - - - - - - - - - - 0.50 0.50 - - uzp2 z31.s, z31.s, z31.s # CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilele p0.b, w30, wzr +# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilele p6.h, x28, x30 # CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilelo p15.d, xzr, x30 +# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilelo p3.b, x9, x7 +# CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilels p4.b, w4, w20 # CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilels p0.h, w30, wzr # CHECK-NEXT: - - - - - - - - - - 2.00 - - - - - - - whilelt p15.s, xzr, x30 # CHECK-NEXT: - - - - - - - - - - 1.00 - - - - - - - wrffr p0.b