[llvm] [AArch64] C1-Ultra Scheduling model (PR #182251)
Nashe Mncube via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 10 10:13:07 PDT 2026
================
@@ -0,0 +1,3167 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=c1-ultra -mattr=+aes -instruction-tables < %p/../Inputs/neon-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.17 abs d29, d24
+# CHECK-NEXT: 1 2 0.17 abs v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 abs v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 abs v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 abs v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 abs v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 abs v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 abs v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 add d17, d31, d29
+# CHECK-NEXT: 1 2 0.17 add v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 addhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 addhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 addhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 addhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 addhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 addp v7.2s, v1.2s, v2.2s
+# CHECK-NEXT: 1 2 0.17 addp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 addp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 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: 1 4 1.00 addv h0, v0.8h
+# CHECK-NEXT: 1 4 1.00 addv b0, v0.8b
+# CHECK-NEXT: 1 4 1.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.17 and v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 bic v0.4h, #15, lsl #8
+# CHECK-NEXT: 1 2 0.17 bic v23.8h, #101
+# CHECK-NEXT: 1 2 0.17 bic v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 bic v25.16b, v10.16b, v9.16b
+# CHECK-NEXT: 1 2 0.17 bic v24.2s, #70
+# CHECK-NEXT: 1 2 0.17 bit v5.8b, v12.8b, v22.8b
+# CHECK-NEXT: 1 2 0.17 bif v0.8b, v25.8b, v4.8b
+# CHECK-NEXT: 1 2 0.17 bif v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 bit v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 bsl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 bsl v27.16b, v13.16b, v21.16b
+# CHECK-NEXT: 1 2 0.17 cls v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 cls v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 cls v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 cls v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 cls v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 cls v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 clz v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 clz v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 clz v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 clz v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 clz v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 clz v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 cmeq v9.8h, v16.8h, v24.8h
+# CHECK-NEXT: 1 2 0.17 cmeq v14.4h, v18.4h, #0
+# CHECK-NEXT: 1 2 0.17 cmeq d20, d21, #0
+# CHECK-NEXT: 1 2 0.17 cmeq d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 cmeq v0.16b, v0.16b, #0
+# CHECK-NEXT: 1 2 0.17 cmeq v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 cmge v22.8h, v16.8h, v3.8h
+# CHECK-NEXT: 1 2 0.17 cmge v22.16b, v30.16b, #0
+# CHECK-NEXT: 1 2 0.17 cmge d20, d21, #0
+# CHECK-NEXT: 1 2 0.17 cmge d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 cmge v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 cmge v0.8b, v0.8b, #0
+# CHECK-NEXT: 1 2 0.17 cmgt v3.2d, v29.2d, v11.2d
+# CHECK-NEXT: 1 2 0.17 cmgt d20, d21, #0
+# CHECK-NEXT: 1 2 0.17 cmgt d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 cmgt v0.2s, v0.2s, #0
+# CHECK-NEXT: 1 2 0.17 cmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 cmhi v28.4h, v25.4h, v21.4h
+# CHECK-NEXT: 1 2 0.17 cmhi d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 cmhi v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 cmhs d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 cmhs v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 cmle v21.2s, v19.2s, #0
+# CHECK-NEXT: 1 2 0.17 cmle d20, d21, #0
+# CHECK-NEXT: 1 2 0.17 cmle v0.2d, v0.2d, #0
+# CHECK-NEXT: 1 2 0.17 cmlt v26.4h, v12.4h, #0
+# CHECK-NEXT: 1 2 0.17 cmlt d20, d21, #0
+# CHECK-NEXT: 1 2 0.17 cmlt v0.8h, v0.8h, #0
+# CHECK-NEXT: 1 2 0.17 cmtst d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 cmtst v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 cmtst v13.2d, v13.2d, v13.2d
+# CHECK-NEXT: 1 2 0.17 cnt v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 cnt v0.8b, v0.8b
+# CHECK-NEXT: 1 3 1.00 dup v0.16b, w28
+# CHECK-NEXT: 1 3 1.00 dup v0.2d, x28
+# CHECK-NEXT: 1 3 1.00 dup v0.2s, w28
+# CHECK-NEXT: 1 3 1.00 dup v0.4h, w28
+# 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.17 mov b0, v0.b[1]
+# CHECK-NEXT: 1 2 0.17 mov d0, v0.d[1]
+# CHECK-NEXT: 1 2 0.17 mov h0, v0.h[1]
+# CHECK-NEXT: 1 2 0.17 mov s0, v0.s[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.16b, v0.b[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.2d, v0.d[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.2s, v0.s[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.4h, v0.h[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.4s, v0.s[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.8b, v0.b[1]
+# CHECK-NEXT: 1 2 0.17 dup v0.8h, v0.h[1]
+# CHECK-NEXT: 1 2 0.17 eor v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 ext v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 2 0.17 ext v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 2 0.17 fabd d29, d24, d20
+# CHECK-NEXT: 1 2 0.17 fabd s29, s24, s20
+# CHECK-NEXT: 1 2 0.17 fabd h27, h20, h17
+# CHECK-NEXT: 1 2 0.17 fabd v13.8h, v28.8h, v12.8h
+# CHECK-NEXT: 1 2 0.17 fabd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 fabs h25, h7
+# CHECK-NEXT: 1 2 0.17 fabs v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 fabs v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fabs v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 fabs v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 fabs v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 facge d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 facge s10, s11, s12
+# CHECK-NEXT: 1 2 0.17 facge h24, h26, h29
+# CHECK-NEXT: 1 2 0.17 facge v25.4h, v16.4h, v11.4h
+# CHECK-NEXT: 1 2 0.17 facge v19.2s, v24.2s, v5.2s
+# CHECK-NEXT: 1 2 0.17 facge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 facgt d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 facgt s10, s11, s12
+# CHECK-NEXT: 1 2 0.17 facgt h0, h4, h10
+# CHECK-NEXT: 1 2 0.17 facgt v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 facgt v22.8h, v14.8h, v31.8h
+# CHECK-NEXT: 1 2 0.17 facgt v22.4s, v8.4s, v2.4s
+# CHECK-NEXT: 1 2 0.17 fadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 faddp h10, v19.2h
+# CHECK-NEXT: 1 2 0.17 faddp d11, v28.2d
+# CHECK-NEXT: 1 2 0.17 faddp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 faddp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 faddp v16.2d, v11.2d, v5.2d
+# CHECK-NEXT: 1 2 0.17 fcmeq h30, h6, h1
+# CHECK-NEXT: 1 2 0.17 fcmeq h19, h23, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmeq d20, d21, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmeq d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 fcmeq s10, s11, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmeq s10, s11, s12
+# CHECK-NEXT: 1 2 0.17 fcmeq v0.2s, v0.2s, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmeq v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fcmeq v12.4s, v11.4s, v26.4s
+# CHECK-NEXT: 1 2 0.17 fcmeq v18.2d, v17.2d, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmge h10, h23, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmge h1, h16, h12
+# CHECK-NEXT: 1 2 0.17 fcmge d20, d21, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmge d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 fcmge s10, s11, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmge s10, s11, s12
+# CHECK-NEXT: 1 2 0.17 fcmge v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmge v17.2d, v11.2d, v13.2d
+# CHECK-NEXT: 1 2 0.17 fcmge v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 fcmge v18.4h, v27.4h, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmge v20.8h, v19.8h, v22.8h
+# CHECK-NEXT: 1 2 0.17 fcmge v17.2s, v11.2s, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmgt h4, h5, h0
+# CHECK-NEXT: 1 2 0.17 fcmgt h0, h18, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmgt d20, d21, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmgt d20, d21, d22
+# CHECK-NEXT: 1 2 0.17 fcmgt s10, s11, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmgt s10, s11, s12
+# CHECK-NEXT: 1 2 0.17 fcmgt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmgt v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 fcmgt v24.8h, v24.8h, v28.8h
+# CHECK-NEXT: 1 2 0.17 fcmgt v0.8h, v11.8h, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmgt v19.2d, v31.2d, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmle v16.8h, v11.8h, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmle v22.4s, v30.4s, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmle d20, d21, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmle s10, s11, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmle v0.2d, v0.2d, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmle h18, h28, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmlt h23, h7, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmlt d20, d21, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmlt s10, s11, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmlt v0.4s, v0.4s, #0.0
+# CHECK-NEXT: 1 2 0.17 fcmlt v8.4h, v2.4h, #0.0
+# CHECK-NEXT: 1 2 0.17 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 3 1.00 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: 1 3 1.00 fcvtas v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtas v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtau v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtau v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 fcvtau v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 fcvtl v0.2d, v0.2s
+# CHECK-NEXT: 1 3 1.00 fcvtl v0.4s, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtl2 v0.2d, v0.4s
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtms v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtms v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtmu v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtmu v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 fcvtmu v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 fcvtn v0.2s, v0.2d
+# CHECK-NEXT: 1 3 1.00 fcvtn v0.4h, v0.4s
+# CHECK-NEXT: 1 3 1.00 fcvtn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtns v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtns v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtnu v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtnu v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtps v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtps v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.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 3 1.00 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: 1 3 1.00 fcvtpu v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtpu v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 fcvtpu v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 fcvtxn s22, d13
+# CHECK-NEXT: 1 3 1.00 fcvtxn v0.2s, v0.2d
+# CHECK-NEXT: 1 3 1.00 fcvtxn2 v0.4s, v0.2d
+# CHECK-NEXT: 1 3 1.00 fcvtzs d21, d12, #1
+# CHECK-NEXT: 1 3 1.00 fcvtzs d21, d14
+# CHECK-NEXT: 1 3 1.00 fcvtzs s12, s13
+# CHECK-NEXT: 1 3 1.00 fcvtzs s21, s12, #1
+# CHECK-NEXT: 1 3 1.00 fcvtzs h21, h14
+# CHECK-NEXT: 1 3 1.00 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: 1 3 1.00 fcvtzs v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtzs v20.4h, v24.4h, #11
+# CHECK-NEXT: 1 3 1.00 fcvtzs v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 fcvtzs v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 1.00 fcvtzs v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.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: 1 3 1.00 fcvtzu s12, s13
+# CHECK-NEXT: 1 3 1.00 fcvtzu s21, s12, #1
+# CHECK-NEXT: 1 3 1.00 fcvtzu h12, h13
+# CHECK-NEXT: 1 3 1.00 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: 1 3 1.00 fcvtzu v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 fcvtzu v19.4h, v26.4h, #9
+# CHECK-NEXT: 1 3 1.00 fcvtzu v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 fcvtzu v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 1.00 fcvtzu v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 fcvtzu v27.8h, v6.8h, #11
+# CHECK-NEXT: 1 13 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 8 4.00 fdiv v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 11 4.00 fdiv v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 12 8.00 fdiv v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 fmax v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 fmax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fmax v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 fmaxnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 fmaxnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.17 fmaxnmp h25, v19.2h
+# CHECK-NEXT: 1 3 0.17 fmaxnmp d17, v29.2d
+# CHECK-NEXT: 1 3 0.17 fmaxnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.17 fmaxnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.17 fmaxnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.17 fmaxnmv h0, v13.4h
+# CHECK-NEXT: 1 6 0.17 fmaxnmv h12, v11.8h
+# CHECK-NEXT: 1 4 0.17 fmaxnmv s28, v31.4s
+# CHECK-NEXT: 1 3 0.17 fmaxp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.17 fmaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.17 fmaxp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.17 fmaxp h15, v25.2h
+# CHECK-NEXT: 1 3 0.17 fmaxp s6, v2.2s
+# CHECK-NEXT: 1 4 0.17 fmaxv h0, v0.4h
+# CHECK-NEXT: 1 6 0.17 fmaxv h0, v0.8h
+# CHECK-NEXT: 1 4 0.17 fmaxv s0, v0.4s
+# CHECK-NEXT: 1 2 0.17 fmin v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 fmin v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fmin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 fminnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 fminnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.17 fminnmp h20, v14.2h
+# CHECK-NEXT: 1 3 0.17 fminnmp d15, v8.2d
+# CHECK-NEXT: 1 3 0.17 fminnmp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.17 fminnmp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.17 fminnmp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.17 fminnmv h19, v25.4h
+# CHECK-NEXT: 1 6 0.17 fminnmv h23, v17.8h
+# CHECK-NEXT: 1 4 0.17 fminnmv s29, v17.4s
+# CHECK-NEXT: 1 3 0.17 fminp v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.17 fminp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.17 fminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.17 fminp h7, v10.2h
+# CHECK-NEXT: 1 3 0.17 fminp s17, v7.2s
+# CHECK-NEXT: 1 4 0.17 fminv h3, v30.4h
+# CHECK-NEXT: 1 6 0.17 fminv h29, v12.8h
+# CHECK-NEXT: 1 4 0.17 fminv s16, v19.4s
+# CHECK-NEXT: 1 4 0.17 fmla d0, d1, v0.d[1]
+# CHECK-NEXT: 1 4 0.17 fmla h23, h24, v15.h[4]
+# CHECK-NEXT: 1 4 0.17 fmla s0, s1, v0.s[3]
+# CHECK-NEXT: 1 4 0.17 fmla v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.17 fmla v29.8h, v15.8h, v10.h[4]
+# CHECK-NEXT: 1 4 0.17 fmla v2.2s, v16.2s, v28.s[0]
+# CHECK-NEXT: 1 4 0.17 fmla v14.4s, v14.4s, v5.s[3]
+# CHECK-NEXT: 1 4 0.17 fmla v1.4s, v24.4s, v12.4s
+# CHECK-NEXT: 1 4 0.17 fmla v10.2d, v14.2d, v21.d[1]
+# CHECK-NEXT: 1 4 0.17 fmls d0, d4, v0.d[1]
+# CHECK-NEXT: 1 4 0.17 fmls h8, h14, v7.h[4]
+# CHECK-NEXT: 1 4 0.17 fmls s3, s5, v0.s[3]
+# CHECK-NEXT: 1 4 0.17 fmls v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.17 fmls v30.8h, v18.8h, v4.h[6]
+# CHECK-NEXT: 1 4 0.17 fmls v10.2s, v27.2s, v0.s[0]
+# CHECK-NEXT: 1 4 0.17 fmls v27.4s, v7.4s, v24.s[0]
+# CHECK-NEXT: 1 4 0.17 fmls v10.2d, v22.2d, v29.d[0]
+# CHECK-NEXT: 1 4 0.17 fmls v6.8h, v15.8h, v23.8h
+# CHECK-NEXT: 1 2 0.17 fmov v0.2d, #-1.25000000
+# CHECK-NEXT: 1 2 0.17 fmov v0.2s, #13.00000000
+# CHECK-NEXT: 1 2 0.17 fmov v0.4s, #1.00000000
+# CHECK-NEXT: 1 3 0.17 fmul h18, h4, v7.h[3]
+# CHECK-NEXT: 1 3 0.17 fmul v10.4h, v2.4h, v7.h[5]
+# CHECK-NEXT: 1 3 0.17 fmul v5.2s, v12.2s, v9.s[0]
+# CHECK-NEXT: 1 3 0.17 fmul v15.4s, v30.4s, v2.s[3]
+# CHECK-NEXT: 1 3 0.17 fmul v11.2d, v31.2d, v24.d[1]
+# CHECK-NEXT: 1 3 0.17 fmul h28, h14, h3
+# CHECK-NEXT: 1 3 0.17 fmul d0, d1, v0.d[1]
+# CHECK-NEXT: 1 3 0.17 fmul s0, s1, v0.s[3]
+# CHECK-NEXT: 1 3 0.17 fmul v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.17 fmulx d0, d4, v0.d[1]
+# CHECK-NEXT: 1 2 0.17 fmulx d23, d11, d1
+# CHECK-NEXT: 1 2 0.17 fmulx s20, s22, s15
+# CHECK-NEXT: 1 3 0.17 fmulx h18, h17, v7.h[1]
+# CHECK-NEXT: 1 2 0.17 fmulx h20, h25, h0
+# CHECK-NEXT: 1 3 0.17 fmulx s3, s5, v0.s[3]
+# CHECK-NEXT: 1 3 0.17 fmulx v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 3 0.17 fmulx v28.4h, v25.4h, v15.h[1]
+# CHECK-NEXT: 1 3 0.17 fmulx v3.2s, v22.2s, v23.s[3]
+# CHECK-NEXT: 1 3 0.17 fmulx v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 3 0.17 fmulx v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 3 0.17 fmulx v5.4s, v28.4s, v15.s[3]
+# CHECK-NEXT: 1 3 0.17 fmulx v22.2d, v18.2d, v25.d[1]
+# CHECK-NEXT: 1 2 0.17 fneg v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 fneg v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 fneg v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 fneg v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 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.17 frecpe v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frecpe v0.2s, v0.2s
+# CHECK-NEXT: 1 4 1.00 frecpe v0.4h, v0.4h
+# CHECK-NEXT: 1 4 1.00 frecpe v0.4s, v0.4s
+# CHECK-NEXT: 1 6 1.00 frecpe v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 frecps h29, h19, h8
+# CHECK-NEXT: 1 3 1.00 frecpx h18, h11
+# CHECK-NEXT: 1 4 0.17 frecps v12.8h, v25.8h, v4.8h
+# CHECK-NEXT: 1 4 0.17 frecps v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.17 frecps d22, d30, d21
+# CHECK-NEXT: 1 4 0.17 frecps s21, s16, s13
+# CHECK-NEXT: 1 4 0.17 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
+# CHECK-NEXT: 1 3 1.00 frinta v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frinta v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frinta v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 frinta v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 frinti v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frinti v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frinti v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frinti v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 frinti v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 frintm v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frintm v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frintm v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frintm v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 frintm v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 frintn v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frintn v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frintn v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frintn v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 frintn v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 frintp v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frintp v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frintp v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frintp v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 frintp v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 frintx v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frintx v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frintx v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frintx v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 frintx v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 frintz v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frintz v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 frintz v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 frintz v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.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.17 frsqrte v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 frsqrte v0.2s, v0.2s
+# CHECK-NEXT: 1 4 1.00 frsqrte v0.4h, v0.4h
+# CHECK-NEXT: 1 4 1.00 frsqrte v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.17 frsqrts v20.4s, v26.4s, v27.4s
+# CHECK-NEXT: 1 4 0.17 frsqrts v8.4h, v9.4h, v30.4h
+# CHECK-NEXT: 1 6 1.00 frsqrte v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 frsqrts h28, h26, h1
+# CHECK-NEXT: 1 4 0.17 frsqrts d8, d22, d18
+# CHECK-NEXT: 1 4 0.17 frsqrts s21, s5, s12
+# CHECK-NEXT: 1 4 0.17 frsqrts v0.2d, v0.2d, v0.2d
+# CHECK-NEXT: 1 13 2.00 fsqrt v0.2d, v0.2d
+# CHECK-NEXT: 1 9 2.00 fsqrt v0.2s, v0.2s
+# CHECK-NEXT: 1 8 4.00 fsqrt v0.4h, v0.4h
+# CHECK-NEXT: 1 11 4.00 fsqrt v0.4s, v0.4s
+# CHECK-NEXT: 1 12 8.00 fsqrt v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 fsub v13.8h, v15.8h, v17.8h
+# CHECK-NEXT: 1 2 0.17 fsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 6 0.25 * ld1 { v0.16b }, [x0]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v0.16b, v1.16b }, [x14]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v19.16b, v20.16b, v21.16b }, [x10]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v13.16b, v14.16b, v15.16b, v16.16b }, [x9]
+# CHECK-NEXT: 1 6 0.25 * ld1 { v24.8h }, [x27]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v1.8h, v2.8h }, [x27]
+# CHECK-NEXT: 3 6 0.50 * ld1 { v0.8h, v1.8h }, [sp], #32
+# CHECK-NEXT: 3 6 0.75 * ld1 { v21.8h, v22.8h, v23.8h }, [x22]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v0.8h, v1.8h, v2.8h, v3.8h }, [x21]
+# CHECK-NEXT: 1 6 0.25 * ld1 { v3.4s }, [x4]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v11.4s, v12.4s }, [x30]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v0.4s, v1.4s, v2.4s }, [x24]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v15.4s, v16.4s, v17.4s, v18.4s }, [x28]
+# CHECK-NEXT: 4 6 0.75 * ld1 { v0.4s, v1.4s, v2.4s }, [x0], #48
+# CHECK-NEXT: 1 6 0.25 * ld1 { v3.2d }, [x28]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v13.2d, v14.2d }, [x13]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v12.2d, v13.2d, v14.2d }, [x15]
+# CHECK-NEXT: 4 6 0.75 * ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT: 4 7 1.00 * ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT: 2 6 0.25 * ld1 { v0.1d }, [x15], x2
+# CHECK-NEXT: 2 6 0.50 * ld1 { v27.1d, v28.1d }, [x7]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v14.1d, v15.1d, v16.1d }, [x3]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v22.1d, v23.1d, v24.1d, v25.1d }, [x4]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v0.2s, v1.2s }, [x15]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v16.2s, v17.2s, v18.2s }, [x27]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v21.2s, v22.2s, v23.2s, v24.2s }, [x21]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v25.4h, v26.4h }, [x3]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v20.4h, v21.4h, v22.4h, v23.4h }, [x15]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v0.4h, v1.4h, v2.4h }, [sp]
+# CHECK-NEXT: 2 6 0.50 * ld1 { v24.8b, v25.8b }, [x6]
+# CHECK-NEXT: 3 6 0.75 * ld1 { v7.8b, v8.8b, v9.8b }, [x12]
+# CHECK-NEXT: 4 7 1.00 * ld1 { v4.8b, v5.8b, v6.8b, v7.8b }, [x13]
+# CHECK-NEXT: 3 6 0.50 * ld1 { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT: 3 6 0.75 * ld1 { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT: 5 7 1.00 * ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT: 2 8 0.25 * ld1 { v0.b }[7], [x0]
+# CHECK-NEXT: 3 8 0.25 * ld1 { v0.h }[3], [x0], #2
+# CHECK-NEXT: 2 8 0.25 * ld1 { v18.h }[3], [x1]
+# CHECK-NEXT: 2 8 0.25 * ld1 { v0.s }[1], [x15]
+# CHECK-NEXT: 3 8 0.25 * ld1 { v0.d }[0], [x15], #8
+# CHECK-NEXT: 2 8 0.25 * ld1 { v11.d }[0], [x13]
+# CHECK-NEXT: 2 6 0.25 * ld1 { v0.8h }, [x15], x2
+# CHECK-NEXT: 2 6 0.50 * ld1 { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT: 2 8 0.25 * ld1 { v0.b }[9], [x0]
+# CHECK-NEXT: 3 8 0.25 * ld1 { v0.b }[9], [x0], #1
+# CHECK-NEXT: 2 6 0.25 * ld1r { v0.16b }, [x0]
+# CHECK-NEXT: 3 6 0.25 * ld1r { v0.8h }, [x0], #2
+# CHECK-NEXT: 2 6 0.25 * ld1r { v0.4s }, [x15]
+# CHECK-NEXT: 2 6 0.25 * ld1r { v3.1d }, [x15]
+# CHECK-NEXT: 3 6 0.25 * ld1r { v0.2d }, [x15], x16
+# CHECK-NEXT: 2 6 0.25 * ld1r { v18.2d }, [x0]
+# CHECK-NEXT: 2 6 0.25 * ld1r { v8.8b }, [x23]
+# CHECK-NEXT: 2 6 0.25 * ld1r { v28.4h }, [x9]
+# CHECK-NEXT: 2 6 0.25 * ld1r { v3.8h }, [x16]
+# CHECK-NEXT: 2 6 0.25 * ld1r { v10.2s }, [x20]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v0.4h, v1.4h }, [x21]
+# CHECK-NEXT: 4 8 0.50 * ld2 { v8.8h, v9.8h }, [x28]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v2.2s, v3.2s }, [x16]
+# CHECK-NEXT: 4 8 0.50 * ld2 { v22.4s, v23.4s }, [x4]
+# CHECK-NEXT: 4 8 0.50 * ld2 { v22.2d, v23.2d }, [x17]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v29.b, v30.b }[3], [x1]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v26.s, v27.s }[1], [x17]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v1.d, v2.d }[0], [x10]
+# CHECK-NEXT: 4 8 0.50 * ld2 { v0.16b, v1.16b }, [x0]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v13.8b, v14.8b }, [x4]
+# CHECK-NEXT: 4 8 0.33 * ld2 { v0.8b, v1.8b }, [x0], #16
+# CHECK-NEXT: 3 6 0.25 * ld1r { v0.16b }, [x0], #1
+# CHECK-NEXT: 2 6 0.25 * ld1r { v0.8h }, [x15]
+# CHECK-NEXT: 3 6 0.25 * ld1r { v0.8h }, [x15], #2
+# CHECK-NEXT: 5 8 0.50 * ld2 { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT: 3 8 0.33 * ld2 { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 3 8 0.33 * ld2 { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT: 4 8 0.33 * ld2 { v0.h, v1.h }[7], [x15], x8
+# CHECK-NEXT: 4 8 0.33 * ld2 { v0.h, v1.h }[7], [x15], #4
+# CHECK-NEXT: 3 8 0.33 * ld2r { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT: 3 8 0.33 * ld2r { v10.16b, v11.16b }, [x23]
+# CHECK-NEXT: 4 8 0.33 * ld2r { v0.4h, v1.4h }, [x0], #4
+# CHECK-NEXT: 3 8 0.33 * ld2r { v25.4h, v26.4h }, [x11]
+# CHECK-NEXT: 3 8 0.33 * ld2r { v23.8h, v24.8h }, [x10]
+# CHECK-NEXT: 3 8 0.33 * ld2r { v0.2s, v1.2s }, [sp]
+# CHECK-NEXT: 3 8 0.33 * ld2r { v8.4s, v9.4s }, [x17]
+# CHECK-NEXT: 4 8 0.33 * ld2r { v0.1d, v1.1d }, [sp], x8
+# CHECK-NEXT: 3 8 0.33 * ld2r { v9.1d, v10.1d }, [x25]
+# CHECK-NEXT: 3 8 0.33 * ld2r { v26.2d, v27.2d }, [x8]
+# CHECK-NEXT: 5 8 0.50 * ld3 { v8.8b, v9.8b, v10.8b }, [x0]
+# CHECK-NEXT: 6 9 0.75 * ld3 { v15.16b, v16.16b, v17.16b }, [x5]
+# CHECK-NEXT: 3 8 0.33 * ld2r { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT: 4 8 0.33 * ld2r { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT: 3 8 0.33 * ld2r { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT: 4 8 0.33 * ld2r { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT: 5 8 0.50 * ld3 { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: 7 9 0.75 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], #48
+# CHECK-NEXT: 6 9 0.75 * ld3 { v7.8h, v8.8h, v9.8h }, [x21]
+# CHECK-NEXT: 5 8 0.50 * ld3 { v16.2s, v17.2s, v18.2s }, [x0]
+# CHECK-NEXT: 6 9 0.75 * ld3 { v12.4s, v13.4s, v14.4s }, [x25]
+# CHECK-NEXT: 5 8 0.50 * ld3 { v17.b, v18.b, v19.b }[2], [x27]
+# CHECK-NEXT: 5 8 0.50 * ld3 { v18.h, v19.h, v20.h }[5], [x16]
+# CHECK-NEXT: 6 9 0.75 * ld3 { v10.2d, v11.2d, v12.2d }, [x18]
+# CHECK-NEXT: 7 9 0.75 * ld3 { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT: 5 8 0.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp]
+# CHECK-NEXT: 6 8 0.50 * ld3 { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT: 5 8 0.50 * ld3 { v5.d, v6.d, v7.d }[1], [x14]
+# CHECK-NEXT: 5 8 0.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x15]
+# CHECK-NEXT: 6 8 0.75 * ld3r { v17.16b, v18.16b, v19.16b }, [x3]
+# CHECK-NEXT: 5 8 0.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT: 6 8 0.50 * ld3r { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT: 5 8 0.50 * ld3r { v3.4h, v4.4h, v5.4h }, [x1]
+# CHECK-NEXT: 6 8 0.75 * ld3r { v6.8h, v7.8h, v8.8h }, [x28]
+# CHECK-NEXT: 5 8 0.50 * ld3r { v0.2s, v1.2s, v2.2s }, [x0]
+# CHECK-NEXT: 6 8 0.75 * ld3r { v28.4s, v29.4s, v30.4s }, [x2]
+# CHECK-NEXT: 6 8 0.50 * ld3r { v0.1d, v1.1d, v2.1d }, [x0], x0
+# CHECK-NEXT: 5 8 0.50 * ld3r { v1.1d, v2.1d, v3.1d }, [x28]
+# CHECK-NEXT: 6 8 0.75 * ld3r { v8.2d, v9.2d, v10.2d }, [x3]
+# CHECK-NEXT: 7 8 0.75 * ld4 { v6.8b, v7.8b, v8.8b, v9.8b }, [x27]
+# CHECK-NEXT: 10 9 1.50 * ld4 { v11.16b, v12.16b, v13.16b, v14.16b }, [x5]
+# CHECK-NEXT: 7 8 0.75 * ld4 { v21.4h, v22.4h, v23.4h, v24.4h }, [x14]
+# CHECK-NEXT: 10 9 1.50 * ld4 { v9.8h, v10.8h, v11.8h, v12.8h }, [x1]
+# CHECK-NEXT: 10 9 1.50 * ld4 { v17.4s, v18.4s, v19.4s, v20.4s }, [x4]
+# CHECK-NEXT: 5 8 0.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0]
+# CHECK-NEXT: 6 8 0.50 * ld3r { v0.8b, v1.8b, v2.8b }, [x0], #3
+# CHECK-NEXT: 7 8 0.75 * ld4 { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: 11 9 1.50 * ld4 { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT: 7 8 0.75 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT: 10 9 1.50 * ld4 { v2.2d, v3.2d, v4.2d, v5.2d }, [x24]
+# CHECK-NEXT: 7 8 0.75 * ld4 { v4.b, v5.b, v6.b, v7.b }[12], [x27]
+# CHECK-NEXT: 7 8 0.75 * ld4 { v5.h, v6.h, v7.h, v8.h }[0], [x4]
+# CHECK-NEXT: 8 8 0.75 * ld4 { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+# CHECK-NEXT: 8 8 0.75 * ld4 { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT: 7 8 0.75 * ld4 { v0.s, v1.s, v2.s, v3.s }[0], [x26]
+# CHECK-NEXT: 7 8 0.75 * ld4r { v20.8b, v21.8b, v22.8b, v23.8b }, [x23]
+# CHECK-NEXT: 8 8 1.00 * ld4r { v1.16b, v2.16b, v3.16b, v4.16b }, [x25]
+# CHECK-NEXT: 7 8 0.75 * ld4r { v16.4h, v17.4h, v18.4h, v19.4h }, [x6]
+# CHECK-NEXT: 7 8 0.75 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT: 8 8 1.00 * ld4r { v0.2d, v1.2d, v2.2d, v3.2d }, [sp]
+# CHECK-NEXT: 8 8 1.00 * ld4r { v4.8h, v5.8h, v6.8h, v7.8h }, [x23]
+# CHECK-NEXT: 7 8 0.75 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [x30]
+# CHECK-NEXT: 8 8 0.75 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], #16
+# CHECK-NEXT: 8 8 1.00 * ld4r { v7.4s, v8.4s, v9.4s, v10.4s }, [x23]
+# CHECK-NEXT: 9 8 1.00 * ld4r { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], x8
+# CHECK-NEXT: 8 8 0.75 * ld4r { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+# CHECK-NEXT: 7 8 0.75 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT: 8 8 0.75 * ld4r { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
+# CHECK-NEXT: 1 4 0.25 mla v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.25 mla v15.8h, v22.8h, v4.h[3]
+# CHECK-NEXT: 1 4 0.25 mla v28.2s, v10.2s, v2.s[0]
+# CHECK-NEXT: 1 4 0.25 mls v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.25 mls v25.8h, v29.8h, v0.h[4]
+# CHECK-NEXT: 1 4 0.25 mls v22.2s, v29.2s, v0.s[3]
+# CHECK-NEXT: 1 4 0.25 mls v26.4s, v5.4s, v28.4s
+# CHECK-NEXT: 1 2 0.17 mov b0, v0.b[15]
+# CHECK-NEXT: 1 2 0.17 mov d6, v0.d[1]
+# CHECK-NEXT: 1 2 0.17 mov h2, v0.h[5]
+# CHECK-NEXT: 1 2 0.17 mov s17, v0.s[2]
+# CHECK-NEXT: 1 2 0.17 mov w8, v8.s[0]
+# CHECK-NEXT: 1 2 0.17 mov x30, v18.d[0]
+# CHECK-NEXT: 1 2 0.17 mov v2.b[0], v0.b[0]
+# CHECK-NEXT: 1 2 0.17 mov v2.h[1], v0.h[1]
+# CHECK-NEXT: 1 2 0.17 mov v2.s[2], v0.s[2]
+# CHECK-NEXT: 1 2 0.17 mov v2.d[1], v0.d[1]
+# CHECK-NEXT: 2 5 1.00 mov v0.b[0], w8
+# CHECK-NEXT: 2 5 1.00 mov v0.h[1], w8
+# CHECK-NEXT: 2 5 1.00 mov v0.s[2], w8
+# CHECK-NEXT: 2 5 1.00 mov v0.d[1], x8
+# CHECK-NEXT: 1 2 0.17 mov v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 mov v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 movi d15, #0xff00ff00ff00ff
+# CHECK-NEXT: 1 2 0.17 movi v0.16b, #31
+# CHECK-NEXT: 1 2 0.17 movi v14.8h, #174
+# CHECK-NEXT: 1 2 0.17 movi v13.4h, #74, lsl #8
+# CHECK-NEXT: 1 2 0.17 movi v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT: 1 2 0.17 movi v0.2s, #8, msl #8
+# CHECK-NEXT: 1 2 0.17 movi v19.2s, #226
+# CHECK-NEXT: 1 2 0.17 movi v1.4s, #122, msl #8
+# CHECK-NEXT: 1 2 0.17 movi v0.4s, #255, lsl #24
+# CHECK-NEXT: 1 2 0.17 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.17 mvni v9.4h, #237
+# CHECK-NEXT: 1 2 0.17 mvni v8.8h, #171, lsl #8
+# CHECK-NEXT: 1 2 0.17 mvni v22.4s, #15, lsl #8
+# CHECK-NEXT: 1 2 0.17 mvni v0.2s, #0
+# CHECK-NEXT: 1 2 0.17 mvni v0.4s, #16, msl #16
+# CHECK-NEXT: 1 2 0.17 neg d29, d24
+# CHECK-NEXT: 1 2 0.17 neg v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 neg v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 neg v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 neg v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 neg v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 neg v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 neg v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 mvn v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 mvn v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 orn v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 orn v29.8b, v19.8b, v16.8b
+# CHECK-NEXT: 1 2 0.17 mov v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 orr v9.4h, #18
+# CHECK-NEXT: 1 2 0.17 orr v0.8h, #31
+# CHECK-NEXT: 1 2 0.17 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
+# CHECK-NEXT: 1 2 1.00 pmull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 raddhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 raddhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 raddhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 rbit v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 rbit v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 rev16 v21.8b, v1.8b
+# CHECK-NEXT: 1 2 0.17 rev16 v30.16b, v31.16b
+# CHECK-NEXT: 1 2 0.17 rev32 v0.4h, v9.4h
+# CHECK-NEXT: 1 2 0.17 rev32 v21.8b, v1.8b
+# CHECK-NEXT: 1 2 0.17 rev32 v30.16b, v31.16b
+# CHECK-NEXT: 1 2 0.17 rev32 v4.8h, v7.8h
+# CHECK-NEXT: 1 2 0.17 rev64 v0.16b, v31.16b
+# CHECK-NEXT: 1 2 0.17 rev64 v1.8b, v9.8b
+# CHECK-NEXT: 1 2 0.17 rev64 v13.4h, v21.4h
+# CHECK-NEXT: 1 2 0.17 rev64 v2.8h, v4.8h
+# CHECK-NEXT: 1 2 0.17 rev64 v4.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 rev64 v6.4s, v8.4s
+# CHECK-NEXT: 1 4 0.17 rshrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.17 rshrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 4 0.17 rshrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.17 rshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 4 0.17 rshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 4 0.17 rshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 2 0.17 rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 rsubhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 rsubhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 rsubhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.17 saba v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.17 sabal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.17 sabal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.17 sabal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.17 sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.17 sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.17 sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 sabd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 sabd v12.2s, v11.2s, v27.2s
+# CHECK-NEXT: 1 2 0.17 sabdl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 sabdl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 sabdl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 sabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 sabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 sabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.17 sadalp v0.1d, v0.2s
+# CHECK-NEXT: 1 4 0.17 sadalp v0.2d, v0.4s
+# CHECK-NEXT: 1 4 0.17 sadalp v0.2s, v0.4h
+# CHECK-NEXT: 1 4 0.17 sadalp v0.4h, v0.8b
+# CHECK-NEXT: 1 4 0.17 sadalp v0.4s, v0.8h
+# CHECK-NEXT: 1 4 0.17 sadalp v0.8h, v0.16b
+# CHECK-NEXT: 1 2 0.17 saddl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 saddl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 saddl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 saddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 saddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 saddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 saddlp v0.1d, v0.2s
+# CHECK-NEXT: 1 2 0.17 saddlp v0.2d, v0.4s
+# CHECK-NEXT: 1 2 0.17 saddlp v0.2s, v0.4h
+# CHECK-NEXT: 1 2 0.17 saddlp v0.4h, v0.8b
+# CHECK-NEXT: 1 2 0.17 saddlp v0.4s, v0.8h
+# CHECK-NEXT: 1 2 0.17 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: 1 4 1.00 saddlv s0, v0.8h
+# CHECK-NEXT: 1 4 1.00 saddlv h0, v0.8b
+# CHECK-NEXT: 1 4 1.00 saddlv h0, v0.16b
+# CHECK-NEXT: 1 2 0.17 saddw v0.2d, v0.2d, v0.2s
+# CHECK-NEXT: 1 2 0.17 saddw v0.4s, v0.4s, v0.4h
+# CHECK-NEXT: 1 2 0.17 saddw v0.8h, v0.8h, v0.8b
+# CHECK-NEXT: 1 2 0.17 saddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT: 1 2 0.17 saddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT: 1 2 0.17 saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT: 1 3 1.00 scvtf h4, h8, #9
+# CHECK-NEXT: 1 3 1.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: 1 3 1.00 scvtf s22, s13
+# CHECK-NEXT: 1 3 1.00 scvtf s22, s13, #32
+# CHECK-NEXT: 1 3 1.00 scvtf v0.2d, v0.2d
+# CHECK-NEXT: 1 3 1.00 scvtf v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 3 1.00 scvtf v0.2s, v0.2s
+# CHECK-NEXT: 1 3 1.00 scvtf v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 3 1.00 scvtf v0.4h, v0.4h
+# CHECK-NEXT: 1 3 1.00 scvtf v0.4s, v0.4s
+# CHECK-NEXT: 1 3 1.00 scvtf v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 3 1.00 scvtf v25.4h, v13.4h, #8
+# CHECK-NEXT: 1 3 1.00 scvtf v0.8h, v0.8h
+# CHECK-NEXT: 1 3 1.00 scvtf v4.8h, v8.8h, #10
+# CHECK-NEXT: 1 3 0.17 sdot v0.2s, v0.8b, v0.4b[2]
+# CHECK-NEXT: 1 3 0.17 sdot v0.2s, v0.8b, v0.8b
+# CHECK-NEXT: 1 3 0.17 sdot v0.4s, v0.16b, v0.16b
+# CHECK-NEXT: 1 3 0.17 sdot v0.4s, v0.16b, v0.4b[2]
+# CHECK-NEXT: 1 2 0.17 shadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 shadd v25.16b, v1.16b, v10.16b
+# CHECK-NEXT: 1 2 0.17 shl d7, d10, #12
+# CHECK-NEXT: 1 2 0.17 shl v23.8b, v18.8b, #6
+# CHECK-NEXT: 1 2 0.17 shl v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 2 0.17 shl v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 2 0.17 shl v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 2 0.17 shl v0.8h, v23.8h, #10
+# CHECK-NEXT: 1 2 0.17 shl v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 2 0.17 shll v0.4s, v0.4h, #16
+# CHECK-NEXT: 1 2 0.17 shll v0.8h, v0.8b, #8
+# CHECK-NEXT: 1 2 0.17 shll v0.2d, v0.2s, #32
+# CHECK-NEXT: 1 2 0.17 shll2 v0.2d, v0.4s, #32
+# CHECK-NEXT: 1 2 0.17 shll2 v0.4s, v0.8h, #16
+# CHECK-NEXT: 1 2 0.17 shll2 v0.8h, v0.16b, #8
+# CHECK-NEXT: 1 2 0.17 shrn v0.2s, v0.2d, #3
+# CHECK-NEXT: 1 2 0.17 shrn v0.4h, v0.4s, #3
+# CHECK-NEXT: 1 2 0.17 shrn v0.8b, v0.8h, #3
+# CHECK-NEXT: 1 2 0.17 shrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT: 1 2 0.17 shrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT: 1 2 0.17 shrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT: 1 2 0.17 shsub v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 shsub v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 shsub v15.8h, v5.8h, v27.8h
+# CHECK-NEXT: 1 2 0.17 sli d10, d14, #12
+# CHECK-NEXT: 1 2 0.17 sli v0.16b, v0.16b, #3
+# CHECK-NEXT: 1 2 0.17 sli v0.2d, v0.2d, #3
+# CHECK-NEXT: 1 2 0.17 sli v0.2s, v0.2s, #3
+# CHECK-NEXT: 1 2 0.17 sli v0.4h, v0.4h, #3
+# CHECK-NEXT: 1 2 0.17 sli v0.4s, v0.4s, #3
+# CHECK-NEXT: 1 2 0.17 sli v0.8b, v0.8b, #3
+# CHECK-NEXT: 1 2 0.17 sli v0.8h, v0.8h, #3
+# CHECK-NEXT: 1 2 0.17 smax v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 smax v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 smax v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 smax v30.16b, v3.16b, v30.16b
+# CHECK-NEXT: 1 2 0.17 smaxp v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 smaxp v0.4h, v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 smaxp v21.8h, v16.8h, v7.8h
+# CHECK-NEXT: 1 2 0.17 smaxp v0.8b, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 1.00 smaxv b0, v0.8b
+# CHECK-NEXT: 1 4 1.00 smaxv b0, v0.16b
+# CHECK-NEXT: 1 2 1.00 smaxv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 smaxv h0, v0.8h
+# CHECK-NEXT: 1 2 1.00 smaxv s0, v0.4s
+# CHECK-NEXT: 1 2 0.17 smin v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 smin v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 smin v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 sminp v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 sminp v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 sminp v0.8h, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 1.00 sminv b0, v0.8b
+# CHECK-NEXT: 1 4 1.00 sminv b0, v0.16b
+# CHECK-NEXT: 1 2 1.00 sminv h0, v0.4h
+# CHECK-NEXT: 1 4 1.00 sminv h0, v0.8h
+# CHECK-NEXT: 1 2 1.00 sminv s0, v0.4s
+# CHECK-NEXT: 1 4 0.25 smlal v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.25 smlal v0.2d, v25.2s, v1.s[1]
+# CHECK-NEXT: 1 4 0.25 smlal v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.25 smlal v16.4s, v9.4h, v11.h[4]
+# CHECK-NEXT: 1 4 0.25 smlal v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.25 smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.25 smlal2 v30.2d, v22.4s, v7.s[2]
+# CHECK-NEXT: 1 4 0.25 smlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.25 smlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT: 1 4 0.25 smlsl v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 0.25 smlsl v25.2d, v27.2s, v1.s[1]
+# CHECK-NEXT: 1 4 0.25 smlsl v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 0.25 smlsl v14.4s, v23.4h, v12.h[7]
+# CHECK-NEXT: 1 4 0.25 smlsl v0.8h, v0.8b, v0.8b
+# CHECK-NEXT: 1 4 0.25 smlal2 v1.4s, v9.8h, v0.h[6]
+# CHECK-NEXT: 1 4 0.25 smlsl2 v12.4s, v11.8h, v12.h[0]
+# CHECK-NEXT: 1 4 0.25 smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 0.25 smlsl2 v11.2d, v28.4s, v7.s[2]
+# CHECK-NEXT: 1 4 0.25 smlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT: 1 4 0.25 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.17 sqabs b19, b14
+# CHECK-NEXT: 1 2 0.17 sqabs d18, d12
+# CHECK-NEXT: 1 2 0.17 sqabs h21, h15
+# CHECK-NEXT: 1 2 0.17 sqabs s20, s12
+# CHECK-NEXT: 1 2 0.17 sqabs v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 sqabs v0.2d, v0.2d
+# CHECK-NEXT: 1 2 0.17 sqabs v0.2s, v0.2s
+# CHECK-NEXT: 1 2 0.17 sqabs v0.4h, v0.4h
+# CHECK-NEXT: 1 2 0.17 sqabs v0.4s, v0.4s
+# CHECK-NEXT: 1 2 0.17 sqabs v0.8b, v0.8b
+# CHECK-NEXT: 1 2 0.17 sqabs v0.8h, v0.8h
+# CHECK-NEXT: 1 2 0.17 sqadd b20, b11, b15
+# CHECK-NEXT: 1 2 0.17 sqadd h12, h18, h10
+# CHECK-NEXT: 1 2 0.17 sqadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT: 1 2 0.17 sqadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 1.00 sqdmlal d19, s24, s12
+# CHECK-NEXT: 1 4 1.00 sqdmlal d8, s9, v0.s[1]
+# CHECK-NEXT: 1 4 1.00 sqdmlal s0, h0, v0.h[3]
+# CHECK-NEXT: 1 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]
+# CHECK-NEXT: 1 4 1.00 sqdmulh s20, s21, s2
+# CHECK-NEXT: 1 4 1.00 sqdmulh v0.2s, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 1.00 sqdmulh v0.4s, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 1.00 sqdmull d1, s1, v0.s[1]
+# CHECK-NEXT: 1 4 1.00 sqdmull d15, s22, s12
+# CHECK-NEXT: 1 4 1.00 sqdmull s1, h1, v0.h[3]
+# CHECK-NEXT: 1 4 1.00 sqdmull s12, h22, h12
+# CHECK-NEXT: 1 4 1.00 sqdmull v0.2d, v0.2s, v0.2s
+# CHECK-NEXT: 1 4 1.00 sqdmull v0.4s, v0.4h, v0.4h
+# CHECK-NEXT: 1 4 1.00 sqdmull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT: 1 4 1.00 sqdmull2 v0.4s, v0.8h, v0.8h
----------------
nasherm wrote:
Thanks for spotting these. It seems to be an idiosyncrasy with how I defined the V0134 pipelines that these instructions use
https://github.com/llvm/llvm-project/pull/182251
More information about the llvm-commits
mailing list