diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/bf16-instructions.s new file mode 100644 index 0000000000000..7b618df99fcfb --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/bf16-instructions.s @@ -0,0 +1,11 @@ +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 +bfmlalb v0.4s, v0.8h, v0.h[3] +bfmlalt v0.4s, v0.8h, v0.8h +bfmlalt v0.4s, v0.8h, v0.h[3] +bfmmla v0.4s, v0.8h, v0.8h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/complxnum-instructions.s new file mode 100644 index 0000000000000..82b807652ab4b --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/complxnum-instructions.s @@ -0,0 +1,4 @@ +fcadd v0.2s, v0.2s, v0.2s, 90 +fcadd v0.4s, v0.4s, v0.4s, 270 +fcmla v0.2s, v0.2s, v0.2s, #90 +fcmla v0.4s, v0.4s, v0.s[1], #0 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fp16fml-instructions.s new file mode 100644 index 0000000000000..3318c719e367e --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fp16fml-instructions.s @@ -0,0 +1,16 @@ +fmlal v0.2s, v0.2h, v0.h[1] +fmlal v0.4s, v0.4h, v0.h[3] +fmlal v0.2s, v0.2h, v0.2h +fmlal v0.4s, v0.4h, v0.4h +fmlal2 v0.2s, v0.2h, v0.h[1] +fmlal2 v0.4s, v0.4h, v0.h[3] +fmlal2 v0.2s, v0.2h, v0.2h +fmlal2 v0.4s, v0.4h, v0.4h +fmlsl v0.2s, v0.2h, v0.h[1] +fmlsl v0.4s, v0.4h, v0.h[3] +fmlsl v0.2s, v0.2h, v0.2h +fmlsl v0.4s, v0.4h, v0.4h +fmlsl2 v0.2s, v0.2h, v0.h[1] +fmlsl2 v0.4s, v0.4h, v0.h[3] +fmlsl2 v0.2s, v0.2h, v0.2h +fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fptoint-instructions.s new file mode 100644 index 0000000000000..fc7cfa2624088 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/fptoint-instructions.s @@ -0,0 +1,12 @@ +frint32x v0.2d, v0.2d +frint32x v0.2s, v0.2s +frint32x v0.4s, v0.4s +frint32z v0.2d, v0.2d +frint32z v0.2s, v0.2s +frint32z v0.4s, v0.4s +frint64x v0.2d, v0.2d +frint64x v0.2s, v0.2s +frint64x v0.4s, v0.4s +frint64z v0.2d, v0.2d +frint64z v0.2s, v0.2s +frint64z v0.4s, v0.4s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/i8mm-instructions.s new file mode 100644 index 0000000000000..19ab298f1a476 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/i8mm-instructions.s @@ -0,0 +1,9 @@ +smmla v0.4s, v0.16b, v0.16b +sudot v0.2s, v0.8b, v0.4b[2] +sudot v0.4s, v0.16b, v0.4b[2] +ummla v0.4s, v0.16b, v0.16b +usdot v0.2s, v0.8b, v0.4b[2] +usdot v0.2s, v0.8b, v0.8b +usdot v0.4s, v0.16b, v0.16b +usdot v0.4s, v0.16b, v0.4b[2] +usmmla v0.4s, v0.16b, v0.16b diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s new file mode 100644 index 0000000000000..b034633a80e67 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/Inputs/neon-instructions.s @@ -0,0 +1,1559 @@ +abs d29, d24 +abs v0.16b, v0.16b +abs v0.2d, v0.2d +abs v0.2s, v0.2s +abs v0.4h, v0.4h +abs v0.4s, v0.4s +abs v0.8b, v0.8b +abs v0.8h, v0.8h +add d17, d31, d29 +add v0.8b, v0.8b, v0.8b +addhn v0.2s, v0.2d, v0.2d +addhn v0.4h, v0.4s, v0.4s +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 +addv b0, v0.8b +addv b0, v0.16b +aesd v0.16b, v0.16b +aese v0.16b, v0.16b +aesimc v0.16b, v0.16b +aesmc v0.16b, v0.16b +and v0.8b, v0.8b, v0.8b +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 +cls v0.4s, v0.4s +cls v0.8b, v0.8b +cls v0.8h, v0.8h +clz v0.16b, v0.16b +clz v0.2s, v0.2s +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 +dup v0.2d,x28 +dup v0.2s,w28 +dup v0.4h,w28 +dup v0.4s,w28 +dup v0.8b,w28 +dup v0.8h,w28 +dup b0, v0.b[1] +dup d0, v0.d[1] +dup h0, v0.h[1] +dup s0, v0.s[1] +dup v0.16b, v0.b[1] +dup v0.2d, v0.d[1] +dup v0.2s, v0.s[1] +dup v0.4h, v0.h[1] +dup v0.4s, v0.s[1] +dup v0.8b, v0.b[1] +dup v0.8h, v0.h[1] +eor v0.16b, v0.16b, v0.16b +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 +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 +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 +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 +fcvtas v0.2d, v0.2d +fcvtas v0.2s, v0.2s +fcvtas v0.4h, v0.4h +fcvtas v0.4s, v0.4s +fcvtas v0.8h, v0.8h +fcvtau d21, d14 +fcvtau s12, s13 +fcvtau h12, h13 +fcvtau v0.2d, v0.2d +fcvtau v0.2s, v0.2s +fcvtau v0.4h, v0.4h +fcvtau v0.4s, v0.4s +fcvtau v0.8h, v0.8h +fcvtl v0.2d, v0.2s +fcvtl v0.4s, v0.4h +fcvtl2 v0.2d, v0.4s +fcvtl2 v0.4s, v0.8h +fcvtms d21, d14 +fcvtms s22, s13 +fcvtms h22, h13 +fcvtms v0.2d, v0.2d +fcvtms v0.2s, v0.2s +fcvtms v0.4h, v0.4h +fcvtms v0.4s, v0.4s +fcvtms v0.8h, v0.8h +fcvtmu d21, d14 +fcvtmu s12, s13 +fcvtmu h12, h13 +fcvtmu v0.2d, v0.2d +fcvtmu v0.2s, v0.2s +fcvtmu v0.4h, v0.4h +fcvtmu v0.4s, v0.4s +fcvtmu v0.8h, v0.8h +fcvtn v0.2s, v0.2d +fcvtn v0.4h, v0.4s +fcvtn2 v0.4s, v0.2d +fcvtn2 v0.8h, v0.4s +fcvtns d21, d14 +fcvtns s22, s13 +fcvtns h22, h13 +fcvtns v0.2d, v0.2d +fcvtns v0.2s, v0.2s +fcvtns v0.4h, v0.4h +fcvtns v0.4s, v0.4s +fcvtns v0.8h, v0.8h +fcvtnu d21, d14 +fcvtnu s12, s13 +fcvtnu h12, h13 +fcvtnu v0.2d, v0.2d +fcvtnu v0.2s, v0.2s +fcvtnu v0.4h, v0.4h +fcvtnu v0.4s, v0.4s +fcvtnu v0.8h, v0.8h +fcvtps d21, d14 +fcvtps s22, s13 +fcvtps h22, h13 +fcvtps v0.2d, v0.2d +fcvtps v0.2s, v0.2s +fcvtps v0.4h, v0.4h +fcvtps v0.4s, v0.4s +fcvtps v0.8h, v0.8h +fcvtpu d21, d14 +fcvtpu s12, s13 +fcvtpu h12, h13 +fcvtpu v0.2d, v0.2d +fcvtpu v0.2s, v0.2s +fcvtpu v0.4h, v0.4h +fcvtpu v0.4s, v0.4s +fcvtpu v0.8h, v0.8h +fcvtxn s22, d13 +fcvtxn v0.2s, v0.2d +fcvtxn2 v0.4s, v0.2d +fcvtzs d21, d12, #1 +fcvtzs d21, d14 +fcvtzs s12, s13 +fcvtzs s21, s12, #1 +fcvtzs h21, h14 +fcvtzs h21, h12, #1 +fcvtzs v0.2d, v0.2d +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 +fcvtzu s21, s12, #1 +fcvtzu h12, h13 +fcvtzu h21, h12, #1 +fcvtzu v0.2d, v0.2d +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 +fdiv v0.4s, v0.4s, v0.4s +fdiv v0.8h, v0.8h, v0.8h +fmax v0.2d, v0.2d, v0.2d +fmax v0.2s, v0.2s, v0.2s +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 +fmin v0.2d, v0.2d, v0.2d +fmin v0.2s, v0.2s, v0.2s +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] +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 +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 +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 +frinta v0.2s, v0.2s +frinta v0.4h, v0.4h +frinta v0.4s, v0.4s +frinta v0.8h, v0.8h +frinti v0.2d, v0.2d +frinti v0.2s, v0.2s +frinti v0.4h, v0.4h +frinti v0.4s, v0.4s +frinti v0.8h, v0.8h +frintm v0.2d, v0.2d +frintm v0.2s, v0.2s +frintm v0.4h, v0.4h +frintm v0.4s, v0.4s +frintm v0.8h, v0.8h +frintn v0.2d, v0.2d +frintn v0.2s, v0.2s +frintn v0.4h, v0.4h +frintn v0.4s, v0.4s +frintn v0.8h, v0.8h +frintp v0.2d, v0.2d +frintp v0.2s, v0.2s +frintp v0.4h, v0.4h +frintp v0.4s, v0.4s +frintp v0.8h, v0.8h +frintx v0.2d, v0.2d +frintx v0.2s, v0.2s +frintx v0.4h, v0.4h +frintx v0.4s, v0.4s +frintx v0.8h, v0.8h +frintz v0.2d, v0.2d +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 +fsqrt v0.2d, v0.2d +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 }, [x0], #48 +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.4s, v1.4s }, [sp], #32 +ld1 { v0.4s, v1.4s, v2.4s }, [sp] +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] +ld1 { v0.8h }, [x15], x2 +ld1 { v0.8h, v1.8h }, [x15] +ld1 { v0.b }[9], [x0] +ld1 { v0.b }[9], [x0], #1 +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 +ld1r { v0.16b }, [x0], #1 +ld1r { v0.8h }, [x15] +ld1r { v0.8h }, [x15], #2 +ld2 { v0.16b, v1.16b }, [x0], x1 +ld2 { v0.8b, v1.8b }, [x0] +ld2 { v0.h, v1.h }[7], [x15] +ld2 { v0.h, v1.h }[7], [x15], x8 +ld2 { v0.h, v1.h }[7], [x15], #4 +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] +ld2r { v0.2d, v1.2d }, [x0] +ld2r { v0.2d, v1.2d }, [x0], #16 +ld2r { v0.4s, v1.4s }, [sp] +ld2r { v0.4s, v1.4s }, [sp], #8 +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.8h, v1.8h, v2.8h }, [x15], x2 +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] +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] +ld3r { v0.8b, v1.8b, v2.8b }, [x0] +ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 +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.d, v1.d, v2.d, v3.d }[1], [x0], #32 +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 +ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 +ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] +ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 +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] +mov v2.d[1], v0.d[1] +mov v0.b[0], w8 +mov v0.h[1], w8 +mov v0.s[2], w8 +mov v0.d[1], x8 +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 +neg v0.16b, v0.16b +neg v0.2d, v0.2d +neg v0.2s, v0.2s +neg v0.4h, v0.4h +neg v0.4s, v0.4s +neg v0.8b, v0.8b +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 +pmull2 v0.8h, v0.16b, v0.16b +raddhn v0.2s, v0.2d, v0.2d +raddhn v0.4h, v0.4s, v0.4s +raddhn v0.8b, v0.8h, v0.8h +raddhn2 v0.16b, v0.8h, v0.8h +raddhn2 v0.4s, v0.2d, v0.2d +raddhn2 v0.8h, v0.4s, v0.4s +rbit v0.16b, v0.16b +rbit v0.8b, v0.8b +rev16 v21.8b, v1.8b +rev16 v30.16b, v31.16b +rev32 v0.4h, v9.4h +rev32 v21.8b, v1.8b +rev32 v30.16b, v31.16b +rev32 v4.8h, v7.8h +rev64 v0.16b, v31.16b +rev64 v1.8b, v9.8b +rev64 v13.4h, v21.4h +rev64 v2.8h, v4.8h +rev64 v4.2s, v0.2s +rev64 v6.4s, v8.4s +rshrn v0.2s, v0.2d, #3 +rshrn v0.4h, v0.4s, #3 +rshrn v0.8b, v0.8h, #3 +rshrn2 v0.16b, v0.8h, #3 +rshrn2 v0.4s, v0.2d, #3 +rshrn2 v0.8h, v0.4s, #3 +rsubhn v0.2s, v0.2d, v0.2d +rsubhn v0.4h, v0.4s, v0.4s +rsubhn v0.8b, v0.8h, v0.8h +rsubhn2 v0.16b, v0.8h, v0.8h +rsubhn2 v0.4s, v0.2d, v0.2d +rsubhn2 v0.8h, v0.4s, v0.4s +saba v0.16b, v0.16b, v0.16b +sabal v0.2d, v0.2s, v0.2s +sabal v0.4s, v0.4h, v0.4h +sabal v0.8h, v0.8b, v0.8b +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 +sabdl2 v0.2d, v0.4s, v0.4s +sabdl2 v0.4s, v0.8h, v0.8h +sabdl2 v0.8h, v0.16b, v0.16b +sadalp v0.1d, v0.2s +sadalp v0.2d, v0.4s +sadalp v0.2s, v0.4h +sadalp v0.4h, v0.8b +sadalp v0.4s, v0.8h +sadalp v0.8h, v0.16b +saddl v0.2d, v0.2s, v0.2s +saddl v0.4s, v0.4h, v0.4h +saddl v0.8h, v0.8b, v0.8b +saddl2 v0.2d, v0.4s, v0.4s +saddl2 v0.4s, v0.8h, v0.8h +saddl2 v0.8h, v0.16b, v0.16b +saddlp v0.1d, v0.2s +saddlp v0.2d, v0.4s +saddlp v0.2s, v0.4h +saddlp v0.4h, v0.8b +saddlp v0.4s, v0.8h +saddlp v0.8h, v0.16b +saddlv d0, v0.4s +saddlv s0, v0.4h +saddlv s0, v0.8h +saddlv h0, v0.8b +saddlv h0, v0.16b +saddw v0.2d, v0.2d, v0.2s +saddw v0.4s, v0.4s, v0.4h +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 +scvtf s22, s13, #32 +scvtf v0.2d, v0.2d +scvtf v0.2d, v0.2d, #3 +scvtf v0.2s, v0.2s +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.4s, v0.4h, #16 +shll v0.8h, v0.8b, #8 +shll v0.2d, v0.2s, #32 +shll2 v0.2d, v0.4s, #32 +shll2 v0.4s, v0.8h, #16 +shll2 v0.8h, v0.16b, #8 +shrn v0.2s, v0.2d, #3 +shrn v0.4h, v0.4s, #3 +shrn v0.8b, v0.8h, #3 +shrn2 v0.16b, v0.8h, #3 +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 +sli v0.2s, v0.2s, #3 +sli v0.4h, v0.4h, #3 +sli v0.4s, v0.4s, #3 +sli v0.8b, v0.8b, #3 +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 +smaxv h0, v0.4h +smaxv h0, v0.8h +smaxv s0, v0.4s +smin v0.16b, v0.16b, v0.16b +smin v0.4s, v0.4s, v0.4s +smin v0.8h, v0.8h, v0.8h +sminp v0.16b, v0.16b, v0.16b +sminp v0.4s, v0.4s, v0.4s +sminp v0.8h, v0.8h, v0.8h +sminv b0, v0.8b +sminv b0, v0.16b +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 +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 +sqabs h21, h15 +sqabs s20, s12 +sqabs v0.16b, v0.16b +sqabs v0.2d, v0.2d +sqabs v0.2s, v0.2s +sqabs v0.4h, v0.4h +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 +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] +sqdmulh s20, s21, s2 +sqdmulh v0.2s, v0.2s, v0.2s +sqdmulh v0.4s, v0.4s, v0.4s +sqdmull d1, s1, v0.s[1] +sqdmull d15, s22, s12 +sqdmull s1, h1, v0.h[3] +sqdmull s12, h22, h12 +sqdmull v0.2d, v0.2s, v0.2s +sqdmull v0.4s, v0.4h, v0.4h +sqdmull2 v0.2d, v0.4s, v0.4s +sqdmull2 v0.4s, v0.8h, v0.8h +sqneg b19, b14 +sqneg d18, d12 +sqneg h21, h15 +sqneg s20, s12 +sqneg v0.16b, v0.16b +sqneg v0.2d, v0.2d +sqneg v0.2s, v0.2s +sqneg v0.4h, v0.4h +sqneg v0.4s, v0.4s +sqneg v0.8b, v0.8b +sqneg v0.8h, v0.8h +sqrdmlah h0, h1, v2.h[3] +sqrdmlah v0.4h, v1.4h, v2.h[3] +sqrdmlah v0.8h, v1.8h, v2.h[3] +sqrdmlah s0, s1, v2.s[1] +sqrdmlah v0.2s, v1.2s, v2.s[1] +sqrdmlah v0.4s, v1.4s, v2.s[1] +sqrdmlah h0, h1, h2 +sqrdmlah v0.4h, v1.4h, v2.4h +sqrdmlah v0.8h, v1.8h, v2.8h +sqrdmlah s0, s1, s2 +sqrdmlah v0.2s, v1.2s, v2.2s +sqrdmlah v0.4s, v1.4s, v2.4s +sqrdmlsh h0, h1, v2.h[3] +sqrdmlsh v0.4h, v1.4h, v2.h[3] +sqrdmlsh v0.8h, v1.8h, v2.h[3] +sqrdmlsh s0, s1, v2.s[1] +sqrdmlsh v0.2s, v1.2s, v2.s[1] +sqrdmlsh v0.4s, v1.4s, v2.s[1] +sqrdmlsh h0, h1, h2 +sqrdmlsh v0.4h, v1.4h, v2.4h +sqrdmlsh v0.8h, v1.8h, v2.8h +sqrdmlsh s0, s1, s2 +sqrdmlsh v0.2s, v1.2s, v2.2s +sqrdmlsh v0.4s, v1.4s, v2.4s +sqrdmulh h10, h11, h12 +sqrdmulh h7, h15, v0.h[3] +sqrdmulh s15, s14, v0.s[1] +sqrdmulh s20, s21, s2 +sqrdmulh v0.4h, v0.4h, v0.4h +sqrdmulh v0.8h, v0.8h, v0.8h +sqrshl d31, d31, d31 +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 +sqrshrn v0.2s, v0.2d, #3 +sqrshrn v0.4h, v0.4s, #3 +sqrshrn v0.8b, v0.8h, #3 +sqrshrn2 v0.16b, v0.8h, #3 +sqrshrn2 v0.4s, v0.2d, #3 +sqrshrn2 v0.8h, v0.4s, #3 +sqrshrun b17, h10, #6 +sqrshrun h10, s13, #15 +sqrshrun s22, d16, #31 +sqrshrun v0.2s, v0.2d, #3 +sqrshrun v0.4h, v0.4s, #3 +sqrshrun v0.8b, v0.8h, #3 +sqrshrun2 v0.16b, v0.8h, #3 +sqrshrun2 v0.4s, v0.2d, #3 +sqrshrun2 v0.8h, v0.4s, #3 +sqshl b11, b19, #7 +sqshl d15, d16, #51 +sqshl d31, d31, d31 +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 +sqshl v0.4h, v0.4h, #3 +sqshl v0.4h, v0.4h, v0.4h +sqshl v0.4s, v0.4s, #3 +sqshl v0.8b, v0.8b, #3 +sqshl v0.8b, v0.8b, v0.8b +sqshl v0.8h, v0.8h, #3 +sqshlu b15, b18, #6 +sqshlu d11, d13, #32 +sqshlu h19, h17, #6 +sqshlu s16, s14, #25 +sqshlu v0.16b, v0.16b, #3 +sqshlu v0.2d, v0.2d, #3 +sqshlu v0.2s, v0.2s, #3 +sqshlu v0.4h, v0.4h, #3 +sqshlu v0.4s, v0.4s, #3 +sqshlu v0.8b, v0.8b, #3 +sqshlu v0.8h, v0.8h, #3 +sqshrn b10, h15, #5 +sqshrn h17, s10, #4 +sqshrn s18, d10, #31 +sqshrn v0.2s, v0.2d, #3 +sqshrn v0.4h, v0.4s, #3 +sqshrn v0.8b, v0.8h, #3 +sqshrn2 v0.16b, v0.8h, #3 +sqshrn2 v0.4s, v0.2d, #3 +sqshrn2 v0.8h, v0.4s, #3 +sqshrun b15, h10, #7 +sqshrun h20, s14, #3 +sqshrun s10, d15, #15 +sqshrun v0.2s, v0.2d, #3 +sqshrun v0.4h, v0.4s, #3 +sqshrun v0.8b, v0.8h, #3 +sqshrun2 v0.16b, v0.8h, #3 +sqshrun2 v0.4s, v0.2d, #3 +sqshrun2 v0.8h, v0.4s, #3 +sqsub s20, s10, s7 +sqsub v0.2d, v0.2d, v0.2d +sqsub v0.4s, v0.4s, v0.4s +sqsub v0.8b, v0.8b, v0.8b +sqxtn b18, h18 +sqxtn h20, s17 +sqxtn s19, d14 +sqxtn v0.2s, v0.2d +sqxtn v0.4h, v0.4s +sqxtn v0.8b, v0.8h +sqxtn2 v0.16b, v0.8h +sqxtn2 v0.4s, v0.2d +sqxtn2 v0.8h, v0.4s +sqxtun b19, h14 +sqxtun h21, s15 +sqxtun s20, d12 +sqxtun v0.2s, v0.2d +sqxtun v0.4h, v0.4s +sqxtun v0.8b, v0.8h +sqxtun2 v0.16b, v0.8h +sqxtun2 v0.4s, v0.2d +sqxtun2 v0.8h, v0.4s +srhadd v0.2s, v0.2s, v0.2s +srhadd v0.4h, v0.4h, v0.4h +srhadd v0.8b, v0.8b, v0.8b +sri d10, d12, #14 +sri v0.16b, v0.16b, #3 +sri v0.2d, v0.2d, #3 +sri v0.2s, v0.2s, #3 +sri v0.4h, v0.4h, #3 +sri v0.4s, v0.4s, #3 +sri v0.8b, v0.8b, #3 +sri v0.8h, v0.8h, #3 +srshl d16, d16, d16 +srshl v0.2s, v0.2s, v0.2s +srshl v0.4h, v0.4h, v0.4h +srshl v0.8b, v0.8b, v0.8b +srshr d19, d18, #7 +srshr v0.16b, v0.16b, #3 +srshr v0.2d, v0.2d, #3 +srshr v0.2s, v0.2s, #3 +srshr v0.4h, v0.4h, #3 +srshr v0.4s, v0.4s, #3 +srshr v0.8b, v0.8b, #3 +srshr v0.8h, v0.8h, #3 +srsra d15, d11, #19 +srsra v0.16b, v0.16b, #3 +srsra v0.2d, v0.2d, #3 +srsra v0.2s, v0.2s, #3 +srsra v0.4h, v0.4h, #3 +srsra v0.4s, v0.4s, #3 +srsra v0.8b, v0.8b, #3 +srsra v0.8h, v0.8h, #3 +sshl d31, d31, d31 +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 +sshr v0.2s, v0.2s, #3 +sshr v0.4h, v0.4h, #3 +sshr v0.4s, v0.4s, #3 +sshr v0.8b, v0.8b, #3 +sshr v0.8h, v0.8h, #3 +ssra d18, d12, #21 +ssra v0.16b, v0.16b, #3 +ssra v0.2d, v0.2d, #3 +ssra v0.2s, v0.2s, #3 +ssra v0.4h, v0.4h, #3 +ssra v0.4s, v0.4s, #3 +ssra v0.8b, v0.8b, #3 +ssra v0.8h, v0.8h, #3 +ssubl v0.2d, v0.2s, v0.2s +ssubl v0.4s, v0.4h, v0.4h +ssubl v0.8h, v0.8b, v0.8b +ssubl2 v0.2d, v0.4s, v0.4s +ssubl2 v0.4s, v0.8h, v0.8h +ssubl2 v0.8h, v0.16b, v0.16b +ssubw v0.2d, v0.2d, v0.2s +ssubw v0.4s, v0.4s, v0.4h +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 }, [sp], #32 +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.8h }, [x15], x2 +st1 { v0.8h, v1.8h }, [x15] +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.b, v1.b, v2.b, v3.b }[9], [x0] +st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], 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 +suqadd b19, b14 +suqadd d18, d22 +suqadd h20, h15 +suqadd s21, s12 +suqadd v0.16b, v0.16b +suqadd v0.2d, v0.2d +suqadd v0.2s, v0.2s +suqadd v0.4h, v0.4h +suqadd v0.4s, v0.4s +suqadd v0.8b, v0.8b +suqadd v0.8h, v0.8h +tbl v0.16b, { v0.16b }, v0.16b +tbl v0.16b, { v0.16b, v1.16b }, v0.16b +tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b +tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b +tbl v0.8b, { v0.16b }, v0.8b +tbl v0.8b, { v0.16b, v1.16b }, v0.8b +tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b +tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b +tbx v0.16b, { v0.16b }, v0.16b +tbx v0.16b, { v0.16b, v1.16b }, v0.16b +tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b +tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b +tbx v0.8b, { v0.16b }, v0.8b +tbx v0.8b, { v0.16b, v1.16b }, v0.8b +tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b +tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b +trn1 v0.16b, v0.16b, v0.16b +trn1 v0.2d, v0.2d, v0.2d +trn1 v0.2s, v0.2s, v0.2s +trn1 v0.4h, v0.4h, v0.4h +trn1 v0.4s, v0.4s, v0.4s +trn1 v0.8b, v0.8b, v0.8b +trn1 v0.8h, v0.8h, v0.8h +trn2 v0.16b, v0.16b, v0.16b +trn2 v0.2d, v0.2d, v0.2d +trn2 v0.2s, v0.2s, v0.2s +trn2 v0.4h, v0.4h, v0.4h +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 +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 +uabdl2 v0.2d, v0.4s, v0.4s +uabdl2 v0.4s, v0.8h, v0.8h +uabdl2 v0.8h, v0.16b, v0.16b +uadalp v0.1d, v0.2s +uadalp v0.2d, v0.4s +uadalp v0.2s, v0.4h +uadalp v0.4h, v0.8b +uadalp v0.4s, v0.8h +uadalp v0.8h, v0.16b +uaddl v0.2d, v0.2s, v0.2s +uaddl v0.4s, v0.4h, v0.4h +uaddl v0.8h, v0.8b, v0.8b +uaddl2 v0.2d, v0.4s, v0.4s +uaddl2 v0.4s, v0.8h, v0.8h +uaddl2 v0.8h, v0.16b, v0.16b +uaddlp v0.1d, v0.2s +uaddlp v0.2d, v0.4s +uaddlp v0.2s, v0.4h +uaddlp v0.4h, v0.8b +uaddlp v0.4s, v0.8h +uaddlp v0.8h, v0.16b +uaddlv d0, v0.4s +uaddlv s0, v0.4h +uaddlv s0, v0.8h +uaddlv h0, v0.8b +uaddlv h0, v0.16b +uaddw v0.2d, v0.2d, v0.2s +uaddw v0.4s, v0.4s, v0.4h +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 +ucvtf v0.2d, v0.2d, #3 +ucvtf v0.2s, v0.2s +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 +umax v0.8h, v0.8h, v0.8h +umaxp v0.16b, v0.16b, v0.16b +umaxp v0.4s, v0.4s, v0.4s +umaxp v0.8h, v0.8h, v0.8h +umaxv b0, v0.8b +umaxv b0, v0.16b +umaxv h0, v0.4h +umaxv h0, v0.8h +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 +uminv b0, v0.16b +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 +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.8h, v0.8h, v0.8h +uqrshrn b10, h12, #5 +uqrshrn h12, s10, #14 +uqrshrn s10, d10, #25 +uqrshrn v0.2s, v0.2d, #3 +uqrshrn v0.4h, v0.4s, #3 +uqrshrn v0.8b, v0.8h, #3 +uqrshrn2 v0.16b, v0.8h, #3 +uqrshrn2 v0.4s, v0.2d, #3 +uqrshrn2 v0.8h, v0.4s, #3 +uqshl b11, b20, b30 +uqshl b18, b15, #6 +uqshl d15, d12, #19 +uqshl h11, h18, #7 +uqshl s14, s19, #18 +uqshl s23, s20, s16 +uqshl v0.16b, v0.16b, #3 +uqshl v0.16b, v0.16b, v0.16b +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 +uqshl v0.8h, v0.8h, #3 +uqshl v0.8h, v0.8h, v0.8h +uqshrn b12, h10, #7 +uqshrn h10, s14, #5 +uqshrn s10, d12, #13 +uqshrn v0.2s, v0.2d, #3 +uqshrn v0.4h, v0.4s, #3 +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 +uqxtn v0.2s, v0.2d +uqxtn v0.4h, v0.4s +uqxtn v0.8b, v0.8h +uqxtn2 v0.16b, v0.8h +uqxtn2 v0.4s, v0.2d +uqxtn2 v0.8h, v0.4s +urecpe v0.2s, v0.2s +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 +urshl v0.8h, v0.8h, v0.8h +urshr d20, d23, #31 +urshr v0.16b, v0.16b, #3 +urshr v0.2d, v0.2d, #3 +urshr v0.2s, v0.2s, #3 +urshr v0.4h, v0.4h, #3 +urshr v0.4s, v0.4s, #3 +urshr v0.8b, v0.8b, #3 +urshr v0.8h, v0.8h, #3 +ursqrte v0.2s, v0.2s +ursqrte v0.4s, v0.4s +ursra d18, d10, #13 +ursra v0.16b, v0.16b, #3 +ursra v0.2d, v0.2d, #3 +ursra v0.2s, v0.2s, #3 +ursra v0.4h, v0.4h, #3 +ursra v0.4s, v0.4s, #3 +ursra v0.8b, v0.8b, #3 +ursra v0.8h, v0.8h, #3 +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 +ushr v0.2d, v0.2d, #3 +ushr v0.2s, v0.2s, #3 +ushr v0.4h, v0.4h, #3 +ushr v0.4s, v0.4s, #3 +ushr v0.8b, v0.8b, #3 +ushr v0.8h, v0.8h, #3 +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] +smov x0, v0.h[1] +smov x0, v0.s[1] +usqadd b19, b14 +usqadd d18, d22 +usqadd h20, h15 +usqadd s21, s12 +usqadd v0.16b, v0.16b +usqadd v0.2d, v0.2d +usqadd v0.2s, v0.2s +usqadd v0.4h, v0.4h +usqadd v0.4s, v0.4s +usqadd v0.8b, v0.8b +usqadd v0.8h, v0.8h +usra d20, d13, #61 +usra v0.16b, v0.16b, #3 +usra v0.2d, v0.2d, #3 +usra v0.2s, v0.2s, #3 +usra v0.4h, v0.4h, #3 +usra v0.4s, v0.4s, #3 +usra v0.8b, v0.8b, #3 +usra v0.8h, v0.8h, #3 +usubl v0.2d, v0.2s, v0.2s +usubl v0.4s, v0.4h, v0.4h +usubl v0.8h, v0.8b, v0.8b +usubl2 v0.2d, v0.4s, v0.4s +usubl2 v0.4s, v0.8h, v0.8h +usubl2 v0.8h, v0.16b, v0.16b +usubw v0.2d, v0.2d, v0.2s +usubw v0.4s, v0.4s, v0.4h +usubw v0.8h, v0.8h, v0.8b +usubw2 v0.2d, v0.2d, v0.4s +usubw2 v0.4s, v0.4s, v0.8h +usubw2 v0.8h, v0.8h, v0.16b +uzp1 v0.16b, v0.16b, v0.16b +uzp1 v0.2d, v0.2d, v0.2d +uzp1 v0.2s, v0.2s, v0.2s +uzp1 v0.4h, v0.4h, v0.4h +uzp1 v0.4s, v0.4s, v0.4s +uzp1 v0.8b, v0.8b, v0.8b +uzp1 v0.8h, v0.8h, v0.8h +uzp2 v0.16b, v0.16b, v0.16b +uzp2 v0.2d, v0.2d, v0.2d +uzp2 v0.2s, v0.2s, v0.2s +uzp2 v0.4h, v0.4h, v0.4h +uzp2 v0.4s, v0.4s, v0.4s +uzp2 v0.8b, v0.8b, v0.8b +uzp2 v0.8h, v0.8h, v0.8h +xtn v0.2s, v0.2d +xtn v0.4h, v0.4s +xtn v0.8b, v0.8h +xtn2 v0.16b, v0.8h +xtn2 v0.4s, v0.2d +xtn2 v0.8h, v0.4s +zip1 v0.16b, v0.16b, v0.16b +zip1 v0.2d, v0.2d, v0.2d +zip1 v0.2s, v0.2s, v0.2s +zip1 v0.4h, v0.4h, v0.4h +zip1 v0.4s, v0.4s, v0.4s +zip1 v0.8b, v0.8b, v0.8b +zip1 v0.8h, v0.8h, v0.8h +zip2 v0.16b, v0.16b, v0.16b +zip2 v0.2d, v0.2d, v0.2d +zip2 v0.2s, v0.2s, v0.2s +zip2 v0.4h, v0.4h, v0.4h +zip2 v0.4s, v0.4s, v0.4s +zip2 v0.8b, v0.8b, v0.8b +zip2 v0.8h, v0.8h, v0.8h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-neon-instructions.s index 8913c46ea63aa..270990154f245 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N1-neon-instructions.s @@ -1,1073 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n1 -instruction-tables < %s | FileCheck %s - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 v0.2d, v0.2d, v0.2d -addp v0.8b, v0.8b, v0.8b -and v0.8b, v0.8b, v0.8b -bic v0.4h, #15, lsl #8 -bic v0.8b, v0.8b, v0.8b -bif v0.16b, v0.16b, v0.16b -bit v0.16b, v0.16b, v0.16b -bsl v0.8b, v0.8b, v0.8b -cls v0.16b, v0.16b -cls v0.2s, v0.2s -cls v0.4h, v0.4h -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -clz v0.4h, v0.4h -clz v0.4s, v0.4s -clz v0.8b, v0.8b -clz v0.8h, v0.8h -cmeq d20, d21, 0 -cmeq d20, d21, d22 -cmeq v0.16b, v0.16b, 0 -cmeq v0.16b, v0.16b, v0.16b -cmge d20, d21, 0 -cmge d20, d21, d22 -cmge v0.4h, v0.4h, v0.4h -cmge v0.8b, v0.8b, 0 -cmgt d20, d21, 0 -cmgt d20, d21, d22 -cmgt v0.2s, v0.2s, 0 -cmgt v0.4s, v0.4s, v0.4s -cmhi d20, d21, d22 -cmhi v0.8h, v0.8h, v0.8h -cmhs d20, d21, d22 -cmhs v0.8b, v0.8b, v0.8b -cmle d20, d21, 0 -cmle v0.2d, v0.2d, 0 -cmlt d20, d21, 0 -cmlt v0.8h, v0.8h, 0 -cmtst d20, d21, d22 -cmtst v0.2s, v0.2s, v0.2s -cnt v0.16b, v0.16b -cnt v0.8b, v0.8b -dup v0.16b,w28 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -eor v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, v0.4s -fabs v0.2d, v0.2d -fabs v0.2s, v0.2s -fabs v0.4h, v0.4h -fabs v0.4s, v0.4s -fabs v0.8h, v0.8h -facge d20, d21, d22 -facge s10, s11, s12 -facge v0.4s, v0.4s, v0.4s -facgt d20, d21, d22 -facgt s10, s11, s12 -facgt v0.2d, v0.2d, v0.2d -fadd v0.4s, v0.4s, v0.4s -faddp v0.2s, v0.2s, v0.2s -faddp v0.4s, v0.4s, v0.4s -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 -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 v0.4s, v0.4s, v0.4s -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 -fcmle d20, d21, #0.0 -fcmle s10, s11, #0.0 -fcmle v0.2d, v0.2d, #0.0 -fcmlt d20, d21, #0.0 -fcmlt s10, s11, #0.0 -fcmlt v0.4s, v0.4s, #0.0 -fcvtas d21, d14 -fcvtas s12, s13 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs v0.2d, v0.2d -fcvtzs v0.2d, v0.2d, #3 -fcvtzs v0.2s, v0.2s -fcvtzs v0.2s, v0.2s, #3 -fcvtzs v0.4h, v0.4h -fcvtzs v0.4s, v0.4s -fcvtzs v0.4s, v0.4s, #3 -fcvtzs v0.8h, v0.8h -fcvtzu d21, d12, #1 -fcvtzu d21, d14 -fcvtzu s12, s13 -fcvtzu s21, s12, #1 -fcvtzu v0.2d, v0.2d -fcvtzu v0.2d, v0.2d, #3 -fcvtzu v0.2s, v0.2s -fcvtzu v0.2s, v0.2s, #3 -fcvtzu v0.4h, v0.4h -fcvtzu v0.4s, v0.4s -fcvtzu v0.4s, v0.4s, #3 -fcvtzu v0.8h, v0.8h -fdiv v0.2s, v0.2s, v0.2s -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fmaxnmp v0.2s, v0.2s, v0.2s -fmaxnmp v0.4s, v0.4s, v0.4s -fmaxp v0.2d, v0.2d, v0.2d -fmaxp v0.2s, v0.2s, v0.2s -fmaxp v0.4s, v0.4s, v0.4s -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fminnmp v0.2s, v0.2s, v0.2s -fminnmp v0.4s, v0.4s, v0.4s -fminp v0.2d, v0.2d, v0.2d -fminp v0.2s, v0.2s, v0.2s -fminp v0.4s, v0.4s, v0.4s -fmla d0, d1, v0.d[1] -fmla s0, s1, v0.s[3] -fmla v0.2s, v0.2s, v0.2s -fmls d0, d4, v0.d[1] -fmls s3, s5, v0.s[3] -fmls v0.2s, v0.2s, v0.2s -fmov v0.2d, #-1.25 -fmov v0.2s, #13.0 -fmov v0.4s, #1.0 -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 s3, s5, v0.s[3] -fmulx v0.2d, v0.2d, v0.2d -fmulx v0.2s, v0.2s, v0.2s -fmulx v0.4s, v0.4s, v0.4s -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 d13, d13 -frecpe s19, s14 -frecpe v0.2d, v0.2d -frecpe v0.2s, v0.2s -frecpe v0.4h, v0.4h -frecpe v0.4s, v0.4s -frecpe v0.8h, v0.8h -frecps v0.4s, v0.4s, v0.4s -frecps d22, d30, d21 -frecps s21, s16, s13 -frecpx d16, d19 -frecpx s18, s10 -frinta v0.2d, v0.2d -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -frintz v0.2s, v0.2s -frintz v0.4h, v0.4h -frintz v0.4s, v0.4s -frintz v0.8h, v0.8h -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 -frsqrte v0.8h, v0.8h -frsqrts d8, d22, d18 -frsqrts s21, s5, s12 -frsqrts v0.2d, v0.2d, v0.2d -fsqrt v0.2d, v0.2d -fsqrt v0.2s, v0.2s -fsqrt v0.4h, v0.4h -fsqrt v0.4s, v0.4s -fsqrt v0.8h, v0.8h -fsub v0.2s, v0.2s, v0.2s -ld1 { v0.16b }, [x0] -ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -ld1 { v0.4s, v1.4s }, [sp], #32 -ld1 { v0.4s, v1.4s, v2.4s }, [sp] -ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -ld1 { v0.8h }, [x15], x2 -ld1 { v0.8h, v1.8h }, [x15] -ld1 { v0.b }[9], [x0] -ld1 { v0.b }[9], [x0], #1 -ld1r { v0.16b }, [x0] -ld1r { v0.16b }, [x0], #1 -ld1r { v0.8h }, [x15] -ld1r { v0.8h }, [x15], #2 -ld2 { v0.16b, v1.16b }, [x0], x1 -ld2 { v0.8b, v1.8b }, [x0] -ld2 { v0.h, v1.h }[7], [x15] -ld2 { v0.h, v1.h }[7], [x15], #4 -ld2r { v0.2d, v1.2d }, [x0] -ld2r { v0.2d, v1.2d }, [x0], #16 -ld2r { v0.4s, v1.4s }, [sp] -ld2r { v0.4s, v1.4s }, [sp], #8 -ld3 { v0.4h, v1.4h, v2.4h }, [x15] -ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -ld3 { v0.s, v1.s, v2.s }[3], [sp] -ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 -ld3r { v0.4h, v1.4h, v2.4h }, [x15] -ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 -ld3r { v0.8b, v1.8b, v2.8b }, [x0] -ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 -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 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 -ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 -mla v0.8b, v0.8b, v0.8b -mls v0.4h, v0.4h, v0.4h -mov b0, v0.b[15] -mov d6, v0.d[1] -mov h2, v0.h[5] -mov s17, v0.s[2] -mov v2.b[0], v0.b[0] -mov v2.h[1], v0.h[1] -mov v2.s[2], v0.s[2] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -mov v0.16b, v0.16b -mov v0.8b, v0.8b -movi d15, #0xff00ff00ff00ff -movi v0.16b, #31 -movi v0.2d, #0xff0000ff0000ffff -movi v0.2s, #8, msl #8 -movi v0.4s, #255, lsl #24 -movi v0.8b, #255 -mul v0.8b, v0.8b, v0.8b -mvni v0.2s, 0 -mvni v0.4s, #16, msl #16 -neg d29, d24 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -neg v0.8h, v0.8h -not v0.16b, v0.16b -not v0.8b, v0.8b -orn v0.16b, v0.16b, v0.16b -orr v0.16b, v0.16b, v0.16b -orr v0.8h, #31 -pmul v0.16b, v0.16b, v0.16b -pmul v0.8b, v0.8b, v0.8b -pmull v0.8h, v0.8b, v0.8b -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl v0.2d, v0.2s, v0.2s -sabdl v0.4s, v0.4h, v0.4h -sabdl v0.8h, v0.8b, v0.8b -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 d21, d12 -scvtf d21, d12, #64 -scvtf s22, s13 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -scvtf v0.2s, v0.2s, #3 -scvtf v0.4h, v0.4h -scvtf v0.4s, v0.4s -scvtf v0.4s, v0.4s, #3 -scvtf v0.8h, v0.8h -shadd v0.8b, v0.8b, v0.8b -shl d7, d10, #12 -shl v0.16b, v0.16b, #3 -shl v0.2d, v0.2d, #3 -shl v0.4h, v0.4h, #3 -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 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli d10, d14, #12 -sli v0.16b, v0.16b, #3 -sli v0.2d, v0.2d, #3 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxp v0.2s, v0.2s, v0.2s -smaxp v0.4h, v0.4h, v0.4h -smaxp v0.8b, v0.8b, v0.8b -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -smlal v0.2d, v0.2s, v0.2s -smlal v0.4s, v0.4h, v0.4h -smlal v0.8h, v0.8b, v0.8b -smlal2 v0.2d, v0.4s, v0.4s -smlal2 v0.4s, v0.8h, v0.8h -smlal2 v0.8h, v0.16b, v0.16b -smlsl v0.2d, v0.2s, v0.2s -smlsl v0.4s, v0.4h, v0.4h -smlsl v0.8h, v0.8b, v0.8b -smlsl2 v0.2d, v0.4s, v0.4s -smlsl2 v0.4s, v0.8h, v0.8h -smlsl2 v0.8h, v0.16b, v0.16b -smull v0.2d, v0.2s, v0.2s -smull v0.4s, v0.4h, v0.4h -smull v0.8h, v0.8b, v0.8b -smull2 v0.2d, v0.4s, v0.4s -smull2 v0.4s, v0.8h, v0.8h -smull2 v0.8h, v0.16b, v0.16b -sqabs b19, b14 -sqabs d18, d12 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -sqabs v0.4s, v0.4s -sqabs v0.8b, v0.8b -sqabs v0.8h, v0.8h -sqadd b20, b11, b15 -sqadd v0.16b, v0.16b, v0.16b -sqadd v0.2s, v0.2s, v0.2s -sqdmlal d19, s24, s12 -sqdmlal d8, s9, v0.s[1] -sqdmlal s0, h0, v0.h[3] -sqdmlal s17, h27, h12 -sqdmlal v0.2d, v0.2s, v0.2s -sqdmlal v0.4s, v0.4h, v0.4h -sqdmlal2 v0.2d, v0.4s, v0.4s -sqdmlal2 v0.4s, v0.8h, v0.8h -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 v0.4s, v0.4h, v0.4h -sqdmlsl2 v0.2d, v0.4s, v0.4s -sqdmlsl2 v0.4s, v0.8h, v0.8h -sqdmulh h10, h11, h12 -sqdmulh h7, h15, v0.h[3] -sqdmulh s15, s14, v0.s[1] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn b10, h13, #2 -sqrshrn h15, s10, #6 -sqrshrn s15, d12, #9 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -sqshl h13, h18, #11 -sqshl h3, h4, h15 -sqshl s14, s17, #22 -sqshl v0.16b, v0.16b, #3 -sqshl v0.2d, v0.2d, #3 -sqshl v0.2s, v0.2s, #3 -sqshl v0.2s, v0.2s, v0.2s -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 v0.2d, v0.2s, #3 -sshll2 v0.4s, v0.8h, #3 -sshr d15, d16, #12 -sshr v0.16b, v0.16b, #3 -sshr v0.2d, v0.2d, #3 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 { v0.16b }, [x0] -st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -st1 { v0.4s, v1.4s }, [sp], #32 -st1 { v0.4s, v1.4s, v2.4s }, [sp] -st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -st1 { v0.8h }, [x15], x2 -st1 { v0.8h, v1.8h }, [x15] -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 { v0.s, v1.s }[3], [sp] -st2 { v0.s, v1.s }[3], [sp], #8 -st3 { v0.4h, v1.4h, v2.4h }, [x15] -st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -st3 { v0.h, v1.h, v2.h }[7], [x15] -st3 { v0.h, v1.h, v2.h }[7], [x15], #6 -st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 -sub d15, d5, d16 -sub v0.2d, v0.2d, v0.2d -suqadd b19, b14 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -uabal v0.2d, v0.2s, v0.2s -uabal v0.4s, v0.4h, v0.4h -uabal v0.8h, v0.8b, v0.8b -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 -uabdl v0.2d, v0.2s, v0.2s -uabdl v0.4s, v0.4h, v0.4h -uabdl v0.8h, v0.8b, v0.8b -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 d21, d14 -ucvtf d21, d14, #64 -ucvtf s22, s13 -ucvtf s22, s13, #32 -ucvtf v0.2d, v0.2d -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -ucvtf v0.2s, v0.2s, #3 -ucvtf v0.4h, v0.4h -ucvtf v0.4s, v0.4s -ucvtf v0.4s, v0.4s, #3 -ucvtf v0.8h, v0.8h -uhadd v0.16b, v0.16b, v0.16b -uhadd v0.8h, v0.8h, v0.8h -uhsub v0.4s, v0.4s, v0.4s -umax v0.16b, v0.16b, v0.16b -umax v0.4s, v0.4s, v0.4s -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umin v0.2s, v0.2s, v0.2s -umin v0.4h, v0.4h, v0.4h -umin v0.8b, v0.8b, v0.8b -uminp v0.2s, v0.2s, v0.2s -uminp v0.4h, v0.4h, v0.4h -uminp v0.8b, v0.8b, v0.8b -umlal v0.2d, v0.2s, v0.2s -umlal v0.4s, v0.4h, v0.4h -umlal v0.8h, v0.8b, v0.8b -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 v0.4s, v0.4h, v0.4h -umlsl v0.8h, v0.8b, v0.8b -umlsl2 v0.2d, v0.4s, v0.4s -umlsl2 v0.4s, v0.8h, v0.8h -umlsl2 v0.8h, v0.16b, v0.16b -umull v0.2d, v0.2s, v0.2s -umull v0.4s, v0.4h, v0.4h -umull v0.8h, v0.8b, v0.8b -umull2 v0.2d, v0.4s, v0.4s -umull2 v0.4s, v0.8h, v0.8h -umull2 v0.8h, v0.16b, v0.16b -uqadd h0, h1, h5 -uqadd v0.8h, v0.8h, v0.8h -uqrshl b11, b20, b30 -uqrshl s23, s20, s16 -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 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, #3 -uqshl v0.4s, v0.4s, v0.4s -uqshl v0.8b, v0.8b, #3 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 d16, d16, d16 -uqsub v0.4h, v0.4h, v0.4h -uqxtn b18, h18 -uqxtn h20, s17 -uqxtn s19, d14 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl d8, d7, d4 -urshl v0.16b, v0.16b, v0.16b -urshl v0.2d, v0.2d, v0.2d -urshl v0.4s, v0.4s, v0.4s -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -ushl d0, d0, d0 -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 -ushll2 v0.8h, v0.16b, #3 -ushr d10, d17, #18 -ushr v0.16b, v0.16b, #3 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -ushr v0.4s, v0.4s, #3 -ushr v0.8b, v0.8b, #3 -ushr v0.8h, v0.8h, #3 -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n1 -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1094,14 +26,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: 1 2 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 addp d1, v14.2d +# CHECK-NEXT: 1 3 1.00 addv s0, v0.4s +# CHECK-NEXT: 1 3 1.00 addv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 addv h0, v0.8h +# CHECK-NEXT: 2 5 1.00 addv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 addv b0, v0.16b +# CHECK-NEXT: 1 2 1.00 aesd v0.16b, v0.16b +# CHECK-NEXT: 1 2 1.00 aese v0.16b, v0.16b +# CHECK-NEXT: 1 2 1.00 aesimc v0.16b, v0.16b +# CHECK-NEXT: 1 2 1.00 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 and v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: 1 2 0.50 bic v23.8h, #101 # CHECK-NEXT: 1 2 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: 1 2 0.50 bic v24.2s, #70 +# CHECK-NEXT: 1 2 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: 1 2 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: 1 2 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: 1 2 0.50 cls v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cls v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 cls v0.4h, v0.4h @@ -1114,28 +63,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 clz v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 clz v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: 1 2 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: 1 2 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: 1 2 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: 1 2 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: 1 2 0.50 cmhi d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 cmhs d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: 1 2 0.50 cmle d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: 1 2 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: 1 2 0.50 cmlt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: 1 2 0.50 cmtst d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: 1 2 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 dup v0.16b, w28 @@ -1145,12 +103,26 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 dup v0.4s, w28 # CHECK-NEXT: 1 3 1.00 dup v0.8b, w28 # CHECK-NEXT: 1 3 1.00 dup v0.8h, w28 +# CHECK-NEXT: 1 2 0.50 mov b0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 mov d0, v0.d[1] +# CHECK-NEXT: 1 2 0.50 mov h0, v0.h[1] +# CHECK-NEXT: 1 2 0.50 mov s0, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.16b, v0.b[1] +# CHECK-NEXT: 1 2 0.50 dup v0.2d, v0.d[1] +# CHECK-NEXT: 1 2 0.50 dup v0.2s, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.4h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 dup v0.4s, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.8b, v0.b[1] +# CHECK-NEXT: 1 2 0.50 dup v0.8h, v0.h[1] # CHECK-NEXT: 1 2 0.50 eor v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 ext v0.16b, v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.50 fabd d29, d24, d20 # CHECK-NEXT: 1 2 0.50 fabd s29, s24, s20 +# CHECK-NEXT: 1 2 0.50 fabd h27, h20, h17 +# CHECK-NEXT: 1 2 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: 1 2 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fabs h25, h7 # CHECK-NEXT: 1 2 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fabs v0.4h, v0.4h @@ -1158,39 +130,70 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 facge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facge s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facge h24, h26, h29 +# CHECK-NEXT: 1 2 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: 1 2 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: 1 2 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 facgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facgt s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facgt h0, h4, h10 # CHECK-NEXT: 1 2 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: 1 2 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: 1 2 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 faddp h10, v19.2h +# CHECK-NEXT: 1 2 0.50 faddp d11, v28.2d # CHECK-NEXT: 1 2 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: 1 2 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: 1 2 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: 1 2 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h1, h16, h12 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: 1 2 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: 1 2 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: 1 2 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: 1 2 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: 1 2 0.50 fcvtas d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtas s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtas h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtas v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtas v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtas v0.4h, v0.4h @@ -1198,6 +201,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtas v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtau d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtau s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtau h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtau v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtau v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtau v0.4h, v0.4h @@ -1209,6 +213,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtl2 v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtms d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtms s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtms h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtms v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtms v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtms v0.4h, v0.4h @@ -1216,6 +221,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtms v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtmu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtmu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtmu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtmu v0.4h, v0.4h @@ -1227,6 +233,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtn2 v0.8h, v0.4s # CHECK-NEXT: 1 2 0.50 fcvtns d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtns s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtns h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtns v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtns v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtns v0.4h, v0.4h @@ -1234,6 +241,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtns v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtnu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtnu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtnu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtnu v0.4h, v0.4h @@ -1241,6 +249,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtnu v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtps d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtps s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtps h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtps v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtps v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtps v0.4h, v0.4h @@ -1248,6 +257,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtps v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtpu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtpu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtpu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtpu v0.4h, v0.4h @@ -1260,75 +270,132 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtzs d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtzs s12, s13 # CHECK-NEXT: 1 2 0.50 fcvtzs s21, s12, #1 +# CHECK-NEXT: 1 2 0.50 fcvtzs h21, h14 +# CHECK-NEXT: 1 2 0.50 fcvtzs h21, h12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: 1 2 0.50 fcvtzu d21, d12, #1 # CHECK-NEXT: 1 2 0.50 fcvtzu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtzu s12, s13 # CHECK-NEXT: 1 2 0.50 fcvtzu s21, s12, #1 +# CHECK-NEXT: 1 2 0.50 fcvtzu h12, h13 +# CHECK-NEXT: 1 2 0.50 fcvtzu h21, h12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fcvtzu v27.8h, v6.8h, #11 +# CHECK-NEXT: 1 15 7.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 10 7.00 fdiv v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 7 7.00 fdiv v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 10 7.00 fdiv v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 13 10.00 fdiv v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fmax v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmax v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: 1 2 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 5 0.50 fmaxnmv h0, v13.4h +# CHECK-NEXT: 3 8 1.50 fmaxnmv h12, v11.8h +# CHECK-NEXT: 1 5 0.50 fmaxnmv s28, v31.4s # CHECK-NEXT: 1 2 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: 1 2 0.50 fmaxp s6, v2.2s +# CHECK-NEXT: 1 5 0.50 fmaxv h0, v0.4h +# CHECK-NEXT: 3 8 1.50 fmaxv h0, v0.8h +# CHECK-NEXT: 1 5 0.50 fmaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 fmin v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmin v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: 1 2 0.50 fminnmp d15, v8.2d # CHECK-NEXT: 1 2 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 5 0.50 fminnmv h19, v25.4h +# CHECK-NEXT: 3 8 1.50 fminnmv h23, v17.8h +# CHECK-NEXT: 1 5 0.50 fminnmv s29, v17.4s # CHECK-NEXT: 1 2 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fminp h7, v10.2h +# CHECK-NEXT: 1 2 0.50 fminp s17, v7.2s +# CHECK-NEXT: 1 5 0.50 fminv h3, v30.4h +# CHECK-NEXT: 3 8 1.50 fminv h29, v12.8h +# CHECK-NEXT: 1 5 0.50 fminv s16, v19.4s # CHECK-NEXT: 1 4 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: 1 4 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: 1 4 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: 1 4 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: 1 4 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: 1 4 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: 1 4 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: 1 4 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: 1 4 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: 1 4 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: 1 2 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: 1 2 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: 1 2 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: 1 3 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: 1 3 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: 1 3 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: 1 3 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: 1 3 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: 1 3 0.50 fmul h28, h14, h3 # CHECK-NEXT: 1 3 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: 1 3 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: 1 2 0.50 fmulx d23, d11, d1 # CHECK-NEXT: 1 2 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: 1 3 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: 1 2 0.50 fmulx h20, h25, h0 # CHECK-NEXT: 1 3 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: 1 3 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: 1 3 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: 1 2 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: 2 4 2.00 frecpe h20, h8 # CHECK-NEXT: 1 3 1.00 frecpe d13, d13 # CHECK-NEXT: 1 3 1.00 frecpe s19, s14 # CHECK-NEXT: 1 2 0.50 frecpe v0.2d, v0.2d @@ -1336,9 +403,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 frecps h29, h19, h8 +# CHECK-NEXT: 2 4 2.00 frecpx h18, h11 +# CHECK-NEXT: 1 4 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.50 frecps d22, d30, d21 # CHECK-NEXT: 1 4 0.50 frecps s21, s16, s13 +# CHECK-NEXT: 1 4 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: 1 3 1.00 frecpx d16, d19 # CHECK-NEXT: 1 3 1.00 frecpx s18, s10 # CHECK-NEXT: 1 3 1.00 frinta v0.2d, v0.2d @@ -1376,13 +447,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frintz v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frintz v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 2 4 2.00 frsqrte h23, h26 # CHECK-NEXT: 1 3 1.00 frsqrte d21, d12 # CHECK-NEXT: 1 3 1.00 frsqrte s22, s13 # CHECK-NEXT: 1 2 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frsqrte v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: 4 6 4.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: 1 4 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -1391,52 +466,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 7 7.00 fsqrt v0.4h, v0.4h # CHECK-NEXT: 1 10 7.00 fsqrt v0.4s, v0.4s # CHECK-NEXT: 1 13 10.00 fsqrt v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: 1 2 0.50 fsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 5 0.50 * ld1 { v0.16b }, [x0] +# CHECK-NEXT: 2 5 1.00 * ld1 { v0.16b, v1.16b }, [x14] +# CHECK-NEXT: 3 6 1.50 * ld1 { v19.16b, v20.16b, v21.16b }, [x10] +# CHECK-NEXT: 4 6 2.00 * ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9] +# CHECK-NEXT: 1 5 0.50 * ld1 { v24.8h }, [x27] +# CHECK-NEXT: 2 5 1.00 * ld1 { v1.8h, v2.8h }, [x27] +# CHECK-NEXT: 3 5 1.00 * ld1 { v0.8h, v1.8h }, [sp], #32 +# CHECK-NEXT: 3 6 1.50 * ld1 { v21.8h, v22.8h, v23.8h }, [x22] +# CHECK-NEXT: 4 6 2.00 * ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21] +# CHECK-NEXT: 1 5 0.50 * ld1 { v3.4s }, [x4] +# CHECK-NEXT: 2 5 1.00 * ld1 { v11.4s, v12.4s }, [x30] +# CHECK-NEXT: 3 6 1.50 * ld1 { v0.4s, v1.4s, v2.4s }, [x24] +# CHECK-NEXT: 4 6 2.00 * ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28] +# CHECK-NEXT: 4 6 1.50 * ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48 +# CHECK-NEXT: 1 5 0.50 * ld1 { v3.2d }, [x28] +# CHECK-NEXT: 2 5 1.00 * ld1 { v13.2d, v14.2d }, [x13] +# CHECK-NEXT: 3 6 1.50 * ld1 { v12.2d, v13.2d, v14.2d }, [x15] # CHECK-NEXT: 4 6 1.50 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # CHECK-NEXT: 4 6 2.00 * ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] +# CHECK-NEXT: 2 5 0.50 * ld1 { v0.1d }, [x15], x2 +# CHECK-NEXT: 2 5 1.00 * ld1 { v27.1d, v28.1d }, [x7] +# CHECK-NEXT: 3 6 1.50 * ld1 { v14.1d, v15.1d, v16.1d }, [x3] +# CHECK-NEXT: 4 6 2.00 * ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4] +# CHECK-NEXT: 2 5 1.00 * ld1 { v0.2s, v1.2s }, [x15] +# CHECK-NEXT: 3 6 1.50 * ld1 { v16.2s, v17.2s, v18.2s }, [x27] +# CHECK-NEXT: 4 6 2.00 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 5 1.00 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 4 6 2.00 * ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15] +# CHECK-NEXT: 3 6 1.50 * ld1 { v0.4h, v1.4h, v2.4h }, [sp] +# CHECK-NEXT: 2 5 1.00 * ld1 { v24.8b, v25.8b }, [x6] +# CHECK-NEXT: 3 6 1.50 * ld1 { v7.8b, v8.8b, v9.8b }, [x12] +# CHECK-NEXT: 4 6 2.00 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 5 1.00 * ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 3 6 1.50 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 6 2.00 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: 2 7 0.50 * ld1 { v0.b }[7], [x0] +# CHECK-NEXT: 3 7 0.50 * ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: 2 7 0.50 * ld1 { v18.h }[3], [x1] +# CHECK-NEXT: 2 7 0.50 * ld1 { v0.s }[1], [x15] +# CHECK-NEXT: 3 7 0.50 * ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: 2 7 0.50 * ld1 { v11.d }[0], [x13] # CHECK-NEXT: 2 5 0.50 * ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 5 1.00 * ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 7 0.50 * ld1 { v0.b }[9], [x0] # CHECK-NEXT: 3 7 0.50 * ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: 2 7 0.50 * ld1r { v0.16b }, [x0] +# CHECK-NEXT: 3 7 0.50 * ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: 2 7 0.50 * ld1r { v0.4s }, [x15] +# CHECK-NEXT: 2 7 0.50 * ld1r { v3.1d }, [x15] +# CHECK-NEXT: 3 7 0.50 * ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: 2 7 0.50 * ld1r { v18.2d }, [x0] +# CHECK-NEXT: 2 7 0.50 * ld1r { v8.8b }, [x23] +# CHECK-NEXT: 2 7 0.50 * ld1r { v28.4h }, [x9] +# CHECK-NEXT: 2 7 0.50 * ld1r { v3.8h }, [x16] +# CHECK-NEXT: 2 7 0.50 * ld1r { v10.2s }, [x20] +# CHECK-NEXT: 4 7 1.00 * ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: 4 7 1.00 * ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: 4 7 1.00 * ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: 4 7 1.00 * ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: 4 7 1.00 * ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: 4 7 1.00 * ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: 4 7 1.00 * ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: 4 7 1.00 * ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: 4 7 1.00 * ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: 4 7 1.00 * ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: 5 7 1.00 * ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: 3 7 0.50 * ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: 2 7 0.50 * ld1r { v0.8h }, [x15] # CHECK-NEXT: 3 7 0.50 * ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: 5 7 1.00 * ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 4 7 1.00 * ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: 4 7 1.00 * ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: 5 7 1.00 * ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: 5 7 1.00 * ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: 4 7 1.00 * ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 4 7 1.00 * ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: 5 7 1.00 * ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: 4 7 1.00 * ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: 4 7 1.00 * ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: 4 7 1.00 * ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: 4 7 1.00 * ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: 5 7 1.00 * ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: 4 7 1.00 * ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: 4 7 1.00 * ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: 6 8 1.50 * ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: 4 7 1.00 * ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: 5 7 1.00 * ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: 4 7 1.00 * ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: 5 7 1.00 * ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: 6 8 1.50 * ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: 7 8 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: 6 8 1.50 * ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: 6 8 1.50 * ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: 5 7 1.50 * ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: 5 7 1.50 * ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: 6 8 1.50 * ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: 7 8 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: 5 7 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: 6 7 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: 5 7 1.50 * ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: 5 7 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: 5 7 1.50 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 5 7 1.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 6 7 1.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: 5 7 1.50 * ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: 5 7 1.50 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: 5 7 1.50 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 5 7 1.50 * ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: 6 7 1.50 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: 5 7 1.50 * ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: 5 7 1.50 * ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: 7 8 2.00 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: 8 10 2.00 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: 7 8 2.00 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: 8 10 2.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 8 10 2.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 5 7 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: 6 7 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: 7 8 2.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 9 10 2.00 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: 8 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: 8 10 2.00 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: 8 8 2.00 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: 8 8 2.00 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: 9 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: 9 8 2.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: 8 8 2.00 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: 8 8 2.00 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: 8 8 2.00 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: 8 8 2.00 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: 8 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: 9 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: 8 8 2.00 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: 9 8 2.00 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 9 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: 8 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 9 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: 1 2 0.50 mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: 1 2 0.50 mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: 1 2 0.50 mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: 2 5 2.00 mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: 1 2 0.50 mov b0, v0.b[15] # CHECK-NEXT: 1 2 0.50 mov d6, v0.d[1] # CHECK-NEXT: 1 2 0.50 mov h2, v0.h[5] # CHECK-NEXT: 1 2 0.50 mov s17, v0.s[2] +# CHECK-NEXT: 1 2 0.50 mov w8, v8.s[0] +# CHECK-NEXT: 1 2 0.50 mov x30, v18.d[0] # CHECK-NEXT: 1 2 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: 1 2 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: 1 2 0.50 mov v2.s[2], v0.s[2] @@ -1449,11 +635,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mov v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: 1 2 0.50 movi v0.16b, #31 +# CHECK-NEXT: 1 2 0.50 movi v14.8h, #174 +# CHECK-NEXT: 1 2 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: 1 2 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: 1 2 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: 1 2 0.50 movi v19.2s, #226 +# CHECK-NEXT: 1 2 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: 1 2 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: 1 2 0.50 movi v0.8b, #255 # CHECK-NEXT: 1 2 0.50 mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: 1 2 0.50 mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: 1 2 0.50 mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: 1 2 0.50 mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: 2 5 2.00 mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: 2 5 2.00 mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: 1 2 0.50 mvni v9.4h, #237 +# CHECK-NEXT: 1 2 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: 1 2 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: 1 2 0.50 mvni v0.2s, #0 # CHECK-NEXT: 1 2 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: 1 2 0.50 neg d29, d24 @@ -1467,8 +666,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: 1 2 0.50 mov v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orr v9.4h, #18 # CHECK-NEXT: 1 2 0.50 orr v0.8h, #31 +# CHECK-NEXT: 1 2 0.50 orr v4.4s, #0 # CHECK-NEXT: 2 4 2.00 pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 3 1.00 pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 pmull v0.8h, v0.8b, v0.8b @@ -1513,6 +715,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -1537,12 +740,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 saddlp v0.4h, v0.8b # CHECK-NEXT: 1 2 0.50 saddlp v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddlp v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 saddlv d0, v0.4s +# CHECK-NEXT: 1 3 1.00 saddlv s0, v0.4h +# CHECK-NEXT: 2 5 1.00 saddlv s0, v0.8h +# CHECK-NEXT: 2 5 1.00 saddlv h0, v0.8b +# CHECK-NEXT: 2 6 2.00 saddlv h0, v0.16b # CHECK-NEXT: 1 2 0.50 saddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: 1 2 0.50 saddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: 1 2 0.50 saddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: 1 2 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 2 0.50 scvtf h4, h8, #9 +# CHECK-NEXT: 1 2 0.50 scvtf h5, h14 # CHECK-NEXT: 1 2 0.50 scvtf d21, d12 # CHECK-NEXT: 1 2 0.50 scvtf d21, d12, #64 # CHECK-NEXT: 1 2 0.50 scvtf s22, s13 @@ -1554,22 +764,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 scvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: 4 6 4.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 scvtf v4.8h, v8.8h, #10 +# CHECK-NEXT: 1 2 0.50 sdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 2 0.50 sdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 sdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: 1 2 0.50 shl d7, d10, #12 +# CHECK-NEXT: 1 2 1.00 shl v23.8b, v18.8b, #6 # CHECK-NEXT: 1 2 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 2 1.00 shl v0.8h, v23.8h, #10 # CHECK-NEXT: 1 2 1.00 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: 1 2 1.00 shll v0.2d, v0.2s, #32 # CHECK-NEXT: 1 2 1.00 shll v0.4s, v0.4h, #16 # CHECK-NEXT: 1 2 1.00 shll v0.8h, v0.8b, #8 # CHECK-NEXT: 1 2 1.00 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: 1 2 1.00 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: 1 2 1.00 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: 1 2 1.00 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: 1 2 1.00 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: 1 2 1.00 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: 1 2 1.00 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: 1 2 1.00 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: 1 2 1.00 shll2 v0.8h, v0.16b, #8 @@ -1581,6 +794,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: 1 2 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: 1 2 0.50 sli d10, d14, #12 # CHECK-NEXT: 1 2 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sli v0.2d, v0.2d, #3 @@ -1592,32 +806,56 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: 1 2 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: 1 2 0.50 smaxp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 2 5 1.00 smaxv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 smaxv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 smaxv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 smaxv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 smaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 smin v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 smin v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 smin v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sminp v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sminp v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 sminp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 2 5 1.00 sminv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 sminv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 sminv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 sminv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 sminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: 1 4 1.00 smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: 1 4 1.00 smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: 1 4 1.00 smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: 1 4 1.00 smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: 1 4 1.00 smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: 1 4 1.00 smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: 1 4 1.00 smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqabs b19, b14 # CHECK-NEXT: 1 2 0.50 sqabs d18, d12 @@ -1631,6 +869,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: 1 2 0.50 sqadd h12, h18, h10 # CHECK-NEXT: 1 2 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sqdmlal d19, s24, s12 @@ -1638,17 +877,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: 1 2 0.50 sqdmlal s17, h27, h12 # CHECK-NEXT: 1 4 1.00 sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: 1 4 1.00 sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: 1 2 0.50 sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: 1 2 0.50 sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: 1 4 1.00 sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: 1 4 1.00 sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: 1 4 1.00 sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: 1 4 1.00 sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: 1 2 0.50 sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: 1 2 0.50 sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: 1 2 0.50 sqdmlsl d12, s23, s13 # CHECK-NEXT: 1 4 1.00 sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: 1 4 1.00 sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: 1 2 0.50 sqdmlsl s14, h12, h25 # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: 1 4 1.00 sqdmulh h10, h11, h12 # CHECK-NEXT: 1 2 0.50 sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 2 0.50 sqdmulh s15, s14, v0.s[1] @@ -1674,6 +930,30 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 sqneg v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqneg v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 sqrdmlah h0, h1, v2.h[3] +# CHECK-NEXT: 1 2 0.50 sqrdmlah v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: 1 2 0.50 sqrdmlah v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: 1 2 0.50 sqrdmlah s0, s1, v2.s[1] +# CHECK-NEXT: 1 2 0.50 sqrdmlah v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: 1 2 0.50 sqrdmlah v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah h0, h1, h2 +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4h, v1.4h, v2.4h +# CHECK-NEXT: 2 5 2.00 sqrdmlah v0.8h, v1.8h, v2.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlah s0, s1, s2 +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.2s, v1.2s, v2.2s +# CHECK-NEXT: 2 5 2.00 sqrdmlah v0.4s, v1.4s, v2.4s +# CHECK-NEXT: 1 2 0.50 sqrdmlsh h0, h1, v2.h[3] +# CHECK-NEXT: 1 2 0.50 sqrdmlsh v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: 1 2 0.50 sqrdmlsh v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: 1 2 0.50 sqrdmlsh s0, s1, v2.s[1] +# CHECK-NEXT: 1 2 0.50 sqrdmlsh v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: 1 2 0.50 sqrdmlsh v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh h0, h1, h2 +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4h, v1.4h, v2.4h +# CHECK-NEXT: 2 5 2.00 sqrdmlsh v0.8h, v1.8h, v2.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlsh s0, s1, s2 +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.2s, v1.2s, v2.2s +# CHECK-NEXT: 2 5 2.00 sqrdmlsh v0.4s, v1.4s, v2.4s # CHECK-NEXT: 1 4 1.00 sqrdmulh h10, h11, h12 # CHECK-NEXT: 1 2 0.50 sqrdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 2 0.50 sqrdmulh s15, s14, v0.s[1] @@ -1685,6 +965,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 sqshl s17, s4, s23 +# CHECK-NEXT: 1 2 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: 1 2 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: 1 2 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 2 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 2 0.50 sqrshrn s15, d12, #9 @@ -1710,6 +993,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqshl h3, h4, h15 # CHECK-NEXT: 1 4 1.00 sqshl s14, s17, #22 # CHECK-NEXT: 1 4 1.00 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: 1 4 1.00 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: 1 4 1.00 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 1.00 sqshl v0.2s, v0.2s, v0.2s @@ -1806,8 +1090,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 1.00 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 1.00 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 1.00 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: 1 2 1.00 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: 1 2 1.00 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: 1 2 1.00 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: 1 2 1.00 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: 1 2 1.00 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: 1 2 0.50 sshr d15, d16, #12 # CHECK-NEXT: 1 2 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.2d, v0.2d, #3 @@ -1836,30 +1124,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 ssubw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 2 2 0.50 * st1 { v18.8b }, [x15] +# CHECK-NEXT: 3 2 1.00 * st1 { v8.8b, v9.8b }, [x18] +# CHECK-NEXT: 5 3 1.50 * 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 4 1.50 * st1 { v27.16b, v28.16b, v29.16b }, [x18] +# CHECK-NEXT: 8 5 2.00 * st1 { v18.16b, v19.16b, v20.16b, v21.16b }, [x29] +# CHECK-NEXT: 2 2 0.50 * st1 { v19.4h }, [x7] +# CHECK-NEXT: 3 2 1.00 * st1 { v22.4h, v23.4h }, [x22] +# CHECK-NEXT: 5 3 1.50 * 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 4 1.50 * st1 { v8.8h, v9.8h, v10.8h }, [x16] +# CHECK-NEXT: 8 5 2.00 * st1 { v7.8h, v8.8h, v9.8h, v10.8h }, [x19] +# CHECK-NEXT: 2 2 0.50 * st1 { v25.2s }, [x6] +# CHECK-NEXT: 3 2 1.00 * st1 { v13.2s, v14.2s }, [x9] +# CHECK-NEXT: 5 3 1.50 * 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 5 2.00 * st1 { v26.4s, v27.4s, v28.4s, v29.4s }, [x12] +# CHECK-NEXT: 2 2 0.50 * st1 { v20.1d }, [x10] +# CHECK-NEXT: 3 2 1.00 * st1 { v21.1d, v22.1d }, [x29] +# CHECK-NEXT: 5 3 1.50 * 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 4 1.50 * st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 +# CHECK-NEXT: 6 4 1.50 * st1 { v13.2d, v14.2d, v15.2d }, [x27] # CHECK-NEXT: 8 5 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: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 6 4 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: 3 2 0.50 * st1 { v0.8h }, [x15], x2 # CHECK-NEXT: 4 2 1.00 * st1 { v0.8h, v1.8h }, [x15] # 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 5 1.00 * st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 2 4 0.50 * st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 4 5 1.00 * st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: 2 4 0.50 * st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: 4 5 1.00 * st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: 2 4 0.50 * st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: 4 5 1.00 * st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: 4 5 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 5 1.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: 6 6 1.50 * st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: 4 5 1.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 7 6 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 6 6 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: 4 5 1.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: 6 6 1.50 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 6 6 1.50 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 6 4 1.50 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 6 4 1.50 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 7 4 1.50 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 6 4 1.50 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 6 5 1.50 * st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: 6 7 1.50 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: 12 9 3.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: 6 7 1.50 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: 12 9 3.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: 6 7 1.50 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 13 9 3.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: 12 9 3.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: 8 6 2.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: 6 5 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 6 5 1.50 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 6 5 1.50 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 6 4 1.50 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 6 5 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] # CHECK-NEXT: 7 5 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 +# CHECK-NEXT: 7 4 1.50 * st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: 1 2 0.50 sub d15, d5, d16 # CHECK-NEXT: 1 2 0.50 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: 1 2 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: 1 2 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: 1 2 0.50 suqadd b19, b14 # CHECK-NEXT: 1 2 0.50 suqadd d18, d22 # CHECK-NEXT: 1 2 0.50 suqadd h20, h15 @@ -1902,6 +1256,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: 1 4 1.00 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 uabal v0.8h, v0.8b, v0.8b @@ -1909,6 +1264,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: 1 2 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -1933,14 +1289,23 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uaddlp v0.4h, v0.8b # CHECK-NEXT: 1 2 0.50 uaddlp v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddlp v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 uaddlv d0, v0.4s +# CHECK-NEXT: 1 3 1.00 uaddlv s0, v0.4h +# CHECK-NEXT: 2 5 1.00 uaddlv s0, v0.8h +# CHECK-NEXT: 2 5 1.00 uaddlv h0, v0.8b +# CHECK-NEXT: 2 6 2.00 uaddlv h0, v0.16b # CHECK-NEXT: 1 2 0.50 uaddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: 1 2 0.50 uaddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: 1 2 0.50 uaddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: 1 2 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 2 6 1.00 ucvtf h17, x12 +# CHECK-NEXT: 1 2 0.50 ucvtf h22, h16, #11 +# CHECK-NEXT: 1 2 0.50 ucvtf h7, h21 # CHECK-NEXT: 1 2 0.50 ucvtf d21, d14 # CHECK-NEXT: 1 2 0.50 ucvtf d21, d14, #64 +# CHECK-NEXT: 2 6 1.00 ucvtf s8, x0 # CHECK-NEXT: 1 2 0.50 ucvtf s22, s13 # CHECK-NEXT: 1 2 0.50 ucvtf s22, s13, #32 # CHECK-NEXT: 1 3 1.00 ucvtf v0.2d, v0.2d @@ -1950,9 +1315,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: 4 6 4.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 ucvtf v22.8h, v20.8h, #10 +# CHECK-NEXT: 1 2 0.50 udot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 2 0.50 udot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 udot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: 1 2 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umax v0.4s, v0.4s, v0.4s @@ -1960,37 +1332,69 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 umaxp v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umaxp v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umaxp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 2 5 1.00 umaxv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 umaxv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 umaxv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 umaxv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 umaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: 1 2 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: 1 2 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uminp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 2 5 1.00 uminv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 uminv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 uminv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 uminv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 uminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: 1 4 1.00 umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: 1 4 1.00 umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: 1 4 1.00 umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: 1 4 1.00 umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: 1 4 1.00 umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.8h, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 umov w6, v22.b[0] +# CHECK-NEXT: 1 2 1.00 umov w0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 umov w10, v25.h[0] +# CHECK-NEXT: 1 2 1.00 umov w0, v0.h[1] +# CHECK-NEXT: 1 2 1.00 mov w0, v0.s[1] +# CHECK-NEXT: 1 2 1.00 mov x0, v0.d[1] # CHECK-NEXT: 1 4 1.00 umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: 1 4 1.00 umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: 1 4 1.00 umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: 1 4 1.00 umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: 1 4 1.00 umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: 1 2 0.50 uqadd s0, s24, s30 # CHECK-NEXT: 1 2 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: 1 4 1.00 uqrshl b11, b20, b30 # CHECK-NEXT: 1 4 1.00 uqrshl s23, s20, s16 +# CHECK-NEXT: 1 4 1.00 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: 1 4 1.00 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 2 0.50 uqrshrn h12, s10, #14 @@ -2013,6 +1417,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 4 1.00 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: 1 4 1.00 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqshl v0.8b, v0.8b, #3 @@ -2027,8 +1432,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 uqsub s16, s21, s6 # CHECK-NEXT: 1 2 0.50 uqsub d16, d16, d16 # CHECK-NEXT: 1 2 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: 1 4 1.00 uqxtn b18, h18 # CHECK-NEXT: 1 4 1.00 uqxtn h20, s17 # CHECK-NEXT: 1 4 1.00 uqxtn s19, d14 @@ -2043,7 +1450,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: 1 4 1.00 urshl d8, d7, d4 +# CHECK-NEXT: 1 4 1.00 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: 1 4 1.00 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 urshl v0.4s, v0.4s, v0.4s @@ -2067,10 +1476,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 1.00 ursra v0.8h, v0.8h, #3 # CHECK-NEXT: 1 2 1.00 ushl d0, d0, d0 +# CHECK-NEXT: 1 2 1.00 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: 1 2 1.00 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 1.00 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: 1 2 1.00 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: 1 2 1.00 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: 1 2 1.00 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: 1 2 1.00 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: 1 2 1.00 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 ushr d10, d17, #18 # CHECK-NEXT: 1 2 1.00 ushr v0.16b, v0.16b, #3 @@ -2080,6 +1494,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.8h, v0.8h, #3 +# CHECK-NEXT: 1 2 0.50 U smov w15, v22.b[0] +# CHECK-NEXT: 1 2 0.50 U smov w26, v27.h[0] +# CHECK-NEXT: 1 2 0.50 U smov x21, v0.b[0] +# CHECK-NEXT: 1 2 0.50 U smov x9, v27.h[0] +# CHECK-NEXT: 1 2 0.50 U smov x15, v3.s[0] +# CHECK-NEXT: 1 2 1.00 smov w0, v0.b[1] +# CHECK-NEXT: 1 2 1.00 smov w0, v0.h[1] +# CHECK-NEXT: 1 2 1.00 smov x0, v0.b[1] +# CHECK-NEXT: 1 2 1.00 smov x0, v0.h[1] +# CHECK-NEXT: 1 2 1.00 smov x0, v0.s[1] # CHECK-NEXT: 1 2 0.50 usqadd b19, b14 # CHECK-NEXT: 1 2 0.50 usqadd d18, d22 # CHECK-NEXT: 1 2 0.50 usqadd h20, h15 @@ -2160,7 +1584,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0] [1.0] [1.1] [2.0] [2.1] [3] [4.0] [4.1] [5] [6] -# CHECK-NEXT: - - - 73.00 73.00 21.33 10.33 10.33 703.00 611.00 +# CHECK-NEXT: - - - 270.00 270.00 29.33 16.33 16.33 1089.00 956.00 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0] [1.0] [1.1] [2.0] [2.1] [3] [4.0] [4.1] [5] [6] Instructions: @@ -2180,14 +1604,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 addp d1, v14.2d +# CHECK-NEXT: - - - - - - - - - 1.00 addv s0, v0.4s +# CHECK-NEXT: - - - - - - - - - 1.00 addv h0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 addv h0, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 addv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 addv b0, v0.16b +# CHECK-NEXT: - - - - - - - - 1.00 - aesd v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 1.00 - aese v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 1.00 - aesimc v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 1.00 - aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 and v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 bic v23.8h, #101 # CHECK-NEXT: - - - - - - - - 0.50 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 bic v24.2s, #70 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 cls v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 cls v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 cls v0.4h, v0.4h @@ -2200,28 +1641,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 clz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 clz v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmeq d20, d21, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmge d20, d21, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmgt d20, d21, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmhi d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmhs d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmle d20, d21, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmlt d20, d21, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmtst d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: - - - - - 1.00 - - - - dup v0.16b, w28 @@ -2231,12 +1681,26 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - 1.00 - - - - dup v0.4s, w28 # CHECK-NEXT: - - - - - 1.00 - - - - dup v0.8b, w28 # CHECK-NEXT: - - - - - 1.00 - - - - dup v0.8h, w28 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mov b0, v0.b[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mov d0, v0.d[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mov h0, v0.h[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mov s0, v0.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.16b, v0.b[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.2d, v0.d[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.2s, v0.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.4h, v0.h[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.4s, v0.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.8b, v0.b[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 dup v0.8h, v0.h[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 eor v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 ext v0.16b, v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - 0.50 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabd d29, d24, d20 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabd s29, s24, s20 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fabd h27, h20, h17 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fabs h25, h7 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabs v0.4h, v0.4h @@ -2244,39 +1708,70 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 facge d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 facge s10, s11, s12 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 facge h24, h26, h29 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 facgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 facgt s10, s11, s12 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 facgt h0, h4, h10 # CHECK-NEXT: - - - - - - - - 0.50 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - 0.50 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 faddp h10, v19.2h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 faddp d11, v28.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge h1, h16, h12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge s10, s11, s12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtas d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtas s12, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtas h12, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtas v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtas v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtas v0.4h, v0.4h @@ -2284,6 +1779,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 4.00 - fcvtas v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtau d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtau s12, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtau h12, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtau v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtau v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtau v0.4h, v0.4h @@ -2295,6 +1791,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 2.00 - fcvtl2 v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtms d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtms s22, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtms h22, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtms v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtms v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtms v0.4h, v0.4h @@ -2302,6 +1799,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 4.00 - fcvtms v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtmu d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtmu s12, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtmu h12, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtmu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtmu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtmu v0.4h, v0.4h @@ -2313,6 +1811,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 2.00 - fcvtn2 v0.8h, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtns d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtns s22, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtns h22, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtns v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtns v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtns v0.4h, v0.4h @@ -2320,6 +1819,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 4.00 - fcvtns v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtnu d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtnu s12, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtnu h12, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtnu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtnu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtnu v0.4h, v0.4h @@ -2327,6 +1827,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 4.00 - fcvtnu v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtps d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtps s22, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtps h22, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtps v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtps v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtps v0.4h, v0.4h @@ -2334,6 +1835,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 4.00 - fcvtps v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtpu d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtpu s12, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtpu h12, h13 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtpu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - fcvtpu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - fcvtpu v0.4h, v0.4h @@ -2346,75 +1848,132 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs d21, d14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs s12, s13 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs s21, s12, #1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs h21, h14 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs h21, h12, #1 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtzs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - 2.00 - fcvtzs v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - 4.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 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: - - - - - - - - 0.50 0.50 fcvtzu s12, s13 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu s21, s12, #1 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu h12, h13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu h21, h12, #1 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtzu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - 2.00 - fcvtzu v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - 4.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fcvtzu v27.8h, v6.8h, #11 +# CHECK-NEXT: - - - - - - - - 7.00 - fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 7.00 - fdiv v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 7.00 - fdiv v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 7.00 - fdiv v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 10.00 - fdiv v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmax v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmax v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmv h0, v13.4h +# CHECK-NEXT: - - - - - - - - 1.50 1.50 fmaxnmv h12, v11.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxnmv s28, v31.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxp s6, v2.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - 1.50 1.50 fmaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmin v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmin v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmp d15, v8.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmv h19, v25.4h +# CHECK-NEXT: - - - - - - - - 1.50 1.50 fminnmv h23, v17.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminnmv s29, v17.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminp h7, v10.2h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminp s17, v7.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminv h3, v30.4h +# CHECK-NEXT: - - - - - - - - 1.50 1.50 fminv h29, v12.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fminv s16, v19.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul h28, h14, h3 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx d23, d11, d1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx h20, h25, h0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 2.00 - frecpe h20, h8 # CHECK-NEXT: - - - - - - - - 1.00 - frecpe d13, d13 # CHECK-NEXT: - - - - - - - - 1.00 - frecpe s19, s14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 frecpe v0.2d, v0.2d @@ -2422,9 +1981,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 2.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 2.00 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 4.00 - frecpe v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 frecps h29, h19, h8 +# CHECK-NEXT: - - - - - - - - 2.00 - frecpx h18, h11 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 frecps d22, d30, d21 # CHECK-NEXT: - - - - - - - - 0.50 0.50 frecps s21, s16, s13 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: - - - - - - - - 1.00 - frecpx d16, d19 # CHECK-NEXT: - - - - - - - - 1.00 - frecpx s18, s10 # CHECK-NEXT: - - - - - - - - 1.00 - frinta v0.2d, v0.2d @@ -2462,13 +2025,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 2.00 - frintz v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 2.00 - frintz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 4.00 - frintz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 2.00 - frsqrte h23, h26 # CHECK-NEXT: - - - - - - - - 1.00 - frsqrte d21, d12 # CHECK-NEXT: - - - - - - - - 1.00 - frsqrte s22, s13 # CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - 1.00 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 2.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 2.00 - frsqrte v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: - - - - - - - - 4.00 - frsqrte v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -2477,52 +2044,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 7.00 - fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 7.00 - fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 10.00 - fsqrt v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 fsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - 0.50 0.50 - - - - - ld1 { v0.16b }, [x0] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v0.16b, v1.16b }, [x14] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v19.16b, v20.16b, v21.16b }, [x10] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9] +# CHECK-NEXT: - - - 0.50 0.50 - - - - - ld1 { v24.8h }, [x27] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v1.8h, v2.8h }, [x27] +# CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 - - ld1 { v0.8h, v1.8h }, [sp], #32 +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v21.8h, v22.8h, v23.8h }, [x22] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21] +# CHECK-NEXT: - - - 0.50 0.50 - - - - - ld1 { v3.4s }, [x4] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v11.4s, v12.4s }, [x30] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [x24] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28] +# CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 - - ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48 +# CHECK-NEXT: - - - 0.50 0.50 - - - - - ld1 { v3.2d }, [x28] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v13.2d, v14.2d }, [x13] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v12.2d, v13.2d, v14.2d }, [x15] # CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] +# CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 - - ld1 { v0.1d }, [x15], x2 +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v27.1d, v28.1d }, [x7] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v14.1d, v15.1d, v16.1d }, [x3] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v0.2s, v1.2s }, [x15] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v16.2s, v17.2s, v18.2s }, [x27] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v0.4h, v1.4h, v2.4h }, [sp] +# CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v24.8b, v25.8b }, [x6] +# CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v7.8b, v8.8b, v9.8b }, [x12] +# CHECK-NEXT: - - - 2.00 2.00 - - - - - ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 - - ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - 1.50 1.50 - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1 { v0.b }[7], [x0] +# CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1 { v18.h }[3], [x1] +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1 { v0.s }[1], [x15] +# CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1 { v11.d }[0], [x13] # CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 - - ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - 1.00 1.00 - - - - - ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1 { v0.b }[9], [x0] # CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v0.16b }, [x0] +# CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v0.4s }, [x15] +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v3.1d }, [x15] +# CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v18.2d }, [x0] +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v8.8b }, [x23] +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v28.4h }, [x9] +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v3.8h }, [x16] +# CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v10.2s }, [x20] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: - - - 0.50 0.50 - - - 0.50 0.50 ld1r { v0.8h }, [x15] # CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: - - - 1.00 1.00 - - - 1.00 1.00 ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.00 1.00 ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.50 1.50 ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.50 1.50 ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: - - - 1.50 1.50 - - - 2.00 2.00 ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: - - - 1.50 1.50 - - - 2.00 2.00 ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: - - - 1.50 1.50 - - - 2.00 2.00 ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: - - - 2.00 2.00 - - - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - 2.00 2.00 0.33 0.33 0.33 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # 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: - - - - - - - - 1.00 - 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: - - - - - - - - 2.00 - mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov b0, v0.b[15] # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov d6, v0.d[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov h2, v0.h[5] # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov s17, v0.s[2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mov x30, v18.d[0] # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov v2.s[2], v0.s[2] @@ -2535,11 +2213,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v0.16b, #31 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v14.8h, #174 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v19.2s, #226 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: - - - - - - - - 0.50 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: - - - - - - - - 0.50 0.50 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: - - - - - - - - 2.00 - mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: - - - - - - - - 2.00 - mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mvni v9.4h, #237 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: - - - - - - - - 0.50 0.50 mvni v0.2s, #0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: - - - - - - - - 0.50 0.50 neg d29, d24 @@ -2553,8 +2244,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 mov v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 orr v9.4h, #18 # CHECK-NEXT: - - - - - - - - 0.50 0.50 orr v0.8h, #31 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 orr v4.4s, #0 # CHECK-NEXT: - - - - - - - - 2.00 - pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 1.00 - pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 1.00 - pmull v0.8h, v0.8b, v0.8b @@ -2599,6 +2293,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -2623,12 +2318,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddlp v0.4h, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddlp v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddlp v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - 1.00 saddlv d0, v0.4s +# CHECK-NEXT: - - - - - - - - - 1.00 saddlv s0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 saddlv s0, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 saddlv h0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 saddlv h0, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf h5, h14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf d21, d12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf d21, d12, #64 # CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf s22, s13 @@ -2640,22 +2342,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 2.00 - scvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 2.00 - scvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: - - - - - - - - 4.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 scvtf v4.8h, v8.8h, #10 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - 0.50 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 shl d7, d10, #12 +# CHECK-NEXT: - - - - - - - - - 1.00 shl v23.8b, v18.8b, #6 # CHECK-NEXT: - - - - - - - - - 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - 1.00 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - 1.00 shl v0.8h, v23.8h, #10 # CHECK-NEXT: - - - - - - - - - 1.00 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - 1.00 shll v0.2d, v0.2s, #32 # CHECK-NEXT: - - - - - - - - - 1.00 shll v0.4s, v0.4h, #16 # CHECK-NEXT: - - - - - - - - - 1.00 shll v0.8h, v0.8b, #8 # CHECK-NEXT: - - - - - - - - - 1.00 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: - - - - - - - - - 1.00 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: - - - - - - - - - 1.00 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: - - - - - - - - - 1.00 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: - - - - - - - - - 1.00 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: - - - - - - - - - 1.00 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: - - - - - - - - - 1.00 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: - - - - - - - - - 1.00 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: - - - - - - - - - 1.00 shll2 v0.8h, v0.16b, #8 @@ -2667,6 +2372,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - 0.50 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sli d10, d14, #12 # CHECK-NEXT: - - - - - - - - - 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - 1.00 sli v0.2d, v0.2d, #3 @@ -2678,32 +2384,56 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 smaxp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 1.50 smaxv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 smaxv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - 1.00 smaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 smaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - 1.00 smaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 smin v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 smin v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 smin v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sminp v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 sminp v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 sminp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 sminv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 sminv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - 1.00 sminv h0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 sminv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - 1.00 sminv s0, v0.4s # CHECK-NEXT: - - - - - - - - 1.00 - smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - 1.00 - smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: - - - - - - - - 1.00 - smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 1.00 - smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - 1.00 - smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 1.00 - smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 1.00 - smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - 1.00 - smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: - - - - - - - - 1.00 - smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 1.00 - smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: - - - - - - - - 1.00 - smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: - - - - - - - - 1.00 - smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - 1.00 - smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 1.00 - smlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 1.00 - smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: - - - - - - - - 1.00 - smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: - - - - - - - - 1.00 - smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 1.00 - smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: - - - - - - - - 1.00 - smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 1.00 - smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: - - - - - - - - 1.00 - smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqabs b19, b14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqabs d18, d12 @@ -2717,6 +2447,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqadd h12, h18, h10 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqdmlal d19, s24, s12 @@ -2724,17 +2455,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqdmlal s17, h27, h12 # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 1.00 - 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: - - - - - - - - 1.00 - sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: - - - - - - - - 1.00 - 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: - - - - - - - - 1.00 - sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqdmlsl d12, s23, s13 # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqdmlsl s14, h12, h25 # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 1.00 - sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: - - - - - - - - 1.00 - 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] @@ -2760,6 +2508,30 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqneg v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlah h0, h1, v2.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlah v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlah v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlah s0, s1, v2.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlah v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlah v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlah h0, h1, h2 +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlah v0.4h, v1.4h, v2.4h +# CHECK-NEXT: - - - - - - - - 2.00 - sqrdmlah v0.8h, v1.8h, v2.8h +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlah s0, s1, s2 +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlah v0.2s, v1.2s, v2.2s +# CHECK-NEXT: - - - - - - - - 2.00 - sqrdmlah v0.4s, v1.4s, v2.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlsh h0, h1, v2.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlsh v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlsh v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlsh s0, s1, v2.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlsh v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmlsh v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlsh h0, h1, h2 +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlsh v0.4h, v1.4h, v2.4h +# CHECK-NEXT: - - - - - - - - 2.00 - sqrdmlsh v0.8h, v1.8h, v2.8h +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlsh s0, s1, s2 +# CHECK-NEXT: - - - - - - - - 1.00 - sqrdmlsh v0.2s, v1.2s, v2.2s +# CHECK-NEXT: - - - - - - - - 2.00 - sqrdmlsh v0.4s, v1.4s, v2.4s # CHECK-NEXT: - - - - - - - - 1.00 - sqrdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrdmulh s15, s14, v0.s[1] @@ -2771,6 +2543,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - 1.00 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - 1.00 sqshl s17, s4, s23 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sqrshrn s15, d12, #9 @@ -2796,6 +2571,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 sqshl h3, h4, h15 # CHECK-NEXT: - - - - - - - - - 1.00 sqshl s14, s17, #22 # CHECK-NEXT: - - - - - - - - - 1.00 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: - - - - - - - - - 1.00 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: - - - - - - - - - 1.00 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - 1.00 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - 1.00 sqshl v0.2s, v0.2s, v0.2s @@ -2892,8 +2668,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - 1.00 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - 1.00 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - 1.00 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: - - - - - - - - - 1.00 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: - - - - - - - - - 1.00 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - 1.00 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: - - - - - - - - - 1.00 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - 1.00 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sshr d15, d16, #12 # CHECK-NEXT: - - - - - - - - - 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - 1.00 sshr v0.2d, v0.2d, #3 @@ -2922,30 +2702,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 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 - - - 1.00 1.00 st1 { v8.8b, v9.8b }, [x18] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 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 - - - 1.00 1.00 st1 { v22.4h, v23.4h }, [x22] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 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 - - - 1.00 1.00 st1 { v13.2s, v14.2s }, [x9] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 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.33 0.33 0.33 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 - - - 1.00 1.00 st1 { v21.1d, v22.1d }, [x29] +# CHECK-NEXT: - - - 1.00 1.00 - - - 1.50 1.50 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.33 0.33 0.33 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.33 0.33 0.33 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.00 1.00 0.33 0.33 0.33 1.00 1.00 st1 { v0.4s, v1.4s }, [sp], #32 # 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.33 0.33 0.33 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.33 0.33 0.33 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: - - - 0.50 0.50 - - - 0.50 0.50 st1 { v0.d }[1], [x0] # CHECK-NEXT: - - - 0.50 0.50 0.33 0.33 0.33 0.50 0.50 st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: - - - 1.00 1.00 0.33 0.33 0.33 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.33 0.33 0.33 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.33 0.33 0.33 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.50 1.50 - - - 1.50 1.50 st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 1.50 1.50 st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 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.33 0.33 0.33 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.50 1.50 - - - 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: - - - 1.50 1.50 - - - 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] # CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 +# CHECK-NEXT: - - - 1.50 1.50 0.33 0.33 0.33 1.50 1.50 st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sub d15, d5, d16 # CHECK-NEXT: - - - - - - - - 0.50 0.50 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - 0.50 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: - - - - - - - - 0.50 0.50 suqadd b19, b14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 suqadd h20, h15 @@ -2988,6 +2834,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - 1.00 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: - - - - - - - - - 1.00 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - 1.00 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - 1.00 uabal v0.8h, v0.8b, v0.8b @@ -2995,6 +2842,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -3019,14 +2867,23 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddlp v0.4h, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddlp v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddlp v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - 1.00 uaddlv d0, v0.4s +# CHECK-NEXT: - - - - - - - - - 1.00 uaddlv s0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 uaddlv s0, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 uaddlv h0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 uaddlv h0, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - 1.00 - - 1.00 - ucvtf h17, x12 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 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 - - 1.00 - ucvtf s8, x0 # CHECK-NEXT: - - - - - - - - 0.50 0.50 ucvtf s22, s13 # CHECK-NEXT: - - - - - - - - 0.50 0.50 ucvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - 1.00 - ucvtf v0.2d, v0.2d @@ -3036,9 +2893,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 2.00 - ucvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: - - - - - - - - 4.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 ucvtf v22.8h, v20.8h, #10 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - 0.50 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 umax v0.4s, v0.4s, v0.4s @@ -3046,37 +2910,69 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 umaxp v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 umaxp v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 umaxp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 umaxv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 umaxv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - 1.00 umaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 umaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - 1.00 umaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - 0.50 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uminp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 0.50 1.50 uminv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - 2.00 uminv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - 1.00 uminv h0, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 1.50 uminv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - 1.00 uminv s0, v0.4s # CHECK-NEXT: - - - - - - - - 1.00 - umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: - - - - - - - - 1.00 - umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: - - - - - - - - 1.00 - umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - 1.00 - umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: - - - - - - - - 1.00 - umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: - - - - - - - - 1.00 - umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 1.00 - umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 1.00 - umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 1.00 - umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - 1.00 - umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: - - - - - - - - 1.00 - umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 1.00 - umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: - - - - - - - - 1.00 - umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 1.00 - umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: - - - - - - - - 1.00 - umlsl2 v0.8h, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - 0.50 0.50 umov w6, v22.b[0] +# CHECK-NEXT: - - - - - - - - - 1.00 umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 umov w10, v25.h[0] +# CHECK-NEXT: - - - - - - - - - 1.00 umov w0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - 1.00 mov w0, v0.s[1] +# CHECK-NEXT: - - - - - - - - - 1.00 mov x0, v0.d[1] # CHECK-NEXT: - - - - - - - - 1.00 - umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - 1.00 - umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: - - - - - - - - 1.00 - umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 1.00 - umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: - - - - - - - - 1.00 - umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - 1.00 - umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - 1.00 - umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: - - - - - - - - 1.00 - umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 1.00 - umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: - - - - - - - - 1.00 - umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uqadd s0, s24, s30 # CHECK-NEXT: - - - - - - - - 0.50 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: - - - - - - - - - 1.00 uqrshl b11, b20, b30 # CHECK-NEXT: - - - - - - - - - 1.00 uqrshl s23, s20, s16 +# CHECK-NEXT: - - - - - - - - - 1.00 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: - - - - - - - - - 1.00 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - 1.00 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: - - - - - - - - 0.50 0.50 uqrshrn h12, s10, #14 @@ -3099,6 +2995,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - 1.00 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - 1.00 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - 1.00 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: - - - - - - - - - 1.00 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - 1.00 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - 1.00 uqshl v0.8b, v0.8b, #3 @@ -3113,8 +3010,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - 1.00 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - 1.00 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uqsub s16, s21, s6 # CHECK-NEXT: - - - - - - - - 0.50 0.50 uqsub d16, d16, d16 # CHECK-NEXT: - - - - - - - - 0.50 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: - - - - - - - - - 1.00 uqxtn b18, h18 # CHECK-NEXT: - - - - - - - - - 1.00 uqxtn h20, s17 # CHECK-NEXT: - - - - - - - - - 1.00 uqxtn s19, d14 @@ -3129,7 +3028,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - 0.50 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - 0.50 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - 0.50 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - 0.50 0.50 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: - - - - - - - - - 1.00 urshl d8, d7, d4 +# CHECK-NEXT: - - - - - - - - - 1.00 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: - - - - - - - - - 1.00 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - 1.00 urshl v0.4s, v0.4s, v0.4s @@ -3153,10 +3054,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - 1.00 ursra v0.8h, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - 1.00 ushl d0, d0, d0 +# CHECK-NEXT: - - - - - - - - - 1.00 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: - - - - - - - - - 1.00 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - 1.00 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - 1.00 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: - - - - - - - - - 1.00 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: - - - - - - - - - 1.00 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: - - - - - - - - - 1.00 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: - - - - - - - - - 1.00 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: - - - - - - - - 0.50 0.50 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - 1.00 ushr v0.16b, v0.16b, #3 @@ -3166,6 +3072,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - 1.00 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - 1.00 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - 1.00 ushr v0.8h, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 smov x15, v3.s[0] +# CHECK-NEXT: - - - - - - - - - 1.00 smov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - 1.00 smov w0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - 1.00 smov x0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - 1.00 smov x0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - 1.00 smov x0, v0.s[1] # CHECK-NEXT: - - - - - - - - 0.50 0.50 usqadd b19, b14 # CHECK-NEXT: - - - - - - - - 0.50 0.50 usqadd d18, d22 # CHECK-NEXT: - - - - - - - - 0.50 0.50 usqadd h20, h15 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-bf16-instructions.s new file mode 100644 index 0000000000000..8af3a802aa7c1 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-bf16-instructions.s @@ -0,0 +1,56 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s + +# 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 3 1.00 bfcvt h0, s0 +# CHECK-NEXT: 1 4 1.00 bfcvtn v0.4h, v0.4s +# CHECK-NEXT: 1 4 1.00 bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: 1 2 0.50 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: 1 4 0.50 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 5 0.50 bfmmla v0.4s, v0.8h, v0.8h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N2UnitB +# CHECK-NEXT: [0.1] - N2UnitB +# CHECK-NEXT: [1.0] - N2UnitD +# CHECK-NEXT: [1.1] - N2UnitD +# CHECK-NEXT: [2] - N2UnitL2 +# CHECK-NEXT: [3.0] - N2UnitL01 +# CHECK-NEXT: [3.1] - N2UnitL01 +# CHECK-NEXT: [4] - N2UnitM0 +# CHECK-NEXT: [5] - N2UnitM1 +# CHECK-NEXT: [6.0] - N2UnitS +# CHECK-NEXT: [6.1] - N2UnitS +# CHECK-NEXT: [7] - N2UnitV0 +# CHECK-NEXT: [8] - N2UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 7.00 4.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvt h0, s0 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvtn v0.4h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-complxnum-instructions.s new file mode 100644 index 0000000000000..fdb8866fc2e6d --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-complxnum-instructions.s @@ -0,0 +1,42 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s + +# 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 2 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 2 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N2UnitB +# CHECK-NEXT: [0.1] - N2UnitB +# CHECK-NEXT: [1.0] - N2UnitD +# CHECK-NEXT: [1.1] - N2UnitD +# CHECK-NEXT: [2] - N2UnitL2 +# CHECK-NEXT: [3.0] - N2UnitL01 +# CHECK-NEXT: [3.1] - N2UnitL01 +# CHECK-NEXT: [4] - N2UnitM0 +# CHECK-NEXT: [5] - N2UnitM1 +# CHECK-NEXT: [6.0] - N2UnitS +# CHECK-NEXT: [6.1] - N2UnitS +# CHECK-NEXT: [7] - N2UnitV0 +# CHECK-NEXT: [8] - N2UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 2.00 2.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fp16fml-instructions.s new file mode 100644 index 0000000000000..4e955e39254ae --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fp16fml-instructions.s @@ -0,0 +1,66 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s + +# 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 2 0.50 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 5 0.50 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 5 0.50 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 5 0.50 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 5 0.50 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.4h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N2UnitB +# CHECK-NEXT: [0.1] - N2UnitB +# CHECK-NEXT: [1.0] - N2UnitD +# CHECK-NEXT: [1.1] - N2UnitD +# CHECK-NEXT: [2] - N2UnitL2 +# CHECK-NEXT: [3.0] - N2UnitL01 +# CHECK-NEXT: [3.1] - N2UnitL01 +# CHECK-NEXT: [4] - N2UnitM0 +# CHECK-NEXT: [5] - N2UnitM1 +# CHECK-NEXT: [6.0] - N2UnitS +# CHECK-NEXT: [6.1] - N2UnitS +# CHECK-NEXT: [7] - N2UnitV0 +# CHECK-NEXT: [8] - N2UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 8.00 8.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fptoint-instructions.s new file mode 100644 index 0000000000000..7eb5a3dd4df23 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-fptoint-instructions.s @@ -0,0 +1,58 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s + +# 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 3 1.00 frint32x v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N2UnitB +# CHECK-NEXT: [0.1] - N2UnitB +# CHECK-NEXT: [1.0] - N2UnitD +# CHECK-NEXT: [1.1] - N2UnitD +# CHECK-NEXT: [2] - N2UnitL2 +# CHECK-NEXT: [3.0] - N2UnitL01 +# CHECK-NEXT: [3.1] - N2UnitL01 +# CHECK-NEXT: [4] - N2UnitM0 +# CHECK-NEXT: [5] - N2UnitM1 +# CHECK-NEXT: [6.0] - N2UnitS +# CHECK-NEXT: [6.1] - N2UnitS +# CHECK-NEXT: [7] - N2UnitV0 +# CHECK-NEXT: [8] - N2UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 16.00 - + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-i8mm-instructions.s new file mode 100644 index 0000000000000..90c5fbf86f6dd --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-i8mm-instructions.s @@ -0,0 +1,52 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s + +# 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 3 0.50 smmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 usmmla v0.4s, v0.16b, v0.16b + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N2UnitB +# CHECK-NEXT: [0.1] - N2UnitB +# CHECK-NEXT: [1.0] - N2UnitD +# CHECK-NEXT: [1.1] - N2UnitD +# CHECK-NEXT: [2] - N2UnitL2 +# CHECK-NEXT: [3.0] - N2UnitL01 +# CHECK-NEXT: [3.1] - N2UnitL01 +# CHECK-NEXT: [4] - N2UnitM0 +# CHECK-NEXT: [5] - N2UnitM1 +# CHECK-NEXT: [6.0] - N2UnitS +# CHECK-NEXT: [6.1] - N2UnitS +# CHECK-NEXT: [7] - N2UnitV0 +# CHECK-NEXT: [8] - N2UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 4.50 4.50 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usmmla v0.4s, v0.16b, v0.16b diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-neon-instructions.s index 13c1403f356ee..79aa6c6bf03d0 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-neon-instructions.s @@ -1,1073 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -instruction-tables < %s | FileCheck %s - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 v0.2d, v0.2d, v0.2d -addp v0.8b, v0.8b, v0.8b -and v0.8b, v0.8b, v0.8b -bic v0.4h, #15, lsl #8 -bic v0.8b, v0.8b, v0.8b -bif v0.16b, v0.16b, v0.16b -bit v0.16b, v0.16b, v0.16b -bsl v0.8b, v0.8b, v0.8b -cls v0.16b, v0.16b -cls v0.2s, v0.2s -cls v0.4h, v0.4h -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -clz v0.4h, v0.4h -clz v0.4s, v0.4s -clz v0.8b, v0.8b -clz v0.8h, v0.8h -cmeq d20, d21, 0 -cmeq d20, d21, d22 -cmeq v0.16b, v0.16b, 0 -cmeq v0.16b, v0.16b, v0.16b -cmge d20, d21, 0 -cmge d20, d21, d22 -cmge v0.4h, v0.4h, v0.4h -cmge v0.8b, v0.8b, 0 -cmgt d20, d21, 0 -cmgt d20, d21, d22 -cmgt v0.2s, v0.2s, 0 -cmgt v0.4s, v0.4s, v0.4s -cmhi d20, d21, d22 -cmhi v0.8h, v0.8h, v0.8h -cmhs d20, d21, d22 -cmhs v0.8b, v0.8b, v0.8b -cmle d20, d21, 0 -cmle v0.2d, v0.2d, 0 -cmlt d20, d21, 0 -cmlt v0.8h, v0.8h, 0 -cmtst d20, d21, d22 -cmtst v0.2s, v0.2s, v0.2s -cnt v0.16b, v0.16b -cnt v0.8b, v0.8b -dup v0.16b,w28 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -eor v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, v0.4s -fabs v0.2d, v0.2d -fabs v0.2s, v0.2s -fabs v0.4h, v0.4h -fabs v0.4s, v0.4s -fabs v0.8h, v0.8h -facge d20, d21, d22 -facge s10, s11, s12 -facge v0.4s, v0.4s, v0.4s -facgt d20, d21, d22 -facgt s10, s11, s12 -facgt v0.2d, v0.2d, v0.2d -fadd v0.4s, v0.4s, v0.4s -faddp v0.2s, v0.2s, v0.2s -faddp v0.4s, v0.4s, v0.4s -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 -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 v0.4s, v0.4s, v0.4s -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 -fcmle d20, d21, #0.0 -fcmle s10, s11, #0.0 -fcmle v0.2d, v0.2d, #0.0 -fcmlt d20, d21, #0.0 -fcmlt s10, s11, #0.0 -fcmlt v0.4s, v0.4s, #0.0 -fcvtas d21, d14 -fcvtas s12, s13 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs v0.2d, v0.2d -fcvtzs v0.2d, v0.2d, #3 -fcvtzs v0.2s, v0.2s -fcvtzs v0.2s, v0.2s, #3 -fcvtzs v0.4h, v0.4h -fcvtzs v0.4s, v0.4s -fcvtzs v0.4s, v0.4s, #3 -fcvtzs v0.8h, v0.8h -fcvtzu d21, d12, #1 -fcvtzu d21, d14 -fcvtzu s12, s13 -fcvtzu s21, s12, #1 -fcvtzu v0.2d, v0.2d -fcvtzu v0.2d, v0.2d, #3 -fcvtzu v0.2s, v0.2s -fcvtzu v0.2s, v0.2s, #3 -fcvtzu v0.4h, v0.4h -fcvtzu v0.4s, v0.4s -fcvtzu v0.4s, v0.4s, #3 -fcvtzu v0.8h, v0.8h -fdiv v0.2s, v0.2s, v0.2s -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fmaxnmp v0.2s, v0.2s, v0.2s -fmaxnmp v0.4s, v0.4s, v0.4s -fmaxp v0.2d, v0.2d, v0.2d -fmaxp v0.2s, v0.2s, v0.2s -fmaxp v0.4s, v0.4s, v0.4s -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fminnmp v0.2s, v0.2s, v0.2s -fminnmp v0.4s, v0.4s, v0.4s -fminp v0.2d, v0.2d, v0.2d -fminp v0.2s, v0.2s, v0.2s -fminp v0.4s, v0.4s, v0.4s -fmla d0, d1, v0.d[1] -fmla s0, s1, v0.s[3] -fmla v0.2s, v0.2s, v0.2s -fmls d0, d4, v0.d[1] -fmls s3, s5, v0.s[3] -fmls v0.2s, v0.2s, v0.2s -fmov v0.2d, #-1.25 -fmov v0.2s, #13.0 -fmov v0.4s, #1.0 -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 s3, s5, v0.s[3] -fmulx v0.2d, v0.2d, v0.2d -fmulx v0.2s, v0.2s, v0.2s -fmulx v0.4s, v0.4s, v0.4s -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 d13, d13 -frecpe s19, s14 -frecpe v0.2d, v0.2d -frecpe v0.2s, v0.2s -frecpe v0.4h, v0.4h -frecpe v0.4s, v0.4s -frecpe v0.8h, v0.8h -frecps v0.4s, v0.4s, v0.4s -frecps d22, d30, d21 -frecps s21, s16, s13 -frecpx d16, d19 -frecpx s18, s10 -frinta v0.2d, v0.2d -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -frintz v0.2s, v0.2s -frintz v0.4h, v0.4h -frintz v0.4s, v0.4s -frintz v0.8h, v0.8h -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 -frsqrte v0.8h, v0.8h -frsqrts d8, d22, d18 -frsqrts s21, s5, s12 -frsqrts v0.2d, v0.2d, v0.2d -fsqrt v0.2d, v0.2d -fsqrt v0.2s, v0.2s -fsqrt v0.4h, v0.4h -fsqrt v0.4s, v0.4s -fsqrt v0.8h, v0.8h -fsub v0.2s, v0.2s, v0.2s -ld1 { v0.16b }, [x0] -ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -ld1 { v0.4s, v1.4s }, [sp], #32 -ld1 { v0.4s, v1.4s, v2.4s }, [sp] -ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -ld1 { v0.8h }, [x15], x2 -ld1 { v0.8h, v1.8h }, [x15] -ld1 { v0.b }[9], [x0] -ld1 { v0.b }[9], [x0], #1 -ld1r { v0.16b }, [x0] -ld1r { v0.16b }, [x0], #1 -ld1r { v0.8h }, [x15] -ld1r { v0.8h }, [x15], #2 -ld2 { v0.16b, v1.16b }, [x0], x1 -ld2 { v0.8b, v1.8b }, [x0] -ld2 { v0.h, v1.h }[7], [x15] -ld2 { v0.h, v1.h }[7], [x15], #4 -ld2r { v0.2d, v1.2d }, [x0] -ld2r { v0.2d, v1.2d }, [x0], #16 -ld2r { v0.4s, v1.4s }, [sp] -ld2r { v0.4s, v1.4s }, [sp], #8 -ld3 { v0.4h, v1.4h, v2.4h }, [x15] -ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -ld3 { v0.s, v1.s, v2.s }[3], [sp] -ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 -ld3r { v0.4h, v1.4h, v2.4h }, [x15] -ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 -ld3r { v0.8b, v1.8b, v2.8b }, [x0] -ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 -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 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 -ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 -mla v0.8b, v0.8b, v0.8b -mls v0.4h, v0.4h, v0.4h -mov b0, v0.b[15] -mov d6, v0.d[1] -mov h2, v0.h[5] -mov s17, v0.s[2] -mov v2.b[0], v0.b[0] -mov v2.h[1], v0.h[1] -mov v2.s[2], v0.s[2] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -mov v0.16b, v0.16b -mov v0.8b, v0.8b -movi d15, #0xff00ff00ff00ff -movi v0.16b, #31 -movi v0.2d, #0xff0000ff0000ffff -movi v0.2s, #8, msl #8 -movi v0.4s, #255, lsl #24 -movi v0.8b, #255 -mul v0.8b, v0.8b, v0.8b -mvni v0.2s, 0 -mvni v0.4s, #16, msl #16 -neg d29, d24 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -neg v0.8h, v0.8h -not v0.16b, v0.16b -not v0.8b, v0.8b -orn v0.16b, v0.16b, v0.16b -orr v0.16b, v0.16b, v0.16b -orr v0.8h, #31 -pmul v0.16b, v0.16b, v0.16b -pmul v0.8b, v0.8b, v0.8b -pmull v0.8h, v0.8b, v0.8b -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl v0.2d, v0.2s, v0.2s -sabdl v0.4s, v0.4h, v0.4h -sabdl v0.8h, v0.8b, v0.8b -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 d21, d12 -scvtf d21, d12, #64 -scvtf s22, s13 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -scvtf v0.2s, v0.2s, #3 -scvtf v0.4h, v0.4h -scvtf v0.4s, v0.4s -scvtf v0.4s, v0.4s, #3 -scvtf v0.8h, v0.8h -shadd v0.8b, v0.8b, v0.8b -shl d7, d10, #12 -shl v0.16b, v0.16b, #3 -shl v0.2d, v0.2d, #3 -shl v0.4h, v0.4h, #3 -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 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli d10, d14, #12 -sli v0.16b, v0.16b, #3 -sli v0.2d, v0.2d, #3 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxp v0.2s, v0.2s, v0.2s -smaxp v0.4h, v0.4h, v0.4h -smaxp v0.8b, v0.8b, v0.8b -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -smlal v0.2d, v0.2s, v0.2s -smlal v0.4s, v0.4h, v0.4h -smlal v0.8h, v0.8b, v0.8b -smlal2 v0.2d, v0.4s, v0.4s -smlal2 v0.4s, v0.8h, v0.8h -smlal2 v0.8h, v0.16b, v0.16b -smlsl v0.2d, v0.2s, v0.2s -smlsl v0.4s, v0.4h, v0.4h -smlsl v0.8h, v0.8b, v0.8b -smlsl2 v0.2d, v0.4s, v0.4s -smlsl2 v0.4s, v0.8h, v0.8h -smlsl2 v0.8h, v0.16b, v0.16b -smull v0.2d, v0.2s, v0.2s -smull v0.4s, v0.4h, v0.4h -smull v0.8h, v0.8b, v0.8b -smull2 v0.2d, v0.4s, v0.4s -smull2 v0.4s, v0.8h, v0.8h -smull2 v0.8h, v0.16b, v0.16b -sqabs b19, b14 -sqabs d18, d12 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -sqabs v0.4s, v0.4s -sqabs v0.8b, v0.8b -sqabs v0.8h, v0.8h -sqadd b20, b11, b15 -sqadd v0.16b, v0.16b, v0.16b -sqadd v0.2s, v0.2s, v0.2s -sqdmlal d19, s24, s12 -sqdmlal d8, s9, v0.s[1] -sqdmlal s0, h0, v0.h[3] -sqdmlal s17, h27, h12 -sqdmlal v0.2d, v0.2s, v0.2s -sqdmlal v0.4s, v0.4h, v0.4h -sqdmlal2 v0.2d, v0.4s, v0.4s -sqdmlal2 v0.4s, v0.8h, v0.8h -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 v0.4s, v0.4h, v0.4h -sqdmlsl2 v0.2d, v0.4s, v0.4s -sqdmlsl2 v0.4s, v0.8h, v0.8h -sqdmulh h10, h11, h12 -sqdmulh h7, h15, v0.h[3] -sqdmulh s15, s14, v0.s[1] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn b10, h13, #2 -sqrshrn h15, s10, #6 -sqrshrn s15, d12, #9 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -sqshl h13, h18, #11 -sqshl h3, h4, h15 -sqshl s14, s17, #22 -sqshl v0.16b, v0.16b, #3 -sqshl v0.2d, v0.2d, #3 -sqshl v0.2s, v0.2s, #3 -sqshl v0.2s, v0.2s, v0.2s -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 v0.2d, v0.2s, #3 -sshll2 v0.4s, v0.8h, #3 -sshr d15, d16, #12 -sshr v0.16b, v0.16b, #3 -sshr v0.2d, v0.2d, #3 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 { v0.16b }, [x0] -st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -st1 { v0.4s, v1.4s }, [sp], #32 -st1 { v0.4s, v1.4s, v2.4s }, [sp] -st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -st1 { v0.8h }, [x15], x2 -st1 { v0.8h, v1.8h }, [x15] -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 { v0.s, v1.s }[3], [sp] -st2 { v0.s, v1.s }[3], [sp], #8 -st3 { v0.4h, v1.4h, v2.4h }, [x15] -st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -st3 { v0.h, v1.h, v2.h }[7], [x15] -st3 { v0.h, v1.h, v2.h }[7], [x15], #6 -st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 -sub d15, d5, d16 -sub v0.2d, v0.2d, v0.2d -suqadd b19, b14 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -uabal v0.2d, v0.2s, v0.2s -uabal v0.4s, v0.4h, v0.4h -uabal v0.8h, v0.8b, v0.8b -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 -uabdl v0.2d, v0.2s, v0.2s -uabdl v0.4s, v0.4h, v0.4h -uabdl v0.8h, v0.8b, v0.8b -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 d21, d14 -ucvtf d21, d14, #64 -ucvtf s22, s13 -ucvtf s22, s13, #32 -ucvtf v0.2d, v0.2d -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -ucvtf v0.2s, v0.2s, #3 -ucvtf v0.4h, v0.4h -ucvtf v0.4s, v0.4s -ucvtf v0.4s, v0.4s, #3 -ucvtf v0.8h, v0.8h -uhadd v0.16b, v0.16b, v0.16b -uhadd v0.8h, v0.8h, v0.8h -uhsub v0.4s, v0.4s, v0.4s -umax v0.16b, v0.16b, v0.16b -umax v0.4s, v0.4s, v0.4s -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umin v0.2s, v0.2s, v0.2s -umin v0.4h, v0.4h, v0.4h -umin v0.8b, v0.8b, v0.8b -uminp v0.2s, v0.2s, v0.2s -uminp v0.4h, v0.4h, v0.4h -uminp v0.8b, v0.8b, v0.8b -umlal v0.2d, v0.2s, v0.2s -umlal v0.4s, v0.4h, v0.4h -umlal v0.8h, v0.8b, v0.8b -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 v0.4s, v0.4h, v0.4h -umlsl v0.8h, v0.8b, v0.8b -umlsl2 v0.2d, v0.4s, v0.4s -umlsl2 v0.4s, v0.8h, v0.8h -umlsl2 v0.8h, v0.16b, v0.16b -umull v0.2d, v0.2s, v0.2s -umull v0.4s, v0.4h, v0.4h -umull v0.8h, v0.8b, v0.8b -umull2 v0.2d, v0.4s, v0.4s -umull2 v0.4s, v0.8h, v0.8h -umull2 v0.8h, v0.16b, v0.16b -uqadd h0, h1, h5 -uqadd v0.8h, v0.8h, v0.8h -uqrshl b11, b20, b30 -uqrshl s23, s20, s16 -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 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, #3 -uqshl v0.4s, v0.4s, v0.4s -uqshl v0.8b, v0.8b, #3 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 d16, d16, d16 -uqsub v0.4h, v0.4h, v0.4h -uqxtn b18, h18 -uqxtn h20, s17 -uqxtn s19, d14 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl d8, d7, d4 -urshl v0.16b, v0.16b, v0.16b -urshl v0.2d, v0.2d, v0.2d -urshl v0.4s, v0.4s, v0.4s -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -ushl d0, d0, d0 -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 -ushll2 v0.8h, v0.16b, #3 -ushr d10, d17, #18 -ushr v0.16b, v0.16b, #3 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -ushr v0.4s, v0.4s, #3 -ushr v0.8b, v0.8b, #3 -ushr v0.8h, v0.8h, #3 -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n2 -mattr=+aes -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1094,14 +26,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: 1 2 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 addp d1, v14.2d +# CHECK-NEXT: 1 2 1.00 addv s0, v0.4s +# CHECK-NEXT: 1 2 1.00 addv h0, v0.4h +# CHECK-NEXT: 2 4 1.00 addv h0, v0.8h +# CHECK-NEXT: 2 4 1.00 addv b0, v0.8b +# CHECK-NEXT: 1 4 1.00 addv b0, v0.16b +# CHECK-NEXT: 1 2 0.50 aesd v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 aese v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 aesimc v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 and v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: 1 2 0.50 bic v23.8h, #101 # CHECK-NEXT: 1 2 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: 1 2 0.50 bic v24.2s, #70 +# CHECK-NEXT: 1 2 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: 1 2 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: 1 2 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: 1 2 0.50 cls v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cls v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 cls v0.4h, v0.4h @@ -1114,28 +63,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 clz v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 clz v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: 1 2 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: 1 2 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: 1 2 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: 1 2 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: 1 2 0.50 cmhi d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 cmhs d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: 1 2 0.50 cmle d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: 1 2 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: 1 2 0.50 cmlt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: 1 2 0.50 cmtst d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: 1 2 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: 1 3 3.00 dup v0.16b, w28 @@ -1145,12 +103,26 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 3.00 dup v0.4s, w28 # CHECK-NEXT: 1 3 3.00 dup v0.8b, w28 # CHECK-NEXT: 1 3 3.00 dup v0.8h, w28 +# CHECK-NEXT: 1 2 0.50 mov b0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 mov d0, v0.d[1] +# CHECK-NEXT: 1 2 0.50 mov h0, v0.h[1] +# CHECK-NEXT: 1 2 0.50 mov s0, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.16b, v0.b[1] +# CHECK-NEXT: 1 2 0.50 dup v0.2d, v0.d[1] +# CHECK-NEXT: 1 2 0.50 dup v0.2s, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.4h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 dup v0.4s, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.8b, v0.b[1] +# CHECK-NEXT: 1 2 0.50 dup v0.8h, v0.h[1] # CHECK-NEXT: 1 2 0.50 eor v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 ext v0.16b, v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.50 fabd d29, d24, d20 # CHECK-NEXT: 1 2 0.50 fabd s29, s24, s20 +# CHECK-NEXT: 1 2 0.50 fabd h27, h20, h17 +# CHECK-NEXT: 1 2 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: 1 2 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fabs h25, h7 # CHECK-NEXT: 1 2 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fabs v0.4h, v0.4h @@ -1158,39 +130,70 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 facge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facge s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facge h24, h26, h29 +# CHECK-NEXT: 1 2 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: 1 2 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: 1 2 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 facgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facgt s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facgt h0, h4, h10 # CHECK-NEXT: 1 2 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: 1 2 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: 1 2 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 faddp h10, v19.2h +# CHECK-NEXT: 1 2 0.50 faddp d11, v28.2d # CHECK-NEXT: 1 2 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: 1 2 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: 1 2 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: 1 2 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h1, h16, h12 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: 1 2 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: 1 2 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: 1 2 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: 1 2 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: 1 2 0.50 fcvtas d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtas s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtas h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtas v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtas v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtas v0.4h, v0.4h @@ -1198,6 +201,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtas v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtau d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtau s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtau h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtau v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtau v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtau v0.4h, v0.4h @@ -1209,6 +213,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtl2 v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtms d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtms s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtms h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtms v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtms v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtms v0.4h, v0.4h @@ -1216,6 +221,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtms v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtmu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtmu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtmu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtmu v0.4h, v0.4h @@ -1227,6 +233,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtn2 v0.8h, v0.4s # CHECK-NEXT: 1 2 0.50 fcvtns d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtns s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtns h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtns v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtns v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtns v0.4h, v0.4h @@ -1234,6 +241,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtns v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtnu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtnu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtnu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtnu v0.4h, v0.4h @@ -1241,6 +249,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtnu v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtps d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtps s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtps h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtps v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtps v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtps v0.4h, v0.4h @@ -1248,6 +257,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtps v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtpu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtpu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtpu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtpu v0.4h, v0.4h @@ -1260,75 +270,132 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fcvtzs d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtzs s12, s13 # CHECK-NEXT: 1 2 0.50 fcvtzs s21, s12, #1 +# CHECK-NEXT: 1 2 0.50 fcvtzs h21, h14 +# CHECK-NEXT: 1 2 0.50 fcvtzs h21, h12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: 1 2 0.50 fcvtzu d21, d12, #1 # CHECK-NEXT: 1 2 0.50 fcvtzu d21, d14 # CHECK-NEXT: 1 2 0.50 fcvtzu s12, s13 # CHECK-NEXT: 1 2 0.50 fcvtzu s21, s12, #1 +# CHECK-NEXT: 1 2 0.50 fcvtzu h12, h13 +# CHECK-NEXT: 1 2 0.50 fcvtzu h21, h12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fcvtzu v27.8h, v6.8h, #11 +# CHECK-NEXT: 2 15 15.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 2 10 10.00 fdiv v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 7 7.00 fdiv v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 2 10 10.00 fdiv v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 13 13.00 fdiv v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fmax v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmax v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: 1 2 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 fmaxnmv h0, v13.4h +# CHECK-NEXT: 2 6 1.00 fmaxnmv h12, v11.8h +# CHECK-NEXT: 1 4 0.50 fmaxnmv s28, v31.4s # CHECK-NEXT: 1 2 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: 1 2 0.50 fmaxp s6, v2.2s +# CHECK-NEXT: 1 4 0.50 fmaxv h0, v0.4h +# CHECK-NEXT: 2 6 1.00 fmaxv h0, v0.8h +# CHECK-NEXT: 1 4 0.50 fmaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 fmin v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmin v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: 1 2 0.50 fminnmp d15, v8.2d # CHECK-NEXT: 1 2 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 fminnmv h19, v25.4h +# CHECK-NEXT: 2 6 1.00 fminnmv h23, v17.8h +# CHECK-NEXT: 1 4 0.50 fminnmv s29, v17.4s # CHECK-NEXT: 1 2 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fminp h7, v10.2h +# CHECK-NEXT: 1 2 0.50 fminp s17, v7.2s +# CHECK-NEXT: 1 4 0.50 fminv h3, v30.4h +# CHECK-NEXT: 2 6 1.00 fminv h29, v12.8h +# CHECK-NEXT: 1 4 0.50 fminv s16, v19.4s # CHECK-NEXT: 1 4 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: 1 4 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: 1 4 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: 1 4 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: 1 4 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: 1 4 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: 1 4 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: 1 4 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: 1 4 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: 1 4 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: 1 2 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: 1 2 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: 1 2 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: 1 3 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: 1 3 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: 1 3 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: 1 3 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: 1 3 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: 1 3 0.50 fmul h28, h14, h3 # CHECK-NEXT: 1 3 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: 1 3 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: 1 2 0.50 fmulx d23, d11, d1 # CHECK-NEXT: 1 2 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: 1 3 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: 1 2 0.50 fmulx h20, h25, h0 # CHECK-NEXT: 1 3 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: 1 3 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: 1 3 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: 1 2 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 frecpe h20, h8 # CHECK-NEXT: 1 3 1.00 frecpe d13, d13 # CHECK-NEXT: 1 3 1.00 frecpe s19, s14 # CHECK-NEXT: 1 2 0.50 frecpe v0.2d, v0.2d @@ -1336,9 +403,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 frecps h29, h19, h8 +# CHECK-NEXT: 1 3 1.00 frecpx h18, h11 +# CHECK-NEXT: 1 4 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 frecps d22, d30, d21 # CHECK-NEXT: 1 2 0.50 frecps s21, s16, s13 +# CHECK-NEXT: 1 4 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: 1 3 1.00 frecpx d16, d19 # CHECK-NEXT: 1 3 1.00 frecpx s18, s10 # CHECK-NEXT: 1 3 1.00 frinta v0.2d, v0.2d @@ -1376,13 +447,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frintz v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frintz v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 frsqrte h23, h26 # CHECK-NEXT: 1 3 1.00 frsqrte d21, d12 # CHECK-NEXT: 1 3 1.00 frsqrte s22, s13 # CHECK-NEXT: 1 2 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frsqrte v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: 4 6 4.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: 1 2 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: 1 2 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -1391,52 +466,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 7 7.00 fsqrt v0.4h, v0.4h # CHECK-NEXT: 2 10 10.00 fsqrt v0.4s, v0.4s # CHECK-NEXT: 2 13 13.00 fsqrt v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: 1 2 0.50 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 6 1.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 6 0.67 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 7 1.33 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: 2 8 0.50 * ld1 { v0.b }[7], [x0] +# CHECK-NEXT: 3 8 0.50 * ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: 2 8 0.50 * ld1 { v18.h }[3], [x1] +# CHECK-NEXT: 2 8 0.50 * ld1 { v0.s }[1], [x15] +# CHECK-NEXT: 3 8 0.50 * ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: 2 8 0.50 * ld1 { v11.d }[0], [x13] # CHECK-NEXT: 2 6 0.33 * ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 6 0.67 * ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 8 0.50 * ld1 { v0.b }[9], [x0] # CHECK-NEXT: 3 8 0.50 * ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: 2 8 0.50 * ld1r { v0.16b }, [x0] +# CHECK-NEXT: 3 8 0.50 * ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: 2 8 0.50 * ld1r { v0.4s }, [x15] +# CHECK-NEXT: 2 8 0.50 * ld1r { v3.1d }, [x15] +# CHECK-NEXT: 3 8 0.50 * ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: 2 8 0.50 * ld1r { v18.2d }, [x0] +# CHECK-NEXT: 2 8 0.50 * ld1r { v8.8b }, [x23] +# CHECK-NEXT: 2 8 0.50 * ld1r { v28.4h }, [x9] +# CHECK-NEXT: 2 8 0.50 * ld1r { v3.8h }, [x16] +# CHECK-NEXT: 2 8 0.50 * ld1r { v10.2s }, [x20] +# CHECK-NEXT: 3 8 1.00 * ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: 4 8 1.00 * ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: 3 8 1.00 * ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: 4 8 1.00 * ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: 4 8 1.00 * ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: 3 8 1.00 * ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: 3 8 1.00 * ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: 3 8 1.00 * ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: 4 8 1.00 * ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: 3 8 1.00 * ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: 4 8 1.00 * ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: 3 8 0.50 * ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: 2 8 0.50 * ld1r { v0.8h }, [x15] # CHECK-NEXT: 3 8 0.50 * ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: 5 8 1.00 * ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 8 1.00 * ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: 3 8 1.00 * ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: 4 8 1.00 * ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: 4 8 1.00 * ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: 3 8 1.00 * ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 3 8 1.00 * ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: 4 8 1.00 * ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: 3 8 1.00 * ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: 3 8 1.00 * ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: 3 8 1.00 * ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: 3 8 1.00 * ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: 4 8 1.00 * ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: 3 8 1.00 * ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: 3 8 1.00 * ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: 5 8 1.50 * ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: 3 8 1.00 * ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: 4 8 1.00 * ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: 3 8 1.00 * ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: 4 8 1.00 * ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: 5 8 1.50 * ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: 7 8 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: 6 8 1.50 * ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: 5 8 1.50 * ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: 5 8 1.50 * ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: 5 8 1.50 * ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: 6 8 1.50 * ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: 7 8 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: 5 8 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: 6 8 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: 5 8 1.50 * ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: 5 8 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: 6 8 1.50 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 5 8 1.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 6 8 1.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: 5 8 1.50 * ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: 6 8 1.50 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: 5 8 1.50 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: 6 8 1.50 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: 5 8 1.50 * ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: 6 8 1.50 * ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: 7 8 2.00 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: 8 9 2.00 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: 7 8 2.00 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: 8 9 2.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 8 9 2.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 5 8 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: 6 8 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: 7 8 2.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 9 9 2.00 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: 7 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: 8 9 2.00 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: 7 8 2.00 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: 7 8 2.00 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: 8 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: 8 8 2.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: 7 8 2.00 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: 7 8 2.00 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: 8 8 2.00 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: 7 8 2.00 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: 7 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: 7 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: 8 8 2.00 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: 9 8 2.00 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 8 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: 7 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 8 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: 1 4 1.00 mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: 1 4 1.00 mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: 1 4 1.00 mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: 1 4 1.00 mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: 1 2 0.50 mov b0, v0.b[15] # CHECK-NEXT: 1 2 0.50 mov d6, v0.d[1] # CHECK-NEXT: 1 2 0.50 mov h2, v0.h[5] # CHECK-NEXT: 1 2 0.50 mov s17, v0.s[2] +# CHECK-NEXT: 1 2 0.50 mov w8, v8.s[0] +# CHECK-NEXT: 1 2 0.50 mov x30, v18.d[0] # CHECK-NEXT: 1 2 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: 1 2 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: 1 2 0.50 mov v2.s[2], v0.s[2] @@ -1449,11 +635,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mov v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: 1 2 0.50 movi v0.16b, #31 +# CHECK-NEXT: 1 2 0.50 movi v14.8h, #174 +# CHECK-NEXT: 1 2 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: 1 2 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: 1 2 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: 1 2 0.50 movi v19.2s, #226 +# CHECK-NEXT: 1 2 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: 1 2 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: 1 2 0.50 movi v0.8b, #255 # CHECK-NEXT: 1 4 1.00 mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: 1 4 1.00 mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: 1 4 1.00 mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: 1 4 1.00 mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: 1 4 1.00 mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: 1 4 1.00 mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: 1 2 0.50 mvni v9.4h, #237 +# CHECK-NEXT: 1 2 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: 1 2 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: 1 2 0.50 mvni v0.2s, #0 # CHECK-NEXT: 1 2 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: 1 2 0.50 neg d29, d24 @@ -1467,8 +666,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: 1 2 0.50 mov v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orr v9.4h, #18 # CHECK-NEXT: 1 2 0.50 orr v0.8h, #31 +# CHECK-NEXT: 1 2 0.50 orr v4.4s, #0 # CHECK-NEXT: 1 3 1.00 pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 3 1.00 pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 pmull v0.8h, v0.8b, v0.8b @@ -1513,6 +715,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -1537,12 +740,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 saddlp v0.4h, v0.8b # CHECK-NEXT: 1 2 0.50 saddlp v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddlp v0.8h, v0.16b +# CHECK-NEXT: 1 2 1.00 saddlv d0, v0.4s +# CHECK-NEXT: 1 2 1.00 saddlv s0, v0.4h +# CHECK-NEXT: 2 4 1.00 saddlv s0, v0.8h +# CHECK-NEXT: 2 4 1.00 saddlv h0, v0.8b +# CHECK-NEXT: 1 4 1.00 saddlv h0, v0.16b # CHECK-NEXT: 1 2 0.50 saddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: 1 2 0.50 saddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: 1 2 0.50 saddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: 1 2 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 2 0.50 scvtf h4, h8, #9 +# CHECK-NEXT: 1 2 0.50 scvtf h5, h14 # CHECK-NEXT: 1 2 0.50 scvtf d21, d12 # CHECK-NEXT: 1 2 0.50 scvtf d21, d12, #64 # CHECK-NEXT: 1 2 0.50 scvtf s22, s13 @@ -1554,22 +764,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 scvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: 4 6 4.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 scvtf v4.8h, v8.8h, #10 +# CHECK-NEXT: 1 3 0.50 sdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 sdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 sdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: 1 2 0.50 shl d7, d10, #12 +# CHECK-NEXT: 1 2 1.00 shl v23.8b, v18.8b, #6 # CHECK-NEXT: 1 2 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 2 1.00 shl v0.8h, v23.8h, #10 # CHECK-NEXT: 1 2 1.00 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: 1 2 1.00 shll v0.2d, v0.2s, #32 # CHECK-NEXT: 1 2 1.00 shll v0.4s, v0.4h, #16 # CHECK-NEXT: 1 2 1.00 shll v0.8h, v0.8b, #8 # CHECK-NEXT: 1 2 1.00 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: 1 2 1.00 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: 1 2 1.00 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: 1 2 1.00 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: 1 2 1.00 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: 1 2 1.00 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: 1 2 1.00 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: 1 2 1.00 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: 1 2 1.00 shll2 v0.8h, v0.16b, #8 @@ -1581,6 +794,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: 1 2 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: 1 2 0.50 sli d10, d14, #12 # CHECK-NEXT: 1 2 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sli v0.2d, v0.2d, #3 @@ -1592,32 +806,56 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: 1 2 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: 1 2 0.50 smaxp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 2 4 1.00 smaxv b0, v0.8b +# CHECK-NEXT: 2 4 2.00 smaxv b0, v0.16b +# CHECK-NEXT: 1 2 1.00 smaxv h0, v0.4h +# CHECK-NEXT: 2 4 1.00 smaxv h0, v0.8h +# CHECK-NEXT: 1 2 1.00 smaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 smin v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 smin v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 smin v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sminp v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sminp v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 sminp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 2 4 1.00 sminv b0, v0.8b +# CHECK-NEXT: 2 4 2.00 sminv b0, v0.16b +# CHECK-NEXT: 1 2 1.00 sminv h0, v0.4h +# CHECK-NEXT: 2 4 1.00 sminv h0, v0.8h +# CHECK-NEXT: 1 2 1.00 sminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: 1 4 1.00 smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: 1 4 1.00 smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: 1 4 1.00 smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlsl2 v0.8h, 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.50 sqabs b19, b14 # CHECK-NEXT: 1 2 0.50 sqabs d18, d12 @@ -1631,6 +869,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: 1 2 0.50 sqadd h12, h18, h10 # CHECK-NEXT: 1 2 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sqdmlal d19, s24, s12 @@ -1638,17 +877,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: 1 2 0.50 sqdmlal s17, h27, h12 # CHECK-NEXT: 1 4 1.00 sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: 1 4 1.00 sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: 1 4 1.00 sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: 1 4 1.00 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 1.00 sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: 1 2 0.50 sqdmlsl d12, s23, s13 # CHECK-NEXT: 1 4 1.00 sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: 1 4 1.00 sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: 1 2 0.50 sqdmlsl s14, h12, h25 # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: 1 4 1.00 sqdmulh h10, h11, h12 # CHECK-NEXT: 1 4 1.00 sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmulh s15, s14, v0.s[1] @@ -1674,6 +930,30 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 sqneg v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqneg v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlah h0, h1, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlah s0, s1, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah h0, h1, h2 +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4h, v1.4h, v2.4h +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.8h, v1.8h, v2.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlah s0, s1, s2 +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.2s, v1.2s, v2.2s +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4s, v1.4s, v2.4s +# CHECK-NEXT: 1 4 1.00 sqrdmlsh h0, h1, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh s0, s1, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh h0, h1, h2 +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4h, v1.4h, v2.4h +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.8h, v1.8h, v2.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlsh s0, s1, s2 +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.2s, v1.2s, v2.2s +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4s, v1.4s, v2.4s # CHECK-NEXT: 1 4 1.00 sqrdmulh h10, h11, h12 # CHECK-NEXT: 1 4 1.00 sqrdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqrdmulh s15, s14, v0.s[1] @@ -1685,6 +965,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 sqshl s17, s4, s23 +# CHECK-NEXT: 1 2 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: 1 2 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: 1 2 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 2 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 2 0.50 sqrshrn s15, d12, #9 @@ -1710,6 +993,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqshl h3, h4, h15 # CHECK-NEXT: 1 4 1.00 sqshl s14, s17, #22 # CHECK-NEXT: 1 4 1.00 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: 1 4 1.00 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: 1 4 1.00 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 1.00 sqshl v0.2s, v0.2s, v0.2s @@ -1806,8 +1090,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 1.00 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 1.00 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 1.00 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: 1 2 1.00 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: 1 2 1.00 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: 1 2 1.00 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: 1 2 1.00 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: 1 2 1.00 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: 1 2 0.50 sshr d15, d16, #12 # CHECK-NEXT: 1 2 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.2d, v0.2d, #3 @@ -1836,30 +1124,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 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: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 # 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: 3 2 0.50 * st1 { v0.8h }, [x15], x2 # CHECK-NEXT: 4 2 1.00 * st1 { v0.8h, v1.8h }, [x15] # 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 5 1.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: 6 6 1.50 * st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: 4 5 1.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 7 6 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 6 6 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: 4 5 1.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: 6 6 1.50 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 6 6 1.50 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 6 6 1.50 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 6 6 1.50 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 7 6 1.50 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 6 6 1.50 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 6 6 1.50 * 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 5 2.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: 6 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 6 6 1.50 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 6 6 1.50 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 6 4 1.50 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 6 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] # CHECK-NEXT: 7 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 +# CHECK-NEXT: 7 4 1.50 * st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: 1 2 0.50 sub d15, d5, d16 # CHECK-NEXT: 1 2 0.50 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: 1 2 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: 1 2 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: 1 2 0.50 suqadd b19, b14 # CHECK-NEXT: 1 2 0.50 suqadd d18, d22 # CHECK-NEXT: 1 2 0.50 suqadd h20, h15 @@ -1902,6 +1256,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: 1 4 1.00 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 uabal v0.8h, v0.8b, v0.8b @@ -1909,6 +1264,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: 1 2 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -1933,14 +1289,23 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uaddlp v0.4h, v0.8b # CHECK-NEXT: 1 2 0.50 uaddlp v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddlp v0.8h, v0.16b +# CHECK-NEXT: 1 2 1.00 uaddlv d0, v0.4s +# CHECK-NEXT: 1 2 1.00 uaddlv s0, v0.4h +# CHECK-NEXT: 2 4 1.00 uaddlv s0, v0.8h +# CHECK-NEXT: 2 4 1.00 uaddlv h0, v0.8b +# CHECK-NEXT: 1 4 1.00 uaddlv h0, v0.16b # CHECK-NEXT: 1 2 0.50 uaddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: 1 2 0.50 uaddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: 1 2 0.50 uaddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: 1 2 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 3 3.00 ucvtf h17, x12 +# CHECK-NEXT: 1 2 0.50 ucvtf h22, h16, #11 +# CHECK-NEXT: 1 2 0.50 ucvtf h7, h21 # CHECK-NEXT: 1 2 0.50 ucvtf d21, d14 # CHECK-NEXT: 1 2 0.50 ucvtf d21, d14, #64 +# CHECK-NEXT: 1 3 3.00 ucvtf s8, x0 # CHECK-NEXT: 1 2 0.50 ucvtf s22, s13 # CHECK-NEXT: 1 2 0.50 ucvtf s22, s13, #32 # CHECK-NEXT: 1 3 1.00 ucvtf v0.2d, v0.2d @@ -1950,9 +1315,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: 4 6 4.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 ucvtf v22.8h, v20.8h, #10 +# CHECK-NEXT: 1 3 0.50 udot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 udot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 udot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: 1 2 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umax v0.4s, v0.4s, v0.4s @@ -1960,37 +1332,69 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 umaxp v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umaxp v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umaxp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 2 4 1.00 umaxv b0, v0.8b +# CHECK-NEXT: 2 4 2.00 umaxv b0, v0.16b +# CHECK-NEXT: 1 2 1.00 umaxv h0, v0.4h +# CHECK-NEXT: 2 4 1.00 umaxv h0, v0.8h +# CHECK-NEXT: 1 2 1.00 umaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: 1 2 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: 1 2 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uminp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 2 4 1.00 uminv b0, v0.8b +# CHECK-NEXT: 2 4 2.00 uminv b0, v0.16b +# CHECK-NEXT: 1 2 1.00 uminv h0, v0.4h +# CHECK-NEXT: 2 4 1.00 uminv h0, v0.8h +# CHECK-NEXT: 1 2 1.00 uminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: 1 4 1.00 umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: 1 4 1.00 umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: 1 4 1.00 umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: 1 4 1.00 umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: 1 4 1.00 umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.8h, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 umov w6, v22.b[0] +# CHECK-NEXT: 1 2 0.50 umov w0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 umov w10, v25.h[0] +# CHECK-NEXT: 1 2 0.50 umov w0, v0.h[1] +# CHECK-NEXT: 1 2 0.50 mov w0, v0.s[1] +# CHECK-NEXT: 1 2 0.50 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.50 uqadd h0, h1, h5 +# CHECK-NEXT: 1 2 0.50 uqadd s0, s24, s30 # CHECK-NEXT: 1 2 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: 1 4 1.00 uqrshl b11, b20, b30 # CHECK-NEXT: 1 4 1.00 uqrshl s23, s20, s16 +# CHECK-NEXT: 1 4 1.00 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: 1 4 1.00 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 2 0.50 uqrshrn h12, s10, #14 @@ -2013,6 +1417,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 4 1.00 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: 1 4 1.00 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqshl v0.8b, v0.8b, #3 @@ -2027,8 +1432,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 uqsub s16, s21, s6 # CHECK-NEXT: 1 2 0.50 uqsub d16, d16, d16 # CHECK-NEXT: 1 2 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: 1 4 1.00 uqxtn b18, h18 # CHECK-NEXT: 1 4 1.00 uqxtn h20, s17 # CHECK-NEXT: 1 4 1.00 uqxtn s19, d14 @@ -2043,7 +1450,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: 1 4 1.00 urshl d8, d7, d4 +# CHECK-NEXT: 1 4 1.00 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: 1 4 1.00 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 urshl v0.4s, v0.4s, v0.4s @@ -2067,10 +1476,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 1.00 ursra v0.8h, v0.8h, #3 # CHECK-NEXT: 1 2 1.00 ushl d0, d0, d0 +# CHECK-NEXT: 1 2 1.00 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: 1 2 1.00 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 1.00 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: 1 2 1.00 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: 1 2 1.00 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: 1 2 1.00 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: 1 2 1.00 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: 1 2 1.00 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 ushr d10, d17, #18 # CHECK-NEXT: 1 2 1.00 ushr v0.16b, v0.16b, #3 @@ -2080,6 +1494,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.8h, v0.8h, #3 +# CHECK-NEXT: 1 2 0.50 U smov w15, v22.b[0] +# CHECK-NEXT: 1 2 0.50 U smov w26, v27.h[0] +# CHECK-NEXT: 1 2 0.50 U smov x21, v0.b[0] +# CHECK-NEXT: 1 2 0.50 U smov x9, v27.h[0] +# CHECK-NEXT: 1 2 0.50 U smov x15, v3.s[0] +# CHECK-NEXT: 1 2 0.50 smov w0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 smov w0, v0.h[1] +# CHECK-NEXT: 1 2 0.50 smov x0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 smov x0, v0.h[1] +# CHECK-NEXT: 1 2 0.50 smov x0, v0.s[1] # CHECK-NEXT: 1 2 0.50 usqadd b19, b14 # CHECK-NEXT: 1 2 0.50 usqadd d18, d22 # CHECK-NEXT: 1 2 0.50 usqadd h20, h15 @@ -2163,7 +1587,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] -# CHECK-NEXT: - - - - 26.67 52.17 52.17 32.75 7.75 7.75 7.75 712.00 621.00 +# CHECK-NEXT: - - - - 102.67 199.67 199.67 43.25 12.25 12.25 12.25 1102.50 948.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: @@ -2183,14 +1607,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp d1, v14.2d +# CHECK-NEXT: - - - - - - - - - - - - 1.00 addv s0, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - 1.00 addv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 addv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 addv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 addv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesd v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aese v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesimc v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 and v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v23.8h, #101 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v24.2s, #70 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cls v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cls v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cls v0.4h, v0.4h @@ -2203,28 +1644,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 clz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 clz v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhi d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhs d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmle d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmlt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmtst d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: - - - - - - - 3.00 - - - - - dup v0.16b, w28 @@ -2234,12 +1684,26 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - 3.00 - - - - - dup v0.4s, w28 # CHECK-NEXT: - - - - - - - 3.00 - - - - - dup v0.8b, w28 # CHECK-NEXT: - - - - - - - 3.00 - - - - - dup v0.8h, w28 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov b0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov d0, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov h0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov s0, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.16b, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.2d, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.2s, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.4h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.4s, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.8b, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.8h, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 eor v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ext v0.16b, v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd d29, d24, d20 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd s29, s24, s20 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd h27, h20, h17 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs h25, h7 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.4h, v0.4h @@ -2247,39 +1711,70 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge h24, h26, h29 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt h0, h4, h10 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp h10, v19.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp d11, v28.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge h1, h16, h12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtas d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtas s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtas h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtas v0.4h, v0.4h @@ -2287,6 +1782,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtas v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtau d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtau s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtau h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtau v0.4h, v0.4h @@ -2298,6 +1794,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtl2 v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtms d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtms s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtms h22, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtms v0.4h, v0.4h @@ -2305,6 +1802,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtms v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtmu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtmu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtmu h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtmu v0.4h, v0.4h @@ -2316,6 +1814,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtn2 v0.8h, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtns d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtns s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtns h22, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtns v0.4h, v0.4h @@ -2323,6 +1822,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtns v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtnu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtnu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtnu h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtnu v0.4h, v0.4h @@ -2330,6 +1830,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtnu v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtps d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtps s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtps h22, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtps v0.4h, v0.4h @@ -2337,6 +1838,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtps v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtpu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtpu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtpu h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtpu v0.4h, v0.4h @@ -2349,75 +1851,132 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs s12, s13 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs s21, s12, #1 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs h21, h14 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs h21, h12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 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: - - - - - - - - - - - 0.50 0.50 fcvtzu s12, s13 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu s21, s12, #1 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu h12, h13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu h21, h12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v27.8h, v6.8h, #11 +# CHECK-NEXT: - - - - - - - - - - - 15.00 - fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 10.00 - fdiv v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 7.00 - fdiv v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 10.00 - fdiv v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 13.00 - fdiv v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmv h0, v13.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fmaxnmv h12, v11.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmv s28, v31.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp s6, v2.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fmaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmin v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmin v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp d15, v8.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmv h19, v25.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fminnmv h23, v17.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmv s29, v17.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp h7, v10.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp s17, v7.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminv h3, v30.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fminv h29, v12.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminv s16, v19.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul h28, h14, h3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx d23, d11, d1 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx h20, h25, h0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe h20, h8 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe d13, d13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe s19, s14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecpe v0.2d, v0.2d @@ -2425,9 +1984,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - frecpe v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps h29, h19, h8 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpx h18, h11 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps d22, d30, d21 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps s21, s16, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpx d16, d19 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpx s18, s10 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frinta v0.2d, v0.2d @@ -2465,13 +2028,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frintz v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frintz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - frintz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte h23, h26 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte d21, d12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte s22, s13 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frsqrte v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: - - - - - - - - - - - 4.00 - frsqrte v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -2480,52 +2047,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 7.00 - fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 10.00 - fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 13.00 - fsqrt v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 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.00 1.00 1.00 0.25 0.25 0.25 0.25 - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: - - - - 1.33 1.33 1.33 - - - - - - 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: - - - - 1.33 1.33 1.33 - - - - - - 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: - - - - 1.33 1.33 1.33 - - - - - - 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: - - - - 1.33 1.33 1.33 - - - - - - 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.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - 1.33 1.33 1.33 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.50 0.50 ld1 { v0.b }[7], [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v18.h }[3], [x1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v0.s }[1], [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v11.d }[0], [x13] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v0.b }[9], [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v0.16b }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v0.4s }, [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v3.1d }, [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v18.2d }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v8.8b }, [x23] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v28.4h }, [x9] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v3.8h }, [x16] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v10.2s }, [x20] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.00 1.00 ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1r { v0.8h }, [x15] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 1.00 1.00 ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 1.00 1.00 ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 1.00 1.00 ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 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 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 1.50 1.50 ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 1.50 1.50 ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.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 2.00 2.00 ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.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 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 2.00 2.00 ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.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 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 2.00 2.00 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: - - - - - - - - - - - 1.00 - mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov b0, v0.b[15] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov d6, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov h2, v0.h[5] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov s17, v0.s[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov x30, v18.d[0] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v2.s[2], v0.s[2] @@ -2538,11 +2216,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.16b, #31 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v14.8h, #174 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v19.2s, #226 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.8b, #255 # CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v9.4h, #237 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 neg d29, d24 @@ -2556,8 +2247,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orr v9.4h, #18 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orr v0.8h, #31 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orr v4.4s, #0 # CHECK-NEXT: - - - - - - - - - - - 1.00 - pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - pmull v0.8h, v0.8b, v0.8b @@ -2602,6 +2296,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -2626,12 +2321,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddlp v0.4h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddlp v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddlp v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 saddlv d0, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - 1.00 saddlv s0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 saddlv s0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 saddlv h0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 saddlv h0, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf h5, h14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf d21, d12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf d21, d12, #64 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf s22, s13 @@ -2643,22 +2345,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: - - - - - - - - - - - 4.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v4.8h, v8.8h, #10 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shl d7, d10, #12 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v23.8b, v18.8b, #6 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.8h, v23.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.2d, v0.2s, #32 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.4s, v0.4h, #16 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.8h, v0.8b, #8 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.8h, v0.16b, #8 @@ -2670,6 +2375,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sli d10, d14, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.2d, v0.2d, #3 @@ -2681,32 +2387,56 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 smaxv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 smaxv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 smaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 smaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 smaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smin v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smin v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smin v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sminp v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sminp v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sminp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 sminv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 sminv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sminv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 sminv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v0.8h, 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.50 0.50 sqabs b19, b14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs d18, d12 @@ -2720,6 +2450,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd h12, h18, h10 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlal d19, s24, s12 @@ -2727,17 +2458,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlal s17, h27, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - 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: - - - - - - - - - - - 1.00 - sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlsl d12, s23, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqdmlsl s14, h12, h25 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh s15, s14, v0.s[1] @@ -2763,6 +2511,30 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqneg v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah h0, h1, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah s0, s1, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah h0, h1, h2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4h, v1.4h, v2.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.8h, v1.8h, v2.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah s0, s1, s2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.2s, v1.2s, v2.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4s, v1.4s, v2.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh h0, h1, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh s0, s1, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh h0, h1, h2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4h, v1.4h, v2.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.8h, v1.8h, v2.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh s0, s1, s2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.2s, v1.2s, v2.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4s, v1.4s, v2.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh s15, s14, v0.s[1] @@ -2774,6 +2546,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl s17, s4, s23 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqrshrn s15, d12, #9 @@ -2799,6 +2574,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl h3, h4, h15 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl s14, s17, #22 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.2s, v0.2s, v0.2s @@ -2895,8 +2671,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sshr d15, d16, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.2d, v0.2d, #3 @@ -2925,30 +2705,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 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.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 st1 { v0.4s, v1.4s }, [sp], #32 # 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.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: - - - - - 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.50 1.50 - - - - 1.50 1.50 st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: - - - - - 1.50 1.50 0.25 0.25 0.25 0.25 1.50 1.50 st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 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.50 1.50 - - - - 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: - - - - - 1.50 1.50 - - - - 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] # CHECK-NEXT: - - - - - 1.50 1.50 0.25 0.25 0.25 0.25 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 +# CHECK-NEXT: - - - - - 1.50 1.50 0.25 0.25 0.25 0.25 1.50 1.50 st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sub d15, d5, d16 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 suqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 suqadd h20, h15 @@ -2991,6 +2837,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal v0.8h, v0.8b, v0.8b @@ -2998,6 +2845,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -3022,14 +2870,23 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddlp v0.4h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddlp v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddlp v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaddlv d0, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaddlv s0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uaddlv s0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uaddlv h0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaddlv h0, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - 3.00 - - - - - ucvtf h17, x12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf h7, h21 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf d21, d14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf d21, d14, #64 +# CHECK-NEXT: - - - - - - - 3.00 - - - - - ucvtf s8, x0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf s22, s13 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf v0.2d, v0.2d @@ -3039,9 +2896,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: - - - - - - - - - - - 4.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v22.8h, v20.8h, #10 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umax v0.4s, v0.4s, v0.4s @@ -3049,37 +2913,69 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umaxp v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umaxp v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umaxp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 umaxv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 umaxv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 umaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 umaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 umaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uminv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 uminv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uminv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uminv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v0.8h, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umov w6, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umov w10, v25.h[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umov w0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov w0, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 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.50 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd s0, s24, s30 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl b11, b20, b30 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl s23, s20, s16 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqrshrn h12, s10, #14 @@ -3102,6 +2998,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.8b, v0.8b, #3 @@ -3116,8 +3013,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub s16, s21, s6 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub d16, d16, d16 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqxtn b18, h18 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqxtn h20, s17 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqxtn s19, d14 @@ -3132,7 +3031,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl d8, d7, d4 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.4s, v0.4s, v0.4s @@ -3156,10 +3057,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.8h, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl d0, d0, d0 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.16b, v0.16b, #3 @@ -3169,6 +3075,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.8h, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x15, v3.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov w0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x0, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd h20, h15 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-bf16-instructions.s new file mode 100644 index 0000000000000..02e547f75addc --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-bf16-instructions.s @@ -0,0 +1,56 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s + +# 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 3 1.00 bfcvt h0, s0 +# CHECK-NEXT: 2 4 2.00 bfcvtn v0.4h, v0.4s +# CHECK-NEXT: 2 4 2.00 bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: 1 2 0.50 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: 1 4 0.50 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 5 0.50 bfmmla v0.4s, v0.8h, v0.8h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N3UnitB +# CHECK-NEXT: [0.1] - N3UnitB +# CHECK-NEXT: [1.0] - N3UnitD +# CHECK-NEXT: [1.1] - N3UnitD +# CHECK-NEXT: [2] - N3UnitL2 +# CHECK-NEXT: [3.0] - N3UnitL01 +# CHECK-NEXT: [3.1] - N3UnitL01 +# CHECK-NEXT: [4] - N3UnitM0 +# CHECK-NEXT: [5] - N3UnitM1 +# CHECK-NEXT: [6.0] - N3UnitS +# CHECK-NEXT: [6.1] - N3UnitS +# CHECK-NEXT: [7] - N3UnitV0 +# CHECK-NEXT: [8] - N3UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 9.00 4.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 1.00 - bfcvt h0, s0 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - bfcvtn v0.4h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-complxnum-instructions.s new file mode 100644 index 0000000000000..6fab828dfb31f --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-complxnum-instructions.s @@ -0,0 +1,42 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s + +# 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 3 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 3 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N3UnitB +# CHECK-NEXT: [0.1] - N3UnitB +# CHECK-NEXT: [1.0] - N3UnitD +# CHECK-NEXT: [1.1] - N3UnitD +# CHECK-NEXT: [2] - N3UnitL2 +# CHECK-NEXT: [3.0] - N3UnitL01 +# CHECK-NEXT: [3.1] - N3UnitL01 +# CHECK-NEXT: [4] - N3UnitM0 +# CHECK-NEXT: [5] - N3UnitM1 +# CHECK-NEXT: [6.0] - N3UnitS +# CHECK-NEXT: [6.1] - N3UnitS +# CHECK-NEXT: [7] - N3UnitV0 +# CHECK-NEXT: [8] - N3UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 2.00 2.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fp16fml-instructions.s new file mode 100644 index 0000000000000..394599140b481 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fp16fml-instructions.s @@ -0,0 +1,66 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s + +# 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 2 0.50 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 2 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 2 0.50 fmlsl2 v0.4s, v0.4h, v0.4h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N3UnitB +# CHECK-NEXT: [0.1] - N3UnitB +# CHECK-NEXT: [1.0] - N3UnitD +# CHECK-NEXT: [1.1] - N3UnitD +# CHECK-NEXT: [2] - N3UnitL2 +# CHECK-NEXT: [3.0] - N3UnitL01 +# CHECK-NEXT: [3.1] - N3UnitL01 +# CHECK-NEXT: [4] - N3UnitM0 +# CHECK-NEXT: [5] - N3UnitM1 +# CHECK-NEXT: [6.0] - N3UnitS +# CHECK-NEXT: [6.1] - N3UnitS +# CHECK-NEXT: [7] - N3UnitV0 +# CHECK-NEXT: [8] - N3UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 8.00 8.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fptoint-instructions.s new file mode 100644 index 0000000000000..d7958c7c0cee0 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-fptoint-instructions.s @@ -0,0 +1,58 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s + +# 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 3 1.00 frint32x v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N3UnitB +# CHECK-NEXT: [0.1] - N3UnitB +# CHECK-NEXT: [1.0] - N3UnitD +# CHECK-NEXT: [1.1] - N3UnitD +# CHECK-NEXT: [2] - N3UnitL2 +# CHECK-NEXT: [3.0] - N3UnitL01 +# CHECK-NEXT: [3.1] - N3UnitL01 +# CHECK-NEXT: [4] - N3UnitM0 +# CHECK-NEXT: [5] - N3UnitM1 +# CHECK-NEXT: [6.0] - N3UnitS +# CHECK-NEXT: [6.1] - N3UnitS +# CHECK-NEXT: [7] - N3UnitV0 +# CHECK-NEXT: [8] - N3UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 16.00 - + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-i8mm-instructions.s new file mode 100644 index 0000000000000..1ff0ebaf136bc --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-i8mm-instructions.s @@ -0,0 +1,52 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s + +# 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 3 0.50 smmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 usmmla v0.4s, v0.16b, v0.16b + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - N3UnitB +# CHECK-NEXT: [0.1] - N3UnitB +# CHECK-NEXT: [1.0] - N3UnitD +# CHECK-NEXT: [1.1] - N3UnitD +# CHECK-NEXT: [2] - N3UnitL2 +# CHECK-NEXT: [3.0] - N3UnitL01 +# CHECK-NEXT: [3.1] - N3UnitL01 +# CHECK-NEXT: [4] - N3UnitM0 +# CHECK-NEXT: [5] - N3UnitM1 +# CHECK-NEXT: [6.0] - N3UnitS +# CHECK-NEXT: [6.1] - N3UnitS +# CHECK-NEXT: [7] - N3UnitV0 +# CHECK-NEXT: [8] - N3UnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] +# CHECK-NEXT: - - - - - - - - - - - 4.50 4.50 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usmmla v0.4s, v0.16b, v0.16b diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s index 2f7563df9a7d9..d25122b474de5 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-neon-instructions.s @@ -1,1073 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -instruction-tables < %s | FileCheck %s - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 v0.2d, v0.2d, v0.2d -addp v0.8b, v0.8b, v0.8b -and v0.8b, v0.8b, v0.8b -bic v0.4h, #15, lsl #8 -bic v0.8b, v0.8b, v0.8b -bif v0.16b, v0.16b, v0.16b -bit v0.16b, v0.16b, v0.16b -bsl v0.8b, v0.8b, v0.8b -cls v0.16b, v0.16b -cls v0.2s, v0.2s -cls v0.4h, v0.4h -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -clz v0.4h, v0.4h -clz v0.4s, v0.4s -clz v0.8b, v0.8b -clz v0.8h, v0.8h -cmeq d20, d21, 0 -cmeq d20, d21, d22 -cmeq v0.16b, v0.16b, 0 -cmeq v0.16b, v0.16b, v0.16b -cmge d20, d21, 0 -cmge d20, d21, d22 -cmge v0.4h, v0.4h, v0.4h -cmge v0.8b, v0.8b, 0 -cmgt d20, d21, 0 -cmgt d20, d21, d22 -cmgt v0.2s, v0.2s, 0 -cmgt v0.4s, v0.4s, v0.4s -cmhi d20, d21, d22 -cmhi v0.8h, v0.8h, v0.8h -cmhs d20, d21, d22 -cmhs v0.8b, v0.8b, v0.8b -cmle d20, d21, 0 -cmle v0.2d, v0.2d, 0 -cmlt d20, d21, 0 -cmlt v0.8h, v0.8h, 0 -cmtst d20, d21, d22 -cmtst v0.2s, v0.2s, v0.2s -cnt v0.16b, v0.16b -cnt v0.8b, v0.8b -dup v0.16b,w28 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -eor v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, v0.4s -fabs v0.2d, v0.2d -fabs v0.2s, v0.2s -fabs v0.4h, v0.4h -fabs v0.4s, v0.4s -fabs v0.8h, v0.8h -facge d20, d21, d22 -facge s10, s11, s12 -facge v0.4s, v0.4s, v0.4s -facgt d20, d21, d22 -facgt s10, s11, s12 -facgt v0.2d, v0.2d, v0.2d -fadd v0.4s, v0.4s, v0.4s -faddp v0.2s, v0.2s, v0.2s -faddp v0.4s, v0.4s, v0.4s -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 -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 v0.4s, v0.4s, v0.4s -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 -fcmle d20, d21, #0.0 -fcmle s10, s11, #0.0 -fcmle v0.2d, v0.2d, #0.0 -fcmlt d20, d21, #0.0 -fcmlt s10, s11, #0.0 -fcmlt v0.4s, v0.4s, #0.0 -fcvtas d21, d14 -fcvtas s12, s13 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs v0.2d, v0.2d -fcvtzs v0.2d, v0.2d, #3 -fcvtzs v0.2s, v0.2s -fcvtzs v0.2s, v0.2s, #3 -fcvtzs v0.4h, v0.4h -fcvtzs v0.4s, v0.4s -fcvtzs v0.4s, v0.4s, #3 -fcvtzs v0.8h, v0.8h -fcvtzu d21, d12, #1 -fcvtzu d21, d14 -fcvtzu s12, s13 -fcvtzu s21, s12, #1 -fcvtzu v0.2d, v0.2d -fcvtzu v0.2d, v0.2d, #3 -fcvtzu v0.2s, v0.2s -fcvtzu v0.2s, v0.2s, #3 -fcvtzu v0.4h, v0.4h -fcvtzu v0.4s, v0.4s -fcvtzu v0.4s, v0.4s, #3 -fcvtzu v0.8h, v0.8h -fdiv v0.2s, v0.2s, v0.2s -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fmaxnmp v0.2s, v0.2s, v0.2s -fmaxnmp v0.4s, v0.4s, v0.4s -fmaxp v0.2d, v0.2d, v0.2d -fmaxp v0.2s, v0.2s, v0.2s -fmaxp v0.4s, v0.4s, v0.4s -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fminnmp v0.2s, v0.2s, v0.2s -fminnmp v0.4s, v0.4s, v0.4s -fminp v0.2d, v0.2d, v0.2d -fminp v0.2s, v0.2s, v0.2s -fminp v0.4s, v0.4s, v0.4s -fmla d0, d1, v0.d[1] -fmla s0, s1, v0.s[3] -fmla v0.2s, v0.2s, v0.2s -fmls d0, d4, v0.d[1] -fmls s3, s5, v0.s[3] -fmls v0.2s, v0.2s, v0.2s -fmov v0.2d, #-1.25 -fmov v0.2s, #13.0 -fmov v0.4s, #1.0 -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 s3, s5, v0.s[3] -fmulx v0.2d, v0.2d, v0.2d -fmulx v0.2s, v0.2s, v0.2s -fmulx v0.4s, v0.4s, v0.4s -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 d13, d13 -frecpe s19, s14 -frecpe v0.2d, v0.2d -frecpe v0.2s, v0.2s -frecpe v0.4h, v0.4h -frecpe v0.4s, v0.4s -frecpe v0.8h, v0.8h -frecps v0.4s, v0.4s, v0.4s -frecps d22, d30, d21 -frecps s21, s16, s13 -frecpx d16, d19 -frecpx s18, s10 -frinta v0.2d, v0.2d -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -frintz v0.2s, v0.2s -frintz v0.4h, v0.4h -frintz v0.4s, v0.4s -frintz v0.8h, v0.8h -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 -frsqrte v0.8h, v0.8h -frsqrts d8, d22, d18 -frsqrts s21, s5, s12 -frsqrts v0.2d, v0.2d, v0.2d -fsqrt v0.2d, v0.2d -fsqrt v0.2s, v0.2s -fsqrt v0.4h, v0.4h -fsqrt v0.4s, v0.4s -fsqrt v0.8h, v0.8h -fsub v0.2s, v0.2s, v0.2s -ld1 { v0.16b }, [x0] -ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -ld1 { v0.4s, v1.4s }, [sp], #32 -ld1 { v0.4s, v1.4s, v2.4s }, [sp] -ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -ld1 { v0.8h }, [x15], x2 -ld1 { v0.8h, v1.8h }, [x15] -ld1 { v0.b }[9], [x0] -ld1 { v0.b }[9], [x0], #1 -ld1r { v0.16b }, [x0] -ld1r { v0.16b }, [x0], #1 -ld1r { v0.8h }, [x15] -ld1r { v0.8h }, [x15], #2 -ld2 { v0.16b, v1.16b }, [x0], x1 -ld2 { v0.8b, v1.8b }, [x0] -ld2 { v0.h, v1.h }[7], [x15] -ld2 { v0.h, v1.h }[7], [x15], #4 -ld2r { v0.2d, v1.2d }, [x0] -ld2r { v0.2d, v1.2d }, [x0], #16 -ld2r { v0.4s, v1.4s }, [sp] -ld2r { v0.4s, v1.4s }, [sp], #8 -ld3 { v0.4h, v1.4h, v2.4h }, [x15] -ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -ld3 { v0.s, v1.s, v2.s }[3], [sp] -ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 -ld3r { v0.4h, v1.4h, v2.4h }, [x15] -ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 -ld3r { v0.8b, v1.8b, v2.8b }, [x0] -ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 -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 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 -ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 -mla v0.8b, v0.8b, v0.8b -mls v0.4h, v0.4h, v0.4h -mov b0, v0.b[15] -mov d6, v0.d[1] -mov h2, v0.h[5] -mov s17, v0.s[2] -mov v2.b[0], v0.b[0] -mov v2.h[1], v0.h[1] -mov v2.s[2], v0.s[2] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -mov v0.16b, v0.16b -mov v0.8b, v0.8b -movi d15, #0xff00ff00ff00ff -movi v0.16b, #31 -movi v0.2d, #0xff0000ff0000ffff -movi v0.2s, #8, msl #8 -movi v0.4s, #255, lsl #24 -movi v0.8b, #255 -mul v0.8b, v0.8b, v0.8b -mvni v0.2s, 0 -mvni v0.4s, #16, msl #16 -neg d29, d24 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -neg v0.8h, v0.8h -not v0.16b, v0.16b -not v0.8b, v0.8b -orn v0.16b, v0.16b, v0.16b -orr v0.16b, v0.16b, v0.16b -orr v0.8h, #31 -pmul v0.16b, v0.16b, v0.16b -pmul v0.8b, v0.8b, v0.8b -pmull v0.8h, v0.8b, v0.8b -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl v0.2d, v0.2s, v0.2s -sabdl v0.4s, v0.4h, v0.4h -sabdl v0.8h, v0.8b, v0.8b -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 d21, d12 -scvtf d21, d12, #64 -scvtf s22, s13 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -scvtf v0.2s, v0.2s, #3 -scvtf v0.4h, v0.4h -scvtf v0.4s, v0.4s -scvtf v0.4s, v0.4s, #3 -scvtf v0.8h, v0.8h -shadd v0.8b, v0.8b, v0.8b -shl d7, d10, #12 -shl v0.16b, v0.16b, #3 -shl v0.2d, v0.2d, #3 -shl v0.4h, v0.4h, #3 -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 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli d10, d14, #12 -sli v0.16b, v0.16b, #3 -sli v0.2d, v0.2d, #3 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxp v0.2s, v0.2s, v0.2s -smaxp v0.4h, v0.4h, v0.4h -smaxp v0.8b, v0.8b, v0.8b -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -smlal v0.2d, v0.2s, v0.2s -smlal v0.4s, v0.4h, v0.4h -smlal v0.8h, v0.8b, v0.8b -smlal2 v0.2d, v0.4s, v0.4s -smlal2 v0.4s, v0.8h, v0.8h -smlal2 v0.8h, v0.16b, v0.16b -smlsl v0.2d, v0.2s, v0.2s -smlsl v0.4s, v0.4h, v0.4h -smlsl v0.8h, v0.8b, v0.8b -smlsl2 v0.2d, v0.4s, v0.4s -smlsl2 v0.4s, v0.8h, v0.8h -smlsl2 v0.8h, v0.16b, v0.16b -smull v0.2d, v0.2s, v0.2s -smull v0.4s, v0.4h, v0.4h -smull v0.8h, v0.8b, v0.8b -smull2 v0.2d, v0.4s, v0.4s -smull2 v0.4s, v0.8h, v0.8h -smull2 v0.8h, v0.16b, v0.16b -sqabs b19, b14 -sqabs d18, d12 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -sqabs v0.4s, v0.4s -sqabs v0.8b, v0.8b -sqabs v0.8h, v0.8h -sqadd b20, b11, b15 -sqadd v0.16b, v0.16b, v0.16b -sqadd v0.2s, v0.2s, v0.2s -sqdmlal d19, s24, s12 -sqdmlal d8, s9, v0.s[1] -sqdmlal s0, h0, v0.h[3] -sqdmlal s17, h27, h12 -sqdmlal v0.2d, v0.2s, v0.2s -sqdmlal v0.4s, v0.4h, v0.4h -sqdmlal2 v0.2d, v0.4s, v0.4s -sqdmlal2 v0.4s, v0.8h, v0.8h -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 v0.4s, v0.4h, v0.4h -sqdmlsl2 v0.2d, v0.4s, v0.4s -sqdmlsl2 v0.4s, v0.8h, v0.8h -sqdmulh h10, h11, h12 -sqdmulh h7, h15, v0.h[3] -sqdmulh s15, s14, v0.s[1] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn b10, h13, #2 -sqrshrn h15, s10, #6 -sqrshrn s15, d12, #9 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -sqshl h13, h18, #11 -sqshl h3, h4, h15 -sqshl s14, s17, #22 -sqshl v0.16b, v0.16b, #3 -sqshl v0.2d, v0.2d, #3 -sqshl v0.2s, v0.2s, #3 -sqshl v0.2s, v0.2s, v0.2s -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 v0.2d, v0.2s, #3 -sshll2 v0.4s, v0.8h, #3 -sshr d15, d16, #12 -sshr v0.16b, v0.16b, #3 -sshr v0.2d, v0.2d, #3 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 { v0.16b }, [x0] -st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -st1 { v0.4s, v1.4s }, [sp], #32 -st1 { v0.4s, v1.4s, v2.4s }, [sp] -st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -st1 { v0.8h }, [x15], x2 -st1 { v0.8h, v1.8h }, [x15] -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 { v0.s, v1.s }[3], [sp] -st2 { v0.s, v1.s }[3], [sp], #8 -st3 { v0.4h, v1.4h, v2.4h }, [x15] -st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -st3 { v0.h, v1.h, v2.h }[7], [x15] -st3 { v0.h, v1.h, v2.h }[7], [x15], #6 -st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 -sub d15, d5, d16 -sub v0.2d, v0.2d, v0.2d -suqadd b19, b14 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -uabal v0.2d, v0.2s, v0.2s -uabal v0.4s, v0.4h, v0.4h -uabal v0.8h, v0.8b, v0.8b -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 -uabdl v0.2d, v0.2s, v0.2s -uabdl v0.4s, v0.4h, v0.4h -uabdl v0.8h, v0.8b, v0.8b -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 d21, d14 -ucvtf d21, d14, #64 -ucvtf s22, s13 -ucvtf s22, s13, #32 -ucvtf v0.2d, v0.2d -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -ucvtf v0.2s, v0.2s, #3 -ucvtf v0.4h, v0.4h -ucvtf v0.4s, v0.4s -ucvtf v0.4s, v0.4s, #3 -ucvtf v0.8h, v0.8h -uhadd v0.16b, v0.16b, v0.16b -uhadd v0.8h, v0.8h, v0.8h -uhsub v0.4s, v0.4s, v0.4s -umax v0.16b, v0.16b, v0.16b -umax v0.4s, v0.4s, v0.4s -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umin v0.2s, v0.2s, v0.2s -umin v0.4h, v0.4h, v0.4h -umin v0.8b, v0.8b, v0.8b -uminp v0.2s, v0.2s, v0.2s -uminp v0.4h, v0.4h, v0.4h -uminp v0.8b, v0.8b, v0.8b -umlal v0.2d, v0.2s, v0.2s -umlal v0.4s, v0.4h, v0.4h -umlal v0.8h, v0.8b, v0.8b -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 v0.4s, v0.4h, v0.4h -umlsl v0.8h, v0.8b, v0.8b -umlsl2 v0.2d, v0.4s, v0.4s -umlsl2 v0.4s, v0.8h, v0.8h -umlsl2 v0.8h, v0.16b, v0.16b -umull v0.2d, v0.2s, v0.2s -umull v0.4s, v0.4h, v0.4h -umull v0.8h, v0.8b, v0.8b -umull2 v0.2d, v0.4s, v0.4s -umull2 v0.4s, v0.8h, v0.8h -umull2 v0.8h, v0.16b, v0.16b -uqadd h0, h1, h5 -uqadd v0.8h, v0.8h, v0.8h -uqrshl b11, b20, b30 -uqrshl s23, s20, s16 -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 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, #3 -uqshl v0.4s, v0.4s, v0.4s -uqshl v0.8b, v0.8b, #3 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 d16, d16, d16 -uqsub v0.4h, v0.4h, v0.4h -uqxtn b18, h18 -uqxtn h20, s17 -uqxtn s19, d14 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl d8, d7, d4 -urshl v0.16b, v0.16b, v0.16b -urshl v0.2d, v0.2d, v0.2d -urshl v0.4s, v0.4s, v0.4s -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -ushl d0, d0, d0 -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 -ushll2 v0.8h, v0.16b, #3 -ushr d10, d17, #18 -ushr v0.16b, v0.16b, #3 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -ushr v0.4s, v0.4s, #3 -ushr v0.8b, v0.8b, #3 -ushr v0.8h, v0.8h, #3 -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-n3 -mattr=+aes -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1094,14 +26,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: 1 2 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 addp d1, v14.2d +# CHECK-NEXT: 1 3 1.00 addv s0, v0.4s +# CHECK-NEXT: 1 3 1.00 addv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 addv h0, v0.8h +# CHECK-NEXT: 2 5 1.00 addv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 addv b0, v0.16b +# CHECK-NEXT: 1 2 0.50 aesd v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 aese v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 aesimc v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 and v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: 1 2 0.50 bic v23.8h, #101 # CHECK-NEXT: 1 2 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: 1 2 0.50 bic v24.2s, #70 +# CHECK-NEXT: 1 2 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: 1 2 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: 1 2 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: 1 2 0.50 cls v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cls v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 cls v0.4h, v0.4h @@ -1114,28 +63,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 clz v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 clz v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: 1 2 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: 1 2 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: 1 2 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: 1 2 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: 1 2 0.50 cmhi d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 cmhs d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: 1 2 0.50 cmle d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: 1 2 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: 1 2 0.50 cmlt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: 1 2 0.50 cmtst d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: 1 2 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 dup v0.16b, w28 @@ -1145,12 +103,26 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 dup v0.4s, w28 # CHECK-NEXT: 1 3 1.00 dup v0.8b, w28 # CHECK-NEXT: 1 3 1.00 dup v0.8h, w28 +# CHECK-NEXT: 1 2 0.50 mov b0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 mov d0, v0.d[1] +# CHECK-NEXT: 1 2 0.50 mov h0, v0.h[1] +# CHECK-NEXT: 1 2 0.50 mov s0, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.16b, v0.b[1] +# CHECK-NEXT: 1 2 0.50 dup v0.2d, v0.d[1] +# CHECK-NEXT: 1 2 0.50 dup v0.2s, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.4h, v0.h[1] +# CHECK-NEXT: 1 2 0.50 dup v0.4s, v0.s[1] +# CHECK-NEXT: 1 2 0.50 dup v0.8b, v0.b[1] +# CHECK-NEXT: 1 2 0.50 dup v0.8h, v0.h[1] # CHECK-NEXT: 1 2 0.50 eor v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 ext v0.16b, v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.50 fabd d29, d24, d20 # CHECK-NEXT: 1 2 0.50 fabd s29, s24, s20 +# CHECK-NEXT: 1 2 0.50 fabd h27, h20, h17 +# CHECK-NEXT: 1 2 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: 1 2 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fabs h25, h7 # CHECK-NEXT: 1 2 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fabs v0.4h, v0.4h @@ -1158,39 +130,70 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 facge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facge s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facge h24, h26, h29 +# CHECK-NEXT: 1 2 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: 1 2 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: 1 2 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 facgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facgt s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facgt h0, h4, h10 # CHECK-NEXT: 1 2 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: 1 2 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: 1 2 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 faddp h10, v19.2h +# CHECK-NEXT: 1 3 0.50 faddp d11, v28.2d # CHECK-NEXT: 1 3 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: 1 2 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: 1 2 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: 1 2 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h1, h16, h12 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: 1 2 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: 1 2 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: 1 2 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: 1 2 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: 1 3 1.00 fcvtas d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtas s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtas h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtas v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtas v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtas v0.4h, v0.4h @@ -1198,6 +201,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtas v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtau d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtau s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtau h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtau v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtau v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtau v0.4h, v0.4h @@ -1209,6 +213,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtl2 v0.4s, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtms d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtms s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtms h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtms v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtms v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtms v0.4h, v0.4h @@ -1216,6 +221,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtms v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtmu d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtmu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtmu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtmu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtmu v0.4h, v0.4h @@ -1227,6 +233,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 fcvtn2 v0.8h, v0.4s # CHECK-NEXT: 1 3 1.00 fcvtns d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtns s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtns h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtns v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtns v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtns v0.4h, v0.4h @@ -1234,6 +241,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtns v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtnu d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtnu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtnu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtnu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtnu v0.4h, v0.4h @@ -1241,6 +249,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtnu v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtps d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtps s22, s13 +# CHECK-NEXT: 1 2 0.50 fcvtps h22, h13 # CHECK-NEXT: 1 3 1.00 fcvtps v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtps v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtps v0.4h, v0.4h @@ -1248,6 +257,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 6 4.00 fcvtps v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtpu d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtpu s12, s13 +# CHECK-NEXT: 1 2 0.50 fcvtpu h12, h13 # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtpu v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 fcvtpu v0.4h, v0.4h @@ -1260,75 +270,132 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtzs d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtzs s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtzs s21, s12, #1 +# CHECK-NEXT: 1 2 0.50 fcvtzs h21, h14 +# CHECK-NEXT: 1 2 0.50 fcvtzs h21, h12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4h, v0.4h +# CHECK-NEXT: 2 4 2.00 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: 1 3 1.00 fcvtzu d21, d12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzu d21, d14 # CHECK-NEXT: 1 3 1.00 fcvtzu s12, s13 # CHECK-NEXT: 1 3 1.00 fcvtzu s21, s12, #1 +# CHECK-NEXT: 1 2 0.50 fcvtzu h12, h13 +# CHECK-NEXT: 1 2 0.50 fcvtzu h21, h12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4h, v0.4h +# CHECK-NEXT: 2 4 2.00 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fcvtzu v27.8h, v6.8h, #11 +# CHECK-NEXT: 2 13 2.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 2 8 2.00 fdiv v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 4 8 4.00 fdiv v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 4 10 4.00 fdiv v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 8 12 8.00 fdiv v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fmax v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmax v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: 1 3 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: 1 3 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 4 1.00 fmaxnmv h0, v13.4h +# CHECK-NEXT: 3 6 1.50 fmaxnmv h12, v11.8h +# CHECK-NEXT: 2 4 1.00 fmaxnmv s28, v31.4s # CHECK-NEXT: 1 3 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: 1 3 0.50 fmaxp s6, v2.2s +# CHECK-NEXT: 2 4 1.00 fmaxv h0, v0.4h +# CHECK-NEXT: 3 6 1.50 fmaxv h0, v0.8h +# CHECK-NEXT: 2 4 1.00 fmaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 fmin v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmin v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: 1 3 0.50 fminnmp d15, v8.2d # CHECK-NEXT: 1 3 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 4 1.00 fminnmv h19, v25.4h +# CHECK-NEXT: 3 6 1.50 fminnmv h23, v17.8h +# CHECK-NEXT: 2 4 1.00 fminnmv s29, v17.4s # CHECK-NEXT: 1 3 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fminp h7, v10.2h +# CHECK-NEXT: 1 3 0.50 fminp s17, v7.2s +# CHECK-NEXT: 2 4 1.00 fminv h3, v30.4h +# CHECK-NEXT: 3 6 1.50 fminv h29, v12.8h +# CHECK-NEXT: 2 4 1.00 fminv s16, v19.4s # CHECK-NEXT: 1 4 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: 1 4 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: 1 4 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: 1 4 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: 1 4 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: 1 4 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: 1 4 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: 1 4 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 4 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: 1 4 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: 1 4 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: 1 2 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: 1 2 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: 1 2 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: 1 3 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: 1 3 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: 1 3 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: 1 3 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: 1 3 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: 1 3 0.50 fmul h28, h14, h3 # CHECK-NEXT: 1 3 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: 1 3 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: 1 3 0.50 fmulx d23, d11, d1 # CHECK-NEXT: 1 3 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: 1 3 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: 1 2 0.50 fmulx h20, h25, h0 # CHECK-NEXT: 1 3 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: 1 3 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: 1 3 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: 1 2 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 frecpe h20, h8 # CHECK-NEXT: 1 3 1.00 frecpe d13, d13 # CHECK-NEXT: 1 3 1.00 frecpe s19, s14 # CHECK-NEXT: 1 3 1.00 frecpe v0.2d, v0.2d @@ -1336,9 +403,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 frecps h29, h19, h8 +# CHECK-NEXT: 1 3 1.00 frecpx h18, h11 +# CHECK-NEXT: 1 4 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.50 frecps d22, d30, d21 # CHECK-NEXT: 1 4 0.50 frecps s21, s16, s13 +# CHECK-NEXT: 1 4 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: 1 3 1.00 frecpx d16, d19 # CHECK-NEXT: 1 3 1.00 frecpx s18, s10 # CHECK-NEXT: 1 3 1.00 frinta v0.2d, v0.2d @@ -1376,13 +447,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frintz v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frintz v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 frsqrte h23, h26 # CHECK-NEXT: 1 3 1.00 frsqrte d21, d12 # CHECK-NEXT: 1 3 1.00 frsqrte s22, s13 # CHECK-NEXT: 1 3 1.00 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frsqrte v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: 4 6 4.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: 1 4 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -1391,52 +466,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 4 8 4.00 fsqrt v0.4h, v0.4h # CHECK-NEXT: 4 10 4.00 fsqrt v0.4s, v0.4s # CHECK-NEXT: 8 12 8.00 fsqrt v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: 1 2 0.50 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 6 1.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 6 0.67 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 7 1.33 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: 2 8 0.50 * ld1 { v0.b }[7], [x0] +# CHECK-NEXT: 3 8 0.50 * ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: 2 8 0.50 * ld1 { v18.h }[3], [x1] +# CHECK-NEXT: 2 8 0.50 * ld1 { v0.s }[1], [x15] +# CHECK-NEXT: 3 8 0.50 * ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: 2 8 0.50 * ld1 { v11.d }[0], [x13] # CHECK-NEXT: 2 6 0.33 * ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 6 0.67 * ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 8 0.50 * ld1 { v0.b }[9], [x0] # CHECK-NEXT: 3 8 0.50 * ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: 1 6 0.33 * ld1r { v0.16b }, [x0] +# CHECK-NEXT: 2 6 0.33 * ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: 1 6 0.33 * ld1r { v0.4s }, [x15] +# CHECK-NEXT: 1 6 0.33 * ld1r { v3.1d }, [x15] +# CHECK-NEXT: 2 6 0.33 * ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: 1 6 0.33 * ld1r { v18.2d }, [x0] +# CHECK-NEXT: 1 6 0.33 * ld1r { v8.8b }, [x23] +# CHECK-NEXT: 1 6 0.33 * ld1r { v28.4h }, [x9] +# CHECK-NEXT: 1 6 0.33 * ld1r { v3.8h }, [x16] +# CHECK-NEXT: 1 6 0.33 * ld1r { v10.2s }, [x20] +# CHECK-NEXT: 2 8 0.50 * ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: 3 8 0.67 * ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: 2 8 0.50 * ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: 3 8 0.67 * ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: 3 8 0.67 * ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: 2 8 0.50 * ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: 2 8 0.50 * ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: 2 8 0.50 * ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: 3 8 0.67 * ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: 2 8 0.50 * ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: 3 8 0.50 * ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: 2 6 0.33 * ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: 1 6 0.33 * ld1r { v0.8h }, [x15] # CHECK-NEXT: 2 6 0.33 * ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: 4 8 0.67 * ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 2 8 0.50 * ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: 2 8 0.50 * ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: 3 8 0.50 * ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: 3 8 0.50 * ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: 2 6 0.67 * ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 2 6 0.67 * ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: 3 6 0.67 * ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: 2 6 0.67 * ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: 2 6 0.67 * ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: 2 6 0.67 * ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: 2 6 0.67 * ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: 3 6 0.67 * ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: 2 6 0.67 * ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: 2 6 0.67 * ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: 6 8 1.50 * ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: 6 10 1.50 * ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: 2 6 0.67 * ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: 3 6 0.67 * ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: 2 6 0.67 * ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: 3 6 0.67 * ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: 6 8 1.50 * ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: 7 10 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: 6 10 1.50 * ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: 6 8 1.50 * ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: 6 10 1.50 * ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: 6 8 1.50 * ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: 6 8 1.50 * ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: 6 10 1.50 * ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: 7 10 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: 6 8 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: 7 8 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: 6 8 1.50 * ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: 3 6 1.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: 3 6 1.00 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 3 6 1.00 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 4 6 1.00 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: 3 6 1.00 * ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: 3 6 1.00 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: 3 6 1.00 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 3 6 1.00 * ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: 4 6 1.00 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: 3 6 1.00 * ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: 3 6 1.00 * ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: 8 8 2.00 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: 8 8 2.00 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: 8 8 2.00 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: 8 8 2.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 8 8 2.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 3 6 1.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: 4 6 1.00 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: 8 8 2.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 9 8 2.00 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: 8 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: 8 8 2.00 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: 8 8 2.00 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: 8 8 2.00 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: 9 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: 9 8 2.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: 8 8 2.00 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: 7 8 1.50 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: 7 8 1.50 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: 7 8 1.50 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: 8 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 7 8 1.50 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: 7 8 1.50 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: 8 8 1.50 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: 7 8 1.50 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: 8 8 1.50 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 9 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: 7 8 1.50 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 8 8 1.50 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: 1 4 1.00 mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: 1 4 1.00 mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: 1 4 1.00 mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: 1 4 1.00 mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: 1 2 0.50 mov b0, v0.b[15] # CHECK-NEXT: 1 2 0.50 mov d6, v0.d[1] # CHECK-NEXT: 1 2 0.50 mov h2, v0.h[5] # CHECK-NEXT: 1 2 0.50 mov s17, v0.s[2] +# CHECK-NEXT: 1 2 0.50 mov w8, v8.s[0] +# CHECK-NEXT: 1 2 0.50 mov x30, v18.d[0] # CHECK-NEXT: 1 2 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: 1 2 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: 1 2 0.50 mov v2.s[2], v0.s[2] @@ -1449,11 +635,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 0 0.20 mov v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: 1 2 0.50 movi v0.16b, #31 +# CHECK-NEXT: 1 2 0.50 movi v14.8h, #174 +# CHECK-NEXT: 1 2 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: 1 2 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: 1 2 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: 1 2 0.50 movi v19.2s, #226 +# CHECK-NEXT: 1 2 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: 1 2 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: 1 2 0.50 movi v0.8b, #255 # CHECK-NEXT: 1 4 1.00 mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: 1 4 1.00 mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: 1 4 1.00 mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: 1 4 1.00 mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: 1 4 1.00 mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: 1 4 1.00 mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: 1 2 0.50 mvni v9.4h, #237 +# CHECK-NEXT: 1 2 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: 1 2 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: 1 2 0.50 mvni v0.2s, #0 # CHECK-NEXT: 1 2 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: 1 2 0.50 neg d29, d24 @@ -1467,8 +666,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: 1 0 0.20 mov v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orr v9.4h, #18 # CHECK-NEXT: 1 2 0.50 orr v0.8h, #31 +# CHECK-NEXT: 1 2 0.50 orr v4.4s, #0 # CHECK-NEXT: 1 2 1.00 pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 1.00 pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 1.00 pmull v0.8h, v0.8b, v0.8b @@ -1513,6 +715,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -1537,12 +740,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 saddlp v0.4h, v0.8b # CHECK-NEXT: 1 2 0.50 saddlp v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddlp v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 saddlv d0, v0.4s +# CHECK-NEXT: 1 3 1.00 saddlv s0, v0.4h +# CHECK-NEXT: 2 5 1.00 saddlv s0, v0.8h +# CHECK-NEXT: 2 5 1.00 saddlv h0, v0.8b +# CHECK-NEXT: 2 6 2.00 saddlv h0, v0.16b # CHECK-NEXT: 1 2 0.50 saddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: 1 2 0.50 saddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: 1 2 0.50 saddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: 1 2 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 2 0.50 scvtf h4, h8, #9 +# CHECK-NEXT: 1 2 0.50 scvtf h5, h14 # CHECK-NEXT: 1 3 1.00 scvtf d21, d12 # CHECK-NEXT: 1 3 1.00 scvtf d21, d12, #64 # CHECK-NEXT: 1 3 1.00 scvtf s22, s13 @@ -1554,22 +764,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 scvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: 4 6 4.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 scvtf v4.8h, v8.8h, #10 +# CHECK-NEXT: 1 3 0.50 sdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 sdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 sdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: 1 2 1.00 shl d7, d10, #12 +# CHECK-NEXT: 1 2 1.00 shl v23.8b, v18.8b, #6 # CHECK-NEXT: 1 2 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 1.00 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 2 1.00 shl v0.8h, v23.8h, #10 # CHECK-NEXT: 1 2 1.00 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: 1 2 1.00 shll v0.2d, v0.2s, #32 # CHECK-NEXT: 1 2 1.00 shll v0.4s, v0.4h, #16 # CHECK-NEXT: 1 2 1.00 shll v0.8h, v0.8b, #8 # CHECK-NEXT: 1 2 1.00 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: 1 2 1.00 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: 1 2 1.00 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: 1 2 1.00 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: 1 2 1.00 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: 1 2 1.00 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: 1 2 1.00 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: 1 2 1.00 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: 1 2 1.00 shll2 v0.8h, v0.16b, #8 @@ -1581,6 +794,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: 1 2 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: 1 2 1.00 sli d10, d14, #12 # CHECK-NEXT: 1 2 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sli v0.2d, v0.2d, #3 @@ -1592,32 +806,56 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: 1 2 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: 1 2 0.50 smaxp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 2 5 1.00 smaxv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 smaxv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 smaxv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 smaxv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 smaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 smin v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 smin v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 smin v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sminp v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sminp v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 sminp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 2 5 1.00 sminv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 sminv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 sminv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 sminv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 sminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: 1 4 1.00 smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: 1 4 1.00 smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: 1 4 1.00 smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: 1 4 1.00 smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: 1 4 1.00 smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: 1 4 1.00 smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: 1 4 1.00 smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqabs b19, b14 # CHECK-NEXT: 1 2 0.50 sqabs d18, d12 @@ -1631,6 +869,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: 1 2 0.50 sqadd h12, h18, h10 # CHECK-NEXT: 1 2 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqdmlal d19, s24, s12 @@ -1638,17 +877,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlal s17, h27, h12 # CHECK-NEXT: 1 4 1.00 sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: 1 4 1.00 sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: 1 4 1.00 sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: 1 4 1.00 sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: 1 4 1.00 sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: 1 4 1.00 sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: 1 4 1.00 sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: 1 4 1.00 sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: 1 4 1.00 sqdmlsl d12, s23, s13 # CHECK-NEXT: 1 4 1.00 sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: 1 4 1.00 sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlsl s14, h12, h25 # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: 1 4 1.00 sqdmulh h10, h11, h12 # CHECK-NEXT: 1 4 1.00 sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmulh s15, s14, v0.s[1] @@ -1674,6 +930,30 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 sqneg v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqneg v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlah h0, h1, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlah s0, s1, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlah h0, h1, h2 +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4h, v1.4h, v2.4h +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.8h, v1.8h, v2.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlah s0, s1, s2 +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.2s, v1.2s, v2.2s +# CHECK-NEXT: 1 4 1.00 sqrdmlah v0.4s, v1.4s, v2.4s +# CHECK-NEXT: 1 4 1.00 sqrdmlsh h0, h1, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh s0, s1, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: 1 4 1.00 sqrdmlsh h0, h1, h2 +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4h, v1.4h, v2.4h +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.8h, v1.8h, v2.8h +# CHECK-NEXT: 1 4 1.00 sqrdmlsh s0, s1, s2 +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.2s, v1.2s, v2.2s +# CHECK-NEXT: 1 4 1.00 sqrdmlsh v0.4s, v1.4s, v2.4s # CHECK-NEXT: 1 4 1.00 sqrdmulh h10, h11, h12 # CHECK-NEXT: 1 4 1.00 sqrdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqrdmulh s15, s14, v0.s[1] @@ -1685,6 +965,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 sqshl s17, s4, s23 +# CHECK-NEXT: 1 2 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: 1 2 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: 1 4 1.00 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 4 1.00 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 4 1.00 sqrshrn s15, d12, #9 @@ -1710,6 +993,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqshl h3, h4, h15 # CHECK-NEXT: 1 4 1.00 sqshl s14, s17, #22 # CHECK-NEXT: 1 4 1.00 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: 1 4 1.00 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: 1 4 1.00 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 1.00 sqshl v0.2s, v0.2s, v0.2s @@ -1806,8 +1090,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 1.00 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 1.00 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 1.00 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: 1 2 1.00 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: 1 2 1.00 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: 1 2 1.00 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: 1 2 1.00 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: 1 2 1.00 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: 1 2 1.00 sshr d15, d16, #12 # CHECK-NEXT: 1 2 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 sshr v0.2d, v0.2d, #3 @@ -1836,30 +1124,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 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: 2 2 0.50 * st1 { v1.16b, v2.16b }, [x4] +# CHECK-NEXT: 4 2 1.00 * st1 { v27.16b, v28.16b, v29.16b }, [x18] +# CHECK-NEXT: 4 2 1.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: 4 2 1.00 * st1 { v8.8h, v9.8h, v10.8h }, [x16] +# CHECK-NEXT: 4 2 1.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: 3 2 0.50 * st1 { v0.4s, v1.4s }, [sp], #32 +# CHECK-NEXT: 2 2 0.50 * st1 { v22.4s }, [x19] +# CHECK-NEXT: 2 2 0.50 * st1 { v15.4s, v16.4s }, [x12] +# CHECK-NEXT: 4 2 1.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: 2 2 0.50 * st1 { v26.2d, v27.2d }, [x28] # CHECK-NEXT: 5 2 1.00 * st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 +# CHECK-NEXT: 4 2 1.00 * st1 { v13.2d, v14.2d, v15.2d }, [x27] # CHECK-NEXT: 4 2 1.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: 2 2 0.50 * st1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 3 2 0.50 * st1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 4 2 1.00 * 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 2 0.50 * st1 { v1.b }[5], [x1] +# CHECK-NEXT: 2 2 0.50 * st1 { v0.h }[2], [x1] +# CHECK-NEXT: 2 2 0.50 * st1 { v31.s }[1], [x16] # CHECK-NEXT: 3 2 0.50 * st1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 2 0.50 * st1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 2 0.50 * st1 { v0.d }[1], [x0] # CHECK-NEXT: 3 2 0.50 * st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: 3 2 0.50 * st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 2 2 0.50 * st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 2 2 0.50 * st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: 2 2 0.50 * st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: 2 2 0.50 * st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: 2 2 0.50 * st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: 2 2 0.50 * st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: 2 2 0.50 * st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: 2 2 0.50 * st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: 2 2 0.50 * st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: 2 2 0.50 * st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: 3 2 0.50 * st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: 2 2 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 4 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 4 1.50 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 6 4 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 4 1.50 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 6 2 1.50 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 4 2 1.00 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 4 2 1.00 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 5 2 1.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 4 2 1.00 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 4 2 1.00 * st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: 4 4 1.00 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: 8 4 2.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: 4 4 1.00 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: 8 4 2.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: 4 4 1.00 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 9 4 2.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: 8 4 2.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: 4 2 1.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: 4 2 1.00 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 4 2 1.00 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 4 2 1.00 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 4 2 1.00 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 4 2 1.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] # CHECK-NEXT: 5 2 1.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 +# CHECK-NEXT: 5 2 1.00 * st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: 1 2 0.50 sub d15, d5, d16 # CHECK-NEXT: 1 2 0.50 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: 1 2 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: 1 2 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: 1 2 0.50 suqadd b19, b14 # CHECK-NEXT: 1 2 0.50 suqadd d18, d22 # CHECK-NEXT: 1 2 0.50 suqadd h20, h15 @@ -1902,6 +1256,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: 1 4 1.00 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 1.00 uabal v0.8h, v0.8b, v0.8b @@ -1909,6 +1264,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: 1 2 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -1933,14 +1289,23 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uaddlp v0.4h, v0.8b # CHECK-NEXT: 1 2 0.50 uaddlp v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddlp v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 uaddlv d0, v0.4s +# CHECK-NEXT: 1 3 1.00 uaddlv s0, v0.4h +# CHECK-NEXT: 2 5 1.00 uaddlv s0, v0.8h +# CHECK-NEXT: 2 5 1.00 uaddlv h0, v0.8b +# CHECK-NEXT: 2 6 2.00 uaddlv h0, v0.16b # CHECK-NEXT: 1 2 0.50 uaddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: 1 2 0.50 uaddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: 1 2 0.50 uaddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: 1 2 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 ucvtf h17, x12 +# CHECK-NEXT: 1 2 0.50 ucvtf h22, h16, #11 +# CHECK-NEXT: 1 2 0.50 ucvtf h7, h21 # CHECK-NEXT: 1 3 1.00 ucvtf d21, d14 # CHECK-NEXT: 1 3 1.00 ucvtf d21, d14, #64 +# CHECK-NEXT: 1 3 1.00 ucvtf s8, x0 # CHECK-NEXT: 1 3 1.00 ucvtf s22, s13 # CHECK-NEXT: 1 3 1.00 ucvtf s22, s13, #32 # CHECK-NEXT: 1 3 1.00 ucvtf v0.2d, v0.2d @@ -1950,9 +1315,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: 4 6 4.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 ucvtf v22.8h, v20.8h, #10 +# CHECK-NEXT: 1 3 0.50 udot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 udot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 udot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: 1 2 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umax v0.4s, v0.4s, v0.4s @@ -1960,37 +1332,69 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 umaxp v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umaxp v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umaxp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 2 5 1.00 umaxv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 umaxv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 umaxv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 umaxv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 umaxv s0, v0.4s # CHECK-NEXT: 1 2 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: 1 2 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: 1 2 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uminp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 2 5 1.00 uminv b0, v0.8b +# CHECK-NEXT: 2 6 2.00 uminv b0, v0.16b +# CHECK-NEXT: 1 3 1.00 uminv h0, v0.4h +# CHECK-NEXT: 2 5 1.00 uminv h0, v0.8h +# CHECK-NEXT: 1 3 1.00 uminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: 1 4 1.00 umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: 1 4 1.00 umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: 1 4 1.00 umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: 1 4 1.00 umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: 1 4 1.00 umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.8h, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 umov w6, v22.b[0] +# CHECK-NEXT: 2 2 1.00 umov w0, v0.b[1] +# CHECK-NEXT: 1 2 0.50 umov w10, v25.h[0] +# CHECK-NEXT: 2 2 1.00 umov w0, v0.h[1] +# CHECK-NEXT: 2 2 1.00 mov w0, v0.s[1] +# CHECK-NEXT: 2 2 1.00 mov x0, v0.d[1] # CHECK-NEXT: 1 4 1.00 umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: 1 4 1.00 umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: 1 4 1.00 umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: 1 4 1.00 umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: 1 4 1.00 umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: 1 2 0.50 uqadd s0, s24, s30 # CHECK-NEXT: 1 2 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: 1 4 1.00 uqrshl b11, b20, b30 # CHECK-NEXT: 1 4 1.00 uqrshl s23, s20, s16 +# CHECK-NEXT: 1 4 1.00 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: 1 4 1.00 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 4 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 4 1.00 uqrshrn h12, s10, #14 @@ -2013,6 +1417,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 4 1.00 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: 1 4 1.00 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 1.00 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 uqshl v0.8b, v0.8b, #3 @@ -2027,8 +1432,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 1.00 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: 1 2 0.50 uqsub s16, s21, s6 # CHECK-NEXT: 1 2 0.50 uqsub d16, d16, d16 # CHECK-NEXT: 1 2 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: 1 4 1.00 uqxtn b18, h18 # CHECK-NEXT: 1 4 1.00 uqxtn h20, s17 # CHECK-NEXT: 1 4 1.00 uqxtn s19, d14 @@ -2043,7 +1450,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: 1 4 1.00 urshl d8, d7, d4 +# CHECK-NEXT: 1 4 1.00 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: 1 4 1.00 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 1.00 urshl v0.4s, v0.4s, v0.4s @@ -2067,10 +1476,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 1.00 ursra v0.8h, v0.8h, #3 # CHECK-NEXT: 1 2 1.00 ushl d0, d0, d0 +# CHECK-NEXT: 1 2 1.00 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: 1 2 1.00 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 1.00 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: 1 2 1.00 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: 1 2 1.00 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: 1 2 1.00 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: 1 2 1.00 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: 1 2 1.00 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: 1 2 1.00 ushr d10, d17, #18 # CHECK-NEXT: 1 2 1.00 ushr v0.16b, v0.16b, #3 @@ -2080,6 +1494,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 1.00 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 1.00 ushr v0.8h, v0.8h, #3 +# CHECK-NEXT: 1 2 0.50 U smov w15, v22.b[0] +# CHECK-NEXT: 1 2 0.50 U smov w26, v27.h[0] +# CHECK-NEXT: 1 2 0.50 U smov x21, v0.b[0] +# CHECK-NEXT: 1 2 0.50 U smov x9, v27.h[0] +# CHECK-NEXT: 1 2 0.50 U smov x15, v3.s[0] +# CHECK-NEXT: 2 2 1.00 smov w0, v0.b[1] +# CHECK-NEXT: 2 2 1.00 smov w0, v0.h[1] +# CHECK-NEXT: 2 2 1.00 smov x0, v0.b[1] +# CHECK-NEXT: 2 2 1.00 smov x0, v0.h[1] +# CHECK-NEXT: 2 2 1.00 smov x0, v0.s[1] # CHECK-NEXT: 1 2 0.50 usqadd b19, b14 # CHECK-NEXT: 1 2 0.50 usqadd d18, d22 # CHECK-NEXT: 1 2 0.50 usqadd h20, h15 @@ -2163,7 +1587,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] -# CHECK-NEXT: - - - - 33.00 51.50 51.50 18.75 7.75 7.75 7.75 663.50 570.50 +# CHECK-NEXT: - - - - 118.67 190.67 190.67 25.25 12.25 12.25 12.25 993.50 847.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [1.0] [1.1] [2] [3.0] [3.1] [4] [5] [6.0] [6.1] [7] [8] Instructions: @@ -2183,14 +1607,31 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 addp d1, v14.2d +# CHECK-NEXT: - - - - - - - - - - - - 1.00 addv s0, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - 1.00 addv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 addv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 addv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 addv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesd v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aese v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesimc v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 and v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v23.8h, #101 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bic v24.2s, #70 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cls v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cls v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cls v0.4h, v0.4h @@ -2203,28 +1644,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 clz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 clz v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhi d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhs d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmle d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmlt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmtst d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: - - - - - - - 1.00 - - - - - dup v0.16b, w28 @@ -2234,12 +1684,26 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - 1.00 - - - - - dup v0.4s, w28 # CHECK-NEXT: - - - - - - - 1.00 - - - - - dup v0.8b, w28 # CHECK-NEXT: - - - - - - - 1.00 - - - - - dup v0.8h, w28 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov b0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov d0, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov h0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov s0, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.16b, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.2d, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.2s, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.4h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.4s, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.8b, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 dup v0.8h, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 eor v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ext v0.16b, v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd d29, d24, d20 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd s29, s24, s20 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd h27, h20, h17 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs h25, h7 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.4h, v0.4h @@ -2247,39 +1711,70 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge h24, h26, h29 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt h0, h4, h10 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp h10, v19.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp d11, v28.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge h1, h16, h12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtas h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtas v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtas v0.4h, v0.4h @@ -2287,6 +1782,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtas v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtau h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtau v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtau v0.4h, v0.4h @@ -2298,6 +1794,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtl2 v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtms h22, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtms v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtms v0.4h, v0.4h @@ -2305,6 +1802,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtms v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtmu h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtmu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtmu v0.4h, v0.4h @@ -2316,6 +1814,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtn2 v0.8h, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtns h22, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtns v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtns v0.4h, v0.4h @@ -2323,6 +1822,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtns v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtnu h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtnu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtnu v0.4h, v0.4h @@ -2330,6 +1830,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtnu v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps s22, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtps h22, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtps v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtps v0.4h, v0.4h @@ -2337,6 +1838,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtps v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu s12, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtpu h12, h13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtpu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtpu v0.4h, v0.4h @@ -2349,75 +1851,132 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs s21, s12, #1 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs h21, h14 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs h21, h12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu d21, d12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu s12, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu s21, s12, #1 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu h12, h13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu h21, h12, #1 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 4.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fcvtzu v27.8h, v6.8h, #11 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 2.00 - fdiv v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 4.00 - fdiv v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 4.00 - fdiv v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 8.00 - fdiv v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmax v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fmaxnmv h0, v13.4h +# CHECK-NEXT: - - - - - - - - - - - 1.50 1.50 fmaxnmv h12, v11.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fmaxnmv s28, v31.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmaxp s6, v2.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fmaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.50 1.50 fmaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fmaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmin v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmin v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp d15, v8.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fminnmv h19, v25.4h +# CHECK-NEXT: - - - - - - - - - - - 1.50 1.50 fminnmv h23, v17.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fminnmv s29, v17.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp h7, v10.2h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fminp s17, v7.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fminv h3, v30.4h +# CHECK-NEXT: - - - - - - - - - - - 1.50 1.50 fminv h29, v12.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 fminv s16, v19.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul h28, h14, h3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx d23, d11, d1 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx h20, h25, h0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe h20, h8 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe d13, d13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe s19, s14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpe v0.2d, v0.2d @@ -2425,9 +1984,13 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - frecpe v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps h29, h19, h8 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpx h18, h11 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps d22, d30, d21 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps s21, s16, s13 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpx d16, d19 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frecpx s18, s10 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frinta v0.2d, v0.2d @@ -2465,13 +2028,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frintz v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frintz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 4.00 - frintz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte h23, h26 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte d21, d12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte s22, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - 1.00 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 2.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - frsqrte v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: - - - - - - - - - - - 4.00 - frsqrte v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -2480,52 +2047,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 4.00 - fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 8.00 - fsqrt v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 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.00 1.00 1.00 0.25 0.25 0.25 0.25 - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: - - - - 1.33 1.33 1.33 - - - - - - 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: - - - - 1.33 1.33 1.33 - - - - - - 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: - - - - 1.33 1.33 1.33 - - - - - - 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: - - - - 1.33 1.33 1.33 - - - - - - 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.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - 1.33 1.33 1.33 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.50 0.50 ld1 { v0.b }[7], [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v18.h }[3], [x1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v0.s }[1], [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v11.d }[0], [x13] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld1 { v0.b }[9], [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v0.16b }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v0.4s }, [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v3.1d }, [x15] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v18.2d }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v8.8b }, [x23] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v28.4h }, [x9] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v3.8h }, [x16] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v10.2s }, [x20] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - 0.50 0.50 ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 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 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - - - ld1r { v0.8h }, [x15] # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 - - ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 0.50 0.50 ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: - - - - 0.33 0.33 0.33 - - - - 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 ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: - - - - 0.33 0.33 0.33 0.25 0.25 0.25 0.25 0.50 0.50 ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: - - - - 0.67 0.67 0.67 - - - - - - ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 - - ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - 1.50 1.50 ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 - - ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 - - ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - - 1.00 1.00 1.00 - - - - - - ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 - - ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.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 2.00 2.00 ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 2.00 2.00 ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 2.00 2.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 1.50 1.50 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 1.50 1.50 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - - 1.33 1.33 1.33 0.25 0.25 0.25 0.25 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: - - - - 1.33 1.33 1.33 - - - - 1.50 1.50 ld4r { 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.50 1.50 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: - - - - - - - - - - - 1.00 - mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov b0, v0.b[15] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov d6, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov h2, v0.h[5] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov s17, v0.s[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov x30, v18.d[0] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mov v2.s[2], v0.s[2] @@ -2538,11 +2216,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - mov v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.16b, #31 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v14.8h, #174 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v19.2s, #226 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 movi v0.8b, #255 # CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v9.4h, #237 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 neg d29, d24 @@ -2556,8 +2247,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: - - - - - - - - - - - - - mov v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orr v9.4h, #18 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orr v0.8h, #31 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 orr v4.4s, #0 # CHECK-NEXT: - - - - - - - - - - - 1.00 - pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - pmull v0.8h, v0.8b, v0.8b @@ -2602,6 +2296,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -2626,12 +2321,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddlp v0.4h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddlp v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddlp v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 saddlv d0, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - 1.00 saddlv s0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 saddlv s0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 saddlv h0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 saddlv h0, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf h5, h14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf d21, d12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf d21, d12, #64 # CHECK-NEXT: - - - - - - - - - - - 1.00 - scvtf s22, s13 @@ -2643,22 +2345,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: - - - - - - - - - - - 4.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 scvtf v4.8h, v8.8h, #10 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl d7, d10, #12 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v23.8b, v18.8b, #6 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.8h, v23.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.2d, v0.2s, #32 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.4s, v0.4h, #16 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.8h, v0.8b, #8 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: - - - - - - - - - - - - 1.00 shll2 v0.8h, v0.16b, #8 @@ -2670,6 +2375,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli d10, d14, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sli v0.2d, v0.2d, #3 @@ -2681,32 +2387,56 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smaxp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 smaxv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 smaxv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 smaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 smaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 smaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smin v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smin v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smin v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sminp v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sminp v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sminp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 sminv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 sminv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sminv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 sminv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - smlsl2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs b19, b14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs d18, d12 @@ -2720,6 +2450,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd h12, h18, h10 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal d19, s24, s12 @@ -2727,17 +2458,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal s17, h27, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl d12, s23, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl s14, h12, h25 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqdmulh s15, s14, v0.s[1] @@ -2763,6 +2511,30 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqneg v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah h0, h1, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah s0, s1, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah h0, h1, h2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4h, v1.4h, v2.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.8h, v1.8h, v2.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah s0, s1, s2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.2s, v1.2s, v2.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlah v0.4s, v1.4s, v2.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh h0, h1, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4h, v1.4h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.8h, v1.8h, v2.h[3] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh s0, s1, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.2s, v1.2s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4s, v1.4s, v2.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh h0, h1, h2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4h, v1.4h, v2.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.8h, v1.8h, v2.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh s0, s1, s2 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.2s, v1.2s, v2.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmlsh v0.4s, v1.4s, v2.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - 1.00 - sqrdmulh s15, s14, v0.s[1] @@ -2774,6 +2546,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl s17, s4, s23 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn b10, h13, #2 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn h15, s10, #6 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqrshrn s15, d12, #9 @@ -2799,6 +2574,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl h3, h4, h15 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl s14, s17, #22 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sqshl v0.2s, v0.2s, v0.2s @@ -2895,8 +2671,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr d15, d16, #12 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 sshr v0.2d, v0.2d, #3 @@ -2925,30 +2705,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 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: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1 { v1.16b, v2.16b }, [x4] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1 { v27.16b, v28.16b, v29.16b }, [x18] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.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.00 1.00 - - - - 1.00 1.00 st1 { v8.8h, v9.8h, v10.8h }, [x16] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.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: - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 st1 { v0.4s, v1.4s }, [sp], #32 +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1 { v22.4s }, [x19] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1 { v15.4s, v16.4s }, [x12] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.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: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1 { v26.2d, v27.2d }, [x28] # CHECK-NEXT: - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st1 { v13.2d, v14.2d, v15.2d }, [x27] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.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: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 st1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 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.25 0.25 0.25 0.25 0.50 0.50 st1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st1 { v0.8h, v1.8h }, [x15] # 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: - - - - - 0.50 0.50 0.25 0.25 0.25 0.25 0.50 0.50 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: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: - - - - - 0.50 0.50 - - - - 0.50 0.50 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.00 1.00 - - - - 1.00 1.00 st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: - - - - - 2.00 2.00 - - - - 2.00 2.00 st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: - - - - - 2.00 2.00 - - - - 2.00 2.00 st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - 2.00 2.00 0.25 0.25 0.25 0.25 2.00 2.00 st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: - - - - - 2.00 2.00 - - - - 2.00 2.00 st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - - - 1.00 1.00 - - - - 1.00 1.00 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 - - - - 1.00 1.00 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] # CHECK-NEXT: - - - - - 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], 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.50 0.50 sub d15, d5, d16 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sub v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 suqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 suqadd h20, h15 @@ -2991,6 +2837,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 trn2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal v0.8h, v0.8b, v0.8b @@ -2998,6 +2845,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uabal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -3022,14 +2870,23 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddlp v0.4h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddlp v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddlp v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaddlv d0, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uaddlv s0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uaddlv s0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uaddlv h0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 uaddlv h0, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw v0.2d, v0.2d, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw v0.4s, v0.4s, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw v0.8h, v0.8h, v0.8b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - 1.00 - - - - - ucvtf h17, x12 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf h7, h21 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf d21, d14 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf d21, d14, #64 +# CHECK-NEXT: - - - - - - - 1.00 - - - - - ucvtf s8, x0 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf s22, s13 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - - - - 1.00 - ucvtf v0.2d, v0.2d @@ -3039,9 +2896,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: - - - - - - - - - - - 4.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 ucvtf v22.8h, v20.8h, #10 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umax v0.4s, v0.4s, v0.4s @@ -3049,37 +2913,69 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umaxp v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umaxp v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umaxp v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 umaxv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 umaxv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 umaxv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 umaxv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 umaxv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uminp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uminv b0, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - 2.00 uminv b0, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uminv h0, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 1.50 uminv h0, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umlsl2 v0.8h, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umov w6, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 umov w10, v25.h[0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 umov w0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 mov w0, v0.s[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 mov x0, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - 1.00 - umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 1.00 - umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd s0, s24, s30 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqadd v14.2d, v22.2d, v20.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl b11, b20, b30 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl s23, s20, s16 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn b10, h12, #5 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqrshrn h12, s10, #14 @@ -3102,6 +2998,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshl v0.8b, v0.8b, #3 @@ -3116,8 +3013,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqshrn2 v0.8h, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub s16, s21, s6 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub d16, d16, d16 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 uqsub v19.4s, v0.4s, v5.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqxtn b18, h18 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqxtn h20, s17 # CHECK-NEXT: - - - - - - - - - - - - 1.00 uqxtn s19, d14 @@ -3132,7 +3031,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 urhadd v16.2s, v19.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl d8, d7, d4 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - 1.00 urshl v0.4s, v0.4s, v0.4s @@ -3156,10 +3057,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ursra v0.8h, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl d0, d0, d0 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.16b, v0.16b, #3 @@ -3169,6 +3075,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - 1.00 ushr v0.8h, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 smov x15, v3.s[0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 smov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 smov w0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 smov x0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 smov x0, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 1.00 smov x0, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - 0.50 0.50 usqadd h20, h15 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-bf16-instructions.s new file mode 100644 index 0000000000000..4b49d72b5d2e5 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-bf16-instructions.s @@ -0,0 +1,61 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s + +# 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 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 +# CHECK-NEXT: 1 4 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 bfmlalt v0.4s, 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: 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: - - - - - - - - - - - - - - 3.50 2.00 3.50 2.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: +# 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 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, 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 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-complxnum-instructions.s new file mode 100644 index 0000000000000..9acba778ec50b --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-complxnum-instructions.s @@ -0,0 +1,47 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s + +# 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 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 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: 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: - - - - - - - - - - - - - - 1.00 1.00 1.00 1.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: +# 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 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 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-fp16fml-instructions.s new file mode 100644 index 0000000000000..18eee106749ac --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-fp16fml-instructions.s @@ -0,0 +1,71 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s + +# 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 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 +# CHECK-NEXT: 1 5 0.25 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] +# 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 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 +# CHECK-NEXT: 1 5 0.25 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 2 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 5 0.25 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 5 0.25 fmlsl2 v0.4s, v0.4h, v0.4h + +# 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: - - - - - - - - - - - - - - 4.00 4.00 4.00 4.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: +# 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 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] +# 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 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 +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-i8mm-instructions.s new file mode 100644 index 0000000000000..638aa0146671f --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-i8mm-instructions.s @@ -0,0 +1,57 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s + +# 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 3 0.25 smmla v0.4s, v0.16b, v0.16b +# 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 3 0.25 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b +# 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 3 0.25 usmmla v0.4s, v0.16b, v0.16b + +# 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: - - - - - - - - - - - - - - 2.25 2.25 2.25 2.25 + +# 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: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b +# 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 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b +# 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.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b 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 36a03fa8fe501..72369cb94eef0 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 @@ -1,1575 +1,5 @@ # 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 - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 -addv b0, v0.8b -addv b0, v0.16b -aesd v0.16b, v0.16b -aese v0.16b, v0.16b -aesimc v0.16b, v0.16b -aesmc v0.16b, v0.16b -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 -bfmlalb v0.4s, v0.8h, v0.h[3] -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 -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -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 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -dup b0, v0.b[1] -dup d0, v0.d[1] -dup h0, v0.h[1] -dup s0, v0.s[1] -dup v0.16b, v0.b[1] -dup v0.2d, v0.d[1] -dup v0.2s, v0.s[1] -dup v0.4h, v0.h[1] -dup v0.4s, v0.s[1] -dup v0.8b, v0.b[1] -dup v0.8h, v0.h[1] -eor v0.16b, v0.16b, v0.16b -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 -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 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau h12, h13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms h22, h13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu h12, h13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns h22, h13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu h12, h13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps h22, h13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu h12, h13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs h21, h14 -fcvtzs h21, h12, #1 -fcvtzs v0.2d, v0.2d -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 -fcvtzu s21, s12, #1 -fcvtzu h12, h13 -fcvtzu h21, h12, #1 -fcvtzu v0.2d, v0.2d -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 -fdiv v0.4s, v0.4s, v0.4s -fdiv v0.8h, v0.8h, v0.8h -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 -fmlal v0.4s, v0.4h, v0.4h -fmlal2 v0.2s, v0.2h, v0.h[1] -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 -fmlsl v0.4s, v0.4h, v0.4h -fmlsl2 v0.2s, v0.2h, v0.h[1] -fmlsl2 v0.4s, v0.4h, v0.h[3] -fmlsl2 v0.2s, v0.2h, v0.2h -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 -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 -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -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 -fsqrt v0.2d, v0.2d -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] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -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 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -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 -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddlv d0, v0.4s -saddlv s0, v0.4h -saddlv s0, v0.8h -saddlv h0, v0.8b -saddlv h0, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -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.4s, v0.4h, #16 -shll v0.8h, v0.8b, #8 -shll v0.2d, v0.2s, #32 -shll2 v0.2d, v0.4s, #32 -shll2 v0.4s, v0.8h, #16 -shll2 v0.8h, v0.16b, #8 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxv h0, v0.4h -smaxv h0, v0.8h -smaxv s0, v0.4s -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -sminv b0, v0.8b -sminv b0, v0.16b -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 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -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 -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] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmlah h0, h1, v2.h[3] -sqrdmlah v0.4h, v1.4h, v2.h[3] -sqrdmlah v0.8h, v1.8h, v2.h[3] -sqrdmlah s0, s1, v2.s[1] -sqrdmlah v0.2s, v1.2s, v2.s[1] -sqrdmlah v0.4s, v1.4s, v2.s[1] -sqrdmlah h0, h1, h2 -sqrdmlah v0.4h, v1.4h, v2.4h -sqrdmlah v0.8h, v1.8h, v2.8h -sqrdmlah s0, s1, s2 -sqrdmlah v0.2s, v1.2s, v2.2s -sqrdmlah v0.4s, v1.4s, v2.4s -sqrdmlsh h0, h1, v2.h[3] -sqrdmlsh v0.4h, v1.4h, v2.h[3] -sqrdmlsh v0.8h, v1.8h, v2.h[3] -sqrdmlsh s0, s1, v2.s[1] -sqrdmlsh v0.2s, v1.2s, v2.s[1] -sqrdmlsh v0.4s, v1.4s, v2.s[1] -sqrdmlsh h0, h1, h2 -sqrdmlsh v0.4h, v1.4h, v2.4h -sqrdmlsh v0.8h, v1.8h, v2.8h -sqrdmlsh s0, s1, s2 -sqrdmlsh v0.2s, v1.2s, v2.2s -sqrdmlsh v0.4s, v1.4s, v2.4s -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -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 -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -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 -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddlv d0, v0.4s -uaddlv s0, v0.4h -uaddlv s0, v0.8h -uaddlv h0, v0.8b -uaddlv h0, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -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 -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umaxv b0, v0.8b -umaxv b0, v0.16b -umaxv h0, v0.4h -umaxv h0, v0.8h -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 -uminv b0, v0.16b -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.8h, v0.8h, v0.8h -uqrshrn b10, h12, #5 -uqrshrn h12, s10, #14 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -usdot v0.2s, v0.8b, v0.4b[2] -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 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -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] -smov x0, v0.h[1] -smov x0, v0.s[1] -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v1 -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1610,17 +40,6 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 aesimc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 and v0.8b, v0.8b, v0.8b -# 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 -# CHECK-NEXT: 1 4 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 bfmlalt v0.4s, 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 @@ -1727,8 +146,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 @@ -1762,8 +179,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 @@ -1941,14 +356,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 -# CHECK-NEXT: 1 5 0.25 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 2 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 2 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] -# 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] @@ -1958,14 +365,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 -# CHECK-NEXT: 1 5 0.25 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 2 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 2 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 5 0.25 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 5 0.25 fmlsl2 v0.4s, v0.4h, v0.4h # 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 @@ -2086,6 +485,7 @@ zip2 v0.8h, v0.8h, v0.8h # 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 6 1.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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] @@ -2100,6 +500,8 @@ zip2 v0.8h, v0.8h, v0.8h # 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.4s, v1.4s }, [sp], #32 +# CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # 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 @@ -2107,6 +509,10 @@ zip2 v0.8h, v0.8h, v0.8h # 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 6 0.33 * ld1 { v0.8h }, [x15], x2 +# CHECK-NEXT: 2 6 0.67 * ld1 { v0.8h, v1.8h }, [x15] +# CHECK-NEXT: 2 8 0.33 * ld1 { v0.b }[9], [x0] +# CHECK-NEXT: 3 8 0.33 * ld1 { v0.b }[9], [x0], #1 # 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] @@ -2128,8 +534,14 @@ zip2 v0.8h, v0.8h, v0.8h # 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.33 * ld1r { v0.16b }, [x0], #1 +# CHECK-NEXT: 2 8 0.33 * ld1r { v0.8h }, [x15] +# CHECK-NEXT: 3 8 0.33 * ld1r { v0.8h }, [x15], #2 +# CHECK-NEXT: 5 8 0.67 * ld2 { v0.16b, v1.16b }, [x0], x1 +# CHECK-NEXT: 3 8 0.50 * ld2 { v0.8b, v1.8b }, [x0] # 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: 4 8 0.50 * ld2 { v0.h, v1.h }[7], [x15], #4 # 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 @@ -2142,6 +554,10 @@ zip2 v0.8h, v0.8h, v0.8h # 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: 3 8 0.50 * ld2r { v0.2d, v1.2d }, [x0] +# CHECK-NEXT: 4 8 0.50 * ld2r { v0.2d, v1.2d }, [x0], #16 +# CHECK-NEXT: 3 8 0.50 * ld2r { v0.4s, v1.4s }, [sp] +# CHECK-NEXT: 4 8 0.50 * ld2r { v0.4s, v1.4s }, [sp], #8 # 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] @@ -2150,11 +566,13 @@ zip2 v0.8h, v0.8h, v0.8h # 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: 7 8 1.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # 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: 5 8 0.75 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # 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] @@ -2168,12 +586,15 @@ zip2 v0.8h, v0.8h, v0.8h # 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: 5 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] +# CHECK-NEXT: 6 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # 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.d, v1.d, v2.d, v3.d }[1], [x0], #32 # 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] @@ -2186,6 +607,9 @@ zip2 v0.8h, v0.8h, v0.8h # 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: 8 8 1.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 +# CHECK-NEXT: 7 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] +# CHECK-NEXT: 8 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # 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] @@ -2423,7 +847,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 @@ -2735,11 +1158,14 @@ zip2 v0.8h, v0.8h, v0.8h # 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: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 # 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: 3 2 0.50 * st1 { v0.8h }, [x15], x2 +# CHECK-NEXT: 4 2 1.00 * st1 { v0.8h, v1.8h }, [x15] # 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 @@ -2780,14 +1206,14 @@ zip2 v0.8h, v0.8h, v0.8h # 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: 6 6 1.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: 7 6 1.00 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], 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 # CHECK-NEXT: 1 2 0.25 suqadd d18, d22 # CHECK-NEXT: 1 2 0.25 suqadd h20, h15 @@ -2944,7 +1370,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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] @@ -3050,10 +1475,6 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 0.50 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 0.50 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b -# 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 @@ -3073,7 +1494,6 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ushr v0.4s, v0.4s, #3 # 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] @@ -3172,7 +1592,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: - - - - - - - 84.33 167.83 167.83 20.75 7.75 7.75 7.75 606.25 497.25 499.75 390.75 +# CHECK-NEXT: - - - - - - - 101.33 187.33 187.33 25.25 12.25 12.25 12.25 611.25 503.75 502.25 394.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: @@ -3206,17 +1626,6 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 aesimc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 and v0.8b, v0.8b, v0.8b -# 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 -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, 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 @@ -3323,8 +1732,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 @@ -3358,8 +1765,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 @@ -3537,14 +1942,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] -# 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] @@ -3554,14 +1951,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h # 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 @@ -3682,6 +2071,7 @@ zip2 v0.8h, v0.8h, v0.8h # 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.00 1.00 1.00 0.25 0.25 0.25 0.25 - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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] @@ -3696,6 +2086,8 @@ zip2 v0.8h, v0.8h, v0.8h # 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.4s, v1.4s }, [sp], #32 +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # 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 @@ -3703,6 +2095,10 @@ zip2 v0.8h, v0.8h, v0.8h # 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 - - - - ld1 { v0.8h }, [x15], x2 +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - ld1 { v0.8h, v1.8h }, [x15] +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1 { v0.b }[9], [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.b }[9], [x0], #1 # 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] @@ -3724,8 +2120,14 @@ zip2 v0.8h, v0.8h, v0.8h # 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.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ld1r { v0.16b }, [x0], #1 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.25 0.25 0.25 0.25 ld1r { v0.8h }, [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.8h }, [x15], #2 +# CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.25 0.25 0.25 0.25 0.50 0.50 0.50 0.50 ld2 { v0.16b, v1.16b }, [x0], x1 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0] # 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.25 0.25 0.25 0.25 0.50 0.50 0.50 0.50 ld2 { v0.h, v1.h }[7], [x15], #4 # 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 @@ -3738,6 +2140,10 @@ zip2 v0.8h, v0.8h, v0.8h # 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.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v0.2d, v1.2d }, [x0] +# 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.2d, v1.2d }, [x0], #16 +# CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - 0.50 0.50 0.50 0.50 ld2r { v0.4s, v1.4s }, [sp] +# 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.4s, v1.4s }, [sp], #8 # 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] @@ -3746,11 +2152,13 @@ zip2 v0.8h, v0.8h, v0.8h # 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: - - - - - - - 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], x2 # 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.75 0.75 0.75 0.75 ld3r { v0.4h, v1.4h, v2.4h }, [x15] # 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] @@ -3764,12 +2172,15 @@ zip2 v0.8h, v0.8h, v0.8h # 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: - - - - - - - 0.67 0.67 0.67 - - - - 0.75 0.75 0.75 0.75 ld3r { v0.8b, v1.8b, v2.8b }, [x0] +# 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.8b, v1.8b, v2.8b }, [x0], #3 # 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.d, v1.d, v2.d, v3.d }[1], [x0], #32 # 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] @@ -3782,6 +2193,9 @@ zip2 v0.8h, v0.8h, v0.8h # 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: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 1.00 1.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 +# 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 }, [sp] +# 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], x30 # 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] @@ -4019,7 +2433,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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 @@ -4331,11 +2744,14 @@ zip2 v0.8h, v0.8h, v0.8h # 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.00 1.00 0.25 0.25 0.25 0.25 1.00 1.00 - - st1 { v0.4s, v1.4s }, [sp], #32 # 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.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: - - - - - - - - 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 @@ -4376,14 +2792,14 @@ zip2 v0.8h, v0.8h, v0.8h # 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 1.00 - - - - 0.75 0.75 0.75 0.75 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.25 0.25 0.25 0.25 0.75 0.75 0.75 0.75 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], 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 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd h20, h15 @@ -4540,7 +2956,6 @@ zip2 v0.8h, v0.8h, v0.8h # 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] @@ -4646,10 +3061,6 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b -# 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 @@ -4669,7 +3080,6 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - 0.50 - 0.50 ushr v0.4s, v0.4s, #3 # 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] diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-bf16-instructions.s new file mode 100644 index 0000000000000..e96fbb52ee639 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-bf16-instructions.s @@ -0,0 +1,63 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s + +# 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 3 0.50 bfcvt h0, s0 +# CHECK-NEXT: 2 4 1.00 bfcvtn v0.4h, v0.4s +# CHECK-NEXT: 2 4 1.00 bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: 1 2 0.25 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: 1 5 0.25 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: 1 5 0.25 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 6 0.25 bfmmla v0.4s, v0.8h, v0.8h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V2UnitB +# CHECK-NEXT: [0.1] - V2UnitB +# CHECK-NEXT: [1.0] - V2UnitD +# CHECK-NEXT: [1.1] - V2UnitD +# CHECK-NEXT: [2.0] - V2UnitFlg +# CHECK-NEXT: [2.1] - V2UnitFlg +# CHECK-NEXT: [2.2] - V2UnitFlg +# CHECK-NEXT: [3] - V2UnitL2 +# CHECK-NEXT: [4.0] - V2UnitL01 +# CHECK-NEXT: [4.1] - V2UnitL01 +# CHECK-NEXT: [5] - V2UnitM0 +# CHECK-NEXT: [6] - V2UnitM1 +# CHECK-NEXT: [7] - V2UnitS0 +# CHECK-NEXT: [8] - V2UnitS1 +# CHECK-NEXT: [9] - V2UnitS2 +# CHECK-NEXT: [10] - V2UnitS3 +# CHECK-NEXT: [11] - V2UnitV0 +# CHECK-NEXT: [12] - V2UnitV1 +# CHECK-NEXT: [13] - V2UnitV2 +# CHECK-NEXT: [14] - V2UnitV3 + +# 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] [8] [9] [10] [11] [12] [13] [14] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 4.50 2.00 4.50 2.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] [8] [9] [10] [11] [12] [13] [14] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn v0.4h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - 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 +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, 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 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-complxnum-instructions.s new file mode 100644 index 0000000000000..a61a0cae20ac7 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-complxnum-instructions.s @@ -0,0 +1,49 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s + +# 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 2 0.25 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 2 0.25 fcadd v0.4s, v0.4s, v0.4s, #270 +# 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: Resources: +# CHECK-NEXT: [0.0] - V2UnitB +# CHECK-NEXT: [0.1] - V2UnitB +# CHECK-NEXT: [1.0] - V2UnitD +# CHECK-NEXT: [1.1] - V2UnitD +# CHECK-NEXT: [2.0] - V2UnitFlg +# CHECK-NEXT: [2.1] - V2UnitFlg +# CHECK-NEXT: [2.2] - V2UnitFlg +# CHECK-NEXT: [3] - V2UnitL2 +# CHECK-NEXT: [4.0] - V2UnitL01 +# CHECK-NEXT: [4.1] - V2UnitL01 +# CHECK-NEXT: [5] - V2UnitM0 +# CHECK-NEXT: [6] - V2UnitM1 +# CHECK-NEXT: [7] - V2UnitS0 +# CHECK-NEXT: [8] - V2UnitS1 +# CHECK-NEXT: [9] - V2UnitS2 +# CHECK-NEXT: [10] - V2UnitS3 +# CHECK-NEXT: [11] - V2UnitV0 +# CHECK-NEXT: [12] - V2UnitV1 +# CHECK-NEXT: [13] - V2UnitV2 +# CHECK-NEXT: [14] - V2UnitV3 + +# 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] [8] [9] [10] [11] [12] [13] [14] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 1.00 1.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] [8] [9] [10] [11] [12] [13] [14] Instructions: +# 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 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 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fp16fml-instructions.s new file mode 100644 index 0000000000000..d826870b0f02e --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fp16fml-instructions.s @@ -0,0 +1,73 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s + +# 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 4 0.25 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.4h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V2UnitB +# CHECK-NEXT: [0.1] - V2UnitB +# CHECK-NEXT: [1.0] - V2UnitD +# CHECK-NEXT: [1.1] - V2UnitD +# CHECK-NEXT: [2.0] - V2UnitFlg +# CHECK-NEXT: [2.1] - V2UnitFlg +# CHECK-NEXT: [2.2] - V2UnitFlg +# CHECK-NEXT: [3] - V2UnitL2 +# CHECK-NEXT: [4.0] - V2UnitL01 +# CHECK-NEXT: [4.1] - V2UnitL01 +# CHECK-NEXT: [5] - V2UnitM0 +# CHECK-NEXT: [6] - V2UnitM1 +# CHECK-NEXT: [7] - V2UnitS0 +# CHECK-NEXT: [8] - V2UnitS1 +# CHECK-NEXT: [9] - V2UnitS2 +# CHECK-NEXT: [10] - V2UnitS3 +# CHECK-NEXT: [11] - V2UnitV0 +# CHECK-NEXT: [12] - V2UnitV1 +# CHECK-NEXT: [13] - V2UnitV2 +# CHECK-NEXT: [14] - V2UnitV3 + +# 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] [8] [9] [10] [11] [12] [13] [14] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 4.00 4.00 4.00 4.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] [8] [9] [10] [11] [12] [13] [14] Instructions: +# 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 +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] +# 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 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 +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fptoint-instructions.s new file mode 100644 index 0000000000000..b4221be05ed12 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-fptoint-instructions.s @@ -0,0 +1,65 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s + +# 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 3 0.50 frint32x v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint32x v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint32x v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 frint32z v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint32z v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint32z v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 frint64x v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint64x v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint64x v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 frint64z v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint64z v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint64z v0.4s, v0.4s + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V2UnitB +# CHECK-NEXT: [0.1] - V2UnitB +# CHECK-NEXT: [1.0] - V2UnitD +# CHECK-NEXT: [1.1] - V2UnitD +# CHECK-NEXT: [2.0] - V2UnitFlg +# CHECK-NEXT: [2.1] - V2UnitFlg +# CHECK-NEXT: [2.2] - V2UnitFlg +# CHECK-NEXT: [3] - V2UnitL2 +# CHECK-NEXT: [4.0] - V2UnitL01 +# CHECK-NEXT: [4.1] - V2UnitL01 +# CHECK-NEXT: [5] - V2UnitM0 +# CHECK-NEXT: [6] - V2UnitM1 +# CHECK-NEXT: [7] - V2UnitS0 +# CHECK-NEXT: [8] - V2UnitS1 +# CHECK-NEXT: [9] - V2UnitS2 +# CHECK-NEXT: [10] - V2UnitS3 +# CHECK-NEXT: [11] - V2UnitV0 +# CHECK-NEXT: [12] - V2UnitV1 +# CHECK-NEXT: [13] - V2UnitV2 +# CHECK-NEXT: [14] - V2UnitV3 + +# 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] [8] [9] [10] [11] [12] [13] [14] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 8.00 - 8.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] [8] [9] [10] [11] [12] [13] [14] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32z v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64z v0.4s, v0.4s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-i8mm-instructions.s new file mode 100644 index 0000000000000..adfb6bbf6657a --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-i8mm-instructions.s @@ -0,0 +1,59 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s + +# 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 3 0.25 smmla v0.4s, v0.16b, v0.16b +# 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 3 0.25 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b +# 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 3 0.25 usmmla v0.4s, v0.16b, v0.16b + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V2UnitB +# CHECK-NEXT: [0.1] - V2UnitB +# CHECK-NEXT: [1.0] - V2UnitD +# CHECK-NEXT: [1.1] - V2UnitD +# CHECK-NEXT: [2.0] - V2UnitFlg +# CHECK-NEXT: [2.1] - V2UnitFlg +# CHECK-NEXT: [2.2] - V2UnitFlg +# CHECK-NEXT: [3] - V2UnitL2 +# CHECK-NEXT: [4.0] - V2UnitL01 +# CHECK-NEXT: [4.1] - V2UnitL01 +# CHECK-NEXT: [5] - V2UnitM0 +# CHECK-NEXT: [6] - V2UnitM1 +# CHECK-NEXT: [7] - V2UnitS0 +# CHECK-NEXT: [8] - V2UnitS1 +# CHECK-NEXT: [9] - V2UnitS2 +# CHECK-NEXT: [10] - V2UnitS3 +# CHECK-NEXT: [11] - V2UnitV0 +# CHECK-NEXT: [12] - V2UnitV1 +# CHECK-NEXT: [13] - V2UnitV2 +# CHECK-NEXT: [14] - V2UnitV3 + +# 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] [8] [9] [10] [11] [12] [13] [14] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.25 2.25 2.25 2.25 + +# 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] [8] [9] [10] [11] [12] [13] [14] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b +# 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 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b +# 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.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s index 0fd6bc73c461f..6580d6a6590b4 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s @@ -1,1234 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -mattr=+aes,+sha3,+sm4 -instruction-tables < %s | FileCheck %s - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 v0.2d, v0.2d, v0.2d -addp v0.8b, v0.8b, v0.8b -addv s0, v0.4s -addv h0, v0.4h -addv h0, v0.8h -addv b0, v0.8b -addv b0, v0.16b -aesd v0.16b, v0.16b -aese v0.16b, v0.16b -aesimc v0.16b, v0.16b -aesmc v0.16b, v0.16b -and v0.8b, v0.8b, v0.8b -bfcvt h0, s0 -bfcvtn v0.4h, v0.4s -bfcvtn2 v0.8h, v0.4s -bfdot v0.2s, v0.4h, v0.4h -bfdot v0.4s, v0.8h, v0.8h -bfmlalb v0.4s, v0.8h, v0.8h -bfmlalb v0.4s, v0.8h, v0.h[3] -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 v0.8b, v0.8b, v0.8b -bif v0.16b, v0.16b, v0.16b -bit v0.16b, v0.16b, v0.16b -bsl v0.8b, v0.8b, v0.8b -cls v0.16b, v0.16b -cls v0.2s, v0.2s -cls v0.4h, v0.4h -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -clz v0.4h, v0.4h -clz v0.4s, v0.4s -clz v0.8b, v0.8b -clz v0.8h, v0.8h -cmeq d20, d21, 0 -cmeq d20, d21, d22 -cmeq v0.16b, v0.16b, 0 -cmeq v0.16b, v0.16b, v0.16b -cmge d20, d21, 0 -cmge d20, d21, d22 -cmge v0.4h, v0.4h, v0.4h -cmge v0.8b, v0.8b, 0 -cmgt d20, d21, 0 -cmgt d20, d21, d22 -cmgt v0.2s, v0.2s, 0 -cmgt v0.4s, v0.4s, v0.4s -cmhi d20, d21, d22 -cmhi v0.8h, v0.8h, v0.8h -cmhs d20, d21, d22 -cmhs v0.8b, v0.8b, v0.8b -cmle d20, d21, 0 -cmle v0.2d, v0.2d, 0 -cmlt d20, d21, 0 -cmlt v0.8h, v0.8h, 0 -cmtst d20, d21, d22 -cmtst v0.2s, v0.2s, v0.2s -cnt v0.16b, v0.16b -cnt v0.8b, v0.8b -dup v0.16b,w28 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -dup b0, v0.b[1] -dup d0, v0.d[1] -dup h0, v0.h[1] -dup s0, v0.s[1] -dup v0.16b, v0.b[1] -dup v0.2d, v0.d[1] -dup v0.2s, v0.s[1] -dup v0.4h, v0.h[1] -dup v0.4s, v0.s[1] -dup v0.8b, v0.b[1] -dup v0.8h, v0.h[1] -eor v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, v0.4s -fabs v0.2d, v0.2d -fabs v0.2s, v0.2s -fabs v0.4h, v0.4h -fabs v0.4s, v0.4s -fabs v0.8h, v0.8h -facge d20, d21, d22 -facge s10, s11, s12 -facge v0.4s, v0.4s, v0.4s -facgt d20, d21, d22 -facgt s10, s11, s12 -facgt v0.2d, v0.2d, v0.2d -fadd v0.4s, v0.4s, v0.4s -faddp v0.2s, v0.2s, v0.2s -faddp v0.4s, v0.4s, v0.4s -fcadd v0.2s, v0.2s, v0.2s, 90 -fcadd v0.4s, v0.4s, v0.4s, 270 -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 -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 v0.4s, v0.4s, v0.4s -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 -fcmla v0.2s, v0.2s, v0.2s, #90 -fcmla v0.4s, v0.4s, v0.s[1], #0 -fcmle d20, d21, #0.0 -fcmle s10, s11, #0.0 -fcmle v0.2d, v0.2d, #0.0 -fcmlt d20, d21, #0.0 -fcmlt s10, s11, #0.0 -fcmlt v0.4s, v0.4s, #0.0 -fcvtas d21, d14 -fcvtas s12, s13 -fcvtas h12, h13 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau h12, h13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms h22, h13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu h12, h13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns h22, h13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu h12, h13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps h22, h13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu h12, h13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs h21, h14 -fcvtzs h21, h12, #1 -fcvtzs v0.2d, v0.2d -fcvtzs v0.2d, v0.2d, #3 -fcvtzs v0.2s, v0.2s -fcvtzs v0.2s, v0.2s, #3 -fcvtzs v0.4h, v0.4h -fcvtzs v0.4s, v0.4s -fcvtzs v0.4s, v0.4s, #3 -fcvtzs v0.8h, v0.8h -fcvtzu d21, d12, #1 -fcvtzu d21, d14 -fcvtzu s12, s13 -fcvtzu s21, s12, #1 -fcvtzu h12, h13 -fcvtzu h21, h12, #1 -fcvtzu v0.2d, v0.2d -fcvtzu v0.2d, v0.2d, #3 -fcvtzu v0.2s, v0.2s -fcvtzu v0.2s, v0.2s, #3 -fcvtzu v0.4h, v0.4h -fcvtzu v0.4s, v0.4s -fcvtzu v0.4s, v0.4s, #3 -fcvtzu v0.8h, v0.8h -fdiv v0.2d, v0.2d, v0.2d -fdiv v0.2s, v0.2s, v0.2s -fdiv v0.4h, v0.4h, v0.4h -fdiv v0.4s, v0.4s, v0.4s -fdiv v0.8h, v0.8h, v0.8h -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fmaxnmp v0.2s, v0.2s, v0.2s -fmaxnmp v0.4s, v0.4s, v0.4s -fmaxp v0.2d, v0.2d, v0.2d -fmaxp v0.2s, v0.2s, v0.2s -fmaxp v0.4s, v0.4s, v0.4s -fmaxv h0, v0.4h -fmaxv h0, v0.8h -fmaxv s0, v0.4s -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fminnmp v0.2s, v0.2s, v0.2s -fminnmp v0.4s, v0.4s, v0.4s -fminp v0.2d, v0.2d, v0.2d -fminp v0.2s, v0.2s, v0.2s -fminp v0.4s, v0.4s, v0.4s -fmla d0, d1, v0.d[1] -fmla s0, s1, v0.s[3] -fmla v0.2s, v0.2s, v0.2s -fmlal v0.2s, v0.2h, v0.h[1] -fmlal v0.4s, v0.4h, v0.h[3] -fmlal v0.2s, v0.2h, v0.2h -fmlal v0.4s, v0.4h, v0.4h -fmlal2 v0.2s, v0.2h, v0.h[1] -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 s3, s5, v0.s[3] -fmls v0.2s, v0.2s, v0.2s -fmlsl v0.2s, v0.2h, v0.h[1] -fmlsl v0.4s, v0.4h, v0.h[3] -fmlsl v0.2s, v0.2h, v0.2h -fmlsl v0.4s, v0.4h, v0.4h -fmlsl2 v0.2s, v0.2h, v0.h[1] -fmlsl2 v0.4s, v0.4h, v0.h[3] -fmlsl2 v0.2s, v0.2h, v0.2h -fmlsl2 v0.4s, v0.4h, v0.4h -fmov v0.2d, #-1.25 -fmov v0.2s, #13.0 -fmov v0.4s, #1.0 -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 s3, s5, v0.s[3] -fmulx v0.2d, v0.2d, v0.2d -fmulx v0.2s, v0.2s, v0.2s -fmulx v0.4s, v0.4s, v0.4s -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 d13, d13 -frecpe s19, s14 -frecpe v0.2d, v0.2d -frecpe v0.2s, v0.2s -frecpe v0.4h, v0.4h -frecpe v0.4s, v0.4s -frecpe v0.8h, v0.8h -frecps v0.4s, v0.4s, v0.4s -frecps d22, d30, d21 -frecps s21, s16, s13 -frecpx d16, d19 -frecpx s18, s10 -frint32x v0.2d, v0.2d -frint32x v0.2s, v0.2s -frint32x v0.4s, v0.4s -frint32z v0.2d, v0.2d -frint32z v0.2s, v0.2s -frint32z v0.4s, v0.4s -frint64x v0.2d, v0.2d -frint64x v0.2s, v0.2s -frint64x v0.4s, v0.4s -frint64z v0.2d, v0.2d -frint64z v0.2s, v0.2s -frint64z v0.4s, v0.4s -frinta v0.2d, v0.2d -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -frintz v0.2s, v0.2s -frintz v0.4h, v0.4h -frintz v0.4s, v0.4s -frintz v0.8h, v0.8h -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 -frsqrte v0.8h, v0.8h -frsqrts d8, d22, d18 -frsqrts s21, s5, s12 -frsqrts v0.2d, v0.2d, v0.2d -fsqrt v0.2d, v0.2d -fsqrt v0.2s, v0.2s -fsqrt v0.4h, v0.4h -fsqrt v0.4s, v0.4s -fsqrt v0.8h, v0.8h -fsub v0.2s, v0.2s, v0.2s -ld1 { v0.16b }, [x0] -ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -ld1 { v0.4s, v1.4s }, [sp], #32 -ld1 { v0.4s, v1.4s, v2.4s }, [sp] -ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -ld1 { v0.8h }, [x15], x2 -ld1 { v0.8h, v1.8h }, [x15] -ld1 { v0.b }[9], [x0] -ld1 { v0.b }[9], [x0], #1 -ld1r { v0.16b }, [x0] -ld1r { v0.16b }, [x0], #1 -ld1r { v0.8h }, [x15] -ld1r { v0.8h }, [x15], #2 -ld2 { v0.16b, v1.16b }, [x0], x1 -ld2 { v0.8b, v1.8b }, [x0] -ld2 { v0.h, v1.h }[7], [x15] -ld2 { v0.h, v1.h }[7], [x15], #4 -ld2r { v0.2d, v1.2d }, [x0] -ld2r { v0.2d, v1.2d }, [x0], #16 -ld2r { v0.4s, v1.4s }, [sp] -ld2r { v0.4s, v1.4s }, [sp], #8 -ld3 { v0.4h, v1.4h, v2.4h }, [x15] -ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -ld3 { v0.s, v1.s, v2.s }[3], [sp] -ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 -ld3r { v0.4h, v1.4h, v2.4h }, [x15] -ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 -ld3r { v0.8b, v1.8b, v2.8b }, [x0] -ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 -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 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 -ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 -mla v0.8b, v0.8b, v0.8b -mls v0.4h, v0.4h, v0.4h -mov b0, v0.b[15] -mov d6, v0.d[1] -mov h2, v0.h[5] -mov s17, v0.s[2] -mov v2.b[0], v0.b[0] -mov v2.h[1], v0.h[1] -mov v2.s[2], v0.s[2] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -mov v0.16b, v0.16b -mov v0.8b, v0.8b -movi d15, #0xff00ff00ff00ff -movi v0.16b, #31 -movi v0.2d, #0xff0000ff0000ffff -movi v0.2s, #8, msl #8 -movi v0.4s, #255, lsl #24 -movi v0.8b, #255 -mul v0.8b, v0.8b, v0.8b -mvni v0.2s, 0 -mvni v0.4s, #16, msl #16 -neg d29, d24 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -neg v0.8h, v0.8h -not v0.16b, v0.16b -not v0.8b, v0.8b -orn v0.16b, v0.16b, v0.16b -orr v0.16b, v0.16b, v0.16b -orr v0.8h, #31 -pmul v0.16b, v0.16b, v0.16b -pmul v0.8b, v0.8b, v0.8b -pmull v0.8h, v0.8b, v0.8b -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl v0.2d, v0.2s, v0.2s -sabdl v0.4s, v0.4h, v0.4h -sabdl v0.8h, v0.8b, v0.8b -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddlv d0, v0.4s -saddlv s0, v0.4h -saddlv s0, v0.8h -saddlv h0, v0.8b -saddlv h0, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 d21, d12 -scvtf d21, d12, #64 -scvtf s22, s13 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -scvtf v0.2s, v0.2s, #3 -scvtf v0.4h, v0.4h -scvtf v0.4s, v0.4s -scvtf v0.4s, v0.4s, #3 -scvtf v0.8h, v0.8h -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 -shl d7, d10, #12 -shl v0.16b, v0.16b, #3 -shl v0.2d, v0.2d, #3 -shl v0.4h, v0.4h, #3 -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 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli d10, d14, #12 -sli v0.16b, v0.16b, #3 -sli v0.2d, v0.2d, #3 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxp v0.2s, v0.2s, v0.2s -smaxp v0.4h, v0.4h, v0.4h -smaxp v0.8b, v0.8b, v0.8b -smaxv b0, v0.8b -smaxv b0, v0.16b -smaxv h0, v0.4h -smaxv h0, v0.8h -smaxv s0, v0.4s -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -sminv b0, v0.8b -sminv b0, v0.16b -sminv h0, v0.4h -sminv h0, v0.8h -sminv s0, v0.4s -smlal v0.2d, v0.2s, v0.2s -smlal v0.4s, v0.4h, v0.4h -smlal v0.8h, v0.8b, v0.8b -smlal2 v0.2d, v0.4s, v0.4s -smlal2 v0.4s, v0.8h, v0.8h -smlal2 v0.8h, v0.16b, v0.16b -smlsl v0.2d, v0.2s, v0.2s -smlsl v0.4s, v0.4h, v0.4h -smlsl v0.8h, v0.8b, v0.8b -smlsl2 v0.2d, v0.4s, v0.4s -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 v0.4s, v0.4h, v0.4h -smull v0.8h, v0.8b, v0.8b -smull2 v0.2d, v0.4s, v0.4s -smull2 v0.4s, v0.8h, v0.8h -smull2 v0.8h, v0.16b, v0.16b -sqabs b19, b14 -sqabs d18, d12 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -sqabs v0.4s, v0.4s -sqabs v0.8b, v0.8b -sqabs v0.8h, v0.8h -sqadd b20, b11, b15 -sqadd v0.16b, v0.16b, v0.16b -sqadd v0.2s, v0.2s, v0.2s -sqdmlal d19, s24, s12 -sqdmlal d8, s9, v0.s[1] -sqdmlal s0, h0, v0.h[3] -sqdmlal s17, h27, h12 -sqdmlal v0.2d, v0.2s, v0.2s -sqdmlal v0.4s, v0.4h, v0.4h -sqdmlal2 v0.2d, v0.4s, v0.4s -sqdmlal2 v0.4s, v0.8h, v0.8h -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 v0.4s, v0.4h, v0.4h -sqdmlsl2 v0.2d, v0.4s, v0.4s -sqdmlsl2 v0.4s, v0.8h, v0.8h -sqdmulh h10, h11, h12 -sqdmulh h7, h15, v0.h[3] -sqdmulh s15, s14, v0.s[1] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmlah h0, h1, v2.h[3] -sqrdmlah v0.4h, v1.4h, v2.h[3] -sqrdmlah v0.8h, v1.8h, v2.h[3] -sqrdmlah s0, s1, v2.s[1] -sqrdmlah v0.2s, v1.2s, v2.s[1] -sqrdmlah v0.4s, v1.4s, v2.s[1] -sqrdmlah h0, h1, h2 -sqrdmlah v0.4h, v1.4h, v2.4h -sqrdmlah v0.8h, v1.8h, v2.8h -sqrdmlah s0, s1, s2 -sqrdmlah v0.2s, v1.2s, v2.2s -sqrdmlah v0.4s, v1.4s, v2.4s -sqrdmlsh h0, h1, v2.h[3] -sqrdmlsh v0.4h, v1.4h, v2.h[3] -sqrdmlsh v0.8h, v1.8h, v2.h[3] -sqrdmlsh s0, s1, v2.s[1] -sqrdmlsh v0.2s, v1.2s, v2.s[1] -sqrdmlsh v0.4s, v1.4s, v2.s[1] -sqrdmlsh h0, h1, h2 -sqrdmlsh v0.4h, v1.4h, v2.4h -sqrdmlsh v0.8h, v1.8h, v2.8h -sqrdmlsh s0, s1, s2 -sqrdmlsh v0.2s, v1.2s, v2.2s -sqrdmlsh v0.4s, v1.4s, v2.4s -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn b10, h13, #2 -sqrshrn h15, s10, #6 -sqrshrn s15, d12, #9 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -sqshl h13, h18, #11 -sqshl h3, h4, h15 -sqshl s14, s17, #22 -sqshl v0.16b, v0.16b, #3 -sqshl v0.2d, v0.2d, #3 -sqshl v0.2s, v0.2s, #3 -sqshl v0.2s, v0.2s, v0.2s -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 v0.2d, v0.2s, #3 -sshll2 v0.4s, v0.8h, #3 -sshr d15, d16, #12 -sshr v0.16b, v0.16b, #3 -sshr v0.2d, v0.2d, #3 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 { v0.16b }, [x0] -st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -st1 { v0.4s, v1.4s }, [sp], #32 -st1 { v0.4s, v1.4s, v2.4s }, [sp] -st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -st1 { v0.8h }, [x15], x2 -st1 { v0.8h, v1.8h }, [x15] -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 { v0.s, v1.s }[3], [sp] -st2 { v0.s, v1.s }[3], [sp], #8 -st3 { v0.4h, v1.4h, v2.4h }, [x15] -st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -st3 { v0.h, v1.h, v2.h }[7], [x15] -st3 { v0.h, v1.h, v2.h }[7], [x15], #6 -st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] -st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 -sub d15, d5, d16 -sub v0.2d, v0.2d, v0.2d -sudot v0.2s, v0.8b, v0.4b[2] -sudot v0.4s, v0.16b, v0.4b[2] -suqadd b19, b14 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -uabal v0.2d, v0.2s, v0.2s -uabal v0.4s, v0.4h, v0.4h -uabal v0.8h, v0.8b, v0.8b -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 -uabdl v0.2d, v0.2s, v0.2s -uabdl v0.4s, v0.4h, v0.4h -uabdl v0.8h, v0.8b, v0.8b -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddlv d0, v0.4s -uaddlv s0, v0.4h -uaddlv s0, v0.8h -uaddlv h0, v0.8b -uaddlv h0, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 d21, d14 -ucvtf d21, d14, #64 -ucvtf s22, s13 -ucvtf s22, s13, #32 -ucvtf v0.2d, v0.2d -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -ucvtf v0.2s, v0.2s, #3 -ucvtf v0.4h, v0.4h -ucvtf v0.4s, v0.4s -ucvtf v0.4s, v0.4s, #3 -ucvtf v0.8h, v0.8h -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 v0.4s, v0.4s, v0.4s -umax v0.16b, v0.16b, v0.16b -umax v0.4s, v0.4s, v0.4s -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umaxv b0, v0.8b -umaxv b0, v0.16b -umaxv h0, v0.4h -umaxv h0, v0.8h -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 -uminp v0.2s, v0.2s, v0.2s -uminp v0.4h, v0.4h, v0.4h -uminp v0.8b, v0.8b, v0.8b -uminv b0, v0.8b -uminv b0, v0.16b -uminv h0, v0.4h -uminv h0, v0.8h -uminv s0, v0.4s -umlal v0.2d, v0.2s, v0.2s -umlal v0.4s, v0.4h, v0.4h -umlal v0.8h, v0.8b, v0.8b -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 v0.4s, v0.4h, v0.4h -umlsl v0.8h, v0.8b, v0.8b -umlsl2 v0.2d, v0.4s, v0.4s -umlsl2 v0.4s, v0.8h, v0.8h -umlsl2 v0.8h, v0.16b, v0.16b -ummla v0.4s, v0.16b, v0.16b -umov w0, v0.b[1] -umov w0, v0.h[1] -umov w0, v0.s[1] -umov x0, v0.d[1] -umull v0.2d, v0.2s, v0.2s -umull v0.4s, v0.4h, v0.4h -umull v0.8h, v0.8b, v0.8b -umull2 v0.2d, v0.4s, v0.4s -umull2 v0.4s, v0.8h, v0.8h -umull2 v0.8h, v0.16b, v0.16b -uqadd h0, h1, h5 -uqadd v0.8h, v0.8h, v0.8h -uqrshl b11, b20, b30 -uqrshl s23, s20, s16 -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 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, #3 -uqshl v0.4s, v0.4s, v0.4s -uqshl v0.8b, v0.8b, #3 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 d16, d16, d16 -uqsub v0.4h, v0.4h, v0.4h -uqxtn b18, h18 -uqxtn h20, s17 -uqxtn s19, d14 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl d8, d7, d4 -urshl v0.16b, v0.16b, v0.16b -urshl v0.2d, v0.2d, v0.2d -urshl v0.4s, v0.4s, v0.4s -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -usdot v0.2s, v0.8b, v0.4b[2] -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 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 -ushll2 v0.8h, v0.16b, #3 -ushr d10, d17, #18 -ushr v0.16b, v0.16b, #3 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -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 w0, v0.b[1] -smov w0, v0.h[1] -smov x0, v0.b[1] -smov x0, v0.h[1] -smov x0, v0.s[1] -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v2 -mattr=+aes -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1255,8 +26,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 3 0.50 addv s0, v0.4s # CHECK-NEXT: 1 3 0.50 addv h0, v0.4h # CHECK-NEXT: 2 5 0.50 addv h0, v0.8h @@ -1267,21 +40,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 aesimc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 and v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 3 0.50 bfcvt h0, s0 -# CHECK-NEXT: 2 4 1.00 bfcvtn v0.4h, v0.4s -# CHECK-NEXT: 2 4 1.00 bfcvtn2 v0.8h, v0.4s -# CHECK-NEXT: 1 5 0.25 bfdot v0.2s, v0.4h, v0.4h -# CHECK-NEXT: 1 5 0.25 bfdot v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 6 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 @@ -1294,28 +63,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 @@ -1341,7 +119,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 @@ -1349,41 +130,67 @@ 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 fcadd v0.2s, v0.2s, v0.2s, #90 -# CHECK-NEXT: 1 2 0.25 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 2 0.25 faddp v16.2d, v11.2d, v5.2d +# 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 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 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 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 2.00 fcvtas h12, h13 @@ -1470,9 +277,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 2.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.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 @@ -1484,9 +293,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 2.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.00 fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: 1 15 7.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 10 2.50 fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 7 3.50 fdiv v0.4h, v0.4h, v0.4h @@ -1498,12 +309,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 @@ -1513,52 +331,71 @@ 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 fmlal v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlal v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.4h +# 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 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 fmlsl v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.4h +# 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 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 3 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 2 0.25 frecpe v0.2d, v0.2d @@ -1566,23 +403,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 1.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 2.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 2 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 frint32x v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint32x v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint32x v0.4s, v0.4s -# CHECK-NEXT: 1 3 0.50 frint32z v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint32z v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint32z v0.4s, v0.4s -# CHECK-NEXT: 1 3 0.50 frint64x v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint64x v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint64x v0.4s, v0.4s -# CHECK-NEXT: 1 3 0.50 frint64z v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint64z v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint64z v0.4s, v0.4s # CHECK-NEXT: 1 3 0.50 frinta v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 frinta v0.2s, v0.2s # CHECK-NEXT: 2 4 1.00 frinta v0.4h, v0.4h @@ -1618,13 +447,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 2.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 1 3 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 2 0.25 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 1.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 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: 4 6 2.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 2 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 @@ -1633,52 +466,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 7 3.50 fsqrt v0.4h, v0.4h # CHECK-NEXT: 1 10 4.50 fsqrt v0.4s, v0.4s # CHECK-NEXT: 1 13 6.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 6 1.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 6 0.67 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 7 1.33 * 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 6 0.33 * ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 6 0.67 * ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 8 0.33 * ld1 { v0.b }[9], [x0] # CHECK-NEXT: 3 8 0.33 * ld1 { v0.b }[9], [x0], #1 # 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.33 * ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: 2 8 0.33 * ld1r { v0.8h }, [x15] # CHECK-NEXT: 3 8 0.33 * ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: 5 8 0.67 * ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 8 0.50 * ld2 { v0.8b, v1.8b }, [x0] # 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: 4 8 0.50 * ld2 { v0.h, v1.h }[7], [x15], #4 +# 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: 3 8 0.50 * ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: 4 8 0.50 * ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: 3 8 0.50 * ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: 4 8 0.50 * ld2r { v0.4s, v1.4s }, [sp], #8 # 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: 7 8 1.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # 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: 6 8 1.00 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 5 8 0.75 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # 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: 6 8 1.00 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: 5 8 0.75 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 6 8 1.00 * 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: 6 8 1.00 * 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: 10 9 2.00 * 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: 10 9 2.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 10 9 2.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 5 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: 6 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: 7 8 1.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 11 9 2.00 * 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: 10 9 2.00 * 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.d, v1.d, v2.d, v3.d }[1], [x0], #32 # 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: 8 8 1.33 * 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: 8 8 1.33 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 8 8 1.33 * 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: 8 8 1.33 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: 9 8 1.33 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 8 8 1.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: 7 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 8 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # 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: 2 2 1.00 mov w8, v8.s[0] +# CHECK-NEXT: 2 2 1.00 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] @@ -1691,11 +635,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 @@ -1709,8 +666,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 @@ -1755,6 +715,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 @@ -1790,6 +751,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 2.00 scvtf h4, h8, #9 +# CHECK-NEXT: 4 6 2.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 @@ -1801,26 +764,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 2.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.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.50 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 @@ -1832,6 +794,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.50 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 @@ -1843,8 +806,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 5 0.50 smaxv b0, v0.8b # CHECK-NEXT: 2 6 1.00 smaxv b0, v0.16b @@ -1863,23 +828,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 5 0.50 sminv h0, v0.8h # CHECK-NEXT: 1 3 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 @@ -1893,6 +869,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 @@ -1900,17 +877,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] @@ -1971,6 +965,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 4 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 4 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 4 0.50 sqrshrn s15, d12, #9 @@ -1996,6 +993,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 @@ -2092,8 +1090,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.50 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 @@ -2122,32 +1124,96 @@ 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: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 # 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: 3 4 1.00 * st1 { v1.b }[5], [x1] +# CHECK-NEXT: 3 4 1.00 * st1 { v0.h }[2], [x1] +# CHECK-NEXT: 3 4 1.00 * st1 { v31.s }[1], [x16] # 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: 3 4 1.00 * st1 { v0.d }[1], [x0] # CHECK-NEXT: 4 4 1.00 * st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: 7 4 2.00 * st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 4 1.00 * st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 6 4 2.00 * st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: 3 4 1.00 * st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: 6 4 2.00 * st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: 3 4 1.00 * st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: 6 4 2.00 * st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: 6 4 2.00 * st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: 3 4 1.00 * st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: 3 4 1.00 * st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: 3 4 1.00 * st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: 4 4 1.00 * st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: 3 4 1.00 * st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: 6 5 2.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: 9 6 3.00 * st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: 6 5 2.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 10 6 3.00 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 9 6 3.00 * st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: 6 5 2.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: 9 6 3.00 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 9 6 3.00 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 6 5 2.00 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 6 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 7 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 6 5 2.00 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 6 5 2.00 * st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: 8 6 3.00 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: 16 7 6.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: 8 6 3.00 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: 16 7 6.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: 8 6 3.00 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 17 7 6.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: 16 7 6.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: 12 5 4.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: 4 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 4 6 1.50 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 4 6 1.50 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 6 4 2.00 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 4 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: 5 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 # CHECK-NEXT: 7 4 2.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 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 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 2 0.25 suqadd b19, b14 # CHECK-NEXT: 1 2 0.25 suqadd d18, d22 # CHECK-NEXT: 1 2 0.25 suqadd h20, h15 @@ -2190,6 +1256,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 @@ -2197,6 +1264,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 @@ -2232,8 +1300,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 2.00 ucvtf h22, h16, #11 +# CHECK-NEXT: 4 6 2.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 @@ -2243,13 +1315,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 2.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.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 @@ -2265,7 +1340,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 5 0.50 uminv b0, v0.8b @@ -2274,35 +1351,50 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 5 0.50 uminv h0, v0.8h # CHECK-NEXT: 1 3 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: 2 2 1.00 umov w6, v22.b[0] # CHECK-NEXT: 2 2 1.00 umov w0, v0.b[1] +# CHECK-NEXT: 2 2 1.00 umov w10, v25.h[0] # CHECK-NEXT: 2 2 1.00 umov w0, v0.h[1] # CHECK-NEXT: 2 2 1.00 mov w0, v0.s[1] # CHECK-NEXT: 2 2 1.00 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 4 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 4 0.50 uqrshrn h12, s10, #14 @@ -2325,6 +1417,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 @@ -2339,8 +1432,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 @@ -2355,7 +1450,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 @@ -2378,15 +1475,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 0.50 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 0.50 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b -# 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.50 ushr d10, d17, #18 # CHECK-NEXT: 1 2 0.50 ushr v0.16b, v0.16b, #3 @@ -2396,7 +1494,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ushr v0.4s, v0.4s, #3 # 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: 2 2 1.00 U smov w15, v22.b[0] +# CHECK-NEXT: 2 2 1.00 U smov w26, v27.h[0] +# CHECK-NEXT: 2 2 1.00 U smov x21, v0.b[0] +# CHECK-NEXT: 2 2 1.00 U smov x9, v27.h[0] +# CHECK-NEXT: 2 2 1.00 U smov x15, v3.s[0] # CHECK-NEXT: 2 2 1.00 smov w0, v0.b[1] # CHECK-NEXT: 2 2 1.00 smov w0, v0.h[1] # CHECK-NEXT: 2 2 1.00 smov x0, v0.b[1] @@ -2492,7 +1594,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] [8] [9] [10] [11] [12] [13] [14] -# CHECK-NEXT: - - - - - - - 27.33 48.83 48.83 16.17 5.17 5.17 5.17 5.17 5.17 503.25 376.25 451.75 324.75 +# CHECK-NEXT: - - - - - - - 106.00 189.00 189.00 21.17 8.17 8.17 8.17 8.17 8.17 725.75 566.75 561.75 402.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] [8] [9] [10] [11] [12] [13] [14] Instructions: @@ -2512,8 +1614,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 @@ -2524,21 +1628,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 aesimc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 and v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0 -# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn v0.4h, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn2 v0.8h, v0.4s -# 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 -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, 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 @@ -2551,28 +1651,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 @@ -2598,7 +1707,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 @@ -2606,41 +1718,67 @@ 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 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 faddp v16.2d, v11.2d, v5.2d +# 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 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 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 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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtas h12, h13 @@ -2727,9 +1865,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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -2741,9 +1881,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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: - - - - - - - - - - - - - - - - 7.00 - 7.00 - fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - 2.50 - 2.50 - fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - 3.50 - 3.50 - fdiv v0.4h, v0.4h, v0.4h @@ -2755,12 +1897,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 @@ -2770,52 +1919,71 @@ 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 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 -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] -# 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 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 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 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 -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h +# 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 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.25 0.25 0.25 0.25 frecpe v0.2d, v0.2d @@ -2823,23 +1991,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.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 - frint32x v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32x v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32z v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64x v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64z v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frinta v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frinta v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frinta v0.4h, v0.4h @@ -2875,13 +2035,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: - - - - - - - - - - - - - - - - 2.00 - 2.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.25 0.25 0.25 0.25 frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 - 1.00 - 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: - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -2890,52 +2054,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - 3.50 - 3.50 - fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - 4.50 - 4.50 - fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - 6.50 - 6.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.17 0.17 0.17 0.17 0.17 0.17 - - - - 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.17 0.17 0.17 0.17 0.17 0.17 - - - - 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.00 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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.17 0.17 0.17 0.17 0.17 0.17 - - - - 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: - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - 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: - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - 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: - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - 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: - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.17 0.17 0.17 0.17 0.17 0.17 - - - - ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 - - - - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 0.17 0.17 0.17 0.17 0.17 0.17 - - - - 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 - - - - ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - 0.25 0.25 0.25 0.25 ld1 { v0.b }[9], [x0] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.17 0.17 0.17 0.17 0.17 0.17 0.25 0.25 0.25 0.25 ld1 { v0.b }[9], [x0], #1 # 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 0.50 0.50 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.17 0.17 0.17 0.17 0.17 0.17 0.25 0.25 0.25 0.25 ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - 0.25 0.25 0.25 0.25 ld1r { v0.8h }, [x15] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.17 0.17 0.17 0.17 0.17 0.17 0.25 0.25 0.25 0.25 ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.17 0.17 0.17 0.17 0.17 0.17 0.50 0.50 0.50 0.50 ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - 0.50 0.50 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0] # 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 0.50 0.50 0.50 0.50 ld2 { v0.h, v1.h }[7], [x15], #4 +# 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 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.33 0.33 0.33 - - - - - - 0.50 0.50 0.50 0.50 ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.17 0.17 0.17 0.17 0.17 0.17 0.50 0.50 0.50 0.50 ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 - - - - - - 0.50 0.50 0.50 0.50 ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: - - - - - - - 0.33 0.33 0.33 0.17 0.17 0.17 0.17 0.17 0.17 0.50 0.50 0.50 0.50 ld2r { v0.4s, v1.4s }, [sp], #8 # 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.17 0.17 0.17 0.17 0.17 0.17 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: - - - - - - - 1.00 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 0.75 0.75 0.75 0.75 ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # 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.17 0.17 0.17 0.17 0.17 0.17 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: - - - - - - - 1.00 1.00 1.00 - - - - - - 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.75 0.75 0.75 0.75 ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.17 0.17 0.17 0.17 0.17 0.17 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: - - - - - - - 1.00 1.00 1.00 - - - - - - 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: - - - - - - - 1.00 1.00 1.00 - - - - - - 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.17 0.17 0.17 0.17 0.17 0.17 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: - - - - - - - 1.00 1.00 1.00 - - - - - - 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: - - - - - - - 2.00 2.00 2.00 - - - - - - 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: - - - - - - - 2.00 2.00 2.00 - - - - - - 1.00 1.00 1.00 1.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - - - - - 2.00 2.00 2.00 - - - - - - 1.00 1.00 1.00 1.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 - - - - - - 0.75 0.75 0.75 0.75 ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: - - - - - - - 0.67 0.67 0.67 0.17 0.17 0.17 0.17 0.17 0.17 0.75 0.75 0.75 0.75 ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # 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: - - - - - - - 2.00 2.00 2.00 0.17 0.17 0.17 0.17 0.17 0.17 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: - - - - - - - 2.00 2.00 2.00 - - - - - - 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.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 1.00 1.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 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.33 1.33 1.33 - - - - - - 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.33 1.33 1.33 - - - - - - 1.00 1.00 1.00 1.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - - - 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.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 1.00 1.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 - - - - - - 1.00 1.00 1.00 1.00 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: - - - - - - - 1.33 1.33 1.33 0.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 1.00 1.00 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 1.00 1.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # 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 }, [sp] # CHECK-NEXT: - - - - - - - 1.00 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 1.00 1.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # 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: - - - - - - - - - - - - - - - - 1.00 1.00 - - mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - 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] @@ -2948,11 +2223,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 @@ -2966,8 +2254,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 @@ -3012,6 +2303,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 @@ -3047,6 +2339,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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -3058,26 +2352,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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.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.50 - 0.50 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 @@ -3089,6 +2382,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.50 - 0.50 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 @@ -3100,8 +2394,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 @@ -3120,23 +2416,34 @@ 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 @@ -3150,6 +2457,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 @@ -3157,17 +2465,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] @@ -3228,6 +2553,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.50 - 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 sqrshrn s15, d12, #9 @@ -3253,6 +2581,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 @@ -3349,8 +2678,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.50 - 0.50 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 @@ -3379,32 +2712,96 @@ 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 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.17 0.17 0.17 0.17 0.17 0.17 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.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 - - st1 { v0.4s, v1.4s }, [sp], #32 # 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.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st1 { v1.b }[5], [x1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st1 { v0.h }[2], [x1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st1 { v31.s }[1], [x16] # CHECK-NEXT: - - - - - - - - 0.50 0.50 0.17 0.17 0.17 0.17 0.17 0.17 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: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st1 { v0.d }[1], [x0] # CHECK-NEXT: - - - - - - - - 0.50 0.50 0.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 - - st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 2.00 2.00 - - st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: - - - - - - - - 0.50 0.50 0.17 0.17 0.17 0.17 0.17 0.17 1.00 1.00 - - st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.00 1.00 - - st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - 3.00 3.00 - - st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - - 1.50 1.50 0.17 0.17 0.17 0.17 0.17 0.17 3.00 3.00 - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - 3.00 3.00 - - st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - 3.00 3.00 - - st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: - - - - - - - - 1.50 1.50 - - - - - - 3.00 3.00 - - st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 2.00 2.00 - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 3.00 3.00 - - st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - 6.00 6.00 - - st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 3.00 3.00 - - st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - 6.00 6.00 - - st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 3.00 3.00 - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - - 2.00 2.00 0.17 0.17 0.17 0.17 0.17 0.17 6.00 6.00 - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - 6.00 6.00 - - st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - - 4.00 4.00 - - st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.50 1.50 - - st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.50 1.50 - - st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.50 1.50 - - st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - 2.00 2.00 - - st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - 1.50 1.50 - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: - - - - - - - - 0.50 0.50 0.17 0.17 0.17 0.17 0.17 0.17 1.50 1.50 - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 # CHECK-NEXT: - - - - - - - - 1.00 1.00 0.17 0.17 0.17 0.17 0.17 0.17 2.00 2.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 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 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 suqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd h20, h15 @@ -3447,6 +2844,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 @@ -3454,6 +2852,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 @@ -3489,8 +2888,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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -3500,13 +2903,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: - - - - - - - - - - - - - - - - 2.00 - 2.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -3522,7 +2928,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 @@ -3531,35 +2939,50 @@ 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: - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w6, v22.b[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w10, v25.h[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - mov w0, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - 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.50 - 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 uqrshrn h12, s10, #14 @@ -3582,6 +3005,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 @@ -3596,8 +3020,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 @@ -3612,7 +3038,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 @@ -3635,15 +3063,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b -# 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.50 - 0.50 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 ushr v0.16b, v0.16b, #3 @@ -3653,7 +3082,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - 0.50 - 0.50 ushr v0.4s, v0.4s, #3 # 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: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x15, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w0, v0.b[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x0, v0.b[1] diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-bf16-instructions.s new file mode 100644 index 0000000000000..6622307ae4dfe --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-bf16-instructions.s @@ -0,0 +1,68 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s + +# 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 3 0.50 bfcvt h0, s0 +# CHECK-NEXT: 2 4 1.00 bfcvtn v0.4h, v0.4s +# CHECK-NEXT: 2 4 1.00 bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: 1 2 0.25 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: 1 5 0.25 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: 1 5 0.25 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 6 0.25 bfmmla v0.4s, v0.8h, v0.8h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3UnitB +# CHECK-NEXT: [0.1] - V3UnitB +# CHECK-NEXT: [0.2] - V3UnitB +# CHECK-NEXT: [1.0] - V3UnitD +# CHECK-NEXT: [1.1] - V3UnitD +# CHECK-NEXT: [2.0] - V3UnitFlg +# CHECK-NEXT: [2.1] - V3UnitFlg +# CHECK-NEXT: [2.2] - V3UnitFlg +# CHECK-NEXT: [2.3] - V3UnitFlg +# CHECK-NEXT: [3.0] - V3UnitL12 +# CHECK-NEXT: [3.1] - V3UnitL12 +# CHECK-NEXT: [4] - V3UnitLS0 +# CHECK-NEXT: [5] - V3UnitM0 +# CHECK-NEXT: [6] - V3UnitM1 +# CHECK-NEXT: [7] - V3UnitS0 +# CHECK-NEXT: [8] - V3UnitS1 +# CHECK-NEXT: [9] - V3UnitS2 +# CHECK-NEXT: [10] - V3UnitS3 +# CHECK-NEXT: [11] - V3UnitS4 +# CHECK-NEXT: [12] - V3UnitS5 +# CHECK-NEXT: [13] - V3UnitST1 +# CHECK-NEXT: [14] - V3UnitV0 +# CHECK-NEXT: [15] - V3UnitV1 +# CHECK-NEXT: [16] - V3UnitV2 +# CHECK-NEXT: [17] - V3UnitV3 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.50 2.00 4.50 2.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn v0.4h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - 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 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, 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 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-complxnum-instructions.s new file mode 100644 index 0000000000000..86f434d020f70 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-complxnum-instructions.s @@ -0,0 +1,54 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s + +# 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 2 0.25 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 2 0.25 fcadd v0.4s, v0.4s, v0.4s, #270 +# 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: Resources: +# CHECK-NEXT: [0.0] - V3UnitB +# CHECK-NEXT: [0.1] - V3UnitB +# CHECK-NEXT: [0.2] - V3UnitB +# CHECK-NEXT: [1.0] - V3UnitD +# CHECK-NEXT: [1.1] - V3UnitD +# CHECK-NEXT: [2.0] - V3UnitFlg +# CHECK-NEXT: [2.1] - V3UnitFlg +# CHECK-NEXT: [2.2] - V3UnitFlg +# CHECK-NEXT: [2.3] - V3UnitFlg +# CHECK-NEXT: [3.0] - V3UnitL12 +# CHECK-NEXT: [3.1] - V3UnitL12 +# CHECK-NEXT: [4] - V3UnitLS0 +# CHECK-NEXT: [5] - V3UnitM0 +# CHECK-NEXT: [6] - V3UnitM1 +# CHECK-NEXT: [7] - V3UnitS0 +# CHECK-NEXT: [8] - V3UnitS1 +# CHECK-NEXT: [9] - V3UnitS2 +# CHECK-NEXT: [10] - V3UnitS3 +# CHECK-NEXT: [11] - V3UnitS4 +# CHECK-NEXT: [12] - V3UnitS5 +# CHECK-NEXT: [13] - V3UnitST1 +# CHECK-NEXT: [14] - V3UnitV0 +# CHECK-NEXT: [15] - V3UnitV1 +# CHECK-NEXT: [16] - V3UnitV2 +# CHECK-NEXT: [17] - V3UnitV3 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 1.00 1.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions: +# 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 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 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fp16fml-instructions.s new file mode 100644 index 0000000000000..017568cf5b0d9 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fp16fml-instructions.s @@ -0,0 +1,78 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s + +# 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 4 0.25 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.4h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3UnitB +# CHECK-NEXT: [0.1] - V3UnitB +# CHECK-NEXT: [0.2] - V3UnitB +# CHECK-NEXT: [1.0] - V3UnitD +# CHECK-NEXT: [1.1] - V3UnitD +# CHECK-NEXT: [2.0] - V3UnitFlg +# CHECK-NEXT: [2.1] - V3UnitFlg +# CHECK-NEXT: [2.2] - V3UnitFlg +# CHECK-NEXT: [2.3] - V3UnitFlg +# CHECK-NEXT: [3.0] - V3UnitL12 +# CHECK-NEXT: [3.1] - V3UnitL12 +# CHECK-NEXT: [4] - V3UnitLS0 +# CHECK-NEXT: [5] - V3UnitM0 +# CHECK-NEXT: [6] - V3UnitM1 +# CHECK-NEXT: [7] - V3UnitS0 +# CHECK-NEXT: [8] - V3UnitS1 +# CHECK-NEXT: [9] - V3UnitS2 +# CHECK-NEXT: [10] - V3UnitS3 +# CHECK-NEXT: [11] - V3UnitS4 +# CHECK-NEXT: [12] - V3UnitS5 +# CHECK-NEXT: [13] - V3UnitST1 +# CHECK-NEXT: [14] - V3UnitV0 +# CHECK-NEXT: [15] - V3UnitV1 +# CHECK-NEXT: [16] - V3UnitV2 +# CHECK-NEXT: [17] - V3UnitV3 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 4.00 4.00 4.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions: +# 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 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] +# 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 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 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fptoint-instructions.s new file mode 100644 index 0000000000000..6a823470af0b5 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-fptoint-instructions.s @@ -0,0 +1,70 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s + +# 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 3 0.50 frint32x v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint32x v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint32x v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 frint32z v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint32z v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint32z v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 frint64x v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint64x v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint64x v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 frint64z v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 frint64z v0.2s, v0.2s +# CHECK-NEXT: 2 4 1.00 frint64z v0.4s, v0.4s + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3UnitB +# CHECK-NEXT: [0.1] - V3UnitB +# CHECK-NEXT: [0.2] - V3UnitB +# CHECK-NEXT: [1.0] - V3UnitD +# CHECK-NEXT: [1.1] - V3UnitD +# CHECK-NEXT: [2.0] - V3UnitFlg +# CHECK-NEXT: [2.1] - V3UnitFlg +# CHECK-NEXT: [2.2] - V3UnitFlg +# CHECK-NEXT: [2.3] - V3UnitFlg +# CHECK-NEXT: [3.0] - V3UnitL12 +# CHECK-NEXT: [3.1] - V3UnitL12 +# CHECK-NEXT: [4] - V3UnitLS0 +# CHECK-NEXT: [5] - V3UnitM0 +# CHECK-NEXT: [6] - V3UnitM1 +# CHECK-NEXT: [7] - V3UnitS0 +# CHECK-NEXT: [8] - V3UnitS1 +# CHECK-NEXT: [9] - V3UnitS2 +# CHECK-NEXT: [10] - V3UnitS3 +# CHECK-NEXT: [11] - V3UnitS4 +# CHECK-NEXT: [12] - V3UnitS5 +# CHECK-NEXT: [13] - V3UnitST1 +# CHECK-NEXT: [14] - V3UnitV0 +# CHECK-NEXT: [15] - V3UnitV1 +# CHECK-NEXT: [16] - V3UnitV2 +# CHECK-NEXT: [17] - V3UnitV3 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 8.00 - 8.00 - + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32z v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64z v0.4s, v0.4s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-i8mm-instructions.s new file mode 100644 index 0000000000000..9ed5bd395da4b --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-i8mm-instructions.s @@ -0,0 +1,64 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s + +# 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 3 0.25 smmla v0.4s, v0.16b, v0.16b +# 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 3 0.25 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b +# 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 3 0.25 usmmla v0.4s, v0.16b, v0.16b + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3UnitB +# CHECK-NEXT: [0.1] - V3UnitB +# CHECK-NEXT: [0.2] - V3UnitB +# CHECK-NEXT: [1.0] - V3UnitD +# CHECK-NEXT: [1.1] - V3UnitD +# CHECK-NEXT: [2.0] - V3UnitFlg +# CHECK-NEXT: [2.1] - V3UnitFlg +# CHECK-NEXT: [2.2] - V3UnitFlg +# CHECK-NEXT: [2.3] - V3UnitFlg +# CHECK-NEXT: [3.0] - V3UnitL12 +# CHECK-NEXT: [3.1] - V3UnitL12 +# CHECK-NEXT: [4] - V3UnitLS0 +# CHECK-NEXT: [5] - V3UnitM0 +# CHECK-NEXT: [6] - V3UnitM1 +# CHECK-NEXT: [7] - V3UnitS0 +# CHECK-NEXT: [8] - V3UnitS1 +# CHECK-NEXT: [9] - V3UnitS2 +# CHECK-NEXT: [10] - V3UnitS3 +# CHECK-NEXT: [11] - V3UnitS4 +# CHECK-NEXT: [12] - V3UnitS5 +# CHECK-NEXT: [13] - V3UnitST1 +# CHECK-NEXT: [14] - V3UnitV0 +# CHECK-NEXT: [15] - V3UnitV1 +# CHECK-NEXT: [16] - V3UnitV2 +# CHECK-NEXT: [17] - V3UnitV3 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.25 2.25 2.25 2.25 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 smmla v0.4s, v0.16b, v0.16b +# 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 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b +# 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.25 0.25 0.25 0.25 usmmla v0.4s, v0.16b, v0.16b diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s index dc0d027021812..7e53aa03caf75 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3-neon-instructions.s @@ -1,1234 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -mattr=+aes,+sha3,+sm4 -instruction-tables < %s | FileCheck %s - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 v0.2d, v0.2d, v0.2d -addp v0.8b, v0.8b, v0.8b -addv s0, v0.4s -addv h0, v0.4h -addv h0, v0.8h -addv b0, v0.8b -addv b0, v0.16b -aesd v0.16b, v0.16b -aese v0.16b, v0.16b -aesimc v0.16b, v0.16b -aesmc v0.16b, v0.16b -and v0.8b, v0.8b, v0.8b -bfcvt h0, s0 -bfcvtn v0.4h, v0.4s -bfcvtn2 v0.8h, v0.4s -bfdot v0.2s, v0.4h, v0.4h -bfdot v0.4s, v0.8h, v0.8h -bfmlalb v0.4s, v0.8h, v0.8h -bfmlalb v0.4s, v0.8h, v0.h[3] -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 v0.8b, v0.8b, v0.8b -bif v0.16b, v0.16b, v0.16b -bit v0.16b, v0.16b, v0.16b -bsl v0.8b, v0.8b, v0.8b -cls v0.16b, v0.16b -cls v0.2s, v0.2s -cls v0.4h, v0.4h -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -clz v0.4h, v0.4h -clz v0.4s, v0.4s -clz v0.8b, v0.8b -clz v0.8h, v0.8h -cmeq d20, d21, 0 -cmeq d20, d21, d22 -cmeq v0.16b, v0.16b, 0 -cmeq v0.16b, v0.16b, v0.16b -cmge d20, d21, 0 -cmge d20, d21, d22 -cmge v0.4h, v0.4h, v0.4h -cmge v0.8b, v0.8b, 0 -cmgt d20, d21, 0 -cmgt d20, d21, d22 -cmgt v0.2s, v0.2s, 0 -cmgt v0.4s, v0.4s, v0.4s -cmhi d20, d21, d22 -cmhi v0.8h, v0.8h, v0.8h -cmhs d20, d21, d22 -cmhs v0.8b, v0.8b, v0.8b -cmle d20, d21, 0 -cmle v0.2d, v0.2d, 0 -cmlt d20, d21, 0 -cmlt v0.8h, v0.8h, 0 -cmtst d20, d21, d22 -cmtst v0.2s, v0.2s, v0.2s -cnt v0.16b, v0.16b -cnt v0.8b, v0.8b -dup v0.16b,w28 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -dup b0, v0.b[1] -dup d0, v0.d[1] -dup h0, v0.h[1] -dup s0, v0.s[1] -dup v0.16b, v0.b[1] -dup v0.2d, v0.d[1] -dup v0.2s, v0.s[1] -dup v0.4h, v0.h[1] -dup v0.4s, v0.s[1] -dup v0.8b, v0.b[1] -dup v0.8h, v0.h[1] -eor v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, v0.4s -fabs v0.2d, v0.2d -fabs v0.2s, v0.2s -fabs v0.4h, v0.4h -fabs v0.4s, v0.4s -fabs v0.8h, v0.8h -facge d20, d21, d22 -facge s10, s11, s12 -facge v0.4s, v0.4s, v0.4s -facgt d20, d21, d22 -facgt s10, s11, s12 -facgt v0.2d, v0.2d, v0.2d -fadd v0.4s, v0.4s, v0.4s -faddp v0.2s, v0.2s, v0.2s -faddp v0.4s, v0.4s, v0.4s -fcadd v0.2s, v0.2s, v0.2s, 90 -fcadd v0.4s, v0.4s, v0.4s, 270 -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 -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 v0.4s, v0.4s, v0.4s -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 -fcmla v0.2s, v0.2s, v0.2s, #90 -fcmla v0.4s, v0.4s, v0.s[1], #0 -fcmle d20, d21, #0.0 -fcmle s10, s11, #0.0 -fcmle v0.2d, v0.2d, #0.0 -fcmlt d20, d21, #0.0 -fcmlt s10, s11, #0.0 -fcmlt v0.4s, v0.4s, #0.0 -fcvtas d21, d14 -fcvtas s12, s13 -fcvtas h12, h13 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau h12, h13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms h22, h13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu h12, h13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns h22, h13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu h12, h13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps h22, h13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu h12, h13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs h21, h14 -fcvtzs h21, h12, #1 -fcvtzs v0.2d, v0.2d -fcvtzs v0.2d, v0.2d, #3 -fcvtzs v0.2s, v0.2s -fcvtzs v0.2s, v0.2s, #3 -fcvtzs v0.4h, v0.4h -fcvtzs v0.4s, v0.4s -fcvtzs v0.4s, v0.4s, #3 -fcvtzs v0.8h, v0.8h -fcvtzu d21, d12, #1 -fcvtzu d21, d14 -fcvtzu s12, s13 -fcvtzu s21, s12, #1 -fcvtzu h12, h13 -fcvtzu h21, h12, #1 -fcvtzu v0.2d, v0.2d -fcvtzu v0.2d, v0.2d, #3 -fcvtzu v0.2s, v0.2s -fcvtzu v0.2s, v0.2s, #3 -fcvtzu v0.4h, v0.4h -fcvtzu v0.4s, v0.4s -fcvtzu v0.4s, v0.4s, #3 -fcvtzu v0.8h, v0.8h -fdiv v0.2d, v0.2d, v0.2d -fdiv v0.2s, v0.2s, v0.2s -fdiv v0.4h, v0.4h, v0.4h -fdiv v0.4s, v0.4s, v0.4s -fdiv v0.8h, v0.8h, v0.8h -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fmaxnmp v0.2s, v0.2s, v0.2s -fmaxnmp v0.4s, v0.4s, v0.4s -fmaxp v0.2d, v0.2d, v0.2d -fmaxp v0.2s, v0.2s, v0.2s -fmaxp v0.4s, v0.4s, v0.4s -fmaxv h0, v0.4h -fmaxv h0, v0.8h -fmaxv s0, v0.4s -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fminnmp v0.2s, v0.2s, v0.2s -fminnmp v0.4s, v0.4s, v0.4s -fminp v0.2d, v0.2d, v0.2d -fminp v0.2s, v0.2s, v0.2s -fminp v0.4s, v0.4s, v0.4s -fmla d0, d1, v0.d[1] -fmla s0, s1, v0.s[3] -fmla v0.2s, v0.2s, v0.2s -fmlal v0.2s, v0.2h, v0.h[1] -fmlal v0.4s, v0.4h, v0.h[3] -fmlal v0.2s, v0.2h, v0.2h -fmlal v0.4s, v0.4h, v0.4h -fmlal2 v0.2s, v0.2h, v0.h[1] -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 s3, s5, v0.s[3] -fmls v0.2s, v0.2s, v0.2s -fmlsl v0.2s, v0.2h, v0.h[1] -fmlsl v0.4s, v0.4h, v0.h[3] -fmlsl v0.2s, v0.2h, v0.2h -fmlsl v0.4s, v0.4h, v0.4h -fmlsl2 v0.2s, v0.2h, v0.h[1] -fmlsl2 v0.4s, v0.4h, v0.h[3] -fmlsl2 v0.2s, v0.2h, v0.2h -fmlsl2 v0.4s, v0.4h, v0.4h -fmov v0.2d, #-1.25 -fmov v0.2s, #13.0 -fmov v0.4s, #1.0 -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 s3, s5, v0.s[3] -fmulx v0.2d, v0.2d, v0.2d -fmulx v0.2s, v0.2s, v0.2s -fmulx v0.4s, v0.4s, v0.4s -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 d13, d13 -frecpe s19, s14 -frecpe v0.2d, v0.2d -frecpe v0.2s, v0.2s -frecpe v0.4h, v0.4h -frecpe v0.4s, v0.4s -frecpe v0.8h, v0.8h -frecps v0.4s, v0.4s, v0.4s -frecps d22, d30, d21 -frecps s21, s16, s13 -frecpx d16, d19 -frecpx s18, s10 -frint32x v0.2d, v0.2d -frint32x v0.2s, v0.2s -frint32x v0.4s, v0.4s -frint32z v0.2d, v0.2d -frint32z v0.2s, v0.2s -frint32z v0.4s, v0.4s -frint64x v0.2d, v0.2d -frint64x v0.2s, v0.2s -frint64x v0.4s, v0.4s -frint64z v0.2d, v0.2d -frint64z v0.2s, v0.2s -frint64z v0.4s, v0.4s -frinta v0.2d, v0.2d -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -frintz v0.2s, v0.2s -frintz v0.4h, v0.4h -frintz v0.4s, v0.4s -frintz v0.8h, v0.8h -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 -frsqrte v0.8h, v0.8h -frsqrts d8, d22, d18 -frsqrts s21, s5, s12 -frsqrts v0.2d, v0.2d, v0.2d -fsqrt v0.2d, v0.2d -fsqrt v0.2s, v0.2s -fsqrt v0.4h, v0.4h -fsqrt v0.4s, v0.4s -fsqrt v0.8h, v0.8h -fsub v0.2s, v0.2s, v0.2s -ld1 { v0.16b }, [x0] -ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -ld1 { v0.4s, v1.4s }, [sp], #32 -ld1 { v0.4s, v1.4s, v2.4s }, [sp] -ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -ld1 { v0.8h }, [x15], x2 -ld1 { v0.8h, v1.8h }, [x15] -ld1 { v0.b }[9], [x0] -ld1 { v0.b }[9], [x0], #1 -ld1r { v0.16b }, [x0] -ld1r { v0.16b }, [x0], #1 -ld1r { v0.8h }, [x15] -ld1r { v0.8h }, [x15], #2 -ld2 { v0.16b, v1.16b }, [x0], x1 -ld2 { v0.8b, v1.8b }, [x0] -ld2 { v0.h, v1.h }[7], [x15] -ld2 { v0.h, v1.h }[7], [x15], #4 -ld2r { v0.2d, v1.2d }, [x0] -ld2r { v0.2d, v1.2d }, [x0], #16 -ld2r { v0.4s, v1.4s }, [sp] -ld2r { v0.4s, v1.4s }, [sp], #8 -ld3 { v0.4h, v1.4h, v2.4h }, [x15] -ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -ld3 { v0.s, v1.s, v2.s }[3], [sp] -ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 -ld3r { v0.4h, v1.4h, v2.4h }, [x15] -ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 -ld3r { v0.8b, v1.8b, v2.8b }, [x0] -ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 -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 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 -ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 -mla v0.8b, v0.8b, v0.8b -mls v0.4h, v0.4h, v0.4h -mov b0, v0.b[15] -mov d6, v0.d[1] -mov h2, v0.h[5] -mov s17, v0.s[2] -mov v2.b[0], v0.b[0] -mov v2.h[1], v0.h[1] -mov v2.s[2], v0.s[2] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -mov v0.16b, v0.16b -mov v0.8b, v0.8b -movi d15, #0xff00ff00ff00ff -movi v0.16b, #31 -movi v0.2d, #0xff0000ff0000ffff -movi v0.2s, #8, msl #8 -movi v0.4s, #255, lsl #24 -movi v0.8b, #255 -mul v0.8b, v0.8b, v0.8b -mvni v0.2s, 0 -mvni v0.4s, #16, msl #16 -neg d29, d24 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -neg v0.8h, v0.8h -not v0.16b, v0.16b -not v0.8b, v0.8b -orn v0.16b, v0.16b, v0.16b -orr v0.16b, v0.16b, v0.16b -orr v0.8h, #31 -pmul v0.16b, v0.16b, v0.16b -pmul v0.8b, v0.8b, v0.8b -pmull v0.8h, v0.8b, v0.8b -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl v0.2d, v0.2s, v0.2s -sabdl v0.4s, v0.4h, v0.4h -sabdl v0.8h, v0.8b, v0.8b -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddlv d0, v0.4s -saddlv s0, v0.4h -saddlv s0, v0.8h -saddlv h0, v0.8b -saddlv h0, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 d21, d12 -scvtf d21, d12, #64 -scvtf s22, s13 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -scvtf v0.2s, v0.2s, #3 -scvtf v0.4h, v0.4h -scvtf v0.4s, v0.4s -scvtf v0.4s, v0.4s, #3 -scvtf v0.8h, v0.8h -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 -shl d7, d10, #12 -shl v0.16b, v0.16b, #3 -shl v0.2d, v0.2d, #3 -shl v0.4h, v0.4h, #3 -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 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli d10, d14, #12 -sli v0.16b, v0.16b, #3 -sli v0.2d, v0.2d, #3 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxp v0.2s, v0.2s, v0.2s -smaxp v0.4h, v0.4h, v0.4h -smaxp v0.8b, v0.8b, v0.8b -smaxv b0, v0.8b -smaxv b0, v0.16b -smaxv h0, v0.4h -smaxv h0, v0.8h -smaxv s0, v0.4s -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -sminv b0, v0.8b -sminv b0, v0.16b -sminv h0, v0.4h -sminv h0, v0.8h -sminv s0, v0.4s -smlal v0.2d, v0.2s, v0.2s -smlal v0.4s, v0.4h, v0.4h -smlal v0.8h, v0.8b, v0.8b -smlal2 v0.2d, v0.4s, v0.4s -smlal2 v0.4s, v0.8h, v0.8h -smlal2 v0.8h, v0.16b, v0.16b -smlsl v0.2d, v0.2s, v0.2s -smlsl v0.4s, v0.4h, v0.4h -smlsl v0.8h, v0.8b, v0.8b -smlsl2 v0.2d, v0.4s, v0.4s -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 v0.4s, v0.4h, v0.4h -smull v0.8h, v0.8b, v0.8b -smull2 v0.2d, v0.4s, v0.4s -smull2 v0.4s, v0.8h, v0.8h -smull2 v0.8h, v0.16b, v0.16b -sqabs b19, b14 -sqabs d18, d12 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -sqabs v0.4s, v0.4s -sqabs v0.8b, v0.8b -sqabs v0.8h, v0.8h -sqadd b20, b11, b15 -sqadd v0.16b, v0.16b, v0.16b -sqadd v0.2s, v0.2s, v0.2s -sqdmlal d19, s24, s12 -sqdmlal d8, s9, v0.s[1] -sqdmlal s0, h0, v0.h[3] -sqdmlal s17, h27, h12 -sqdmlal v0.2d, v0.2s, v0.2s -sqdmlal v0.4s, v0.4h, v0.4h -sqdmlal2 v0.2d, v0.4s, v0.4s -sqdmlal2 v0.4s, v0.8h, v0.8h -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 v0.4s, v0.4h, v0.4h -sqdmlsl2 v0.2d, v0.4s, v0.4s -sqdmlsl2 v0.4s, v0.8h, v0.8h -sqdmulh h10, h11, h12 -sqdmulh h7, h15, v0.h[3] -sqdmulh s15, s14, v0.s[1] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmlah h0, h1, v2.h[3] -sqrdmlah v0.4h, v1.4h, v2.h[3] -sqrdmlah v0.8h, v1.8h, v2.h[3] -sqrdmlah s0, s1, v2.s[1] -sqrdmlah v0.2s, v1.2s, v2.s[1] -sqrdmlah v0.4s, v1.4s, v2.s[1] -sqrdmlah h0, h1, h2 -sqrdmlah v0.4h, v1.4h, v2.4h -sqrdmlah v0.8h, v1.8h, v2.8h -sqrdmlah s0, s1, s2 -sqrdmlah v0.2s, v1.2s, v2.2s -sqrdmlah v0.4s, v1.4s, v2.4s -sqrdmlsh h0, h1, v2.h[3] -sqrdmlsh v0.4h, v1.4h, v2.h[3] -sqrdmlsh v0.8h, v1.8h, v2.h[3] -sqrdmlsh s0, s1, v2.s[1] -sqrdmlsh v0.2s, v1.2s, v2.s[1] -sqrdmlsh v0.4s, v1.4s, v2.s[1] -sqrdmlsh h0, h1, h2 -sqrdmlsh v0.4h, v1.4h, v2.4h -sqrdmlsh v0.8h, v1.8h, v2.8h -sqrdmlsh s0, s1, s2 -sqrdmlsh v0.2s, v1.2s, v2.2s -sqrdmlsh v0.4s, v1.4s, v2.4s -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn b10, h13, #2 -sqrshrn h15, s10, #6 -sqrshrn s15, d12, #9 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -sqshl h13, h18, #11 -sqshl h3, h4, h15 -sqshl s14, s17, #22 -sqshl v0.16b, v0.16b, #3 -sqshl v0.2d, v0.2d, #3 -sqshl v0.2s, v0.2s, #3 -sqshl v0.2s, v0.2s, v0.2s -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 v0.2d, v0.2s, #3 -sshll2 v0.4s, v0.8h, #3 -sshr d15, d16, #12 -sshr v0.16b, v0.16b, #3 -sshr v0.2d, v0.2d, #3 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 { v0.16b }, [x0] -st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -st1 { v0.4s, v1.4s }, [sp], #32 -st1 { v0.4s, v1.4s, v2.4s }, [sp] -st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -st1 { v0.8h }, [x15], x2 -st1 { v0.8h, v1.8h }, [x15] -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 { v0.s, v1.s }[3], [sp] -st2 { v0.s, v1.s }[3], [sp], #8 -st3 { v0.4h, v1.4h, v2.4h }, [x15] -st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -st3 { v0.h, v1.h, v2.h }[7], [x15] -st3 { v0.h, v1.h, v2.h }[7], [x15], #6 -st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] -st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 -sub d15, d5, d16 -sub v0.2d, v0.2d, v0.2d -sudot v0.2s, v0.8b, v0.4b[2] -sudot v0.4s, v0.16b, v0.4b[2] -suqadd b19, b14 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -uabal v0.2d, v0.2s, v0.2s -uabal v0.4s, v0.4h, v0.4h -uabal v0.8h, v0.8b, v0.8b -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 -uabdl v0.2d, v0.2s, v0.2s -uabdl v0.4s, v0.4h, v0.4h -uabdl v0.8h, v0.8b, v0.8b -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddlv d0, v0.4s -uaddlv s0, v0.4h -uaddlv s0, v0.8h -uaddlv h0, v0.8b -uaddlv h0, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 d21, d14 -ucvtf d21, d14, #64 -ucvtf s22, s13 -ucvtf s22, s13, #32 -ucvtf v0.2d, v0.2d -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -ucvtf v0.2s, v0.2s, #3 -ucvtf v0.4h, v0.4h -ucvtf v0.4s, v0.4s -ucvtf v0.4s, v0.4s, #3 -ucvtf v0.8h, v0.8h -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 v0.4s, v0.4s, v0.4s -umax v0.16b, v0.16b, v0.16b -umax v0.4s, v0.4s, v0.4s -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umaxv b0, v0.8b -umaxv b0, v0.16b -umaxv h0, v0.4h -umaxv h0, v0.8h -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 -uminp v0.2s, v0.2s, v0.2s -uminp v0.4h, v0.4h, v0.4h -uminp v0.8b, v0.8b, v0.8b -uminv b0, v0.8b -uminv b0, v0.16b -uminv h0, v0.4h -uminv h0, v0.8h -uminv s0, v0.4s -umlal v0.2d, v0.2s, v0.2s -umlal v0.4s, v0.4h, v0.4h -umlal v0.8h, v0.8b, v0.8b -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 v0.4s, v0.4h, v0.4h -umlsl v0.8h, v0.8b, v0.8b -umlsl2 v0.2d, v0.4s, v0.4s -umlsl2 v0.4s, v0.8h, v0.8h -umlsl2 v0.8h, v0.16b, v0.16b -ummla v0.4s, v0.16b, v0.16b -umov w0, v0.b[1] -umov w0, v0.h[1] -umov w0, v0.s[1] -umov x0, v0.d[1] -umull v0.2d, v0.2s, v0.2s -umull v0.4s, v0.4h, v0.4h -umull v0.8h, v0.8b, v0.8b -umull2 v0.2d, v0.4s, v0.4s -umull2 v0.4s, v0.8h, v0.8h -umull2 v0.8h, v0.16b, v0.16b -uqadd h0, h1, h5 -uqadd v0.8h, v0.8h, v0.8h -uqrshl b11, b20, b30 -uqrshl s23, s20, s16 -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 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, #3 -uqshl v0.4s, v0.4s, v0.4s -uqshl v0.8b, v0.8b, #3 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 d16, d16, d16 -uqsub v0.4h, v0.4h, v0.4h -uqxtn b18, h18 -uqxtn h20, s17 -uqxtn s19, d14 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl d8, d7, d4 -urshl v0.16b, v0.16b, v0.16b -urshl v0.2d, v0.2d, v0.2d -urshl v0.4s, v0.4s, v0.4s -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -usdot v0.2s, v0.8b, v0.4b[2] -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 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 -ushll2 v0.8h, v0.16b, #3 -ushr d10, d17, #18 -ushr v0.16b, v0.16b, #3 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -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 w0, v0.b[1] -smov w0, v0.h[1] -smov x0, v0.b[1] -smov x0, v0.h[1] -smov x0, v0.s[1] -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3 -mattr=+aes -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1255,8 +26,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 3 0.50 addv s0, v0.4s # CHECK-NEXT: 1 3 0.50 addv h0, v0.4h # CHECK-NEXT: 2 5 0.50 addv h0, v0.8h @@ -1267,21 +40,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 aesimc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 and v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 3 0.50 bfcvt h0, s0 -# CHECK-NEXT: 2 4 1.00 bfcvtn v0.4h, v0.4s -# CHECK-NEXT: 2 4 1.00 bfcvtn2 v0.8h, v0.4s -# CHECK-NEXT: 1 5 0.25 bfdot v0.2s, v0.4h, v0.4h -# CHECK-NEXT: 1 5 0.25 bfdot v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.25 bfmlalt v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 6 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 @@ -1294,28 +63,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 @@ -1341,7 +119,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 @@ -1349,41 +130,67 @@ 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 fcadd v0.2s, v0.2s, v0.2s, #90 -# CHECK-NEXT: 1 2 0.25 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 2 0.25 faddp v16.2d, v11.2d, v5.2d +# 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 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 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 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 2.00 fcvtas h12, h13 @@ -1470,9 +277,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 2.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.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 @@ -1484,9 +293,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 2.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.00 fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: 1 14 2.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 9 2.00 fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 9 4.00 fdiv v0.4h, v0.4h, v0.4h @@ -1498,12 +309,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 @@ -1513,52 +331,71 @@ 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 fmlal v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlal v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlal2 v0.4s, v0.4h, v0.4h +# 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 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 fmlsl v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlsl v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.25 fmlsl2 v0.4s, v0.4h, v0.4h +# 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 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 3 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 2 0.25 frecpe v0.2d, v0.2d @@ -1566,23 +403,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 1.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 2.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 2 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 frint32x v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint32x v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint32x v0.4s, v0.4s -# CHECK-NEXT: 1 3 0.50 frint32z v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint32z v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint32z v0.4s, v0.4s -# CHECK-NEXT: 1 3 0.50 frint64x v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint64x v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint64x v0.4s, v0.4s -# CHECK-NEXT: 1 3 0.50 frint64z v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 frint64z v0.2s, v0.2s -# CHECK-NEXT: 2 4 1.00 frint64z v0.4s, v0.4s # CHECK-NEXT: 1 3 0.50 frinta v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 frinta v0.2s, v0.2s # CHECK-NEXT: 2 4 1.00 frinta v0.4h, v0.4h @@ -1618,13 +447,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 2.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 1 3 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 2 0.25 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 0.50 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 1.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 1.00 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: 4 6 2.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 2 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 @@ -1633,52 +466,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 9 4.00 fsqrt v0.4h, v0.4h # CHECK-NEXT: 1 11 4.00 fsqrt v0.4s, v0.4s # CHECK-NEXT: 1 13 8.00 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 6 1.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 6 0.67 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 7 1.33 * 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 6 0.33 * ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 6 0.67 * ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 8 0.33 * ld1 { v0.b }[9], [x0] # CHECK-NEXT: 3 8 0.33 * ld1 { v0.b }[9], [x0], #1 # 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.33 * ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: 2 8 0.33 * ld1r { v0.8h }, [x15] # CHECK-NEXT: 3 8 0.33 * ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: 5 8 0.67 * ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 8 0.50 * ld2 { v0.8b, v1.8b }, [x0] # 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: 4 8 0.50 * ld2 { v0.h, v1.h }[7], [x15], #4 +# 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: 3 8 0.50 * ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: 4 8 0.50 * ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: 3 8 0.50 * ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: 4 8 0.50 * ld2r { v0.4s, v1.4s }, [sp], #8 # 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: 7 8 1.00 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # 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: 6 8 1.00 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 5 8 0.75 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # 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: 6 8 1.00 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: 5 8 0.75 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 6 8 1.00 * 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: 6 8 1.00 * 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: 10 9 2.00 * 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: 10 9 2.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 10 9 2.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 5 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: 6 8 0.75 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: 7 8 1.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 11 9 2.00 * 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: 10 9 2.00 * 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.d, v1.d, v2.d, v3.d }[1], [x0], #32 # 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: 8 8 1.33 * 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: 8 8 1.33 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 8 8 1.33 * 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: 8 8 1.33 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: 9 8 1.33 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 8 8 1.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: 7 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 8 8 1.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # 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: 2 2 1.00 mov w8, v8.s[0] +# CHECK-NEXT: 2 2 1.00 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] @@ -1691,11 +635,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 @@ -1709,8 +666,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.25 pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.25 pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.25 pmull v0.8h, v0.8b, v0.8b @@ -1755,6 +715,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 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 @@ -1790,6 +751,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 2.00 scvtf h4, h8, #9 +# CHECK-NEXT: 4 6 2.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 @@ -1801,26 +764,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 2.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.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.25 shl v23.8b, v18.8b, #6 # CHECK-NEXT: 1 2 0.25 shl v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.25 shl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 2 0.25 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 2 0.25 shl v0.8h, v23.8h, #10 # CHECK-NEXT: 1 2 0.25 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: 1 2 0.25 shll v0.2d, v0.2s, #32 # CHECK-NEXT: 1 2 0.25 shll v0.4s, v0.4h, #16 # CHECK-NEXT: 1 2 0.25 shll v0.8h, v0.8b, #8 # CHECK-NEXT: 1 2 0.25 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: 1 2 0.25 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: 1 2 0.25 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: 1 2 0.25 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: 1 2 0.25 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: 1 2 0.25 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: 1 2 0.25 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: 1 2 0.25 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: 1 2 0.25 shll2 v0.8h, v0.16b, #8 @@ -1832,6 +794,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 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.25 sli v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.25 sli v0.2d, v0.2d, #3 @@ -1843,8 +806,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 5 0.50 smaxv b0, v0.8b # CHECK-NEXT: 2 6 1.00 smaxv b0, v0.16b @@ -1863,23 +828,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 5 0.50 sminv h0, v0.8h # CHECK-NEXT: 1 3 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 @@ -1893,6 +869,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 @@ -1900,17 +877,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] @@ -1971,6 +965,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 0.25 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 4 0.25 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.25 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 4 0.25 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 4 0.25 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 4 0.25 sqrshrn s15, d12, #9 @@ -1996,6 +993,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 sqshl h3, h4, h15 # CHECK-NEXT: 1 4 0.25 sqshl s14, s17, #22 # CHECK-NEXT: 1 4 0.25 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: 1 4 0.25 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: 1 4 0.25 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: 1 4 0.25 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 0.25 sqshl v0.2s, v0.2s, v0.2s @@ -2092,8 +1090,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.25 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.25 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.25 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: 1 2 0.25 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: 1 2 0.25 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: 1 2 0.25 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: 1 2 0.25 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: 1 2 0.25 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: 1 2 0.25 sshr d15, d16, #12 # CHECK-NEXT: 1 2 0.25 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: 1 2 0.25 sshr v0.2d, v0.2d, #3 @@ -2122,32 +1124,96 @@ 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: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 # 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: 3 4 1.00 * st1 { v1.b }[5], [x1] +# CHECK-NEXT: 3 4 1.00 * st1 { v0.h }[2], [x1] +# CHECK-NEXT: 3 4 1.00 * st1 { v31.s }[1], [x16] # 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: 3 4 1.00 * st1 { v0.d }[1], [x0] # CHECK-NEXT: 4 4 1.00 * st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: 7 4 2.00 * st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 4 1.00 * st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 6 4 2.00 * st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: 3 4 1.00 * st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: 6 4 2.00 * st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: 3 4 1.00 * st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: 6 4 2.00 * st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: 6 4 2.00 * st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: 3 4 1.00 * st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: 3 4 1.00 * st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: 3 4 1.00 * st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: 4 4 1.00 * st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: 3 4 1.00 * st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: 6 5 2.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: 9 6 3.00 * st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: 6 5 2.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 10 6 3.00 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 9 6 3.00 * st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: 6 5 2.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: 9 6 3.00 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 9 6 3.00 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 6 5 2.00 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 6 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 7 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 6 5 2.00 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 6 5 2.00 * st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: 8 6 3.00 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: 16 7 6.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: 8 6 3.00 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: 16 7 6.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: 8 6 3.00 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 17 7 6.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: 16 7 6.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: 12 5 4.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: 4 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 4 6 1.50 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 4 6 1.50 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 6 4 2.00 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 4 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: 5 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 # CHECK-NEXT: 7 4 2.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 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 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 2 0.25 suqadd b19, b14 # CHECK-NEXT: 1 2 0.25 suqadd d18, d22 # CHECK-NEXT: 1 2 0.25 suqadd h20, h15 @@ -2190,6 +1256,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.25 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 0.25 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: 1 4 0.25 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 4 0.25 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 4 0.25 uabal v0.8h, v0.8b, v0.8b @@ -2197,6 +1264,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 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 @@ -2232,8 +1300,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 2.00 ucvtf h22, h16, #11 +# CHECK-NEXT: 4 6 2.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 @@ -2243,13 +1315,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 2.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 2.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 @@ -2265,7 +1340,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 5 0.50 uminv b0, v0.8b @@ -2274,35 +1351,50 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 5 0.50 uminv h0, v0.8h # CHECK-NEXT: 1 3 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: 2 2 1.00 umov w6, v22.b[0] # CHECK-NEXT: 2 2 1.00 umov w0, v0.b[1] +# CHECK-NEXT: 2 2 1.00 umov w10, v25.h[0] # CHECK-NEXT: 2 2 1.00 umov w0, v0.h[1] # CHECK-NEXT: 2 2 1.00 mov w0, v0.s[1] # CHECK-NEXT: 2 2 1.00 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.25 uqrshl b11, b20, b30 # CHECK-NEXT: 1 4 0.25 uqrshl s23, s20, s16 +# CHECK-NEXT: 1 4 0.25 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: 1 4 0.25 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 0.25 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 4 0.25 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.25 uqrshl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 4 0.25 uqrshrn h12, s10, #14 @@ -2325,6 +1417,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 0.25 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: 1 4 0.25 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: 1 4 0.25 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: 1 4 0.25 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 0.25 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.25 uqshl v0.8b, v0.8b, #3 @@ -2339,8 +1432,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: 1 4 0.25 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: 1 4 0.25 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.25 uqxtn b18, h18 # CHECK-NEXT: 1 4 0.25 uqxtn h20, s17 # CHECK-NEXT: 1 4 0.25 uqxtn s19, d14 @@ -2355,7 +1450,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.25 urshl d8, d7, d4 +# CHECK-NEXT: 1 4 0.25 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: 1 4 0.25 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 4 0.25 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 4 0.25 urshl v0.4s, v0.4s, v0.4s @@ -2378,15 +1475,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.25 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 0.25 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 0.25 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: 1 3 0.25 usdot v0.2s, v0.8b, v0.8b -# 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.25 ushl d0, d0, d0 +# CHECK-NEXT: 1 2 0.25 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: 1 2 0.25 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.25 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.25 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: 1 2 0.25 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: 1 2 0.25 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: 1 2 0.25 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: 1 2 0.25 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: 1 2 0.25 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: 1 2 0.25 ushr d10, d17, #18 # CHECK-NEXT: 1 2 0.25 ushr v0.16b, v0.16b, #3 @@ -2396,7 +1494,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.25 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: 1 2 0.25 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.25 ushr v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 3 0.25 usmmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 2 2 1.00 U smov w15, v22.b[0] +# CHECK-NEXT: 2 2 1.00 U smov w26, v27.h[0] +# CHECK-NEXT: 2 2 1.00 U smov x21, v0.b[0] +# CHECK-NEXT: 2 2 1.00 U smov x9, v27.h[0] +# CHECK-NEXT: 2 2 1.00 U smov x15, v3.s[0] # CHECK-NEXT: 2 2 1.00 smov w0, v0.b[1] # CHECK-NEXT: 2 2 1.00 smov w0, v0.h[1] # CHECK-NEXT: 2 2 1.00 smov x0, v0.b[1] @@ -2497,7 +1599,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] -# CHECK-NEXT: - - - - - - - - - 27.33 27.33 48.83 14.88 3.88 3.88 3.88 3.88 3.88 3.88 3.88 21.50 525.00 340.50 478.50 254.00 +# CHECK-NEXT: - - - - - - - - - 106.00 106.00 189.00 19.13 6.13 6.13 6.13 6.13 6.13 6.13 6.13 83.00 750.00 528.50 591.00 329.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Instructions: @@ -2517,8 +1619,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 @@ -2529,21 +1633,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 aesimc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 and v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - bfcvt h0, s0 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn v0.4h, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - bfcvtn2 v0.8h, v0.4s -# 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 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 bfmlalt v0.4s, 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 @@ -2556,28 +1656,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 @@ -2603,7 +1712,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 @@ -2611,41 +1723,67 @@ 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 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 faddp v16.2d, v11.2d, v5.2d +# 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 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 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 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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtas h12, h13 @@ -2732,9 +1870,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -2746,9 +1886,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 2.00 - - fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 2.00 - - fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 4.00 - - fdiv v0.4h, v0.4h, v0.4h @@ -2760,12 +1902,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 @@ -2775,52 +1924,71 @@ 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 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 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlal2 v0.4s, v0.4h, v0.h[3] -# 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 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 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 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 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 fmlsl2 v0.4s, v0.4h, v0.4h +# 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 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.25 0.25 0.25 0.25 frecpe v0.2d, v0.2d @@ -2828,23 +1996,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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 - frint32x v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32x v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32x v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint32z v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint32z v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64x v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64x v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frint64z v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frint64z v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frinta v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frinta v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frinta v0.4h, v0.4h @@ -2880,13 +2040,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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.25 0.25 0.25 0.25 frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 - 0.50 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - 1.00 - 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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -2895,52 +2059,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 4.00 - - fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 4.00 - - fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 8.00 - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - 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.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - - - ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - - - ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - - - ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.25 0.25 0.25 0.25 ld1 { v0.b }[9], [x0] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.25 0.25 0.25 0.25 ld1 { v0.b }[9], [x0], #1 # 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.25 0.25 0.25 0.25 ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.25 0.25 0.25 0.25 ld1r { v0.8h }, [x15] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.25 0.25 0.25 0.25 ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 0.50 0.50 ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 0.50 0.50 ld2 { v0.8b, v1.8b }, [x0] # 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 0.50 0.50 ld2 { v0.h, v1.h }[7], [x15], #4 +# 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.33 0.33 0.33 - - - - - - - - - 0.50 0.50 0.50 0.50 ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 0.50 0.50 ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 0.50 0.50 ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 0.50 0.50 ld2r { v0.4s, v1.4s }, [sp], #8 # 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.75 0.75 0.75 0.75 ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 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.75 0.75 0.75 0.75 ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 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: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 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: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 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: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 1.00 1.00 1.00 1.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 1.00 1.00 1.00 1.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 0.75 0.75 0.75 0.75 ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.75 0.75 0.75 0.75 ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # 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: - - - - - - - - - 2.00 2.00 2.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 1.00 1.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 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.33 1.33 1.33 - - - - - - - - - 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.33 1.33 1.33 - - - - - - - - - 1.00 1.00 1.00 1.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 1.00 1.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - 1.00 1.00 1.00 1.00 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 1.00 1.00 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 1.00 1.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # 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 }, [sp] # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 1.00 1.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # 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: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - 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] @@ -2953,11 +2228,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 @@ -2971,8 +2259,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.25 0.25 0.25 0.25 pmul v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 pmul v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 pmull v0.8h, v0.8b, v0.8b @@ -3017,6 +2308,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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 @@ -3052,6 +2344,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -3063,26 +2357,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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.25 0.25 0.25 0.25 shl v23.8b, v18.8b, #6 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shl v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shl v0.8h, v23.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shl v0.4s, v0.4s, #3 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll v0.2d, v0.2s, #32 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll v0.4s, v0.4h, #16 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll v0.8h, v0.8b, #8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll v0.2d, v0.2s, #32 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll v0.4s, v0.4h, #16 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll v0.8h, v0.8b, #8 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll2 v0.2d, v0.4s, #32 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll2 v0.4s, v0.8h, #16 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll2 v0.8h, v0.16b, #8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll2 v0.2d, v0.4s, #32 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll2 v0.4s, v0.8h, #16 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 shll2 v0.8h, v0.16b, #8 @@ -3094,6 +2387,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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.25 0.25 0.25 0.25 sli v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sli v0.2d, v0.2d, #3 @@ -3105,8 +2399,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 @@ -3125,23 +2421,34 @@ 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 @@ -3155,6 +2462,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 @@ -3162,17 +2470,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] @@ -3233,6 +2558,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqrshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqrshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqrshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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 @@ -3258,6 +2586,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl h3, h4, h15 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl s14, s17, #22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl v0.16b, v0.16b, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl v23.16b, v23.16b, v23.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl v0.2d, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sqshl v0.2s, v0.2s, v0.2s @@ -3354,8 +2683,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshl v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshl v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshll v9.8h, v2.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshll v12.4s, v3.4h, #4 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshll v0.2d, v0.2s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshll2 v28.8h, v12.16b, #7 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshll2 v0.4s, v0.8h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshll2 v17.2d, v13.4s, #22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshr d15, d16, #12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshr v0.16b, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 sshr v0.2d, v0.2d, #3 @@ -3384,32 +2717,96 @@ 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 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 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 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.50 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 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.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 1.00 1.00 - - st1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 1.50 1.50 - - st1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 1.00 1.00 - - st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st1 { v1.b }[5], [x1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st1 { v0.h }[2], [x1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st1 { v31.s }[1], [x16] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 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: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st1 { v0.d }[1], [x0] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 1.00 1.00 - - st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 2.00 2.00 - - st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 1.00 1.00 - - st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 - - st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 - - st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - - - - - 1.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.50 3.00 3.00 - - st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 - - st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 - - st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 - - st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 2.00 2.00 - - st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 3.00 3.00 - - st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 6.00 6.00 - - st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 3.00 3.00 - - st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 6.00 6.00 - - st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 3.00 3.00 - - st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - - - - - 2.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 2.00 6.00 6.00 - - st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 6.00 6.00 - - st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 4.00 4.00 - - st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 - - st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 - - st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 - - st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 - - st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 1.50 1.50 - - st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 2.00 2.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 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 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 suqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 suqadd h20, h15 @@ -3452,6 +2849,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.25 0.25 0.25 0.25 uaba v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uaba v13.16b, v14.16b, v19.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabal v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabal v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabal v0.8h, v0.8b, v0.8b @@ -3459,6 +2857,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uabal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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 @@ -3494,8 +2893,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -3505,13 +2908,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: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - 2.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 @@ -3527,7 +2933,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 @@ -3536,35 +2944,50 @@ 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: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w6, v22.b[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w10, v25.h[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - umov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - mov w0, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - 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.25 0.25 0.25 0.25 uqrshl b11, b20, b30 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshl s23, s20, s16 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshl v25.8b, v13.8b, v23.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshl v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqrshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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 @@ -3587,6 +3010,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v0.4h, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v8.4h, v17.4h, v13.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshl v0.8b, v0.8b, #3 @@ -3601,8 +3025,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshrn2 v0.16b, v0.8h, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqshrn2 v0.4s, v0.2d, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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.25 0.25 0.25 0.25 uqxtn b18, h18 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqxtn h20, s17 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 uqxtn s19, d14 @@ -3617,7 +3043,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.25 0.25 0.25 0.25 urshl d8, d7, d4 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urshl v31.8b, v5.8b, v3.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urshl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urshl v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 urshl v0.4s, v0.4s, v0.4s @@ -3640,15 +3068,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 usdot v0.2s, v0.8b, v0.8b -# 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.25 0.25 0.25 0.25 ushl d0, d0, d0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushl v6.8b, v26.8b, v6.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushl v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushl v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushl v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushll v0.4s, v0.4h, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushll v18.8h, v24.8b, #4 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushll v16.2d, v16.2s, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushll2 v31.2d, v12.4s, #11 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushll2 v18.4s, v22.8h, #13 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushll2 v0.8h, v0.16b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushr v0.16b, v0.16b, #3 @@ -3658,7 +3087,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushr v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 ushr v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.25 0.25 0.25 0.25 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: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x15, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w0, v0.b[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 - - smov x0, v0.b[1] diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-bf16-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-bf16-instructions.s new file mode 100644 index 0000000000000..e244e0d641193 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-bf16-instructions.s @@ -0,0 +1,66 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/bf16-instructions.s | FileCheck %s + +# 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 3 1.00 bfcvt h0, s0 +# CHECK-NEXT: 2 4 2.00 bfcvtn v0.4h, v0.4s +# CHECK-NEXT: 2 4 2.00 bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: 1 2 0.50 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: 1 5 0.50 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: 1 5 0.50 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.50 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 5 0.50 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 5 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: 1 6 0.50 bfmmla v0.4s, v0.8h, v0.8h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3AEUnitB +# CHECK-NEXT: [0.1] - V3AEUnitB +# CHECK-NEXT: [0.2] - V3AEUnitB +# CHECK-NEXT: [1.0] - V3AEUnitD +# CHECK-NEXT: [1.1] - V3AEUnitD +# CHECK-NEXT: [2.0] - V3AEUnitFlg +# CHECK-NEXT: [2.1] - V3AEUnitFlg +# CHECK-NEXT: [2.2] - V3AEUnitFlg +# CHECK-NEXT: [2.3] - V3AEUnitFlg +# CHECK-NEXT: [3.0] - V3AEUnitL12 +# CHECK-NEXT: [3.1] - V3AEUnitL12 +# CHECK-NEXT: [4] - V3AEUnitLS0 +# CHECK-NEXT: [5] - V3AEUnitM0 +# CHECK-NEXT: [6] - V3AEUnitM1 +# CHECK-NEXT: [7] - V3AEUnitS0 +# CHECK-NEXT: [8] - V3AEUnitS1 +# CHECK-NEXT: [9] - V3AEUnitS2 +# CHECK-NEXT: [10] - V3AEUnitS3 +# CHECK-NEXT: [11] - V3AEUnitS4 +# CHECK-NEXT: [12] - V3AEUnitS5 +# CHECK-NEXT: [13] - V3AEUnitST1 +# CHECK-NEXT: [14] - V3AEUnitV0 +# CHECK-NEXT: [15] - V3AEUnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 9.00 4.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - bfcvt h0, s0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - bfcvtn v0.4h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - bfcvtn2 v0.8h, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v24.4h, v14.2h[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-complxnum-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-complxnum-instructions.s new file mode 100644 index 0000000000000..eb4e5918b078a --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-complxnum-instructions.s @@ -0,0 +1,52 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/complxnum-instructions.s | FileCheck %s + +# 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 2 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 2 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3AEUnitB +# CHECK-NEXT: [0.1] - V3AEUnitB +# CHECK-NEXT: [0.2] - V3AEUnitB +# CHECK-NEXT: [1.0] - V3AEUnitD +# CHECK-NEXT: [1.1] - V3AEUnitD +# CHECK-NEXT: [2.0] - V3AEUnitFlg +# CHECK-NEXT: [2.1] - V3AEUnitFlg +# CHECK-NEXT: [2.2] - V3AEUnitFlg +# CHECK-NEXT: [2.3] - V3AEUnitFlg +# CHECK-NEXT: [3.0] - V3AEUnitL12 +# CHECK-NEXT: [3.1] - V3AEUnitL12 +# CHECK-NEXT: [4] - V3AEUnitLS0 +# CHECK-NEXT: [5] - V3AEUnitM0 +# CHECK-NEXT: [6] - V3AEUnitM1 +# CHECK-NEXT: [7] - V3AEUnitS0 +# CHECK-NEXT: [8] - V3AEUnitS1 +# CHECK-NEXT: [9] - V3AEUnitS2 +# CHECK-NEXT: [10] - V3AEUnitS3 +# CHECK-NEXT: [11] - V3AEUnitS4 +# CHECK-NEXT: [12] - V3AEUnitS5 +# CHECK-NEXT: [13] - V3AEUnitST1 +# CHECK-NEXT: [14] - V3AEUnitV0 +# CHECK-NEXT: [15] - V3AEUnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 2.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fp16fml-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fp16fml-instructions.s new file mode 100644 index 0000000000000..d853614b37b18 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fp16fml-instructions.s @@ -0,0 +1,76 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/fp16fml-instructions.s | FileCheck %s + +# 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 4 0.50 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.4h + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3AEUnitB +# CHECK-NEXT: [0.1] - V3AEUnitB +# CHECK-NEXT: [0.2] - V3AEUnitB +# CHECK-NEXT: [1.0] - V3AEUnitD +# CHECK-NEXT: [1.1] - V3AEUnitD +# CHECK-NEXT: [2.0] - V3AEUnitFlg +# CHECK-NEXT: [2.1] - V3AEUnitFlg +# CHECK-NEXT: [2.2] - V3AEUnitFlg +# CHECK-NEXT: [2.3] - V3AEUnitFlg +# CHECK-NEXT: [3.0] - V3AEUnitL12 +# CHECK-NEXT: [3.1] - V3AEUnitL12 +# CHECK-NEXT: [4] - V3AEUnitLS0 +# CHECK-NEXT: [5] - V3AEUnitM0 +# CHECK-NEXT: [6] - V3AEUnitM1 +# CHECK-NEXT: [7] - V3AEUnitS0 +# CHECK-NEXT: [8] - V3AEUnitS1 +# CHECK-NEXT: [9] - V3AEUnitS2 +# CHECK-NEXT: [10] - V3AEUnitS3 +# CHECK-NEXT: [11] - V3AEUnitS4 +# CHECK-NEXT: [12] - V3AEUnitS5 +# CHECK-NEXT: [13] - V3AEUnitST1 +# CHECK-NEXT: [14] - V3AEUnitV0 +# CHECK-NEXT: [15] - V3AEUnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 8.00 8.00 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fptoint-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fptoint-instructions.s new file mode 100644 index 0000000000000..4056a20f685d9 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-fptoint-instructions.s @@ -0,0 +1,68 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/fptoint-instructions.s | FileCheck %s + +# 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 3 1.00 frint32x v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d +# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s +# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3AEUnitB +# CHECK-NEXT: [0.1] - V3AEUnitB +# CHECK-NEXT: [0.2] - V3AEUnitB +# CHECK-NEXT: [1.0] - V3AEUnitD +# CHECK-NEXT: [1.1] - V3AEUnitD +# CHECK-NEXT: [2.0] - V3AEUnitFlg +# CHECK-NEXT: [2.1] - V3AEUnitFlg +# CHECK-NEXT: [2.2] - V3AEUnitFlg +# CHECK-NEXT: [2.3] - V3AEUnitFlg +# CHECK-NEXT: [3.0] - V3AEUnitL12 +# CHECK-NEXT: [3.1] - V3AEUnitL12 +# CHECK-NEXT: [4] - V3AEUnitLS0 +# CHECK-NEXT: [5] - V3AEUnitM0 +# CHECK-NEXT: [6] - V3AEUnitM1 +# CHECK-NEXT: [7] - V3AEUnitS0 +# CHECK-NEXT: [8] - V3AEUnitS1 +# CHECK-NEXT: [9] - V3AEUnitS2 +# CHECK-NEXT: [10] - V3AEUnitS3 +# CHECK-NEXT: [11] - V3AEUnitS4 +# CHECK-NEXT: [12] - V3AEUnitS5 +# CHECK-NEXT: [13] - V3AEUnitST1 +# CHECK-NEXT: [14] - V3AEUnitV0 +# CHECK-NEXT: [15] - V3AEUnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 16.00 - + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-i8mm-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-i8mm-instructions.s new file mode 100644 index 0000000000000..0d30c25862838 --- /dev/null +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-i8mm-instructions.s @@ -0,0 +1,62 @@ +# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -instruction-tables < %p/Inputs/i8mm-instructions.s | FileCheck %s + +# 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 3 0.50 smmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 3 0.50 usmmla v0.4s, v0.16b, v0.16b + +# CHECK: Resources: +# CHECK-NEXT: [0.0] - V3AEUnitB +# CHECK-NEXT: [0.1] - V3AEUnitB +# CHECK-NEXT: [0.2] - V3AEUnitB +# CHECK-NEXT: [1.0] - V3AEUnitD +# CHECK-NEXT: [1.1] - V3AEUnitD +# CHECK-NEXT: [2.0] - V3AEUnitFlg +# CHECK-NEXT: [2.1] - V3AEUnitFlg +# CHECK-NEXT: [2.2] - V3AEUnitFlg +# CHECK-NEXT: [2.3] - V3AEUnitFlg +# CHECK-NEXT: [3.0] - V3AEUnitL12 +# CHECK-NEXT: [3.1] - V3AEUnitL12 +# CHECK-NEXT: [4] - V3AEUnitLS0 +# CHECK-NEXT: [5] - V3AEUnitM0 +# CHECK-NEXT: [6] - V3AEUnitM1 +# CHECK-NEXT: [7] - V3AEUnitS0 +# CHECK-NEXT: [8] - V3AEUnitS1 +# CHECK-NEXT: [9] - V3AEUnitS2 +# CHECK-NEXT: [10] - V3AEUnitS3 +# CHECK-NEXT: [11] - V3AEUnitS4 +# CHECK-NEXT: [12] - V3AEUnitS5 +# CHECK-NEXT: [13] - V3AEUnitST1 +# CHECK-NEXT: [14] - V3AEUnitV0 +# CHECK-NEXT: [15] - V3AEUnitV1 + +# CHECK: Resource pressure per iteration: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.50 4.50 + +# CHECK: Resource pressure by instruction: +# CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions: +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usmmla v0.4s, v0.16b, v0.16b diff --git a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-neon-instructions.s index 533d613249160..29516d3ece779 100644 --- a/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-neon-instructions.s +++ b/llvm/test/tools/llvm-mca/AArch64/Neoverse/V3AE-neon-instructions.s @@ -1,1234 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -mattr=+aes,+sha3,+sm4 -instruction-tables < %s | FileCheck %s - -abs d29, d24 -abs v0.16b, v0.16b -abs v0.2d, v0.2d -abs v0.2s, v0.2s -abs v0.4h, v0.4h -abs v0.4s, v0.4s -abs v0.8b, v0.8b -abs v0.8h, v0.8h -add d17, d31, d29 -add v0.8b, v0.8b, v0.8b -addhn v0.2s, v0.2d, v0.2d -addhn v0.4h, v0.4s, v0.4s -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 v0.2d, v0.2d, v0.2d -addp v0.8b, v0.8b, v0.8b -addv s0, v0.4s -addv h0, v0.4h -addv h0, v0.8h -addv b0, v0.8b -addv b0, v0.16b -aesd v0.16b, v0.16b -aese v0.16b, v0.16b -aesimc v0.16b, v0.16b -aesmc v0.16b, v0.16b -and v0.8b, v0.8b, v0.8b -bfcvt h0, s0 -bfcvtn v0.4h, v0.4s -bfcvtn2 v0.8h, v0.4s -bfdot v0.2s, v0.4h, v0.4h -bfdot v0.4s, v0.8h, v0.8h -bfmlalb v0.4s, v0.8h, v0.8h -bfmlalb v0.4s, v0.8h, v0.h[3] -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 v0.8b, v0.8b, v0.8b -bif v0.16b, v0.16b, v0.16b -bit v0.16b, v0.16b, v0.16b -bsl v0.8b, v0.8b, v0.8b -cls v0.16b, v0.16b -cls v0.2s, v0.2s -cls v0.4h, v0.4h -cls v0.4s, v0.4s -cls v0.8b, v0.8b -cls v0.8h, v0.8h -clz v0.16b, v0.16b -clz v0.2s, v0.2s -clz v0.4h, v0.4h -clz v0.4s, v0.4s -clz v0.8b, v0.8b -clz v0.8h, v0.8h -cmeq d20, d21, 0 -cmeq d20, d21, d22 -cmeq v0.16b, v0.16b, 0 -cmeq v0.16b, v0.16b, v0.16b -cmge d20, d21, 0 -cmge d20, d21, d22 -cmge v0.4h, v0.4h, v0.4h -cmge v0.8b, v0.8b, 0 -cmgt d20, d21, 0 -cmgt d20, d21, d22 -cmgt v0.2s, v0.2s, 0 -cmgt v0.4s, v0.4s, v0.4s -cmhi d20, d21, d22 -cmhi v0.8h, v0.8h, v0.8h -cmhs d20, d21, d22 -cmhs v0.8b, v0.8b, v0.8b -cmle d20, d21, 0 -cmle v0.2d, v0.2d, 0 -cmlt d20, d21, 0 -cmlt v0.8h, v0.8h, 0 -cmtst d20, d21, d22 -cmtst v0.2s, v0.2s, v0.2s -cnt v0.16b, v0.16b -cnt v0.8b, v0.8b -dup v0.16b,w28 -dup v0.2d,x28 -dup v0.2s,w28 -dup v0.4h,w28 -dup v0.4s,w28 -dup v0.8b,w28 -dup v0.8h,w28 -dup b0, v0.b[1] -dup d0, v0.d[1] -dup h0, v0.h[1] -dup s0, v0.s[1] -dup v0.16b, v0.b[1] -dup v0.2d, v0.d[1] -dup v0.2s, v0.s[1] -dup v0.4h, v0.h[1] -dup v0.4s, v0.s[1] -dup v0.8b, v0.b[1] -dup v0.8h, v0.h[1] -eor v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, v0.4s -fabs v0.2d, v0.2d -fabs v0.2s, v0.2s -fabs v0.4h, v0.4h -fabs v0.4s, v0.4s -fabs v0.8h, v0.8h -facge d20, d21, d22 -facge s10, s11, s12 -facge v0.4s, v0.4s, v0.4s -facgt d20, d21, d22 -facgt s10, s11, s12 -facgt v0.2d, v0.2d, v0.2d -fadd v0.4s, v0.4s, v0.4s -faddp v0.2s, v0.2s, v0.2s -faddp v0.4s, v0.4s, v0.4s -fcadd v0.2s, v0.2s, v0.2s, 90 -fcadd v0.4s, v0.4s, v0.4s, 270 -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 -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 v0.4s, v0.4s, v0.4s -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 -fcmla v0.2s, v0.2s, v0.2s, #90 -fcmla v0.4s, v0.4s, v0.s[1], #0 -fcmle d20, d21, #0.0 -fcmle s10, s11, #0.0 -fcmle v0.2d, v0.2d, #0.0 -fcmlt d20, d21, #0.0 -fcmlt s10, s11, #0.0 -fcmlt v0.4s, v0.4s, #0.0 -fcvtas d21, d14 -fcvtas s12, s13 -fcvtas h12, h13 -fcvtas v0.2d, v0.2d -fcvtas v0.2s, v0.2s -fcvtas v0.4h, v0.4h -fcvtas v0.4s, v0.4s -fcvtas v0.8h, v0.8h -fcvtau d21, d14 -fcvtau s12, s13 -fcvtau h12, h13 -fcvtau v0.2d, v0.2d -fcvtau v0.2s, v0.2s -fcvtau v0.4h, v0.4h -fcvtau v0.4s, v0.4s -fcvtau v0.8h, v0.8h -fcvtl v0.2d, v0.2s -fcvtl v0.4s, v0.4h -fcvtl2 v0.2d, v0.4s -fcvtl2 v0.4s, v0.8h -fcvtms d21, d14 -fcvtms s22, s13 -fcvtms h22, h13 -fcvtms v0.2d, v0.2d -fcvtms v0.2s, v0.2s -fcvtms v0.4h, v0.4h -fcvtms v0.4s, v0.4s -fcvtms v0.8h, v0.8h -fcvtmu d21, d14 -fcvtmu s12, s13 -fcvtmu h12, h13 -fcvtmu v0.2d, v0.2d -fcvtmu v0.2s, v0.2s -fcvtmu v0.4h, v0.4h -fcvtmu v0.4s, v0.4s -fcvtmu v0.8h, v0.8h -fcvtn v0.2s, v0.2d -fcvtn v0.4h, v0.4s -fcvtn2 v0.4s, v0.2d -fcvtn2 v0.8h, v0.4s -fcvtns d21, d14 -fcvtns s22, s13 -fcvtns h22, h13 -fcvtns v0.2d, v0.2d -fcvtns v0.2s, v0.2s -fcvtns v0.4h, v0.4h -fcvtns v0.4s, v0.4s -fcvtns v0.8h, v0.8h -fcvtnu d21, d14 -fcvtnu s12, s13 -fcvtnu h12, h13 -fcvtnu v0.2d, v0.2d -fcvtnu v0.2s, v0.2s -fcvtnu v0.4h, v0.4h -fcvtnu v0.4s, v0.4s -fcvtnu v0.8h, v0.8h -fcvtps d21, d14 -fcvtps s22, s13 -fcvtps h22, h13 -fcvtps v0.2d, v0.2d -fcvtps v0.2s, v0.2s -fcvtps v0.4h, v0.4h -fcvtps v0.4s, v0.4s -fcvtps v0.8h, v0.8h -fcvtpu d21, d14 -fcvtpu s12, s13 -fcvtpu h12, h13 -fcvtpu v0.2d, v0.2d -fcvtpu v0.2s, v0.2s -fcvtpu v0.4h, v0.4h -fcvtpu v0.4s, v0.4s -fcvtpu v0.8h, v0.8h -fcvtxn s22, d13 -fcvtxn v0.2s, v0.2d -fcvtxn2 v0.4s, v0.2d -fcvtzs d21, d12, #1 -fcvtzs d21, d14 -fcvtzs s12, s13 -fcvtzs s21, s12, #1 -fcvtzs h21, h14 -fcvtzs h21, h12, #1 -fcvtzs v0.2d, v0.2d -fcvtzs v0.2d, v0.2d, #3 -fcvtzs v0.2s, v0.2s -fcvtzs v0.2s, v0.2s, #3 -fcvtzs v0.4h, v0.4h -fcvtzs v0.4s, v0.4s -fcvtzs v0.4s, v0.4s, #3 -fcvtzs v0.8h, v0.8h -fcvtzu d21, d12, #1 -fcvtzu d21, d14 -fcvtzu s12, s13 -fcvtzu s21, s12, #1 -fcvtzu h12, h13 -fcvtzu h21, h12, #1 -fcvtzu v0.2d, v0.2d -fcvtzu v0.2d, v0.2d, #3 -fcvtzu v0.2s, v0.2s -fcvtzu v0.2s, v0.2s, #3 -fcvtzu v0.4h, v0.4h -fcvtzu v0.4s, v0.4s -fcvtzu v0.4s, v0.4s, #3 -fcvtzu v0.8h, v0.8h -fdiv v0.2d, v0.2d, v0.2d -fdiv v0.2s, v0.2s, v0.2s -fdiv v0.4h, v0.4h, v0.4h -fdiv v0.4s, v0.4s, v0.4s -fdiv v0.8h, v0.8h, v0.8h -fmax v0.2d, v0.2d, v0.2d -fmax v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fmaxnmp v0.2s, v0.2s, v0.2s -fmaxnmp v0.4s, v0.4s, v0.4s -fmaxp v0.2d, v0.2d, v0.2d -fmaxp v0.2s, v0.2s, v0.2s -fmaxp v0.4s, v0.4s, v0.4s -fmaxv h0, v0.4h -fmaxv h0, v0.8h -fmaxv s0, v0.4s -fmin v0.2d, v0.2d, v0.2d -fmin v0.2s, v0.2s, v0.2s -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 v0.2d, v0.2d, v0.2d -fminnmp v0.2s, v0.2s, v0.2s -fminnmp v0.4s, v0.4s, v0.4s -fminp v0.2d, v0.2d, v0.2d -fminp v0.2s, v0.2s, v0.2s -fminp v0.4s, v0.4s, v0.4s -fmla d0, d1, v0.d[1] -fmla s0, s1, v0.s[3] -fmla v0.2s, v0.2s, v0.2s -fmlal v0.2s, v0.2h, v0.h[1] -fmlal v0.4s, v0.4h, v0.h[3] -fmlal v0.2s, v0.2h, v0.2h -fmlal v0.4s, v0.4h, v0.4h -fmlal2 v0.2s, v0.2h, v0.h[1] -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 s3, s5, v0.s[3] -fmls v0.2s, v0.2s, v0.2s -fmlsl v0.2s, v0.2h, v0.h[1] -fmlsl v0.4s, v0.4h, v0.h[3] -fmlsl v0.2s, v0.2h, v0.2h -fmlsl v0.4s, v0.4h, v0.4h -fmlsl2 v0.2s, v0.2h, v0.h[1] -fmlsl2 v0.4s, v0.4h, v0.h[3] -fmlsl2 v0.2s, v0.2h, v0.2h -fmlsl2 v0.4s, v0.4h, v0.4h -fmov v0.2d, #-1.25 -fmov v0.2s, #13.0 -fmov v0.4s, #1.0 -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 s3, s5, v0.s[3] -fmulx v0.2d, v0.2d, v0.2d -fmulx v0.2s, v0.2s, v0.2s -fmulx v0.4s, v0.4s, v0.4s -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 d13, d13 -frecpe s19, s14 -frecpe v0.2d, v0.2d -frecpe v0.2s, v0.2s -frecpe v0.4h, v0.4h -frecpe v0.4s, v0.4s -frecpe v0.8h, v0.8h -frecps v0.4s, v0.4s, v0.4s -frecps d22, d30, d21 -frecps s21, s16, s13 -frecpx d16, d19 -frecpx s18, s10 -frint32x v0.2d, v0.2d -frint32x v0.2s, v0.2s -frint32x v0.4s, v0.4s -frint32z v0.2d, v0.2d -frint32z v0.2s, v0.2s -frint32z v0.4s, v0.4s -frint64x v0.2d, v0.2d -frint64x v0.2s, v0.2s -frint64x v0.4s, v0.4s -frint64z v0.2d, v0.2d -frint64z v0.2s, v0.2s -frint64z v0.4s, v0.4s -frinta v0.2d, v0.2d -frinta v0.2s, v0.2s -frinta v0.4h, v0.4h -frinta v0.4s, v0.4s -frinta v0.8h, v0.8h -frinti v0.2d, v0.2d -frinti v0.2s, v0.2s -frinti v0.4h, v0.4h -frinti v0.4s, v0.4s -frinti v0.8h, v0.8h -frintm v0.2d, v0.2d -frintm v0.2s, v0.2s -frintm v0.4h, v0.4h -frintm v0.4s, v0.4s -frintm v0.8h, v0.8h -frintn v0.2d, v0.2d -frintn v0.2s, v0.2s -frintn v0.4h, v0.4h -frintn v0.4s, v0.4s -frintn v0.8h, v0.8h -frintp v0.2d, v0.2d -frintp v0.2s, v0.2s -frintp v0.4h, v0.4h -frintp v0.4s, v0.4s -frintp v0.8h, v0.8h -frintx v0.2d, v0.2d -frintx v0.2s, v0.2s -frintx v0.4h, v0.4h -frintx v0.4s, v0.4s -frintx v0.8h, v0.8h -frintz v0.2d, v0.2d -frintz v0.2s, v0.2s -frintz v0.4h, v0.4h -frintz v0.4s, v0.4s -frintz v0.8h, v0.8h -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 -frsqrte v0.8h, v0.8h -frsqrts d8, d22, d18 -frsqrts s21, s5, s12 -frsqrts v0.2d, v0.2d, v0.2d -fsqrt v0.2d, v0.2d -fsqrt v0.2s, v0.2s -fsqrt v0.4h, v0.4h -fsqrt v0.4s, v0.4s -fsqrt v0.8h, v0.8h -fsub v0.2s, v0.2s, v0.2s -ld1 { v0.16b }, [x0] -ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -ld1 { v0.4s, v1.4s }, [sp], #32 -ld1 { v0.4s, v1.4s, v2.4s }, [sp] -ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -ld1 { v0.8h }, [x15], x2 -ld1 { v0.8h, v1.8h }, [x15] -ld1 { v0.b }[9], [x0] -ld1 { v0.b }[9], [x0], #1 -ld1r { v0.16b }, [x0] -ld1r { v0.16b }, [x0], #1 -ld1r { v0.8h }, [x15] -ld1r { v0.8h }, [x15], #2 -ld2 { v0.16b, v1.16b }, [x0], x1 -ld2 { v0.8b, v1.8b }, [x0] -ld2 { v0.h, v1.h }[7], [x15] -ld2 { v0.h, v1.h }[7], [x15], #4 -ld2r { v0.2d, v1.2d }, [x0] -ld2r { v0.2d, v1.2d }, [x0], #16 -ld2r { v0.4s, v1.4s }, [sp] -ld2r { v0.4s, v1.4s }, [sp], #8 -ld3 { v0.4h, v1.4h, v2.4h }, [x15] -ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -ld3 { v0.s, v1.s, v2.s }[3], [sp] -ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 -ld3r { v0.4h, v1.4h, v2.4h }, [x15] -ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 -ld3r { v0.8b, v1.8b, v2.8b }, [x0] -ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 -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 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 -ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] -ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 -mla v0.8b, v0.8b, v0.8b -mls v0.4h, v0.4h, v0.4h -mov b0, v0.b[15] -mov d6, v0.d[1] -mov h2, v0.h[5] -mov s17, v0.s[2] -mov v2.b[0], v0.b[0] -mov v2.h[1], v0.h[1] -mov v2.s[2], v0.s[2] -mov v2.d[1], v0.d[1] -mov v0.b[0], w8 -mov v0.h[1], w8 -mov v0.s[2], w8 -mov v0.d[1], x8 -mov v0.16b, v0.16b -mov v0.8b, v0.8b -movi d15, #0xff00ff00ff00ff -movi v0.16b, #31 -movi v0.2d, #0xff0000ff0000ffff -movi v0.2s, #8, msl #8 -movi v0.4s, #255, lsl #24 -movi v0.8b, #255 -mul v0.8b, v0.8b, v0.8b -mvni v0.2s, 0 -mvni v0.4s, #16, msl #16 -neg d29, d24 -neg v0.16b, v0.16b -neg v0.2d, v0.2d -neg v0.2s, v0.2s -neg v0.4h, v0.4h -neg v0.4s, v0.4s -neg v0.8b, v0.8b -neg v0.8h, v0.8h -not v0.16b, v0.16b -not v0.8b, v0.8b -orn v0.16b, v0.16b, v0.16b -orr v0.16b, v0.16b, v0.16b -orr v0.8h, #31 -pmul v0.16b, v0.16b, v0.16b -pmul v0.8b, v0.8b, v0.8b -pmull v0.8h, v0.8b, v0.8b -pmull2 v0.8h, v0.16b, v0.16b -raddhn v0.2s, v0.2d, v0.2d -raddhn v0.4h, v0.4s, v0.4s -raddhn v0.8b, v0.8h, v0.8h -raddhn2 v0.16b, v0.8h, v0.8h -raddhn2 v0.4s, v0.2d, v0.2d -raddhn2 v0.8h, v0.4s, v0.4s -rbit v0.16b, v0.16b -rbit v0.8b, v0.8b -rev16 v21.8b, v1.8b -rev16 v30.16b, v31.16b -rev32 v0.4h, v9.4h -rev32 v21.8b, v1.8b -rev32 v30.16b, v31.16b -rev32 v4.8h, v7.8h -rev64 v0.16b, v31.16b -rev64 v1.8b, v9.8b -rev64 v13.4h, v21.4h -rev64 v2.8h, v4.8h -rev64 v4.2s, v0.2s -rev64 v6.4s, v8.4s -rshrn v0.2s, v0.2d, #3 -rshrn v0.4h, v0.4s, #3 -rshrn v0.8b, v0.8h, #3 -rshrn2 v0.16b, v0.8h, #3 -rshrn2 v0.4s, v0.2d, #3 -rshrn2 v0.8h, v0.4s, #3 -rsubhn v0.2s, v0.2d, v0.2d -rsubhn v0.4h, v0.4s, v0.4s -rsubhn v0.8b, v0.8h, v0.8h -rsubhn2 v0.16b, v0.8h, v0.8h -rsubhn2 v0.4s, v0.2d, v0.2d -rsubhn2 v0.8h, v0.4s, v0.4s -saba v0.16b, v0.16b, v0.16b -sabal v0.2d, v0.2s, v0.2s -sabal v0.4s, v0.4h, v0.4h -sabal v0.8h, v0.8b, v0.8b -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 -sabdl v0.2d, v0.2s, v0.2s -sabdl v0.4s, v0.4h, v0.4h -sabdl v0.8h, v0.8b, v0.8b -sabdl2 v0.2d, v0.4s, v0.4s -sabdl2 v0.4s, v0.8h, v0.8h -sabdl2 v0.8h, v0.16b, v0.16b -sadalp v0.1d, v0.2s -sadalp v0.2d, v0.4s -sadalp v0.2s, v0.4h -sadalp v0.4h, v0.8b -sadalp v0.4s, v0.8h -sadalp v0.8h, v0.16b -saddl v0.2d, v0.2s, v0.2s -saddl v0.4s, v0.4h, v0.4h -saddl v0.8h, v0.8b, v0.8b -saddl2 v0.2d, v0.4s, v0.4s -saddl2 v0.4s, v0.8h, v0.8h -saddl2 v0.8h, v0.16b, v0.16b -saddlp v0.1d, v0.2s -saddlp v0.2d, v0.4s -saddlp v0.2s, v0.4h -saddlp v0.4h, v0.8b -saddlp v0.4s, v0.8h -saddlp v0.8h, v0.16b -saddlv d0, v0.4s -saddlv s0, v0.4h -saddlv s0, v0.8h -saddlv h0, v0.8b -saddlv h0, v0.16b -saddw v0.2d, v0.2d, v0.2s -saddw v0.4s, v0.4s, v0.4h -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 d21, d12 -scvtf d21, d12, #64 -scvtf s22, s13 -scvtf s22, s13, #32 -scvtf v0.2d, v0.2d -scvtf v0.2d, v0.2d, #3 -scvtf v0.2s, v0.2s -scvtf v0.2s, v0.2s, #3 -scvtf v0.4h, v0.4h -scvtf v0.4s, v0.4s -scvtf v0.4s, v0.4s, #3 -scvtf v0.8h, v0.8h -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 -shl d7, d10, #12 -shl v0.16b, v0.16b, #3 -shl v0.2d, v0.2d, #3 -shl v0.4h, v0.4h, #3 -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 -shrn v0.2s, v0.2d, #3 -shrn v0.4h, v0.4s, #3 -shrn v0.8b, v0.8h, #3 -shrn2 v0.16b, v0.8h, #3 -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 -sli d10, d14, #12 -sli v0.16b, v0.16b, #3 -sli v0.2d, v0.2d, #3 -sli v0.2s, v0.2s, #3 -sli v0.4h, v0.4h, #3 -sli v0.4s, v0.4s, #3 -sli v0.8b, v0.8b, #3 -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 -smaxp v0.2s, v0.2s, v0.2s -smaxp v0.4h, v0.4h, v0.4h -smaxp v0.8b, v0.8b, v0.8b -smaxv b0, v0.8b -smaxv b0, v0.16b -smaxv h0, v0.4h -smaxv h0, v0.8h -smaxv s0, v0.4s -smin v0.16b, v0.16b, v0.16b -smin v0.4s, v0.4s, v0.4s -smin v0.8h, v0.8h, v0.8h -sminp v0.16b, v0.16b, v0.16b -sminp v0.4s, v0.4s, v0.4s -sminp v0.8h, v0.8h, v0.8h -sminv b0, v0.8b -sminv b0, v0.16b -sminv h0, v0.4h -sminv h0, v0.8h -sminv s0, v0.4s -smlal v0.2d, v0.2s, v0.2s -smlal v0.4s, v0.4h, v0.4h -smlal v0.8h, v0.8b, v0.8b -smlal2 v0.2d, v0.4s, v0.4s -smlal2 v0.4s, v0.8h, v0.8h -smlal2 v0.8h, v0.16b, v0.16b -smlsl v0.2d, v0.2s, v0.2s -smlsl v0.4s, v0.4h, v0.4h -smlsl v0.8h, v0.8b, v0.8b -smlsl2 v0.2d, v0.4s, v0.4s -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 v0.4s, v0.4h, v0.4h -smull v0.8h, v0.8b, v0.8b -smull2 v0.2d, v0.4s, v0.4s -smull2 v0.4s, v0.8h, v0.8h -smull2 v0.8h, v0.16b, v0.16b -sqabs b19, b14 -sqabs d18, d12 -sqabs h21, h15 -sqabs s20, s12 -sqabs v0.16b, v0.16b -sqabs v0.2d, v0.2d -sqabs v0.2s, v0.2s -sqabs v0.4h, v0.4h -sqabs v0.4s, v0.4s -sqabs v0.8b, v0.8b -sqabs v0.8h, v0.8h -sqadd b20, b11, b15 -sqadd v0.16b, v0.16b, v0.16b -sqadd v0.2s, v0.2s, v0.2s -sqdmlal d19, s24, s12 -sqdmlal d8, s9, v0.s[1] -sqdmlal s0, h0, v0.h[3] -sqdmlal s17, h27, h12 -sqdmlal v0.2d, v0.2s, v0.2s -sqdmlal v0.4s, v0.4h, v0.4h -sqdmlal2 v0.2d, v0.4s, v0.4s -sqdmlal2 v0.4s, v0.8h, v0.8h -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 v0.4s, v0.4h, v0.4h -sqdmlsl2 v0.2d, v0.4s, v0.4s -sqdmlsl2 v0.4s, v0.8h, v0.8h -sqdmulh h10, h11, h12 -sqdmulh h7, h15, v0.h[3] -sqdmulh s15, s14, v0.s[1] -sqdmulh s20, s21, s2 -sqdmulh v0.2s, v0.2s, v0.2s -sqdmulh v0.4s, v0.4s, v0.4s -sqdmull d1, s1, v0.s[1] -sqdmull d15, s22, s12 -sqdmull s1, h1, v0.h[3] -sqdmull s12, h22, h12 -sqdmull v0.2d, v0.2s, v0.2s -sqdmull v0.4s, v0.4h, v0.4h -sqdmull2 v0.2d, v0.4s, v0.4s -sqdmull2 v0.4s, v0.8h, v0.8h -sqneg b19, b14 -sqneg d18, d12 -sqneg h21, h15 -sqneg s20, s12 -sqneg v0.16b, v0.16b -sqneg v0.2d, v0.2d -sqneg v0.2s, v0.2s -sqneg v0.4h, v0.4h -sqneg v0.4s, v0.4s -sqneg v0.8b, v0.8b -sqneg v0.8h, v0.8h -sqrdmlah h0, h1, v2.h[3] -sqrdmlah v0.4h, v1.4h, v2.h[3] -sqrdmlah v0.8h, v1.8h, v2.h[3] -sqrdmlah s0, s1, v2.s[1] -sqrdmlah v0.2s, v1.2s, v2.s[1] -sqrdmlah v0.4s, v1.4s, v2.s[1] -sqrdmlah h0, h1, h2 -sqrdmlah v0.4h, v1.4h, v2.4h -sqrdmlah v0.8h, v1.8h, v2.8h -sqrdmlah s0, s1, s2 -sqrdmlah v0.2s, v1.2s, v2.2s -sqrdmlah v0.4s, v1.4s, v2.4s -sqrdmlsh h0, h1, v2.h[3] -sqrdmlsh v0.4h, v1.4h, v2.h[3] -sqrdmlsh v0.8h, v1.8h, v2.h[3] -sqrdmlsh s0, s1, v2.s[1] -sqrdmlsh v0.2s, v1.2s, v2.s[1] -sqrdmlsh v0.4s, v1.4s, v2.s[1] -sqrdmlsh h0, h1, h2 -sqrdmlsh v0.4h, v1.4h, v2.4h -sqrdmlsh v0.8h, v1.8h, v2.8h -sqrdmlsh s0, s1, s2 -sqrdmlsh v0.2s, v1.2s, v2.2s -sqrdmlsh v0.4s, v1.4s, v2.4s -sqrdmulh h10, h11, h12 -sqrdmulh h7, h15, v0.h[3] -sqrdmulh s15, s14, v0.s[1] -sqrdmulh s20, s21, s2 -sqrdmulh v0.4h, v0.4h, v0.4h -sqrdmulh v0.8h, v0.8h, v0.8h -sqrshl d31, d31, d31 -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 -sqrshrn b10, h13, #2 -sqrshrn h15, s10, #6 -sqrshrn s15, d12, #9 -sqrshrn v0.2s, v0.2d, #3 -sqrshrn v0.4h, v0.4s, #3 -sqrshrn v0.8b, v0.8h, #3 -sqrshrn2 v0.16b, v0.8h, #3 -sqrshrn2 v0.4s, v0.2d, #3 -sqrshrn2 v0.8h, v0.4s, #3 -sqrshrun b17, h10, #6 -sqrshrun h10, s13, #15 -sqrshrun s22, d16, #31 -sqrshrun v0.2s, v0.2d, #3 -sqrshrun v0.4h, v0.4s, #3 -sqrshrun v0.8b, v0.8h, #3 -sqrshrun2 v0.16b, v0.8h, #3 -sqrshrun2 v0.4s, v0.2d, #3 -sqrshrun2 v0.8h, v0.4s, #3 -sqshl b11, b19, #7 -sqshl d15, d16, #51 -sqshl d31, d31, d31 -sqshl h13, h18, #11 -sqshl h3, h4, h15 -sqshl s14, s17, #22 -sqshl v0.16b, v0.16b, #3 -sqshl v0.2d, v0.2d, #3 -sqshl v0.2s, v0.2s, #3 -sqshl v0.2s, v0.2s, v0.2s -sqshl v0.4h, v0.4h, #3 -sqshl v0.4h, v0.4h, v0.4h -sqshl v0.4s, v0.4s, #3 -sqshl v0.8b, v0.8b, #3 -sqshl v0.8b, v0.8b, v0.8b -sqshl v0.8h, v0.8h, #3 -sqshlu b15, b18, #6 -sqshlu d11, d13, #32 -sqshlu h19, h17, #6 -sqshlu s16, s14, #25 -sqshlu v0.16b, v0.16b, #3 -sqshlu v0.2d, v0.2d, #3 -sqshlu v0.2s, v0.2s, #3 -sqshlu v0.4h, v0.4h, #3 -sqshlu v0.4s, v0.4s, #3 -sqshlu v0.8b, v0.8b, #3 -sqshlu v0.8h, v0.8h, #3 -sqshrn b10, h15, #5 -sqshrn h17, s10, #4 -sqshrn s18, d10, #31 -sqshrn v0.2s, v0.2d, #3 -sqshrn v0.4h, v0.4s, #3 -sqshrn v0.8b, v0.8h, #3 -sqshrn2 v0.16b, v0.8h, #3 -sqshrn2 v0.4s, v0.2d, #3 -sqshrn2 v0.8h, v0.4s, #3 -sqshrun b15, h10, #7 -sqshrun h20, s14, #3 -sqshrun s10, d15, #15 -sqshrun v0.2s, v0.2d, #3 -sqshrun v0.4h, v0.4s, #3 -sqshrun v0.8b, v0.8h, #3 -sqshrun2 v0.16b, v0.8h, #3 -sqshrun2 v0.4s, v0.2d, #3 -sqshrun2 v0.8h, v0.4s, #3 -sqsub s20, s10, s7 -sqsub v0.2d, v0.2d, v0.2d -sqsub v0.4s, v0.4s, v0.4s -sqsub v0.8b, v0.8b, v0.8b -sqxtn b18, h18 -sqxtn h20, s17 -sqxtn s19, d14 -sqxtn v0.2s, v0.2d -sqxtn v0.4h, v0.4s -sqxtn v0.8b, v0.8h -sqxtn2 v0.16b, v0.8h -sqxtn2 v0.4s, v0.2d -sqxtn2 v0.8h, v0.4s -sqxtun b19, h14 -sqxtun h21, s15 -sqxtun s20, d12 -sqxtun v0.2s, v0.2d -sqxtun v0.4h, v0.4s -sqxtun v0.8b, v0.8h -sqxtun2 v0.16b, v0.8h -sqxtun2 v0.4s, v0.2d -sqxtun2 v0.8h, v0.4s -srhadd v0.2s, v0.2s, v0.2s -srhadd v0.4h, v0.4h, v0.4h -srhadd v0.8b, v0.8b, v0.8b -sri d10, d12, #14 -sri v0.16b, v0.16b, #3 -sri v0.2d, v0.2d, #3 -sri v0.2s, v0.2s, #3 -sri v0.4h, v0.4h, #3 -sri v0.4s, v0.4s, #3 -sri v0.8b, v0.8b, #3 -sri v0.8h, v0.8h, #3 -srshl d16, d16, d16 -srshl v0.2s, v0.2s, v0.2s -srshl v0.4h, v0.4h, v0.4h -srshl v0.8b, v0.8b, v0.8b -srshr d19, d18, #7 -srshr v0.16b, v0.16b, #3 -srshr v0.2d, v0.2d, #3 -srshr v0.2s, v0.2s, #3 -srshr v0.4h, v0.4h, #3 -srshr v0.4s, v0.4s, #3 -srshr v0.8b, v0.8b, #3 -srshr v0.8h, v0.8h, #3 -srsra d15, d11, #19 -srsra v0.16b, v0.16b, #3 -srsra v0.2d, v0.2d, #3 -srsra v0.2s, v0.2s, #3 -srsra v0.4h, v0.4h, #3 -srsra v0.4s, v0.4s, #3 -srsra v0.8b, v0.8b, #3 -srsra v0.8h, v0.8h, #3 -sshl d31, d31, d31 -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 v0.2d, v0.2s, #3 -sshll2 v0.4s, v0.8h, #3 -sshr d15, d16, #12 -sshr v0.16b, v0.16b, #3 -sshr v0.2d, v0.2d, #3 -sshr v0.2s, v0.2s, #3 -sshr v0.4h, v0.4h, #3 -sshr v0.4s, v0.4s, #3 -sshr v0.8b, v0.8b, #3 -sshr v0.8h, v0.8h, #3 -ssra d18, d12, #21 -ssra v0.16b, v0.16b, #3 -ssra v0.2d, v0.2d, #3 -ssra v0.2s, v0.2s, #3 -ssra v0.4h, v0.4h, #3 -ssra v0.4s, v0.4s, #3 -ssra v0.8b, v0.8b, #3 -ssra v0.8h, v0.8h, #3 -ssubl v0.2d, v0.2s, v0.2s -ssubl v0.4s, v0.4h, v0.4h -ssubl v0.8h, v0.8b, v0.8b -ssubl2 v0.2d, v0.4s, v0.4s -ssubl2 v0.4s, v0.8h, v0.8h -ssubl2 v0.8h, v0.16b, v0.16b -ssubw v0.2d, v0.2d, v0.2s -ssubw v0.4s, v0.4s, v0.4h -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 { v0.16b }, [x0] -st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 -st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] -st1 { v0.4s, v1.4s }, [sp], #32 -st1 { v0.4s, v1.4s, v2.4s }, [sp] -st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 -st1 { v0.8h }, [x15], x2 -st1 { v0.8h, v1.8h }, [x15] -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 { v0.s, v1.s }[3], [sp] -st2 { v0.s, v1.s }[3], [sp], #8 -st3 { v0.4h, v1.4h, v2.4h }, [x15] -st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 -st3 { v0.h, v1.h, v2.h }[7], [x15] -st3 { v0.h, v1.h, v2.h }[7], [x15], #6 -st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] -st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 -st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] -st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 -sub d15, d5, d16 -sub v0.2d, v0.2d, v0.2d -sudot v0.2s, v0.8b, v0.4b[2] -sudot v0.4s, v0.16b, v0.4b[2] -suqadd b19, b14 -suqadd d18, d22 -suqadd h20, h15 -suqadd s21, s12 -suqadd v0.16b, v0.16b -suqadd v0.2d, v0.2d -suqadd v0.2s, v0.2s -suqadd v0.4h, v0.4h -suqadd v0.4s, v0.4s -suqadd v0.8b, v0.8b -suqadd v0.8h, v0.8h -tbl v0.16b, { v0.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbl v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbl v0.8b, { v0.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbl v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -tbx v0.16b, { v0.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b -tbx v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b -tbx v0.8b, { v0.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b -tbx v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b -trn1 v0.16b, v0.16b, v0.16b -trn1 v0.2d, v0.2d, v0.2d -trn1 v0.2s, v0.2s, v0.2s -trn1 v0.4h, v0.4h, v0.4h -trn1 v0.4s, v0.4s, v0.4s -trn1 v0.8b, v0.8b, v0.8b -trn1 v0.8h, v0.8h, v0.8h -trn2 v0.16b, v0.16b, v0.16b -trn2 v0.2d, v0.2d, v0.2d -trn2 v0.2s, v0.2s, v0.2s -trn2 v0.4h, v0.4h, v0.4h -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 -uabal v0.2d, v0.2s, v0.2s -uabal v0.4s, v0.4h, v0.4h -uabal v0.8h, v0.8b, v0.8b -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 -uabdl v0.2d, v0.2s, v0.2s -uabdl v0.4s, v0.4h, v0.4h -uabdl v0.8h, v0.8b, v0.8b -uabdl2 v0.2d, v0.4s, v0.4s -uabdl2 v0.4s, v0.8h, v0.8h -uabdl2 v0.8h, v0.16b, v0.16b -uadalp v0.1d, v0.2s -uadalp v0.2d, v0.4s -uadalp v0.2s, v0.4h -uadalp v0.4h, v0.8b -uadalp v0.4s, v0.8h -uadalp v0.8h, v0.16b -uaddl v0.2d, v0.2s, v0.2s -uaddl v0.4s, v0.4h, v0.4h -uaddl v0.8h, v0.8b, v0.8b -uaddl2 v0.2d, v0.4s, v0.4s -uaddl2 v0.4s, v0.8h, v0.8h -uaddl2 v0.8h, v0.16b, v0.16b -uaddlp v0.1d, v0.2s -uaddlp v0.2d, v0.4s -uaddlp v0.2s, v0.4h -uaddlp v0.4h, v0.8b -uaddlp v0.4s, v0.8h -uaddlp v0.8h, v0.16b -uaddlv d0, v0.4s -uaddlv s0, v0.4h -uaddlv s0, v0.8h -uaddlv h0, v0.8b -uaddlv h0, v0.16b -uaddw v0.2d, v0.2d, v0.2s -uaddw v0.4s, v0.4s, v0.4h -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 d21, d14 -ucvtf d21, d14, #64 -ucvtf s22, s13 -ucvtf s22, s13, #32 -ucvtf v0.2d, v0.2d -ucvtf v0.2d, v0.2d, #3 -ucvtf v0.2s, v0.2s -ucvtf v0.2s, v0.2s, #3 -ucvtf v0.4h, v0.4h -ucvtf v0.4s, v0.4s -ucvtf v0.4s, v0.4s, #3 -ucvtf v0.8h, v0.8h -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 v0.4s, v0.4s, v0.4s -umax v0.16b, v0.16b, v0.16b -umax v0.4s, v0.4s, v0.4s -umax v0.8h, v0.8h, v0.8h -umaxp v0.16b, v0.16b, v0.16b -umaxp v0.4s, v0.4s, v0.4s -umaxp v0.8h, v0.8h, v0.8h -umaxv b0, v0.8b -umaxv b0, v0.16b -umaxv h0, v0.4h -umaxv h0, v0.8h -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 -uminp v0.2s, v0.2s, v0.2s -uminp v0.4h, v0.4h, v0.4h -uminp v0.8b, v0.8b, v0.8b -uminv b0, v0.8b -uminv b0, v0.16b -uminv h0, v0.4h -uminv h0, v0.8h -uminv s0, v0.4s -umlal v0.2d, v0.2s, v0.2s -umlal v0.4s, v0.4h, v0.4h -umlal v0.8h, v0.8b, v0.8b -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 v0.4s, v0.4h, v0.4h -umlsl v0.8h, v0.8b, v0.8b -umlsl2 v0.2d, v0.4s, v0.4s -umlsl2 v0.4s, v0.8h, v0.8h -umlsl2 v0.8h, v0.16b, v0.16b -ummla v0.4s, v0.16b, v0.16b -umov w0, v0.b[1] -umov w0, v0.h[1] -umov w0, v0.s[1] -umov x0, v0.d[1] -umull v0.2d, v0.2s, v0.2s -umull v0.4s, v0.4h, v0.4h -umull v0.8h, v0.8b, v0.8b -umull2 v0.2d, v0.4s, v0.4s -umull2 v0.4s, v0.8h, v0.8h -umull2 v0.8h, v0.16b, v0.16b -uqadd h0, h1, h5 -uqadd v0.8h, v0.8h, v0.8h -uqrshl b11, b20, b30 -uqrshl s23, s20, s16 -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 -uqrshrn s10, d10, #25 -uqrshrn v0.2s, v0.2d, #3 -uqrshrn v0.4h, v0.4s, #3 -uqrshrn v0.8b, v0.8h, #3 -uqrshrn2 v0.16b, v0.8h, #3 -uqrshrn2 v0.4s, v0.2d, #3 -uqrshrn2 v0.8h, v0.4s, #3 -uqshl b11, b20, b30 -uqshl b18, b15, #6 -uqshl d15, d12, #19 -uqshl h11, h18, #7 -uqshl s14, s19, #18 -uqshl s23, s20, s16 -uqshl v0.16b, v0.16b, #3 -uqshl v0.16b, v0.16b, v0.16b -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 v0.4s, v0.4s, #3 -uqshl v0.4s, v0.4s, v0.4s -uqshl v0.8b, v0.8b, #3 -uqshl v0.8h, v0.8h, #3 -uqshl v0.8h, v0.8h, v0.8h -uqshrn b12, h10, #7 -uqshrn h10, s14, #5 -uqshrn s10, d12, #13 -uqshrn v0.2s, v0.2d, #3 -uqshrn v0.4h, v0.4s, #3 -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 d16, d16, d16 -uqsub v0.4h, v0.4h, v0.4h -uqxtn b18, h18 -uqxtn h20, s17 -uqxtn s19, d14 -uqxtn v0.2s, v0.2d -uqxtn v0.4h, v0.4s -uqxtn v0.8b, v0.8h -uqxtn2 v0.16b, v0.8h -uqxtn2 v0.4s, v0.2d -uqxtn2 v0.8h, v0.4s -urecpe v0.2s, v0.2s -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 -urshl d8, d7, d4 -urshl v0.16b, v0.16b, v0.16b -urshl v0.2d, v0.2d, v0.2d -urshl v0.4s, v0.4s, v0.4s -urshl v0.8h, v0.8h, v0.8h -urshr d20, d23, #31 -urshr v0.16b, v0.16b, #3 -urshr v0.2d, v0.2d, #3 -urshr v0.2s, v0.2s, #3 -urshr v0.4h, v0.4h, #3 -urshr v0.4s, v0.4s, #3 -urshr v0.8b, v0.8b, #3 -urshr v0.8h, v0.8h, #3 -ursqrte v0.2s, v0.2s -ursqrte v0.4s, v0.4s -ursra d18, d10, #13 -ursra v0.16b, v0.16b, #3 -ursra v0.2d, v0.2d, #3 -ursra v0.2s, v0.2s, #3 -ursra v0.4h, v0.4h, #3 -ursra v0.4s, v0.4s, #3 -ursra v0.8b, v0.8b, #3 -ursra v0.8h, v0.8h, #3 -usdot v0.2s, v0.8b, v0.4b[2] -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 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 -ushll2 v0.8h, v0.16b, #3 -ushr d10, d17, #18 -ushr v0.16b, v0.16b, #3 -ushr v0.2d, v0.2d, #3 -ushr v0.2s, v0.2s, #3 -ushr v0.4h, v0.4h, #3 -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 w0, v0.b[1] -smov w0, v0.h[1] -smov x0, v0.b[1] -smov x0, v0.h[1] -smov x0, v0.s[1] -usqadd b19, b14 -usqadd d18, d22 -usqadd h20, h15 -usqadd s21, s12 -usqadd v0.16b, v0.16b -usqadd v0.2d, v0.2d -usqadd v0.2s, v0.2s -usqadd v0.4h, v0.4h -usqadd v0.4s, v0.4s -usqadd v0.8b, v0.8b -usqadd v0.8h, v0.8h -usra d20, d13, #61 -usra v0.16b, v0.16b, #3 -usra v0.2d, v0.2d, #3 -usra v0.2s, v0.2s, #3 -usra v0.4h, v0.4h, #3 -usra v0.4s, v0.4s, #3 -usra v0.8b, v0.8b, #3 -usra v0.8h, v0.8h, #3 -usubl v0.2d, v0.2s, v0.2s -usubl v0.4s, v0.4h, v0.4h -usubl v0.8h, v0.8b, v0.8b -usubl2 v0.2d, v0.4s, v0.4s -usubl2 v0.4s, v0.8h, v0.8h -usubl2 v0.8h, v0.16b, v0.16b -usubw v0.2d, v0.2d, v0.2s -usubw v0.4s, v0.4s, v0.4h -usubw v0.8h, v0.8h, v0.8b -usubw2 v0.2d, v0.2d, v0.4s -usubw2 v0.4s, v0.4s, v0.8h -usubw2 v0.8h, v0.8h, v0.16b -uzp1 v0.16b, v0.16b, v0.16b -uzp1 v0.2d, v0.2d, v0.2d -uzp1 v0.2s, v0.2s, v0.2s -uzp1 v0.4h, v0.4h, v0.4h -uzp1 v0.4s, v0.4s, v0.4s -uzp1 v0.8b, v0.8b, v0.8b -uzp1 v0.8h, v0.8h, v0.8h -uzp2 v0.16b, v0.16b, v0.16b -uzp2 v0.2d, v0.2d, v0.2d -uzp2 v0.2s, v0.2s, v0.2s -uzp2 v0.4h, v0.4h, v0.4h -uzp2 v0.4s, v0.4s, v0.4s -uzp2 v0.8b, v0.8b, v0.8b -uzp2 v0.8h, v0.8h, v0.8h -xtn v0.2s, v0.2d -xtn v0.4h, v0.4s -xtn v0.8b, v0.8h -xtn2 v0.16b, v0.8h -xtn2 v0.4s, v0.2d -xtn2 v0.8h, v0.4s -zip1 v0.16b, v0.16b, v0.16b -zip1 v0.2d, v0.2d, v0.2d -zip1 v0.2s, v0.2s, v0.2s -zip1 v0.4h, v0.4h, v0.4h -zip1 v0.4s, v0.4s, v0.4s -zip1 v0.8b, v0.8b, v0.8b -zip1 v0.8h, v0.8h, v0.8h -zip2 v0.16b, v0.16b, v0.16b -zip2 v0.2d, v0.2d, v0.2d -zip2 v0.2s, v0.2s, v0.2s -zip2 v0.4h, v0.4h, v0.4h -zip2 v0.4s, v0.4s, v0.4s -zip2 v0.8b, v0.8b, v0.8b -zip2 v0.8h, v0.8h, v0.8h +# RUN: llvm-mca -mtriple=aarch64 -mcpu=neoverse-v3ae -mattr=+aes -instruction-tables < %p/Inputs/neon-instructions.s | FileCheck %s # CHECK: Instruction Info: # CHECK-NEXT: [1]: #uOps @@ -1255,8 +26,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: 1 2 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 addp d1, v14.2d # CHECK-NEXT: 1 3 1.00 addv s0, v0.4s # CHECK-NEXT: 1 3 1.00 addv h0, v0.4h # CHECK-NEXT: 2 5 1.00 addv h0, v0.8h @@ -1267,21 +40,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 aesimc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 aesmc v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 and v0.8b, v0.8b, v0.8b -# CHECK-NEXT: 1 3 1.00 bfcvt h0, s0 -# CHECK-NEXT: 2 4 2.00 bfcvtn v0.4h, v0.4s -# CHECK-NEXT: 2 4 2.00 bfcvtn2 v0.8h, v0.4s -# CHECK-NEXT: 1 5 0.50 bfdot v0.2s, v0.4h, v0.4h -# CHECK-NEXT: 1 5 0.50 bfdot v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.50 bfmlalb v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 5 0.50 bfmlalt v0.4s, v0.8h, v0.8h -# CHECK-NEXT: 1 5 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: 1 6 0.50 bfmmla v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: 1 2 0.50 bic v23.8h, #101 # CHECK-NEXT: 1 2 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: 1 2 0.50 bic v24.2s, #70 +# CHECK-NEXT: 1 2 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: 1 2 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: 1 2 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: 1 2 0.50 cls v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cls v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 cls v0.4h, v0.4h @@ -1294,28 +63,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 clz v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 clz v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: 1 2 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: 1 2 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: 1 2 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: 1 2 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: 1 2 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: 1 2 0.50 cmhi d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 cmhs d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: 1 2 0.50 cmle d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: 1 2 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: 1 2 0.50 cmlt d20, d21, #0 # CHECK-NEXT: 1 2 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: 1 2 0.50 cmtst d20, d21, d22 # CHECK-NEXT: 1 2 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: 1 2 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 dup v0.16b, w28 @@ -1341,7 +119,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: 1 2 0.50 fabd d29, d24, d20 # CHECK-NEXT: 1 2 0.50 fabd s29, s24, s20 +# CHECK-NEXT: 1 2 0.50 fabd h27, h20, h17 +# CHECK-NEXT: 1 2 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: 1 2 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fabs h25, h7 # CHECK-NEXT: 1 2 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fabs v0.4h, v0.4h @@ -1349,41 +130,67 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 facge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facge s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facge h24, h26, h29 +# CHECK-NEXT: 1 2 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: 1 2 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: 1 2 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 facgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 facgt s10, s11, s12 +# CHECK-NEXT: 1 2 0.50 facgt h0, h4, h10 # CHECK-NEXT: 1 2 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 2 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: 1 2 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: 1 2 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 faddp h10, v19.2h +# CHECK-NEXT: 1 2 0.50 faddp d11, v28.2d # CHECK-NEXT: 1 2 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 faddp v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 2 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 -# CHECK-NEXT: 1 2 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: 1 2 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: 1 2 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: 1 2 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: 1 2 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge h1, h16, h12 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmge s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: 1 2 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: 1 2 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: 1 2 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmgt v0.4s, v0.4s, v0.4s -# CHECK-NEXT: 1 4 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 -# CHECK-NEXT: 1 4 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 +# CHECK-NEXT: 1 2 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: 1 2 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: 1 2 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: 1 2 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: 1 3 1.00 fcvtas d21, d14 # CHECK-NEXT: 2 4 2.00 fcvtas s12, s13 # CHECK-NEXT: 4 6 4.00 fcvtas h12, h13 @@ -1470,9 +277,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s # CHECK-NEXT: 1 3 1.00 fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4h, v0.4h +# CHECK-NEXT: 2 4 2.00 fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzs v0.8h, v0.8h +# CHECK-NEXT: 4 6 4.00 fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: 1 3 1.00 fcvtzu d21, d12, #1 # CHECK-NEXT: 1 3 1.00 fcvtzu d21, d14 # CHECK-NEXT: 2 4 2.00 fcvtzu s12, s13 @@ -1484,9 +293,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s # CHECK-NEXT: 1 3 1.00 fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4h, v0.4h +# CHECK-NEXT: 2 4 2.00 fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: 4 6 4.00 fcvtzu v0.8h, v0.8h +# CHECK-NEXT: 4 6 4.00 fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: 1 14 2.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 9 2.00 fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 9 4.00 fdiv v0.4h, v0.4h, v0.4h @@ -1498,12 +309,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: 1 2 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 4 1.00 fmaxnmv h0, v13.4h +# CHECK-NEXT: 3 6 1.50 fmaxnmv h12, v11.8h +# CHECK-NEXT: 2 4 1.00 fmaxnmv s28, v31.4s # CHECK-NEXT: 1 2 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: 1 2 0.50 fmaxp s6, v2.2s # CHECK-NEXT: 2 4 1.00 fmaxv h0, v0.4h # CHECK-NEXT: 3 6 1.50 fmaxv h0, v0.8h # CHECK-NEXT: 2 4 1.00 fmaxv s0, v0.4s @@ -1513,52 +331,71 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: 1 2 0.50 fminnmp d15, v8.2d # CHECK-NEXT: 1 2 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 2 4 1.00 fminnmv h19, v25.4h +# CHECK-NEXT: 3 6 1.50 fminnmv h23, v17.8h +# CHECK-NEXT: 2 4 1.00 fminnmv s29, v17.4s # CHECK-NEXT: 1 2 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 2 0.50 fminp h7, v10.2h +# CHECK-NEXT: 1 2 0.50 fminp s17, v7.2s +# CHECK-NEXT: 2 4 1.00 fminv h3, v30.4h +# CHECK-NEXT: 3 6 1.50 fminv h29, v12.8h +# CHECK-NEXT: 2 4 1.00 fminv s16, v19.4s # CHECK-NEXT: 1 4 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: 1 4 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmla v0.2s, v0.2s, v0.2s -# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.50 fmlal v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.50 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.50 fmlal2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: 1 4 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: 1 4 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: 1 4 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: 1 4 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: 1 4 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: 1 4 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: 1 4 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: 1 4 0.50 fmls v0.2s, v0.2s, v0.2s -# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.50 fmlsl v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.50 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: 1 4 0.50 fmlsl2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: 1 4 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: 1 4 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: 1 4 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: 1 2 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: 1 2 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: 1 2 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: 1 3 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: 1 3 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: 1 3 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: 1 3 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: 1 3 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: 1 3 0.50 fmul h28, h14, h3 # CHECK-NEXT: 1 3 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: 1 3 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: 1 2 0.50 fmulx d23, d11, d1 # CHECK-NEXT: 1 2 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: 1 3 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: 1 2 0.50 fmulx h20, h25, h0 # CHECK-NEXT: 1 3 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: 1 3 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: 1 3 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: 1 3 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 3 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: 1 3 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: 1 3 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: 1 2 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: 1 2 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 frecpe h20, h8 # CHECK-NEXT: 1 3 1.00 frecpe d13, d13 # CHECK-NEXT: 1 3 1.00 frecpe s19, s14 # CHECK-NEXT: 1 2 0.50 frecpe v0.2d, v0.2d @@ -1566,23 +403,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frecpe v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frecpe v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frecpe v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 frecps h29, h19, h8 +# CHECK-NEXT: 1 3 1.00 frecpx h18, h11 +# CHECK-NEXT: 1 4 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: 1 4 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 4 0.50 frecps d22, d30, d21 # CHECK-NEXT: 1 4 0.50 frecps s21, s16, s13 +# CHECK-NEXT: 1 4 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: 1 3 1.00 frecpx d16, d19 # CHECK-NEXT: 1 3 1.00 frecpx s18, s10 -# CHECK-NEXT: 1 3 1.00 frint32x v0.2d, v0.2d -# CHECK-NEXT: 1 3 1.00 frint32x v0.2s, v0.2s -# CHECK-NEXT: 2 4 2.00 frint32x v0.4s, v0.4s -# CHECK-NEXT: 1 3 1.00 frint32z v0.2d, v0.2d -# CHECK-NEXT: 1 3 1.00 frint32z v0.2s, v0.2s -# CHECK-NEXT: 2 4 2.00 frint32z v0.4s, v0.4s -# CHECK-NEXT: 1 3 1.00 frint64x v0.2d, v0.2d -# CHECK-NEXT: 1 3 1.00 frint64x v0.2s, v0.2s -# CHECK-NEXT: 2 4 2.00 frint64x v0.4s, v0.4s -# CHECK-NEXT: 1 3 1.00 frint64z v0.2d, v0.2d -# CHECK-NEXT: 1 3 1.00 frint64z v0.2s, v0.2s -# CHECK-NEXT: 2 4 2.00 frint64z v0.4s, v0.4s # CHECK-NEXT: 1 3 1.00 frinta v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frinta v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frinta v0.4h, v0.4h @@ -1618,13 +447,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 frintz v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frintz v0.4s, v0.4s # CHECK-NEXT: 4 6 4.00 frintz v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 frsqrte h23, h26 # CHECK-NEXT: 1 3 1.00 frsqrte d21, d12 # CHECK-NEXT: 1 3 1.00 frsqrte s22, s13 # CHECK-NEXT: 1 2 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: 1 3 1.00 frsqrte v0.2s, v0.2s # CHECK-NEXT: 2 4 2.00 frsqrte v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 frsqrte v0.4s, v0.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: 1 4 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: 4 6 4.00 frsqrte v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: 1 4 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: 1 4 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: 1 4 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -1633,52 +466,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 9 4.00 fsqrt v0.4h, v0.4h # CHECK-NEXT: 1 11 4.00 fsqrt v0.4s, v0.4s # CHECK-NEXT: 1 13 8.00 fsqrt v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: 1 2 0.50 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 6 1.00 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21] +# CHECK-NEXT: 2 6 0.67 * ld1 { v25.4h, v26.4h }, [x3] +# CHECK-NEXT: 4 7 1.33 * 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: 4 7 1.33 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: 3 6 0.67 * ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: 3 6 1.00 * ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: 5 7 1.33 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: 2 8 0.50 * ld1 { v0.b }[7], [x0] +# CHECK-NEXT: 3 8 0.50 * ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: 2 8 0.50 * ld1 { v18.h }[3], [x1] +# CHECK-NEXT: 2 8 0.50 * ld1 { v0.s }[1], [x15] +# CHECK-NEXT: 3 8 0.50 * ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: 2 8 0.50 * ld1 { v11.d }[0], [x13] # CHECK-NEXT: 2 6 0.33 * ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: 2 6 0.67 * ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: 2 8 0.50 * ld1 { v0.b }[9], [x0] # CHECK-NEXT: 3 8 0.50 * ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: 2 8 0.50 * ld1r { v0.16b }, [x0] +# CHECK-NEXT: 3 8 0.50 * ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: 2 8 0.50 * ld1r { v0.4s }, [x15] +# CHECK-NEXT: 2 8 0.50 * ld1r { v3.1d }, [x15] +# CHECK-NEXT: 3 8 0.50 * ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: 2 8 0.50 * ld1r { v18.2d }, [x0] +# CHECK-NEXT: 2 8 0.50 * ld1r { v8.8b }, [x23] +# CHECK-NEXT: 2 8 0.50 * ld1r { v28.4h }, [x9] +# CHECK-NEXT: 2 8 0.50 * ld1r { v3.8h }, [x16] +# CHECK-NEXT: 2 8 0.50 * ld1r { v10.2s }, [x20] +# CHECK-NEXT: 3 8 1.00 * ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: 4 8 1.00 * ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: 3 8 1.00 * ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: 4 8 1.00 * ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: 4 8 1.00 * ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: 3 8 1.00 * ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: 3 8 1.00 * ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: 3 8 1.00 * ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: 4 8 1.00 * ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: 3 8 1.00 * ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: 4 8 1.00 * ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: 3 8 0.50 * ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: 2 8 0.50 * ld1r { v0.8h }, [x15] # CHECK-NEXT: 3 8 0.50 * ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: 5 8 1.00 * ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 8 1.00 * ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: 3 8 1.00 * ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: 4 8 1.00 * ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: 4 8 1.00 * ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: 3 8 1.00 * ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 3 8 1.00 * ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: 4 8 1.00 * ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: 3 8 1.00 * ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: 3 8 1.00 * ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: 3 8 1.00 * ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: 3 8 1.00 * ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: 4 8 1.00 * ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: 3 8 1.00 * ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: 3 8 1.00 * ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: 5 8 1.50 * ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: 3 8 1.00 * ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: 4 8 1.00 * ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: 3 8 1.00 * ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: 4 8 1.00 * ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: 5 8 1.50 * ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: 7 8 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: 6 8 1.50 * ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: 5 8 1.50 * ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: 5 8 1.50 * ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: 5 8 1.50 * ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: 6 8 1.50 * ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: 7 8 1.50 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: 5 8 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: 6 8 1.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: 5 8 1.50 * ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: 5 8 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: 6 8 1.50 * ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: 5 8 1.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 6 8 1.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: 5 8 1.50 * ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: 6 8 1.50 * ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: 5 8 1.50 * ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: 6 8 1.50 * ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: 6 8 1.50 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: 5 8 1.50 * ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: 6 8 1.50 * ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: 7 8 2.00 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: 10 9 2.00 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: 7 8 2.00 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: 10 9 2.00 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: 10 9 2.00 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: 5 8 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: 6 8 1.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: 7 8 2.00 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 11 9 2.00 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: 7 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: 10 9 2.00 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: 7 8 2.00 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: 7 8 2.00 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: 8 8 2.00 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: 8 8 2.00 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: 7 8 2.00 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: 7 8 2.00 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: 8 8 2.00 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: 7 8 2.00 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: 7 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: 8 8 2.00 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: 7 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: 8 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: 8 8 2.00 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: 9 8 2.00 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: 8 8 2.00 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: 7 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 8 8 2.00 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: 1 4 1.00 mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: 1 4 1.00 mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: 1 4 1.00 mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: 1 4 1.00 mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: 1 2 0.50 mov b0, v0.b[15] # CHECK-NEXT: 1 2 0.50 mov d6, v0.d[1] # CHECK-NEXT: 1 2 0.50 mov h2, v0.h[5] # CHECK-NEXT: 1 2 0.50 mov s17, v0.s[2] +# CHECK-NEXT: 2 2 1.00 mov w8, v8.s[0] +# CHECK-NEXT: 2 2 1.00 mov x30, v18.d[0] # CHECK-NEXT: 1 2 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: 1 2 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: 1 2 0.50 mov v2.s[2], v0.s[2] @@ -1691,11 +635,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mov v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: 1 2 0.50 movi v0.16b, #31 +# CHECK-NEXT: 1 2 0.50 movi v14.8h, #174 +# CHECK-NEXT: 1 2 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: 1 2 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: 1 2 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: 1 2 0.50 movi v19.2s, #226 +# CHECK-NEXT: 1 2 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: 1 2 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: 1 2 0.50 movi v0.8b, #255 # CHECK-NEXT: 1 4 1.00 mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: 1 4 1.00 mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: 1 4 1.00 mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: 1 4 1.00 mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: 1 4 1.00 mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: 1 4 1.00 mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: 1 2 0.50 mvni v9.4h, #237 +# CHECK-NEXT: 1 2 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: 1 2 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: 1 2 0.50 mvni v0.2s, #0 # CHECK-NEXT: 1 2 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: 1 2 0.50 neg d29, d24 @@ -1709,8 +666,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: 1 2 0.50 mov v0.16b, v0.16b +# CHECK-NEXT: 1 2 0.50 orr v9.4h, #18 # CHECK-NEXT: 1 2 0.50 orr v0.8h, #31 +# CHECK-NEXT: 1 2 0.50 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 @@ -1755,6 +715,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.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -1790,6 +751,8 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 4 6 4.00 scvtf h4, h8, #9 +# CHECK-NEXT: 4 6 4.00 scvtf h5, h14 # CHECK-NEXT: 1 3 1.00 scvtf d21, d12 # CHECK-NEXT: 1 3 1.00 scvtf d21, d12, #64 # CHECK-NEXT: 2 4 2.00 scvtf s22, s13 @@ -1801,26 +764,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 scvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: 4 6 4.00 scvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 4.00 scvtf v4.8h, v8.8h, #10 # CHECK-NEXT: 1 3 0.50 sdot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: 1 3 0.50 sdot v0.2s, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.50 sdot v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: 1 2 0.50 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 @@ -1832,6 +794,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.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: 1 2 0.50 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 @@ -1843,8 +806,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: 1 2 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: 1 2 0.50 smaxp v0.8b, v0.8b, v0.8b # CHECK-NEXT: 2 5 1.00 smaxv b0, v0.8b # CHECK-NEXT: 2 6 2.00 smaxv b0, v0.16b @@ -1863,23 +828,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 5 1.00 sminv h0, v0.8h # CHECK-NEXT: 1 3 1.00 sminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: 1 4 1.00 smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: 1 4 1.00 smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: 1 4 1.00 smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: 1 4 1.00 smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: 1 4 1.00 smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 smlsl2 v0.8h, v0.16b, v0.16b -# CHECK-NEXT: 1 3 0.50 smmla v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 1.00 smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 3 1.00 smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: 1 3 1.00 smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 3 1.00 smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: 1 3 1.00 smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: 1 3 1.00 smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: 1 3 1.00 smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqabs b19, b14 # CHECK-NEXT: 1 2 0.50 sqabs d18, d12 @@ -1893,6 +869,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: 1 2 0.50 sqadd h12, h18, h10 # CHECK-NEXT: 1 2 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 4 1.00 sqdmlal d19, s24, s12 @@ -1900,17 +877,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlal s17, h27, h12 # CHECK-NEXT: 1 4 1.00 sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: 1 4 1.00 sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: 1 4 1.00 sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: 1 4 1.00 sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: 1 3 1.00 sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: 1 3 1.00 sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: 1 3 1.00 sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: 1 3 1.00 sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: 1 4 1.00 sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: 1 4 1.00 sqdmlsl d12, s23, s13 # CHECK-NEXT: 1 4 1.00 sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: 1 4 1.00 sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmlsl s14, h12, h25 # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: 1 4 1.00 sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: 1 4 1.00 sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: 1 4 1.00 sqdmulh h10, h11, h12 # CHECK-NEXT: 1 4 1.00 sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: 1 4 1.00 sqdmulh s15, s14, v0.s[1] @@ -1971,6 +965,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.50 sqsub b3, b13, b12 +# CHECK-NEXT: 1 2 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: 1 4 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: 1 4 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: 1 4 0.50 sqrshrn s15, d12, #9 @@ -1996,6 +993,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 @@ -2092,8 +1090,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.50 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 @@ -2122,32 +1124,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 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: 5 2 1.00 * st1 { v0.4s, v1.4s }, [sp], #32 # 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: 3 4 1.00 * st1 { v1.b }[5], [x1] +# CHECK-NEXT: 3 4 1.00 * st1 { v0.h }[2], [x1] +# CHECK-NEXT: 3 4 1.00 * st1 { v31.s }[1], [x16] # 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: 3 4 1.00 * st1 { v0.d }[1], [x0] # CHECK-NEXT: 4 4 1.00 * st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: 7 4 2.00 * st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: 3 4 1.00 * st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: 6 4 2.00 * st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: 3 4 1.00 * st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: 6 4 2.00 * st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: 3 4 1.00 * st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: 6 4 2.00 * st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: 6 4 2.00 * st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: 3 4 1.00 * st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: 3 4 1.00 * st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: 3 4 1.00 * st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: 4 4 1.00 * st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: 3 4 1.00 * st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: 6 5 2.00 * st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: 9 6 3.00 * st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: 6 5 2.00 * st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: 10 6 3.00 * st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: 9 6 3.00 * st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: 6 5 2.00 * st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: 9 6 3.00 * st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: 9 6 3.00 * st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: 6 5 2.00 * st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: 6 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: 7 5 2.00 * st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: 6 5 2.00 * st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: 6 5 2.00 * st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: 8 6 3.00 * st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: 16 7 6.00 * st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: 8 6 3.00 * st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: 16 7 6.00 * st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: 8 6 3.00 * st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: 17 7 6.00 * st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: 16 7 6.00 * st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: 12 5 4.00 * st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: 4 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: 4 6 1.50 * st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: 4 6 1.50 * st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: 6 4 2.00 * st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: 4 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: 5 6 1.50 * st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 # CHECK-NEXT: 7 4 2.00 * st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: 1 2 0.50 sub d15, d5, d16 # CHECK-NEXT: 1 2 0.50 sub v0.2d, v0.2d, v0.2d -# CHECK-NEXT: 1 3 0.50 sudot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: 1 3 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: 1 2 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: 1 2 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: 1 2 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: 1 2 0.50 suqadd b19, b14 # CHECK-NEXT: 1 2 0.50 suqadd d18, d22 # CHECK-NEXT: 1 2 0.50 suqadd h20, h15 @@ -2190,6 +1256,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: 1 2 0.50 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 @@ -2197,6 +1264,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.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: 1 2 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -2232,8 +1300,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: 1 2 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: 1 2 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: 1 3 1.00 ucvtf h17, x12 +# CHECK-NEXT: 4 6 4.00 ucvtf h22, h16, #11 +# CHECK-NEXT: 4 6 4.00 ucvtf h7, h21 # CHECK-NEXT: 1 3 1.00 ucvtf d21, d14 # CHECK-NEXT: 1 3 1.00 ucvtf d21, d14, #64 +# CHECK-NEXT: 1 3 1.00 ucvtf s8, x0 # CHECK-NEXT: 2 4 2.00 ucvtf s22, s13 # CHECK-NEXT: 2 4 2.00 ucvtf s22, s13, #32 # CHECK-NEXT: 1 3 1.00 ucvtf v0.2d, v0.2d @@ -2243,13 +1315,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4h, v0.4h # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s # CHECK-NEXT: 2 4 2.00 ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: 2 4 2.00 ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: 4 6 4.00 ucvtf v0.8h, v0.8h +# CHECK-NEXT: 4 6 4.00 ucvtf v22.8h, v20.8h, #10 # CHECK-NEXT: 1 3 0.50 udot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: 1 3 0.50 udot v0.2s, v0.8b, v0.8b # CHECK-NEXT: 1 3 0.50 udot v0.4s, v0.16b, v0.16b # CHECK-NEXT: 1 3 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: 1 2 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: 1 2 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 umax v0.4s, v0.4s, v0.4s @@ -2265,7 +1340,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: 1 2 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: 1 2 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: 1 2 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: 1 2 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: 1 2 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: 1 2 0.50 uminp v0.8b, v0.8b, v0.8b # CHECK-NEXT: 2 5 1.00 uminv b0, v0.8b @@ -2274,35 +1351,50 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 2 5 1.00 uminv h0, v0.8h # CHECK-NEXT: 1 3 1.00 uminv s0, v0.4s # CHECK-NEXT: 1 4 1.00 umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: 1 4 1.00 umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: 1 4 1.00 umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: 1 4 1.00 umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: 1 4 1.00 umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: 1 4 1.00 umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: 1 4 1.00 umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: 1 4 1.00 umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 4 1.00 umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 4 1.00 umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: 1 4 1.00 umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 4 1.00 umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: 1 4 1.00 umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 4 1.00 umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 4 1.00 umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 4 1.00 umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: 1 4 1.00 umlsl2 v0.8h, v0.16b, v0.16b -# CHECK-NEXT: 1 3 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 2 2 1.00 umov w6, v22.b[0] # CHECK-NEXT: 2 2 1.00 umov w0, v0.b[1] +# CHECK-NEXT: 2 2 1.00 umov w10, v25.h[0] # CHECK-NEXT: 2 2 1.00 umov w0, v0.h[1] # CHECK-NEXT: 2 2 1.00 mov w0, v0.s[1] # CHECK-NEXT: 2 2 1.00 mov x0, v0.d[1] # CHECK-NEXT: 1 3 1.00 umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: 1 3 1.00 umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: 1 3 1.00 umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: 1 3 1.00 umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: 1 3 1.00 umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: 1 3 1.00 umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: 1 3 1.00 umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: 1 3 1.00 umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: 1 3 1.00 umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: 1 3 1.00 umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: 1 2 0.50 uqadd s0, s24, s30 # CHECK-NEXT: 1 2 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 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 4 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: 1 4 0.50 uqrshrn h12, s10, #14 @@ -2325,6 +1417,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 @@ -2339,8 +1432,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.50 uqsub s16, s21, s6 # CHECK-NEXT: 1 2 0.50 uqsub d16, d16, d16 # CHECK-NEXT: 1 2 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: 1 2 0.50 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 @@ -2355,7 +1450,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: 1 2 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: 1 2 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: 1 2 0.50 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 @@ -2378,15 +1475,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 4 0.50 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: 1 4 0.50 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: 1 4 0.50 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: 1 3 0.50 usdot v0.2s, v0.8b, v0.8b -# CHECK-NEXT: 1 3 0.50 usdot v0.4s, v0.16b, v0.16b -# CHECK-NEXT: 1 3 0.50 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.50 ushr d10, d17, #18 # CHECK-NEXT: 1 2 0.50 ushr v0.16b, v0.16b, #3 @@ -2396,7 +1494,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: 1 2 0.50 ushr v0.4s, v0.4s, #3 # 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.50 usmmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: 2 2 1.00 U smov w15, v22.b[0] +# CHECK-NEXT: 2 2 1.00 U smov w26, v27.h[0] +# CHECK-NEXT: 2 2 1.00 U smov x21, v0.b[0] +# CHECK-NEXT: 2 2 1.00 U smov x9, v27.h[0] +# CHECK-NEXT: 2 2 1.00 U smov x15, v3.s[0] # CHECK-NEXT: 2 2 1.00 smov w0, v0.b[1] # CHECK-NEXT: 2 2 1.00 smov w0, v0.h[1] # CHECK-NEXT: 2 2 1.00 smov x0, v0.b[1] @@ -2495,7 +1597,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK: Resource pressure per iteration: # CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] -# CHECK-NEXT: - - - - - - - - - 27.33 27.33 48.83 14.88 3.88 3.88 3.88 3.88 3.88 3.88 3.88 21.50 1003.00 595.00 +# CHECK-NEXT: - - - - - - - - - 106.00 106.00 189.00 19.13 6.13 6.13 6.13 6.13 6.13 6.13 6.13 83.00 1340.50 858.50 # CHECK: Resource pressure by instruction: # CHECK-NEXT: [0.0] [0.1] [0.2] [1.0] [1.1] [2.0] [2.1] [2.2] [2.3] [3.0] [3.1] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] Instructions: @@ -2515,8 +1617,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addhn2 v0.16b, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addhn2 v0.4s, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addhn2 v0.8h, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addp v7.2s, v1.2s, v2.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addp v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 addp d1, v14.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 1.00 addv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 1.00 addv h0, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 1.50 addv h0, v0.8h @@ -2527,21 +1631,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 aesimc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 aesmc v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 and v0.8b, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - bfcvt h0, s0 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - bfcvtn v0.4h, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - bfcvtn2 v0.8h, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.2s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfdot v0.4s, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalb v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.8h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmlalt v0.4s, v0.8h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bfmmla v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bic v0.4h, #15, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bic v23.8h, #101 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bic v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bic v25.16b, v10.16b, v9.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bic v24.2s, #70 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bit v5.8b, v12.8b, v22.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bif v0.8b, v25.8b, v4.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bif v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bit v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bsl v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 bsl v27.16b, v13.16b, v21.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cls v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cls v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cls v0.4h, v0.4h @@ -2554,28 +1654,37 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 clz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 clz v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 clz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmeq v9.8h, v16.8h, v24.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmeq v14.4h, v18.4h, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmeq d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmeq v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmge v22.8h, v16.8h, v3.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmge v22.16b, v30.16b, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmge d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmge v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmge v0.8b, v0.8b, #0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmgt v3.2d, v29.2d, v11.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmgt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmgt v0.2s, v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmgt v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmhi v28.4h, v25.4h, v21.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmhi d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmhi v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmhs d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmhs v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmle v21.2s, v19.2s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmle d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmle v0.2d, v0.2d, #0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmlt v26.4h, v12.4h, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmlt d20, d21, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmlt v0.8h, v0.8h, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmtst d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmtst v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cmtst v13.2d, v13.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cnt v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 cnt v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - 1.00 - - - - - - - - - - dup v0.16b, w28 @@ -2601,7 +1710,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ext v0.8b, v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabd d29, d24, d20 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabd s29, s24, s20 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabd h27, h20, h17 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabd v13.8h, v28.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabs h25, h7 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabs v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabs v0.4h, v0.4h @@ -2609,41 +1721,67 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facge s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facge h24, h26, h29 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facge v25.4h, v16.4h, v11.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facge v19.2s, v24.2s, v5.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facge v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facgt s10, s11, s12 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facgt h0, h4, h10 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facgt v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facgt v22.8h, v14.8h, v31.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 facgt v22.4s, v8.4s, v2.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fadd v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 faddp h10, v19.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 faddp d11, v28.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 faddp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 faddp v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcadd v0.2s, v0.2s, v0.2s, #90 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcadd v0.4s, v0.4s, v0.4s, #270 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 faddp v16.2d, v11.2d, v5.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq h30, h6, h1 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq h19, h23, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq v12.4s, v11.4s, v26.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmeq v18.2d, v17.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge h10, h23, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge h1, h16, h12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge v17.2d, v11.2d, v13.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge v18.4h, v27.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge v20.8h, v19.8h, v22.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmge v17.2s, v11.2s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt h4, h5, h0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt h0, h18, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt d20, d21, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt s10, s11, s12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt v0.4s, v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmla v0.2s, v0.2s, v0.2s, #90 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmla v0.4s, v0.4s, v0.s[1], #0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt v24.8h, v24.8h, v28.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt v0.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmgt v19.2d, v31.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmle v16.8h, v11.8h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmle v22.4s, v30.4s, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmle d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmle s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmle v0.2d, v0.2d, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmle h18, h28, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmlt h23, h7, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmlt d20, d21, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmlt s10, s11, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmlt v0.4s, v0.4s, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmlt v8.4h, v2.4h, #0.0 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fcmlt v7.2d, v16.2d, #0.0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtas d21, d14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtas s12, s13 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - fcvtas h12, h13 @@ -2730,9 +1868,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtzs v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzs v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzs v20.4h, v24.4h, #11 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzs v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - fcvtzs v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - fcvtzs v18.8h, v10.8h, #7 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtzu d21, d12, #1 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtzu d21, d14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzu s12, s13 @@ -2744,9 +1884,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - fcvtzu v0.2s, v0.2s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzu v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzu v19.4h, v26.4h, #9 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - fcvtzu v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - fcvtzu v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - fcvtzu v27.8h, v6.8h, #11 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 2.00 fdiv v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 2.00 fdiv v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 4.00 fdiv v0.4h, v0.4h, v0.4h @@ -2758,12 +1900,19 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnmp h25, v19.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnmp d17, v29.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fmaxnmv h0, v13.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.50 1.50 fmaxnmv h12, v11.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fmaxnmv s28, v31.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxp h15, v25.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmaxp s6, v2.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fmaxv h0, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.50 1.50 fmaxv h0, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fmaxv s0, v0.4s @@ -2773,52 +1922,71 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnm v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnm v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnm v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnmp h20, v14.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnmp d15, v8.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnmp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnmp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminnmp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fminnmv h19, v25.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.50 1.50 fminnmv h23, v17.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fminnmv s29, v17.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminp v0.2d, v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminp v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminp h7, v10.2h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fminp s17, v7.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fminv h3, v30.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.50 1.50 fminv h29, v12.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 fminv s16, v19.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla d0, d1, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla h23, h24, v15.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla v0.2s, v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlal2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla v29.8h, v15.8h, v10.h[4] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla v2.2s, v16.2s, v28.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla v14.4s, v14.4s, v5.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla v1.4s, v24.4s, v12.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmla v10.2d, v14.2d, v21.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls d0, d4, v0.d[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls h8, h14, v7.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls v0.2s, v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl v0.4s, v0.4h, v0.4h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.h[1] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.h[3] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.2s, v0.2h, v0.2h -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmlsl2 v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls v30.8h, v18.8h, v4.h[6] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls v10.2s, v27.2s, v0.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls v27.4s, v7.4s, v24.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls v10.2d, v22.2d, v29.d[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmls v6.8h, v15.8h, v23.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmov v0.2d, #-1.25000000 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmov v0.2s, #13.00000000 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmov v0.4s, #1.00000000 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul h18, h4, v7.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul v10.4h, v2.4h, v7.h[5] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul v5.2s, v12.2s, v9.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul v15.4s, v30.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul v11.2d, v31.2d, v24.d[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul h28, h14, h3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul d0, d1, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul s0, s1, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmul v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx d0, d4, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx d23, d11, d1 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx s20, s22, s15 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx h18, h17, v7.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx h20, h25, h0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx s3, s5, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v0.2d, v0.2d, v0.2d +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v28.4h, v25.4h, v15.h[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v3.2s, v22.2s, v23.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v0.4s, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v5.4s, v28.4s, v15.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fmulx v22.2d, v18.2d, v25.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fneg v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fneg v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fneg v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fneg v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fneg v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frecpe h20, h8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frecpe d13, d13 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frecpe s19, s14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecpe v0.2d, v0.2d @@ -2826,23 +1994,15 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frecpe v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frecpe v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - frecpe v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecps h29, h19, h8 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frecpx h18, h11 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecps v12.8h, v25.8h, v4.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecps v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecps d22, d30, d21 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecps s21, s16, s13 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frecps v7.2d, v29.2d, v18.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frecpx d16, d19 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frecpx s18, s10 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32x v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32x v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint32x v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32z v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint32z v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint32z v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64x v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64x v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint64x v0.4s, v0.4s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64z v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frint64z v0.2s, v0.2s -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frint64z v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frinta v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frinta v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frinta v0.4h, v0.4h @@ -2878,13 +2038,17 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frintz v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frintz v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - frintz v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frsqrte h23, h26 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frsqrte d21, d12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frsqrte s22, s13 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrte v0.2d, v0.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - frsqrte v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frsqrte v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - frsqrte v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrts v20.4s, v26.4s, v27.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrts v8.4h, v9.4h, v30.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - frsqrte v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrts h28, h26, h1 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrts d8, d22, d18 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrts s21, s5, s12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 frsqrts v0.2d, v0.2d, v0.2d @@ -2893,52 +2057,163 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 4.00 fsqrt v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 4.00 fsqrt v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 8.00 fsqrt v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 fsub v13.8h, v15.8h, v17.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - 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.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 # 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - 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: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - - - ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - ld1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - - - ld1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1 { v0.b }[7], [x0] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1 { v0.h }[3], [x0], #2 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1 { v18.h }[3], [x1] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1 { v0.s }[1], [x15] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1 { v0.d }[0], [x15], #8 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1 { v11.d }[0], [x13] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - - - ld1 { v0.8h }, [x15], x2 # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - - - ld1 { v0.8h, v1.8h }, [x15] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1 { v0.b }[9], [x0] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1 { v0.b }[9], [x0], #1 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v0.16b }, [x0] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1r { v0.8h }, [x0], #2 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v0.4s }, [x15] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v3.1d }, [x15] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1r { v0.2d }, [x15], x16 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v18.2d }, [x0] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v8.8b }, [x23] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v28.4h }, [x9] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v3.8h }, [x16] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v10.2s }, [x20] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v0.4h, v1.4h }, [x21] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.00 1.00 ld2 { v8.8h, v9.8h }, [x28] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v2.2s, v3.2s }, [x16] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.00 1.00 ld2 { v22.4s, v23.4s }, [x4] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.00 1.00 ld2 { v22.2d, v23.2d }, [x17] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v29.b, v30.b }[3], [x1] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v26.s, v27.s }[1], [x17] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v1.d, v2.d }[0], [x10] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.00 1.00 ld2 { v0.16b, v1.16b }, [x0] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v13.8b, v14.8b }, [x4] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2 { v0.8b, v1.8b }, [x0], #16 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1r { v0.16b }, [x0], #1 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 0.50 0.50 ld1r { v0.8h }, [x15] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 0.50 0.50 ld1r { v0.8h }, [x15], #2 # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v0.8b, v1.8b }, [x0] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15], x8 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2 { v0.h, v1.h }[7], [x15], #4 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v10.16b, v11.16b }, [x23] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2r { v0.4h, v1.4h }, [x0], #4 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v25.4h, v26.4h }, [x11] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v23.8h, v24.8h }, [x10] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v0.2s, v1.2s }, [sp] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v8.4s, v9.4s }, [x17] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2r { v0.1d, v1.1d }, [sp], x8 +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v9.1d, v10.1d }, [x25] +# CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v26.2d, v27.2d }, [x8] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v8.8b, v9.8b, v10.8b }, [x0] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3 { v15.16b, v16.16b, v17.16b }, [x5] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v0.2d, v1.2d }, [x0] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2r { v0.2d, v1.2d }, [x0], #16 # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 - - - - - - - - - 1.00 1.00 ld2r { v0.4s, v1.4s }, [sp] # CHECK-NEXT: - - - - - - - - - 0.33 0.33 0.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.00 1.00 ld2r { v0.4s, v1.4s }, [sp], #8 # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v0.4h, v1.4h, v2.4h }, [x15] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3 { v7.8h, v8.8h, v9.8h }, [x21] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v16.2s, v17.2s, v18.2s }, [x0] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3 { v12.4s, v13.4s, v14.4s }, [x25] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v17.b, v18.b, v19.b }[2], [x27] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v18.h, v19.h, v20.h }[5], [x16] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3 { v10.2d, v11.2d, v12.2d }, [x18] # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.50 1.50 ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2 # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.50 1.50 ld3 { v0.s, v1.s, v2.s }[3], [sp], x3 +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3 { v5.d, v6.d, v7.d }[1], [x14] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x15] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3r { v17.16b, v18.16b, v19.16b }, [x3] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3r { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.50 1.50 ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6 +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3r { v3.4h, v4.4h, v5.4h }, [x1] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3r { v6.8h, v7.8h, v8.8h }, [x28] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3r { v0.2s, v1.2s, v2.2s }, [x0] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3r { v28.4s, v29.4s, v30.4s }, [x2] +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.50 1.50 ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0 +# CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3r { v1.1d, v2.1d, v3.1d }, [x28] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 1.50 1.50 ld3r { v8.2d, v9.2d, v10.2d }, [x3] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27] +# CHECK-NEXT: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 2.00 2.00 ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14] +# CHECK-NEXT: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 2.00 2.00 ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1] +# CHECK-NEXT: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 2.00 2.00 ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 - - - - - - - - - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x0] # CHECK-NEXT: - - - - - - - - - 0.67 0.67 0.67 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 1.50 1.50 ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - - - 2.00 2.00 2.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0] +# CHECK-NEXT: - - - - - - - - - 2.00 2.00 2.00 - - - - - - - - - 2.00 2.00 ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4] # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0 +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23] +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - 2.00 2.00 ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6] # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp] +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - 2.00 2.00 ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp] +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - 2.00 2.00 ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30] +# CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16 +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 - - - - - - - - - 2.00 2.00 ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23] +# CHECK-NEXT: - - - - - - - - - 1.33 1.33 1.33 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7 # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 - - - - - - - - - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - - - 1.00 1.00 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 - 2.00 2.00 ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mla v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mla v15.8h, v22.8h, v4.h[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mla v28.2s, v10.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mls v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mls v25.8h, v29.8h, v0.h[4] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mls v22.2s, v29.2s, v0.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mls v26.4s, v5.4s, v28.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov b0, v0.b[15] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov d6, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov h2, v0.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov s17, v0.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 mov w8, v8.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 mov x30, v18.d[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov v2.b[0], v0.b[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov v2.h[1], v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov v2.s[2], v0.s[2] @@ -2951,11 +2226,24 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi d15, #0xff00ff00ff00ff # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v0.16b, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v14.8h, #174 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v13.4h, #74, lsl #8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v0.2d, #0xff0000ff0000ffff # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v0.2s, #8, msl #8 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v19.2s, #226 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v1.4s, #122, msl #8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v0.4s, #255, lsl #24 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 movi v0.8b, #255 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v26.4h, v20.4h, v14.h[5] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v5.8h, v21.8h, v3.h[7] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v29.2s, v10.2s, v3.s[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v30.4s, v11.4s, v4.s[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v30.4s, v11.4s, v4.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - mul v3.8h, v9.8h, v8.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvni v9.4h, #237 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvni v8.8h, #171, lsl #8 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvni v22.4s, #15, lsl #8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvni v0.2s, #0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvni v0.4s, #16, msl #16 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 neg d29, d24 @@ -2969,8 +2257,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvn v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mvn v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 orn v0.16b, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 orn v29.8b, v19.8b, v16.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 mov v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 orr v9.4h, #18 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 orr v0.8h, #31 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 @@ -3015,6 +2306,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.50 0.50 sabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sabd v12.2s, v11.2s, v27.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sabdl v0.8h, v0.8b, v0.8b @@ -3050,6 +2342,8 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 saddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 saddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 saddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - scvtf h4, h8, #9 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - scvtf h5, h14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - scvtf d21, d12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - scvtf d21, d12, #64 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - scvtf s22, s13 @@ -3061,26 +2355,25 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - scvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - scvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - scvtf v25.4h, v13.4h, #8 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - scvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - scvtf v4.8h, v8.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sdot v0.2s, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sdot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 shadd v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 shadd v25.16b, v1.16b, v10.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 @@ -3092,6 +2385,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 shrn2 v0.8h, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 shsub v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 shsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 shsub v15.8h, v5.8h, v27.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 @@ -3103,8 +2397,10 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smax v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smax v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smax v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smax v30.16b, v3.16b, v30.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smaxp v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smaxp v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smaxp v21.8h, v16.8h, v7.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smaxp v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 1.50 smaxv b0, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 2.00 smaxv b0, v0.16b @@ -3123,23 +2419,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 1.50 sminv h0, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 1.00 sminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal v0.2d, v25.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal v16.4s, v9.4h, v11.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal2 v30.2d, v22.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl v25.2d, v27.2s, v1.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl v14.4s, v23.4h, v12.h[7] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlal2 v1.4s, v9.8h, v0.h[6] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl2 v12.4s, v11.8h, v12.h[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl2 v11.2d, v28.4s, v7.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smlsl2 v0.8h, v0.16b, v0.16b -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 smmla v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull v31.2d, v23.2s, v6.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull v3.4s, v26.4h, v1.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull2 v11.2d, v1.4s, v7.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull2 v13.4s, v18.8h, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - smull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqabs b19, b14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqabs d18, d12 @@ -3153,6 +2460,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqabs v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqabs v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqadd b20, b11, b15 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqadd h12, h18, h10 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqadd v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal d19, s24, s12 @@ -3160,17 +2468,34 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal s17, h27, h12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal v11.2d, v24.2s, v0.s[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal v20.4s, v30.4h, v12.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal2 v23.2d, v30.4s, v6.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlal2 v2.4s, v17.8h, v5.h[6] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmulh v8.4h, v16.4h, v5.h[4] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmulh v16.2s, v24.2s, v7.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmull v8.4s, v19.4h, v1.h[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmull v20.2d, v10.2s, v6.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmull2 v10.4s, v25.8h, v0.h[7] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmull2 v4.2d, v29.4s, v2.s[3] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqrdmulh v0.8h, v15.8h, v0.h[5] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqrdmulh v6.2s, v29.2s, v4.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqrdmulh v31.2s, v17.2s, v4.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl d12, s23, s13 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl d8, s9, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl s0, h0, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl s14, h12, h25 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl v26.2d, v7.2s, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl v4.4s, v22.4h, v13.h[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl2 v4.2d, v3.4s, v3.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmlsl2 v2.4s, v28.8h, v4.h[6] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmulh h10, h11, h12 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmulh h7, h15, v0.h[3] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - sqdmulh s15, s14, v0.s[1] @@ -3231,6 +2556,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.50 0.50 sqsub b3, b13, b12 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqsub v20.8h, v18.8h, v12.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqrshrn b10, h13, #2 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqrshrn h15, s10, #6 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sqrshrn s15, d12, #9 @@ -3256,6 +2584,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 @@ -3352,8 +2681,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.50 0.50 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 @@ -3382,32 +2715,96 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ssubw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ssubw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 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 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.50 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.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 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.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 1.00 1.00 st1 { v0.4s, v1.4s }, [sp], #32 # CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 1.50 1.50 st1 { v0.4s, v1.4s, v2.4s }, [sp] # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 1.00 1.00 st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st1 { v1.b }[5], [x1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st1 { v0.h }[2], [x1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st1 { v31.s }[1], [x16] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 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: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st1 { v0.d }[1], [x0] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 1.00 1.00 st1 { v0.d }[1], [x0], #8 # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 2.00 2.00 st2 { v0.16b, v1.16b }, [x0], x1 # CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v0.8b, v1.8b }, [x0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st2 { v6.16b, v7.16b }, [x23] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v10.4h, v11.4h }, [x18] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st2 { v10.8h, v11.8h }, [x18] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v25.2s, v26.2s }, [x29] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st2 { v26.4s, v27.4s }, [x14] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st2 { v10.2d, v11.2d }, [x1] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v21.b, v22.b }[15], [x15] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v28.h, v29.h }[2], [x6] # CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v0.s, v1.s }[3], [sp] # CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 1.00 1.00 st2 { v0.s, v1.s }[3], [sp], #8 +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.00 1.00 st2 { v17.d, v18.d }[1], [x1] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v10.8b, v11.8b, v12.8b }, [x18] +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 st3 { v26.16b, v27.16b, v28.16b }, [x4] # CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v0.4h, v1.4h, v2.4h }, [x15] # CHECK-NEXT: - - - - - - - - - - - 1.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.50 3.00 3.00 st3 { v0.8h, v1.8h, v2.8h }, [x15], x2 +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 st3 { v0.8h, v1.8h, v2.8h }, [x0] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v19.2s, v20.2s, v21.2s }, [x30] +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 st3 { v24.4s, v25.4s, v26.4s }, [x8] +# CHECK-NEXT: - - - - - - - - - - - 1.50 - - - - - - - - 1.50 3.00 3.00 st3 { v24.2d, v25.2d, v26.2d }, [x25] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v8.b, v9.b, v10.b }[4], [x18] # CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v0.h, v1.h, v2.h }[7], [x15] # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 2.00 2.00 st3 { v0.h, v1.h, v2.h }[7], [x15], #6 +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v9.s, v10.s, v11.s }[2], [x20] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st3 { v16.d, v17.d, v18.d }[0], [x13] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 3.00 3.00 st4 { v17.8b, v18.8b, v19.8b, v20.8b }, [x8] +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 6.00 6.00 st4 { v7.16b, v8.16b, v9.16b, v10.16b }, [x15] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 3.00 3.00 st4 { v5.4h, v6.4h, v7.4h, v8.4h }, [x13] +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 6.00 6.00 st4 { v11.8h, v12.8h, v13.8h, v14.8h }, [x1] # CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 3.00 3.00 st4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp] # CHECK-NEXT: - - - - - - - - - - - 2.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 2.00 6.00 6.00 st4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64 +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 6.00 6.00 st4 { v21.4s, v22.4s, v23.4s, v24.4s }, [x6] +# CHECK-NEXT: - - - - - - - - - - - 2.00 - - - - - - - - 2.00 4.00 4.00 st4 { v25.2d, v26.2d, v27.2d, v28.2d }, [x16] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[15], [x0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 st4 { v5.h, v6.h, v7.h, v8.h }[4], [x13] +# CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 st4 { v22.s, v23.s, v24.s, v25.s }[0], [x7] +# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - 1.00 2.00 2.00 st4 { v23.d, v24.d, v25.d, v26.d }[1], [x5] # CHECK-NEXT: - - - - - - - - - - - 0.50 - - - - - - - - 0.50 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0] +# CHECK-NEXT: - - - - - - - - - - - 0.50 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.50 1.50 1.50 st4 { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5 # CHECK-NEXT: - - - - - - - - - - - 1.00 0.13 0.13 0.13 0.13 0.13 0.13 0.13 0.13 1.00 2.00 2.00 st4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], x5 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sub d15, d5, d16 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sub v0.2d, v0.2d, v0.2d -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sudot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sudot v0.4s, v0.16b, v0.4b[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 sub v15.2s, v14.2s, v11.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 subhn v7.4h, v10.4s, v13.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 subhn2 v24.4s, v24.2d, v8.2d # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 suqadd b19, b14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 suqadd d18, d22 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 suqadd h20, h15 @@ -3450,6 +2847,7 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 trn2 v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 @@ -3457,6 +2855,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.50 0.50 uabd v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uabd v23.4s, v4.4s, v30.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uabdl v0.2d, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uabdl v0.4s, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uabdl v0.8h, v0.8b, v0.8b @@ -3492,8 +2891,12 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uaddw2 v0.2d, v0.2d, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uaddw2 v0.4s, v0.4s, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uaddw2 v0.8h, v0.8h, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - 1.00 - - - - - - - - - - ucvtf h17, x12 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - ucvtf h22, h16, #11 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - ucvtf h7, h21 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - ucvtf d21, d14 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - ucvtf d21, d14, #64 +# CHECK-NEXT: - - - - - - - - - - - - 1.00 - - - - - - - - - - ucvtf s8, x0 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - ucvtf s22, s13 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - ucvtf s22, s13, #32 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - ucvtf v0.2d, v0.2d @@ -3503,13 +2906,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - ucvtf v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - ucvtf v0.4s, v0.4s, #3 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 2.00 - ucvtf v18.4h, v11.4h, #7 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - ucvtf v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 4.00 - ucvtf v22.8h, v20.8h, #10 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 udot v0.2s, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 udot v0.4s, v0.16b, v0.4b[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uhsub v12.4h, v16.4h, v28.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uhsub v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 umax v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 umax v0.4s, v0.4s, v0.4s @@ -3525,7 +2931,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 umin v0.2s, v0.2s, v0.2s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 umin v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 umin v0.8b, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 umin v0.16b, v26.16b, v2.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uminp v0.2s, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uminp v28.4s, v16.4s, v15.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uminp v0.4h, v0.4h, v0.4h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uminp v0.8b, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 1.50 uminv b0, v0.8b @@ -3534,35 +2942,50 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 1.50 uminv h0, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - - 1.00 uminv s0, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal v28.2d, v31.2s, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal v22.4s, v14.4h, v0.h[6] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal v0.8h, v0.8b, v0.8b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal2 v10.2d, v4.4s, v3.s[2] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal2 v31.4s, v7.8h, v15.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal2 v0.2d, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal2 v0.4s, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlal2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl v20.2d, v20.2s, v2.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl v21.4s, v12.4h, v7.h[5] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl2 v30.2d, v23.4s, v1.s[2] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl2 v27.4s, v28.8h, v6.h[4] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umlsl2 v0.8h, v0.16b, v0.16b -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ummla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 umov w6, v22.b[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 umov w0, v0.b[1] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 umov w10, v25.h[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 umov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 mov w0, v0.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 mov x0, v0.d[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull v0.2d, v0.2s, v0.2s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull v22.2d, v28.2s, v6.s[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull v0.4s, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull v27.4s, v1.4h, v8.h[6] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull v0.8h, v0.8b, v0.8b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull2 v0.2d, v0.4s, v0.4s +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull2 v28.2d, v21.4s, v1.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull2 v0.4s, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull2 v18.4s, v26.8h, v10.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 - umull2 v0.8h, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uqadd h0, h1, h5 +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uqadd s0, s24, s30 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uqadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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.50 0.50 uqrshrn b10, h12, #5 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uqrshrn h12, s10, #14 @@ -3585,6 +3008,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 @@ -3599,8 +3023,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.50 0.50 uqsub s16, s21, s6 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uqsub d16, d16, d16 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 uqsub v0.4h, v0.4h, v0.4h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 @@ -3615,7 +3041,9 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 urhadd v0.16b, v0.16b, v0.16b # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 urhadd v0.4s, v0.4s, v0.4s # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 urhadd v0.8h, v0.8h, v0.8h +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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 @@ -3638,15 +3066,16 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ursra v0.4s, v0.4s, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ursra v0.8b, v0.8b, #3 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ursra v0.8h, v0.8h, #3 -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.4b[2] -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.2s, v0.8b, v0.8b -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 usdot v0.4s, v0.16b, v0.16b -# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 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.50 0.50 ushr d10, d17, #18 # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ushr v0.16b, v0.16b, #3 @@ -3656,7 +3085,11 @@ zip2 v0.8h, v0.8h, v0.8h # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 0.50 0.50 ushr v0.4s, v0.4s, #3 # 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.50 0.50 usmmla v0.4s, v0.16b, v0.16b +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov w15, v22.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov w26, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov x21, v0.b[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov x9, v27.h[0] +# CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov x15, v3.s[0] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov w0, v0.b[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov w0, v0.h[1] # CHECK-NEXT: - - - - - - - - - - - - - - - - - - - - - 1.00 1.00 smov x0, v0.b[1]