[AArch64] Fix and add A64FX scheduling resource/latency info
authorYuta Mukai <mukai.yuta@fujitsu.com>
Mon, 8 Aug 2022 11:45:54 +0000 (20:45 +0900)
committerKAWASHIMA Takahiro <t-kawashima@fujitsu.com>
Tue, 9 Aug 2022 01:53:40 +0000 (10:53 +0900)
1. Missing instruction information (FTSSEL, FMSB, PFIRST and RDFFR)
   is added and CompleteModel is set to one.

2. Information for pseudo SVE instructions is added. Those
   instructions are present at the time of scheduling.

3. Resource and latency information for SVE instructions is modified
   to be more accurate.
   For example, the description for CMPEQ, which consumes one cycle
   each of unit FLA and PPR, is as follows.
```
Previous:
  def A64FXGI01 : ProcResGroup<[A64FXIPFLA, A64FXIPPR]>;
  def A64FXWrite_4Cyc_GI01 : SchedWriteRes<[A64FXGI01]> {...
Modified:
  def A64FXGI0 : ProcResGroup<[A64FXIPFLA]>;
  def A64FXGI1 : ProcResGroup<[A64FXIPPR]>;
  def A64FXWrite_CMP : SchedWriteRes<[A64FXGI0, A64FXGI1]> {...
```

Reference: A64FX Microarchitecture Manual (Table 16-3)
https://github.com/fujitsu/A64FX/blob/master/doc/A64FX_Microarchitecture_Manual_en_1.7.pdf

Reviewed By: dmgreen, kawashima-fj

Differential Revision: https://reviews.llvm.org/D131165

llvm/lib/Target/AArch64/AArch64SchedA64FX.td
llvm/test/tools/llvm-mca/AArch64/A64FX/A64-basic-instructions.s [new file with mode: 0644]
llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-neon-instructions.s [new file with mode: 0644]
llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s [new file with mode: 0644]

index 4c65b67..8b0b844 100644 (file)
@@ -18,7 +18,7 @@ def A64FXModel : SchedMachineModel {
   // Determined via a mix of micro-arch details and experimentation.
   let LoopMicroOpBufferSize = 128;
   let PostRAScheduler       =   1; // Using PostRA sched.
-  let CompleteModel         =   0;
+  let CompleteModel         =   1;
 
   list<Predicate> UnsupportedFeatures =
     [HasSVE2, HasSVE2AES, HasSVE2SM4, HasSVE2SHA3, HasSVE2BitPerm, HasPAuth,
@@ -80,34 +80,16 @@ def A64FXGI03 : ProcResGroup<[A64FXIPFLA, A64FXIPFLB]>;
 
 def A64FXGI01 : ProcResGroup<[A64FXIPFLA, A64FXIPPR]>;
 
-def A64FXGI02 : ProcResGroup<[A64FXIPFLA, A64FXIPEXA]>;
-
-def A64FXGI12 : ProcResGroup<[A64FXIPEXA, A64FXIPPR]>;
-
-def A64FXGI15 : ProcResGroup<[A64FXIPEAGA, A64FXIPPR]>;
-
-def A64FXGI05 : ProcResGroup<[A64FXIPFLA, A64FXIPEAGA]>;
-
 def A64FXGI24 : ProcResGroup<[A64FXIPEXA, A64FXIPEXB]>;
 
-def A64FXGI124 : ProcResGroup<[A64FXIPEXA, A64FXIPEXB, A64FXIPPR]>;
+def A64FXGI56 : ProcResGroup<[A64FXIPEAGA, A64FXIPEAGB]>;
 
 def A64FXGI056 : ProcResGroup<[A64FXIPFLA, A64FXIPEAGA, A64FXIPEAGB]>;
 
-def A64FXGI0256 : ProcResGroup<[A64FXIPFLA, A64FXIPEXA, A64FXIPEAGA, A64FXIPEAGB]>;
-
-def A64FXGI56 : ProcResGroup<[A64FXIPEAGA, A64FXIPEAGB]>;
-
 def A64FXGI2456 : ProcResGroup<[A64FXIPEXA, A64FXIPEXB, A64FXIPEAGA, A64FXIPEAGB]>;
 
 def A64FXAny : ProcResGroup<[A64FXIPFLA, A64FXIPPR, A64FXIPEXA, A64FXIPFLB,
-                             A64FXIPEXB, A64FXIPEAGA, A64FXIPEAGB, A64FXIPBR]> {
-  let BufferSize = 60;
-}
-
-def A64FXWrite_6Cyc : SchedWriteRes<[]> {
-  let Latency = 6;
-}
+                             A64FXIPEXB, A64FXIPEAGA, A64FXIPEAGB, A64FXIPBR]>;
 
 def A64FXWrite_1Cyc_GI7 : SchedWriteRes<[A64FXGI7]> {
   let Latency = 1;
@@ -121,10 +103,6 @@ def A64FXWrite_4Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
   let Latency = 4;
 }
 
-def A64FXWrite_5Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
-  let Latency = 5;
-}
-
 def A64FXWrite_6Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
   let Latency = 6;
 }
@@ -137,79 +115,14 @@ def A64FXWrite_9Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
   let Latency = 9;
 }
 
-def A64FXWrite_13Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
-  let Latency = 13;
-}
-
-def A64FXWrite_37Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
-  let Latency = 37;
-}
-
-def A64FXWrite_98Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
-  let Latency = 98;
-}
-
-def A64FXWrite_134Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
-  let Latency = 134;
-}
-
-def A64FXWrite_154Cyc_GI0 : SchedWriteRes<[A64FXGI0]> {
-  let Latency = 154;
-}
-
-def A64FXWrite_4Cyc_GI01 : SchedWriteRes<[A64FXGI01]> {
-  let Latency = 4;
-}
-
-def A64FXWrite_6Cyc_GI01 : SchedWriteRes<[A64FXGI01]> {
-  let Latency = 6;
-}
-
-def A64FXWrite_8Cyc_GI01 : SchedWriteRes<[A64FXGI01]> {
-  let Latency = 8;
-}
-
-def A64FXWrite_12Cyc_GI01 : SchedWriteRes<[A64FXGI01]> {
-  let Latency = 12;
-}
-
-def A64FXWrite_10Cyc_GI02 : SchedWriteRes<[A64FXGI02]> {
-  let Latency = 10;
-}
-
-def A64FXWrite_17Cyc_GI02 : SchedWriteRes<[A64FXGI02]> {
-  let Latency = 17;
-}
-
-def A64FXWrite_21Cyc_GI02 : SchedWriteRes<[A64FXGI02]> {
-  let Latency = 21;
-}
-
 def A64FXWrite_3Cyc_GI1 : SchedWriteRes<[A64FXGI1]> {
   let Latency = 3;
 }
 
-def A64FXWrite_6Cyc_NGI1 : SchedWriteRes<[A64FXGI1]> {
-  let Latency = 3;
-  let NumMicroOps = 2;
-}
-
-def A64FXWrite_4Cyc_GI12 : SchedWriteRes<[A64FXGI12]> {
-  let Latency = 4;
-}
-
-def A64FXWrite_3Cyc_GI2 : SchedWriteRes<[A64FXGI2]> {
-  let Latency = 3;
-}
-
 def A64FXWrite_5Cyc_GI2 : SchedWriteRes<[A64FXGI2]> {
   let Latency = 5;
 }
 
-def A64FXWrite_6Cyc_GI2 : SchedWriteRes<[A64FXGI2]> {
-  let Latency = 6;
-}
-
 def A64FXWrite_4Cyc_GI3 : SchedWriteRes<[A64FXGI3]> {
   let Latency = 4;
 }
@@ -218,22 +131,10 @@ def A64FXWrite_6Cyc_GI3 : SchedWriteRes<[A64FXGI3]> {
   let Latency = 6;
 }
 
-def A64FXWrite_6Cyc_GI15 : SchedWriteRes<[A64FXGI15]> {
-  let Latency = 6;
-}
-
-def A64FXWrite_3Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 3;
-}
-
 def A64FXWrite_4Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
   let Latency = 4;
 }
 
-def A64FXWrite_6Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 6;
-}
-
 def A64FXWrite_8Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
   let Latency = 8;
 }
@@ -242,47 +143,6 @@ def A64FXWrite_9Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
   let Latency = 9;
 }
 
-def A64FXWrite_10Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 10;
-}
-
-def A64FXWrite_12Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 12;
-}
-
-def A64FXWrite_14Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 14;
-}
-
-def A64FXWrite_15Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 15;
-}
-
-def A64FXWrite_15Cyc_NGI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 15;
-  let NumMicroOps = 2;
-}
-
-def A64FXWrite_18Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 18;
-}
-
-def A64FXWrite_45Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 45;
-}
-
-def A64FXWrite_60Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 60;
-}
-
-def A64FXWrite_75Cyc_GI03 : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 75;
-}
-
-def A64FXWrite_6Cyc_GI05 : SchedWriteRes<[A64FXGI05]> {
-  let Latency = 6;
-}
-
 def A64FXWrite_10Cyc_GI4 : SchedWriteRes<[A64FXGI4]> {
   let Latency = 10;
 }
@@ -320,19 +180,6 @@ def A64FXWrite_4Cyc_NGI24 : SchedWriteRes<[A64FXGI24]> {
   let NumMicroOps = 4;
 }
 
-def A64FXWrite_6Cyc_GI124: SchedWriteRes<[A64FXGI124]> {
-  let Latency = 6;
-}
-
-def A64FXWrite_8Cyc_GI124 : SchedWriteRes<[A64FXGI124]> {
-  let Latency = 8;
-  let NumMicroOps = 2;
-}
-
-def A64FXWrite_6Cyc_GI56 : SchedWriteRes<[A64FXGI56]> {
-  let Latency = 0;
-}
-
 def A64FXWrite_1Cyc_GI56 : SchedWriteRes<[A64FXGI56]> {
   let Latency = 1;
 }
@@ -349,38 +196,6 @@ def A64FXWrite_11Cyc_GI56 : SchedWriteRes<[A64FXGI56]> {
   let Latency = 11;
 }
 
-def A64FXWrite_44Cyc_GI56 : SchedWriteRes<[A64FXGI56]> {
-  let Latency = 44;
-}
-
-def A64FXWrite_10Cyc_GI056 : SchedWriteRes<[A64FXGI056]> {
-  let Latency = 10;
-}
-
-def A64FXWrite_15Cyc_GI056 : SchedWriteRes<[A64FXGI056]> {
-  let Latency = 15;
-}
-
-def A64FXWrite_19Cyc_GI056 : SchedWriteRes<[A64FXGI056]> {
-  let Latency = 19;
-}
-
-def A64FXWrite_25Cyc_GI056 : SchedWriteRes<[A64FXGI056]> {
-  let Latency = 25;
-}
-
-def A64FXWrite_14Cyc_GI0256 : SchedWriteRes<[A64FXGI0256]> {
-  let Latency = 14;
-}
-
-def A64FXWrite_19Cyc_GI0256 : SchedWriteRes<[A64FXGI0256]> {
-  let Latency = 19;
-}
-
-def A64FXWrite_29Cyc_GI0256 : SchedWriteRes<[A64FXGI0256]> {
-  let Latency = 29;
-}
-
 def A64FXWrite_LDNP: SchedWriteRes<[A64FXGI56]> {
   let Latency = 5;
   let NumMicroOps = 2;
@@ -519,10 +334,6 @@ def A64FXWrite_FMOV_VG14 : SchedWriteRes<[A64FXGI03]> {
   let Latency = 14;
 }
 
-def A64FXWrite_FMOV_VG : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 25;
-}
-
 def A64FXWrite_ADDLV : SchedWriteRes<[A64FXGI03]> {
   let Latency = 12;
 }
@@ -622,10 +433,6 @@ def A64FXWrite_FMAXVVH : SchedWriteRes<[A64FXGI03]> {
   let NumMicroOps = 7;
 }
 
-def A64FXWrite_FMAXVVS : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 14;
-}
-
 def A64FXWrite_BIF : SchedWriteRes<[A64FXGI03]> {
   let Latency = 5;
 }
@@ -722,30 +529,6 @@ def A64FXWrite_ST17: SchedWriteRes<[A64FXGI56]> {
   let Latency = 1;
 }
 
-def A64FXWrite_ST1W_6: SchedWriteRes<[A64FXGI056]> {
-  let Latency = 6;
-}
-
-def A64FXWrite_ST2W_7: SchedWriteRes<[A64FXGI056]> {
-  let Latency = 7;
-}
-
-def A64FXWrite_ST3W_8: SchedWriteRes<[A64FXGI056]> {
-  let Latency = 8;
-}
-
-def A64FXWrite_ST4W_9: SchedWriteRes<[A64FXGI056]> {
-  let Latency = 9;
-}
-
-def A64FXWrite_ST1W_15: SchedWriteRes<[A64FXGI056]> {
-  let Latency = 15;
-}
-
-def A64FXWrite_ST1W_19: SchedWriteRes<[A64FXGI056]> {
-  let Latency = 19;
-}
-
 def A64FXWrite_CAS: SchedWriteRes<[A64FXGI56]> {
   let Latency = 7;
 }
@@ -813,7 +596,6 @@ def : InstRW<[A64FXWrite_1Cyc_GI7],
 // Address generation
 def : WriteRes<WriteI,       [A64FXGI2456]> {
   let Latency = 1;
-  let ResourceCycles = [1];
 }
 
 def : InstRW<[WriteI],
@@ -834,7 +616,6 @@ def : InstRW<[WriteI], (instrs COPY)>;
 // ALU, extend and/or shift
 def : WriteRes<WriteISReg,   [A64FXGI2456]> {
   let Latency = 2;
-  let ResourceCycles = [1];
 }
 
 def : InstRW<[WriteISReg],
@@ -852,7 +633,6 @@ def : InstRW<[WriteISReg],
 
 def : WriteRes<WriteIEReg,   [A64FXGI2456]> {
   let Latency = 1;
-  let ResourceCycles = [1];
 }
 
 def : InstRW<[WriteIEReg],
@@ -871,7 +651,6 @@ def : InstRW<[WriteIEReg],
 // Move immed
 def : WriteRes<WriteImm,     [A64FXGI2456]> {
   let Latency = 1;
-  let ResourceCycles = [1];
 }
 
 def : InstRW<[A64FXWrite_1Cyc_GI2456],
@@ -883,7 +662,6 @@ def : InstRW<[A64FXWrite_2Cyc_GI24],
 // Variable shift
 def : WriteRes<WriteIS,      [A64FXGI2456]> {
   let Latency = 1;
-  let ResourceCycles = [1];
 }
 
 //---
@@ -905,13 +683,11 @@ def : WriteRes<WriteID64,    [A64FXGI4]> {
 // Multiply accumulate, W-form
 def : WriteRes<WriteIM32,    [A64FXGI2456]> {
   let Latency = 5;
-  let ResourceCycles = [1];
 }
 
 // Multiply accumulate, X-form
 def : WriteRes<WriteIM64,    [A64FXGI2456]> {
   let Latency = 5;
-  let ResourceCycles = [1];
 }
 
 def : InstRW<[WriteIM32], (instrs MADDWrrr, MSUBWrrr)>;
@@ -925,7 +701,6 @@ def : InstRW<[WriteID64], (instrs SDIVXr, UDIVXr)>;
 // Bitfield extract, two reg
 def : WriteRes<WriteExtr,    [A64FXGI2456]> {
   let Latency = 1;
-  let ResourceCycles = [1];
 }
 
 // Multiply high
@@ -984,7 +759,6 @@ def : InstRW<[A64FXWrite_20Cyc_GI4], (instrs CRC32CXrr)>;
 // Load register, unsigned immed
 def : WriteRes<WriteLD,      [A64FXGI56]> {
   let Latency = 4;
-  let ResourceCycles = [3];
 }
 
 // Load register, immed post-index
@@ -993,7 +767,6 @@ def : WriteRes<WriteLD,      [A64FXGI56]> {
 // NOTE: Handled by WriteLD, WriteAdr.
 def : WriteRes<WriteAdr,     [A64FXGI2456]> {
   let Latency = 1;
-  let ResourceCycles = [1];
 }
 
 // Load pair, immed offset, normal
@@ -1537,27 +1310,6 @@ def : InstRW<[A64FXXWriteFSqrtDP], (instregex "^.*SQRT.*64$")>;
 def : InstRW<[A64FXXWriteFDivDP], (instregex "^FDIVDrr")>;
 def : InstRW<[A64FXXWriteFSqrtDP], (instregex "^FSQRTDr")>;
 
-// FP multiply
-// FP multiply accumulate
-def : WriteRes<WriteFMul, [A64FXGI03]> {
-  let Latency = 9;
-  let ResourceCycles = [2];
-}
-
-def A64FXXWriteFMul : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 9;
-  let ResourceCycles = [2];
-}
-
-def A64FXXWriteFMulAcc : SchedWriteRes<[A64FXGI03]> {
-  let Latency = 9;
-  let ResourceCycles = [2];
-}
-
-def : InstRW<[A64FXXWriteFMul], (instregex "^FMUL", "^FNMUL")>;
-def : InstRW<[A64FXXWriteFMulAcc],
-            (instregex "^FMADD", "^FMSUB", "^FNMADD", "^FNMSUB")>;
-
 // FP round to integral
 def : InstRW<[A64FXWrite_9Cyc_GI03],
             (instregex "^FRINT(A|I|M|N|P|X|Z)(Sr|Dr)")>;
@@ -1629,11 +1381,9 @@ def : InstRW<[A64FXWrite_FMOV_VG14], (instrs FMOVDXHighr)>;
 // ASIMD shift by register, complex, Q-form
 def : WriteRes<WriteVd, [A64FXGI03]> {
   let Latency = 4;
-  let ResourceCycles = [1];
 }
 def : WriteRes<WriteVq, [A64FXGI03]> {
   let Latency = 4;
-  let ResourceCycles = [1];
 }
 
 // ASIMD arith, reduce, 4H/4S
@@ -1783,6 +1533,10 @@ def : InstRW<[A64FXWrite_TBX1],
 // 3.13 ASIMD Floating-point Instructions
 //---
 
+def : WriteRes<WriteFMul, [A64FXGI03]> {
+  let Latency = 9;
+}
+
 // ASIMD FP absolute value
 def : InstRW<[A64FXWrite_4Cyc_GI03], (instregex "^FABSv")>;
 
@@ -1936,9 +1690,6 @@ def : InstRW<[A64FXWrite_TBX2], (instregex "^TBXv16i8Two")>;
 def : InstRW<[A64FXWrite_TBX3], (instregex "^TBXv16i8Three")>;
 def : InstRW<[A64FXWrite_TBX4], (instregex "^TBXv16i8Four")>;
 
-// ASIMD transpose
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instregex "^TRN1", "^TRN2")>;
-
 // ASIMD unzip/zip
 def : InstRW<[A64FXWrite_6Cyc_GI0],
             (instregex "^UZP1", "^UZP2", "^ZIP1", "^ZIP2")>;
@@ -2298,1599 +2049,564 @@ def : InstRW<[A64FXWrite_SWP, WriteAtomic],
 def : InstRW<[A64FXWrite_STUR, WriteAtomic],
             (instrs STLLRB, STLLRH, STLLRW, STLLRX)>;
 
-// [ 1]   "abs  $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ABS_ZPmZ_B, ABS_ZPmZ_D, ABS_ZPmZ_H, ABS_ZPmZ_S)>;
+// SVE instructions
 
-// [ 2]   "add  $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ADD_ZZZ_B, ADD_ZZZ_D, ADD_ZZZ_H, ADD_ZZZ_S)>;
+// The modeling method for SVE instructions is more accurate than others.
+// TODO: modify the model of other instructions similarly.
 
-// [ 3]   "add  $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ADD_ZPmZ_B, ADD_ZPmZ_D, ADD_ZPmZ_H, ADD_ZPmZ_S)>;
+def : InstRW<[A64FXWrite_4Cyc_GI0],
+            (instregex "^AND_ZI", "^CL[SZ]_Z", "^CPY_ZP[mz]I", "^DUP_ZZ?I", "^DUPM_Z",
+                       "^EOR_ZI", "^ORR_ZI", "^FCM(EQ|GT|GE|LT|LE|NE|UO)_P",
+                       "^FCPY_Z", "^F(MAX|MIN).*I_", "^NEG_Z", "^[SU](MAX|MIN)_ZI",
+                       "^SUBR?_ZI")>;
 
-// [ 4]   "add  $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ADD_ZI_B, ADD_ZI_D, ADD_ZI_H, ADD_ZI_S)>;
+def : InstRW<[A64FXWrite_6Cyc_GI0],
+            (instregex "^CLAST[AB]_[VZ]", "^COMPACT_Z", "^CPY_ZPmV", "^DUP_ZR",
+                       "^EXT_Z", "^FDUP_Z", "^INSR_ZV", "^LAST[AB]_V", "^REV_Z",
+                       "^SPLICE_Z", "^[SU]UNPK(HI|LO)_Z", "^TBL_Z", "^TRN[12]_Z")>;
 
-// [ 5]   "addpl        $Rd, $Rn, $imm6";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs ADDPL_XXI)>;
+def : InstRW<[A64FXWrite_9Cyc_GI0],
+            (instregex "^F(ADD|SUBR?)_.*I_", "^FRECPS_Z", "^FRSQRTS_Z",
+                       "^INDEX_II_[SD]", "^MUL_ZI")>;
 
-// [ 6]   "addvl        $Rd, $Rn, $imm6";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs ADDVL_XXI)>;
+def : InstRW<[A64FXWrite_4Cyc_GI3],
+            (instregex "^CNT_Z")>;
 
-// [ 7]   "adr  $Zd, [$Zn, $Zm]";
-def : InstRW<[A64FXWrite_5Cyc_GI0], (instrs ADR_LSL_ZZZ_D_0, ADR_LSL_ZZZ_D_1, ADR_LSL_ZZZ_D_2, ADR_LSL_ZZZ_D_3, ADR_LSL_ZZZ_S_0, ADR_LSL_ZZZ_S_1, ADR_LSL_ZZZ_S_2, ADR_LSL_ZZZ_S_3, ADR_SXTW_ZZZ_D_0, ADR_SXTW_ZZZ_D_1, ADR_SXTW_ZZZ_D_2, ADR_SXTW_ZZZ_D_3, ADR_UXTW_ZZZ_D_0, ADR_UXTW_ZZZ_D_1, ADR_UXTW_ZZZ_D_2, ADR_UXTW_ZZZ_D_3)>;
+def : InstRW<[A64FXWrite_4Cyc_GI03],
+            (instregex "^ABS_Z", "^ADD_Z", "^AND_Z[^I]", "^ASRR?_(WIDE_)?Z",
+                       "^BIC_Z", "^ADR_[SU]XTW_Z", "^CNOT_Z", "^DEC[BHWD]_Z",
+                       "^EOR_Z[^I]", "^INC[BHWD]_Z", "^ORR_Z[^I]", "^FABS_Z",
+                       "^FACG[ET]_P", "^FEXPA_Z", "^F(MAX|MIN)[^V]*Z_",
+                       "^FNEG_Z", "^FRECP[EX]_Z", "^FRSQRTE_Z", "^FTSSEL_Z",
+                       "^LS[LR]R?(_WIDE)?_Z", "^NOT_Z", "^RBIT_Z", "^REV[BHW]_Z", "^SABD_Z",
+                       "^SEL_Z", "^[SU](MAX|MIN)_ZP", "^[SU]Q(INC|DEC)[^P]_Z",
+                       "^SUBR?_Z[^I]", "^[SU]XT._Z", "^UABD_Z")>;
+
+def : InstRW<[A64FXWrite_9Cyc_GI03      ],
+            (instregex "^FABD_Z", "^F(ADD|SUBR?)_.*Z_", "^FN?(MAD|MLA|MLS|MSB)_ZP",
+                       "^FMUL_(ZP|ZZZ_)", "^FMULX_Z", "^FCVT(ZS|ZU)?_Z",
+                       "^FRINT._Z", "^FSCALE_Z", "^FTMAD_Z", "^FTSMUL_Z",
+                       "^MAD_Z", "^MLA_Z", "^MLS_Z", "^MSB_Z", "^MUL_ZP",
+                       "^[SU]CVTF_Z", "^[SU]DOT_ZZZ_", "^[SU]MULH_Z")>;
+
+def : InstRW<[A64FXWrite_3Cyc_GI1],
+            (instregex "^ANDS?_P", "^BICS?_P", "^BRK.*_P", "^EORS?_P", "^ORRS?_P",
+                       "^NANDS?_P", "^NORS?_P", "^ORNS?_P", "^PFALSE", "^PNEXT",
+                       "^PFIRST", "^PTEST", "^PTRUES?", "^PUNPK(HI|LO)",
+                       "^RDFFRS?", "^REV_P", "^SEL_P", "^TRN[12]_P")>;
 
-// [ 8]   "and  $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs AND_PPzPP)>;
+def : InstRW<[A64FXWrite_1Cyc_GI24],
+            (instregex "^ADD[PV]L", "^CNT[BHWD]_X", "^DEC[BHWD]_X", "^INC[BHWD]_X",
+                       "^RDVLI")>;
 
-// [ 9]   "and  $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs AND_ZZZ)>;
+def : InstRW<[A64FXWrite_11Cyc_GI5],
+            (instregex "^LDR_[PZ]XI")>;
 
-// [10]   "and  $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs AND_ZPmZ_B, AND_ZPmZ_D, AND_ZPmZ_H, AND_ZPmZ_S)>;
+def : InstRW<[A64FXWrite_11Cyc_GI56],
+            (instregex "^LD(NF|FF|NT)?1R?S?[BHSWDQ]")>;
 
-// [11]   "and  $Zdn, $_Zdn, $imms13";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs AND_ZI)>;
+def A64FXWrite_None : SchedWriteRes<[]> {
+}
+def : InstRW<[A64FXWrite_None], (instregex "^SETFFR", "^MOVPRFX")>;
 
-// [12]   "ands $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs ANDS_PPzPP)>;
+def A64FXWrite_FMAIndexed : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 15;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2];
+}
+def : InstRW<[A64FXWrite_FMAIndexed], (instregex "^F(MLA|MLS|MUL)_ZZZI")>;
 
-// [13]   "andv $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs ANDV_VPZ_B, ANDV_VPZ_D, ANDV_VPZ_H, ANDV_VPZ_S)>;
+def A64FXWrite_ADR_LSL_Z : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 5;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2];
+}
+def : InstRW<[A64FXWrite_ADR_LSL_Z], (instregex "^ADR_LSL_Z")>;
 
-// [14]   "asr  $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ASR_WIDE_ZZZ_B, ASR_WIDE_ZZZ_H, ASR_WIDE_ZZZ_S)>;
+def A64FXWrite_ASRD : SchedWriteRes<[A64FXGI0, A64FXGI01]> {
+  let Latency = 8;
+  let NumMicroOps = 2;
+}
+def : InstRW<[A64FXWrite_ASRD], (instregex "^ASRD_Z")>;
 
-// [15]   "asr  $Zd, $Zn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ASR_ZZI_B, ASR_ZZI_D, ASR_ZZI_H, ASR_ZZI_S)>;
+def A64FXWrite_Reduction4CycB : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 46;
+  let NumMicroOps = 10;
+  let ResourceCycles = [10];
+}
+def : InstRW<[A64FXWrite_Reduction4CycB],
+      (instregex "^(AND|EOR|OR|SADD|SMAX|SMIN|UADD|UMAX|UMIN)V_VPZ_B")>;
 
-// [16]   "asr  $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ASR_WIDE_ZPmZ_B, ASR_WIDE_ZPmZ_H, ASR_WIDE_ZPmZ_S, ASR_ZPmZ_B, ASR_ZPmZ_D, ASR_ZPmZ_H, ASR_ZPmZ_S)>;
+def A64FXWrite_Reduction4CycH : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 42;
+  let NumMicroOps = 9;
+  let ResourceCycles = [9];
+}
+def : InstRW<[A64FXWrite_Reduction4CycH],
+      (instregex "^(AND|EOR|OR|SADD|SMAX|SMIN|UADD|UMAX|UMIN)V_VPZ_H")>;
 
-// [17]   "asr  $Zdn, $Pg/m, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ASR_ZPmI_B, ASR_ZPmI_D, ASR_ZPmI_H, ASR_ZPmI_S)>;
+def A64FXWrite_Reduction4CycS : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 38;
+  let NumMicroOps = 8;
+  let ResourceCycles = [8];
+}
+def : InstRW<[A64FXWrite_Reduction4CycS],
+      (instregex "^(AND|EOR|OR|SADD|SMAX|SMIN|UADD|UMAX|UMIN)V_VPZ_S")>;
 
-// [18]   "asrd $Zdn, $Pg/m, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ASRD_ZPmI_B, ASRD_ZPmI_D, ASRD_ZPmI_H, ASRD_ZPmI_S)>;
+def A64FXWrite_Reduction4CycD : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 34;
+  let NumMicroOps = 7;
+  let ResourceCycles = [7];
+}
+def : InstRW<[A64FXWrite_Reduction4CycD],
+      (instregex "^(AND|EOR|OR|SADD|SMAX|SMIN|UADD|UMAX|UMIN)V_VPZ_D")>;
 
-// [19]   "asrr $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ASRR_ZPmZ_B, ASRR_ZPmZ_D, ASRR_ZPmZ_H, ASRR_ZPmZ_S)>;
+def A64FXWrite_CLAST_R : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 29;
+}
+def : InstRW<[A64FXWrite_CLAST_R], (instregex "^CLAST[AB]_R")>;
 
-// [20]   "bic  $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BIC_PPzPP)>;
+def A64FXWrite_CMP : SchedWriteRes<[A64FXGI0, A64FXGI1]> {
+  let Latency = 4;
+}
+def : InstRW<[A64FXWrite_CMP], (instregex "^CMP.*_P")>;
 
-// [21]   "bic  $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs BIC_ZZZ)>;
+def A64FXWrite_CNTP : SchedWriteRes<[A64FXGI1, A64FXGI2]> {
+  let Latency = 6;
+}
+def : InstRW<[A64FXWrite_CNTP], (instregex "^CNTP_X")>;
 
-// [22]   "bic  $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs BIC_ZPmZ_B, BIC_ZPmZ_D, BIC_ZPmZ_H, BIC_ZPmZ_S)>;
+def A64FXWrite_CPYScalar : SchedWriteRes<[A64FXGI0, A64FXGI2]> {
+  let Latency = 8;
+}
+def : InstRW<[A64FXWrite_CPYScalar], (instregex "^CPY_ZPmR")>;
 
-// [23]   "bics $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BICS_PPzPP)>;
+def A64FXWrite_CTERM : SchedWriteRes<[A64FXGI24]> {
+  let Latency = 2;
+  let ResourceCycles = [2];
+}
+def : InstRW<[A64FXWrite_CTERM], (instregex "^CTERM")>;
 
-// [24]   "brka $Pd, $Pg/m, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKA_PPmP)>;
+def A64FXWrite_INCPScalar : SchedWriteRes<[A64FXGI1, A64FXGI2, A64FXGI4]> {
+  let Latency = 7;
+  let NumMicroOps = 2;
+}
+def : InstRW<[A64FXWrite_INCPScalar], (instregex "^DECP_X", "^INCP_X")>;
 
-// [25]   "brka $Pd, $Pg/z, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKA_PPzP)>;
+def A64FXWrite_INCPVector : SchedWriteRes<[A64FXGI0, A64FXGI1]> {
+  let Latency = 12;
+}
+def : InstRW<[A64FXWrite_INCPVector], (instregex "^DECP_Z", "^INCP_Z")>;
 
-// [26]   "brkas        $Pd, $Pg/z, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKAS_PPzP)>;
+def A64FXWrite_FADDVH : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 75;
+  let NumMicroOps = 11;
+  let ResourceCycles = [11];
+}
+def : InstRW<[A64FXWrite_FADDVH], (instrs FADDV_VPZ_H)>;
 
-// [27]   "brkb $Pd, $Pg/m, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKB_PPmP)>;
+def A64FXWrite_FADDVS : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 60;
+  let NumMicroOps = 9;
+  let ResourceCycles = [9];
+}
+def : InstRW<[A64FXWrite_FADDVS], (instrs FADDV_VPZ_S)>;
 
-// [28]   "brkb $Pd, $Pg/z, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKB_PPzP)>;
+def A64FXWrite_FADDVD : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 45;
+  let NumMicroOps = 7;
+  let ResourceCycles = [7];
+}
+def : InstRW<[A64FXWrite_FADDVD], (instrs FADDV_VPZ_D)>;
 
-// [29]   "brkbs        $Pd, $Pg/z, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKBS_PPzP)>;
+def A64FXWrite_FADDAH : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 468;
+  let NumMicroOps = 63;
+  let ResourceCycles = [63];
+}
+def : InstRW<[A64FXWrite_FADDAH], (instrs FADDA_VPZ_H)>;
 
-// [30]   "brkn $Pdm, $Pg/z, $Pn, $_Pdm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKN_PPzP)>;
+def A64FXWrite_FADDAS : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 228;
+  let NumMicroOps = 31;
+  let ResourceCycles = [31];
+}
+def : InstRW<[A64FXWrite_FADDAS], (instrs FADDA_VPZ_S)>;
 
-// [31]   "brkns        $Pdm, $Pg/z, $Pn, $_Pdm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKNS_PPzP)>;
+def A64FXWrite_FADDAD : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 108;
+  let NumMicroOps = 15;
+  let ResourceCycles = [15];
+}
+def : InstRW<[A64FXWrite_FADDAD], (instrs FADDA_VPZ_D)>;
 
-// [32]   "brkpa        $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKPA_PPzPP)>;
+def A64FXWrite_FCADDZ : SchedWriteRes<[A64FXGI0, A64FXGI3]> {
+  let Latency = 15;
+  let NumMicroOps = 2;
+}
+def : InstRW<[A64FXWrite_FCADDZ], (instregex "^FCADD_Z")>;
 
-// [33]   "brkpas       $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKPAS_PPzPP)>;
+def A64FXWrite_FCMLAZ : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 15;
+  let NumMicroOps = 3;
+  let ResourceCycles = [3];
+}
+def : InstRW<[A64FXWrite_FCMLAZ], (instregex "^FCMLA_Z")>;
 
-// [34]   "brkpb        $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKPB_PPzPP)>;
+def A64FXWrite_FDIVH : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 134;
+  let ResourceCycles = [134];
+}
+def : InstRW<[A64FXWrite_FDIVH], (instregex "^F(DIVR?|SQRT)_Z.*_H")>;
 
-// [35]   "brkpbs       $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs BRKPBS_PPzPP)>;
+def A64FXWrite_FDIVS : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 98;
+  let ResourceCycles = [98];
+}
+def : InstRW<[A64FXWrite_FDIVS], (instregex "^F(DIVR?|SQRT)_Z.*_S")>;
 
-// [36]   "clasta       $Rdn, $Pg, $_Rdn, $Zm";
-def : InstRW<[A64FXWrite_29Cyc_GI0256], (instrs CLASTA_RPZ_B, CLASTA_RPZ_D, CLASTA_RPZ_H, CLASTA_RPZ_S)>;
+def A64FXWrite_FDIVD : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 154;
+  let ResourceCycles = [154];
+}
+def : InstRW<[A64FXWrite_FDIVD], (instregex "^F(DIVR?|SQRT)_Z.*_D")>;
 
-// [37]   "clasta       $Vdn, $Pg, $_Vdn, $Zm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CLASTA_VPZ_B, CLASTA_VPZ_D, CLASTA_VPZ_H, CLASTA_VPZ_S)>;
+def A64FXWrite_FMAXVH : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 54;
+  let NumMicroOps = 11;
+  let ResourceCycles = [11];
+}
+def : InstRW<[A64FXWrite_FMAXVH], (instregex "^F(MAX|MIN)(NM)?V_VPZ_H")>;
 
-// [38]   "clasta       $Zdn, $Pg, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CLASTA_ZPZ_B, CLASTA_ZPZ_D, CLASTA_ZPZ_H, CLASTA_ZPZ_S)>;
+def A64FXWrite_FMAXVS : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 44;
+  let NumMicroOps = 9;
+  let ResourceCycles = [9];
+}
+def : InstRW<[A64FXWrite_FMAXVS], (instregex "^F(MAX|MIN)(NM)?V_VPZ_S")>;
 
-// [39]   "clastb       $Rdn, $Pg, $_Rdn, $Zm";
-def : InstRW<[A64FXWrite_29Cyc_GI0256], (instrs CLASTB_RPZ_B, CLASTB_RPZ_D, CLASTB_RPZ_H, CLASTB_RPZ_S)>;
+def A64FXWrite_FMAXVD : SchedWriteRes<[A64FXGI03]> {
+  let Latency = 34;
+  let NumMicroOps = 7;
+  let ResourceCycles = [7];
+}
+def : InstRW<[A64FXWrite_FMAXVH], (instregex "^F(MAX|MIN)(NM)?V_VPZ_D")>;
 
-// [40]   "clastb       $Vdn, $Pg, $_Vdn, $Zm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CLASTB_VPZ_B, CLASTB_VPZ_D, CLASTB_VPZ_H, CLASTB_VPZ_S)>;
+def A64FXWrite_INDEX_RI_BH : SchedWriteRes<[A64FXGI0, A64FXGI2]> {
+  let Latency = 17;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2, 2];
+}
+def : InstRW<[A64FXWrite_INDEX_RI_BH], (instregex "^INDEX_(RI|IR)_[BH]")>;
 
-// [41]   "clastb       $Zdn, $Pg, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CLASTB_ZPZ_B, CLASTB_ZPZ_D, CLASTB_ZPZ_H, CLASTB_ZPZ_S)>;
+def A64FXWrite_INDEX_RI_SD : SchedWriteRes<[A64FXGI0, A64FXGI2]> {
+  let Latency = 13;
+  let NumMicroOps = 1;
+}
+def : InstRW<[A64FXWrite_INDEX_RI_SD], (instregex "^INDEX_(RI|IR)_[SD]")>;
 
-// [42]   "cls  $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs CLS_ZPmZ_B, CLS_ZPmZ_D, CLS_ZPmZ_H, CLS_ZPmZ_S)>;
-
-// [43]   "clz  $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs CLZ_ZPmZ_B, CLZ_ZPmZ_D, CLZ_ZPmZ_H, CLZ_ZPmZ_S)>;
-
-// [44]   "cmpeq        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPEQ_PPzZZ_B, CMPEQ_PPzZZ_D, CMPEQ_PPzZZ_H, CMPEQ_PPzZZ_S, CMPEQ_WIDE_PPzZZ_B, CMPEQ_WIDE_PPzZZ_H, CMPEQ_WIDE_PPzZZ_S)>;
-
-// [45]   "cmpeq        $Pd, $Pg/z, $Zn, $imm5";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPEQ_PPzZI_B, CMPEQ_PPzZI_D, CMPEQ_PPzZI_H, CMPEQ_PPzZI_S)>;
-
-// [46]   "cmpge        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPGE_PPzZZ_B, CMPGE_PPzZZ_D, CMPGE_PPzZZ_H, CMPGE_PPzZZ_S, CMPGE_WIDE_PPzZZ_B, CMPGE_WIDE_PPzZZ_H, CMPGE_WIDE_PPzZZ_S)>;
-
-// [47]   "cmpge        $Pd, $Pg/z, $Zn, $imm5";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPGE_PPzZI_B, CMPGE_PPzZI_D, CMPGE_PPzZI_H, CMPGE_PPzZI_S)>;
-
-// [48]   "cmpgt        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPGT_PPzZZ_B, CMPGT_PPzZZ_D, CMPGT_PPzZZ_H, CMPGT_PPzZZ_S, CMPGT_WIDE_PPzZZ_B, CMPGT_WIDE_PPzZZ_H, CMPGT_WIDE_PPzZZ_S)>;
-
-// [49]   "cmpgt        $Pd, $Pg/z, $Zn, $imm5";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPGT_PPzZI_B, CMPGT_PPzZI_D, CMPGT_PPzZI_H, CMPGT_PPzZI_S)>;
-
-// [50]   "cmphi        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPHI_PPzZZ_B, CMPHI_PPzZZ_D, CMPHI_PPzZZ_H, CMPHI_PPzZZ_S, CMPHI_WIDE_PPzZZ_B, CMPHI_WIDE_PPzZZ_H, CMPHI_WIDE_PPzZZ_S)>;
-
-// [51]   "cmphi        $Pd, $Pg/z, $Zn, $imm7";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPHI_PPzZI_B, CMPHI_PPzZI_D, CMPHI_PPzZI_H, CMPHI_PPzZI_S)>;
-
-// [52]   "cmphs        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPHS_PPzZZ_B, CMPHS_PPzZZ_D, CMPHS_PPzZZ_H, CMPHS_PPzZZ_S, CMPHS_WIDE_PPzZZ_B, CMPHS_WIDE_PPzZZ_H, CMPHS_WIDE_PPzZZ_S)>;
-
-// [53]   "cmphs        $Pd, $Pg/z, $Zn, $imm7";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPHS_PPzZI_B, CMPHS_PPzZI_D, CMPHS_PPzZI_H, CMPHS_PPzZI_S)>;
-
-// [54]   "cmple        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLE_WIDE_PPzZZ_B, CMPLE_WIDE_PPzZZ_H, CMPLE_WIDE_PPzZZ_S)>;
-
-// [55]   "cmple        $Pd, $Pg/z, $Zn, $imm5";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLE_PPzZI_B, CMPLE_PPzZI_D, CMPLE_PPzZI_H, CMPLE_PPzZI_S)>;
-
-// [56]   "cmplo        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLO_WIDE_PPzZZ_B, CMPLO_WIDE_PPzZZ_H, CMPLO_WIDE_PPzZZ_S)>;
-
-// [57]   "cmplo        $Pd, $Pg/z, $Zn, $imm7";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLO_PPzZI_B, CMPLO_PPzZI_D, CMPLO_PPzZI_H, CMPLO_PPzZI_S)>;
-
-// [58]   "cmpls        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLS_WIDE_PPzZZ_B, CMPLS_WIDE_PPzZZ_H, CMPLS_WIDE_PPzZZ_S)>;
-
-// [59]   "cmpls        $Pd, $Pg/z, $Zn, $imm7";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLS_PPzZI_B, CMPLS_PPzZI_D, CMPLS_PPzZI_H, CMPLS_PPzZI_S)>;
-
-// [60]   "cmplt        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLT_WIDE_PPzZZ_B, CMPLT_WIDE_PPzZZ_H, CMPLT_WIDE_PPzZZ_S)>;
-
-// [61]   "cmplt        $Pd, $Pg/z, $Zn, $imm5";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPLT_PPzZI_B, CMPLT_PPzZI_D, CMPLT_PPzZI_H, CMPLT_PPzZI_S)>;
-
-// [62]   "cmpne        $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPNE_PPzZZ_B, CMPNE_PPzZZ_D, CMPNE_PPzZZ_H, CMPNE_PPzZZ_S, CMPNE_WIDE_PPzZZ_B, CMPNE_WIDE_PPzZZ_H, CMPNE_WIDE_PPzZZ_S)>;
-
-// [63]   "cmpne        $Pd, $Pg/z, $Zn, $imm5";
-def : InstRW<[A64FXWrite_4Cyc_GI01], (instrs CMPNE_PPzZI_B, CMPNE_PPzZI_D, CMPNE_PPzZI_H, CMPNE_PPzZI_S)>;
-
-// [64]   "cnot $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs CNOT_ZPmZ_B, CNOT_ZPmZ_D, CNOT_ZPmZ_H, CNOT_ZPmZ_S)>;
-
-// [65]   "cnt  $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI3], (instrs CNT_ZPmZ_B, CNT_ZPmZ_D, CNT_ZPmZ_H, CNT_ZPmZ_S)>;
-
-// [66]   "cntb $Rd, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs CNTB_XPiI)>;
-
-// [67]   "cntd $Rd, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs CNTD_XPiI)>;
-
-// [68]   "cnth $Rd, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs CNTH_XPiI)>;
-
-// [69]   "cntp $Rd, $Pg, $Pn";
-def : InstRW<[A64FXWrite_6Cyc_GI01], (instrs CNTP_XPP_B, CNTP_XPP_D, CNTP_XPP_H, CNTP_XPP_S)>;
-
-// [70]   "cntw $Rd, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs CNTW_XPiI)>;
-
-// [71]   "compact      $Zd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs COMPACT_ZPZ_D, COMPACT_ZPZ_S)>;
-
-// [72]   "cpy  $Zd, $Pg/m, $Rn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CPY_ZPmR_B, CPY_ZPmR_D, CPY_ZPmR_H, CPY_ZPmR_S)>;
-
-// [73]   "cpy  $Zd, $Pg/m, $Vn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CPY_ZPmV_B, CPY_ZPmV_D, CPY_ZPmV_H, CPY_ZPmV_S)>;
-
-// [74]   "cpy  $Zd, $Pg/m, $imm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CPY_ZPmI_B, CPY_ZPmI_D, CPY_ZPmI_H, CPY_ZPmI_S)>;
-
-// [75]   "cpy  $Zd, $Pg/z, $imm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs CPY_ZPzI_B, CPY_ZPzI_D, CPY_ZPzI_H, CPY_ZPzI_S)>;
-
-// [76]   "ctermeq      $Rn, $Rm";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs CTERMEQ_WW, CTERMEQ_XX)>;
-
-// [77]   "ctermne      $Rn, $Rm";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs CTERMNE_WW, CTERMNE_XX)>;
-
-// [78]   "decb $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs DECB_XPiI)>;
-
-// [79]   "decd $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs DECD_XPiI)>;
-
-// [80]   "decd $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs DECD_ZPiI)>;
-
-// [81]   "dech $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs DECH_XPiI)>;
-
-// [82]   "dech $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs DECH_ZPiI)>;
-
-// [83]   "decp $Rdn, $Pg";
-def : InstRW<[A64FXWrite_6Cyc_GI124], (instrs DECP_XP_B, DECP_XP_D, DECP_XP_H, DECP_XP_S)>;
-
-// [84]   "decp $Zdn, $Pg";
-def : InstRW<[A64FXWrite_12Cyc_GI01], (instrs DECP_ZP_D, DECP_ZP_H, DECP_ZP_S)>;
-
-// [85]   "decw $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs DECW_XPiI)>;
-
-// [86]   "decw $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs DECW_ZPiI)>;
-
-// [87]   "dup  $Zd, $Rn";
-def : InstRW<[A64FXWrite_8Cyc_GI01], (instrs DUP_ZR_B, DUP_ZR_D, DUP_ZR_H, DUP_ZR_S)>;
-
-// [88]   "dup  $Zd, $Zn$idx";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs DUP_ZZI_B, DUP_ZZI_D, DUP_ZZI_H, DUP_ZZI_Q, DUP_ZZI_S)>;
-
-// [89]   "dup  $Zd, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs DUP_ZI_B, DUP_ZI_D, DUP_ZI_H, DUP_ZI_S)>;
-
-// [90]   "dupm $Zd, $imms";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs DUPM_ZI)>;
-
-// [91]   "eor  $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs EOR_PPzPP)>;
-
-// [92]   "eor  $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs EOR_ZZZ)>;
-
-// [93]   "eor  $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs EOR_ZPmZ_B, EOR_ZPmZ_D, EOR_ZPmZ_H, EOR_ZPmZ_S)>;
-
-// [94]   "eor  $Zdn, $_Zdn, $imms13";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs EOR_ZI)>;
-
-// [95]   "eors $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs EORS_PPzPP)>;
-
-// [96]   "eorv $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs EORV_VPZ_B, EORV_VPZ_D, EORV_VPZ_H, EORV_VPZ_S)>;
-
-// [97]   "ext  $Zdn, $_Zdn, $Zm, $imm8";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs EXT_ZZI)>;
-
-// [99]   "fabd $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FABD_ZPmZ_D, FABD_ZPmZ_H, FABD_ZPmZ_S)>;
-
-// [100]   "fabs        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FABS_ZPmZ_D, FABS_ZPmZ_H, FABS_ZPmZ_S)>;
-
-// [101]   "facge       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FACGE_PPzZZ_D, FACGE_PPzZZ_H, FACGE_PPzZZ_S)>;
-
-// [102]   "facgt       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FACGT_PPzZZ_D, FACGT_PPzZZ_H, FACGT_PPzZZ_S)>;
-
-// [103]   "fadd        $Zd, $Zn, $Zm"; def is line 1638
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FADD_ZZZ_D, FADD_ZZZ_H, FADD_ZZZ_S)>;
-
-// [104]   "fadd        $Zdn, $Pg/m, $_Zdn, $Zm"; def is line 1638
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FADD_ZPmZ_D, FADD_ZPmZ_H, FADD_ZPmZ_S)>;
-
-// [105]   "fadd        $Zdn, $Pg/m, $_Zdn, $i1"; def is line 1638
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FADD_ZPmI_D, FADD_ZPmI_H, FADD_ZPmI_S)>;
-
-// [106]   "fadda       $Vdn, $Pg, $_Vdn, $Zm";
-def : InstRW<[A64FXWrite_18Cyc_GI03], (instrs FADDA_VPZ_D, FADDA_VPZ_H, FADDA_VPZ_S)>;
-
-// [107]   "faddv       $Vd, $Pg, $Zn";
-// H : 4 / 6 / ([1,2]9 / [1]6) x 4 / [1,2]9 = 75 cycle
-// S : 4 / 6 / ([1,2]9 / [1]6) x 3 / [1,2]9 = 60 cycle
-// D : 4 / 6 / ([1,2]9 / [1]6) x 2 / [1,2]9 = 45 cycle
-def : InstRW<[A64FXWrite_75Cyc_GI03], (instrs FADDV_VPZ_H)>;
-def : InstRW<[A64FXWrite_60Cyc_GI03], (instrs FADDV_VPZ_S)>;
-def : InstRW<[A64FXWrite_45Cyc_GI03], (instrs FADDV_VPZ_D)>;
-
-// [108]   "fcadd       $Zdn, $Pg/m, $_Zdn, $Zm, $imm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FCADD_ZPmZ_D, FCADD_ZPmZ_H, FCADD_ZPmZ_S)>;
-
-// [109]   "fcmeq       $Pd, $Pg/z, $Zn, #0.0";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMEQ_PPzZ0_D, FCMEQ_PPzZ0_H, FCMEQ_PPzZ0_S)>;
-
-// [110]   "fcmeq       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMEQ_PPzZZ_D, FCMEQ_PPzZZ_H, FCMEQ_PPzZZ_S)>;
-
-// [111]   "fcmge       $Pd, $Pg/z, $Zn, #0.0";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMGE_PPzZ0_D, FCMGE_PPzZ0_H, FCMGE_PPzZ0_S)>;
-
-// [112]   "fcmge       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMGE_PPzZZ_D, FCMGE_PPzZZ_H, FCMGE_PPzZZ_S)>;
-
-// [113]   "fcmgt       $Pd, $Pg/z, $Zn, #0.0";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMGT_PPzZ0_D, FCMGT_PPzZ0_H, FCMGT_PPzZ0_S)>;
-
-// [114]   "fcmgt       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMGT_PPzZZ_D, FCMGT_PPzZZ_H, FCMGT_PPzZZ_S)>;
-
-// [115]   "fcmla       $Zda, $Pg/m, $Zn, $Zm, $imm";
-def : InstRW<[A64FXWrite_15Cyc_GI03], (instrs FCMLA_ZPmZZ_D, FCMLA_ZPmZZ_H, FCMLA_ZPmZZ_S)>;
-
-// [116]   "fcmla       $Zda, $Zn, $Zm$iop, $imm";
-def : InstRW<[A64FXWrite_15Cyc_GI03], (instrs FCMLA_ZZZI_H, FCMLA_ZZZI_S)>;
-
-// [117]   "fcmle       $Pd, $Pg/z, $Zn, #0.0";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMLE_PPzZ0_D, FCMLE_PPzZ0_H, FCMLE_PPzZ0_S)>;
-
-// [118]   "fcmlt       $Pd, $Pg/z, $Zn, #0.0";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMLT_PPzZ0_D, FCMLT_PPzZ0_H, FCMLT_PPzZ0_S)>;
-
-// [119]   "fcmne       $Pd, $Pg/z, $Zn, #0.0";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMNE_PPzZ0_D, FCMNE_PPzZ0_H, FCMNE_PPzZ0_S)>;
-
-// [120]   "fcmne       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMNE_PPzZZ_D, FCMNE_PPzZZ_H, FCMNE_PPzZZ_S)>;
-
-// [121]   "fcmuo       $Pd, $Pg/z, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCMUO_PPzZZ_D, FCMUO_PPzZZ_H, FCMUO_PPzZZ_S)>;
-
-// [122]   "fcpy        $Zd, $Pg/m, $imm8";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FCPY_ZPmI_D, FCPY_ZPmI_H, FCPY_ZPmI_S)>;
-
-// [123]   "fcvt        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FCVT_ZPmZ_DtoH, FCVT_ZPmZ_DtoS, FCVT_ZPmZ_HtoD, FCVT_ZPmZ_HtoS, FCVT_ZPmZ_StoD, FCVT_ZPmZ_StoH)>;
-
-// [124]   "fcvtzs      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FCVTZS_ZPmZ_DtoD, FCVTZS_ZPmZ_DtoS, FCVTZS_ZPmZ_HtoD, FCVTZS_ZPmZ_HtoH, FCVTZS_ZPmZ_HtoS, FCVTZS_ZPmZ_StoD, FCVTZS_ZPmZ_StoS)>;
-
-// [125]   "fcvtzu      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FCVTZU_ZPmZ_DtoD, FCVTZU_ZPmZ_DtoS, FCVTZU_ZPmZ_HtoD, FCVTZU_ZPmZ_HtoH, FCVTZU_ZPmZ_HtoS, FCVTZU_ZPmZ_StoD, FCVTZU_ZPmZ_StoS)>;
-
-// [126]   "fdiv        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_154Cyc_GI0], (instrs FDIV_ZPmZ_D)>;
-def : InstRW<[A64FXWrite_134Cyc_GI0], (instrs FDIV_ZPmZ_H)>;
-def : InstRW<[A64FXWrite_98Cyc_GI0], (instrs FDIV_ZPmZ_S)>;
-
-// [127]   "fdivr       $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_154Cyc_GI0], (instrs FDIVR_ZPmZ_D)>;
-def : InstRW<[A64FXWrite_134Cyc_GI0], (instrs FDIVR_ZPmZ_H)>;
-def : InstRW<[A64FXWrite_98Cyc_GI0], (instrs FDIVR_ZPmZ_S)>;
-
-// [128]   "fdup        $Zd, $imm8";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FDUP_ZI_D, FDUP_ZI_H, FDUP_ZI_S)>;
-
-// [129]   "fexpa       $Zd, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FEXPA_ZZ_D, FEXPA_ZZ_H, FEXPA_ZZ_S)>;
-
-// [130]   "fmad        $Zdn, $Pg/m, $Zm, $Za";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FMAD_ZPmZZ_D, FMAD_ZPmZZ_H, FMAD_ZPmZZ_S)>;
-
-// [131]   "fmax        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FMAX_ZPmZ_D, FMAX_ZPmZ_H, FMAX_ZPmZ_S)>;
-
-// [132]   "fmax        $Zdn, $Pg/m, $_Zdn, $i1";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FMAX_ZPmI_D, FMAX_ZPmI_H, FMAX_ZPmI_S)>;
-
-// [133]   "fmaxnm      $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FMAXNM_ZPmZ_D, FMAXNM_ZPmZ_H, FMAXNM_ZPmZ_S)>;
-
-// [134]   "fmaxnm      $Zdn, $Pg/m, $_Zdn, $i1";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FMAXNM_ZPmI_D, FMAXNM_ZPmI_H, FMAXNM_ZPmI_S)>;
-
-// [135]   "fmaxnmv     $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_10Cyc_GI03], (instrs FMAXNMV_VPZ_D, FMAXNMV_VPZ_H, FMAXNMV_VPZ_S)>;
-
-// [136]   "fmaxv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_10Cyc_GI03], (instrs FMAXV_VPZ_D, FMAXV_VPZ_H, FMAXV_VPZ_S)>;
-
-// [137]   "fmin        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FMIN_ZPmZ_D, FMIN_ZPmZ_H, FMIN_ZPmZ_S)>;
-
-// [138]   "fmin        $Zdn, $Pg/m, $_Zdn, $i1";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FMIN_ZPmI_D, FMIN_ZPmI_H, FMIN_ZPmI_S)>;
-
-// [139]   "fminnm      $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FMINNM_ZPmZ_D, FMINNM_ZPmZ_H, FMINNM_ZPmZ_S)>;
-
-// [140]   "fminnm      $Zdn, $Pg/m, $_Zdn, $i1";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs FMINNM_ZPmI_D, FMINNM_ZPmI_H, FMINNM_ZPmI_S)>;
-
-// [141]   "fminnmv     $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_10Cyc_GI03], (instrs FMINNMV_VPZ_D, FMINNMV_VPZ_H, FMINNMV_VPZ_S)>;
-
-// [142]   "fminv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_10Cyc_GI03], (instrs FMINV_VPZ_D, FMINV_VPZ_H, FMINV_VPZ_S)>;
-
-// [143]   "fmla        $Zda, $Pg/m, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FMLA_ZPmZZ_D, FMLA_ZPmZZ_H, FMLA_ZPmZZ_S)>;
-
-// [144]   "fmla        $Zda, $Zn, $Zm$iop";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FMLA_ZZZI_D, FMLA_ZZZI_H, FMLA_ZZZI_S)>;
-
-// [145]   "fmls        $Zda, $Pg/m, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FMLS_ZPmZZ_D, FMLS_ZPmZZ_H, FMLS_ZPmZZ_S)>;
-
-// [146]   "fmls        $Zda, $Zn, $Zm$iop";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FMLS_ZZZI_D, FMLS_ZZZI_H, FMLS_ZZZI_S)>;
-
-// [147]   "fmsb        $Zdn, $Pg/m, $Zm, $Za";
-
-// [148]   "fmul        $Zd, $Zn, $Zm";
-
-// [149]   "fmul        $Zd, $Zn, $Zm$iop";
-
-// [150]   "fmul        $Zdn, $Pg/m, $_Zdn, $Zm";
-
-// [151]   "fmul        $Zdn, $Pg/m, $_Zdn, $i1";
-
-// [152]   "fmulx       $Zdn, $Pg/m, $_Zdn, $Zm";
-
-// [153]   "fneg        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FNEG_ZPmZ_D, FNEG_ZPmZ_H, FNEG_ZPmZ_S)>;
-
-// [154]   "fnmad       $Zdn, $Pg/m, $Zm, $Za";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FNMAD_ZPmZZ_D, FNMAD_ZPmZZ_H, FNMAD_ZPmZZ_S)>;
-
-// [155]   "fnmla       $Zda, $Pg/m, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FNMLA_ZPmZZ_D, FNMLA_ZPmZZ_H, FNMLA_ZPmZZ_S)>;
-
-// [156]   "fnmls       $Zda, $Pg/m, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FNMLS_ZPmZZ_D, FNMLS_ZPmZZ_H, FNMLS_ZPmZZ_S)>;
-
-// [157]   "fnmsb       $Zdn, $Pg/m, $Zm, $Za";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FNMSB_ZPmZZ_D, FNMSB_ZPmZZ_H, FNMSB_ZPmZZ_S)>;
-
-// [158]   "frecpe      $Zd, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FRECPE_ZZ_D, FRECPE_ZZ_H, FRECPE_ZZ_S)>;
-
-// [159]   "frecps      $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRECPS_ZZZ_D, FRECPS_ZZZ_H, FRECPS_ZZZ_S)>;
-
-// [160]   "frecpx      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FRECPX_ZPmZ_D, FRECPX_ZPmZ_H, FRECPX_ZPmZ_S)>;
-
-// [161]   "frinta      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTA_ZPmZ_D, FRINTA_ZPmZ_H, FRINTA_ZPmZ_S)>;
-
-// [162]   "frinti      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTI_ZPmZ_D, FRINTI_ZPmZ_H, FRINTI_ZPmZ_S)>;
-
-// [163]   "frintm      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTM_ZPmZ_D, FRINTM_ZPmZ_H, FRINTM_ZPmZ_S)>;
-
-// [164]   "frintn      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTN_ZPmZ_D, FRINTN_ZPmZ_H, FRINTN_ZPmZ_S)>;
-
-// [165]   "frintp      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTP_ZPmZ_D, FRINTP_ZPmZ_H, FRINTP_ZPmZ_S)>;
-
-// [166]   "frintx      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTX_ZPmZ_D, FRINTX_ZPmZ_H, FRINTX_ZPmZ_S)>;
-
-// [167]   "frintz      $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRINTZ_ZPmZ_D, FRINTZ_ZPmZ_H, FRINTZ_ZPmZ_S)>;
-
-// [168]   "frsqrte     $Zd, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FRSQRTE_ZZ_D, FRSQRTE_ZZ_H, FRSQRTE_ZZ_S)>;
-
-// [169]   "frsqrts     $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs FRSQRTS_ZZZ_D, FRSQRTS_ZZZ_H, FRSQRTS_ZZZ_S)>;
-
-// [170]   "fscale      $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FSCALE_ZPmZ_D, FSCALE_ZPmZ_H, FSCALE_ZPmZ_S)>;
-
-// [171]   "fsqrt       $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_154Cyc_GI0], (instrs FSQRT_ZPmZ_D)>;
-def : InstRW<[A64FXWrite_134Cyc_GI0], (instrs FSQRT_ZPmZ_H)>;
-def : InstRW<[A64FXWrite_98Cyc_GI0], (instrs FSQRT_ZPmZ_S)>;
-
-// [172]   "fsub        $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FSUB_ZZZ_D, FSUB_ZZZ_H, FSUB_ZZZ_S)>;
-
-// [173]   "fsub        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FSUB_ZPmZ_D, FSUB_ZPmZ_H, FSUB_ZPmZ_S)>;
-
-// [174]   "fsub        $Zdn, $Pg/m, $_Zdn, $i1";
-def : InstRW<[A64FXWrite_9Cyc_GI0], (instrs FSUB_ZPmI_D, FSUB_ZPmI_H, FSUB_ZPmI_S)>;
-
-// [175]   "fsubr       $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FSUBR_ZPmZ_D, FSUBR_ZPmZ_H, FSUBR_ZPmZ_S)>;
-
-// [176]   "fsubr       $Zdn, $Pg/m, $_Zdn, $i1";
-def : InstRW<[A64FXWrite_9Cyc_GI0], (instrs FSUBR_ZPmI_D, FSUBR_ZPmI_H, FSUBR_ZPmI_S)>;
-
-// [177]   "ftmad       $Zdn, $_Zdn, $Zm, $imm3";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FTMAD_ZZI_D, FTMAD_ZZI_H, FTMAD_ZZI_S)>;
-
-// [178]   "ftsmul      $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs FTSMUL_ZZZ_D, FTSMUL_ZZZ_H, FTSMUL_ZZZ_S)>;
-
-// [180]   "incb        $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs INCB_XPiI)>;
-
-// [181]   "incd        $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs INCD_XPiI)>;
-
-// [182]   "incd        $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs INCD_ZPiI)>;
-
-// [183]   "inch        $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs INCH_XPiI)>;
-
-// [184]   "inch        $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs INCH_ZPiI)>;
-
-// [185]   "incp        $Rdn, $Pg";
-def : InstRW<[A64FXWrite_6Cyc_GI124], (instrs INCP_XP_B, INCP_XP_D, INCP_XP_H, INCP_XP_S)>;
-
-// [186]   "incp        $Zdn, $Pg";
-def : InstRW<[A64FXWrite_12Cyc_GI01], (instrs INCP_ZP_D, INCP_ZP_H, INCP_ZP_S)>;
-
-// [187]   "incw        $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs INCW_XPiI)>;
-
-// [188]   "incw        $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs INCW_ZPiI)>;
-
-// [189]   "index       $Zd, $Rn, $Rm";
-def : InstRW<[A64FXWrite_17Cyc_GI02], (instrs INDEX_RR_B, INDEX_RR_D, INDEX_RR_H, INDEX_RR_S)>;
-
-// [190]   "index       $Zd, $Rn, $imm5";
-def : InstRW<[A64FXWrite_21Cyc_GI02], (instrs INDEX_RI_B, INDEX_RI_D, INDEX_RI_H, INDEX_RI_S)>;
-
-// [191]   "index       $Zd, $imm5, $Rm";
-def : InstRW<[A64FXWrite_21Cyc_GI02], (instrs INDEX_IR_B, INDEX_IR_D, INDEX_IR_H, INDEX_IR_S)>;
-
-// [192]   "index       $Zd, $imm5, $imm5b";
-def : InstRW<[A64FXWrite_13Cyc_GI0], (instrs INDEX_II_B, INDEX_II_D, INDEX_II_H, INDEX_II_S)>;
-
-// [193]   "insr        $Zdn, $Rm";
-def : InstRW<[A64FXWrite_10Cyc_GI02], (instrs INSR_ZR_B, INSR_ZR_D, INSR_ZR_H, INSR_ZR_S)>;
-
-// [194]   "insr        $Zdn, $Vm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs INSR_ZV_B, INSR_ZV_D, INSR_ZV_H, INSR_ZV_S)>;
-
-// [195]   "lasta       $Rd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_25Cyc_GI056], (instrs LASTA_RPZ_B, LASTA_RPZ_D, LASTA_RPZ_H, LASTA_RPZ_S)>;
-
-// [196]   "lasta       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs LASTA_VPZ_B, LASTA_VPZ_D, LASTA_VPZ_H, LASTA_VPZ_S)>;
-
-// [197]   "lastb       $Rd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_25Cyc_GI056], (instrs LASTB_RPZ_B, LASTB_RPZ_D, LASTB_RPZ_H, LASTB_RPZ_S)>;
-
-// [198]   "lastb       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs LASTB_VPZ_B, LASTB_VPZ_D, LASTB_VPZ_H, LASTB_VPZ_S)>;
-
-// [199]   "ld1b        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1B, LD1B_D, LD1B_H, LD1B_S)>;
-
-// [200]   "ld1b        $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1B_D_REAL, GLD1B_D_SXTW_REAL, GLD1B_D_UXTW_REAL, GLD1B_S_SXTW_REAL, GLD1B_S_UXTW_REAL)>;
-
-// [201]   "ld1b        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1B_D_IMM_REAL, LD1B_H_IMM_REAL, LD1B_IMM_REAL, LD1B_S_IMM_REAL)>;
-
-// [202]   "ld1b        $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1B_D_IMM_REAL, GLD1B_S_IMM_REAL)>;
-
-// [203]   "ld1d        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1D)>;
-
-// [204]   "ld1d        $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1D_REAL, GLD1D_SCALED_REAL, GLD1D_SXTW_REAL, GLD1D_SXTW_SCALED_REAL, GLD1D_UXTW_REAL, GLD1D_UXTW_SCALED_REAL)>;
-
-// [205]   "ld1d        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1D_IMM_REAL)>;
-
-// [206]   "ld1d        $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1D_IMM_REAL)>;
-
-// [207]   "ld1h        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1H, LD1H_D, LD1H_S)>;
-
-// [208]   "ld1h        $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1H_D_REAL, GLD1H_D_SCALED_REAL, GLD1H_D_SXTW_REAL, GLD1H_D_SXTW_SCALED_REAL, GLD1H_D_UXTW_REAL, GLD1H_D_UXTW_SCALED_REAL, GLD1H_S_SXTW_REAL, GLD1H_S_SXTW_SCALED_REAL, GLD1H_S_UXTW_REAL, GLD1H_S_UXTW_SCALED_REAL)>;
-
-// [209]   "ld1h        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1H_D_IMM_REAL, LD1H_IMM_REAL, LD1H_S_IMM_REAL)>;
-
-// [210]   "ld1h        $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1H_D_IMM_REAL, GLD1H_S_IMM_REAL)>;
-
-// [211]   "ld1rb       $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RB_D_IMM, LD1RB_H_IMM, LD1RB_IMM, LD1RB_S_IMM)>;
-
-// [212]   "ld1rd       $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RD_IMM)>;
-
-// [213]   "ld1rh       $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RH_D_IMM, LD1RH_IMM, LD1RH_S_IMM)>;
-
-// [214]   "ld1rqb      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_B)>;
-
-// [215]   "ld1rqb      $Zt, $Pg/z, [$Rn, $imm4]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_B_IMM)>;
-
-// [216]   "ld1rqd      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_D)>;
-
-// [217]   "ld1rqd      $Zt, $Pg/z, [$Rn, $imm4]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_D_IMM)>;
-
-// [218]   "ld1rqh      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_H)>;
-
-// [219]   "ld1rqh      $Zt, $Pg/z, [$Rn, $imm4]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_H_IMM)>;
-
-// [220]   "ld1rqw      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_W)>;
-
-// [221]   "ld1rqw      $Zt, $Pg/z, [$Rn, $imm4]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RQ_W_IMM)>;
-
-// [222]   "ld1rsb      $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RSB_D_IMM, LD1RSB_H_IMM, LD1RSB_S_IMM)>;
-
-// [223]   "ld1rsh      $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RSH_D_IMM, LD1RSH_S_IMM)>;
-
-// [224]   "ld1rsw      $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RSW_IMM)>;
-
-// [225]   "ld1rw       $Zt, $Pg/z, [$Rn, $imm6]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1RW_D_IMM, LD1RW_IMM)>;
-
-// [226]   "ld1sb       $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1SB_D, LD1SB_H, LD1SB_S)>;
-
-// [227]   "ld1sb       $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1SB_D_REAL, GLD1SB_D_SXTW_REAL, GLD1SB_D_UXTW_REAL, GLD1SB_S_SXTW_REAL, GLD1SB_S_UXTW_REAL)>;
-
-// [228]   "ld1sb       $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1SB_D_IMM_REAL, LD1SB_H_IMM_REAL, LD1SB_S_IMM_REAL)>;
-
-// [229]   "ld1sb       $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1SB_D_IMM_REAL, GLD1SB_S_IMM_REAL)>;
-
-// [230]   "ld1sh       $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1SH_D, LD1SH_S)>;
-
-// [231]   "ld1sh       $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1SH_D_REAL, GLD1SH_D_SCALED_REAL, GLD1SH_D_SXTW_REAL, GLD1SH_D_SXTW_SCALED_REAL, GLD1SH_D_UXTW_REAL, GLD1SH_D_UXTW_SCALED_REAL, GLD1SH_S_SXTW_REAL, GLD1SH_S_SXTW_SCALED_REAL, GLD1SH_S_UXTW_REAL, GLD1SH_S_UXTW_SCALED_REAL)>;
-
-// [232]   "ld1sh       $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1SH_D_IMM_REAL, LD1SH_S_IMM_REAL)>;
-
-// [233]   "ld1sh       $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1SH_D_IMM_REAL, GLD1SH_S_IMM_REAL)>;
-
-// [234]   "ld1sw       $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1SW_D)>;
-
-// [235]   "ld1sw       $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1SW_D_REAL, GLD1SW_D_SCALED_REAL, GLD1SW_D_SXTW_REAL, GLD1SW_D_SXTW_SCALED_REAL, GLD1SW_D_UXTW_REAL, GLD1SW_D_UXTW_SCALED_REAL)>;
-
-// [236]   "ld1sw       $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1SW_D_IMM_REAL)>;
-
-// [237]   "ld1sw       $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1SW_D_IMM_REAL)>;
-
-// [238]   "ld1w        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1W, LD1W_D)>;
-
-// [239]   "ld1w        $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLD1W_D_REAL, GLD1W_D_SCALED_REAL, GLD1W_D_SXTW_REAL, GLD1W_D_SXTW_SCALED_REAL, GLD1W_D_UXTW_REAL, GLD1W_D_UXTW_SCALED_REAL, GLD1W_SXTW_REAL, GLD1W_SXTW_SCALED_REAL, GLD1W_UXTW_REAL, GLD1W_UXTW_SCALED_REAL)>;
-
-// [240]   "ld1w        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD1W_D_IMM_REAL, LD1W_IMM_REAL)>;
-
-// [241]   "ld1w        $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLD1W_D_IMM_REAL, GLD1W_IMM_REAL)>;
-
-// [242]   "ld2b        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD2B)>;
-
-// [243]   "ld2b        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD2B_IMM)>;
-
-// [244]   "ld2d        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD2D)>;
-
-// [245]   "ld2d        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD2D_IMM)>;
-
-// [246]   "ld2h        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD2H)>;
-
-// [247]   "ld2h        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD2H_IMM)>;
-
-// [248]   "ld2w        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD2W)>;
-
-// [249]   "ld2w        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD2W_IMM)>;
-
-// [250]   "ld3b        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD3B)>;
-
-// [251]   "ld3b        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD3B_IMM)>;
-
-// [252]   "ld3d        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD3D)>;
-
-// [253]   "ld3d        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD3D_IMM)>;
-
-// [254]   "ld3h        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD3H)>;
-
-// [255]   "ld3h        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD3H_IMM)>;
-
-// [256]   "ld3w        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD3W)>;
-
-// [257]   "ld3w        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD3W_IMM)>;
-
-// [258]   "ld4b        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD4B)>;
-
-// [259]   "ld4b        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_44Cyc_GI56], (instrs LD4B_IMM)>;
-
-// [260]   "ld4d        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD4D)>;
-
-// [261]   "ld4d        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD4D_IMM)>;
-
-// [262]   "ld4h        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD4H)>;
-
-// [263]   "ld4h        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD4H_IMM)>;
-
-// [264]   "ld4w        $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD4W)>;
-
-// [265]   "ld4w        $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LD4W_IMM)>;
-
-// [266]   "ldff1b      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1B_D_REAL, LDFF1B_H_REAL, LDFF1B_REAL, LDFF1B_S_REAL)>;
-
-// [267]   "ldff1b      $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1B_D_REAL, GLDFF1B_D_SXTW_REAL, GLDFF1B_D_UXTW_REAL, GLDFF1B_S_SXTW_REAL, GLDFF1B_S_UXTW_REAL)>;
-
-// [268]   "ldff1b      $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1B_D_IMM_REAL, GLDFF1B_S_IMM_REAL)>;
-
-// [269]   "ldff1d      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1D_REAL)>;
-
-// [270]   "ldff1d      $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1D_REAL, GLDFF1D_SCALED_REAL, GLDFF1D_SXTW_REAL, GLDFF1D_SXTW_SCALED_REAL, GLDFF1D_UXTW_REAL, GLDFF1D_UXTW_SCALED_REAL)>;
-
-// [271]   "ldff1d      $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1D_IMM_REAL)>;
-
-// [272]   "ldff1h      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1H_D_REAL, LDFF1H_REAL, LDFF1H_S_REAL)>;
-
-// [273]   "ldff1h      $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1H_D_REAL, GLDFF1H_D_SCALED_REAL, GLDFF1H_D_SXTW_REAL, GLDFF1H_D_SXTW_SCALED_REAL, GLDFF1H_D_UXTW_REAL, GLDFF1H_D_UXTW_SCALED_REAL, GLDFF1H_S_SXTW_REAL, GLDFF1H_S_SXTW_SCALED_REAL, GLDFF1H_S_UXTW_REAL, GLDFF1H_S_UXTW_SCALED_REAL)>;
-
-// [274]   "ldff1h      $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1H_D_IMM_REAL, GLDFF1H_S_IMM_REAL)>;
-
-// [275]   "ldff1sb     $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1SB_D_REAL, LDFF1SB_H_REAL, LDFF1SB_S_REAL)>;
-
-// [276]   "ldff1sb     $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1SB_D_REAL, GLDFF1SB_D_SXTW_REAL, GLDFF1SB_D_UXTW_REAL, GLDFF1SB_S_SXTW_REAL, GLDFF1SB_S_UXTW_REAL)>;
-
-// [277]   "ldff1sb     $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1SB_D_IMM_REAL, GLDFF1SB_S_IMM_REAL)>;
-
-// [278]   "ldff1sh     $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1SH_D_REAL, LDFF1SH_S_REAL)>;
-
-// [279]   "ldff1sh     $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1SH_D_REAL, GLDFF1SH_D_SCALED_REAL, GLDFF1SH_D_SXTW_REAL, GLDFF1SH_D_SXTW_SCALED_REAL, GLDFF1SH_D_UXTW_REAL, GLDFF1SH_D_UXTW_SCALED_REAL, GLDFF1SH_S_SXTW_REAL, GLDFF1SH_S_SXTW_SCALED_REAL, GLDFF1SH_S_UXTW_REAL, GLDFF1SH_S_UXTW_SCALED_REAL)>;
-
-// [280]   "ldff1sh     $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1SH_D_IMM_REAL, GLDFF1SH_S_IMM_REAL)>;
-
-// [281]   "ldff1sw     $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1SW_D_REAL)>;
-
-// [282]   "ldff1sw     $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1SW_D_REAL, GLDFF1SW_D_SCALED_REAL, GLDFF1SW_D_SXTW_REAL, GLDFF1SW_D_SXTW_SCALED_REAL, GLDFF1SW_D_UXTW_REAL, GLDFF1SW_D_UXTW_SCALED_REAL)>;
-
-// [283]   "ldff1sw     $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1SW_D_IMM_REAL)>;
-
-// [284]   "ldff1w      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDFF1W_D_REAL, LDFF1W_REAL)>;
-
-// [285]   "ldff1w      $Zt, $Pg/z, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_19Cyc_GI0256], (instrs GLDFF1W_D_REAL, GLDFF1W_D_SCALED_REAL, GLDFF1W_D_SXTW_REAL, GLDFF1W_D_SXTW_SCALED_REAL, GLDFF1W_D_UXTW_REAL, GLDFF1W_D_UXTW_SCALED_REAL, GLDFF1W_SXTW_REAL, GLDFF1W_SXTW_SCALED_REAL, GLDFF1W_UXTW_REAL, GLDFF1W_UXTW_SCALED_REAL)>;
-
-// [286]   "ldff1w      $Zt, $Pg/z, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_15Cyc_GI056], (instrs GLDFF1W_D_IMM_REAL, GLDFF1W_IMM_REAL)>;
-
-// [287]   "ldnf1b      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1B_D_IMM_REAL, LDNF1B_H_IMM_REAL, LDNF1B_IMM_REAL, LDNF1B_S_IMM_REAL)>;
-
-// [288]   "ldnf1d      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1D_IMM_REAL)>;
-
-// [289]   "ldnf1h      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1H_D_IMM_REAL, LDNF1H_IMM_REAL, LDNF1H_S_IMM_REAL)>;
-
-// [290]   "ldnf1sb     $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1SB_D_IMM_REAL, LDNF1SB_H_IMM_REAL, LDNF1SB_S_IMM_REAL)>;
-
-// [291]   "ldnf1sh     $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1SH_D_IMM_REAL, LDNF1SH_S_IMM_REAL)>;
-
-// [292]   "ldnf1sw     $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1SW_D_IMM_REAL)>;
-
-// [293]   "ldnf1w      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNF1W_D_IMM_REAL, LDNF1W_IMM_REAL)>;
-
-// [294]   "ldnt1b      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1B_ZRR)>;
-
-// [295]   "ldnt1b      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1B_ZRI)>;
-
-// [296]   "ldnt1d      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1D_ZRR)>;
-
-// [297]   "ldnt1d      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1D_ZRI)>;
-
-// [298]   "ldnt1h      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1H_ZRR)>;
-
-// [299]   "ldnt1h      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1H_ZRI)>;
-
-// [300]   "ldnt1w      $Zt, $Pg/z, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1W_ZRR)>;
-
-// [301]   "ldnt1w      $Zt, $Pg/z, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI56], (instrs LDNT1W_ZRI)>;
-
-// [302]   "ldr $Pt, [$Rn, $imm9, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI5], (instrs LDR_PXI)>;
-
-// [303]   "ldr $Zt, [$Rn, $imm9, mul vl]";
-def : InstRW<[A64FXWrite_11Cyc_GI5], (instrs LDR_ZXI)>;
-
-// [304]   "lsl $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSL_WIDE_ZZZ_B, LSL_WIDE_ZZZ_H, LSL_WIDE_ZZZ_S)>;
-
-// [305]   "lsl $Zd, $Zn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSL_ZZI_B, LSL_ZZI_D, LSL_ZZI_H, LSL_ZZI_S)>;
-
-// [306]   "lsl $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSL_WIDE_ZPmZ_B, LSL_WIDE_ZPmZ_H, LSL_WIDE_ZPmZ_S, LSL_ZPmZ_B, LSL_ZPmZ_D, LSL_ZPmZ_H, LSL_ZPmZ_S)>;
-
-// [307]   "lsl $Zdn, $Pg/m, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSL_ZPmI_B, LSL_ZPmI_D, LSL_ZPmI_H, LSL_ZPmI_S)>;
-
-// [308]   "lslr        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSLR_ZPmZ_B, LSLR_ZPmZ_D, LSLR_ZPmZ_H, LSLR_ZPmZ_S)>;
-
-// [309]   "lsr $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSR_WIDE_ZZZ_B, LSR_WIDE_ZZZ_H, LSR_WIDE_ZZZ_S)>;
-
-// [310]   "lsr $Zd, $Zn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSR_ZZI_B, LSR_ZZI_D, LSR_ZZI_H, LSR_ZZI_S)>;
-
-// [311]   "lsr $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSR_WIDE_ZPmZ_B, LSR_WIDE_ZPmZ_H, LSR_WIDE_ZPmZ_S, LSR_ZPmZ_B, LSR_ZPmZ_D, LSR_ZPmZ_H, LSR_ZPmZ_S)>;
-
-// [312]   "lsr $Zdn, $Pg/m, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSR_ZPmI_B, LSR_ZPmI_D, LSR_ZPmI_H, LSR_ZPmI_S)>;
-
-// [313]   "lsrr        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs LSRR_ZPmZ_B, LSRR_ZPmZ_D, LSRR_ZPmZ_H, LSRR_ZPmZ_S)>;
-
-// [314]   "mad $Zdn, $Pg/m, $Zm, $Za";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs MAD_ZPmZZ_B, MAD_ZPmZZ_D, MAD_ZPmZZ_H, MAD_ZPmZZ_S)>;
-
-// [315]   "mla $Zda, $Pg/m, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs MLA_ZPmZZ_B, MLA_ZPmZZ_D, MLA_ZPmZZ_H, MLA_ZPmZZ_S)>;
-
-// [316]   "mls $Zda, $Pg/m, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs MLS_ZPmZZ_B, MLS_ZPmZZ_D, MLS_ZPmZZ_H, MLS_ZPmZZ_S)>;
-
-// [317]   "movprfx     $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs MOVPRFX_ZPmZ_B, MOVPRFX_ZPmZ_D, MOVPRFX_ZPmZ_H, MOVPRFX_ZPmZ_S)>;
-
-// [318]   "movprfx     $Zd, $Pg/z, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs MOVPRFX_ZPzZ_B, MOVPRFX_ZPzZ_D, MOVPRFX_ZPzZ_H, MOVPRFX_ZPzZ_S)>;
-
-// [319]   "movprfx     $Zd, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs MOVPRFX_ZZ)>;
-
-// [320]   "msb $Zdn, $Pg/m, $Zm, $Za";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs MSB_ZPmZZ_B, MSB_ZPmZZ_D, MSB_ZPmZZ_H, MSB_ZPmZZ_S)>;
-
-// [321]   "mul $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs MUL_ZPmZ_B, MUL_ZPmZ_D, MUL_ZPmZ_H, MUL_ZPmZ_S)>;
-
-// [322]   "mul $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_9Cyc_GI0], (instrs MUL_ZI_B, MUL_ZI_D, MUL_ZI_H, MUL_ZI_S)>;
-
-// [323]   "nand        $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs NAND_PPzPP)>;
-
-// [324]   "nands       $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs NANDS_PPzPP)>;
-
-// [325]   "neg $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs NEG_ZPmZ_B, NEG_ZPmZ_D, NEG_ZPmZ_H, NEG_ZPmZ_S)>;
-
-// [326]   "nor $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs NOR_PPzPP)>;
-
-// [327]   "nors        $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs NORS_PPzPP)>;
-
-// [328]   "not $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs NOT_ZPmZ_B, NOT_ZPmZ_D, NOT_ZPmZ_H, NOT_ZPmZ_S)>;
-
-// [329]   "orn $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs ORN_PPzPP)>;
-
-// [330]   "orns        $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs ORNS_PPzPP)>;
-
-// [331]   "orr $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs ORR_PPzPP)>;
-
-// [332]   "orr $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ORR_ZZZ)>;
-
-// [333]   "orr $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs ORR_ZPmZ_B, ORR_ZPmZ_D, ORR_ZPmZ_H, ORR_ZPmZ_S)>;
-
-// [334]   "orr $Zdn, $_Zdn, $imms13";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs ORR_ZI)>;
-
-// [335]   "orrs        $Pd, $Pg/z, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs ORRS_PPzPP)>;
-
-// [336]   "orv $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs ORV_VPZ_B, ORV_VPZ_D, ORV_VPZ_H, ORV_VPZ_S)>;
-
-// [337]   "pfalse      $Pd";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PFALSE)>;
-
-// [338]   "pnext       $Pdn, $Pg, $_Pdn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PNEXT_B, PNEXT_D, PNEXT_H, PNEXT_S)>;
-
-// [339]   "prfb        $prfop, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFB_PRR)>;
-
-// [340]   "prfb        $prfop, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_14Cyc_GI0256], (instrs PRFB_D_SCALED, PRFB_D_SXTW_SCALED, PRFB_D_UXTW_SCALED, PRFB_S_SXTW_SCALED, PRFB_S_UXTW_SCALED)>;
-
-// [341]   "prfb        $prfop, $Pg, [$Rn, $imm6, mul vl]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFB_PRI)>;
-
-// [342]   "prfb        $prfop, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_10Cyc_GI056], (instrs PRFB_D_PZI, PRFB_S_PZI)>;
-
-// [343]   "prfd        $prfop, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFD_PRR)>;
-
-// [344]   "prfd        $prfop, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_14Cyc_GI0256], (instrs PRFD_D_SCALED, PRFD_D_SXTW_SCALED, PRFD_D_UXTW_SCALED, PRFD_S_SXTW_SCALED, PRFD_S_UXTW_SCALED)>;
-
-// [345]   "prfd        $prfop, $Pg, [$Rn, $imm6, mul vl]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFD_PRI)>;
-
-// [346]   "prfd        $prfop, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_10Cyc_GI056], (instrs PRFD_D_PZI, PRFD_S_PZI)>;
-
-// [347]   "prfh        $prfop, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFH_PRR)>;
-
-// [348]   "prfh        $prfop, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_14Cyc_GI0256], (instrs PRFH_D_SCALED, PRFH_D_SXTW_SCALED, PRFH_D_UXTW_SCALED, PRFH_S_SXTW_SCALED, PRFH_S_UXTW_SCALED)>;
-
-// [349]   "prfh        $prfop, $Pg, [$Rn, $imm6, mul vl]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFH_PRI)>;
-
-// [350]   "prfh        $prfop, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_10Cyc_GI056], (instrs PRFH_D_PZI, PRFH_S_PZI)>;
-
-// [351]   "prfw        $prfop, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFW_PRR)>;
-
-// [352]   "prfw        $prfop, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_14Cyc_GI0256], (instrs PRFW_D_SCALED, PRFW_D_SXTW_SCALED, PRFW_D_UXTW_SCALED, PRFW_S_SXTW_SCALED, PRFW_S_UXTW_SCALED)>;
-
-// [353]   "prfw        $prfop, $Pg, [$Rn, $imm6, mul vl]";
-def : InstRW<[A64FXWrite_6Cyc_GI56], (instrs PRFW_PRI)>;
-
-// [354]   "prfw        $prfop, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_10Cyc_GI056], (instrs PRFW_D_PZI, PRFW_S_PZI)>;
-
-// [355]   "ptest       $Pg, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PTEST_PP)>;
-
-// [356]   "ptrue       $Pd, $pattern";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PTRUE_B, PTRUE_D, PTRUE_H, PTRUE_S)>;
-
-// [357]   "ptrues      $Pd, $pattern";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PTRUES_B, PTRUES_D, PTRUES_H, PTRUES_S)>;
-
-// [358]   "punpkhi     $Pd, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PUNPKHI_PP)>;
-
-// [359]   "punpklo     $Pd, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs PUNPKLO_PP)>;
-
-// [360]   "rbit        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs RBIT_ZPmZ_B, RBIT_ZPmZ_D, RBIT_ZPmZ_H, RBIT_ZPmZ_S)>;
-
-// [361]   "rdffr       $Pd";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs RDFFR_P)>;
-
-// [362]   "rdffr       $Pd, $Pg/z";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs RDFFR_PPz)>;
-
-// [363]   "rdffrs      $Pd, $Pg/z";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs RDFFRS_PPz)>;
-
-// [364]   "rdvl        $Rd, $imm6";
-def : InstRW<[A64FXWrite_1Cyc_GI24], (instrs RDVLI_XI)>;
-
-// [365]   "rev $Pd, $Pn";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs REV_PP_B, REV_PP_D, REV_PP_H, REV_PP_S)>;
-
-// [366]   "rev $Zd, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs REV_ZZ_B, REV_ZZ_D, REV_ZZ_H, REV_ZZ_S)>;
-
-// [367]   "revb        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs REVB_ZPmZ_D, REVB_ZPmZ_H, REVB_ZPmZ_S)>;
-
-// [368]   "revh        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs REVH_ZPmZ_D, REVH_ZPmZ_S)>;
-
-// [369]   "revw        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs REVW_ZPmZ_D)>;
-
-// [370]   "sabd        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SABD_ZPmZ_B, SABD_ZPmZ_D, SABD_ZPmZ_H, SABD_ZPmZ_S)>;
-
-// [371]   "saddv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_12Cyc_GI03], (instrs SADDV_VPZ_B, SADDV_VPZ_H, SADDV_VPZ_S)>;
-
-// [372]   "scvtf       $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs SCVTF_ZPmZ_DtoD, SCVTF_ZPmZ_DtoH, SCVTF_ZPmZ_DtoS, SCVTF_ZPmZ_HtoH, SCVTF_ZPmZ_StoD, SCVTF_ZPmZ_StoH, SCVTF_ZPmZ_StoS)>;
-
-// [373]   "sdiv        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_37Cyc_GI0], (instrs SDIV_ZPmZ_D, SDIV_ZPmZ_S)>;
-
-// [374]   "sdivr       $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_37Cyc_GI0], (instrs SDIVR_ZPmZ_D, SDIVR_ZPmZ_S)>;
-
-// [375]   "sdot        $Zda, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs SDOT_ZZZ_D, SDOT_ZZZ_S)>;
-
-// [376]   "sdot        $Zda, $Zn, $Zm$iop";
-def : InstRW<[A64FXWrite_15Cyc_NGI03], (instrs SDOT_ZZZI_D, SDOT_ZZZI_S)>;
-
-// [377]   "sel $Pd, $Pg, $Pn, $Pm";
-def : InstRW<[A64FXWrite_3Cyc_GI1], (instrs SEL_PPPP)>;
-
-// [378]   "sel $Zd, $Pg, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SEL_ZPZZ_B, SEL_ZPZZ_D, SEL_ZPZZ_H, SEL_ZPZZ_S)>;
-
-// [379]   "setffr";
-def : InstRW<[A64FXWrite_6Cyc], (instrs SETFFR)>;
-
-// [380]   "smax        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SMAX_ZPmZ_B, SMAX_ZPmZ_D, SMAX_ZPmZ_H, SMAX_ZPmZ_S)>;
-
-// [381]   "smax        $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs SMAX_ZI_B, SMAX_ZI_D, SMAX_ZI_H, SMAX_ZI_S)>;
-
-// [382]   "smaxv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs SMAXV_VPZ_B, SMAXV_VPZ_D, SMAXV_VPZ_H, SMAXV_VPZ_S)>;
-
-// [383]   "smin        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SMIN_ZPmZ_B, SMIN_ZPmZ_D, SMIN_ZPmZ_H, SMIN_ZPmZ_S)>;
-
-// [384]   "smin        $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs SMIN_ZI_B, SMIN_ZI_D, SMIN_ZI_H, SMIN_ZI_S)>;
-
-// [385]   "sminv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs SMINV_VPZ_B, SMINV_VPZ_D, SMINV_VPZ_H, SMINV_VPZ_S)>;
-
-// [386]   "smulh       $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs SMULH_ZPmZ_B, SMULH_ZPmZ_D, SMULH_ZPmZ_H, SMULH_ZPmZ_S)>;
-
-// [387]   "splice      $Zdn, $Pg, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs SPLICE_ZPZ_B, SPLICE_ZPZ_D, SPLICE_ZPZ_H, SPLICE_ZPZ_S)>;
-
-// [388]   "sqadd       $Zd, $Zn, $Zm";
-
-// [389]   "sqadd       $Zdn, $_Zdn, $imm";
-
-// [390]   "sqdecb      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECB_XPiWdI)>;
-
-// [391]   "sqdecb      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECB_XPiI)>;
-
-// [392]   "sqdecd      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECD_XPiWdI)>;
-
-// [393]   "sqdecd      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECD_XPiI)>;
-
-// [394]   "sqdecd      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SQDECD_ZPiI)>;
-
-// [395]   "sqdech      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECH_XPiWdI)>;
-
-// [396]   "sqdech      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECH_XPiI)>;
-
-// [397]   "sqdech      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SQDECH_ZPiI)>;
-
-// [398]   "sqdecp      $Rdn, $Pg";
-def : InstRW<[A64FXWrite_8Cyc_GI124], (instrs SQDECP_XP_B, SQDECP_XP_D, SQDECP_XP_H, SQDECP_XP_S)>;
-
-// [399]   "sqdecp      $Rdn, $Pg, $_Rdn";
-def : InstRW<[A64FXWrite_8Cyc_GI124], (instrs SQDECP_XPWd_B, SQDECP_XPWd_D, SQDECP_XPWd_H, SQDECP_XPWd_S)>;
-
-// [400]   "sqdecp      $Zdn, $Pg";
-def : InstRW<[A64FXWrite_12Cyc_GI01], (instrs SQDECP_ZP_D, SQDECP_ZP_H, SQDECP_ZP_S)>;
-
-// [401]   "sqdecw      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECW_XPiWdI)>;
-
-// [402]   "sqdecw      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQDECW_XPiI)>;
-
-// [403]   "sqdecw      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SQDECW_ZPiI)>;
-
-// [404]   "sqincb      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCB_XPiWdI)>;
-
-// [405]   "sqincb      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCB_XPiI)>;
-
-// [406]   "sqincd      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCD_XPiWdI)>;
-
-// [407]   "sqincd      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCD_XPiI)>;
-
-// [408]   "sqincd      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SQINCD_ZPiI)>;
-
-// [409]   "sqinch      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCH_XPiWdI)>;
-
-// [410]   "sqinch      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCH_XPiI)>;
-
-// [411]   "sqinch      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SQINCH_ZPiI)>;
-
-// [412]   "sqincp      $Rdn, $Pg";
-def : InstRW<[A64FXWrite_8Cyc_GI124], (instrs SQINCP_XP_B, SQINCP_XP_D, SQINCP_XP_H, SQINCP_XP_S)>;
-
-// [413]   "sqincp      $Rdn, $Pg, $_Rdn";
-def : InstRW<[A64FXWrite_8Cyc_GI124], (instrs SQINCP_XPWd_B, SQINCP_XPWd_D, SQINCP_XPWd_H, SQINCP_XPWd_S)>;
-
-// [414]   "sqincp      $Zdn, $Pg";
-def : InstRW<[A64FXWrite_12Cyc_GI01], (instrs SQINCP_ZP_D, SQINCP_ZP_H, SQINCP_ZP_S)>;
-
-// [415]   "sqincw      $Rdn, $_Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCW_XPiWdI)>;
-
-// [416]   "sqincw      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs SQINCW_XPiI)>;
-
-// [417]   "sqincw      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SQINCW_ZPiI)>;
-
-// [418]   "sqsub       $Zd, $Zn, $Zm";
-
-// [419]   "sqsub       $Zdn, $_Zdn, $imm";
-
-// [420]   "st1b        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1B, ST1B_D, ST1B_H, ST1B_S)>;
-
-// [421]   "st1b        $Zt, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_ST1W_19], (instrs SST1B_D, SST1B_D_SXTW, SST1B_D_UXTW, SST1B_S_SXTW, SST1B_S_UXTW)>;
-
-// [422]   "st1b        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1B_D_IMM, ST1B_H_IMM, ST1B_IMM, ST1B_S_IMM)>;
-
-// [423]   "st1b        $Zt, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_ST1W_15], (instrs SST1B_D_IMM, SST1B_S_IMM)>;
-
-// [424]   "st1d        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1D)>;
-
-// [425]   "st1d        $Zt, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_ST1W_19], (instrs SST1D, SST1D_SCALED, SST1D_SXTW, SST1D_SXTW_SCALED, SST1D_UXTW, SST1D_UXTW_SCALED)>;
-
-// [426]   "st1d        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1D_IMM)>;
-
-// [427]   "st1d        $Zt, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_ST1W_15], (instrs SST1D_IMM)>;
-
-// [428]   "st1h        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1H, ST1H_D, ST1H_S)>;
-
-// [429]   "st1h        $Zt, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_ST1W_19], (instrs SST1H_D, SST1H_D_SCALED, SST1H_D_SXTW, SST1H_D_SXTW_SCALED, SST1H_D_UXTW, SST1H_D_UXTW_SCALED, SST1H_S_SXTW, SST1H_S_SXTW_SCALED, SST1H_S_UXTW, SST1H_S_UXTW_SCALED)>;
-
-// [430]   "st1h        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1H_D_IMM, ST1H_IMM, ST1H_S_IMM)>;
-
-// [431]   "st1h        $Zt, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_ST1W_15], (instrs SST1H_D_IMM, SST1H_S_IMM)>;
-
-// [432]   "st1w        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1W, ST1W_D)>;
-
-// [433]   "st1w        $Zt, $Pg, [$Rn, $Zm]";
-def : InstRW<[A64FXWrite_ST1W_19], (instrs SST1W_D, SST1W_D_SCALED, SST1W_D_SXTW, SST1W_D_SXTW_SCALED, SST1W_D_UXTW, SST1W_D_UXTW_SCALED, SST1W_SXTW, SST1W_SXTW_SCALED, SST1W_UXTW, SST1W_UXTW_SCALED)>;
-
-// [434]   "st1w        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs ST1W_D_IMM, ST1W_IMM)>;
-
-// [435]   "st1w        $Zt, $Pg, [$Zn, $imm5]";
-def : InstRW<[A64FXWrite_ST1W_15], (instrs SST1W_D_IMM, SST1W_IMM)>;
-
-// [436]   "st2b        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2B)>;
-
-// [437]   "st2b        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2B_IMM)>;
-
-// [438]   "st2d        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2D)>;
-
-// [439]   "st2d        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2D_IMM)>;
-
-// [440]   "st2h        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2H)>;
-
-// [441]   "st2h        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2H_IMM)>;
-
-// [442]   "st2w        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2W)>;
-
-// [443]   "st2w        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST2W_7], (instrs ST2W_IMM)>;
-
-// [444]   "st3b        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3B)>;
-
-// [445]   "st3b        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3B_IMM)>;
-
-// [446]   "st3d        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3D)>;
-
-// [447]   "st3d        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3D_IMM)>;
-
-// [448]   "st3h        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3H)>;
-
-// [449]   "st3h        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3H_IMM)>;
-
-// [450]   "st3w        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3W)>;
-
-// [451]   "st3w        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST3W_8], (instrs ST3W_IMM)>;
-
-// [452]   "st4b        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4B)>;
-
-// [453]   "st4b        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4B_IMM)>;
-
-// [454]   "st4d        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4D)>;
-
-// [455]   "st4d        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4D_IMM)>;
-
-// [456]   "st4h        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4H)>;
-
-// [457]   "st4h        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4H_IMM)>;
-
-// [458]   "st4w        $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4W)>;
-
-// [459]   "st4w        $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST4W_9], (instrs ST4W_IMM)>;
-
-// [460]   "stnt1b      $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1B_ZRR)>;
-
-// [461]   "stnt1b      $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1B_ZRI)>;
-
-// [462]   "stnt1d      $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1D_ZRR)>;
-
-// [463]   "stnt1d      $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1D_ZRI)>;
-
-// [464]   "stnt1h      $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1H_ZRR)>;
-
-// [465]   "stnt1h      $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1H_ZRI)>;
-
-// [466]   "stnt1w      $Zt, $Pg, [$Rn, $Rm]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1W_ZRR)>;
-
-// [467]   "stnt1w      $Zt, $Pg, [$Rn, $imm4, mul vl]";
-def : InstRW<[A64FXWrite_ST1W_6], (instrs STNT1W_ZRI)>;
-
-// [468]   "str $Pt, [$Rn, $imm9, mul vl]";
-def : InstRW<[A64FXWrite_6Cyc_GI15], (instrs STR_PXI)>;
-
-// [469]   "str $Zt, [$Rn, $imm9, mul vl]";
-def : InstRW<[A64FXWrite_6Cyc_GI05], (instrs STR_ZXI)>;
-
-// [470]   "sub $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SUB_ZZZ_B, SUB_ZZZ_D, SUB_ZZZ_H, SUB_ZZZ_S)>;
-
-// [471]   "sub $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SUB_ZPmZ_B, SUB_ZPmZ_D, SUB_ZPmZ_H, SUB_ZPmZ_S)>;
-
-// [472]   "sub $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SUB_ZI_B, SUB_ZI_D, SUB_ZI_H, SUB_ZI_S)>;
-
-// [473]   "subr        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SUBR_ZPmZ_B, SUBR_ZPmZ_D, SUBR_ZPmZ_H, SUBR_ZPmZ_S)>;
-
-// [474]   "subr        $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs SUBR_ZI_B, SUBR_ZI_D, SUBR_ZI_H, SUBR_ZI_S)>;
-
-// [475]   "sunpkhi     $Zd, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs SUNPKHI_ZZ_D, SUNPKHI_ZZ_H, SUNPKHI_ZZ_S)>;
-
-// [476]   "sunpklo     $Zd, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs SUNPKLO_ZZ_D, SUNPKLO_ZZ_H, SUNPKLO_ZZ_S)>;
-
-// [477]   "sxtb        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SXTB_ZPmZ_D, SXTB_ZPmZ_H, SXTB_ZPmZ_S)>;
-
-// [478]   "sxth        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SXTH_ZPmZ_D, SXTH_ZPmZ_S)>;
-
-// [479]   "sxtw        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs SXTW_ZPmZ_D)>;
-
-// [480]   "tbl $Zd, $Zn, $Zm";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs TBL_ZZZ_B, TBL_ZZZ_D, TBL_ZZZ_H, TBL_ZZZ_S)>;
-
-// [481]   "trn1        $Pd, $Pn, $Pm";
-
-// [482]   "trn1        $Zd, $Zn, $Zm";
-
-// [483]   "trn2        $Pd, $Pn, $Pm";
-
-// [484]   "trn2        $Zd, $Zn, $Zm";
-
-// [486]   "uabd        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UABD_ZPmZ_B, UABD_ZPmZ_D, UABD_ZPmZ_H, UABD_ZPmZ_S)>;
-
-// [487]   "uaddv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_12Cyc_GI03], (instrs UADDV_VPZ_B, UADDV_VPZ_D, UADDV_VPZ_H, UADDV_VPZ_S)>;
-
-// [488]   "ucvtf       $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs UCVTF_ZPmZ_DtoD, UCVTF_ZPmZ_DtoH, UCVTF_ZPmZ_DtoS, UCVTF_ZPmZ_HtoH, UCVTF_ZPmZ_StoD, UCVTF_ZPmZ_StoH, UCVTF_ZPmZ_StoS)>;
-
-// [489]   "udiv        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_37Cyc_GI0], (instrs UDIV_ZPmZ_D, UDIV_ZPmZ_S)>;
-
-// [490]   "udivr       $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_37Cyc_GI0], (instrs UDIVR_ZPmZ_D, UDIVR_ZPmZ_S)>;
-
-// [491]   "udot        $Zda, $Zn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs UDOT_ZZZ_D, UDOT_ZZZ_S)>;
-
-// [492]   "udot        $Zda, $Zn, $Zm$iop";
-def : InstRW<[A64FXWrite_15Cyc_NGI03], (instrs UDOT_ZZZI_D, UDOT_ZZZI_S)>;
-
-// [493]   "umax        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UMAX_ZPmZ_B, UMAX_ZPmZ_D, UMAX_ZPmZ_H, UMAX_ZPmZ_S)>;
+def A64FXWrite_INDEX_II_BH : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 13;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2];
+}
+def : InstRW<[A64FXWrite_INDEX_II_BH], (instregex "^INDEX_II_[BH]")>;
 
-// [494]   "umax        $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs UMAX_ZI_B, UMAX_ZI_D, UMAX_ZI_H, UMAX_ZI_S)>;
+def A64FXWrite_INDEX_RR_BH : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI3]> {
+  let Latency = 17;
+  let NumMicroOps = 3;
+  let ResourceCycles = [2, 2, 1];
+}
+def : InstRW<[A64FXWrite_INDEX_RR_BH], (instregex "^INDEX_RR_[BH]")>;
 
-// [495]   "umaxv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs UMAXV_VPZ_B, UMAXV_VPZ_D, UMAXV_VPZ_H, UMAXV_VPZ_S)>;
+def A64FXWrite_INDEX_RR_SD : SchedWriteRes<[A64FXGI0, A64FXGI2]> {
+  let Latency = 17;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2, 1];
+}
+def : InstRW<[A64FXWrite_INDEX_RR_SD], (instregex "^INDEX_RR_[SD]")>;
 
-// [496]   "umin        $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UMIN_ZPmZ_B, UMIN_ZPmZ_D, UMIN_ZPmZ_H, UMIN_ZPmZ_S)>;
+def A64FXWrite_INSR_ZR : SchedWriteRes<[A64FXGI0, A64FXGI2]> {
+  let Latency = 10;
+}
+def : InstRW<[A64FXWrite_INSR_ZR], (instregex "^INSR_ZR")>;
 
-// [497]   "umin        $Zdn, $_Zdn, $imm";
-def : InstRW<[A64FXWrite_4Cyc_GI0], (instrs UMIN_ZI_B, UMIN_ZI_D, UMIN_ZI_H, UMIN_ZI_S)>;
+def A64FXWrite_LAST_R : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 25;
+}
+def : InstRW<[A64FXWrite_CLAST_R], (instregex "^LAST[AB]_R")>;
 
-// [498]   "uminv       $Vd, $Pg, $Zn";
-def : InstRW<[A64FXWrite_14Cyc_GI03], (instrs UMINV_VPZ_B, UMINV_VPZ_D, UMINV_VPZ_H, UMINV_VPZ_S)>;
+def A64FXWrite_GLD_S_ZI : SchedWriteRes<[A64FXGI0, A64FXGI5, A64FXGI6]> {
+  let Latency = 19;
+  let ResourceCycles = [2, 4, 4];
+}
+def : InstRW<[A64FXWrite_GLD_S_ZI],
+      (instregex "^GLD(FF)?1W_IMM", "^GLD(FF)?1S?[BHW]_S_IMM")>;
 
-// [499]   "umulh       $Zdn, $Pg/m, $_Zdn, $Zm";
-def : InstRW<[A64FXWrite_9Cyc_GI03], (instrs UMULH_ZPmZ_B, UMULH_ZPmZ_D, UMULH_ZPmZ_H, UMULH_ZPmZ_S)>;
+def A64FXWrite_GLD_D_ZI : SchedWriteRes<[A64FXGI0, A64FXGI5, A64FXGI6]> {
+  let Latency = 16;
+  let ResourceCycles = [1, 2, 2];
+}
+def : InstRW<[A64FXWrite_GLD_D_ZI],
+      (instregex "^GLD(FF)?1D_IMM", "^GLD(FF)?1S?[BHW]_D_IMM")>;
 
-// [500]   "uqadd       $Zd, $Zn, $Zm";
+def A64FXWrite_GLD_S_RZ : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI5, A64FXGI6]> {
+  let Latency = 23;
+  let ResourceCycles = [2, 1, 4, 4];
+}
+def : InstRW<[A64FXWrite_GLD_S_RZ],
+      (instregex "^GLD(FF)?1W_[^DI]", "^GLD(FF)?1S?[BHW]_S_[^I]")>;
 
-// [501]   "uqadd       $Zdn, $_Zdn, $imm";
+def A64FXWrite_GLD_D_RZ : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI5, A64FXGI6]> {
+  let Latency = 20;
+  let ResourceCycles = [1, 1, 2, 2];
+}
+def : InstRW<[A64FXWrite_GLD_D_RZ],
+      (instregex "^GLD(FF)?1D_[^I]", "^GLD(FF)?1D$", "^GLD(FF)?1S?[BHW]_D_[^I]",
+                 "^GLD(FF)?1S?[BHW]_D$")>;
 
-// [502]   "uqdecb      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQDECB_WPiI, UQDECB_XPiI)>;
+def A64FXWrite_LD2_BH : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 15;
+  let NumMicroOps = 3;
+  let ResourceCycles = [9];
+}
+def : InstRW<[A64FXWrite_LD2_BH], (instregex "^LD2[BH]")>;
 
-// [503]   "uqdecd      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQDECD_WPiI, UQDECD_XPiI)>;
+def A64FXWrite_LD2_WD_IMM : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 11;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2];
+}
+def : InstRW<[A64FXWrite_LD2_WD_IMM], (instregex "^LD2[WD]_IMM")>;
 
-// [504]   "uqdecd      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQDECD_ZPiI)>;
+def A64FXWrite_LD2_WD : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 3;
+  let ResourceCycles = [3];
+}
+def : InstRW<[A64FXWrite_LD2_WD], (instregex "^LD2[WD]$")>;
 
-// [505]   "uqdech      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQDECH_WPiI, UQDECH_XPiI)>;
+def A64FXWrite_LD3_BH : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 15;
+  let NumMicroOps = 4;
+  let ResourceCycles = [13];
+}
+def : InstRW<[A64FXWrite_LD3_BH], (instregex "^LD3[BH]")>;
 
-// [506]   "uqdech      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQDECH_ZPiI)>;
+def A64FXWrite_LD3_WD_IMM : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 11;
+  let NumMicroOps = 3;
+  let ResourceCycles = [3];
+}
+def : InstRW<[A64FXWrite_LD3_WD_IMM], (instregex "^LD3[WD]_IMM")>;
 
-// [507]   "uqdecp      $Rdn, $Pg";
-def : InstRW<[A64FXWrite_8Cyc_GI124], (instrs UQDECP_WP_B, UQDECP_WP_D, UQDECP_WP_H, UQDECP_WP_S, UQDECP_XP_B, UQDECP_XP_D, UQDECP_XP_H, UQDECP_XP_S)>;
+def A64FXWrite_LD3_WD : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 4;
+  let ResourceCycles = [4];
+}
+def : InstRW<[A64FXWrite_LD3_WD], (instregex "^LD3[WD]$")>;
 
-// [508]   "uqdecp      $Zdn, $Pg";
-def : InstRW<[A64FXWrite_12Cyc_GI01], (instrs UQDECP_ZP_D, UQDECP_ZP_H, UQDECP_ZP_S)>;
+def A64FXWrite_LD4_BH : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 15;
+  let NumMicroOps = 5;
+  let ResourceCycles = [17];
+}
+def : InstRW<[A64FXWrite_LD4_BH], (instregex "^LD4[BH]")>;
 
-// [509]   "uqdecw      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQDECW_WPiI, UQDECW_XPiI)>;
+def A64FXWrite_LD4_WD_IMM : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 11;
+  let NumMicroOps = 4;
+  let ResourceCycles = [4];
+}
+def : InstRW<[A64FXWrite_LD4_WD_IMM], (instregex "^LD4[WD]_IMM")>;
 
-// [510]   "uqdecw      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQDECW_ZPiI)>;
+def A64FXWrite_LD4_WD : SchedWriteRes<[A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 5;
+  let ResourceCycles = [5];
+}
+def : InstRW<[A64FXWrite_LD4_WD], (instregex "^LD4[WD]$")>;
 
-// [511]   "uqincb      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQINCB_WPiI, UQINCB_XPiI)>;
+def A64FXWrite_PRF : SchedWriteRes<[A64FXGI56]> {
+}
+def : InstRW<[A64FXWrite_PRF], (instregex "^PRF._PR")>;
 
-// [512]   "uqincd      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQINCD_WPiI, UQINCD_XPiI)>;
+def A64FXWrite_PRF_W_RZ : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI56]> {
+  let ResourceCycles = [2, 1, 4];
+}
+def : InstRW<[A64FXWrite_PRF_W_RZ], (instregex "^PRF._S_[^P]")>;
 
-// [513]   "uqincd      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQINCD_ZPiI)>;
+def A64FXWrite_PRF_W_ZI : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let ResourceCycles = [2, 4];
+}
+def : InstRW<[A64FXWrite_PRF_W_ZI], (instregex "^PRF._S_PZI")>;
 
-// [514]   "uqinch      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQINCH_WPiI, UQINCH_XPiI)>;
+def A64FXWrite_PRF_D_RZ : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI56]> {
+  let ResourceCycles = [1, 1, 2];
+}
+def : InstRW<[A64FXWrite_PRF_D_RZ], (instregex "^PRF._D_[^P]")>;
 
-// [515]   "uqinch      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQINCH_ZPiI)>;
+def A64FXWrite_PRF_D_ZI : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let ResourceCycles = [1, 2];
+}
+def : InstRW<[A64FXWrite_PRF_D_ZI], (instregex "^PRF._D_PZI")>;
 
-// [516]   "uqincp      $Rdn, $Pg";
-def : InstRW<[A64FXWrite_8Cyc_GI124], (instrs UQINCP_WP_B, UQINCP_WP_D, UQINCP_WP_H, UQINCP_WP_S, UQINCP_XP_B, UQINCP_XP_D, UQINCP_XP_H, UQINCP_XP_S)>;
+def A64FXWrite_SDIV_S : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 114;
+  let ResourceCycles = [114];
+}
+def : InstRW<[A64FXWrite_SDIV_S], (instregex "^[SU]DIVR?.*_S")>;
 
-// [517]   "uqincp      $Zdn, $Pg";
-def : InstRW<[A64FXWrite_12Cyc_GI01], (instrs UQINCP_ZP_D, UQINCP_ZP_H, UQINCP_ZP_S)>;
+def A64FXWrite_SDIV_D : SchedWriteRes<[A64FXGI0]> {
+  let Latency = 178;
+  let ResourceCycles = [178];
+}
+def : InstRW<[A64FXWrite_SDIV_D], (instregex "^[SU]DIVR?.*_D")>;
 
-// [518]   "uqincw      $Rdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_2Cyc_GI24], (instrs UQINCW_WPiI, UQINCW_XPiI)>;
+def A64FXWrite_SDOT_I : SchedWriteRes<[A64FXGI0, A64FXGI3]> {
+  let Latency = 15;
+  let NumMicroOps = 2;
+}
+def : InstRW<[A64FXWrite_SDOT_I], (instregex "^[SU]DOT_ZZZI")>;
 
-// [519]   "uqincw      $Zdn, $pattern, mul $imm4";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQINCW_ZPiI)>;
+def A64FXWrite_SQINC_Scalar : SchedWriteRes<[A64FXGI24]> {
+  let Latency = 2;
+  let ResourceCycles = [2];
+}
+def : InstRW<[A64FXWrite_SQINC_Scalar], (instregex "^[SU]Q(INC|DEC)[BHWD]_[WX]")>;
 
-// [520]   "uqsub       $Zd, $Zn, $Zm";
-//@@@ def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQSUB_ZZZ_B, UQSUB_ZZZ_D, UQSUB_ZZZ_H, UQSUB_ZZZ_S)>;
+def A64FXWrite_SQINCP_X : SchedWriteRes<[A64FXGI24, A64FXGI3]> {
+  let Latency = 6;
+  let NumMicroOps = 2;
+  let ResourceCycles = [3, 1];
+}
+def : InstRW<[A64FXWrite_SQINCP_X], (instregex "^[SU]Q(INC|DEC)P_[WX]")>;
 
-// [521]   "uqsub       $Zdn, $_Zdn, $imm";
-//@@@ def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UQSUB_ZI_B, UQSUB_ZI_D, UQSUB_ZI_H, UQSUB_ZI_S)>;
+def A64FXWrite_SQINCP_Z : SchedWriteRes<[A64FXGI24, A64FXGI3]> {
+  let Latency = 12;
+}
+def : InstRW<[A64FXWrite_SQINCP_Z], (instregex "^[SU]Q(INC|DEC)P_Z")>;
 
-// [522]   "uunpkhi     $Zd, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs UUNPKHI_ZZ_D, UUNPKHI_ZZ_H, UUNPKHI_ZZ_S)>;
+def A64FXWrite_ST1 : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 11;
+}
+def : InstRW<[A64FXWrite_ST1], (instregex "^ST(NT)?1[BHWD]")>;
 
-// [523]   "uunpklo     $Zd, $Zn";
-def : InstRW<[A64FXWrite_6Cyc_GI0], (instrs UUNPKLO_ZZ_D, UUNPKLO_ZZ_H, UUNPKLO_ZZ_S)>;
+def A64FXWrite_SST1_W_RZ : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI5, A64FXGI6]> {
+  let Latency = 20;
+  let NumMicroOps = 8;
+  let ResourceCycles = [8, 8, 8, 8];
+}
+def : InstRW<[A64FXWrite_SST1_W_RZ],
+      (instregex "^SST1[BH]_S(_[^I]|$)", "^SST1W(_[^ID]|$)")>;
 
-// [524]   "uxtb        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UXTB_ZPmZ_D, UXTB_ZPmZ_H, UXTB_ZPmZ_S)>;
+def A64FXWrite_SST1_D_RZ : SchedWriteRes<[A64FXGI0, A64FXGI2, A64FXGI5, A64FXGI6]> {
+  let Latency = 20;
+  let NumMicroOps = 4;
+  let ResourceCycles = [4, 4, 4, 4];
+}
+def : InstRW<[A64FXWrite_SST1_D_RZ],
+      (instregex "^SST1[BHW]_D(_[^I]|$)", "^SST1D(_[^I]|$)")>;
 
-// [525]   "uxth        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UXTH_ZPmZ_D, UXTH_ZPmZ_S)>;
+def A64FXWrite_SST1_W_ZI : SchedWriteRes<[A64FXGI0, A64FXGI5, A64FXGI6]> {
+  let Latency = 16;
+  let NumMicroOps = 8;
+  let ResourceCycles = [12, 8, 8];
+}
+def : InstRW<[A64FXWrite_SST1_W_ZI],
+      (instregex "^SST1[BH]_S_I", "^SST1W_I")>;
 
-// [526]   "uxtw        $Zd, $Pg/m, $Zn";
-def : InstRW<[A64FXWrite_4Cyc_GI03], (instrs UXTW_ZPmZ_D)>;
+def A64FXWrite_SST1_D_ZI : SchedWriteRes<[A64FXGI0, A64FXGI5, A64FXGI6]> {
+  let Latency = 16;
+  let NumMicroOps = 4;
+  let ResourceCycles = [4, 4, 4];
+}
+def : InstRW<[A64FXWrite_SST1_D_ZI],
+      (instregex "^SST1[BHW]_D_I", "^SST1D_I")>;
 
-// [527]   "uzp1        $Pd, $Pn, $Pm";
+def A64FXWrite_ST2_BH : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 3;
+  let ResourceCycles = [8, 9];
+}
+def : InstRW<[A64FXWrite_ST2_BH], (instregex "^ST2[BH]")>;
 
-// [528]   "uzp1        $Zd, $Zn, $Zm";
+def A64FXWrite_ST2_WD_RI : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 11;
+  let NumMicroOps = 2;
+  let ResourceCycles = [2, 2];
+}
+def : InstRW<[A64FXWrite_ST2_WD_RI], (instregex "^ST2[WD]$")>;
 
-// [529]   "uzp2        $Pd, $Pn, $Pm";
+def A64FXWrite_ST2_WD_RR : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 3;
+  let ResourceCycles = [2, 3];
+}
+def : InstRW<[A64FXWrite_ST2_WD_RR], (instregex "^ST2[WD]_I")>;
 
-// [530]   "uzp2        $Zd, $Zn, $Zm";
+def A64FXWrite_ST3_BH : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 15;
+  let NumMicroOps = 4;
+  let ResourceCycles = [12, 13];
+}
+def : InstRW<[A64FXWrite_ST3_BH], (instregex "^ST3[BH]")>;
 
-// [531]   "whilele     $Pd, $Rn, $Rm";
-def : InstRW<[A64FXWrite_4Cyc_GI12], (instrs WHILELE_PWW_B, WHILELE_PWW_D, WHILELE_PWW_H, WHILELE_PWW_S, WHILELE_PXX_B, WHILELE_PXX_D, WHILELE_PXX_H, WHILELE_PXX_S)>;
+def A64FXWrite_ST3_WD_RI : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 11;
+  let NumMicroOps = 3;
+  let ResourceCycles = [3, 3];
+}
+def : InstRW<[A64FXWrite_ST3_WD_RI], (instregex "^ST3[WD]$")>;
 
-// [532]   "whilelo     $Pd, $Rn, $Rm";
-def : InstRW<[A64FXWrite_4Cyc_GI12], (instrs WHILELO_PWW_B, WHILELO_PWW_D, WHILELO_PWW_H, WHILELO_PWW_S, WHILELO_PXX_B, WHILELO_PXX_D, WHILELO_PXX_H, WHILELO_PXX_S)>;
+def A64FXWrite_ST3_WD_RR : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 4;
+  let ResourceCycles = [3, 4];
+}
+def : InstRW<[A64FXWrite_ST3_WD_RR], (instregex "^ST3[WD]_I")>;
 
-// [533]   "whilels     $Pd, $Rn, $Rm";
-def : InstRW<[A64FXWrite_4Cyc_GI12], (instrs WHILELS_PWW_B, WHILELS_PWW_D, WHILELS_PWW_H, WHILELS_PWW_S, WHILELS_PXX_B, WHILELS_PXX_D, WHILELS_PXX_H, WHILELS_PXX_S)>;
+def A64FXWrite_ST4_BH : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 15;
+  let NumMicroOps = 5;
+  let ResourceCycles = [16, 17];
+}
+def : InstRW<[A64FXWrite_ST4_BH], (instregex "^ST4[BH]")>;
 
-// [534]   "whilelt     $Pd, $Rn, $Rm";
-def : InstRW<[A64FXWrite_4Cyc_GI12], (instrs WHILELT_PWW_B, WHILELT_PWW_D, WHILELT_PWW_H, WHILELT_PWW_S, WHILELT_PXX_B, WHILELT_PXX_D, WHILELT_PXX_H, WHILELT_PXX_S)>;
+def A64FXWrite_ST4_WD_RI : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 11;
+  let NumMicroOps = 4;
+  let ResourceCycles = [4, 4];
+}
+def : InstRW<[A64FXWrite_ST4_WD_RI], (instregex "^ST4[WD]$")>;
 
-// [535]   "wrffr       $Pn";
-def : InstRW<[A64FXWrite_6Cyc_NGI1], (instrs WRFFR)>;
+def A64FXWrite_ST4_WD_RR : SchedWriteRes<[A64FXGI0, A64FXGI56]> {
+  let Latency = 12;
+  let NumMicroOps = 5;
+  let ResourceCycles = [4, 5];
+}
+def : InstRW<[A64FXWrite_ST4_WD_RR], (instregex "^ST4[WD]_I")>;
 
-// [536]   "zip1        $Pd, $Pn, $Pm";
+def A64FXWrite_STR_P : SchedWriteRes<[A64FXGI3, A64FXGI5]> {
+  let Latency = 11;
+}
+def : InstRW<[A64FXWrite_STR_P], (instrs STR_PXI)>;
 
-// [537]   "zip1        $Zd, $Zn, $Zm";
+def A64FXWrite_STR_Z : SchedWriteRes<[A64FXGI0, A64FXGI5]> {
+  let Latency = 11;
+}
+def : InstRW<[A64FXWrite_STR_Z], (instrs STR_ZXI)>;
 
-// [538]   "zip2        $Pd, $Pn, $Pm";
+def A64FXWrite_WHILE : SchedWriteRes<[A64FXGI3, A64FXGI5]> {
+  let Latency = 4;
+}
+def : InstRW<[A64FXWrite_WHILE], (instregex "^WHILEL._P")>;
 
-// [539]   "zip2        $Zd, $Zn, $Zm";
+def A64FXWrite_WRFFR : SchedWriteRes<[A64FXGI3, A64FXGI5]> {
+  let Latency = 3;
+  let NumMicroOps = 2;
+}
+def : InstRW<[A64FXWrite_WRFFR], (instrs WRFFR)>;
 
 } // SchedModel = A64FXModel
diff --git a/llvm/test/tools/llvm-mca/AArch64/A64FX/A64-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/A64FX/A64-basic-instructions.s
new file mode 100644 (file)
index 0000000..f63d03b
--- /dev/null
@@ -0,0 +1,3720 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=a64fx -instruction-tables < %s | FileCheck %s
+
+#------------------------------------------------------------------------------
+# Add/sub (immediate)
+#------------------------------------------------------------------------------
+
+add      w2, w3, #4095
+add      w30, w29, #1, lsl #12
+add      w13, w5, #4095, lsl #12
+add      x5, x7, #1638
+add      w20, wsp, #801
+add      wsp, wsp, #1104
+add      wsp, w30, #4084
+add      x0, x24, #291
+add      x3, x24, #4095, lsl #12
+add      x8, sp, #1074
+add      sp, x29, #3816
+sub      w0, wsp, #4077
+sub      w4, w20, #546, lsl #12
+sub      sp, sp, #288
+sub      wsp, w19, #16
+adds     w13, w23, #291, lsl #12
+cmn      w2, #4095
+adds     w20, wsp, #0
+cmn      x3, #1, lsl #12
+cmp      sp, #20, lsl #12
+cmp      x30, #4095
+subs     x4, sp, #3822
+cmn      w3, #291, lsl #12
+cmn      wsp, #1365
+cmn      sp, #1092, lsl #12
+mov      sp, x30
+mov      wsp, w20
+mov      x11, sp
+mov      w24, wsp
+
+#------------------------------------------------------------------------------
+# Add-subtract (shifted register)
+#------------------------------------------------------------------------------
+
+add      w3, w5, w7
+add      wzr, w3, w5
+add      w20, wzr, w4
+add      w4, w6, wzr
+add      w11, w13, w15
+add      w9, w3, wzr, lsl #10
+add      w17, w29, w20, lsl #31
+add      w21, w22, w23, lsr #0
+add      w24, w25, w26, lsr #18
+add      w27, w28, w29, lsr #31
+add      w2, w3, w4, asr #0
+add      w5, w6, w7, asr #21
+add      w8, w9, w10, asr #31
+add      x3, x5, x7
+add      xzr, x3, x5
+add      x20, xzr, x4
+add      x4, x6, xzr
+add      x11, x13, x15
+add      x9, x3, xzr, lsl #10
+add      x17, x29, x20, lsl #63
+add      x21, x22, x23, lsr #0
+add      x24, x25, x26, lsr #18
+add      x27, x28, x29, lsr #63
+add      x2, x3, x4, asr #0
+add      x5, x6, x7, asr #21
+add      x8, x9, x10, asr #63
+adds     w3, w5, w7
+cmn      w3, w5
+adds     w20, wzr, w4
+adds     w4, w6, wzr
+adds     w11, w13, w15
+adds     w9, w3, wzr, lsl #10
+adds     w17, w29, w20, lsl #31
+adds     w21, w22, w23, lsr #0
+adds     w24, w25, w26, lsr #18
+adds     w27, w28, w29, lsr #31
+adds     w2, w3, w4, asr #0
+adds     w5, w6, w7, asr #21
+adds     w8, w9, w10, asr #31
+adds     x3, x5, x7
+cmn      x3, x5
+adds     x20, xzr, x4
+adds     x4, x6, xzr
+adds     x11, x13, x15
+adds     x9, x3, xzr, lsl #10
+adds     x17, x29, x20, lsl #63
+adds     x21, x22, x23, lsr #0
+adds     x24, x25, x26, lsr #18
+adds     x27, x28, x29, lsr #63
+adds     x2, x3, x4, asr #0
+adds     x5, x6, x7, asr #21
+adds     x8, x9, x10, asr #63
+sub      w3, w5, w7
+sub      wzr, w3, w5
+sub      w4, w6, wzr
+sub      w11, w13, w15
+sub      w9, w3, wzr, lsl #10
+sub      w17, w29, w20, lsl #31
+sub      w21, w22, w23, lsr #0
+sub      w24, w25, w26, lsr #18
+sub      w27, w28, w29, lsr #31
+sub      w2, w3, w4, asr #0
+sub      w5, w6, w7, asr #21
+sub      w8, w9, w10, asr #31
+sub      x3, x5, x7
+sub      xzr, x3, x5
+sub      x4, x6, xzr
+sub      x11, x13, x15
+sub      x9, x3, xzr, lsl #10
+sub      x17, x29, x20, lsl #63
+sub      x21, x22, x23, lsr #0
+sub      x24, x25, x26, lsr #18
+sub      x27, x28, x29, lsr #63
+sub      x2, x3, x4, asr #0
+sub      x5, x6, x7, asr #21
+sub      x8, x9, x10, asr #63
+subs     w3, w5, w7
+cmp      w3, w5
+subs     w4, w6, wzr
+subs     w11, w13, w15
+subs     w9, w3, wzr, lsl #10
+subs     w17, w29, w20, lsl #31
+subs     w21, w22, w23, lsr #0
+subs     w24, w25, w26, lsr #18
+subs     w27, w28, w29, lsr #31
+subs     w2, w3, w4, asr #0
+subs     w5, w6, w7, asr #21
+subs     w8, w9, w10, asr #31
+subs     x3, x5, x7
+cmp      x3, x5
+subs     x4, x6, xzr
+subs     x11, x13, x15
+subs     x9, x3, xzr, lsl #10
+subs     x17, x29, x20, lsl #63
+subs     x21, x22, x23, lsr #0
+subs     x24, x25, x26, lsr #18
+subs     x27, x28, x29, lsr #63
+subs     x2, x3, x4, asr #0
+subs     x5, x6, x7, asr #21
+subs     x8, x9, x10, asr #63
+cmn      wzr, w4
+cmn      w5, wzr
+cmn      w6, w7
+cmn      w8, w9, lsl #15
+cmn      w10, w11, lsl #31
+cmn      w12, w13, lsr #0
+cmn      w14, w15, lsr #21
+cmn      w16, w17, lsr #31
+cmn      w18, w19, asr #0
+cmn      w20, w21, asr #22
+cmn      w22, w23, asr #31
+cmn      x0, x3
+cmn      xzr, x4
+cmn      x5, xzr
+cmn      x6, x7
+cmn      x8, x9, lsl #15
+cmn      x10, x11, lsl #63
+cmn      x12, x13, lsr #0
+cmn      x14, x15, lsr #41
+cmn      x16, x17, lsr #63
+cmn      x18, x19, asr #0
+cmn      x20, x21, asr #55
+cmn      x22, x23, asr #63
+cmp      w0, w3
+cmp      wzr, w4
+cmp      w5, wzr
+cmp      w6, w7
+cmp      w8, w9, lsl #15
+cmp      w10, w11, lsl #31
+cmp      w12, w13, lsr #0
+cmp      w14, w15, lsr #21
+cmp      w18, w19, asr #0
+cmp      w20, w21, asr #22
+cmp      w22, w23, asr #31
+cmp      x0, x3
+cmp      xzr, x4
+cmp      x5, xzr
+cmp      x6, x7
+cmp      x8, x9, lsl #15
+cmp      x10, x11, lsl #63
+cmp      x12, x13, lsr #0
+cmp      x14, x15, lsr #41
+cmp      x16, x17, lsr #63
+cmp      x18, x19, asr #0
+cmp      x20, x21, asr #55
+cmp      x22, x23, asr #63
+cmp      wzr, w0
+cmp      xzr, x0
+
+#------------------------------------------------------------------------------
+# Add-subtract (shifted register)
+#------------------------------------------------------------------------------
+
+adc      w29, w27, w25
+adc      wzr, w3, w4
+adc      w9, wzr, w10
+adc      w20, w0, wzr
+adc      x29, x27, x25
+adc      xzr, x3, x4
+adc      x9, xzr, x10
+adc      x20, x0, xzr
+adcs     w29, w27, w25
+adcs     wzr, w3, w4
+adcs     w9, wzr, w10
+adcs     w20, w0, wzr
+adcs     x29, x27, x25
+adcs     xzr, x3, x4
+adcs     x9, xzr, x10
+adcs     x20, x0, xzr
+sbc      w29, w27, w25
+sbc      wzr, w3, w4
+ngc      w9, w10
+sbc      w20, w0, wzr
+sbc      x29, x27, x25
+sbc      xzr, x3, x4
+ngc      x9, x10
+sbc      x20, x0, xzr
+sbcs     w29, w27, w25
+sbcs     wzr, w3, w4
+ngcs     w9, w10
+sbcs     w20, w0, wzr
+sbcs     x29, x27, x25
+sbcs     xzr, x3, x4
+ngcs     x9, x10
+sbcs     x20, x0, xzr
+ngc      w3, w12
+ngc      wzr, w9
+ngc      w23, wzr
+ngc      x29, x30
+ngc      xzr, x0
+ngc      x0, xzr
+ngcs     w3, w12
+ngcs     wzr, w9
+ngcs     w23, wzr
+ngcs     x29, x30
+ngcs     xzr, x0
+ngcs     x0, xzr
+
+#------------------------------------------------------------------------------
+# Compare and branch (immediate)
+#------------------------------------------------------------------------------
+
+sbfx     x1, x2, #3, #2
+asr      x3, x4, #63
+asr      wzr, wzr, #31
+sbfx     w12, w9, #0, #1
+ubfiz    x4, x5, #52, #11
+ubfx     xzr, x4, #0, #1
+ubfiz    x4, xzr, #1, #6
+lsr      x5, x6, #12
+bfi      x4, x5, #52, #11
+bfxil    xzr, x4, #0, #1
+bfi      x4, xzr, #1, #6
+bfxil    x5, x6, #12, #52
+sxtb     w1, w2
+sxtb     xzr, w3
+sxth     w9, w10
+sxth     x0, w1
+sxtw     x3, w30
+uxtb     w1, w2
+uxth     w9, w10
+ubfx     x3, x30, #0, #32
+asr      w3, w2, #0
+asr      w9, w10, #31
+asr      x20, x21, #63
+asr      w1, wzr, #3
+lsr      w3, w2, #0
+lsr      w9, w10, #31
+lsr      x20, x21, #63
+lsr      wzr, wzr, #3
+lsr      w3, w2, #0
+lsl      w9, w10, #31
+lsl      x20, x21, #63
+lsl      w1, wzr, #3
+sbfx     w9, w10, #0, #1
+sbfiz    x2, x3, #63, #1
+asr      x19, x20, #0
+sbfiz    x9, x10, #5, #59
+asr      w9, w10, #0
+sbfiz    w11, w12, #31, #1
+sbfiz    w13, w14, #29, #3
+sbfiz    xzr, xzr, #10, #11
+sbfx     w9, w10, #0, #1
+asr      x2, x3, #63
+asr      x19, x20, #0
+asr      x9, x10, #5
+asr      w9, w10, #0
+asr      w11, w12, #31
+asr      w13, w14, #29
+sbfx     xzr, xzr, #10, #11
+bfxil    w9, w10, #0, #1
+bfi      x2, x3, #63, #1
+bfxil    x19, x20, #0, #64
+bfi      x9, x10, #5, #59
+bfxil    w9, w10, #0, #32
+bfi      w11, w12, #31, #1
+bfi      w13, w14, #29, #3
+bfi      xzr, xzr, #10, #11
+bfxil    w9, w10, #0, #1
+bfxil    x2, x3, #63, #1
+bfxil    x19, x20, #0, #64
+bfxil    x9, x10, #5, #59
+bfxil    w9, w10, #0, #32
+bfxil    w11, w12, #31, #1
+bfxil    w13, w14, #29, #3
+bfxil    xzr, xzr, #10, #11
+ubfx     w9, w10, #0, #1
+lsl      x2, x3, #63
+lsr      x19, x20, #0
+lsl      x9, x10, #5
+lsr      w9, w10, #0
+lsl      w11, w12, #31
+lsl      w13, w14, #29
+ubfiz    xzr, xzr, #10, #11
+ubfx     w9, w10, #0, #1
+lsr      x2, x3, #63
+lsr      x19, x20, #0
+lsr      x9, x10, #5
+lsr      w9, w10, #0
+lsr      w11, w12, #31
+lsr      w13, w14, #29
+ubfx     xzr, xzr, #10, #11
+
+#------------------------------------------------------------------------------
+# Compare and branch (immediate)
+#------------------------------------------------------------------------------
+
+cbz      w5, #4
+cbz      x5, #0
+cbnz     x2, #-4
+cbnz     x26, #1048572
+cbz      wzr, #0
+cbnz     xzr, #0
+
+#------------------------------------------------------------------------------
+# Conditional branch (immediate)
+#------------------------------------------------------------------------------
+
+b.ne #4
+b.ge #1048572
+b.ge #-4
+
+#------------------------------------------------------------------------------
+# Conditional compare (immediate)
+#------------------------------------------------------------------------------
+
+ccmp w1, #31, #0, eq
+ccmp w3, #0, #15, hs
+ccmp wzr, #15, #13, hs
+ccmp x9, #31, #0, le
+ccmp x3, #0, #15, gt
+ccmp xzr, #5, #7, ne
+ccmn w1, #31, #0, eq
+ccmn w3, #0, #15, hs
+ccmn wzr, #15, #13, hs
+ccmn x9, #31, #0, le
+ccmn x3, #0, #15, gt
+ccmn xzr, #5, #7, ne
+
+#------------------------------------------------------------------------------
+# Conditional compare (register)
+#------------------------------------------------------------------------------
+
+ccmp w1, wzr, #0, eq
+ccmp w3, w0, #15, hs
+ccmp wzr, w15, #13, hs
+ccmp x9, xzr, #0, le
+ccmp x3, x0, #15, gt
+ccmp xzr, x5, #7, ne
+ccmn w1, wzr, #0, eq
+ccmn w3, w0, #15, hs
+ccmn wzr, w15, #13, hs
+ccmn x9, xzr, #0, le
+ccmn x3, x0, #15, gt
+ccmn xzr, x5, #7, ne
+
+#------------------------------------------------------------------------------
+# Conditional branch (immediate)
+#------------------------------------------------------------------------------
+
+csel     w1, w0, w19, ne
+csel     wzr, w5, w9, eq
+csel     w9, wzr, w30, gt
+csel     w1, w28, wzr, mi
+csel     x19, x23, x29, lt
+csel     xzr, x3, x4, ge
+csel     x5, xzr, x6, hs
+csel     x7, x8, xzr, lo
+csinc    w1, w0, w19, ne
+csinc    wzr, w5, w9, eq
+csinc    w9, wzr, w30, gt
+csinc    w1, w28, wzr, mi
+csinc    x19, x23, x29, lt
+csinc    xzr, x3, x4, ge
+csinc    x5, xzr, x6, hs
+csinc    x7, x8, xzr, lo
+csinv    w1, w0, w19, ne
+csinv    wzr, w5, w9, eq
+csinv    w9, wzr, w30, gt
+csinv    w1, w28, wzr, mi
+csinv    x19, x23, x29, lt
+csinv    xzr, x3, x4, ge
+csinv    x5, xzr, x6, hs
+csinv    x7, x8, xzr, lo
+csneg    w1, w0, w19, ne
+csneg    wzr, w5, w9, eq
+csneg    w9, wzr, w30, gt
+csneg    w1, w28, wzr, mi
+csneg    x19, x23, x29, lt
+csneg    xzr, x3, x4, ge
+csneg    x5, xzr, x6, hs
+csneg    x7, x8, xzr, lo
+cset    w3, eq
+cset    x9, pl
+csetm    w20, ne
+csetm    x30, ge
+csinc    w2, wzr, wzr, al
+csinv    x3, xzr, xzr, nv
+cinc    w3, w5, gt
+cinc    wzr, w4, le
+cset    w9, lt
+cinc    x3, x5, gt
+cinc    xzr, x4, le
+cset    x9, lt
+csinc   w5, w6, w6, nv
+csinc   x1, x2, x2, al
+cinv    w3, w5, gt
+cinv    wzr, w4, le
+csetm   w9, lt
+cinv    x3, x5, gt
+cinv    xzr, x4, le
+csetm   x9, lt
+csinv   x1, x0, x0, al
+csinv   w9, w8, w8, nv
+cneg     w3, w5, gt
+cneg     wzr, w4, le
+cneg     w9, wzr, lt
+cneg     x3, x5, gt
+cneg     xzr, x4, le
+cneg     x9, xzr, lt
+csneg    x4, x8, x8, al
+csinv    w9, w8, w8, nv
+
+#------------------------------------------------------------------------------
+# Data-processing (1 source)
+#------------------------------------------------------------------------------
+
+rbit   w0, w7
+rbit   x18, x3
+rev16  w17, w1
+rev16  x5, x2
+rev    w18, w0
+rev32  x20, x1
+rev    x22, x2
+clz    w24, w3
+clz    x26, x4
+cls    w3, w5
+cls    x20, x5
+
+#------------------------------------------------------------------------------
+# Data-processing (2 source)
+#------------------------------------------------------------------------------
+
+udiv   w0, w7, w10
+udiv   x9, x22, x4
+sdiv   w12, w21, w0
+sdiv   x13, x2, x1
+lsl    w11, w12, w13
+lsl    x14, x15, x16
+lsr    w17, w18, w19
+lsr    x20, x21, x22
+asr    w23, w24, w25
+asr    x26, x27, x28
+ror    w0, w1, w2
+ror    x3, x4, x5
+lsl    w6, w7, w8
+lsl    x9, x10, x11
+lsr    w12, w13, w14
+lsr    x15, x16, x17
+asr    w18, w19, w20
+asr    x21, x22, x23
+ror    w24, w25, w26
+ror    x27, x28, x29
+
+#------------------------------------------------------------------------------
+# Data-processing (3 sources)
+#------------------------------------------------------------------------------
+
+smulh    x30, x29, x28
+smulh    xzr, x27, x26
+umulh    x30, x29, x28
+umulh    x23, x30, xzr
+madd     w1, w3, w7, w4
+madd     wzr, w0, w9, w11
+madd     w13, wzr, w4, w4
+madd     w19, w30, wzr, w29
+mul      w4, w5, w6
+madd     x1, x3, x7, x4
+madd     xzr, x0, x9, x11
+madd     x13, xzr, x4, x4
+madd     x19, x30, xzr, x29
+mul      x4, x5, x6
+msub     w1, w3, w7, w4
+msub     wzr, w0, w9, w11
+msub     w13, wzr, w4, w4
+msub     w19, w30, wzr, w29
+mneg     w4, w5, w6
+msub     x1, x3, x7, x4
+msub     xzr, x0, x9, x11
+msub     x13, xzr, x4, x4
+msub     x19, x30, xzr, x29
+mneg     x4, x5, x6
+smaddl   x3, w5, w2, x9
+smaddl   xzr, w10, w11, x12
+smaddl   x13, wzr, w14, x15
+smaddl   x16, w17, wzr, x18
+smull    x19, w20, w21
+smsubl   x3, w5, w2, x9
+smsubl   xzr, w10, w11, x12
+smsubl   x13, wzr, w14, x15
+smsubl   x16, w17, wzr, x18
+smnegl   x19, w20, w21
+umaddl   x3, w5, w2, x9
+umaddl   xzr, w10, w11, x12
+umaddl   x13, wzr, w14, x15
+umaddl   x16, w17, wzr, x18
+umull    x19, w20, w21
+umsubl   x3, w5, w2, x9
+umsubl   x16, w17, wzr, x18
+umnegl   x19, w20, w21
+smulh    x30, x29, x28
+smulh    x23, x22, xzr
+umulh    x23, x22, xzr
+mul      x19, x20, xzr
+mneg     w21, w22, w23
+smull    x11, w13, w17
+umull    x11, w13, w17
+smnegl   x11, w13, w17
+umnegl   x11, w13, w17
+
+#------------------------------------------------------------------------------
+# Extract (immediate)
+#------------------------------------------------------------------------------
+
+extr     w3, w5, w7, #0
+extr     w11, w13, w17, #31
+extr     x3, x5, x7, #15
+extr     x11, x13, x17, #63
+ror     x19, x23, #24
+ror     x29, xzr, #63
+ror     w9, w13, #31
+
+#------------------------------------------------------------------------------
+# Floating-point compare
+#------------------------------------------------------------------------------
+
+fcmp    s3, s5
+fcmp    s31, #0.0
+fcmp    s31, #0.0
+fcmpe   s29, s30
+fcmpe   s15, #0.0
+fcmpe   s15, #0.0
+fcmp    d4, d12
+fcmp    d23, #0.0
+fcmp    d23, #0.0
+fcmpe   d26, d22
+fcmpe   d29, #0.0
+fcmpe   d29, #0.0
+
+#------------------------------------------------------------------------------
+# Floating-point conditional compare
+#------------------------------------------------------------------------------
+
+fccmp s1, s31, #0, eq
+fccmp s3, s0, #15, hs
+fccmp s31, s15, #13, hs
+fccmp d9, d31, #0, le
+fccmp d3, d0, #15, gt
+fccmp d31, d5, #7, ne
+fccmpe s1, s31, #0, eq
+fccmpe s3, s0, #15, hs
+fccmpe s31, s15, #13, hs
+fccmpe d9, d31, #0, le
+fccmpe d3, d0, #15, gt
+fccmpe d31, d5, #7, ne
+
+#-------------------------------------------------------------------------------
+# Floating-point conditional compare
+#-------------------------------------------------------------------------------
+
+fcsel s3, s20, s9, pl
+fcsel d9, d10, d11, mi
+
+#------------------------------------------------------------------------------
+# Floating-point data-processing (1 source)
+#------------------------------------------------------------------------------
+
+fmov     s0, s1
+fabs     s2, s3
+fneg     s4, s5
+fsqrt    s6, s7
+fcvt     d8, s9
+fcvt     h10, s11
+frintn   s12, s13
+frintp   s14, s15
+frintm   s16, s17
+frintz   s18, s19
+frinta   s20, s21
+frintx   s22, s23
+frinti   s24, s25
+fmov     d0, d1
+fabs     d2, d3
+fneg     d4, d5
+fsqrt    d6, d7
+fcvt     s8, d9
+fcvt     h10, d11
+frintn   d12, d13
+frintp   d14, d15
+frintm   d16, d17
+frintz   d18, d19
+frinta   d20, d21
+frintx   d22, d23
+frinti   d24, d25
+fcvt     s26, h27
+fcvt     d28, h29
+
+#------------------------------------------------------------------------------
+# Floating-point data-processing (2 sources)
+#------------------------------------------------------------------------------
+
+fmul     s20, s19, s17
+fdiv     s1, s2, s3
+fadd     s4, s5, s6
+fsub     s7, s8, s9
+fmax     s10, s11, s12
+fmin     s13, s14, s15
+fmaxnm   s16, s17, s18
+fminnm   s19, s20, s21
+fnmul    s22, s23, s2
+fmul     d20, d19, d17
+fdiv     d1, d2, d3
+fadd     d4, d5, d6
+fsub     d7, d8, d9
+fmax     d10, d11, d12
+fmin     d13, d14, d15
+fmaxnm   d16, d17, d18
+fminnm   d19, d20, d21
+fnmul    d22, d23, d24
+
+#------------------------------------------------------------------------------
+# Floating-point data-processing (1 source)
+#------------------------------------------------------------------------------
+
+fmadd s3, s5, s6, s31
+fmadd d3, d13, d0, d23
+fmsub s3, s5, s6, s31
+fmsub d3, d13, d0, d23
+fnmadd s3, s5, s6, s31
+fnmadd d3, d13, d0, d23
+fnmsub s3, s5, s6, s31
+fnmsub d3, d13, d0, d23
+
+#------------------------------------------------------------------------------
+# Floating-point <-> fixed-point conversion
+#------------------------------------------------------------------------------
+
+fcvtzs  w3, h5, #1
+fcvtzs  wzr, h20, #13
+fcvtzs  w19, h0, #32
+fcvtzs  x3, h5, #1
+fcvtzs  x12, h30, #45
+fcvtzs  x19, h0, #64
+fcvtzs  w3, s5, #1
+fcvtzs  wzr, s20, #13
+fcvtzs  w19, s0, #32
+fcvtzs  x3, s5, #1
+fcvtzs  x12, s30, #45
+fcvtzs  x19, s0, #64
+fcvtzs  w3, d5, #1
+fcvtzs  wzr, d20, #13
+fcvtzs  w19, d0, #32
+fcvtzs  x3, d5, #1
+fcvtzs  x12, d30, #45
+fcvtzs  x19, d0, #64
+fcvtzu  w3, h5, #1
+fcvtzu  wzr, h20, #13
+fcvtzu  w19, h0, #32
+fcvtzu  x3, h5, #1
+fcvtzu  x12, h30, #45
+fcvtzu  x19, h0, #64
+fcvtzu  w3, s5, #1
+fcvtzu  wzr, s20, #13
+fcvtzu  w19, s0, #32
+fcvtzu  x3, s5, #1
+fcvtzu  x12, s30, #45
+fcvtzu  x19, s0, #64
+fcvtzu  w3, d5, #1
+fcvtzu  wzr, d20, #13
+fcvtzu  w19, d0, #32
+fcvtzu  x3, d5, #1
+fcvtzu  x12, d30, #45
+fcvtzu  x19, d0, #64
+scvtf   h23, w19, #1
+scvtf   h31, wzr, #20
+scvtf   h14, w0, #32
+scvtf   h23, x19, #1
+scvtf   h31, xzr, #20
+scvtf   h14, x0, #64
+scvtf   s23, w19, #1
+scvtf   s31, wzr, #20
+scvtf   s14, w0, #32
+scvtf   s23, x19, #1
+scvtf   s31, xzr, #20
+scvtf   s14, x0, #64
+scvtf   d23, w19, #1
+scvtf   d31, wzr, #20
+scvtf   d14, w0, #32
+scvtf   d23, x19, #1
+scvtf   d31, xzr, #20
+scvtf   d14, x0, #64
+ucvtf   h23, w19, #1
+ucvtf   h31, wzr, #20
+ucvtf   h14, w0, #32
+ucvtf   h23, x19, #1
+ucvtf   h31, xzr, #20
+ucvtf   h14, x0, #64
+ucvtf   s23, w19, #1
+ucvtf   s31, wzr, #20
+ucvtf   s14, w0, #32
+ucvtf   s23, x19, #1
+ucvtf   s31, xzr, #20
+ucvtf   s14, x0, #64
+ucvtf   d23, w19, #1
+ucvtf   d31, wzr, #20
+ucvtf   d14, w0, #32
+ucvtf   d23, x19, #1
+ucvtf   d31, xzr, #20
+ucvtf   d14, x0, #64
+
+#------------------------------------------------------------------------------
+# Floating-point <-> integer conversion
+#------------------------------------------------------------------------------
+
+fcvtns   w3, h31
+fcvtns   xzr, h12
+fcvtnu   wzr, h12
+fcvtnu   x0, h0
+fcvtps   wzr, h9
+fcvtps   x12, h20
+fcvtpu   w30, h23
+fcvtpu   x29, h3
+fcvtms   w2, h3
+fcvtms   x4, h5
+fcvtmu   w6, h7
+fcvtmu   x8, h9
+fcvtzs   w10, h11
+fcvtzs   x12, h13
+fcvtzu   w14, h15
+fcvtzu   x15, h16
+scvtf    h17, w18
+scvtf    h19, x20
+ucvtf    h21, w22
+scvtf    h23, x24
+fcvtas   w25, h26
+fcvtas   x27, h28
+fcvtau   w29, h30
+fcvtau   xzr, h0
+fcvtns   w3, s31
+fcvtns   xzr, s12
+fcvtnu   wzr, s12
+fcvtnu   x0, s0
+fcvtps   wzr, s9
+fcvtps   x12, s20
+fcvtpu   w30, s23
+fcvtpu   x29, s3
+fcvtms   w2, s3
+fcvtms   x4, s5
+fcvtmu   w6, s7
+fcvtmu   x8, s9
+fcvtzs   w10, s11
+fcvtzs   x12, s13
+fcvtzu   w14, s15
+fcvtzu   x15, s16
+scvtf    s17, w18
+scvtf    s19, x20
+ucvtf    s21, w22
+scvtf    s23, x24
+fcvtas   w25, s26
+fcvtas   x27, s28
+fcvtau   w29, s30
+fcvtau   xzr, s0
+fcvtns   w3, d31
+fcvtns   xzr, d12
+fcvtnu   wzr, d12
+fcvtnu   x0, d0
+fcvtps   wzr, d9
+fcvtps   x12, d20
+fcvtpu   w30, d23
+fcvtpu   x29, d3
+fcvtms   w2, d3
+fcvtms   x4, d5
+fcvtmu   w6, d7
+fcvtmu   x8, d9
+fcvtzs   w10, d11
+fcvtzs   x12, d13
+fcvtzu   w14, d15
+fcvtzu   x15, d16
+scvtf    d17, w18
+scvtf    d19, x20
+ucvtf    d21, w22
+ucvtf    d23, x24
+fcvtas   w25, d26
+fcvtas   x27, d28
+fcvtau   w29, d30
+fcvtau   xzr, d0
+fmov     w3, s9
+fmov     s9, w3
+fmov     x20, d31
+fmov     d1, x15
+fmov     x3, v12.d[1]
+fmov     v1.d[1], x19
+
+#------------------------------------------------------------------------------
+# Floating-point immediate
+#------------------------------------------------------------------------------
+
+fmov     s2, #0.12500000
+fmov     s3, #1.00000000
+fmov     d30, #16.00000000
+fmov     s4, #1.06250000
+fmov     d10, #1.93750000
+fmov     s12, #-1.00000000
+fmov     d16, #8.50000000
+
+#------------------------------------------------------------------------------
+# Load-register (literal)
+#------------------------------------------------------------------------------
+
+ldr       w3, #0
+ldr       x29, #4
+ldrsw     xzr, #-4
+ldr       s0, #8
+ldr       d0, #1048572
+ldr       q0, #-1048576
+prfm      pldl1strm, #0
+prfm      #22, #0
+
+#------------------------------------------------------------------------------
+# Load/store exclusive
+#------------------------------------------------------------------------------
+
+stxrb      w18, w8, [sp]
+stxrh      w24, w15, [x16]
+stxr       w5, w6, [x17]
+stxr       w1, x10, [x21]
+ldxrb      w30, [x0]
+ldxrh      w17, [x4]
+ldxr       w22, [sp]
+ldxr       x11, [x29]
+ldxr       x11, [x29]
+ldxr       x11, [x29]
+stxp       w12, w11, w10, [sp]
+stxp       wzr, x27, x9, [x12]
+ldxp       w0, wzr, [sp]
+ldxp       x17, x0, [x18]
+ldxp       x17, x0, [x18]
+stlxrb     w12, w22, [x0]
+stlxrh     w10, w1, [x1]
+stlxr      w9, w2, [x2]
+stlxr      w9, x3, [sp]
+ldaxrb     w8, [x4]
+ldaxrh     w7, [x5]
+ldaxr      w6, [sp]
+ldaxr      x5, [x6]
+ldaxr      x5, [x6]
+ldaxr      x5, [x6]
+stlxp      w4, w5, w6, [sp]
+stlxp      wzr, x6, x7, [x1]
+ldaxp      w5, w18, [sp]
+ldaxp      x6, x19, [x22]
+ldaxp      x6, x19, [x22]
+stlrb      w24, [sp]
+stlrh      w25, [x30]
+stlr       w26, [x29]
+stlr       x27, [x28]
+stlr       x27, [x28]
+stlr       x27, [x28]
+ldarb      w23, [sp]
+ldarh      w22, [x30]
+ldar       wzr, [x29]
+ldar       x21, [x28]
+ldar       x21, [x28]
+ldar       x21, [x28]
+
+#------------------------------------------------------------------------------
+# Load/store (unscaled  immediate)
+#------------------------------------------------------------------------------
+
+sturb    w9, [sp]
+sturh    wzr, [x12, #255]
+stur     w16, [x0, #-256]
+stur     x28, [x14, #1]
+ldurb    w1, [x20, #255]
+ldurh    w20, [x1, #255]
+ldur     w12, [sp, #255]
+ldur     xzr, [x12, #255]
+ldursb   x9, [x7, #-256]
+ldursh   x17, [x19, #-256]
+ldursw   x20, [x15, #-256]
+prfum    pldl2keep, [sp, #-256]
+ldursb   w19, [x1, #-256]
+ldursh   w15, [x21, #-256]
+stur     b0, [sp, #1]
+stur     h12, [x12, #-1]
+stur     s15, [x0, #255]
+stur     d31, [x5, #25]
+stur     q9, [x5]
+ldur     b3, [sp]
+ldur     h5, [x4, #-256]
+ldur     s7, [x12, #-1]
+ldur     d11, [x19, #4]
+ldur     q13, [x1, #2]
+
+#------------------------------------------------------------------------------
+# Load/store (immediate post-indexed)
+#------------------------------------------------------------------------------
+
+strb     w9, [x2], #255
+strb     w10, [x3], #1
+strb     w10, [x3], #-256
+strh     w9, [x2], #255
+strh     w9, [x2], #1
+strh     w10, [x3], #-256
+str      w19, [sp], #255
+str      w20, [x30], #1
+str      w21, [x12], #-256
+str      xzr, [x9], #255
+str      x2, [x3], #1
+str      x19, [x12], #-256
+ldrb     w9, [x2], #255
+ldrb     w10, [x3], #1
+ldrb     w10, [x3], #-256
+ldrh     w9, [x2], #255
+ldrh     w9, [x2], #1
+ldrh     w10, [x3], #-256
+ldr      w19, [sp], #255
+ldr      w20, [x30], #1
+ldr      w21, [x12], #-256
+ldr      xzr, [x9], #255
+ldr      x2, [x3], #1
+ldr      x19, [x12], #-256
+ldrsb    xzr, [x9], #255
+ldrsb    x2, [x3], #1
+ldrsb    x19, [x12], #-256
+ldrsh    xzr, [x9], #255
+ldrsh    x2, [x3], #1
+ldrsh    x19, [x12], #-256
+ldrsw    xzr, [x9], #255
+ldrsw    x2, [x3], #1
+ldrsw    x19, [x12], #-256
+ldrsb    wzr, [x9], #255
+ldrsb    w2, [x3], #1
+ldrsb    w19, [x12], #-256
+ldrsh    wzr, [x9], #255
+ldrsh    w2, [x3], #1
+ldrsh    w19, [x12], #-256
+str      b0, [x0], #255
+str      b3, [x3], #1
+str      b5, [sp], #-256
+str      h10, [x10], #255
+str      h13, [x23], #1
+str      h15, [sp], #-256
+str      s20, [x20], #255
+str      s23, [x23], #1
+str      s25, [x0], #-256
+str      d20, [x20], #255
+str      d23, [x23], #1
+str      d25, [x0], #-256
+ldr      b0, [x0], #255
+ldr      b3, [x3], #1
+ldr      b5, [sp], #-256
+ldr      h10, [x10], #255
+ldr      h13, [x23], #1
+ldr      h15, [sp], #-256
+ldr      s20, [x20], #255
+ldr      s23, [x23], #1
+ldr      s25, [x0], #-256
+ldr      d20, [x20], #255
+ldr      d23, [x23], #1
+ldr      d25, [x0], #-256
+ldr      q20, [x1], #255
+ldr      q23, [x9], #1
+ldr      q25, [x20], #-256
+str      q10, [x1], #255
+str      q22, [sp], #1
+str      q21, [x20], #-256
+
+#-------------------------------------------------------------------------------
+# Load-store register (immediate pre-indexed)
+#-------------------------------------------------------------------------------
+
+ldr      x3, [x4, #0]!
+strb     w9, [x2, #255]!
+strb     w10, [x3, #1]!
+strb     w10, [x3, #-256]!
+strh     w9, [x2, #255]!
+strh     w9, [x2, #1]!
+strh     w10, [x3, #-256]!
+str      w19, [sp, #255]!
+str      w20, [x30, #1]!
+str      w21, [x12, #-256]!
+str      xzr, [x9, #255]!
+str      x2, [x3, #1]!
+str      x19, [x12, #-256]!
+ldrb     w9, [x2, #255]!
+ldrb     w10, [x3, #1]!
+ldrb     w10, [x3, #-256]!
+ldrh     w9, [x2, #255]!
+ldrh     w9, [x2, #1]!
+ldrh     w10, [x3, #-256]!
+ldr      w19, [sp, #255]!
+ldr      w20, [x30, #1]!
+ldr      w21, [x12, #-256]!
+ldr      xzr, [x9, #255]!
+ldr      x2, [x3, #1]!
+ldr      x19, [x12, #-256]!
+ldrsb    xzr, [x9, #255]!
+ldrsb    x2, [x3, #1]!
+ldrsb    x19, [x12, #-256]!
+ldrsh    xzr, [x9, #255]!
+ldrsh    x2, [x3, #1]!
+ldrsh    x19, [x12, #-256]!
+ldrsw    xzr, [x9, #255]!
+ldrsw    x2, [x3, #1]!
+ldrsw    x19, [x12, #-256]!
+ldrsb    wzr, [x9, #255]!
+ldrsb    w2, [x3, #1]!
+ldrsb    w19, [x12, #-256]!
+ldrsh    wzr, [x9, #255]!
+ldrsh    w2, [x3, #1]!
+ldrsh    w19, [x12, #-256]!
+str      b0, [x0, #255]!
+str      b3, [x3, #1]!
+str      b5, [sp, #-256]!
+str      h10, [x10, #255]!
+str      h13, [x23, #1]!
+str      h15, [sp, #-256]!
+str      s20, [x20, #255]!
+str      s23, [x23, #1]!
+str      s25, [x0, #-256]!
+str      d20, [x20, #255]!
+str      d23, [x23, #1]!
+str      d25, [x0, #-256]!
+ldr      b0, [x0, #255]!
+ldr      b3, [x3, #1]!
+ldr      b5, [sp, #-256]!
+ldr      h10, [x10, #255]!
+ldr      h13, [x23, #1]!
+ldr      h15, [sp, #-256]!
+ldr      s20, [x20, #255]!
+ldr      s23, [x23, #1]!
+ldr      s25, [x0, #-256]!
+ldr      d20, [x20, #255]!
+ldr      d23, [x23, #1]!
+ldr      d25, [x0, #-256]!
+ldr      q20, [x1, #255]!
+ldr      q23, [x9, #1]!
+ldr      q25, [x20, #-256]!
+str      q10, [x1, #255]!
+str      q22, [sp, #1]!
+str      q21, [x20, #-256]!
+
+#------------------------------------------------------------------------------
+# Load/store (unprivileged)
+#------------------------------------------------------------------------------
+
+sttrb    w9, [sp]
+sttrh    wzr, [x12, #255]
+sttr     w16, [x0, #-256]
+sttr     x28, [x14, #1]
+ldtrb    w1, [x20, #255]
+ldtrh    w20, [x1, #255]
+ldtr     w12, [sp, #255]
+ldtr     xzr, [x12, #255]
+ldtrsb   x9, [x7, #-256]
+ldtrsh   x17, [x19, #-256]
+ldtrsw   x20, [x15, #-256]
+ldtrsb   w19, [x1, #-256]
+ldtrsh   w15, [x21, #-256]
+
+#------------------------------------------------------------------------------
+# Load/store (unsigned  immediate)
+#------------------------------------------------------------------------------
+
+ldr      x4, [x29]
+ldr      x30, [x12, #32760]
+ldr      x20, [sp, #8]
+ldr      xzr, [sp]
+ldr      w2, [sp]
+ldr      w17, [sp, #16380]
+ldr      w13, [x2, #4]
+ldrsw    x2, [x5, #4]
+ldrsw    x23, [sp, #16380]
+ldrh     w2, [x4]
+ldrsh    w23, [x6, #8190]
+ldrsh    wzr, [sp, #2]
+ldrsh    x29, [x2, #2]
+ldrb     w26, [x3, #121]
+ldrb     w12, [x2]
+ldrsb    w27, [sp, #4095]
+ldrsb    xzr, [x15]
+str      x30, [sp]
+str      w20, [x4, #16380]
+strh     w17, [sp, #8190]
+strb     w23, [x3, #4095]
+strb     wzr, [x2]
+ldr      b31, [sp, #4095]
+ldr      h20, [x2, #8190]
+ldr      s10, [x19, #16380]
+ldr      d3, [x10, #32760]
+str      q12, [sp, #65520]
+
+#------------------------------------------------------------------------------
+# Load/store (register offset)
+#------------------------------------------------------------------------------
+
+ldrb     w3, [sp, x5]
+ldrb     w9, [x27, x6]
+ldrsb    w10, [x30, x7]
+ldrb     w11, [x29, x3, sxtx]
+strb     w12, [x28, xzr, sxtx]
+ldrb     w14, [x26, w6, uxtw]
+ldrsb    w15, [x25, w7, uxtw]
+ldrb     w17, [x23, w9, sxtw]
+ldrsb    x18, [x22, w10, sxtw]
+ldrsh    w3, [sp, x5]
+ldrsh    w9, [x27, x6]
+ldrh     w10, [x30, x7, lsl #1]
+strh     w11, [x29, x3, sxtx]
+ldrh     w12, [x28, xzr, sxtx]
+ldrsh    x13, [x27, x5, sxtx #1]
+ldrh     w14, [x26, w6, uxtw]
+ldrh     w15, [x25, w7, uxtw]
+ldrsh    w16, [x24, w8, uxtw #1]
+ldrh     w17, [x23, w9, sxtw]
+ldrh     w18, [x22, w10, sxtw]
+strh     w19, [x21, wzr, sxtw #1]
+ldr      w3, [sp, x5]
+ldr      s9, [x27, x6]
+ldr      w10, [x30, x7, lsl #2]
+ldr      w11, [x29, x3, sxtx]
+str      s12, [x28, xzr, sxtx]
+str      w13, [x27, x5, sxtx #2]
+str      w14, [x26, w6, uxtw]
+ldr      w15, [x25, w7, uxtw]
+ldr      w16, [x24, w8, uxtw #2]
+ldrsw    x17, [x23, w9, sxtw]
+ldr      w18, [x22, w10, sxtw]
+ldrsw    x19, [x21, wzr, sxtw #2]
+ldr      x3, [sp, x5]
+str      x9, [x27, x6]
+ldr      d10, [x30, x7, lsl #3]
+str      x11, [x29, x3, sxtx]
+ldr      x12, [x28, xzr, sxtx]
+ldr      x13, [x27, x5, sxtx #3]
+prfm     pldl1keep, [x26, w6, uxtw]
+ldr      x15, [x25, w7, uxtw]
+ldr      x16, [x24, w8, uxtw #3]
+ldr      x17, [x23, w9, sxtw]
+ldr      x18, [x22, w10, sxtw]
+str      d19, [x21, wzr, sxtw #3]
+ldr      q3, [sp, x5]
+ldr      q9, [x27, x6]
+ldr      q10, [x30, x7, lsl #4]
+str      q11, [x29, x3, sxtx]
+str      q12, [x28, xzr, sxtx]
+str      q13, [x27, x5, sxtx #4]
+ldr      q14, [x26, w6, uxtw]
+ldr      q15, [x25, w7, uxtw]
+ldr      q16, [x24, w8, uxtw #4]
+ldr      q17, [x23, w9, sxtw]
+str      q18, [x22, w10, sxtw]
+ldr      q19, [x21, wzr, sxtw #4]
+
+#------------------------------------------------------------------------------
+# Load/store register pair (offset)
+#------------------------------------------------------------------------------
+
+ldp      w3, w5, [sp]
+stp      wzr, w9, [sp, #252]
+ldp      w2, wzr, [sp, #-256]
+ldp      w9, w10, [sp, #4]
+ldpsw    x9, x10, [sp, #4]
+ldpsw    x9, x10, [x2, #-256]
+ldpsw    x20, x30, [sp, #252]
+ldp      x21, x29, [x2, #504]
+ldp      x22, x23, [x3, #-512]
+ldp      x24, x25, [x4, #8]
+ldp      s29, s28, [sp, #252]
+stp      s27, s26, [sp, #-256]
+ldp      s1, s2, [x3, #44]
+stp      d3, d5, [x9, #504]
+stp      d7, d11, [x10, #-512]
+ldp      d2, d3, [x30, #-8]
+stp      q3, q5, [sp]
+stp      q17, q19, [sp, #1008]
+ldp      q23, q29, [x1, #-1024]
+
+#------------------------------------------------------------------------------
+# Load/store register pair (post-indexed)
+#------------------------------------------------------------------------------
+
+ldp      w3, w5, [sp], #0
+stp      wzr, w9, [sp], #252
+ldp      w2, wzr, [sp], #-256
+ldp      w9, w10, [sp], #4
+ldpsw    x9, x10, [sp], #4
+ldpsw    x9, x10, [x2], #-256
+ldpsw    x20, x30, [sp], #252
+ldp      x21, x29, [x2], #504
+ldp      x22, x23, [x3], #-512
+ldp      x24, x25, [x4], #8
+ldp      s29, s28, [sp], #252
+stp      s27, s26, [sp], #-256
+ldp      s1, s2, [x3], #44
+stp      d3, d5, [x9], #504
+stp      d7, d11, [x10], #-512
+ldp      d2, d3, [x30], #-8
+stp      q3, q5, [sp], #0
+stp      q17, q19, [sp], #1008
+ldp      q23, q29, [x1], #-1024
+
+#------------------------------------------------------------------------------
+# Load/store register pair (pre-indexed)
+#------------------------------------------------------------------------------
+
+ldp      w3, w5, [sp, #0]!
+stp      wzr, w9, [sp, #252]!
+ldp      w2, wzr, [sp, #-256]!
+ldp      w9, w10, [sp, #4]!
+ldpsw    x9, x10, [sp, #4]!
+ldpsw    x9, x10, [x2, #-256]!
+ldpsw    x20, x30, [sp, #252]!
+ldp      x21, x29, [x2, #504]!
+ldp      x22, x23, [x3, #-512]!
+ldp      x24, x25, [x4, #8]!
+ldp      s29, s28, [sp, #252]!
+stp      s27, s26, [sp, #-256]!
+ldp      s1, s2, [x3, #44]!
+stp      d3, d5, [x9, #504]!
+stp      d7, d11, [x10, #-512]!
+ldp      d2, d3, [x30, #-8]!
+stp      q3, q5, [sp, #0]!
+stp      q17, q19, [sp, #1008]!
+ldp      q23, q29, [x1, #-1024]!
+
+#------------------------------------------------------------------------------
+# Load/store register pair (offset)
+#------------------------------------------------------------------------------
+
+ldnp      w3, w5, [sp]
+stnp      wzr, w9, [sp, #252]
+ldnp      w2, wzr, [sp, #-256]
+ldnp      w9, w10, [sp, #4]
+ldnp      x21, x29, [x2, #504]
+ldnp      x22, x23, [x3, #-512]
+ldnp      x24, x25, [x4, #8]
+ldnp      s29, s28, [sp, #252]
+stnp      s27, s26, [sp, #-256]
+ldnp      s1, s2, [x3, #44]
+stnp      d3, d5, [x9, #504]
+stnp      d7, d11, [x10, #-512]
+ldnp      d2, d3, [x30, #-8]
+stnp      q3, q5, [sp]
+stnp      q17, q19, [sp, #1008]
+ldnp      q23, q29, [x1, #-1024]
+
+#------------------------------------------------------------------------------
+# Logical (immediate)
+#------------------------------------------------------------------------------
+
+mov      w3, #983055
+mov      x10, #-6148914691236517206
+
+#------------------------------------------------------------------------------
+# Logical (shifted register)
+#------------------------------------------------------------------------------
+
+and      w12, w23, w21
+and      w16, w15, w1, lsl #1
+and      w9, w4, w10, lsl #31
+and      w3, w30, w11
+and      x3, x5, x7, lsl #63
+and      x5, x14, x19, asr #4
+and      w3, w17, w19, ror #31
+and      w0, w2, wzr, lsr #17
+and      w3, w30, w11, asr #2
+and      xzr, x4, x26
+and      w3, wzr, w20, ror #2
+and      x7, x20, xzr, asr #63
+bic      x13, x20, x14, lsl #47
+bic      w2, w7, w9
+orr      w2, w7, w0, asr #31
+orr      x8, x9, x10, lsl #12
+orn      x3, x5, x7, asr #2
+orn      w2, w5, w29
+ands     w7, wzr, w9, lsl #1
+ands     x3, x5, x20, ror #63
+bics     w3, w5, w7
+bics     x3, xzr, x3, lsl #1
+tst      w3, w7, lsl #31
+tst      x2, x20, asr #2
+mov      x3, x6
+mov      x3, xzr
+mov      wzr, w2
+mov      w3, w5
+
+#------------------------------------------------------------------------------
+# Move wide (immediate)
+#------------------------------------------------------------------------------
+
+movz     w2, #0, lsl #16
+mov     w2, #-1235
+mov     x2, #5299989643264
+mov      x2, #0
+movk     w3, #0
+movz     x4, #0, lsl #16
+movk     w5, #0, lsl #16
+movz     x6, #0, lsl #32
+movk     x7, #0, lsl #32
+movz     x8, #0, lsl #48
+movk     x9, #0, lsl #48
+
+#------------------------------------------------------------------------------
+# PC-relative addressing
+#------------------------------------------------------------------------------
+
+adr      x2, #1600
+adrp     x21, #6553600
+adr      x0, #262144
+
+#------------------------------------------------------------------------------
+# Test and branch (immediate)
+#------------------------------------------------------------------------------
+
+tbz     x12, #62, #0
+tbz     x12, #62, #4
+tbz     x12, #62, #-32768
+tbnz    x12, #60, #32764
+
+#------------------------------------------------------------------------------
+# Unconditional branch (immediate)
+#------------------------------------------------------------------------------
+
+b        #4
+b        #-4
+b        #134217724
+
+#------------------------------------------------------------------------------
+# Unconditional branch (register)
+#------------------------------------------------------------------------------
+
+br       x20
+blr      xzr
+ret      x10
+ret
+eret
+drps
+
+# CHECK:      Instruction Info:
+# CHECK-NEXT: [1]: #uOps
+# CHECK-NEXT: [2]: Latency
+# CHECK-NEXT: [3]: RThroughput
+# CHECK-NEXT: [4]: MayLoad
+# CHECK-NEXT: [5]: MayStore
+# CHECK-NEXT: [6]: HasSideEffects (U)
+
+# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
+# CHECK-NEXT:  1      1     0.25                        add    w2, w3, #4095
+# CHECK-NEXT:  1      1     0.25                        add    w30, w29, #1, lsl #12
+# CHECK-NEXT:  1      1     0.25                        add    w13, w5, #4095, lsl #12
+# CHECK-NEXT:  1      1     0.25                        add    x5, x7, #1638
+# CHECK-NEXT:  1      1     0.25                        add    w20, wsp, #801
+# CHECK-NEXT:  1      1     0.25                        add    wsp, wsp, #1104
+# CHECK-NEXT:  1      1     0.25                        add    wsp, w30, #4084
+# CHECK-NEXT:  1      1     0.25                        add    x0, x24, #291
+# CHECK-NEXT:  1      1     0.25                        add    x3, x24, #4095, lsl #12
+# CHECK-NEXT:  1      1     0.25                        add    x8, sp, #1074
+# CHECK-NEXT:  1      1     0.25                        add    sp, x29, #3816
+# CHECK-NEXT:  1      1     0.25                        sub    w0, wsp, #4077
+# CHECK-NEXT:  1      1     0.25                        sub    w4, w20, #546, lsl #12
+# CHECK-NEXT:  1      1     0.25                        sub    sp, sp, #288
+# CHECK-NEXT:  1      1     0.25                        sub    wsp, w19, #16
+# CHECK-NEXT:  1      1     0.25                        adds   w13, w23, #291, lsl #12
+# CHECK-NEXT:  1      1     0.25                        cmn    w2, #4095
+# CHECK-NEXT:  1      1     0.25                        adds   w20, wsp, #0
+# CHECK-NEXT:  1      1     0.25                        cmn    x3, #1, lsl #12
+# CHECK-NEXT:  1      1     0.25                        cmp    sp, #20, lsl #12
+# CHECK-NEXT:  1      1     0.25                        cmp    x30, #4095
+# CHECK-NEXT:  1      1     0.25                        subs   x4, sp, #3822
+# CHECK-NEXT:  1      1     0.25                        cmn    w3, #291, lsl #12
+# CHECK-NEXT:  1      1     0.25                        cmn    wsp, #1365
+# CHECK-NEXT:  1      1     0.25                        cmn    sp, #1092, lsl #12
+# CHECK-NEXT:  1      1     0.25                        mov    sp, x30
+# CHECK-NEXT:  1      1     0.25                        mov    wsp, w20
+# CHECK-NEXT:  1      1     0.25                        mov    x11, sp
+# CHECK-NEXT:  1      1     0.25                        mov    w24, wsp
+# CHECK-NEXT:  1      1     0.25                        add    w3, w5, w7
+# CHECK-NEXT:  1      1     0.25                        add    wzr, w3, w5
+# CHECK-NEXT:  1      1     0.25                        add    w20, wzr, w4
+# CHECK-NEXT:  1      1     0.25                        add    w4, w6, wzr
+# CHECK-NEXT:  1      1     0.25                        add    w11, w13, w15
+# CHECK-NEXT:  1      1     0.25                        add    w9, w3, wzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        add    w17, w29, w20, lsl #31
+# CHECK-NEXT:  1      1     0.25                        add    w21, w22, w23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        add    w24, w25, w26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        add    w27, w28, w29, lsr #31
+# CHECK-NEXT:  1      1     0.25                        add    w2, w3, w4, asr #0
+# CHECK-NEXT:  1      1     0.25                        add    w5, w6, w7, asr #21
+# CHECK-NEXT:  1      1     0.25                        add    w8, w9, w10, asr #31
+# CHECK-NEXT:  1      1     0.25                        add    x3, x5, x7
+# CHECK-NEXT:  1      1     0.25                        add    xzr, x3, x5
+# CHECK-NEXT:  1      1     0.25                        add    x20, xzr, x4
+# CHECK-NEXT:  1      1     0.25                        add    x4, x6, xzr
+# CHECK-NEXT:  1      1     0.25                        add    x11, x13, x15
+# CHECK-NEXT:  1      1     0.25                        add    x9, x3, xzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        add    x17, x29, x20, lsl #63
+# CHECK-NEXT:  1      1     0.25                        add    x21, x22, x23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        add    x24, x25, x26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        add    x27, x28, x29, lsr #63
+# CHECK-NEXT:  1      1     0.25                        add    x2, x3, x4, asr #0
+# CHECK-NEXT:  1      1     0.25                        add    x5, x6, x7, asr #21
+# CHECK-NEXT:  1      1     0.25                        add    x8, x9, x10, asr #63
+# CHECK-NEXT:  1      1     0.25                        adds   w3, w5, w7
+# CHECK-NEXT:  1      1     0.25                        cmn    w3, w5
+# CHECK-NEXT:  1      1     0.25                        adds   w20, wzr, w4
+# CHECK-NEXT:  1      1     0.25                        adds   w4, w6, wzr
+# CHECK-NEXT:  1      1     0.25                        adds   w11, w13, w15
+# CHECK-NEXT:  1      1     0.25                        adds   w9, w3, wzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        adds   w17, w29, w20, lsl #31
+# CHECK-NEXT:  1      1     0.25                        adds   w21, w22, w23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        adds   w24, w25, w26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        adds   w27, w28, w29, lsr #31
+# CHECK-NEXT:  1      1     0.25                        adds   w2, w3, w4, asr #0
+# CHECK-NEXT:  1      1     0.25                        adds   w5, w6, w7, asr #21
+# CHECK-NEXT:  1      1     0.25                        adds   w8, w9, w10, asr #31
+# CHECK-NEXT:  1      1     0.25                        adds   x3, x5, x7
+# CHECK-NEXT:  1      1     0.25                        cmn    x3, x5
+# CHECK-NEXT:  1      1     0.25                        adds   x20, xzr, x4
+# CHECK-NEXT:  1      1     0.25                        adds   x4, x6, xzr
+# CHECK-NEXT:  1      1     0.25                        adds   x11, x13, x15
+# CHECK-NEXT:  1      1     0.25                        adds   x9, x3, xzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        adds   x17, x29, x20, lsl #63
+# CHECK-NEXT:  1      1     0.25                        adds   x21, x22, x23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        adds   x24, x25, x26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        adds   x27, x28, x29, lsr #63
+# CHECK-NEXT:  1      1     0.25                        adds   x2, x3, x4, asr #0
+# CHECK-NEXT:  1      1     0.25                        adds   x5, x6, x7, asr #21
+# CHECK-NEXT:  1      1     0.25                        adds   x8, x9, x10, asr #63
+# CHECK-NEXT:  1      1     0.25                        sub    w3, w5, w7
+# CHECK-NEXT:  1      1     0.25                        sub    wzr, w3, w5
+# CHECK-NEXT:  1      1     0.25                        sub    w4, w6, wzr
+# CHECK-NEXT:  1      1     0.25                        sub    w11, w13, w15
+# CHECK-NEXT:  1      1     0.25                        sub    w9, w3, wzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        sub    w17, w29, w20, lsl #31
+# CHECK-NEXT:  1      1     0.25                        sub    w21, w22, w23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        sub    w24, w25, w26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        sub    w27, w28, w29, lsr #31
+# CHECK-NEXT:  1      1     0.25                        sub    w2, w3, w4, asr #0
+# CHECK-NEXT:  1      1     0.25                        sub    w5, w6, w7, asr #21
+# CHECK-NEXT:  1      1     0.25                        sub    w8, w9, w10, asr #31
+# CHECK-NEXT:  1      1     0.25                        sub    x3, x5, x7
+# CHECK-NEXT:  1      1     0.25                        sub    xzr, x3, x5
+# CHECK-NEXT:  1      1     0.25                        sub    x4, x6, xzr
+# CHECK-NEXT:  1      1     0.25                        sub    x11, x13, x15
+# CHECK-NEXT:  1      1     0.25                        sub    x9, x3, xzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        sub    x17, x29, x20, lsl #63
+# CHECK-NEXT:  1      1     0.25                        sub    x21, x22, x23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        sub    x24, x25, x26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        sub    x27, x28, x29, lsr #63
+# CHECK-NEXT:  1      1     0.25                        sub    x2, x3, x4, asr #0
+# CHECK-NEXT:  1      1     0.25                        sub    x5, x6, x7, asr #21
+# CHECK-NEXT:  1      1     0.25                        sub    x8, x9, x10, asr #63
+# CHECK-NEXT:  1      1     0.25                        subs   w3, w5, w7
+# CHECK-NEXT:  1      1     0.25                        cmp    w3, w5
+# CHECK-NEXT:  1      1     0.25                        subs   w4, w6, wzr
+# CHECK-NEXT:  1      1     0.25                        subs   w11, w13, w15
+# CHECK-NEXT:  1      1     0.25                        subs   w9, w3, wzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        subs   w17, w29, w20, lsl #31
+# CHECK-NEXT:  1      1     0.25                        subs   w21, w22, w23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        subs   w24, w25, w26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        subs   w27, w28, w29, lsr #31
+# CHECK-NEXT:  1      1     0.25                        subs   w2, w3, w4, asr #0
+# CHECK-NEXT:  1      1     0.25                        subs   w5, w6, w7, asr #21
+# CHECK-NEXT:  1      1     0.25                        subs   w8, w9, w10, asr #31
+# CHECK-NEXT:  1      1     0.25                        subs   x3, x5, x7
+# CHECK-NEXT:  1      1     0.25                        cmp    x3, x5
+# CHECK-NEXT:  1      1     0.25                        subs   x4, x6, xzr
+# CHECK-NEXT:  1      1     0.25                        subs   x11, x13, x15
+# CHECK-NEXT:  1      1     0.25                        subs   x9, x3, xzr, lsl #10
+# CHECK-NEXT:  1      1     0.25                        subs   x17, x29, x20, lsl #63
+# CHECK-NEXT:  1      1     0.25                        subs   x21, x22, x23, lsr #0
+# CHECK-NEXT:  1      1     0.25                        subs   x24, x25, x26, lsr #18
+# CHECK-NEXT:  1      1     0.25                        subs   x27, x28, x29, lsr #63
+# CHECK-NEXT:  1      1     0.25                        subs   x2, x3, x4, asr #0
+# CHECK-NEXT:  1      1     0.25                        subs   x5, x6, x7, asr #21
+# CHECK-NEXT:  1      1     0.25                        subs   x8, x9, x10, asr #63
+# CHECK-NEXT:  1      1     0.25                        cmn    wzr, w4
+# CHECK-NEXT:  1      1     0.25                        cmn    w5, wzr
+# CHECK-NEXT:  1      1     0.25                        cmn    w6, w7
+# CHECK-NEXT:  1      1     0.25                        cmn    w8, w9, lsl #15
+# CHECK-NEXT:  1      1     0.25                        cmn    w10, w11, lsl #31
+# CHECK-NEXT:  1      1     0.25                        cmn    w12, w13, lsr #0
+# CHECK-NEXT:  1      1     0.25                        cmn    w14, w15, lsr #21
+# CHECK-NEXT:  1      1     0.25                        cmn    w16, w17, lsr #31
+# CHECK-NEXT:  1      1     0.25                        cmn    w18, w19, asr #0
+# CHECK-NEXT:  1      1     0.25                        cmn    w20, w21, asr #22
+# CHECK-NEXT:  1      1     0.25                        cmn    w22, w23, asr #31
+# CHECK-NEXT:  1      1     0.25                        cmn    x0, x3
+# CHECK-NEXT:  1      1     0.25                        cmn    xzr, x4
+# CHECK-NEXT:  1      1     0.25                        cmn    x5, xzr
+# CHECK-NEXT:  1      1     0.25                        cmn    x6, x7
+# CHECK-NEXT:  1      1     0.25                        cmn    x8, x9, lsl #15
+# CHECK-NEXT:  1      1     0.25                        cmn    x10, x11, lsl #63
+# CHECK-NEXT:  1      1     0.25                        cmn    x12, x13, lsr #0
+# CHECK-NEXT:  1      1     0.25                        cmn    x14, x15, lsr #41
+# CHECK-NEXT:  1      1     0.25                        cmn    x16, x17, lsr #63
+# CHECK-NEXT:  1      1     0.25                        cmn    x18, x19, asr #0
+# CHECK-NEXT:  1      1     0.25                        cmn    x20, x21, asr #55
+# CHECK-NEXT:  1      1     0.25                        cmn    x22, x23, asr #63
+# CHECK-NEXT:  1      1     0.25                        cmp    w0, w3
+# CHECK-NEXT:  1      1     0.25                        cmp    wzr, w4
+# CHECK-NEXT:  1      1     0.25                        cmp    w5, wzr
+# CHECK-NEXT:  1      1     0.25                        cmp    w6, w7
+# CHECK-NEXT:  1      1     0.25                        cmp    w8, w9, lsl #15
+# CHECK-NEXT:  1      1     0.25                        cmp    w10, w11, lsl #31
+# CHECK-NEXT:  1      1     0.25                        cmp    w12, w13, lsr #0
+# CHECK-NEXT:  1      1     0.25                        cmp    w14, w15, lsr #21
+# CHECK-NEXT:  1      1     0.25                        cmp    w18, w19, asr #0
+# CHECK-NEXT:  1      1     0.25                        cmp    w20, w21, asr #22
+# CHECK-NEXT:  1      1     0.25                        cmp    w22, w23, asr #31
+# CHECK-NEXT:  1      1     0.25                        cmp    x0, x3
+# CHECK-NEXT:  1      1     0.25                        cmp    xzr, x4
+# CHECK-NEXT:  1      1     0.25                        cmp    x5, xzr
+# CHECK-NEXT:  1      1     0.25                        cmp    x6, x7
+# CHECK-NEXT:  1      1     0.25                        cmp    x8, x9, lsl #15
+# CHECK-NEXT:  1      1     0.25                        cmp    x10, x11, lsl #63
+# CHECK-NEXT:  1      1     0.25                        cmp    x12, x13, lsr #0
+# CHECK-NEXT:  1      1     0.25                        cmp    x14, x15, lsr #41
+# CHECK-NEXT:  1      1     0.25                        cmp    x16, x17, lsr #63
+# CHECK-NEXT:  1      1     0.25                        cmp    x18, x19, asr #0
+# CHECK-NEXT:  1      1     0.25                        cmp    x20, x21, asr #55
+# CHECK-NEXT:  1      1     0.25                        cmp    x22, x23, asr #63
+# CHECK-NEXT:  1      1     0.25                        cmp    wzr, w0
+# CHECK-NEXT:  1      1     0.25                        cmp    xzr, x0
+# CHECK-NEXT:  1      1     0.25                        adc    w29, w27, w25
+# CHECK-NEXT:  1      1     0.25                        adc    wzr, w3, w4
+# CHECK-NEXT:  1      1     0.25                        adc    w9, wzr, w10
+# CHECK-NEXT:  1      1     0.25                        adc    w20, w0, wzr
+# CHECK-NEXT:  1      1     0.25                        adc    x29, x27, x25
+# CHECK-NEXT:  1      1     0.25                        adc    xzr, x3, x4
+# CHECK-NEXT:  1      1     0.25                        adc    x9, xzr, x10
+# CHECK-NEXT:  1      1     0.25                        adc    x20, x0, xzr
+# CHECK-NEXT:  1      1     0.25                        adcs   w29, w27, w25
+# CHECK-NEXT:  1      1     0.25                        adcs   wzr, w3, w4
+# CHECK-NEXT:  1      1     0.25                        adcs   w9, wzr, w10
+# CHECK-NEXT:  1      1     0.25                        adcs   w20, w0, wzr
+# CHECK-NEXT:  1      1     0.25                        adcs   x29, x27, x25
+# CHECK-NEXT:  1      1     0.25                        adcs   xzr, x3, x4
+# CHECK-NEXT:  1      1     0.25                        adcs   x9, xzr, x10
+# CHECK-NEXT:  1      1     0.25                        adcs   x20, x0, xzr
+# CHECK-NEXT:  1      1     0.25                        sbc    w29, w27, w25
+# CHECK-NEXT:  1      1     0.25                        sbc    wzr, w3, w4
+# CHECK-NEXT:  1      1     0.25                        ngc    w9, w10
+# CHECK-NEXT:  1      1     0.25                        sbc    w20, w0, wzr
+# CHECK-NEXT:  1      1     0.25                        sbc    x29, x27, x25
+# CHECK-NEXT:  1      1     0.25                        sbc    xzr, x3, x4
+# CHECK-NEXT:  1      1     0.25                        ngc    x9, x10
+# CHECK-NEXT:  1      1     0.25                        sbc    x20, x0, xzr
+# CHECK-NEXT:  1      1     0.25                        sbcs   w29, w27, w25
+# CHECK-NEXT:  1      1     0.25                        sbcs   wzr, w3, w4
+# CHECK-NEXT:  1      1     0.25                        ngcs   w9, w10
+# CHECK-NEXT:  1      1     0.25                        sbcs   w20, w0, wzr
+# CHECK-NEXT:  1      1     0.25                        sbcs   x29, x27, x25
+# CHECK-NEXT:  1      1     0.25                        sbcs   xzr, x3, x4
+# CHECK-NEXT:  1      1     0.25                        ngcs   x9, x10
+# CHECK-NEXT:  1      1     0.25                        sbcs   x20, x0, xzr
+# CHECK-NEXT:  1      1     0.25                        ngc    w3, w12
+# CHECK-NEXT:  1      1     0.25                        ngc    wzr, w9
+# CHECK-NEXT:  1      1     0.25                        ngc    w23, wzr
+# CHECK-NEXT:  1      1     0.25                        ngc    x29, x30
+# CHECK-NEXT:  1      1     0.25                        ngc    xzr, x0
+# CHECK-NEXT:  1      1     0.25                        ngc    x0, xzr
+# CHECK-NEXT:  1      1     0.25                        ngcs   w3, w12
+# CHECK-NEXT:  1      1     0.25                        ngcs   wzr, w9
+# CHECK-NEXT:  1      1     0.25                        ngcs   w23, wzr
+# CHECK-NEXT:  1      1     0.25                        ngcs   x29, x30
+# CHECK-NEXT:  1      1     0.25                        ngcs   xzr, x0
+# CHECK-NEXT:  1      1     0.25                        ngcs   x0, xzr
+# CHECK-NEXT:  1      1     0.50                        sbfx   x1, x2, #3, #2
+# CHECK-NEXT:  1      1     0.50                        asr    x3, x4, #63
+# CHECK-NEXT:  1      1     0.50                        asr    wzr, wzr, #31
+# CHECK-NEXT:  1      1     0.50                        sbfx   w12, w9, #0, #1
+# CHECK-NEXT:  1      1     0.50                        ubfiz  x4, x5, #52, #11
+# CHECK-NEXT:  1      1     0.50                        ubfx   xzr, x4, #0, #1
+# CHECK-NEXT:  1      1     0.50                        ubfiz  x4, xzr, #1, #6
+# CHECK-NEXT:  1      1     0.50                        lsr    x5, x6, #12
+# CHECK-NEXT:  4      4     0.50                        bfi    x4, x5, #52, #11
+# CHECK-NEXT:  4      4     0.50                        bfxil  xzr, x4, #0, #1
+# CHECK-NEXT:  4      4     0.50                        bfc    x4, #1, #6
+# CHECK-NEXT:  4      4     0.50                        bfxil  x5, x6, #12, #52
+# CHECK-NEXT:  1      1     0.50                        sxtb   w1, w2
+# CHECK-NEXT:  1      1     0.50                        sxtb   xzr, w3
+# CHECK-NEXT:  1      1     0.50                        sxth   w9, w10
+# CHECK-NEXT:  1      1     0.50                        sxth   x0, w1
+# CHECK-NEXT:  1      1     0.50                        sxtw   x3, w30
+# CHECK-NEXT:  1      1     0.50                        uxtb   w1, w2
+# CHECK-NEXT:  1      1     0.50                        uxth   w9, w10
+# CHECK-NEXT:  1      1     0.50                        ubfx   x3, x30, #0, #32
+# CHECK-NEXT:  1      1     0.50                        asr    w3, w2, #0
+# CHECK-NEXT:  1      1     0.50                        asr    w9, w10, #31
+# CHECK-NEXT:  1      1     0.50                        asr    x20, x21, #63
+# CHECK-NEXT:  1      1     0.50                        asr    w1, wzr, #3
+# CHECK-NEXT:  1      1     0.50                        lsr    w3, w2, #0
+# CHECK-NEXT:  1      1     0.50                        lsr    w9, w10, #31
+# CHECK-NEXT:  1      1     0.50                        lsr    x20, x21, #63
+# CHECK-NEXT:  1      1     0.50                        lsr    wzr, wzr, #3
+# CHECK-NEXT:  1      1     0.50                        lsr    w3, w2, #0
+# CHECK-NEXT:  1      1     0.50                        lsl    w9, w10, #31
+# CHECK-NEXT:  1      1     0.50                        lsl    x20, x21, #63
+# CHECK-NEXT:  1      1     0.50                        lsl    w1, wzr, #3
+# CHECK-NEXT:  1      1     0.50                        sbfx   w9, w10, #0, #1
+# CHECK-NEXT:  1      1     0.50                        sbfiz  x2, x3, #63, #1
+# CHECK-NEXT:  1      1     0.50                        asr    x19, x20, #0
+# CHECK-NEXT:  1      1     0.50                        sbfiz  x9, x10, #5, #59
+# CHECK-NEXT:  1      1     0.50                        asr    w9, w10, #0
+# CHECK-NEXT:  1      1     0.50                        sbfiz  w11, w12, #31, #1
+# CHECK-NEXT:  1      1     0.50                        sbfiz  w13, w14, #29, #3
+# CHECK-NEXT:  1      1     0.50                        sbfiz  xzr, xzr, #10, #11
+# CHECK-NEXT:  1      1     0.50                        sbfx   w9, w10, #0, #1
+# CHECK-NEXT:  1      1     0.50                        asr    x2, x3, #63
+# CHECK-NEXT:  1      1     0.50                        asr    x19, x20, #0
+# CHECK-NEXT:  1      1     0.50                        asr    x9, x10, #5
+# CHECK-NEXT:  1      1     0.50                        asr    w9, w10, #0
+# CHECK-NEXT:  1      1     0.50                        asr    w11, w12, #31
+# CHECK-NEXT:  1      1     0.50                        asr    w13, w14, #29
+# CHECK-NEXT:  1      1     0.50                        sbfx   xzr, xzr, #10, #11
+# CHECK-NEXT:  4      4     0.50                        bfxil  w9, w10, #0, #1
+# CHECK-NEXT:  4      4     0.50                        bfi    x2, x3, #63, #1
+# CHECK-NEXT:  4      4     0.50                        bfxil  x19, x20, #0, #64
+# CHECK-NEXT:  4      4     0.50                        bfi    x9, x10, #5, #59
+# CHECK-NEXT:  4      4     0.50                        bfxil  w9, w10, #0, #32
+# CHECK-NEXT:  4      4     0.50                        bfi    w11, w12, #31, #1
+# CHECK-NEXT:  4      4     0.50                        bfi    w13, w14, #29, #3
+# CHECK-NEXT:  4      4     0.50                        bfc    xzr, #10, #11
+# CHECK-NEXT:  4      4     0.50                        bfxil  w9, w10, #0, #1
+# CHECK-NEXT:  4      4     0.50                        bfxil  x2, x3, #63, #1
+# CHECK-NEXT:  4      4     0.50                        bfxil  x19, x20, #0, #64
+# CHECK-NEXT:  4      4     0.50                        bfxil  x9, x10, #5, #59
+# CHECK-NEXT:  4      4     0.50                        bfxil  w9, w10, #0, #32
+# CHECK-NEXT:  4      4     0.50                        bfxil  w11, w12, #31, #1
+# CHECK-NEXT:  4      4     0.50                        bfxil  w13, w14, #29, #3
+# CHECK-NEXT:  4      4     0.50                        bfxil  xzr, xzr, #10, #11
+# CHECK-NEXT:  1      1     0.50                        ubfx   w9, w10, #0, #1
+# CHECK-NEXT:  1      1     0.50                        lsl    x2, x3, #63
+# CHECK-NEXT:  1      1     0.50                        lsr    x19, x20, #0
+# CHECK-NEXT:  1      1     0.50                        lsl    x9, x10, #5
+# CHECK-NEXT:  1      1     0.50                        lsr    w9, w10, #0
+# CHECK-NEXT:  1      1     0.50                        lsl    w11, w12, #31
+# CHECK-NEXT:  1      1     0.50                        lsl    w13, w14, #29
+# CHECK-NEXT:  1      1     0.50                        ubfiz  xzr, xzr, #10, #11
+# CHECK-NEXT:  1      1     0.50                        ubfx   w9, w10, #0, #1
+# CHECK-NEXT:  1      1     0.50                        lsr    x2, x3, #63
+# CHECK-NEXT:  1      1     0.50                        lsr    x19, x20, #0
+# CHECK-NEXT:  1      1     0.50                        lsr    x9, x10, #5
+# CHECK-NEXT:  1      1     0.50                        lsr    w9, w10, #0
+# CHECK-NEXT:  1      1     0.50                        lsr    w11, w12, #31
+# CHECK-NEXT:  1      1     0.50                        lsr    w13, w14, #29
+# CHECK-NEXT:  1      1     0.50                        ubfx   xzr, xzr, #10, #11
+# CHECK-NEXT:  1      1     1.00                        cbz    w5, #4
+# CHECK-NEXT:  1      1     1.00                        cbz    x5, #0
+# CHECK-NEXT:  1      1     1.00                        cbnz   x2, #-4
+# CHECK-NEXT:  1      1     1.00                        cbnz   x26, #1048572
+# CHECK-NEXT:  1      1     1.00                        cbz    wzr, #0
+# CHECK-NEXT:  1      1     1.00                        cbnz   xzr, #0
+# CHECK-NEXT:  1      1     1.00                        b.ne   #4
+# CHECK-NEXT:  1      1     1.00                        b.ge   #1048572
+# CHECK-NEXT:  1      1     1.00                        b.ge   #-4
+# CHECK-NEXT:  1      1     0.25                        ccmp   w1, #31, #0, eq
+# CHECK-NEXT:  1      1     0.25                        ccmp   w3, #0, #15, hs
+# CHECK-NEXT:  1      1     0.25                        ccmp   wzr, #15, #13, hs
+# CHECK-NEXT:  1      1     0.25                        ccmp   x9, #31, #0, le
+# CHECK-NEXT:  1      1     0.25                        ccmp   x3, #0, #15, gt
+# CHECK-NEXT:  1      1     0.25                        ccmp   xzr, #5, #7, ne
+# CHECK-NEXT:  1      1     0.25                        ccmn   w1, #31, #0, eq
+# CHECK-NEXT:  1      1     0.25                        ccmn   w3, #0, #15, hs
+# CHECK-NEXT:  1      1     0.25                        ccmn   wzr, #15, #13, hs
+# CHECK-NEXT:  1      1     0.25                        ccmn   x9, #31, #0, le
+# CHECK-NEXT:  1      1     0.25                        ccmn   x3, #0, #15, gt
+# CHECK-NEXT:  1      1     0.25                        ccmn   xzr, #5, #7, ne
+# CHECK-NEXT:  1      1     0.25                        ccmp   w1, wzr, #0, eq
+# CHECK-NEXT:  1      1     0.25                        ccmp   w3, w0, #15, hs
+# CHECK-NEXT:  1      1     0.25                        ccmp   wzr, w15, #13, hs
+# CHECK-NEXT:  1      1     0.25                        ccmp   x9, xzr, #0, le
+# CHECK-NEXT:  1      1     0.25                        ccmp   x3, x0, #15, gt
+# CHECK-NEXT:  1      1     0.25                        ccmp   xzr, x5, #7, ne
+# CHECK-NEXT:  1      1     0.25                        ccmn   w1, wzr, #0, eq
+# CHECK-NEXT:  1      1     0.25                        ccmn   w3, w0, #15, hs
+# CHECK-NEXT:  1      1     0.25                        ccmn   wzr, w15, #13, hs
+# CHECK-NEXT:  1      1     0.25                        ccmn   x9, xzr, #0, le
+# CHECK-NEXT:  1      1     0.25                        ccmn   x3, x0, #15, gt
+# CHECK-NEXT:  1      1     0.25                        ccmn   xzr, x5, #7, ne
+# CHECK-NEXT:  1      1     0.25                        csel   w1, w0, w19, ne
+# CHECK-NEXT:  1      1     0.25                        csel   wzr, w5, w9, eq
+# CHECK-NEXT:  1      1     0.25                        csel   w9, wzr, w30, gt
+# CHECK-NEXT:  1      1     0.25                        csel   w1, w28, wzr, mi
+# CHECK-NEXT:  1      1     0.25                        csel   x19, x23, x29, lt
+# CHECK-NEXT:  1      1     0.25                        csel   xzr, x3, x4, ge
+# CHECK-NEXT:  1      1     0.25                        csel   x5, xzr, x6, hs
+# CHECK-NEXT:  1      1     0.25                        csel   x7, x8, xzr, lo
+# CHECK-NEXT:  1      1     0.25                        csinc  w1, w0, w19, ne
+# CHECK-NEXT:  1      1     0.25                        csinc  wzr, w5, w9, eq
+# CHECK-NEXT:  1      1     0.25                        csinc  w9, wzr, w30, gt
+# CHECK-NEXT:  1      1     0.25                        csinc  w1, w28, wzr, mi
+# CHECK-NEXT:  1      1     0.25                        csinc  x19, x23, x29, lt
+# CHECK-NEXT:  1      1     0.25                        csinc  xzr, x3, x4, ge
+# CHECK-NEXT:  1      1     0.25                        csinc  x5, xzr, x6, hs
+# CHECK-NEXT:  1      1     0.25                        csinc  x7, x8, xzr, lo
+# CHECK-NEXT:  1      1     0.25                        csinv  w1, w0, w19, ne
+# CHECK-NEXT:  1      1     0.25                        csinv  wzr, w5, w9, eq
+# CHECK-NEXT:  1      1     0.25                        csinv  w9, wzr, w30, gt
+# CHECK-NEXT:  1      1     0.25                        csinv  w1, w28, wzr, mi
+# CHECK-NEXT:  1      1     0.25                        csinv  x19, x23, x29, lt
+# CHECK-NEXT:  1      1     0.25                        csinv  xzr, x3, x4, ge
+# CHECK-NEXT:  1      1     0.25                        csinv  x5, xzr, x6, hs
+# CHECK-NEXT:  1      1     0.25                        csinv  x7, x8, xzr, lo
+# CHECK-NEXT:  1      1     0.25                        csneg  w1, w0, w19, ne
+# CHECK-NEXT:  1      1     0.25                        csneg  wzr, w5, w9, eq
+# CHECK-NEXT:  1      1     0.25                        csneg  w9, wzr, w30, gt
+# CHECK-NEXT:  1      1     0.25                        csneg  w1, w28, wzr, mi
+# CHECK-NEXT:  1      1     0.25                        csneg  x19, x23, x29, lt
+# CHECK-NEXT:  1      1     0.25                        csneg  xzr, x3, x4, ge
+# CHECK-NEXT:  1      1     0.25                        csneg  x5, xzr, x6, hs
+# CHECK-NEXT:  1      1     0.25                        csneg  x7, x8, xzr, lo
+# CHECK-NEXT:  1      1     0.25                        cset   w3, eq
+# CHECK-NEXT:  1      1     0.25                        cset   x9, pl
+# CHECK-NEXT:  1      1     0.25                        csetm  w20, ne
+# CHECK-NEXT:  1      1     0.25                        csetm  x30, ge
+# CHECK-NEXT:  1      1     0.25                        csinc  w2, wzr, wzr, al
+# CHECK-NEXT:  1      1     0.25                        csinv  x3, xzr, xzr, nv
+# CHECK-NEXT:  1      1     0.25                        cinc   w3, w5, gt
+# CHECK-NEXT:  1      1     0.25                        cinc   wzr, w4, le
+# CHECK-NEXT:  1      1     0.25                        cset   w9, lt
+# CHECK-NEXT:  1      1     0.25                        cinc   x3, x5, gt
+# CHECK-NEXT:  1      1     0.25                        cinc   xzr, x4, le
+# CHECK-NEXT:  1      1     0.25                        cset   x9, lt
+# CHECK-NEXT:  1      1     0.25                        csinc  w5, w6, w6, nv
+# CHECK-NEXT:  1      1     0.25                        csinc  x1, x2, x2, al
+# CHECK-NEXT:  1      1     0.25                        cinv   w3, w5, gt
+# CHECK-NEXT:  1      1     0.25                        cinv   wzr, w4, le
+# CHECK-NEXT:  1      1     0.25                        csetm  w9, lt
+# CHECK-NEXT:  1      1     0.25                        cinv   x3, x5, gt
+# CHECK-NEXT:  1      1     0.25                        cinv   xzr, x4, le
+# CHECK-NEXT:  1      1     0.25                        csetm  x9, lt
+# CHECK-NEXT:  1      1     0.25                        csinv  x1, x0, x0, al
+# CHECK-NEXT:  1      1     0.25                        csinv  w9, w8, w8, nv
+# CHECK-NEXT:  1      1     0.25                        cneg   w3, w5, gt
+# CHECK-NEXT:  1      1     0.25                        cneg   wzr, w4, le
+# CHECK-NEXT:  1      1     0.25                        cneg   w9, wzr, lt
+# CHECK-NEXT:  1      1     0.25                        cneg   x3, x5, gt
+# CHECK-NEXT:  1      1     0.25                        cneg   xzr, x4, le
+# CHECK-NEXT:  1      1     0.25                        cneg   x9, xzr, lt
+# CHECK-NEXT:  1      1     0.25                        csneg  x4, x8, x8, al
+# CHECK-NEXT:  1      1     0.25                        csinv  w9, w8, w8, nv
+# CHECK-NEXT:  1      4     0.50                        rbit   w0, w7
+# CHECK-NEXT:  1      4     0.50                        rbit   x18, x3
+# CHECK-NEXT:  1      1     0.25                        rev16  w17, w1
+# CHECK-NEXT:  1      1     0.25                        rev16  x5, x2
+# CHECK-NEXT:  1      1     0.25                        rev    w18, w0
+# CHECK-NEXT:  1      1     0.25                        rev32  x20, x1
+# CHECK-NEXT:  1      1     0.25                        rev    x22, x2
+# CHECK-NEXT:  1      2     1.00                        clz    w24, w3
+# CHECK-NEXT:  1      2     1.00                        clz    x26, x4
+# CHECK-NEXT:  1      2     1.00                        cls    w3, w5
+# CHECK-NEXT:  1      2     1.00                        cls    x20, x5
+# CHECK-NEXT:  1      39    39.00                       udiv   w0, w7, w10
+# CHECK-NEXT:  1      23    23.00                       udiv   x9, x22, x4
+# CHECK-NEXT:  1      39    39.00                       sdiv   w12, w21, w0
+# CHECK-NEXT:  1      23    23.00                       sdiv   x13, x2, x1
+# CHECK-NEXT:  1      2     0.50                        lsl    w11, w12, w13
+# CHECK-NEXT:  1      2     0.50                        lsl    x14, x15, x16
+# CHECK-NEXT:  1      1     0.25                        lsr    w17, w18, w19
+# CHECK-NEXT:  1      1     0.25                        lsr    x20, x21, x22
+# CHECK-NEXT:  1      2     0.50                        asr    w23, w24, w25
+# CHECK-NEXT:  1      2     0.50                        asr    x26, x27, x28
+# CHECK-NEXT:  1      2     0.50                        ror    w0, w1, w2
+# CHECK-NEXT:  1      2     0.50                        ror    x3, x4, x5
+# CHECK-NEXT:  1      2     0.50                        lsl    w6, w7, w8
+# CHECK-NEXT:  1      2     0.50                        lsl    x9, x10, x11
+# CHECK-NEXT:  1      1     0.25                        lsr    w12, w13, w14
+# CHECK-NEXT:  1      1     0.25                        lsr    x15, x16, x17
+# CHECK-NEXT:  1      2     0.50                        asr    w18, w19, w20
+# CHECK-NEXT:  1      2     0.50                        asr    x21, x22, x23
+# CHECK-NEXT:  1      2     0.50                        ror    w24, w25, w26
+# CHECK-NEXT:  1      2     0.50                        ror    x27, x28, x29
+# CHECK-NEXT:  1      5     1.00                        smulh  x30, x29, x28
+# CHECK-NEXT:  1      5     1.00                        smulh  xzr, x27, x26
+# CHECK-NEXT:  1      5     1.00                        umulh  x30, x29, x28
+# CHECK-NEXT:  1      5     1.00                        umulh  x23, x30, xzr
+# CHECK-NEXT:  1      5     0.25                        madd   w1, w3, w7, w4
+# CHECK-NEXT:  1      5     0.25                        madd   wzr, w0, w9, w11
+# CHECK-NEXT:  1      5     0.25                        madd   w13, wzr, w4, w4
+# CHECK-NEXT:  1      5     0.25                        madd   w19, w30, wzr, w29
+# CHECK-NEXT:  1      5     0.25                        mul    w4, w5, w6
+# CHECK-NEXT:  1      5     0.25                        madd   x1, x3, x7, x4
+# CHECK-NEXT:  1      5     0.25                        madd   xzr, x0, x9, x11
+# CHECK-NEXT:  1      5     0.25                        madd   x13, xzr, x4, x4
+# CHECK-NEXT:  1      5     0.25                        madd   x19, x30, xzr, x29
+# CHECK-NEXT:  1      5     0.25                        mul    x4, x5, x6
+# CHECK-NEXT:  1      5     0.25                        msub   w1, w3, w7, w4
+# CHECK-NEXT:  1      5     0.25                        msub   wzr, w0, w9, w11
+# CHECK-NEXT:  1      5     0.25                        msub   w13, wzr, w4, w4
+# CHECK-NEXT:  1      5     0.25                        msub   w19, w30, wzr, w29
+# CHECK-NEXT:  1      5     0.25                        mneg   w4, w5, w6
+# CHECK-NEXT:  1      5     0.25                        msub   x1, x3, x7, x4
+# CHECK-NEXT:  1      5     0.25                        msub   xzr, x0, x9, x11
+# CHECK-NEXT:  1      5     0.25                        msub   x13, xzr, x4, x4
+# CHECK-NEXT:  1      5     0.25                        msub   x19, x30, xzr, x29
+# CHECK-NEXT:  1      5     0.25                        mneg   x4, x5, x6
+# CHECK-NEXT:  1      6     0.50                        smaddl x3, w5, w2, x9
+# CHECK-NEXT:  1      6     0.50                        smaddl xzr, w10, w11, x12
+# CHECK-NEXT:  1      6     0.50                        smaddl x13, wzr, w14, x15
+# CHECK-NEXT:  1      6     0.50                        smaddl x16, w17, wzr, x18
+# CHECK-NEXT:  1      6     0.50                        smull  x19, w20, w21
+# CHECK-NEXT:  1      6     0.50                        smsubl x3, w5, w2, x9
+# CHECK-NEXT:  1      6     0.50                        smsubl xzr, w10, w11, x12
+# CHECK-NEXT:  1      6     0.50                        smsubl x13, wzr, w14, x15
+# CHECK-NEXT:  1      6     0.50                        smsubl x16, w17, wzr, x18
+# CHECK-NEXT:  1      6     0.50                        smnegl x19, w20, w21
+# CHECK-NEXT:  1      6     0.50                        umaddl x3, w5, w2, x9
+# CHECK-NEXT:  1      6     0.50                        umaddl xzr, w10, w11, x12
+# CHECK-NEXT:  1      6     0.50                        umaddl x13, wzr, w14, x15
+# CHECK-NEXT:  1      6     0.50                        umaddl x16, w17, wzr, x18
+# CHECK-NEXT:  1      6     0.50                        umull  x19, w20, w21
+# CHECK-NEXT:  1      6     0.50                        umsubl x3, w5, w2, x9
+# CHECK-NEXT:  1      6     0.50                        umsubl x16, w17, wzr, x18
+# CHECK-NEXT:  1      6     0.50                        umnegl x19, w20, w21
+# CHECK-NEXT:  1      5     1.00                        smulh  x30, x29, x28
+# CHECK-NEXT:  1      5     1.00                        smulh  x23, x22, xzr
+# CHECK-NEXT:  1      5     1.00                        umulh  x23, x22, xzr
+# CHECK-NEXT:  1      5     0.25                        mul    x19, x20, xzr
+# CHECK-NEXT:  1      5     0.25                        mneg   w21, w22, w23
+# CHECK-NEXT:  1      6     0.50                        smull  x11, w13, w17
+# CHECK-NEXT:  1      6     0.50                        umull  x11, w13, w17
+# CHECK-NEXT:  1      6     0.50                        smnegl x11, w13, w17
+# CHECK-NEXT:  1      6     0.50                        umnegl x11, w13, w17
+# CHECK-NEXT:  1      2     0.50                        extr   w3, w5, w7, #0
+# CHECK-NEXT:  1      2     0.50                        extr   w11, w13, w17, #31
+# CHECK-NEXT:  1      2     0.50                        extr   x3, x5, x7, #15
+# CHECK-NEXT:  1      2     0.50                        extr   x11, x13, x17, #63
+# CHECK-NEXT:  1      2     0.50                        ror    x19, x23, #24
+# CHECK-NEXT:  1      2     0.50                        ror    x29, xzr, #63
+# CHECK-NEXT:  1      2     0.50                        ror    w9, w13, #31
+# CHECK-NEXT:  1      4     1.00                        fcmp   s3, s5
+# CHECK-NEXT:  1      4     1.00                        fcmp   s31, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmp   s31, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmpe  s29, s30
+# CHECK-NEXT:  1      4     1.00                        fcmpe  s15, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmpe  s15, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmp   d4, d12
+# CHECK-NEXT:  1      4     1.00                        fcmp   d23, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmp   d23, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmpe  d26, d22
+# CHECK-NEXT:  1      4     1.00                        fcmpe  d29, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmpe  d29, #0.0
+# CHECK-NEXT:  1      4     1.00                        fccmp  s1, s31, #0, eq
+# CHECK-NEXT:  1      4     1.00                        fccmp  s3, s0, #15, hs
+# CHECK-NEXT:  1      4     1.00                        fccmp  s31, s15, #13, hs
+# CHECK-NEXT:  1      4     1.00                        fccmp  d9, d31, #0, le
+# CHECK-NEXT:  1      4     1.00                        fccmp  d3, d0, #15, gt
+# CHECK-NEXT:  1      4     1.00                        fccmp  d31, d5, #7, ne
+# CHECK-NEXT:  1      4     1.00                        fccmpe s1, s31, #0, eq
+# CHECK-NEXT:  1      4     1.00                        fccmpe s3, s0, #15, hs
+# CHECK-NEXT:  1      4     1.00                        fccmpe s31, s15, #13, hs
+# CHECK-NEXT:  1      4     1.00                        fccmpe d9, d31, #0, le
+# CHECK-NEXT:  1      4     1.00                        fccmpe d3, d0, #15, gt
+# CHECK-NEXT:  1      4     1.00                        fccmpe d31, d5, #7, ne
+# CHECK-NEXT:  1      4     0.50                        fcsel  s3, s20, s9, pl
+# CHECK-NEXT:  1      4     0.50                        fcsel  d9, d10, d11, mi
+# CHECK-NEXT:  1      4     1.00                        fmov   s0, s1
+# CHECK-NEXT:  1      4     1.00                        fabs   s2, s3
+# CHECK-NEXT:  1      4     1.00                        fneg   s4, s5
+# CHECK-NEXT:  1      29    1.00                        fsqrt  s6, s7
+# CHECK-NEXT:  1      9     1.00                        fcvt   d8, s9
+# CHECK-NEXT:  1      9     1.00                        fcvt   h10, s11
+# CHECK-NEXT:  1      9     0.50                        frintn s12, s13
+# CHECK-NEXT:  1      9     0.50                        frintp s14, s15
+# CHECK-NEXT:  1      9     0.50                        frintm s16, s17
+# CHECK-NEXT:  1      9     0.50                        frintz s18, s19
+# CHECK-NEXT:  1      9     0.50                        frinta s20, s21
+# CHECK-NEXT:  1      9     0.50                        frintx s22, s23
+# CHECK-NEXT:  1      9     0.50                        frinti s24, s25
+# CHECK-NEXT:  1      4     1.00                        fmov   d0, d1
+# CHECK-NEXT:  1      4     1.00                        fabs   d2, d3
+# CHECK-NEXT:  1      4     1.00                        fneg   d4, d5
+# CHECK-NEXT:  1      43    1.00                        fsqrt  d6, d7
+# CHECK-NEXT:  1      9     1.00                        fcvt   s8, d9
+# CHECK-NEXT:  1      9     1.00                        fcvt   h10, d11
+# CHECK-NEXT:  1      9     0.50                        frintn d12, d13
+# CHECK-NEXT:  1      9     0.50                        frintp d14, d15
+# CHECK-NEXT:  1      9     0.50                        frintm d16, d17
+# CHECK-NEXT:  1      9     0.50                        frintz d18, d19
+# CHECK-NEXT:  1      9     0.50                        frinta d20, d21
+# CHECK-NEXT:  1      9     0.50                        frintx d22, d23
+# CHECK-NEXT:  1      9     0.50                        frinti d24, d25
+# CHECK-NEXT:  1      9     1.00                        fcvt   s26, h27
+# CHECK-NEXT:  1      9     1.00                        fcvt   d28, h29
+# CHECK-NEXT:  1      9     0.50                        fmul   s20, s19, s17
+# CHECK-NEXT:  1      29    1.00                        fdiv   s1, s2, s3
+# CHECK-NEXT:  1      4     1.00                        fadd   s4, s5, s6
+# CHECK-NEXT:  1      4     1.00                        fsub   s7, s8, s9
+# CHECK-NEXT:  1      4     1.00                        fmax   s10, s11, s12
+# CHECK-NEXT:  1      4     1.00                        fmin   s13, s14, s15
+# CHECK-NEXT:  1      4     1.00                        fmaxnm s16, s17, s18
+# CHECK-NEXT:  1      4     1.00                        fminnm s19, s20, s21
+# CHECK-NEXT:  1      9     0.50                        fnmul  s22, s23, s2
+# CHECK-NEXT:  1      9     0.50                        fmul   d20, d19, d17
+# CHECK-NEXT:  1      43    1.00                        fdiv   d1, d2, d3
+# CHECK-NEXT:  1      4     0.50                        fadd   d4, d5, d6
+# CHECK-NEXT:  1      4     0.50                        fsub   d7, d8, d9
+# CHECK-NEXT:  1      4     1.00                        fmax   d10, d11, d12
+# CHECK-NEXT:  1      4     1.00                        fmin   d13, d14, d15
+# CHECK-NEXT:  1      4     1.00                        fmaxnm d16, d17, d18
+# CHECK-NEXT:  1      4     1.00                        fminnm d19, d20, d21
+# CHECK-NEXT:  1      9     0.50                        fnmul  d22, d23, d24
+# CHECK-NEXT:  1      9     0.50                        fmadd  s3, s5, s6, s31
+# CHECK-NEXT:  1      9     0.50                        fmadd  d3, d13, d0, d23
+# CHECK-NEXT:  1      9     0.50                        fmsub  s3, s5, s6, s31
+# CHECK-NEXT:  1      9     0.50                        fmsub  d3, d13, d0, d23
+# CHECK-NEXT:  1      9     0.50                        fnmadd s3, s5, s6, s31
+# CHECK-NEXT:  1      9     0.50                        fnmadd d3, d13, d0, d23
+# CHECK-NEXT:  1      9     0.50                        fnmsub s3, s5, s6, s31
+# CHECK-NEXT:  1      9     0.50                        fnmsub d3, d13, d0, d23
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w3, h5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzs wzr, h20, #13
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w19, h0, #32
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x3, h5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x12, h30, #45
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x19, h0, #64
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w3, s5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzs wzr, s20, #13
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w19, s0, #32
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x3, s5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x12, s30, #45
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x19, s0, #64
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w3, d5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzs wzr, d20, #13
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w19, d0, #32
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x3, d5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x12, d30, #45
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x19, d0, #64
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w3, h5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzu wzr, h20, #13
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w19, h0, #32
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x3, h5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x12, h30, #45
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x19, h0, #64
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w3, s5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzu wzr, s20, #13
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w19, s0, #32
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x3, s5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x12, s30, #45
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x19, s0, #64
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w3, d5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzu wzr, d20, #13
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w19, d0, #32
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x3, d5, #1
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x12, d30, #45
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x19, d0, #64
+# CHECK-NEXT:  1      9     1.00                        scvtf  h23, w19, #1
+# CHECK-NEXT:  1      9     1.00                        scvtf  h31, wzr, #20
+# CHECK-NEXT:  1      9     1.00                        scvtf  h14, w0, #32
+# CHECK-NEXT:  1      9     1.00                        scvtf  h23, x19, #1
+# CHECK-NEXT:  1      9     1.00                        scvtf  h31, xzr, #20
+# CHECK-NEXT:  1      9     1.00                        scvtf  h14, x0, #64
+# CHECK-NEXT:  1      9     1.00                        scvtf  s23, w19, #1
+# CHECK-NEXT:  1      9     1.00                        scvtf  s31, wzr, #20
+# CHECK-NEXT:  1      9     1.00                        scvtf  s14, w0, #32
+# CHECK-NEXT:  1      9     1.00                        scvtf  s23, x19, #1
+# CHECK-NEXT:  1      9     1.00                        scvtf  s31, xzr, #20
+# CHECK-NEXT:  1      9     1.00                        scvtf  s14, x0, #64
+# CHECK-NEXT:  1      9     1.00                        scvtf  d23, w19, #1
+# CHECK-NEXT:  1      9     1.00                        scvtf  d31, wzr, #20
+# CHECK-NEXT:  1      9     1.00                        scvtf  d14, w0, #32
+# CHECK-NEXT:  1      9     1.00                        scvtf  d23, x19, #1
+# CHECK-NEXT:  1      9     1.00                        scvtf  d31, xzr, #20
+# CHECK-NEXT:  1      9     1.00                        scvtf  d14, x0, #64
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h23, w19, #1
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h31, wzr, #20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h14, w0, #32
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h23, x19, #1
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h31, xzr, #20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h14, x0, #64
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s23, w19, #1
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s31, wzr, #20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s14, w0, #32
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s23, x19, #1
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s31, xzr, #20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s14, x0, #64
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d23, w19, #1
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d31, wzr, #20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d14, w0, #32
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d23, x19, #1
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d31, xzr, #20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d14, x0, #64
+# CHECK-NEXT:  1      9     1.00                        fcvtns w3, h31
+# CHECK-NEXT:  1      9     1.00                        fcvtns xzr, h12
+# CHECK-NEXT:  1      9     1.00                        fcvtnu wzr, h12
+# CHECK-NEXT:  1      9     1.00                        fcvtnu x0, h0
+# CHECK-NEXT:  1      9     1.00                        fcvtps wzr, h9
+# CHECK-NEXT:  1      9     1.00                        fcvtps x12, h20
+# CHECK-NEXT:  1      9     1.00                        fcvtpu w30, h23
+# CHECK-NEXT:  1      9     1.00                        fcvtpu x29, h3
+# CHECK-NEXT:  1      9     1.00                        fcvtms w2, h3
+# CHECK-NEXT:  1      9     1.00                        fcvtms x4, h5
+# CHECK-NEXT:  1      9     1.00                        fcvtmu w6, h7
+# CHECK-NEXT:  1      9     1.00                        fcvtmu x8, h9
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w10, h11
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x12, h13
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w14, h15
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x15, h16
+# CHECK-NEXT:  1      9     1.00                        scvtf  h17, w18
+# CHECK-NEXT:  1      9     1.00                        scvtf  h19, x20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  h21, w22
+# CHECK-NEXT:  1      9     1.00                        scvtf  h23, x24
+# CHECK-NEXT:  1      9     1.00                        fcvtas w25, h26
+# CHECK-NEXT:  1      9     1.00                        fcvtas x27, h28
+# CHECK-NEXT:  1      9     1.00                        fcvtau w29, h30
+# CHECK-NEXT:  1      9     1.00                        fcvtau xzr, h0
+# CHECK-NEXT:  1      9     1.00                        fcvtns w3, s31
+# CHECK-NEXT:  1      9     1.00                        fcvtns xzr, s12
+# CHECK-NEXT:  1      9     1.00                        fcvtnu wzr, s12
+# CHECK-NEXT:  1      9     1.00                        fcvtnu x0, s0
+# CHECK-NEXT:  1      9     1.00                        fcvtps wzr, s9
+# CHECK-NEXT:  1      9     1.00                        fcvtps x12, s20
+# CHECK-NEXT:  1      9     1.00                        fcvtpu w30, s23
+# CHECK-NEXT:  1      9     1.00                        fcvtpu x29, s3
+# CHECK-NEXT:  1      9     1.00                        fcvtms w2, s3
+# CHECK-NEXT:  1      9     1.00                        fcvtms x4, s5
+# CHECK-NEXT:  1      9     1.00                        fcvtmu w6, s7
+# CHECK-NEXT:  1      9     1.00                        fcvtmu x8, s9
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w10, s11
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x12, s13
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w14, s15
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x15, s16
+# CHECK-NEXT:  1      9     1.00                        scvtf  s17, w18
+# CHECK-NEXT:  1      9     1.00                        scvtf  s19, x20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  s21, w22
+# CHECK-NEXT:  1      9     1.00                        scvtf  s23, x24
+# CHECK-NEXT:  1      9     1.00                        fcvtas w25, s26
+# CHECK-NEXT:  1      9     1.00                        fcvtas x27, s28
+# CHECK-NEXT:  1      9     1.00                        fcvtau w29, s30
+# CHECK-NEXT:  1      9     1.00                        fcvtau xzr, s0
+# CHECK-NEXT:  1      9     1.00                        fcvtns w3, d31
+# CHECK-NEXT:  1      9     1.00                        fcvtns xzr, d12
+# CHECK-NEXT:  1      9     1.00                        fcvtnu wzr, d12
+# CHECK-NEXT:  1      9     1.00                        fcvtnu x0, d0
+# CHECK-NEXT:  1      9     1.00                        fcvtps wzr, d9
+# CHECK-NEXT:  1      9     1.00                        fcvtps x12, d20
+# CHECK-NEXT:  1      9     1.00                        fcvtpu w30, d23
+# CHECK-NEXT:  1      9     1.00                        fcvtpu x29, d3
+# CHECK-NEXT:  1      9     1.00                        fcvtms w2, d3
+# CHECK-NEXT:  1      9     1.00                        fcvtms x4, d5
+# CHECK-NEXT:  1      9     1.00                        fcvtmu w6, d7
+# CHECK-NEXT:  1      9     1.00                        fcvtmu x8, d9
+# CHECK-NEXT:  1      9     1.00                        fcvtzs w10, d11
+# CHECK-NEXT:  1      9     1.00                        fcvtzs x12, d13
+# CHECK-NEXT:  1      9     1.00                        fcvtzu w14, d15
+# CHECK-NEXT:  1      9     1.00                        fcvtzu x15, d16
+# CHECK-NEXT:  1      9     1.00                        scvtf  d17, w18
+# CHECK-NEXT:  1      9     1.00                        scvtf  d19, x20
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d21, w22
+# CHECK-NEXT:  1      9     1.00                        ucvtf  d23, x24
+# CHECK-NEXT:  1      9     1.00                        fcvtas w25, d26
+# CHECK-NEXT:  1      9     1.00                        fcvtas x27, d28
+# CHECK-NEXT:  1      9     1.00                        fcvtau w29, d30
+# CHECK-NEXT:  1      9     1.00                        fcvtau xzr, d0
+# CHECK-NEXT:  1      4     2.00                        fmov   w3, s9
+# CHECK-NEXT:  1      4     2.00                        fmov   s9, w3
+# CHECK-NEXT:  1      4     2.00                        fmov   x20, d31
+# CHECK-NEXT:  1      4     2.00                        fmov   d1, x15
+# CHECK-NEXT:  1      14    0.50                        fmov   x3, v12.d[1]
+# CHECK-NEXT:  1      10    0.50                        fmov   v1.d[1], x19
+# CHECK-NEXT:  1      4     2.00                        fmov   s2, #0.12500000
+# CHECK-NEXT:  1      4     2.00                        fmov   s3, #1.00000000
+# CHECK-NEXT:  1      4     2.00                        fmov   d30, #16.00000000
+# CHECK-NEXT:  1      4     2.00                        fmov   s4, #1.06250000
+# CHECK-NEXT:  1      4     2.00                        fmov   d10, #1.93750000
+# CHECK-NEXT:  1      4     2.00                        fmov   s12, #-1.00000000
+# CHECK-NEXT:  1      4     2.00                        fmov   d16, #8.50000000
+# CHECK-NEXT:  1      5     1.00    *                   ldr    w3, #0
+# CHECK-NEXT:  1      5     1.00    *                   ldr    x29, #4
+# CHECK-NEXT:  1      4     0.50    *                   ldrsw  xzr, #-4
+# CHECK-NEXT:  1      4     0.50    *                   ldr    s0, #8
+# CHECK-NEXT:  1      5     1.00    *                   ldr    d0, #1048572
+# CHECK-NEXT:  1      5     1.00    *                   ldr    q0, #-1048576
+# CHECK-NEXT:  1      0     0.50                  U     prfm   pldl1strm, #0
+# CHECK-NEXT:  1      0     0.50                  U     prfm   #22, #0
+# CHECK-NEXT:  2      5     1.00    *      *      U     stxrb  w18, w8, [sp]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stxrh  w24, w15, [x16]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stxr   w5, w6, [x17]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stxr   w1, x10, [x21]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldxrb  w30, [x0]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldxrh  w17, [x4]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldxr   w22, [sp]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldxr   x11, [x29]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldxr   x11, [x29]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldxr   x11, [x29]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stxp   w12, w11, w10, [sp]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stxp   wzr, x27, x9, [x12]
+# CHECK-NEXT:  2      5     0.50    *      *      U     ldxp   w0, wzr, [sp]
+# CHECK-NEXT:  2      5     0.50    *      *      U     ldxp   x17, x0, [x18]
+# CHECK-NEXT:  2      5     0.50    *      *      U     ldxp   x17, x0, [x18]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stlxrb w12, w22, [x0]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stlxrh w10, w1, [x1]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stlxr  w9, w2, [x2]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stlxr  w9, x3, [sp]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldaxrb w8, [x4]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldaxrh w7, [x5]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldaxr  w6, [sp]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldaxr  x5, [x6]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldaxr  x5, [x6]
+# CHECK-NEXT:  1      4     0.50    *      *      U     ldaxr  x5, [x6]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stlxp  w4, w5, w6, [sp]
+# CHECK-NEXT:  2      5     1.00    *      *      U     stlxp  wzr, x6, x7, [x1]
+# CHECK-NEXT:  2      5     0.50    *      *      U     ldaxp  w5, w18, [sp]
+# CHECK-NEXT:  2      5     0.50    *      *      U     ldaxp  x6, x19, [x22]
+# CHECK-NEXT:  2      5     0.50    *      *      U     ldaxp  x6, x19, [x22]
+# CHECK-NEXT:  1      1     0.50           *      U     stlrb  w24, [sp]
+# CHECK-NEXT:  1      1     0.50           *      U     stlrh  w25, [x30]
+# CHECK-NEXT:  1      1     0.50           *      U     stlr   w26, [x29]
+# CHECK-NEXT:  1      1     0.50           *      U     stlr   x27, [x28]
+# CHECK-NEXT:  1      1     0.50           *      U     stlr   x27, [x28]
+# CHECK-NEXT:  1      1     0.50           *      U     stlr   x27, [x28]
+# CHECK-NEXT:  1      4     0.50    *             U     ldarb  w23, [sp]
+# CHECK-NEXT:  1      4     0.50    *             U     ldarh  w22, [x30]
+# CHECK-NEXT:  1      4     0.50    *             U     ldar   wzr, [x29]
+# CHECK-NEXT:  1      4     0.50    *             U     ldar   x21, [x28]
+# CHECK-NEXT:  1      4     0.50    *             U     ldar   x21, [x28]
+# CHECK-NEXT:  1      4     0.50    *             U     ldar   x21, [x28]
+# CHECK-NEXT:  1      0     0.50           *            sturb  w9, [sp]
+# CHECK-NEXT:  1      0     0.50           *            sturh  wzr, [x12, #255]
+# CHECK-NEXT:  1      0     0.50           *            stur   w16, [x0, #-256]
+# CHECK-NEXT:  1      0     0.50           *            stur   x28, [x14, #1]
+# CHECK-NEXT:  1      5     0.50    *                   ldurb  w1, [x20, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldurh  w20, [x1, #255]
+# CHECK-NEXT:  1      4     0.50    *                   ldur   w12, [sp, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldur   xzr, [x12, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldursb x9, [x7, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldursh x17, [x19, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldursw x20, [x15, #-256]
+# CHECK-NEXT:  1      0     0.50                  U     prfum  pldl2keep, [sp, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldursb w19, [x1, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldursh w15, [x21, #-256]
+# CHECK-NEXT:  1      0     0.50           *            stur   b0, [sp, #1]
+# CHECK-NEXT:  1      0     0.50           *            stur   h12, [x12, #-1]
+# CHECK-NEXT:  1      0     0.50           *            stur   s15, [x0, #255]
+# CHECK-NEXT:  1      0     0.50           *            stur   d31, [x5, #25]
+# CHECK-NEXT:  1      0     0.50           *            stur   q9, [x5]
+# CHECK-NEXT:  1      5     0.50    *                   ldur   b3, [sp]
+# CHECK-NEXT:  1      5     0.50    *                   ldur   h5, [x4, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldur   s7, [x12, #-1]
+# CHECK-NEXT:  1      5     0.50    *                   ldur   d11, [x19, #4]
+# CHECK-NEXT:  1      5     0.50    *                   ldur   q13, [x1, #2]
+# CHECK-NEXT:  2      1     0.50           *            strb   w9, [x2], #255
+# CHECK-NEXT:  2      1     0.50           *            strb   w10, [x3], #1
+# CHECK-NEXT:  2      1     0.50           *            strb   w10, [x3], #-256
+# CHECK-NEXT:  2      1     0.50           *            strh   w9, [x2], #255
+# CHECK-NEXT:  2      1     0.50           *            strh   w9, [x2], #1
+# CHECK-NEXT:  2      1     0.50           *            strh   w10, [x3], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    w19, [sp], #255
+# CHECK-NEXT:  2      1     0.50           *            str    w20, [x30], #1
+# CHECK-NEXT:  2      1     0.50           *            str    w21, [x12], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    xzr, [x9], #255
+# CHECK-NEXT:  2      1     0.50           *            str    x2, [x3], #1
+# CHECK-NEXT:  2      1     0.50           *            str    x19, [x12], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldrb   w9, [x2], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldrb   w10, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldrb   w10, [x3], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldrh   w9, [x2], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldrh   w9, [x2], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldrh   w10, [x3], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    w19, [sp], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    w20, [x30], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    w21, [x12], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    xzr, [x9], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    x2, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    x19, [x12], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  xzr, [x9], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  x2, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  x19, [x12], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  xzr, [x9], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  x2, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  x19, [x12], #-256
+# CHECK-NEXT:  2      4     0.50    *                   ldrsw  xzr, [x9], #255
+# CHECK-NEXT:  2      4     0.50    *                   ldrsw  x2, [x3], #1
+# CHECK-NEXT:  2      4     0.50    *                   ldrsw  x19, [x12], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  wzr, [x9], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  w2, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  w19, [x12], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  wzr, [x9], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  w2, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  w19, [x12], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    b0, [x0], #255
+# CHECK-NEXT:  2      1     0.50           *            str    b3, [x3], #1
+# CHECK-NEXT:  2      1     0.50           *            str    b5, [sp], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    h10, [x10], #255
+# CHECK-NEXT:  2      1     0.50           *            str    h13, [x23], #1
+# CHECK-NEXT:  2      1     0.50           *            str    h15, [sp], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    s20, [x20], #255
+# CHECK-NEXT:  2      1     0.50           *            str    s23, [x23], #1
+# CHECK-NEXT:  2      1     0.50           *            str    s25, [x0], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    d20, [x20], #255
+# CHECK-NEXT:  2      1     0.50           *            str    d23, [x23], #1
+# CHECK-NEXT:  2      1     0.50           *            str    d25, [x0], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    b0, [x0], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    b3, [x3], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    b5, [sp], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    h10, [x10], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    h13, [x23], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    h15, [sp], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    s20, [x20], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    s23, [x23], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    s25, [x0], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    d20, [x20], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    d23, [x23], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    d25, [x0], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    q20, [x1], #255
+# CHECK-NEXT:  3      5     0.50    *                   ldr    q23, [x9], #1
+# CHECK-NEXT:  3      5     0.50    *                   ldr    q25, [x20], #-256
+# CHECK-NEXT:  2      1     0.50           *            str    q10, [x1], #255
+# CHECK-NEXT:  2      1     0.50           *            str    q22, [sp], #1
+# CHECK-NEXT:  2      1     0.50           *            str    q21, [x20], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldr    x3, [x4, #0]!
+# CHECK-NEXT:  2      1     0.50           *            strb   w9, [x2, #255]!
+# CHECK-NEXT:  2      1     0.50           *            strb   w10, [x3, #1]!
+# CHECK-NEXT:  2      1     0.50           *            strb   w10, [x3, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            strh   w9, [x2, #255]!
+# CHECK-NEXT:  2      1     0.50           *            strh   w9, [x2, #1]!
+# CHECK-NEXT:  2      1     0.50           *            strh   w10, [x3, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    w19, [sp, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    w20, [x30, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    w21, [x12, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    xzr, [x9, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    x2, [x3, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    x19, [x12, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrb   w9, [x2, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrb   w10, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrb   w10, [x3, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrh   w9, [x2, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrh   w9, [x2, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrh   w10, [x3, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    w19, [sp, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    w20, [x30, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    w21, [x12, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    xzr, [x9, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    x2, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    x19, [x12, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  xzr, [x9, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  x2, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  x19, [x12, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  xzr, [x9, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  x2, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  x19, [x12, #-256]!
+# CHECK-NEXT:  2      4     0.50    *                   ldrsw  xzr, [x9, #255]!
+# CHECK-NEXT:  2      4     0.50    *                   ldrsw  x2, [x3, #1]!
+# CHECK-NEXT:  2      4     0.50    *                   ldrsw  x19, [x12, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  wzr, [x9, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  w2, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsb  w19, [x12, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  wzr, [x9, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  w2, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldrsh  w19, [x12, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    b0, [x0, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    b3, [x3, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    b5, [sp, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    h10, [x10, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    h13, [x23, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    h15, [sp, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    s20, [x20, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    s23, [x23, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    s25, [x0, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    d20, [x20, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    d23, [x23, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    d25, [x0, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    b0, [x0, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    b3, [x3, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    b5, [sp, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    h10, [x10, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    h13, [x23, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    h15, [sp, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    s20, [x20, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    s23, [x23, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    s25, [x0, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    d20, [x20, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    d23, [x23, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    d25, [x0, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    q20, [x1, #255]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    q23, [x9, #1]!
+# CHECK-NEXT:  3      5     0.50    *                   ldr    q25, [x20, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            str    q10, [x1, #255]!
+# CHECK-NEXT:  2      1     0.50           *            str    q22, [sp, #1]!
+# CHECK-NEXT:  2      1     0.50           *            str    q21, [x20, #-256]!
+# CHECK-NEXT:  2      1     0.50           *            sttrb  w9, [sp]
+# CHECK-NEXT:  2      1     0.50           *            sttrh  wzr, [x12, #255]
+# CHECK-NEXT:  2      1     0.50           *            sttr   w16, [x0, #-256]
+# CHECK-NEXT:  2      1     0.50           *            sttr   x28, [x14, #1]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrb  w1, [x20, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrh  w20, [x1, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldtr   w12, [sp, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldtr   xzr, [x12, #255]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrsb x9, [x7, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrsh x17, [x19, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrsw x20, [x15, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrsb w19, [x1, #-256]
+# CHECK-NEXT:  1      5     0.50    *                   ldtrsh w15, [x21, #-256]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    x4, [x29]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    x30, [x12, #32760]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    x20, [sp, #8]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    xzr, [sp]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    w2, [sp]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    w17, [sp, #16380]
+# CHECK-NEXT:  1      4     0.50    *                   ldr    w13, [x2, #4]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsw  x2, [x5, #4]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsw  x23, [sp, #16380]
+# CHECK-NEXT:  1      4     0.50    *                   ldrh   w2, [x4]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsh  w23, [x6, #8190]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsh  wzr, [sp, #2]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsh  x29, [x2, #2]
+# CHECK-NEXT:  1      4     0.50    *                   ldrb   w26, [x3, #121]
+# CHECK-NEXT:  1      4     0.50    *                   ldrb   w12, [x2]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsb  w27, [sp, #4095]
+# CHECK-NEXT:  1      4     0.50    *                   ldrsb  xzr, [x15]
+# CHECK-NEXT:  1      0     0.50           *            str    x30, [sp]
+# CHECK-NEXT:  1      0     0.50           *            str    w20, [x4, #16380]
+# CHECK-NEXT:  1      1     0.50           *            strh   w17, [sp, #8190]
+# CHECK-NEXT:  1      1     0.50           *            strb   w23, [x3, #4095]
+# CHECK-NEXT:  1      1     0.50           *            strb   wzr, [x2]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    b31, [sp, #4095]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    h20, [x2, #8190]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    s10, [x19, #16380]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    d3, [x10, #32760]
+# CHECK-NEXT:  1      0     0.50           *            str    q12, [sp, #65520]
+# CHECK-NEXT:  1      1     0.50    *                   ldrb   w3, [sp, x5]
+# CHECK-NEXT:  1      1     0.50    *                   ldrb   w9, [x27, x6]
+# CHECK-NEXT:  1      1     0.50    *                   ldrsb  w10, [x30, x7]
+# CHECK-NEXT:  1      1     0.50    *                   ldrb   w11, [x29, x3, sxtx]
+# CHECK-NEXT:  1      0     0.50           *            strb   w12, [x28, xzr, sxtx]
+# CHECK-NEXT:  1      1     0.50    *                   ldrb   w14, [x26, w6, uxtw]
+# CHECK-NEXT:  1      1     0.50    *                   ldrsb  w15, [x25, w7, uxtw]
+# CHECK-NEXT:  1      1     0.50    *                   ldrb   w17, [x23, w9, sxtw]
+# CHECK-NEXT:  1      1     0.50    *                   ldrsb  x18, [x22, w10, sxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldrsh  w3, [sp, x5]
+# CHECK-NEXT:  1      5     0.50    *                   ldrsh  w9, [x27, x6]
+# CHECK-NEXT:  1      5     0.50    *                   ldrh   w10, [x30, x7, lsl #1]
+# CHECK-NEXT:  1      0     0.50           *            strh   w11, [x29, x3, sxtx]
+# CHECK-NEXT:  1      5     0.50    *                   ldrh   w12, [x28, xzr, sxtx]
+# CHECK-NEXT:  1      5     0.50    *                   ldrsh  x13, [x27, x5, sxtx #1]
+# CHECK-NEXT:  1      5     0.50    *                   ldrh   w14, [x26, w6, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldrh   w15, [x25, w7, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldrsh  w16, [x24, w8, uxtw #1]
+# CHECK-NEXT:  1      5     0.50    *                   ldrh   w17, [x23, w9, sxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldrh   w18, [x22, w10, sxtw]
+# CHECK-NEXT:  1      0     0.50           *            strh   w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    w3, [sp, x5]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    s9, [x27, x6]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    w10, [x30, x7, lsl #2]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    w11, [x29, x3, sxtx]
+# CHECK-NEXT:  1      0     0.50           *            str    s12, [x28, xzr, sxtx]
+# CHECK-NEXT:  1      0     0.50           *            str    w13, [x27, x5, sxtx #2]
+# CHECK-NEXT:  1      0     0.50           *            str    w14, [x26, w6, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    w15, [x25, w7, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    w16, [x24, w8, uxtw #2]
+# CHECK-NEXT:  1      1     0.50    *                   ldrsw  x17, [x23, w9, sxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    w18, [x22, w10, sxtw]
+# CHECK-NEXT:  1      1     0.50    *                   ldrsw  x19, [x21, wzr, sxtw #2]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x3, [sp, x5]
+# CHECK-NEXT:  1      0     0.50           *            str    x9, [x27, x6]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    d10, [x30, x7, lsl #3]
+# CHECK-NEXT:  1      0     0.50           *            str    x11, [x29, x3, sxtx]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x12, [x28, xzr, sxtx]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x13, [x27, x5, sxtx #3]
+# CHECK-NEXT:  1      0     0.50                  U     prfm   pldl1keep, [x26, w6, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x15, [x25, w7, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x16, [x24, w8, uxtw #3]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x17, [x23, w9, sxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    x18, [x22, w10, sxtw]
+# CHECK-NEXT:  1      0     0.50           *            str    d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q3, [sp, x5]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q9, [x27, x6]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q10, [x30, x7, lsl #4]
+# CHECK-NEXT:  1      0     0.50           *            str    q11, [x29, x3, sxtx]
+# CHECK-NEXT:  1      0     0.50           *            str    q12, [x28, xzr, sxtx]
+# CHECK-NEXT:  1      0     0.50           *            str    q13, [x27, x5, sxtx #4]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q14, [x26, w6, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q15, [x25, w7, uxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q16, [x24, w8, uxtw #4]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q17, [x23, w9, sxtw]
+# CHECK-NEXT:  1      0     0.50           *            str    q18, [x22, w10, sxtw]
+# CHECK-NEXT:  1      5     0.50    *                   ldr    q19, [x21, wzr, sxtw #4]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    w3, w5, [sp]
+# CHECK-NEXT:  1      0     0.50           *            stp    wzr, w9, [sp, #252]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    w2, wzr, [sp, #-256]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    w9, w10, [sp, #4]
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x9, x10, [sp, #4]
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x9, x10, [x2, #-256]
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x20, x30, [sp, #252]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    x21, x29, [x2, #504]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    x22, x23, [x3, #-512]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    x24, x25, [x4, #8]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    s29, s28, [sp, #252]
+# CHECK-NEXT:  1      1     0.50           *            stp    s27, s26, [sp, #-256]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    s1, s2, [x3, #44]
+# CHECK-NEXT:  1      0     0.50           *            stp    d3, d5, [x9, #504]
+# CHECK-NEXT:  1      0     0.50           *            stp    d7, d11, [x10, #-512]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    d2, d3, [x30, #-8]
+# CHECK-NEXT:  1      0     0.50           *            stp    q3, q5, [sp]
+# CHECK-NEXT:  1      0     0.50           *            stp    q17, q19, [sp, #1008]
+# CHECK-NEXT:  3      5     0.50    *                   ldp    q23, q29, [x1, #-1024]
+# CHECK-NEXT:  5      5     0.50    *                   ldp    w3, w5, [sp], #0
+# CHECK-NEXT:  1      0     0.50           *            stp    wzr, w9, [sp], #252
+# CHECK-NEXT:  5      5     0.50    *                   ldp    w2, wzr, [sp], #-256
+# CHECK-NEXT:  5      5     0.50    *                   ldp    w9, w10, [sp], #4
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x9, x10, [sp], #4
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x9, x10, [x2], #-256
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x20, x30, [sp], #252
+# CHECK-NEXT:  5      5     0.50    *                   ldp    x21, x29, [x2], #504
+# CHECK-NEXT:  5      5     0.50    *                   ldp    x22, x23, [x3], #-512
+# CHECK-NEXT:  5      5     0.50    *                   ldp    x24, x25, [x4], #8
+# CHECK-NEXT:  5      5     0.50    *                   ldp    s29, s28, [sp], #252
+# CHECK-NEXT:  1      0     0.50           *            stp    s27, s26, [sp], #-256
+# CHECK-NEXT:  5      5     0.50    *                   ldp    s1, s2, [x3], #44
+# CHECK-NEXT:  1      0     0.50           *            stp    d3, d5, [x9], #504
+# CHECK-NEXT:  1      0     0.50           *            stp    d7, d11, [x10], #-512
+# CHECK-NEXT:  5      5     0.50    *                   ldp    d2, d3, [x30], #-8
+# CHECK-NEXT:  1      0     0.50           *            stp    q3, q5, [sp], #0
+# CHECK-NEXT:  1      0     0.50           *            stp    q17, q19, [sp], #1008
+# CHECK-NEXT:  5      5     0.50    *                   ldp    q23, q29, [x1], #-1024
+# CHECK-NEXT:  5      5     0.50    *                   ldp    w3, w5, [sp, #0]!
+# CHECK-NEXT:  1      0     0.50           *            stp    wzr, w9, [sp, #252]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    w2, wzr, [sp, #-256]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    w9, w10, [sp, #4]!
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x9, x10, [sp, #4]!
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x9, x10, [x2, #-256]!
+# CHECK-NEXT:  3      5     0.50    *                   ldpsw  x20, x30, [sp, #252]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    x21, x29, [x2, #504]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    x22, x23, [x3, #-512]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    x24, x25, [x4, #8]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    s29, s28, [sp, #252]!
+# CHECK-NEXT:  1      0     0.50           *            stp    s27, s26, [sp, #-256]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    s1, s2, [x3, #44]!
+# CHECK-NEXT:  1      0     0.50           *            stp    d3, d5, [x9, #504]!
+# CHECK-NEXT:  1      0     0.50           *            stp    d7, d11, [x10, #-512]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    d2, d3, [x30, #-8]!
+# CHECK-NEXT:  1      0     0.50           *            stp    q3, q5, [sp, #0]!
+# CHECK-NEXT:  1      0     0.50           *            stp    q17, q19, [sp, #1008]!
+# CHECK-NEXT:  5      5     0.50    *                   ldp    q23, q29, [x1, #-1024]!
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   w3, w5, [sp]
+# CHECK-NEXT:  1      0     0.50           *            stnp   wzr, w9, [sp, #252]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   w2, wzr, [sp, #-256]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   w9, w10, [sp, #4]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   x21, x29, [x2, #504]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   x22, x23, [x3, #-512]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   x24, x25, [x4, #8]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   s29, s28, [sp, #252]
+# CHECK-NEXT:  1      1     0.50           *            stnp   s27, s26, [sp, #-256]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   s1, s2, [x3, #44]
+# CHECK-NEXT:  1      0     0.50           *            stnp   d3, d5, [x9, #504]
+# CHECK-NEXT:  1      0     0.50           *            stnp   d7, d11, [x10, #-512]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   d2, d3, [x30, #-8]
+# CHECK-NEXT:  1      0     0.50           *            stnp   q3, q5, [sp]
+# CHECK-NEXT:  1      0     0.50           *            stnp   q17, q19, [sp, #1008]
+# CHECK-NEXT:  3      5     0.50    *                   ldnp   q23, q29, [x1, #-1024]
+# CHECK-NEXT:  1      1     0.25                        mov    w3, #983055
+# CHECK-NEXT:  1      1     0.25                        mov    x10, #-6148914691236517206
+# CHECK-NEXT:  1      1     0.25                        and    w12, w23, w21
+# CHECK-NEXT:  1      1     0.25                        and    w16, w15, w1, lsl #1
+# CHECK-NEXT:  1      1     0.25                        and    w9, w4, w10, lsl #31
+# CHECK-NEXT:  1      1     0.25                        and    w3, w30, w11
+# CHECK-NEXT:  1      1     0.25                        and    x3, x5, x7, lsl #63
+# CHECK-NEXT:  1      1     0.25                        and    x5, x14, x19, asr #4
+# CHECK-NEXT:  1      1     0.25                        and    w3, w17, w19, ror #31
+# CHECK-NEXT:  1      1     0.25                        and    w0, w2, wzr, lsr #17
+# CHECK-NEXT:  1      1     0.25                        and    w3, w30, w11, asr #2
+# CHECK-NEXT:  1      1     0.25                        and    xzr, x4, x26
+# CHECK-NEXT:  1      1     0.25                        and    w3, wzr, w20, ror #2
+# CHECK-NEXT:  1      1     0.25                        and    x7, x20, xzr, asr #63
+# CHECK-NEXT:  1      1     0.25                        bic    x13, x20, x14, lsl #47
+# CHECK-NEXT:  1      1     0.25                        bic    w2, w7, w9
+# CHECK-NEXT:  1      1     0.25                        orr    w2, w7, w0, asr #31
+# CHECK-NEXT:  1      1     0.25                        orr    x8, x9, x10, lsl #12
+# CHECK-NEXT:  1      1     0.25                        orn    x3, x5, x7, asr #2
+# CHECK-NEXT:  1      1     0.25                        orn    w2, w5, w29
+# CHECK-NEXT:  1      1     0.25                        ands   w7, wzr, w9, lsl #1
+# CHECK-NEXT:  1      1     0.25                        ands   x3, x5, x20, ror #63
+# CHECK-NEXT:  1      1     0.25                        bics   w3, w5, w7
+# CHECK-NEXT:  1      1     0.25                        bics   x3, xzr, x3, lsl #1
+# CHECK-NEXT:  1      1     0.25                        tst    w3, w7, lsl #31
+# CHECK-NEXT:  1      1     0.25                        tst    x2, x20, asr #2
+# CHECK-NEXT:  1      1     0.25                        mov    x3, x6
+# CHECK-NEXT:  1      1     0.25                        mov    x3, xzr
+# CHECK-NEXT:  1      1     0.25                        mov    wzr, w2
+# CHECK-NEXT:  1      1     0.25                        mov    w3, w5
+# CHECK-NEXT:  1      1     0.25                        movz   w2, #0, lsl #16
+# CHECK-NEXT:  1      1     0.25                        mov    w2, #-1235
+# CHECK-NEXT:  1      1     0.25                        mov    x2, #5299989643264
+# CHECK-NEXT:  1      1     0.25                        mov    x2, #0
+# CHECK-NEXT:  1      1     0.25                        movk   w3, #0
+# CHECK-NEXT:  1      1     0.25                        movz   x4, #0, lsl #16
+# CHECK-NEXT:  1      1     0.25                        movk   w5, #0, lsl #16
+# CHECK-NEXT:  1      1     0.25                        movz   x6, #0, lsl #32
+# CHECK-NEXT:  1      1     0.25                        movk   x7, #0, lsl #32
+# CHECK-NEXT:  1      1     0.25                        movz   x8, #0, lsl #48
+# CHECK-NEXT:  1      1     0.25                        movk   x9, #0, lsl #48
+# CHECK-NEXT:  1      1     0.25                        adr    x2, #1600
+# CHECK-NEXT:  1      1     0.25                        adrp   x21, #6553600
+# CHECK-NEXT:  1      1     0.25                        adr    x0, #262144
+# CHECK-NEXT:  1      1     1.00                        tbz    x12, #62, #0
+# CHECK-NEXT:  1      1     1.00                        tbz    x12, #62, #4
+# CHECK-NEXT:  1      1     1.00                        tbz    x12, #62, #-32768
+# CHECK-NEXT:  1      1     1.00                        tbnz   x12, #60, #32764
+# CHECK-NEXT:  1      1     1.00                        b      #4
+# CHECK-NEXT:  1      1     1.00                        b      #-4
+# CHECK-NEXT:  1      1     1.00                        b      #134217724
+# CHECK-NEXT:  1      1     1.00                        br     x20
+# CHECK-NEXT:  1      1     1.00                        blr    xzr
+# CHECK-NEXT:  1      1     1.00                  U     ret    x10
+# CHECK-NEXT:  1      1     1.00                  U     ret
+# CHECK-NEXT:  1      1     1.00                  U     eret
+# CHECK-NEXT:  1      1     1.00                  U     drps
+
+# CHECK:      Resources:
+# CHECK-NEXT: [0]   - A64FXIPBR
+# CHECK-NEXT: [1]   - A64FXIPEAGA
+# CHECK-NEXT: [2]   - A64FXIPEAGB
+# CHECK-NEXT: [3]   - A64FXIPEXA
+# CHECK-NEXT: [4]   - A64FXIPEXB
+# CHECK-NEXT: [5]   - A64FXIPFLA
+# CHECK-NEXT: [6]   - A64FXIPFLB
+# CHECK-NEXT: [7]   - A64FXIPPR
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
+# CHECK-NEXT: 22.00  308.50 312.50 219.00 336.00 248.00 218.00  -
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w2, w3, #4095
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w30, w29, #1, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w13, w5, #4095, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x5, x7, #1638
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w20, wsp, #801
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      wsp, wsp, #1104
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      wsp, w30, #4084
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x0, x24, #291
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x3, x24, #4095, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x8, sp, #1074
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      sp, x29, #3816
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w0, wsp, #4077
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w4, w20, #546, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      sp, sp, #288
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      wsp, w19, #16
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w13, w23, #291, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w2, #4095
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w20, wsp, #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x3, #1, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      sp, #20, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x30, #4095
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x4, sp, #3822
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w3, #291, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      wsp, #1365
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      sp, #1092, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      sp, x30
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      wsp, w20
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      x11, sp
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      w24, wsp
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w3, w5, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      wzr, w3, w5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w20, wzr, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w4, w6, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w11, w13, w15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w9, w3, wzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w17, w29, w20, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w21, w22, w23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w24, w25, w26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w27, w28, w29, lsr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w2, w3, w4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w5, w6, w7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      w8, w9, w10, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x3, x5, x7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      xzr, x3, x5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x20, xzr, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x4, x6, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x11, x13, x15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x9, x3, xzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x17, x29, x20, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x21, x22, x23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x24, x25, x26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x27, x28, x29, lsr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x2, x3, x4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x5, x6, x7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     add      x8, x9, x10, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w3, w5, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w3, w5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w20, wzr, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w4, w6, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w11, w13, w15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w9, w3, wzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w17, w29, w20, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w21, w22, w23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w24, w25, w26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w27, w28, w29, lsr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w2, w3, w4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w5, w6, w7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     w8, w9, w10, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x3, x5, x7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x3, x5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x20, xzr, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x4, x6, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x11, x13, x15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x9, x3, xzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x17, x29, x20, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x21, x22, x23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x24, x25, x26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x27, x28, x29, lsr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x2, x3, x4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x5, x6, x7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adds     x8, x9, x10, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w3, w5, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      wzr, w3, w5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w4, w6, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w11, w13, w15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w9, w3, wzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w17, w29, w20, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w21, w22, w23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w24, w25, w26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w27, w28, w29, lsr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w2, w3, w4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w5, w6, w7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      w8, w9, w10, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x3, x5, x7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      xzr, x3, x5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x4, x6, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x11, x13, x15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x9, x3, xzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x17, x29, x20, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x21, x22, x23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x24, x25, x26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x27, x28, x29, lsr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x2, x3, x4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x5, x6, x7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sub      x8, x9, x10, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w3, w5, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w3, w5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w4, w6, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w11, w13, w15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w9, w3, wzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w17, w29, w20, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w21, w22, w23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w24, w25, w26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w27, w28, w29, lsr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w2, w3, w4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w5, w6, w7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     w8, w9, w10, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x3, x5, x7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x3, x5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x4, x6, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x11, x13, x15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x9, x3, xzr, lsl #10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x17, x29, x20, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x21, x22, x23, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x24, x25, x26, lsr #18
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x27, x28, x29, lsr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x2, x3, x4, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x5, x6, x7, asr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     subs     x8, x9, x10, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      wzr, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w5, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w6, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w8, w9, lsl #15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w10, w11, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w12, w13, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w14, w15, lsr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w16, w17, lsr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w18, w19, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w20, w21, asr #22
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      w22, w23, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x0, x3
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      xzr, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x5, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x6, x7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x8, x9, lsl #15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x10, x11, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x12, x13, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x14, x15, lsr #41
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x16, x17, lsr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x18, x19, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x20, x21, asr #55
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmn      x22, x23, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w0, w3
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      wzr, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w5, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w6, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w8, w9, lsl #15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w10, w11, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w12, w13, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w14, w15, lsr #21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w18, w19, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w20, w21, asr #22
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      w22, w23, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x0, x3
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      xzr, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x5, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x6, x7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x8, x9, lsl #15
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x10, x11, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x12, x13, lsr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x14, x15, lsr #41
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x16, x17, lsr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x18, x19, asr #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x20, x21, asr #55
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      x22, x23, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      wzr, w0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cmp      xzr, x0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      w29, w27, w25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      wzr, w3, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      w9, wzr, w10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      w20, w0, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      x29, x27, x25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      xzr, x3, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      x9, xzr, x10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adc      x20, x0, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     w29, w27, w25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     wzr, w3, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     w9, wzr, w10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     w20, w0, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     x29, x27, x25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     xzr, x3, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     x9, xzr, x10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adcs     x20, x0, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbc      w29, w27, w25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbc      wzr, w3, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      w9, w10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbc      w20, w0, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbc      x29, x27, x25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbc      xzr, x3, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      x9, x10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbc      x20, x0, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbcs     w29, w27, w25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbcs     wzr, w3, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     w9, w10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbcs     w20, w0, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbcs     x29, x27, x25
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbcs     xzr, x3, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     x9, x10
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     sbcs     x20, x0, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      w3, w12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      wzr, w9
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      w23, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      x29, x30
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      xzr, x0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngc      x0, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     w3, w12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     wzr, w9
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     w23, wzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     x29, x30
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     xzr, x0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ngcs     x0, xzr
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfx     x1, x2, #3, #2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x3, x4, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      wzr, wzr, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfx     w12, w9, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfiz    x4, x5, #52, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfx     xzr, x4, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfiz    x4, xzr, #1, #6
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      x5, x6, #12
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfi      x4, x5, #52, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    xzr, x4, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfc      x4, #1, #6
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    x5, x6, #12, #52
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sxtb     w1, w2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sxtb     xzr, w3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sxth     w9, w10
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sxth     x0, w1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sxtw     x3, w30
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     uxtb     w1, w2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     uxth     w9, w10
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfx     x3, x30, #0, #32
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w3, w2, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w9, w10, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x20, x21, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w1, wzr, #3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w3, w2, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w9, w10, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      x20, x21, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      wzr, wzr, #3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w3, w2, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      w9, w10, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      x20, x21, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      w1, wzr, #3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfx     w9, w10, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfiz    x2, x3, #63, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x19, x20, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfiz    x9, x10, #5, #59
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w9, w10, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfiz    w11, w12, #31, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfiz    w13, w14, #29, #3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfiz    xzr, xzr, #10, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfx     w9, w10, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x2, x3, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x19, x20, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x9, x10, #5
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w9, w10, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w11, w12, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w13, w14, #29
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     sbfx     xzr, xzr, #10, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    w9, w10, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfi      x2, x3, #63, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    x19, x20, #0, #64
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfi      x9, x10, #5, #59
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    w9, w10, #0, #32
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfi      w11, w12, #31, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfi      w13, w14, #29, #3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfc      xzr, #10, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    w9, w10, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    x2, x3, #63, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    x19, x20, #0, #64
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    x9, x10, #5, #59
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    w9, w10, #0, #32
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    w11, w12, #31, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    w13, w14, #29, #3
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     bfxil    xzr, xzr, #10, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfx     w9, w10, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      x2, x3, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      x19, x20, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      x9, x10, #5
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w9, w10, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      w11, w12, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      w13, w14, #29
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfiz    xzr, xzr, #10, #11
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfx     w9, w10, #0, #1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      x2, x3, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      x19, x20, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      x9, x10, #5
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w9, w10, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w11, w12, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsr      w13, w14, #29
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ubfx     xzr, xzr, #10, #11
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     cbz      w5, #4
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     cbz      x5, #0
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     cbnz     x2, #-4
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     cbnz     x26, #1048572
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     cbz      wzr, #0
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     cbnz     xzr, #0
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     b.ne     #4
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     b.ge     #1048572
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     b.ge     #-4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     w1, #31, #0, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     w3, #0, #15, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     wzr, #15, #13, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     x9, #31, #0, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     x3, #0, #15, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     xzr, #5, #7, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     w1, #31, #0, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     w3, #0, #15, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     wzr, #15, #13, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     x9, #31, #0, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     x3, #0, #15, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     xzr, #5, #7, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     w1, wzr, #0, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     w3, w0, #15, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     wzr, w15, #13, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     x9, xzr, #0, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     x3, x0, #15, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmp     xzr, x5, #7, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     w1, wzr, #0, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     w3, w0, #15, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     wzr, w15, #13, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     x9, xzr, #0, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     x3, x0, #15, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ccmn     xzr, x5, #7, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     w1, w0, w19, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     wzr, w5, w9, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     w9, wzr, w30, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     w1, w28, wzr, mi
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     x19, x23, x29, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     xzr, x3, x4, ge
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     x5, xzr, x6, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csel     x7, x8, xzr, lo
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    w1, w0, w19, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    wzr, w5, w9, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    w9, wzr, w30, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    w1, w28, wzr, mi
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    x19, x23, x29, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    xzr, x3, x4, ge
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    x5, xzr, x6, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    x7, x8, xzr, lo
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    w1, w0, w19, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    wzr, w5, w9, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    w9, wzr, w30, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    w1, w28, wzr, mi
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    x19, x23, x29, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    xzr, x3, x4, ge
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    x5, xzr, x6, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    x7, x8, xzr, lo
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    w1, w0, w19, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    wzr, w5, w9, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    w9, wzr, w30, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    w1, w28, wzr, mi
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    x19, x23, x29, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    xzr, x3, x4, ge
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    x5, xzr, x6, hs
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    x7, x8, xzr, lo
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cset     w3, eq
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cset     x9, pl
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csetm    w20, ne
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csetm    x30, ge
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    w2, wzr, wzr, al
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    x3, xzr, xzr, nv
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinc     w3, w5, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinc     wzr, w4, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cset     w9, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinc     x3, x5, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinc     xzr, x4, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cset     x9, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    w5, w6, w6, nv
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinc    x1, x2, x2, al
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinv     w3, w5, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinv     wzr, w4, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csetm    w9, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinv     x3, x5, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cinv     xzr, x4, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csetm    x9, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    x1, x0, x0, al
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    w9, w8, w8, nv
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cneg     w3, w5, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cneg     wzr, w4, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cneg     w9, wzr, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cneg     x3, x5, gt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cneg     xzr, x4, le
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     cneg     x9, xzr, lt
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csneg    x4, x8, x8, al
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     csinv    w9, w8, w8, nv
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rbit     w0, w7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rbit     x18, x3
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rev16    w17, w1
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rev16    x5, x2
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rev      w18, w0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rev32    x20, x1
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rev      x22, x2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      w24, w3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      x26, x4
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      w3, w5
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      x20, x5
+# CHECK-NEXT:  -      -      -      -     39.00   -      -      -     udiv     w0, w7, w10
+# CHECK-NEXT:  -      -      -      -     23.00   -      -      -     udiv     x9, x22, x4
+# CHECK-NEXT:  -      -      -      -     39.00   -      -      -     sdiv     w12, w21, w0
+# CHECK-NEXT:  -      -      -      -     23.00   -      -      -     sdiv     x13, x2, x1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      w11, w12, w13
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      x14, x15, x16
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     lsr      w17, w18, w19
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     lsr      x20, x21, x22
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w23, w24, w25
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x26, x27, x28
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      w0, w1, w2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      x3, x4, x5
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      w6, w7, w8
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     lsl      x9, x10, x11
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     lsr      w12, w13, w14
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     lsr      x15, x16, x17
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      w18, w19, w20
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     asr      x21, x22, x23
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      w24, w25, w26
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      x27, x28, x29
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     smulh    x30, x29, x28
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     smulh    xzr, x27, x26
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     umulh    x30, x29, x28
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     umulh    x23, x30, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     w1, w3, w7, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     wzr, w0, w9, w11
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     w13, wzr, w4, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     w19, w30, wzr, w29
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mul      w4, w5, w6
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     x1, x3, x7, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     xzr, x0, x9, x11
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     x13, xzr, x4, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     madd     x19, x30, xzr, x29
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mul      x4, x5, x6
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     w1, w3, w7, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     wzr, w0, w9, w11
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     w13, wzr, w4, w4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     w19, w30, wzr, w29
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mneg     w4, w5, w6
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     x1, x3, x7, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     xzr, x0, x9, x11
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     x13, xzr, x4, x4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     msub     x19, x30, xzr, x29
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mneg     x4, x5, x6
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smaddl   x3, w5, w2, x9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smaddl   xzr, w10, w11, x12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smaddl   x13, wzr, w14, x15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smaddl   x16, w17, wzr, x18
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smull    x19, w20, w21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smsubl   x3, w5, w2, x9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smsubl   xzr, w10, w11, x12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smsubl   x13, wzr, w14, x15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smsubl   x16, w17, wzr, x18
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smnegl   x19, w20, w21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umaddl   x3, w5, w2, x9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umaddl   xzr, w10, w11, x12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umaddl   x13, wzr, w14, x15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umaddl   x16, w17, wzr, x18
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umull    x19, w20, w21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umsubl   x3, w5, w2, x9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umsubl   x16, w17, wzr, x18
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umnegl   x19, w20, w21
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     smulh    x30, x29, x28
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     smulh    x23, x22, xzr
+# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     umulh    x23, x22, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mul      x19, x20, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mneg     w21, w22, w23
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smull    x11, w13, w17
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umull    x11, w13, w17
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smnegl   x11, w13, w17
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umnegl   x11, w13, w17
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     extr     w3, w5, w7, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     extr     w11, w13, w17, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     extr     x3, x5, x7, #15
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     extr     x11, x13, x17, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      x19, x23, #24
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      x29, xzr, #63
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     ror      w9, w13, #31
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmp     s3, s5
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmp     s31, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmp     s31, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmpe    s29, s30
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmpe    s15, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmpe    s15, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmp     d4, d12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmp     d23, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmp     d23, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmpe    d26, d22
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmpe    d29, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcmpe    d29, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmp    s1, s31, #0, eq
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmp    s3, s0, #15, hs
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmp    s31, s15, #13, hs
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmp    d9, d31, #0, le
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmp    d3, d0, #15, gt
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmp    d31, d5, #7, ne
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmpe   s1, s31, #0, eq
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmpe   s3, s0, #15, hs
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmpe   s31, s15, #13, hs
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmpe   d9, d31, #0, le
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmpe   d3, d0, #15, gt
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fccmpe   d31, d5, #7, ne
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcsel    s3, s20, s9, pl
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcsel    d9, d10, d11, mi
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmov     s0, s1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fabs     s2, s3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fneg     s4, s5
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsqrt    s6, s7
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvt     d8, s9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvt     h10, s11
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   s12, s13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   s14, s15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   s16, s17
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   s18, s19
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   s20, s21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   s22, s23
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   s24, s25
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmov     d0, d1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fabs     d2, d3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fneg     d4, d5
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsqrt    d6, d7
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvt     s8, d9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvt     h10, d11
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   d12, d13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   d14, d15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   d16, d17
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   d18, d19
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   d20, d21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   d22, d23
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   d24, d25
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvt     s26, h27
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvt     d28, h29
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     s20, s19, s17
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fdiv     s1, s2, s3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fadd     s4, s5, s6
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fsub     s7, s8, s9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmax     s10, s11, s12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmin     s13, s14, s15
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmaxnm   s16, s17, s18
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fminnm   s19, s20, s21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmul    s22, s23, s2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     d20, d19, d17
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fdiv     d1, d2, d3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     d4, d5, d6
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     d7, d8, d9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmax     d10, d11, d12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmin     d13, d14, d15
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmaxnm   d16, d17, d18
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fminnm   d19, d20, d21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmul    d22, d23, d24
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmadd    s3, s5, s6, s31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmadd    d3, d13, d0, d23
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmsub    s3, s5, s6, s31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmsub    d3, d13, d0, d23
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmadd   s3, s5, s6, s31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmadd   d3, d13, d0, d23
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmsub   s3, s5, s6, s31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmsub   d3, d13, d0, d23
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w3, h5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   wzr, h20, #13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w19, h0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x3, h5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x12, h30, #45
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x19, h0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w3, s5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   wzr, s20, #13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w19, s0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x3, s5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x12, s30, #45
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x19, s0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w3, d5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   wzr, d20, #13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w19, d0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x3, d5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x12, d30, #45
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x19, d0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w3, h5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   wzr, h20, #13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w19, h0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x3, h5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x12, h30, #45
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x19, h0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w3, s5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   wzr, s20, #13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w19, s0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x3, s5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x12, s30, #45
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x19, s0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w3, d5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   wzr, d20, #13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w19, d0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x3, d5, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x12, d30, #45
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x19, d0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h23, w19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h31, wzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h14, w0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h23, x19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h31, xzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h14, x0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s23, w19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s31, wzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s14, w0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s23, x19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s31, xzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s14, x0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d23, w19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d31, wzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d14, w0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d23, x19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d31, xzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d14, x0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h23, w19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h31, wzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h14, w0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h23, x19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h31, xzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h14, x0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s23, w19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s31, wzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s14, w0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s23, x19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s31, xzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s14, x0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d23, w19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d31, wzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d14, w0, #32
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d23, x19, #1
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d31, xzr, #20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d14, x0, #64
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtns   w3, h31
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtns   xzr, h12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtnu   wzr, h12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtnu   x0, h0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtps   wzr, h9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtps   x12, h20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtpu   w30, h23
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtpu   x29, h3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtms   w2, h3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtms   x4, h5
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtmu   w6, h7
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtmu   x8, h9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w10, h11
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x12, h13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w14, h15
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x15, h16
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h17, w18
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h19, x20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    h21, w22
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    h23, x24
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtas   w25, h26
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtas   x27, h28
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtau   w29, h30
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtau   xzr, h0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtns   w3, s31
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtns   xzr, s12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtnu   wzr, s12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtnu   x0, s0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtps   wzr, s9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtps   x12, s20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtpu   w30, s23
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtpu   x29, s3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtms   w2, s3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtms   x4, s5
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtmu   w6, s7
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtmu   x8, s9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w10, s11
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x12, s13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w14, s15
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x15, s16
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s17, w18
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s19, x20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    s21, w22
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    s23, x24
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtas   w25, s26
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtas   x27, s28
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtau   w29, s30
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtau   xzr, s0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtns   w3, d31
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtns   xzr, d12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtnu   wzr, d12
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtnu   x0, d0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtps   wzr, d9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtps   x12, d20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtpu   w30, d23
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtpu   x29, d3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtms   w2, d3
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtms   x4, d5
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtmu   w6, d7
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtmu   x8, d9
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   w10, d11
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzs   x12, d13
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   w14, d15
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtzu   x15, d16
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d17, w18
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     scvtf    d19, x20
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d21, w22
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     ucvtf    d23, x24
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtas   w25, d26
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtas   x27, d28
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtau   w29, d30
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcvtau   xzr, d0
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     w3, s9
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     s9, w3
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     x20, d31
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     d1, x15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmov     x3, v12.d[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmov     v1.d[1], x19
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     s2, #0.12500000
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     s3, #1.00000000
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     d30, #16.00000000
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     s4, #1.06250000
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     d10, #1.93750000
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     s12, #-1.00000000
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     fmov     d16, #8.50000000
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     ldr      w3, #0
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     ldr      x29, #4
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsw    xzr, #-4
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      s0, #8
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     ldr      d0, #1048572
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     ldr      q0, #-1048576
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfm     pldl1strm, #0
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfm     #22, #0
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stxrb    w18, w8, [sp]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stxrh    w24, w15, [x16]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stxr     w5, w6, [x17]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stxr     w1, x10, [x21]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxrb    w30, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxrh    w17, [x4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxr     w22, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxr     x11, [x29]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxr     x11, [x29]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxr     x11, [x29]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stxp     w12, w11, w10, [sp]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stxp     wzr, x27, x9, [x12]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxp     w0, wzr, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxp     x17, x0, [x18]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldxp     x17, x0, [x18]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stlxrb   w12, w22, [x0]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stlxrh   w10, w1, [x1]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stlxr    w9, w2, [x2]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stlxr    w9, x3, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxrb   w8, [x4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxrh   w7, [x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxr    w6, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxr    x5, [x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxr    x5, [x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxr    x5, [x6]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stlxp    w4, w5, w6, [sp]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     stlxp    wzr, x6, x7, [x1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxp    w5, w18, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxp    x6, x19, [x22]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldaxp    x6, x19, [x22]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stlrb    w24, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stlrh    w25, [x30]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stlr     w26, [x29]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stlr     x27, [x28]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stlr     x27, [x28]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stlr     x27, [x28]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldarb    w23, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldarh    w22, [x30]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldar     wzr, [x29]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldar     x21, [x28]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldar     x21, [x28]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldar     x21, [x28]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     sturb    w9, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     sturh    wzr, [x12, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     w16, [x0, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     x28, [x14, #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldurb    w1, [x20, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldurh    w20, [x1, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     w12, [sp, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     xzr, [x12, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldursb   x9, [x7, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldursh   x17, [x19, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldursw   x20, [x15, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfum    pldl2keep, [sp, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldursb   w19, [x1, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldursh   w15, [x21, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     b0, [sp, #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     h12, [x12, #-1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     s15, [x0, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     d31, [x5, #25]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stur     q9, [x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     b3, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     h5, [x4, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     s7, [x12, #-1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     d11, [x19, #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldur     q13, [x1, #2]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strb     w9, [x2], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strb     w10, [x3], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strb     w10, [x3], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strh     w9, [x2], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strh     w9, [x2], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strh     w10, [x3], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      w19, [sp], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      w20, [x30], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      w21, [x12], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      xzr, [x9], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      x2, [x3], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      x19, [x12], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrb     w9, [x2], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrb     w10, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrb     w10, [x3], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrh     w9, [x2], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrh     w9, [x2], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrh     w10, [x3], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      w19, [sp], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      w20, [x30], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      w21, [x12], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      xzr, [x9], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      x2, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      x19, [x12], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    xzr, [x9], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    x2, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    x19, [x12], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    xzr, [x9], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    x2, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    x19, [x12], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldrsw    xzr, [x9], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldrsw    x2, [x3], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldrsw    x19, [x12], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    wzr, [x9], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    w2, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    w19, [x12], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    wzr, [x9], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    w2, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    w19, [x12], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      b0, [x0], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      b3, [x3], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      b5, [sp], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      h10, [x10], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      h13, [x23], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      h15, [sp], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      s20, [x20], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      s23, [x23], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      s25, [x0], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      d20, [x20], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      d23, [x23], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      d25, [x0], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      b0, [x0], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      b3, [x3], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      b5, [sp], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      h10, [x10], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      h13, [x23], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      h15, [sp], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      s20, [x20], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      s23, [x23], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      s25, [x0], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      d20, [x20], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      d23, [x23], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      d25, [x0], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      q20, [x1], #255
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      q23, [x9], #1
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      q25, [x20], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      q10, [x1], #255
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      q22, [sp], #1
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      q21, [x20], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      x3, [x4, #0]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strb     w9, [x2, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strb     w10, [x3, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strb     w10, [x3, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strh     w9, [x2, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strh     w9, [x2, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     strh     w10, [x3, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      w19, [sp, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      w20, [x30, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      w21, [x12, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      xzr, [x9, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      x2, [x3, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      x19, [x12, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrb     w9, [x2, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrb     w10, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrb     w10, [x3, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrh     w9, [x2, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrh     w9, [x2, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrh     w10, [x3, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      w19, [sp, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      w20, [x30, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      w21, [x12, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      xzr, [x9, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      x2, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      x19, [x12, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    xzr, [x9, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    x2, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    x19, [x12, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    xzr, [x9, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    x2, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    x19, [x12, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldrsw    xzr, [x9, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldrsw    x2, [x3, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldrsw    x19, [x12, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    wzr, [x9, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    w2, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsb    w19, [x12, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    wzr, [x9, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    w2, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldrsh    w19, [x12, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      b0, [x0, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      b3, [x3, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      b5, [sp, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      h10, [x10, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      h13, [x23, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      h15, [sp, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      s20, [x20, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      s23, [x23, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      s25, [x0, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      d20, [x20, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      d23, [x23, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      d25, [x0, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      b0, [x0, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      b3, [x3, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      b5, [sp, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      h10, [x10, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      h13, [x23, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      h15, [sp, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      s20, [x20, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      s23, [x23, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      s25, [x0, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      d20, [x20, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      d23, [x23, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      d25, [x0, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      q20, [x1, #255]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      q23, [x9, #1]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldr      q25, [x20, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      q10, [x1, #255]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      q22, [sp, #1]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     str      q21, [x20, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     sttrb    w9, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     sttrh    wzr, [x12, #255]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     sttr     w16, [x0, #-256]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     sttr     x28, [x14, #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrb    w1, [x20, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrh    w20, [x1, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtr     w12, [sp, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtr     xzr, [x12, #255]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrsb   x9, [x7, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrsh   x17, [x19, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrsw   x20, [x15, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrsb   w19, [x1, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldtrsh   w15, [x21, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x4, [x29]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x30, [x12, #32760]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x20, [sp, #8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      xzr, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w2, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w17, [sp, #16380]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w13, [x2, #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsw    x2, [x5, #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsw    x23, [sp, #16380]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w2, [x4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    w23, [x6, #8190]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    wzr, [sp, #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    x29, [x2, #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w26, [x3, #121]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w12, [x2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsb    w27, [sp, #4095]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsb    xzr, [x15]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      x30, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      w20, [x4, #16380]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     strh     w17, [sp, #8190]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     strb     w23, [x3, #4095]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     strb     wzr, [x2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      b31, [sp, #4095]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      h20, [x2, #8190]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      s10, [x19, #16380]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      d3, [x10, #32760]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      q12, [sp, #65520]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w3, [sp, x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w9, [x27, x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsb    w10, [x30, x7]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w11, [x29, x3, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     strb     w12, [x28, xzr, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w14, [x26, w6, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsb    w15, [x25, w7, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrb     w17, [x23, w9, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsb    x18, [x22, w10, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    w3, [sp, x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    w9, [x27, x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w10, [x30, x7, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     strh     w11, [x29, x3, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w12, [x28, xzr, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    x13, [x27, x5, sxtx #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w14, [x26, w6, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w15, [x25, w7, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsh    w16, [x24, w8, uxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w17, [x23, w9, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrh     w18, [x22, w10, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     strh     w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w3, [sp, x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      s9, [x27, x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w10, [x30, x7, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w11, [x29, x3, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      s12, [x28, xzr, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      w13, [x27, x5, sxtx #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      w14, [x26, w6, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w15, [x25, w7, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w16, [x24, w8, uxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsw    x17, [x23, w9, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      w18, [x22, w10, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldrsw    x19, [x21, wzr, sxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x3, [sp, x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      x9, [x27, x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      d10, [x30, x7, lsl #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      x11, [x29, x3, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x12, [x28, xzr, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x13, [x27, x5, sxtx #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfm     pldl1keep, [x26, w6, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x15, [x25, w7, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x16, [x24, w8, uxtw #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x17, [x23, w9, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      x18, [x22, w10, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q3, [sp, x5]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q9, [x27, x6]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q10, [x30, x7, lsl #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      q11, [x29, x3, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      q12, [x28, xzr, sxtx]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      q13, [x27, x5, sxtx #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q14, [x26, w6, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q15, [x25, w7, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q16, [x24, w8, uxtw #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q17, [x23, w9, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     str      q18, [x22, w10, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldr      q19, [x21, wzr, sxtw #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      w3, w5, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      wzr, w9, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      w2, wzr, [sp, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      w9, w10, [sp, #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldpsw    x9, x10, [sp, #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldpsw    x9, x10, [x2, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldpsw    x20, x30, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      x21, x29, [x2, #504]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      x22, x23, [x3, #-512]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      x24, x25, [x4, #8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      s29, s28, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      s27, s26, [sp, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      s1, s2, [x3, #44]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      d3, d5, [x9, #504]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      d7, d11, [x10, #-512]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      d2, d3, [x30, #-8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      q3, q5, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      q17, q19, [sp, #1008]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldp      q23, q29, [x1, #-1024]
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      w3, w5, [sp], #0
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      wzr, w9, [sp], #252
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      w2, wzr, [sp], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      w9, w10, [sp], #4
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldpsw    x9, x10, [sp], #4
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldpsw    x9, x10, [x2], #-256
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldpsw    x20, x30, [sp], #252
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      x21, x29, [x2], #504
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      x22, x23, [x3], #-512
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      x24, x25, [x4], #8
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      s29, s28, [sp], #252
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      s27, s26, [sp], #-256
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      s1, s2, [x3], #44
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      d3, d5, [x9], #504
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      d7, d11, [x10], #-512
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      d2, d3, [x30], #-8
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      q3, q5, [sp], #0
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      q17, q19, [sp], #1008
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      q23, q29, [x1], #-1024
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      w3, w5, [sp, #0]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      wzr, w9, [sp, #252]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      w2, wzr, [sp, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      w9, w10, [sp, #4]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldpsw    x9, x10, [sp, #4]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldpsw    x9, x10, [x2, #-256]!
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ldpsw    x20, x30, [sp, #252]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      x21, x29, [x2, #504]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      x22, x23, [x3, #-512]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      x24, x25, [x4, #8]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      s29, s28, [sp, #252]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      s27, s26, [sp, #-256]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      s1, s2, [x3, #44]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      d3, d5, [x9, #504]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      d7, d11, [x10, #-512]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      d2, d3, [x30, #-8]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      q3, q5, [sp, #0]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stp      q17, q19, [sp, #1008]!
+# CHECK-NEXT:  -     0.50   0.50   0.50   0.50    -      -      -     ldp      q23, q29, [x1, #-1024]!
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     w3, w5, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stnp     wzr, w9, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     w2, wzr, [sp, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     w9, w10, [sp, #4]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     x21, x29, [x2, #504]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     x22, x23, [x3, #-512]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     x24, x25, [x4, #8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     s29, s28, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stnp     s27, s26, [sp, #-256]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     s1, s2, [x3, #44]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stnp     d3, d5, [x9, #504]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stnp     d7, d11, [x10, #-512]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     d2, d3, [x30, #-8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stnp     q3, q5, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     stnp     q17, q19, [sp, #1008]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnp     q23, q29, [x1, #-1024]
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      w3, #983055
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      x10, #-6148914691236517206
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w12, w23, w21
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w16, w15, w1, lsl #1
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w9, w4, w10, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w3, w30, w11
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      x3, x5, x7, lsl #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      x5, x14, x19, asr #4
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w3, w17, w19, ror #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w0, w2, wzr, lsr #17
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w3, w30, w11, asr #2
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      xzr, x4, x26
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      w3, wzr, w20, ror #2
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     and      x7, x20, xzr, asr #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     bic      x13, x20, x14, lsl #47
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     bic      w2, w7, w9
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     orr      w2, w7, w0, asr #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     orr      x8, x9, x10, lsl #12
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     orn      x3, x5, x7, asr #2
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     orn      w2, w5, w29
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ands     w7, wzr, w9, lsl #1
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     ands     x3, x5, x20, ror #63
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     bics     w3, w5, w7
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     bics     x3, xzr, x3, lsl #1
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     tst      w3, w7, lsl #31
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     tst      x2, x20, asr #2
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      x3, x6
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      x3, xzr
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      wzr, w2
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      w3, w5
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movz     w2, #0, lsl #16
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      w2, #-1235
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      x2, #5299989643264
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     mov      x2, #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movk     w3, #0
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movz     x4, #0, lsl #16
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movk     w5, #0, lsl #16
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movz     x6, #0, lsl #32
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movk     x7, #0, lsl #32
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movz     x8, #0, lsl #48
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     movk     x9, #0, lsl #48
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adr      x2, #1600
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adrp     x21, #6553600
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     adr      x0, #262144
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     tbz      x12, #62, #0
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     tbz      x12, #62, #4
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     tbz      x12, #62, #-32768
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     tbnz     x12, #60, #32764
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     b        #4
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     b        #-4
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     b        #134217724
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     br       x20
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     blr      xzr
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     ret      x10
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     ret
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     eret
+# CHECK-NEXT: 1.00    -      -      -      -      -      -      -     drps
diff --git a/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-neon-instructions.s b/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-neon-instructions.s
new file mode 100644 (file)
index 0000000..dcfb53e
--- /dev/null
@@ -0,0 +1,3207 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=a64fx -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 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
+
+# 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                        abs    d29, d24
+# CHECK-NEXT:  1      4     0.50                        abs    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        abs    v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        abs    v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        abs    v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        abs    v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        abs    v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        abs    v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        add    d17, d31, d29
+# CHECK-NEXT:  1      4     0.50                        add    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  2      10    0.50                        addhn  v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  2      10    0.50                        addhn  v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  2      10    0.50                        addhn  v0.8b, v0.8h, v0.8h
+# CHECK-NEXT:  2      10    0.50                        addhn2 v0.16b, v0.8h, v0.8h
+# CHECK-NEXT:  2      10    0.50                        addhn2 v0.4s, v0.2d, v0.2d
+# CHECK-NEXT:  2      10    0.50                        addhn2 v0.8h, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        addp   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        addp   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        and    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        bic    v0.4h, #15, lsl #8
+# CHECK-NEXT:  1      4     0.50                        bic    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      5     0.50                        bif    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      5     0.50                        bit    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      5     0.50                        bsl    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     1.00                        cls    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     1.00                        cls    v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        cls    v0.4h, v0.4h
+# CHECK-NEXT:  1      4     1.00                        cls    v0.4s, v0.4s
+# CHECK-NEXT:  1      4     1.00                        cls    v0.8b, v0.8b
+# CHECK-NEXT:  1      4     1.00                        cls    v0.8h, v0.8h
+# CHECK-NEXT:  1      4     1.00                        clz    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     1.00                        clz    v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        clz    v0.4h, v0.4h
+# CHECK-NEXT:  1      4     1.00                        clz    v0.4s, v0.4s
+# CHECK-NEXT:  1      4     1.00                        clz    v0.8b, v0.8b
+# CHECK-NEXT:  1      4     1.00                        clz    v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        cmeq   d20, d21, #0
+# CHECK-NEXT:  1      4     0.50                        cmeq   d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        cmeq   v0.16b, v0.16b, #0
+# CHECK-NEXT:  1      4     0.50                        cmeq   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        cmge   d20, d21, #0
+# CHECK-NEXT:  1      4     0.50                        cmge   d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        cmge   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        cmge   v0.8b, v0.8b, #0
+# CHECK-NEXT:  1      4     0.50                        cmgt   d20, d21, #0
+# CHECK-NEXT:  1      4     0.50                        cmgt   d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        cmgt   v0.2s, v0.2s, #0
+# CHECK-NEXT:  1      4     0.50                        cmgt   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        cmhi   d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        cmhi   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        cmhs   d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        cmhs   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        cmle   d20, d21, #0
+# CHECK-NEXT:  1      4     0.50                        cmle   v0.2d, v0.2d, #0
+# CHECK-NEXT:  1      4     0.50                        cmlt   d20, d21, #0
+# CHECK-NEXT:  1      4     0.50                        cmlt   v0.8h, v0.8h, #0
+# CHECK-NEXT:  1      4     0.50                        cmtst  d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        cmtst  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        cnt    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     1.00                        cnt    v0.8b, v0.8b
+# CHECK-NEXT:  1      10    0.50                        dup    v0.16b, w28
+# CHECK-NEXT:  1      10    0.50                        dup    v0.2d, x28
+# CHECK-NEXT:  1      10    0.50                        dup    v0.2s, w28
+# CHECK-NEXT:  1      10    0.50                        dup    v0.4h, w28
+# CHECK-NEXT:  1      10    0.50                        dup    v0.4s, w28
+# CHECK-NEXT:  1      10    0.50                        dup    v0.8b, w28
+# CHECK-NEXT:  1      10    0.50                        dup    v0.8h, w28
+# CHECK-NEXT:  1      4     0.50                        eor    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        ext    v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      6     1.00                        ext    v0.8b, v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      4     0.50                        fabd   d29, d24, d20
+# CHECK-NEXT:  1      4     0.50                        fabd   s29, s24, s20
+# CHECK-NEXT:  1      9     0.50                        fabd   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fabs   v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        fabs   v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fabs   v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        fabs   v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fabs   v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        facge  d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        facge  s10, s11, s12
+# CHECK-NEXT:  1      4     0.50                        facge  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        facgt  d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        facgt  s10, s11, s12
+# CHECK-NEXT:  1      4     0.50                        facgt  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        fadd   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      15    0.50                        faddp  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      15    0.50                        faddp  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcmeq  d20, d21, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmeq  d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        fcmeq  s10, s11, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmeq  s10, s11, s12
+# CHECK-NEXT:  1      4     0.50                        fcmeq  v0.2s, v0.2s, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmeq  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcmge  d20, d21, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmge  d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        fcmge  s10, s11, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmge  s10, s11, s12
+# CHECK-NEXT:  1      4     0.50                        fcmge  v0.2d, v0.2d, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmge  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcmgt  d20, d21, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmgt  d20, d21, d22
+# CHECK-NEXT:  1      4     0.50                        fcmgt  s10, s11, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmgt  s10, s11, s12
+# CHECK-NEXT:  1      4     0.50                        fcmgt  v0.4s, v0.4s, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmgt  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcmle  d20, d21, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmle  s10, s11, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmle  v0.2d, v0.2d, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmlt  d20, d21, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmlt  s10, s11, #0.0
+# CHECK-NEXT:  1      4     0.50                        fcmlt  v0.4s, v0.4s, #0.0
+# CHECK-NEXT:  2      15    0.50                        fcvtas d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtas s12, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtas v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtas v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtas v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtas v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtas v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtau d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtau s12, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtau v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtau v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtau v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtau v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtau v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtl  v0.2d, v0.2s
+# CHECK-NEXT:  2      15    0.50                        fcvtl  v0.4s, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtl2 v0.2d, v0.4s
+# CHECK-NEXT:  2      15    0.50                        fcvtl2 v0.4s, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtms d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtms s22, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtms v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtms v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtms v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtms v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtms v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtmu d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtmu s12, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtmu v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtmu v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtmu v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtmu v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtmu v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtn  v0.2s, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtn  v0.4h, v0.4s
+# CHECK-NEXT:  2      15    0.50                        fcvtn2 v0.4s, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtn2 v0.8h, v0.4s
+# CHECK-NEXT:  2      15    0.50                        fcvtns d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtns s22, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtns v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtns v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtns v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtns v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtns v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtnu d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtnu s12, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtnu v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtnu v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtnu v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtnu v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtnu v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtps d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtps s22, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtps v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtps v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtps v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtps v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtps v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtpu d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtpu s12, s13
+# CHECK-NEXT:  2      15    0.50                        fcvtpu v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtpu v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fcvtpu v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtpu v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fcvtpu v0.8h, v0.8h
+# CHECK-NEXT:  2      15    0.50                        fcvtxn s22, d13
+# CHECK-NEXT:  2      15    0.50                        fcvtxn v0.2s, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtxn2        v0.4s, v0.2d
+# CHECK-NEXT:  1      4     0.50                        fcvtzs d21, d12, #1
+# CHECK-NEXT:  2      15    0.50                        fcvtzs d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtzs s12, s13
+# CHECK-NEXT:  1      4     0.50                        fcvtzs s21, s12, #1
+# CHECK-NEXT:  2      15    0.50                        fcvtzs v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtzs v0.2d, v0.2d, #3
+# CHECK-NEXT:  2      15    0.50                        fcvtzs v0.2s, v0.2s
+# CHECK-NEXT:  2      15    0.50                        fcvtzs v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        fcvtzs v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtzs v0.4s, v0.4s
+# CHECK-NEXT:  2      15    0.50                        fcvtzs v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        fcvtzs v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        fcvtzu d21, d12, #1
+# CHECK-NEXT:  2      15    0.50                        fcvtzu d21, d14
+# CHECK-NEXT:  2      15    0.50                        fcvtzu s12, s13
+# CHECK-NEXT:  1      4     0.50                        fcvtzu s21, s12, #1
+# CHECK-NEXT:  2      15    0.50                        fcvtzu v0.2d, v0.2d
+# CHECK-NEXT:  2      15    0.50                        fcvtzu v0.2d, v0.2d, #3
+# CHECK-NEXT:  2      15    0.50                        fcvtzu v0.2s, v0.2s
+# CHECK-NEXT:  2      15    0.50                        fcvtzu v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        fcvtzu v0.4h, v0.4h
+# CHECK-NEXT:  2      15    0.50                        fcvtzu v0.4s, v0.4s
+# CHECK-NEXT:  2      15    0.50                        fcvtzu v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        fcvtzu v0.8h, v0.8h
+# CHECK-NEXT:  1      29    1.00                        fdiv   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        fmax   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     1.00                        fmax   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        fmax   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     1.00                        fmaxnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     1.00                        fmaxnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        fmaxnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        fmaxnmp        v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        fmaxnmp        v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        fmaxnmp        v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        fmaxp  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        fmaxp  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        fmaxp  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     1.00                        fmin   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     1.00                        fmin   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        fmin   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     1.00                        fminnm v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     1.00                        fminnm v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        fminnm v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        fminnmp        v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        fminnmp        v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        fminnmp        v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        fminp  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        fminp  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        fminp  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      9     0.50                        fmla   d0, d1, v0.d[1]
+# CHECK-NEXT:  1      9     0.50                        fmla   s0, s1, v0.s[3]
+# CHECK-NEXT:  1      9     0.50                        fmla   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      9     0.50                        fmls   d0, d4, v0.d[1]
+# CHECK-NEXT:  1      9     0.50                        fmls   s3, s5, v0.s[3]
+# CHECK-NEXT:  1      9     0.50                        fmls   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     1.00                        fmov   v0.2d, #-1.25000000
+# CHECK-NEXT:  1      4     1.00                        fmov   v0.2s, #13.00000000
+# CHECK-NEXT:  1      4     1.00                        fmov   v0.4s, #1.00000000
+# CHECK-NEXT:  1      9     0.50                        fmul   d0, d1, v0.d[1]
+# CHECK-NEXT:  1      9     0.50                        fmul   s0, s1, v0.s[3]
+# CHECK-NEXT:  1      9     0.50                        fmul   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      9     0.50                        fmulx  d0, d4, v0.d[1]
+# CHECK-NEXT:  2      15    0.50                        fmulx  d23, d11, d1
+# CHECK-NEXT:  2      15    0.50                        fmulx  s20, s22, s15
+# CHECK-NEXT:  1      9     0.50                        fmulx  s3, s5, v0.s[3]
+# CHECK-NEXT:  1      9     0.50                        fmulx  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        fmulx  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      9     0.50                        fmulx  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fneg   v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        fneg   v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fneg   v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        fneg   v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fneg   v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        frecpe d13, d13
+# CHECK-NEXT:  1      4     0.50                        frecpe s19, s14
+# CHECK-NEXT:  1      4     0.50                        frecpe v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        frecpe v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frecpe v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        frecpe v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frecpe v0.8h, v0.8h
+# CHECK-NEXT:  1      9     1.00                        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                        frecpx d16, d19
+# CHECK-NEXT:  1      4     0.50                        frecpx s18, s10
+# CHECK-NEXT:  1      9     0.50                        frinta v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frinta v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frinta v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frinta v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frinta v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        frinti v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frinti v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frinti v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frinti v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frinti v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        frintm v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frintm v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frintm v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frintm v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frintm v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        frintn v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frintn v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frintn v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frintn v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frintn v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        frintp v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frintp v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frintp v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frintp v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frintp v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        frintx v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frintx v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frintx v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frintx v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frintx v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        frintz v0.2d, v0.2d
+# CHECK-NEXT:  1      9     0.50                        frintz v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frintz v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        frintz v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frintz v0.8h, v0.8h
+# CHECK-NEXT:  1      43    1.00                        frsqrte        d21, d12
+# CHECK-NEXT:  1      29    1.00                        frsqrte        s22, s13
+# CHECK-NEXT:  1      43    1.00                        frsqrte        v0.2d, v0.2d
+# CHECK-NEXT:  1      29    1.00                        frsqrte        v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        frsqrte        v0.4h, v0.4h
+# CHECK-NEXT:  1      29    1.00                        frsqrte        v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        frsqrte        v0.8h, v0.8h
+# CHECK-NEXT:  1      43    1.00                        frsqrts        d8, d22, d18
+# CHECK-NEXT:  1      29    1.00                        frsqrts        s21, s5, s12
+# CHECK-NEXT:  1      43    1.00                        frsqrts        v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      43    1.00                        fsqrt  v0.2d, v0.2d
+# CHECK-NEXT:  1      29    1.00                        fsqrt  v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        fsqrt  v0.4h, v0.4h
+# CHECK-NEXT:  1      29    1.00                        fsqrt  v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        fsqrt  v0.8h, v0.8h
+# CHECK-NEXT:  1      9     0.50                        fsub   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      11    0.50    *                   ld1    { v0.16b }, [x0]
+# CHECK-NEXT:  5      8     0.50    *                   ld1    { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT:  4      8     0.50    *                   ld1    { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT:  4      11    0.50    *                   ld1    { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT:  3      11    0.50    *                   ld1    { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT:  6      8     0.50    *                   ld1    { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT:  3      11    0.50    *                   ld1    { v0.8h }, [x15], x2
+# CHECK-NEXT:  2      11    0.50    *                   ld1    { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT:  2      8     0.33    *                   ld1    { v0.b }[9], [x0]
+# CHECK-NEXT:  4      8     0.33    *                   ld1    { v0.b }[9], [x0], #1
+# CHECK-NEXT:  1      8     0.50    *                   ld1r   { v0.16b }, [x0]
+# CHECK-NEXT:  3      8     0.50    *                   ld1r   { v0.16b }, [x0], #1
+# CHECK-NEXT:  1      8     0.50    *                   ld1r   { v0.8h }, [x15]
+# CHECK-NEXT:  3      8     0.50    *                   ld1r   { v0.8h }, [x15], #2
+# CHECK-NEXT:  4      11    0.50    *                   ld2    { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT:  2      11    0.50    *                   ld2    { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT:  4      8     0.33    *                   ld2    { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT:  6      8     0.33    *                   ld2    { v0.h, v1.h }[7], [x15], #4
+# CHECK-NEXT:  2      8     0.50    *                   ld2r   { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT:  4      8     0.50    *                   ld2r   { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT:  2      8     0.50    *                   ld2r   { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT:  4      8     0.50    *                   ld2r   { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT:  3      11    0.50    *                   ld3    { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT:  5      11    0.50    *                   ld3    { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT:  6      8     0.33    *                   ld3    { v0.s, v1.s, v2.s }[3], [sp]
+# CHECK-NEXT:  8      8     0.33    *                   ld3    { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT:  3      8     0.50    *                   ld3r   { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT:  5      8     0.50    *                   ld3r   { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT:  3      8     0.50    *                   ld3r   { v0.8b, v1.8b, v2.8b }, [x0]
+# CHECK-NEXT:  5      8     0.50    *                   ld3r   { v0.8b, v1.8b, v2.8b }, [x0], #3
+# CHECK-NEXT:  4      11    0.50    *                   ld4    { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT:  6      11    0.50    *                   ld4    { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT:  8      8     0.33    *                   ld4    { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT:  10     8     0.33    *                   ld4    { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+# CHECK-NEXT:  10     8     0.33    *                   ld4    { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT:  4      8     0.50    *                   ld4r   { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT:  6      8     0.50    *                   ld4r   { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+# CHECK-NEXT:  4      8     0.50    *                   ld4r   { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT:  6      8     0.50    *                   ld4r   { v0.2s, v1.2s, v2.2s, v3.2s }, [sp], x30
+# CHECK-NEXT:  1      9     0.50                        mla    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      9     0.50                        mls    v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        mov    b0, v0.b[15]
+# CHECK-NEXT:  1      6     1.00                        mov    d6, v0.d[1]
+# CHECK-NEXT:  1      6     1.00                        mov    h2, v0.h[5]
+# CHECK-NEXT:  1      6     1.00                        mov    s17, v0.s[2]
+# CHECK-NEXT:  1      4     0.50                        mov    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        mov    v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        movi   d15, #0xff00ff00ff00ff
+# CHECK-NEXT:  1      4     1.00                        movi   v0.16b, #31
+# CHECK-NEXT:  1      4     1.00                        movi   v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT:  1      4     1.00                        movi   v0.2s, #8, msl #8
+# CHECK-NEXT:  1      4     1.00                        movi   v0.4s, #255, lsl #24
+# CHECK-NEXT:  1      4     1.00                        movi   v0.8b, #255
+# CHECK-NEXT:  1      8     0.50                        mul    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        mvni   v0.2s, #0
+# CHECK-NEXT:  1      4     0.50                        mvni   v0.4s, #16, msl #16
+# CHECK-NEXT:  1      4     0.50                        neg    d29, d24
+# CHECK-NEXT:  1      4     0.50                        neg    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        neg    v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        neg    v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        neg    v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        neg    v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        neg    v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        neg    v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        mvn    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        mvn    v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        orn    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        mov    v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        orr    v0.8h, #31
+# CHECK-NEXT:  1      8     0.50                        pmul   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      8     0.50                        pmul   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      8     1.00                        pmull  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      8     1.00                        pmull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  3      10    0.50                        raddhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        raddhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        raddhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        raddhn2        v0.16b, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        raddhn2        v0.4s, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        raddhn2        v0.8h, v0.4s, v0.4s
+# CHECK-NEXT:  1      1     0.25                        rbit   v0.16b, v0.16b
+# CHECK-NEXT:  1      1     0.25                        rbit   v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        rev16  v21.8b, v1.8b
+# CHECK-NEXT:  1      4     0.50                        rev16  v30.16b, v31.16b
+# CHECK-NEXT:  1      4     0.50                        rev32  v0.4h, v9.4h
+# CHECK-NEXT:  1      4     0.50                        rev32  v21.8b, v1.8b
+# CHECK-NEXT:  1      4     0.50                        rev32  v30.16b, v31.16b
+# CHECK-NEXT:  1      4     0.50                        rev32  v4.8h, v7.8h
+# CHECK-NEXT:  1      4     0.50                        rev64  v0.16b, v31.16b
+# CHECK-NEXT:  1      4     0.50                        rev64  v1.8b, v9.8b
+# CHECK-NEXT:  1      4     0.50                        rev64  v13.4h, v21.4h
+# CHECK-NEXT:  1      4     0.50                        rev64  v2.8h, v4.8h
+# CHECK-NEXT:  1      4     0.50                        rev64  v4.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        rev64  v6.4s, v8.4s
+# CHECK-NEXT:  3      10    0.50                        rshrn  v0.2s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        rshrn  v0.4h, v0.4s, #3
+# CHECK-NEXT:  3      10    0.50                        rshrn  v0.8b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        rshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        rshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        rshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT:  3      10    0.50                        rsubhn v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        rsubhn v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        rsubhn v0.8b, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        rsubhn2        v0.16b, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        rsubhn2        v0.4s, v0.2d, v0.2d
+# CHECK-NEXT:  3      10    0.50                        rsubhn2        v0.8h, v0.4s, v0.4s
+# CHECK-NEXT:  1      8     0.50                        saba   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      10    0.50                        sabal  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      10    0.50                        sabal  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      10    0.50                        sabal  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      10    0.50                        sabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      10    0.50                        sabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      10    0.50                        sabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        sabd   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  3      10    0.50                        sabdl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        sabdl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  3      10    0.50                        sabdl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  3      10    0.50                        sabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        sabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        sabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  3      10    0.50                        sadalp v0.1d, v0.2s
+# CHECK-NEXT:  3      10    0.50                        sadalp v0.2d, v0.4s
+# CHECK-NEXT:  3      10    0.50                        sadalp v0.2s, v0.4h
+# CHECK-NEXT:  3      10    0.50                        sadalp v0.4h, v0.8b
+# CHECK-NEXT:  3      10    0.50                        sadalp v0.4s, v0.8h
+# CHECK-NEXT:  3      10    0.50                        sadalp v0.8h, v0.16b
+# CHECK-NEXT:  1      4     0.50                        saddl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        saddl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        saddl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        saddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        saddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        saddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  2      10    0.50                        saddlp v0.1d, v0.2s
+# CHECK-NEXT:  2      10    0.50                        saddlp v0.2d, v0.4s
+# CHECK-NEXT:  2      10    0.50                        saddlp v0.2s, v0.4h
+# CHECK-NEXT:  2      10    0.50                        saddlp v0.4h, v0.8b
+# CHECK-NEXT:  2      10    0.50                        saddlp v0.4s, v0.8h
+# CHECK-NEXT:  2      10    0.50                        saddlp v0.8h, v0.16b
+# CHECK-NEXT:  1      4     0.50                        saddw  v0.2d, v0.2d, v0.2s
+# CHECK-NEXT:  1      4     0.50                        saddw  v0.4s, v0.4s, v0.4h
+# CHECK-NEXT:  1      4     0.50                        saddw  v0.8h, v0.8h, v0.8b
+# CHECK-NEXT:  1      4     0.50                        saddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT:  1      4     0.50                        saddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT:  1      4     0.50                        saddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT:  1      4     0.50                        scvtf  d21, d12
+# CHECK-NEXT:  1      4     0.50                        scvtf  d21, d12, #64
+# CHECK-NEXT:  1      4     0.50                        scvtf  s22, s13
+# CHECK-NEXT:  1      4     0.50                        scvtf  s22, s13, #32
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        scvtf  v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        shadd  v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        shl    d7, d10, #12
+# CHECK-NEXT:  1      4     0.50                        shl    v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      4     0.50                        shl    v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        shl    v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      4     0.50                        shl    v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        shll   v0.2d, v0.2s, #32
+# CHECK-NEXT:  1      4     0.50                        shll   v0.4s, v0.4h, #16
+# CHECK-NEXT:  1      4     0.50                        shll   v0.8h, v0.8b, #8
+# CHECK-NEXT:  1      4     0.50                        shll   v0.2d, v0.2s, #32
+# CHECK-NEXT:  1      4     0.50                        shll   v0.4s, v0.4h, #16
+# CHECK-NEXT:  1      4     0.50                        shll   v0.8h, v0.8b, #8
+# CHECK-NEXT:  1      4     0.50                        shll2  v0.2d, v0.4s, #32
+# CHECK-NEXT:  1      4     0.50                        shll2  v0.4s, v0.8h, #16
+# CHECK-NEXT:  1      4     0.50                        shll2  v0.8h, v0.16b, #8
+# CHECK-NEXT:  1      4     0.50                        shll2  v0.2d, v0.4s, #32
+# CHECK-NEXT:  1      4     0.50                        shll2  v0.4s, v0.8h, #16
+# CHECK-NEXT:  1      4     0.50                        shll2  v0.8h, v0.16b, #8
+# CHECK-NEXT:  2      10    0.50                        shrn   v0.2s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        shrn   v0.4h, v0.4s, #3
+# CHECK-NEXT:  2      10    0.50                        shrn   v0.8b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        shrn2  v0.16b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        shrn2  v0.4s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        shrn2  v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        shsub  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        shsub  v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        sli    d10, d14, #12
+# CHECK-NEXT:  1      4     0.50                        sli    v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      4     0.50                        sli    v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        sli    v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        sli    v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      4     0.50                        sli    v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        sli    v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      4     0.50                        sli    v0.8h, v0.8h, #3
+# CHECK-NEXT:  6      14    0.50                        smax   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  6      14    0.50                        smax   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  6      14    0.50                        smax   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  3      10    0.50                        smaxp  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        smaxp  v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  3      10    0.50                        smaxp  v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  6      14    0.50                        smin   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  6      14    0.50                        smin   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  6      14    0.50                        smin   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        sminp  v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  3      10    0.50                        sminp  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        sminp  v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        smlal  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        smlal  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        smlal  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        smlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        smlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        smlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      14    0.50                        smlsl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        smlsl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        smlsl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        smlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        smlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        smlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      14    0.50                        smull  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        smull  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        smull  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        smull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        smull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        smull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        sqabs  b19, b14
+# CHECK-NEXT:  1      4     0.50                        sqabs  d18, d12
+# CHECK-NEXT:  1      4     0.50                        sqabs  h21, h15
+# CHECK-NEXT:  1      4     0.50                        sqabs  s20, s12
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        sqabs  v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        sqadd  b20, b11, b15
+# CHECK-NEXT:  1      4     0.50                        sqadd  v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        sqadd  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        sqdmlal        d19, s24, s12
+# CHECK-NEXT:  1      14    0.50                        sqdmlal        d8, s9, v0.s[1]
+# CHECK-NEXT:  1      14    0.50                        sqdmlal        s0, h0, v0.h[3]
+# CHECK-NEXT:  1      4     0.50                        sqdmlal        s17, h27, h12
+# CHECK-NEXT:  1      14    0.50                        sqdmlal        v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        sqdmlal        v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        sqdmlal2       v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        sqdmlal2       v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        sqdmlsl        d12, s23, s13
+# CHECK-NEXT:  1      14    0.50                        sqdmlsl        d8, s9, v0.s[1]
+# CHECK-NEXT:  1      14    0.50                        sqdmlsl        s0, h0, v0.h[3]
+# CHECK-NEXT:  1      4     0.50                        sqdmlsl        s14, h12, h25
+# CHECK-NEXT:  1      14    0.50                        sqdmlsl        v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        sqdmlsl        v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        sqdmlsl2       v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        sqdmlsl2       v0.4s, v0.8h, v0.8h
+# 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]
+# CHECK-NEXT:  1      4     0.50                        sqdmulh        s20, s21, s2
+# CHECK-NEXT:  1      4     0.50                        sqdmulh        v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      9     0.50                        sqdmulh        v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        sqdmull        d1, s1, v0.s[1]
+# CHECK-NEXT:  1      14    0.50                        sqdmull        d15, s22, s12
+# CHECK-NEXT:  1      14    0.50                        sqdmull        s1, h1, v0.h[3]
+# CHECK-NEXT:  1      14    0.50                        sqdmull        s12, h22, h12
+# CHECK-NEXT:  1      14    0.50                        sqdmull        v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        sqdmull        v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        sqdmull2       v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        sqdmull2       v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        sqneg  b19, b14
+# CHECK-NEXT:  1      4     0.50                        sqneg  d18, d12
+# CHECK-NEXT:  1      4     0.50                        sqneg  h21, h15
+# CHECK-NEXT:  1      4     0.50                        sqneg  s20, s12
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        sqneg  v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        sqrdmulh       h10, h11, h12
+# CHECK-NEXT:  1      4     0.50                        sqrdmulh       h7, h15, v0.h[3]
+# CHECK-NEXT:  1      4     0.50                        sqrdmulh       s15, s14, v0.s[1]
+# CHECK-NEXT:  1      4     0.50                        sqrdmulh       s20, s21, s2
+# CHECK-NEXT:  1      4     0.50                        sqrdmulh       v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      9     0.50                        sqrdmulh       v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        sqrshl d31, d31, d31
+# CHECK-NEXT:  1      6     1.00                        sqrshl h3, h4, h15
+# CHECK-NEXT:  1      6     1.00                        sqrshl v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        sqrshl v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        sqrshl v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      8     0.50                        sqrshrn        b10, h13, #2
+# CHECK-NEXT:  1      8     0.50                        sqrshrn        h15, s10, #6
+# CHECK-NEXT:  1      8     0.50                        sqrshrn        s15, d12, #9
+# CHECK-NEXT:  3      10    0.50                        sqrshrn        v0.2s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrn        v0.4h, v0.4s, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrn        v0.8b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrn2       v0.16b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrn2       v0.4s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrn2       v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      8     0.50                        sqrshrun       b17, h10, #6
+# CHECK-NEXT:  1      8     0.50                        sqrshrun       h10, s13, #15
+# CHECK-NEXT:  1      8     0.50                        sqrshrun       s22, d16, #31
+# CHECK-NEXT:  3      10    0.50                        sqrshrun       v0.2s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrun       v0.4h, v0.4s, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrun       v0.8b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrun2      v0.16b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrun2      v0.4s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        sqrshrun2      v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  b11, b19, #7
+# CHECK-NEXT:  1      6     1.00                        sqshl  d15, d16, #51
+# CHECK-NEXT:  1      6     1.00                        sqshl  d31, d31, d31
+# CHECK-NEXT:  1      6     1.00                        sqshl  h13, h18, #11
+# CHECK-NEXT:  1      6     1.00                        sqshl  h3, h4, h15
+# CHECK-NEXT:  1      6     1.00                        sqshl  s14, s17, #22
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        sqshl  v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu b15, b18, #6
+# CHECK-NEXT:  1      6     1.00                        sqshlu d11, d13, #32
+# CHECK-NEXT:  1      6     1.00                        sqshlu h19, h17, #6
+# CHECK-NEXT:  1      6     1.00                        sqshlu s16, s14, #25
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      6     1.00                        sqshlu v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      8     0.50                        sqshrn b10, h15, #5
+# CHECK-NEXT:  1      8     0.50                        sqshrn h17, s10, #4
+# CHECK-NEXT:  1      8     0.50                        sqshrn s18, d10, #31
+# CHECK-NEXT:  2      10    0.50                        sqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrn2        v0.16b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrn2        v0.4s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrn2        v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      8     0.50                        sqshrun        b15, h10, #7
+# CHECK-NEXT:  1      8     0.50                        sqshrun        h20, s14, #3
+# CHECK-NEXT:  1      8     0.50                        sqshrun        s10, d15, #15
+# CHECK-NEXT:  2      10    0.50                        sqshrun        v0.2s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrun        v0.4h, v0.4s, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrun        v0.8b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrun2       v0.16b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrun2       v0.4s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        sqshrun2       v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        sqsub  s20, s10, s7
+# CHECK-NEXT:  1      4     0.50                        sqsub  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        sqsub  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        sqsub  v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        sqxtn  b18, h18
+# CHECK-NEXT:  1      6     1.00                        sqxtn  h20, s17
+# CHECK-NEXT:  1      6     1.00                        sqxtn  s19, d14
+# CHECK-NEXT:  1      6     1.00                        sqxtn  v0.2s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        sqxtn  v0.4h, v0.4s
+# CHECK-NEXT:  1      6     1.00                        sqxtn  v0.8b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        sqxtn2 v0.16b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        sqxtn2 v0.4s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        sqxtn2 v0.8h, v0.4s
+# CHECK-NEXT:  1      6     1.00                        sqxtun b19, h14
+# CHECK-NEXT:  1      6     1.00                        sqxtun h21, s15
+# CHECK-NEXT:  1      6     1.00                        sqxtun s20, d12
+# CHECK-NEXT:  1      6     1.00                        sqxtun v0.2s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        sqxtun v0.4h, v0.4s
+# CHECK-NEXT:  1      6     1.00                        sqxtun v0.8b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        sqxtun2        v0.16b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        sqxtun2        v0.4s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        sqxtun2        v0.8h, v0.4s
+# CHECK-NEXT:  1      4     0.50                        srhadd v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        srhadd v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        srhadd v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        sri    d10, d12, #14
+# CHECK-NEXT:  1      4     0.50                        sri    v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      4     0.50                        sri    v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        sri    v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        sri    v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      4     0.50                        sri    v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        sri    v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      4     0.50                        sri    v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      6     1.00                        srshl  d16, d16, d16
+# CHECK-NEXT:  1      6     1.00                        srshl  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        srshl  v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        srshl  v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      8     0.50                        srshr  d19, d18, #7
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      8     0.50                        srshr  v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        srsra  d15, d11, #19
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.16b, v0.16b, #3
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.2d, v0.2d, #3
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.2s, v0.2s, #3
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.4h, v0.4h, #3
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.4s, v0.4s, #3
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.8b, v0.8b, #3
+# CHECK-NEXT:  3      8     0.50                        srsra  v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        sshl   d31, d31, d31
+# CHECK-NEXT:  1      6     1.00                        sshl   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        sshl   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        sshl   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        sshl   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        sshll  v0.2d, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        sshll2 v0.4s, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   d15, d16, #12
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      4     0.50                        sshr   v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        ssra   d18, d12, #21
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.16b, v0.16b, #3
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.2d, v0.2d, #3
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.2s, v0.2s, #3
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.4h, v0.4h, #3
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.4s, v0.4s, #3
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.8b, v0.8b, #3
+# CHECK-NEXT:  2      8     0.50                        ssra   v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        ssubl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        ssubl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        ssubl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        ssubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        ssubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        ssubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        ssubw  v0.2d, v0.2d, v0.2s
+# CHECK-NEXT:  1      4     0.50                        ssubw  v0.4s, v0.4s, v0.4h
+# CHECK-NEXT:  1      4     0.50                        ssubw  v0.8h, v0.8h, v0.8b
+# CHECK-NEXT:  1      4     0.50                        ssubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT:  1      4     0.50                        ssubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT:  1      4     0.50                        ssubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT:  1      0     0.50           *            st1    { v0.16b }, [x0]
+# CHECK-NEXT:  2      1     0.50           *            st1    { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT:  1      0     0.50           *            st1    { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT:  2      1     0.50           *            st1    { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT:  1      0     0.50           *            st1    { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT:  2      1     0.50           *            st1    { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT:  2      1     0.50           *            st1    { v0.8h }, [x15], x2
+# CHECK-NEXT:  1      0     0.50           *            st1    { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT:  1      0     0.50           *            st1    { v0.d }[1], [x0]
+# CHECK-NEXT:  2      1     0.50           *            st1    { v0.d }[1], [x0], #8
+# CHECK-NEXT:  2      1     0.50           *            st2    { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT:  1      0     0.50           *            st2    { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT:  1      0     0.50           *            st2    { v0.s, v1.s }[3], [sp]
+# CHECK-NEXT:  2      1     0.50           *            st2    { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT:  1      0     0.50           *            st3    { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT:  2      1     0.50           *            st3    { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT:  1      0     0.50           *            st3    { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT:  2      1     0.50           *            st3    { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT:  1      0     0.50           *            st4    { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT:  2      1     0.50           *            st4    { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT:  1      0     0.50           *            st4    { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT:  2      1     0.50           *            st4    { v0.b, v1.b, v2.b, v3.b }[9], [x0], x5
+# CHECK-NEXT:  1      4     0.50                        sub    d15, d5, d16
+# CHECK-NEXT:  1      4     0.50                        sub    v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        suqadd b19, b14
+# CHECK-NEXT:  1      4     0.50                        suqadd d18, d22
+# CHECK-NEXT:  1      4     0.50                        suqadd h20, h15
+# CHECK-NEXT:  1      4     0.50                        suqadd s21, s12
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        suqadd v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        tbl    v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT:  3      10    0.50                        tbl    v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT:  5      10    0.50                        tbl    v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT:  7      10    0.50                        tbl    v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT:  1      6     1.00                        tbl    v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT:  3      10    0.50                        tbl    v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT:  5      10    0.50                        tbl    v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT:  7      10    0.50                        tbl    v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT:  3      10    0.50                        tbx    v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT:  5      10    0.50                        tbx    v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT:  7      10    0.50                        tbx    v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT:  9      10    0.50                        tbx    v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT:  3      10    0.50                        tbx    v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT:  5      10    0.50                        tbx    v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT:  7      10    0.50                        tbx    v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT:  9      10    0.50                        tbx    v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        trn1   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        trn2   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      8     0.50                        uaba   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      10    0.50                        uabal  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      10    0.50                        uabal  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      10    0.50                        uabal  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      10    0.50                        uabal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      10    0.50                        uabal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      10    0.50                        uabal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        uabd   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  3      10    0.50                        uabdl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        uabdl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  3      10    0.50                        uabdl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  3      10    0.50                        uabdl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        uabdl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        uabdl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  3      10    0.50                        uadalp v0.1d, v0.2s
+# CHECK-NEXT:  3      10    0.50                        uadalp v0.2d, v0.4s
+# CHECK-NEXT:  3      10    0.50                        uadalp v0.2s, v0.4h
+# CHECK-NEXT:  3      10    0.50                        uadalp v0.4h, v0.8b
+# CHECK-NEXT:  3      10    0.50                        uadalp v0.4s, v0.8h
+# CHECK-NEXT:  3      10    0.50                        uadalp v0.8h, v0.16b
+# CHECK-NEXT:  1      4     0.50                        uaddl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        uaddl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        uaddl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        uaddl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        uaddl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        uaddl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  2      10    0.50                        uaddlp v0.1d, v0.2s
+# CHECK-NEXT:  2      10    0.50                        uaddlp v0.2d, v0.4s
+# CHECK-NEXT:  2      10    0.50                        uaddlp v0.2s, v0.4h
+# CHECK-NEXT:  2      10    0.50                        uaddlp v0.4h, v0.8b
+# CHECK-NEXT:  2      10    0.50                        uaddlp v0.4s, v0.8h
+# CHECK-NEXT:  2      10    0.50                        uaddlp v0.8h, v0.16b
+# CHECK-NEXT:  1      4     0.50                        uaddw  v0.2d, v0.2d, v0.2s
+# CHECK-NEXT:  1      4     0.50                        uaddw  v0.4s, v0.4s, v0.4h
+# CHECK-NEXT:  1      4     0.50                        uaddw  v0.8h, v0.8h, v0.8b
+# CHECK-NEXT:  1      4     0.50                        uaddw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT:  1      4     0.50                        uaddw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT:  1      4     0.50                        uaddw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT:  1      4     0.50                        ucvtf  d21, d14
+# CHECK-NEXT:  1      4     0.50                        ucvtf  d21, d14, #64
+# CHECK-NEXT:  1      4     0.50                        ucvtf  s22, s13
+# CHECK-NEXT:  1      4     0.50                        ucvtf  s22, s13, #32
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        ucvtf  v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        uhadd  v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        uhadd  v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        uhsub  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  6      14    0.50                        umax   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  6      14    0.50                        umax   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  6      14    0.50                        umax   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  3      10    0.50                        umaxp  v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  3      10    0.50                        umaxp  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  3      10    0.50                        umaxp  v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  6      14    0.50                        umin   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  6      14    0.50                        umin   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  6      14    0.50                        umin   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  3      10    0.50                        uminp  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  3      10    0.50                        uminp  v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  3      10    0.50                        uminp  v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        umlal  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        umlal  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        umlal  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        umlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        umlal2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        umlal2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      14    0.50                        umlsl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        umlsl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        umlsl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        umlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        umlsl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        umlsl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      14    0.50                        umull  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      14    0.50                        umull  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      14    0.50                        umull  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      14    0.50                        umull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      14    0.50                        umull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      14    0.50                        umull2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        uqadd  h0, h1, h5
+# CHECK-NEXT:  1      4     0.50                        uqadd  v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        uqrshl b11, b20, b30
+# CHECK-NEXT:  1      6     1.00                        uqrshl s23, s20, s16
+# CHECK-NEXT:  1      6     1.00                        uqrshl v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        uqrshl v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        uqrshl v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      8     0.50                        uqrshrn        b10, h12, #5
+# CHECK-NEXT:  1      8     0.50                        uqrshrn        h12, s10, #14
+# CHECK-NEXT:  1      8     0.50                        uqrshrn        s10, d10, #25
+# CHECK-NEXT:  3      10    0.50                        uqrshrn        v0.2s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        uqrshrn        v0.4h, v0.4s, #3
+# CHECK-NEXT:  3      10    0.50                        uqrshrn        v0.8b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        uqrshrn2       v0.16b, v0.8h, #3
+# CHECK-NEXT:  3      10    0.50                        uqrshrn2       v0.4s, v0.2d, #3
+# CHECK-NEXT:  3      10    0.50                        uqrshrn2       v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  b11, b20, b30
+# CHECK-NEXT:  1      6     1.00                        uqshl  b18, b15, #6
+# CHECK-NEXT:  1      6     1.00                        uqshl  d15, d12, #19
+# CHECK-NEXT:  1      6     1.00                        uqshl  h11, h18, #7
+# CHECK-NEXT:  1      6     1.00                        uqshl  s14, s19, #18
+# CHECK-NEXT:  1      6     1.00                        uqshl  s23, s20, s16
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      6     1.00                        uqshl  v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      8     0.50                        uqshrn b12, h10, #7
+# CHECK-NEXT:  1      8     0.50                        uqshrn h10, s14, #5
+# CHECK-NEXT:  1      8     0.50                        uqshrn s10, d12, #13
+# CHECK-NEXT:  2      10    0.50                        uqshrn v0.2s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        uqshrn v0.4h, v0.4s, #3
+# CHECK-NEXT:  2      10    0.50                        uqshrn v0.8b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        uqshrn2        v0.16b, v0.8h, #3
+# CHECK-NEXT:  2      10    0.50                        uqshrn2        v0.4s, v0.2d, #3
+# CHECK-NEXT:  2      10    0.50                        uqshrn2        v0.8h, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        uqsub  d16, d16, d16
+# CHECK-NEXT:  1      4     0.50                        uqsub  v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        uqxtn  b18, h18
+# CHECK-NEXT:  1      6     1.00                        uqxtn  h20, s17
+# CHECK-NEXT:  1      6     1.00                        uqxtn  s19, d14
+# CHECK-NEXT:  1      6     1.00                        uqxtn  v0.2s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        uqxtn  v0.4h, v0.4s
+# CHECK-NEXT:  1      6     1.00                        uqxtn  v0.8b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        uqxtn2 v0.16b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        uqxtn2 v0.4s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        uqxtn2 v0.8h, v0.4s
+# CHECK-NEXT:  1      4     0.50                        urecpe v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        urecpe v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        urhadd v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        urhadd v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        urhadd v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        urshl  d8, d7, d4
+# CHECK-NEXT:  1      6     1.00                        urshl  v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        urshl  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        urshl  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        urshl  v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      8     0.50                        urshr  d20, d23, #31
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      8     0.50                        urshr  v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      29    1.00                        ursqrte        v0.2s, v0.2s
+# CHECK-NEXT:  1      29    1.00                        ursqrte        v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        ursra  d18, d10, #13
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.16b, v0.16b, #3
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.2d, v0.2d, #3
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.2s, v0.2s, #3
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.4h, v0.4h, #3
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.4s, v0.4s, #3
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.8b, v0.8b, #3
+# CHECK-NEXT:  3      8     0.50                        ursra  v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        ushl   d0, d0, d0
+# CHECK-NEXT:  1      6     1.00                        ushl   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        ushl   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        ushl   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        ushll  v0.4s, v0.4h, #3
+# CHECK-NEXT:  1      4     0.50                        ushll2 v0.8h, v0.16b, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   d10, d17, #18
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.16b, v0.16b, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.2d, v0.2d, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.2s, v0.2s, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.4h, v0.4h, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.4s, v0.4s, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.8b, v0.8b, #3
+# CHECK-NEXT:  1      4     0.50                        ushr   v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        usqadd b19, b14
+# CHECK-NEXT:  1      4     0.50                        usqadd d18, d22
+# CHECK-NEXT:  1      4     0.50                        usqadd h20, h15
+# CHECK-NEXT:  1      4     0.50                        usqadd s21, s12
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.2d, v0.2d
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        usqadd v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        usra   d20, d13, #61
+# CHECK-NEXT:  2      8     0.50                        usra   v0.16b, v0.16b, #3
+# CHECK-NEXT:  2      8     0.50                        usra   v0.2d, v0.2d, #3
+# CHECK-NEXT:  2      8     0.50                        usra   v0.2s, v0.2s, #3
+# CHECK-NEXT:  2      8     0.50                        usra   v0.4h, v0.4h, #3
+# CHECK-NEXT:  2      8     0.50                        usra   v0.4s, v0.4s, #3
+# CHECK-NEXT:  2      8     0.50                        usra   v0.8b, v0.8b, #3
+# CHECK-NEXT:  2      8     0.50                        usra   v0.8h, v0.8h, #3
+# CHECK-NEXT:  1      4     0.50                        usubl  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  1      4     0.50                        usubl  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  1      4     0.50                        usubl  v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  1      4     0.50                        usubl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  1      4     0.50                        usubl2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  1      4     0.50                        usubl2 v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  1      4     0.50                        usubw  v0.2d, v0.2d, v0.2s
+# CHECK-NEXT:  1      4     0.50                        usubw  v0.4s, v0.4s, v0.4h
+# CHECK-NEXT:  1      4     0.50                        usubw  v0.8h, v0.8h, v0.8b
+# CHECK-NEXT:  1      4     0.50                        usubw2 v0.2d, v0.2d, v0.4s
+# CHECK-NEXT:  1      4     0.50                        usubw2 v0.4s, v0.4s, v0.8h
+# CHECK-NEXT:  1      4     0.50                        usubw2 v0.8h, v0.8h, v0.16b
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        uzp1   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        uzp2   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        xtn    v0.2s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        xtn    v0.4h, v0.4s
+# CHECK-NEXT:  1      6     1.00                        xtn    v0.8b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        xtn2   v0.16b, v0.8h
+# CHECK-NEXT:  1      6     1.00                        xtn2   v0.4s, v0.2d
+# CHECK-NEXT:  1      6     1.00                        xtn2   v0.8h, v0.4s
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        zip1   v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  1      6     1.00                        zip2   v0.8h, v0.8h, v0.8h
+
+# CHECK:      Resources:
+# CHECK-NEXT: [0]   - A64FXIPBR
+# CHECK-NEXT: [1]   - A64FXIPEAGA
+# CHECK-NEXT: [2]   - A64FXIPEAGB
+# CHECK-NEXT: [3]   - A64FXIPEXA
+# CHECK-NEXT: [4]   - A64FXIPEXB
+# CHECK-NEXT: [5]   - A64FXIPFLA
+# CHECK-NEXT: [6]   - A64FXIPFLB
+# CHECK-NEXT: [7]   - A64FXIPPR
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
+# CHECK-NEXT:  -     36.25  36.25  8.25   8.25   500.00 501.00  -
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      d29, d24
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      d17, d31, d29
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addhn    v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addhn    v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     addhn    v0.8b, 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     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    -     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      v0.8b, v0.8b, v0.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:  -      -      -      -      -     1.00    -      -     cls      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      v0.8h, v0.8h
+# 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     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     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     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     d20, d21, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cmle     v0.2d, v0.2d, #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:  -      -      -      -      -     1.00    -      -     cnt      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cnt      v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.16b, w28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.2d, x28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.2s, w28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.4h, w28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.4s, w28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.8b, w28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     dup      v0.8h, w28
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ext      v0.16b, v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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     v0.4s, v0.4s, v0.4s
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabs     v0.4s, v0.4s
+# 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    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    v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     v0.4s, v0.4s, v0.4s
+# 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    -     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    -     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    v0.4s, v0.4s, v0.4s
+# 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    -     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    -     fcmlt    d20, d21, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcmlt    s10, s11, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcmlt    v0.4s, v0.4s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtas   d21, d14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtas   s12, s13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtas   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtas   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtas   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtas   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtau   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtau   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtau   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtau   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtl    v0.2d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtl    v0.4s, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtl2   v0.2d, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtms   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtms   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtms   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtmu   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtmu   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtmu   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtmu   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtn    v0.2s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtn    v0.4h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtn2   v0.4s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtns   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtns   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtns   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtnu   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtnu   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtnu   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtps   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtps   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtps   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtpu   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtpu   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtpu   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtpu   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtxn   s22, d13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtxn   v0.2s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtxn2  v0.4s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   d21, d12, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   d21, d14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   s12, s13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   s21, s12, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   v0.2d, v0.2d, #3
+# 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:  -      -      -      -      -     0.50   0.50    -     fcvtzs   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   d21, d12, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   d21, d14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   s12, s13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   s21, s12, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   v0.2d, v0.2d, #3
+# 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:  -      -      -      -      -     0.50   0.50    -     fcvtzu   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fdiv     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   v0.4s, v0.4s, v0.4s
+# 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    -     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:  -      -      -      -      -     1.00    -      -     fmin     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   v0.4s, v0.4s, v0.4s
+# 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    -     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    -     fmla     d0, d1, v0.d[1]
+# 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    -     fmls     d0, d4, v0.d[1]
+# 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:  -      -      -      -      -     1.00    -      -     fmov     v0.2d, #-1.25000000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     v0.2s, #13.00000000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     v0.4s, #1.00000000
+# 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    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    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    -     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:  -      -      -      -      -     0.50   0.50    -     frecpe   d13, d13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   s19, s14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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    -     frecpx   d16, d19
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpx   s18, s10
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   v0.8h, v0.8h
+# 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:  -      -      -      -      -     0.50   0.50    -     frsqrte  v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrte  v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frsqrte  v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrts  d8, d22, d18
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrts  s21, s5, s12
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrts  v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsqrt    v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsqrt    v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsqrt    v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsqrt    v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsqrt    v0.8h, v0.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:  -     0.75   0.75   0.25   0.25    -      -      -     ld1      { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1      { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld1      { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1      { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld1      { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld1      { v0.8h }, [x15], x2
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1      { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT:  -     0.33   0.33    -      -     0.33    -      -     ld1      { v0.b }[9], [x0]
+# CHECK-NEXT:  -     0.58   0.58   0.25   0.25   0.33    -      -     ld1      { v0.b }[9], [x0], #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ld1r     { v0.16b }, [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld1r     { v0.16b }, [x0], #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ld1r     { v0.8h }, [x15]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld1r     { v0.8h }, [x15], #2
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld2      { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld2      { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT:  -     0.33   0.33    -      -     0.33    -      -     ld2      { v0.h, v1.h }[7], [x15]
+# CHECK-NEXT:  -     0.58   0.58   0.25   0.25   0.33    -      -     ld2      { v0.h, v1.h }[7], [x15], #4
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld2r     { v0.2d, v1.2d }, [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld2r     { v0.2d, v1.2d }, [x0], #16
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld2r     { v0.4s, v1.4s }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld2r     { v0.4s, v1.4s }, [sp], #8
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld3      { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld3      { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT:  -     0.33   0.33    -      -     0.33    -      -     ld3      { v0.s, v1.s, v2.s }[3], [sp]
+# CHECK-NEXT:  -     0.58   0.58   0.25   0.25   0.33    -      -     ld3      { v0.s, v1.s, v2.s }[3], [sp], x3
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld3r     { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld3r     { v0.4h, v1.4h, v2.4h }, [x15], #6
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld3r     { v0.8b, v1.8b, v2.8b }, [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld3r     { v0.8b, v1.8b, v2.8b }, [x0], #3
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld4      { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld4      { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT:  -     0.33   0.33    -      -     0.33    -      -     ld4      { v0.d, v1.d, v2.d, v3.d }[1], [x0]
+# CHECK-NEXT:  -     0.58   0.58   0.25   0.25   0.33    -      -     ld4      { v0.d, v1.d, v2.d, v3.d }[1], [x0], #32
+# CHECK-NEXT:  -     0.58   0.58   0.25   0.25   0.33    -      -     ld4      { v0.h, v1.h, v2.h, v3.h }[7], [x0], x0
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld4r     { v0.1d, v1.1d, v2.1d, v3.1d }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     ld4r     { v0.1d, v1.1d, v2.1d, v3.1d }, [sp], x7
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld4r     { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     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    -     mls      v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      b0, v0.b[15]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      d6, v0.d[1]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      h2, v0.h[5]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      s17, v0.s[2]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     movi     d15, #0xff00ff00ff00ff
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movi     v0.16b, #31
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movi     v0.2d, #0xff0000ff0000ffff
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movi     v0.2s, #8, msl #8
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movi     v0.4s, #255, lsl #24
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     movi     v0.8b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mul      v0.8b, v0.8b, v0.8b
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     neg      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    -     mov      v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orr      v0.8h, #31
+# 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:  -      -      -      -      -     1.00    -      -     pmull    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     pmull2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     raddhn   v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     raddhn   v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     raddhn   v0.8b, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     raddhn2  v0.16b, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     raddhn2  v0.4s, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     raddhn2  v0.8h, v0.4s, v0.4s
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rbit     v0.16b, v0.16b
+# CHECK-NEXT:  -     0.25   0.25   0.25   0.25    -      -      -     rbit     v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev16    v21.8b, v1.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev16    v30.16b, v31.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev32    v0.4h, v9.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev32    v21.8b, v1.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev32    v30.16b, v31.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev32    v4.8h, v7.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev64    v0.16b, v31.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev64    v1.8b, v9.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev64    v13.4h, v21.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev64    v2.8h, v4.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev64    v4.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rev64    v6.4s, v8.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rshrn    v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rshrn    v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rshrn    v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rshrn2   v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rshrn2   v0.4s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rshrn2   v0.8h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rsubhn   v0.2s, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rsubhn   v0.4h, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rsubhn   v0.8b, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rsubhn2  v0.16b, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rsubhn2  v0.4s, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rsubhn2  v0.8h, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saba     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabal    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabal    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabal    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabal2   v0.2d, v0.4s, v0.4s
+# 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    -     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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabdl2   v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabdl2   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabdl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sadalp   v0.1d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sadalp   v0.2d, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sadalp   v0.2s, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sadalp   v0.4h, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sadalp   v0.4s, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sadalp   v0.8h, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddl    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddl    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddl    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddl2   v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddl2   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddlp   v0.1d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddlp   v0.2d, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     saddlp   v0.2s, v0.4h
+# 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:  -      -      -      -      -     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    d21, d12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    d21, d12, #64
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    s22, s13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    s22, s13, #32
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shadd    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shl      d7, d10, #12
+# CHECK-NEXT:  -      -      -      -      -     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.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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shrn     v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shrn     v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shrn     v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shrn2    v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     shrn2    v0.4s, v0.2d, #3
+# 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    -     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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sli      v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sli      v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sli      v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sli      v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sli      v0.8h, v0.8h, #3
+# 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    -     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    v0.8b, v0.8b, v0.8b
+# 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   0.50    -     smlal    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smlal    v0.4s, v0.4h, v0.4h
+# 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   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    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smlsl    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smlsl2   v0.2d, v0.4s, v0.4s
+# 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.50   0.50    -     smull    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smull    v0.4s, v0.4h, v0.4h
+# 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   v0.4s, v0.8h, v0.8h
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    h21, h15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    s20, s12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqabs    v0.4s, v0.4s
+# 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    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmlal  d19, s24, s12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmlal  d8, s9, v0.s[1]
+# 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  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmlal2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmlal2 v0.4s, v0.8h, v0.8h
+# 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  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmlsl2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmlsl2 v0.4s, v0.8h, v0.8h
+# 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]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmulh  s20, s21, s2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmulh  v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmulh  v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull  d1, s1, v0.s[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull  d15, s22, s12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull  s1, h1, v0.h[3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull  s12, h22, h12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull  v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull  v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull2 v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdmull2 v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    b19, b14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    d18, d12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    h21, h15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    s20, s12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqneg    v0.4h, v0.4h
+# 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    -     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]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrdmulh s20, s21, s2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrdmulh v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrdmulh v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqrshl   d31, d31, d31
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqrshl   h3, h4, h15
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqrshl   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqrshl   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqrshl   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn  b10, h13, #2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn  h15, s10, #6
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn  s15, d12, #9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn  v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn  v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn  v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun b17, h10, #6
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun h10, s13, #15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun s22, d16, #31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun2        v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun2        v0.4s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqrshrun2        v0.8h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    b11, b19, #7
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    d15, d16, #51
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    d31, d31, d31
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    h13, h18, #11
+# 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    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
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshl    v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   b15, b18, #6
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   d11, d13, #32
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   h19, h17, #6
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   s16, s14, #25
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqshlu   v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn   b10, h15, #5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn   h17, s10, #4
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn   s18, d10, #31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn   v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn   v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn   v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn2  v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn2  v0.4s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrn2  v0.8h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun  b15, h10, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun  h20, s14, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun  s10, d15, #15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun  v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun  v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun  v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun2 v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun2 v0.4s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqshrun2 v0.8h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    s20, s10, s7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn    b18, h18
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn    h20, s17
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn    s19, d14
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn    v0.2s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn    v0.4h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn    v0.8b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn2   v0.16b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn2   v0.4s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtn2   v0.8h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun   b19, h14
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun   h21, s15
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun   s20, d12
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun   v0.2s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun   v0.4h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun   v0.8b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun2  v0.16b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun2  v0.4s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sqxtun2  v0.8h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srhadd   v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srhadd   v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srhadd   v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      d10, d12, #14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sri      v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     srshl    d16, d16, d16
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     srshl    v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     srshl    v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     srshl    v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    d19, d18, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srshr    v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    d15, d11, #19
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     srsra    v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshl     d31, d31, d31
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     sshl     v0.2d, v0.2d, v0.2d
+# 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    v0.2d, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshll2   v0.4s, v0.8h, #3
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshr     v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshr     v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshr     v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshr     v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sshr     v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     d18, d12, #21
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssra     v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubl    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubl    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubl    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubl2   v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubl2   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubw    v0.2d, v0.2d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubw    v0.4s, v0.4s, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ssubw    v0.8h, v0.8h, v0.8b
+# 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    -      -      -      -      -     st1      { v0.16b }, [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st1      { v0.2d, v1.2d, v2.2d }, [x0], #48
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st1      { v0.2d, v1.2d, v2.2d, v3.2d }, [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st1      { v0.4s, v1.4s }, [sp], #32
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st1      { v0.4s, v1.4s, v2.4s }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st1      { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st1      { v0.8h }, [x15], x2
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st1      { v0.8h, v1.8h }, [x15]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st1      { v0.d }[1], [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st1      { v0.d }[1], [x0], #8
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st2      { v0.16b, v1.16b }, [x0], x1
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st2      { v0.8b, v1.8b }, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st2      { v0.s, v1.s }[3], [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st2      { v0.s, v1.s }[3], [sp], #8
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st3      { v0.4h, v1.4h, v2.4h }, [x15]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st3      { v0.8h, v1.8h, v2.8h }, [x15], x2
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st3      { v0.h, v1.h, v2.h }[7], [x15]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st3      { v0.h, v1.h, v2.h }[7], [x15], #6
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st4      { v0.2s, v1.2s, v2.2s, v3.2s }, [sp]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st4      { v0.4s, v1.4s, v2.4s, v3.4s }, [sp], #64
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     st4      { v0.b, v1.b, v2.b, v3.b }[9], [x0]
+# CHECK-NEXT:  -     0.75   0.75   0.25   0.25    -      -      -     st4      { v0.b, v1.b, v2.b, v3.b }[9], [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    -     suqadd   b19, b14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   d18, d22
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   h20, h15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   s21, s12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     suqadd   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     tbl      v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbl      v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbl      v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbl      v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     tbl      v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbl      v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbl      v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbl      v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.16b, { v0.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.16b, { v0.16b, v1.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.16b, { v0.16b, v1.16b, v2.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.16b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.8b, { v0.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.8b, { v0.16b, v1.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.8b, { v0.16b, v1.16b, v2.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     tbx      v0.8b, { v0.16b, v1.16b, v2.16b, v3.16b }, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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    -     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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabal2   v0.2d, v0.4s, v0.4s
+# 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    -     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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabdl2   v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabdl2   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabdl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uadalp   v0.1d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uadalp   v0.2d, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uadalp   v0.2s, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uadalp   v0.4h, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uadalp   v0.4s, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uadalp   v0.8h, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddl    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddl    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddl    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddl2   v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddl2   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddlp   v0.1d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddlp   v0.2d, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uaddlp   v0.2s, v0.4h
+# 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:  -      -      -      -      -     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:  -      -      -      -      -     0.50   0.50    -     ucvtf    d21, d14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    d21, d14, #64
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    s22, s13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    s22, s13, #32
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uhadd    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uhadd    v0.8h, v0.8h, v0.8h
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umax     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   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    -     uminp    v0.2s, v0.2s, v0.2s
+# 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   0.50    -     umlal    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umlal    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umlal    v0.8h, v0.8b, v0.8b
+# 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    v0.4s, v0.4h, v0.4h
+# 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   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umlsl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umull    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umull    v0.4s, v0.4h, v0.4h
+# 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   v0.4s, v0.8h, v0.8h
+# 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    v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqrshl   b11, b20, b30
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqrshl   s23, s20, s16
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn  s10, d10, #25
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn  v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn  v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn  v0.8b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn2 v0.16b, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn2 v0.4s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqrshrn2 v0.8h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    b11, b20, b30
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    b18, b15, #6
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    d15, d12, #19
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    h11, h18, #7
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    s14, s19, #18
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    s23, s20, s16
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    v0.2d, v0.2d, #3
+# 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    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
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqshl    v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqshrn   b12, h10, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqshrn   h10, s14, #5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqshrn   s10, d12, #13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqshrn   v0.2s, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqshrn   v0.4h, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqshrn   v0.8b, v0.8h, #3
+# 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    d16, d16, d16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn    b18, h18
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn    h20, s17
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn    s19, d14
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn    v0.2s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn    v0.4h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn    v0.8b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn2   v0.16b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn2   v0.4s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     uqxtn2   v0.8h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urecpe   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urecpe   v0.4s, v0.4s
+# 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:  -      -      -      -      -      -     1.00    -     urshl    d8, d7, d4
+# 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
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     urshl    v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    d20, d23, #31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     urshr    v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ursqrte  v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ursqrte  v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ursra    d18, d10, #13
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ursra    v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ursra    v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ursra    v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ursra    v0.4h, v0.4h, #3
+# 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    -     ushl     d0, d0, d0
+# 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:  -      -      -      -      -     0.50   0.50    -     ushll    v0.4s, v0.4h, #3
+# 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
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ushr     v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ushr     v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ushr     v0.4h, v0.4h, #3
+# 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    -     usqadd   b19, b14
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   d18, d22
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   h20, h15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   s21, s12
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usqadd   v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     d20, d13, #61
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.16b, v0.16b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.2d, v0.2d, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.2s, v0.2s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.4h, v0.4h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.4s, v0.4s, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.8b, v0.8b, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usra     v0.8h, v0.8h, #3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubl    v0.2d, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubl    v0.4s, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubl    v0.8h, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubl2   v0.2d, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubl2   v0.4s, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubl2   v0.8h, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubw    v0.2d, v0.2d, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubw    v0.4s, v0.4s, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubw    v0.8h, v0.8h, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubw2   v0.2d, v0.2d, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubw2   v0.4s, v0.4s, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     usubw2   v0.8h, v0.8h, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     xtn      v0.2s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     xtn      v0.4h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     xtn      v0.8b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     xtn2     v0.16b, v0.8h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     xtn2     v0.4s, v0.2d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     xtn2     v0.8h, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     v0.8h, v0.8h, v0.8h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.16b, v0.16b, v0.16b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.2d, v0.2d, v0.2d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.2s, v0.2s, v0.2s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.4h, v0.4h, v0.4h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.4s, v0.4s, v0.4s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.8b, v0.8b, v0.8b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     v0.8h, v0.8h, v0.8h
diff --git a/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s b/llvm/test/tools/llvm-mca/AArch64/A64FX/A64FX-sve-instructions.s
new file mode 100644 (file)
index 0000000..ec1ca54
--- /dev/null
@@ -0,0 +1,7515 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
+# RUN: llvm-mca -mtriple=aarch64 -mcpu=a64fx -instruction-tables < %s | FileCheck %s
+
+abs    z0.b, p0/m, z0.b
+abs    z0.d, p0/m, z0.d
+abs    z0.h, p0/m, z0.h
+abs    z0.s, p0/m, z0.s
+abs    z31.b, p7/m, z31.b
+abs    z31.d, p7/m, z31.d
+abs    z31.h, p7/m, z31.h
+abs    z31.s, p7/m, z31.s
+add    z0.b, p0/m, z0.b, z0.b
+add    z0.b, z0.b, #0
+add    z0.b, z0.b, z0.b
+add    z0.d, p0/m, z0.d, z0.d
+add    z0.d, z0.d, #0
+add    z0.d, z0.d, #0, lsl #8
+add    z0.d, z0.d, z0.d
+add    z0.h, p0/m, z0.h, z0.h
+add    z0.h, z0.h, #0
+add    z0.h, z0.h, #0, lsl #8
+add    z0.h, z0.h, z0.h
+add    z0.s, p0/m, z0.s, z0.s
+add    z0.s, z0.s, #0
+add    z0.s, z0.s, #0, lsl #8
+add    z0.s, z0.s, z0.s
+add    z0.s, z1.s, z2.s
+add    z21.b, p5/m, z21.b, z10.b
+add    z21.b, z10.b, z21.b
+add    z21.d, p5/m, z21.d, z10.d
+add    z21.d, z10.d, z21.d
+add    z21.h, p5/m, z21.h, z10.h
+add    z21.h, z10.h, z21.h
+add    z21.s, p5/m, z21.s, z10.s
+add    z21.s, z10.s, z21.s
+add    z23.b, p3/m, z23.b, z13.b
+add    z23.b, z13.b, z8.b
+add    z23.d, p3/m, z23.d, z13.d
+add    z23.d, z13.d, z8.d
+add    z23.h, p3/m, z23.h, z13.h
+add    z23.h, z13.h, z8.h
+add    z23.s, p3/m, z23.s, z13.s
+add    z23.s, z13.s, z8.s
+add    z31.b, p7/m, z31.b, z31.b
+add    z31.b, z31.b, #255
+add    z31.b, z31.b, z31.b
+add    z31.d, p7/m, z31.d, z31.d
+add    z31.d, z31.d, #65280
+add    z31.d, z31.d, z31.d
+add    z31.h, p7/m, z31.h, z31.h
+add    z31.h, z31.h, #65280
+add    z31.h, z31.h, z31.h
+add    z31.s, p7/m, z31.s, z31.s
+add    z31.s, z31.s, #65280
+add    z31.s, z31.s, z31.s
+addpl  sp, sp, #31
+addpl  x0, x0, #-32
+addpl  x21, x21, #0
+addpl  x23, x8, #-1
+addvl  sp, sp, #31
+addvl  x0, x0, #-32
+addvl  x21, x21, #0
+addvl  x23, x8, #-1
+adr    z0.d, [z0.d, z0.d, lsl #1]
+adr    z0.d, [z0.d, z0.d, lsl #2]
+adr    z0.d, [z0.d, z0.d, lsl #3]
+adr    z0.d, [z0.d, z0.d, sxtw #1]
+adr    z0.d, [z0.d, z0.d, sxtw #2]
+adr    z0.d, [z0.d, z0.d, sxtw #3]
+adr    z0.d, [z0.d, z0.d, sxtw]
+adr    z0.d, [z0.d, z0.d, uxtw #1]
+adr    z0.d, [z0.d, z0.d, uxtw #2]
+adr    z0.d, [z0.d, z0.d, uxtw #3]
+adr    z0.d, [z0.d, z0.d, uxtw]
+adr    z0.d, [z0.d, z0.d]
+adr    z0.s, [z0.s, z0.s, lsl #1]
+adr    z0.s, [z0.s, z0.s, lsl #2]
+adr    z0.s, [z0.s, z0.s, lsl #3]
+adr    z0.s, [z0.s, z0.s]
+and    p0.b, p0/z, p0.b, p1.b
+and    z0.d, z0.d, #0x6
+and    z0.d, z0.d, #0xfffffffffffffff9
+and    z0.d, z0.d, z0.d
+and    z0.s, z0.s, #0x6
+and    z0.s, z0.s, #0xfffffff9
+and    z23.d, z13.d, z8.d
+and    z23.h, z23.h, #0x6
+and    z23.h, z23.h, #0xfff9
+and    z31.b, p7/m, z31.b, z31.b
+and    z31.d, p7/m, z31.d, z31.d
+and    z31.h, p7/m, z31.h, z31.h
+and    z31.s, p7/m, z31.s, z31.s
+and    z5.b, z5.b, #0x6
+and    z5.b, z5.b, #0xf9
+ands   p0.b, p0/z, p0.b, p1.b
+andv   b0, p7, z31.b
+andv   d0, p7, z31.d
+andv   h0, p7, z31.h
+andv   s0, p7, z31.s
+asr    z0.b, p0/m, z0.b, #1
+asr    z0.b, p0/m, z0.b, z0.b
+asr    z0.b, p0/m, z0.b, z1.d
+asr    z0.b, z0.b, #1
+asr    z0.b, z1.b, z2.d
+asr    z0.d, p0/m, z0.d, #1
+asr    z0.d, p0/m, z0.d, z0.d
+asr    z0.d, z0.d, #1
+asr    z0.h, p0/m, z0.h, #1
+asr    z0.h, p0/m, z0.h, z0.h
+asr    z0.h, p0/m, z0.h, z1.d
+asr    z0.h, z0.h, #1
+asr    z0.h, z1.h, z2.d
+asr    z0.s, p0/m, z0.s, #1
+asr    z0.s, p0/m, z0.s, z0.s
+asr    z0.s, p0/m, z0.s, z1.d
+asr    z0.s, z0.s, #1
+asr    z0.s, z1.s, z2.d
+asr    z31.b, p0/m, z31.b, #8
+asr    z31.b, z31.b, #8
+asr    z31.d, p0/m, z31.d, #64
+asr    z31.d, z31.d, #64
+asr    z31.h, p0/m, z31.h, #16
+asr    z31.h, z31.h, #16
+asr    z31.s, p0/m, z31.s, #32
+asr    z31.s, z31.s, #32
+asrd   z0.b, p0/m, z0.b, #1
+asrd   z0.d, p0/m, z0.d, #1
+asrd   z0.h, p0/m, z0.h, #1
+asrd   z0.s, p0/m, z0.s, #1
+asrd   z31.b, p0/m, z31.b, #8
+asrd   z31.d, p0/m, z31.d, #64
+asrd   z31.h, p0/m, z31.h, #16
+asrd   z31.s, p0/m, z31.s, #32
+asrr   z0.b, p0/m, z0.b, z0.b
+asrr   z0.d, p0/m, z0.d, z0.d
+asrr   z0.h, p0/m, z0.h, z0.h
+asrr   z0.s, p0/m, z0.s, z0.s
+bic    p0.b, p0/z, p0.b, p0.b
+bic    p15.b, p15/z, p15.b, p15.b
+bic    z0.d, z0.d, z0.d
+bic    z23.d, z13.d, z8.d
+bic    z31.b, p7/m, z31.b, z31.b
+bic    z31.d, p7/m, z31.d, z31.d
+bic    z31.h, p7/m, z31.h, z31.h
+bic    z31.s, p7/m, z31.s, z31.s
+bics   p0.b, p0/z, p0.b, p0.b
+bics   p15.b, p15/z, p15.b, p15.b
+brka   p0.b, p15/m, p15.b
+brka   p0.b, p15/z, p15.b
+brkas  p0.b, p15/z, p15.b
+brkb   p0.b, p15/m, p15.b
+brkb   p0.b, p15/z, p15.b
+brkbs  p0.b, p15/z, p15.b
+brkn   p0.b, p15/z, p1.b, p0.b
+brkn   p15.b, p15/z, p15.b, p15.b
+brkns  p0.b, p15/z, p1.b, p0.b
+brkns  p15.b, p15/z, p15.b, p15.b
+brkpa  p0.b, p15/z, p1.b, p2.b
+brkpa  p15.b, p15/z, p15.b, p15.b
+brkpas p0.b, p15/z, p1.b, p2.b
+brkpas p15.b, p15/z, p15.b, p15.b
+brkpb  p0.b, p15/z, p1.b, p2.b
+brkpb  p15.b, p15/z, p15.b, p15.b
+brkpbs p0.b, p15/z, p1.b, p2.b
+brkpbs p15.b, p15/z, p15.b, p15.b
+clasta b0, p7, b0, z31.b
+clasta d0, p7, d0, z31.d
+clasta h0, p7, h0, z31.h
+clasta s0, p7, s0, z31.s
+clasta w0, p7, w0, z31.b
+clasta w0, p7, w0, z31.h
+clasta w0, p7, w0, z31.s
+clasta x0, p7, x0, z31.d
+clasta z0.b, p7, z0.b, z31.b
+clasta z0.d, p7, z0.d, z31.d
+clasta z0.h, p7, z0.h, z31.h
+clasta z0.s, p7, z0.s, z31.s
+clastb b0, p7, b0, z31.b
+clastb d0, p7, d0, z31.d
+clastb h0, p7, h0, z31.h
+clastb s0, p7, s0, z31.s
+clastb w0, p7, w0, z31.b
+clastb w0, p7, w0, z31.h
+clastb w0, p7, w0, z31.s
+clastb x0, p7, x0, z31.d
+clastb z0.b, p7, z0.b, z31.b
+clastb z0.d, p7, z0.d, z31.d
+clastb z0.h, p7, z0.h, z31.h
+clastb z0.s, p7, z0.s, z31.s
+cls    z31.b, p7/m, z31.b
+cls    z31.d, p7/m, z31.d
+cls    z31.h, p7/m, z31.h
+cls    z31.s, p7/m, z31.s
+clz    z31.b, p7/m, z31.b
+clz    z31.d, p7/m, z31.d
+clz    z31.h, p7/m, z31.h
+clz    z31.s, p7/m, z31.s
+cmpeq  p0.b, p0/z, z0.b, #-16
+cmpeq  p0.b, p0/z, z0.b, #15
+cmpeq  p0.b, p0/z, z0.b, z0.b
+cmpeq  p0.b, p0/z, z0.b, z0.d
+cmpeq  p0.d, p0/z, z0.d, #-16
+cmpeq  p0.d, p0/z, z0.d, #15
+cmpeq  p0.d, p0/z, z0.d, z0.d
+cmpeq  p0.h, p0/z, z0.h, #-16
+cmpeq  p0.h, p0/z, z0.h, #15
+cmpeq  p0.h, p0/z, z0.h, z0.d
+cmpeq  p0.h, p0/z, z0.h, z0.h
+cmpeq  p0.s, p0/z, z0.s, #-16
+cmpeq  p0.s, p0/z, z0.s, #15
+cmpeq  p0.s, p0/z, z0.s, z0.d
+cmpeq  p0.s, p0/z, z0.s, z0.s
+cmpge  p0.b, p0/z, z0.b, #-16
+cmpge  p0.b, p0/z, z0.b, #15
+cmpge  p0.b, p0/z, z0.b, z0.b
+cmpge  p0.b, p0/z, z0.b, z0.d
+cmpge  p0.b, p0/z, z1.b, z0.b
+cmpge  p0.d, p0/z, z0.d, #-16
+cmpge  p0.d, p0/z, z0.d, #15
+cmpge  p0.d, p0/z, z0.d, z0.d
+cmpge  p0.d, p0/z, z1.d, z0.d
+cmpge  p0.h, p0/z, z0.h, #-16
+cmpge  p0.h, p0/z, z0.h, #15
+cmpge  p0.h, p0/z, z0.h, z0.d
+cmpge  p0.h, p0/z, z0.h, z0.h
+cmpge  p0.h, p0/z, z1.h, z0.h
+cmpge  p0.s, p0/z, z0.s, #-16
+cmpge  p0.s, p0/z, z0.s, #15
+cmpge  p0.s, p0/z, z0.s, z0.d
+cmpge  p0.s, p0/z, z0.s, z0.s
+cmpge  p0.s, p0/z, z1.s, z0.s
+cmpgt  p0.b, p0/z, z0.b, #-16
+cmpgt  p0.b, p0/z, z0.b, #15
+cmpgt  p0.b, p0/z, z0.b, z0.b
+cmpgt  p0.b, p0/z, z0.b, z0.d
+cmpgt  p0.b, p0/z, z1.b, z0.b
+cmpgt  p0.d, p0/z, z0.d, #-16
+cmpgt  p0.d, p0/z, z0.d, #15
+cmpgt  p0.d, p0/z, z0.d, z0.d
+cmpgt  p0.d, p0/z, z1.d, z0.d
+cmpgt  p0.h, p0/z, z0.h, #-16
+cmpgt  p0.h, p0/z, z0.h, #15
+cmpgt  p0.h, p0/z, z0.h, z0.d
+cmpgt  p0.h, p0/z, z0.h, z0.h
+cmpgt  p0.h, p0/z, z1.h, z0.h
+cmpgt  p0.s, p0/z, z0.s, #-16
+cmpgt  p0.s, p0/z, z0.s, #15
+cmpgt  p0.s, p0/z, z0.s, z0.d
+cmpgt  p0.s, p0/z, z0.s, z0.s
+cmpgt  p0.s, p0/z, z1.s, z0.s
+cmphi  p0.b, p0/z, z0.b, #0
+cmphi  p0.b, p0/z, z0.b, #127
+cmphi  p0.b, p0/z, z0.b, z0.b
+cmphi  p0.b, p0/z, z0.b, z0.d
+cmphi  p0.b, p0/z, z1.b, z0.b
+cmphi  p0.d, p0/z, z0.d, #0
+cmphi  p0.d, p0/z, z0.d, #127
+cmphi  p0.d, p0/z, z0.d, z0.d
+cmphi  p0.d, p0/z, z1.d, z0.d
+cmphi  p0.h, p0/z, z0.h, #0
+cmphi  p0.h, p0/z, z0.h, #127
+cmphi  p0.h, p0/z, z0.h, z0.d
+cmphi  p0.h, p0/z, z0.h, z0.h
+cmphi  p0.h, p0/z, z1.h, z0.h
+cmphi  p0.s, p0/z, z0.s, #0
+cmphi  p0.s, p0/z, z0.s, #127
+cmphi  p0.s, p0/z, z0.s, z0.d
+cmphi  p0.s, p0/z, z0.s, z0.s
+cmphi  p0.s, p0/z, z1.s, z0.s
+cmphs  p0.b, p0/z, z0.b, #0
+cmphs  p0.b, p0/z, z0.b, #127
+cmphs  p0.b, p0/z, z0.b, z0.b
+cmphs  p0.b, p0/z, z0.b, z0.d
+cmphs  p0.b, p0/z, z1.b, z0.b
+cmphs  p0.d, p0/z, z0.d, #0
+cmphs  p0.d, p0/z, z0.d, #127
+cmphs  p0.d, p0/z, z0.d, z0.d
+cmphs  p0.d, p0/z, z1.d, z0.d
+cmphs  p0.h, p0/z, z0.h, #0
+cmphs  p0.h, p0/z, z0.h, #127
+cmphs  p0.h, p0/z, z0.h, z0.d
+cmphs  p0.h, p0/z, z0.h, z0.h
+cmphs  p0.h, p0/z, z1.h, z0.h
+cmphs  p0.s, p0/z, z0.s, #0
+cmphs  p0.s, p0/z, z0.s, #127
+cmphs  p0.s, p0/z, z0.s, z0.d
+cmphs  p0.s, p0/z, z0.s, z0.s
+cmphs  p0.s, p0/z, z1.s, z0.s
+cmple  p0.b, p0/z, z0.b, #-16
+cmple  p0.b, p0/z, z0.b, #15
+cmple  p0.b, p0/z, z0.b, z0.d
+cmple  p0.d, p0/z, z0.d, #-16
+cmple  p0.d, p0/z, z0.d, #15
+cmple  p0.h, p0/z, z0.h, #-16
+cmple  p0.h, p0/z, z0.h, #15
+cmple  p0.h, p0/z, z0.h, z0.d
+cmple  p0.s, p0/z, z0.s, #-16
+cmple  p0.s, p0/z, z0.s, #15
+cmple  p0.s, p0/z, z0.s, z0.d
+cmplo  p0.b, p0/z, z0.b, #0
+cmplo  p0.b, p0/z, z0.b, #127
+cmplo  p0.b, p0/z, z0.b, z0.d
+cmplo  p0.d, p0/z, z0.d, #0
+cmplo  p0.d, p0/z, z0.d, #127
+cmplo  p0.h, p0/z, z0.h, #0
+cmplo  p0.h, p0/z, z0.h, #127
+cmplo  p0.h, p0/z, z0.h, z0.d
+cmplo  p0.s, p0/z, z0.s, #0
+cmplo  p0.s, p0/z, z0.s, #127
+cmplo  p0.s, p0/z, z0.s, z0.d
+cmpls  p0.b, p0/z, z0.b, #0
+cmpls  p0.b, p0/z, z0.b, #127
+cmpls  p0.b, p0/z, z0.b, z0.d
+cmpls  p0.d, p0/z, z0.d, #0
+cmpls  p0.d, p0/z, z0.d, #127
+cmpls  p0.h, p0/z, z0.h, #0
+cmpls  p0.h, p0/z, z0.h, #127
+cmpls  p0.h, p0/z, z0.h, z0.d
+cmpls  p0.s, p0/z, z0.s, #0
+cmpls  p0.s, p0/z, z0.s, #127
+cmpls  p0.s, p0/z, z0.s, z0.d
+cmplt  p0.b, p0/z, z0.b, #-16
+cmplt  p0.b, p0/z, z0.b, #15
+cmplt  p0.b, p0/z, z0.b, z0.d
+cmplt  p0.d, p0/z, z0.d, #-16
+cmplt  p0.d, p0/z, z0.d, #15
+cmplt  p0.h, p0/z, z0.h, #-16
+cmplt  p0.h, p0/z, z0.h, #15
+cmplt  p0.h, p0/z, z0.h, z0.d
+cmplt  p0.s, p0/z, z0.s, #-16
+cmplt  p0.s, p0/z, z0.s, #15
+cmplt  p0.s, p0/z, z0.s, z0.d
+cmpne  p0.b, p0/z, z0.b, #-16
+cmpne  p0.b, p0/z, z0.b, #15
+cmpne  p0.b, p0/z, z0.b, z0.b
+cmpne  p0.b, p0/z, z0.b, z0.d
+cmpne  p0.d, p0/z, z0.d, #-16
+cmpne  p0.d, p0/z, z0.d, #15
+cmpne  p0.d, p0/z, z0.d, z0.d
+cmpne  p0.h, p0/z, z0.h, #-16
+cmpne  p0.h, p0/z, z0.h, #15
+cmpne  p0.h, p0/z, z0.h, z0.d
+cmpne  p0.h, p0/z, z0.h, z0.h
+cmpne  p0.s, p0/z, z0.s, #-16
+cmpne  p0.s, p0/z, z0.s, #15
+cmpne  p0.s, p0/z, z0.s, z0.d
+cmpne  p0.s, p0/z, z0.s, z0.s
+cnot   z31.b, p7/m, z31.b
+cnot   z31.d, p7/m, z31.d
+cnot   z31.h, p7/m, z31.h
+cnot   z31.s, p7/m, z31.s
+cnt    z31.b, p7/m, z31.b
+cnt    z31.d, p7/m, z31.d
+cnt    z31.h, p7/m, z31.h
+cnt    z31.s, p7/m, z31.s
+cntb   x0
+cntb   x0, #28
+cntb   x0, all, mul #16
+cntb   x0, pow2
+cntd   x0
+cntd   x0, #28
+cntd   x0, all, mul #16
+cntd   x0, pow2
+cnth   x0
+cnth   x0, #28
+cnth   x0, all, mul #16
+cnth   x0, pow2
+cntp   x0, p15, p0.b
+cntp   x0, p15, p0.d
+cntp   x0, p15, p0.h
+cntp   x0, p15, p0.s
+cntw   x0
+cntw   x0, #28
+cntw   x0, all, mul #16
+cntw   x0, pow2
+compact        z31.d, p7, z31.d
+compact        z31.s, p7, z31.s
+ctermeq        w30, wzr
+ctermeq        wzr, w30
+ctermeq        x30, xzr
+ctermeq        xzr, x30
+ctermne        w30, wzr
+ctermne        wzr, w30
+ctermne        x30, xzr
+ctermne        xzr, x30
+decb   x0
+decb   x0, #14
+decb   x0, all, mul #16
+decb   x0, pow2
+decb   x0, vl1
+decd   x0
+decd   x0, #14
+decd   x0, all, mul #16
+decd   x0, pow2
+decd   x0, vl1
+dech   x0
+dech   x0, #14
+dech   x0, all, mul #16
+dech   x0, pow2
+dech   x0, vl1
+decp   x0, p0.b
+decp   x0, p0.d
+decp   x0, p0.h
+decp   x0, p0.s
+decp   xzr, p15.b
+decp   xzr, p15.d
+decp   xzr, p15.h
+decp   xzr, p15.s
+decp   z31.d, p15.d
+decp   z31.h, p15.h
+decp   z31.s, p15.s
+decw   x0
+decw   x0, #14
+decw   x0, all, mul #16
+decw   x0, pow2
+decw   x0, vl1
+dupm   z0.d, #0xfffffffffffffff9
+dupm   z0.s, #0xfffffff9
+dupm   z23.h, #0xfff9
+dupm   z5.b, #0xf9
+eor    p0.b, p0/z, p0.b, p1.b
+eor    z0.d, z0.d, #0x6
+eor    z0.d, z0.d, #0xfffffffffffffff9
+eor    z0.d, z0.d, z0.d
+eor    z0.s, z0.s, #0x6
+eor    z0.s, z0.s, #0xfffffff9
+eor    z23.d, z13.d, z8.d
+eor    z23.h, z23.h, #0x6
+eor    z23.h, z23.h, #0xfff9
+eor    z31.b, p7/m, z31.b, z31.b
+eor    z31.d, p7/m, z31.d, z31.d
+eor    z31.h, p7/m, z31.h, z31.h
+eor    z31.s, p7/m, z31.s, z31.s
+eor    z5.b, z5.b, #0x6
+eor    z5.b, z5.b, #0xf9
+eors   p0.b, p0/z, p0.b, p1.b
+eorv   b0, p7, z31.b
+eorv   d0, p7, z31.d
+eorv   h0, p7, z31.h
+eorv   s0, p7, z31.s
+ext    z31.b, z31.b, z0.b, #0
+ext    z31.b, z31.b, z0.b, #255
+fabd   z0.d, p7/m, z0.d, z31.d
+fabd   z0.h, p7/m, z0.h, z31.h
+fabd   z0.s, p7/m, z0.s, z31.s
+fabs   z31.d, p7/m, z31.d
+fabs   z31.h, p7/m, z31.h
+fabs   z31.s, p7/m, z31.s
+facge  p0.d, p0/z, z0.d, z1.d
+facge  p0.d, p0/z, z1.d, z0.d
+facge  p0.h, p0/z, z0.h, z1.h
+facge  p0.h, p0/z, z1.h, z0.h
+facge  p0.s, p0/z, z0.s, z1.s
+facge  p0.s, p0/z, z1.s, z0.s
+facgt  p0.d, p0/z, z0.d, z1.d
+facgt  p0.d, p0/z, z1.d, z0.d
+facgt  p0.h, p0/z, z0.h, z1.h
+facgt  p0.h, p0/z, z1.h, z0.h
+facgt  p0.s, p0/z, z0.s, z1.s
+facgt  p0.s, p0/z, z1.s, z0.s
+fadd   z0.d, p0/m, z0.d, #0.5
+fadd   z0.d, p7/m, z0.d, z31.d
+fadd   z0.d, z1.d, z31.d
+fadd   z0.h, p0/m, z0.h, #0.5
+fadd   z0.h, p7/m, z0.h, z31.h
+fadd   z0.h, z1.h, z31.h
+fadd   z0.s, p0/m, z0.s, #0.5
+fadd   z0.s, p7/m, z0.s, z31.s
+fadd   z0.s, z1.s, z31.s
+fadd   z31.d, p7/m, z31.d, #1.0
+fadd   z31.h, p7/m, z31.h, #1.0
+fadd   z31.s, p7/m, z31.s, #1.0
+fadda  d0, p7, d0, z31.d
+fadda  h0, p7, h0, z31.h
+fadda  s0, p7, s0, z31.s
+faddv  d0, p7, z31.d
+faddv  h0, p7, z31.h
+faddv  s0, p7, z31.s
+fcadd  z0.d, p0/m, z0.d, z0.d, #90
+fcadd  z0.h, p0/m, z0.h, z0.h, #90
+fcadd  z0.s, p0/m, z0.s, z0.s, #90
+fcadd  z31.d, p7/m, z31.d, z31.d, #270
+fcadd  z31.h, p7/m, z31.h, z31.h, #270
+fcadd  z31.s, p7/m, z31.s, z31.s, #270
+fcmeq  p0.d, p0/z, z0.d, #0.0
+fcmeq  p0.d, p0/z, z0.d, z1.d
+fcmeq  p0.h, p0/z, z0.h, #0.0
+fcmeq  p0.h, p0/z, z0.h, z1.h
+fcmeq  p0.s, p0/z, z0.s, #0.0
+fcmeq  p0.s, p0/z, z0.s, z1.s
+fcmge  p0.d, p0/z, z0.d, #0.0
+fcmge  p0.d, p0/z, z0.d, z1.d
+fcmge  p0.d, p0/z, z1.d, z0.d
+fcmge  p0.h, p0/z, z0.h, #0.0
+fcmge  p0.h, p0/z, z0.h, z1.h
+fcmge  p0.h, p0/z, z1.h, z0.h
+fcmge  p0.s, p0/z, z0.s, #0.0
+fcmge  p0.s, p0/z, z0.s, z1.s
+fcmge  p0.s, p0/z, z1.s, z0.s
+fcmgt  p0.d, p0/z, z0.d, #0.0
+fcmgt  p0.d, p0/z, z0.d, z1.d
+fcmgt  p0.d, p0/z, z1.d, z0.d
+fcmgt  p0.h, p0/z, z0.h, #0.0
+fcmgt  p0.h, p0/z, z0.h, z1.h
+fcmgt  p0.h, p0/z, z1.h, z0.h
+fcmgt  p0.s, p0/z, z0.s, #0.0
+fcmgt  p0.s, p0/z, z0.s, z1.s
+fcmgt  p0.s, p0/z, z1.s, z0.s
+fcmla  z0.d, p0/m, z0.d, z0.d, #0
+fcmla  z0.d, p0/m, z1.d, z2.d, #90
+fcmla  z0.h, p0/m, z0.h, z0.h, #0
+fcmla  z0.h, p0/m, z1.h, z2.h, #90
+fcmla  z0.h, z0.h, z0.h[0], #0
+fcmla  z0.s, p0/m, z0.s, z0.s, #0
+fcmla  z0.s, p0/m, z1.s, z2.s, #90
+fcmla  z21.s, z10.s, z5.s[1], #90
+fcmla  z23.s, z13.s, z8.s[0], #270
+fcmla  z29.d, p7/m, z30.d, z31.d, #180
+fcmla  z29.h, p7/m, z30.h, z31.h, #180
+fcmla  z29.s, p7/m, z30.s, z31.s, #180
+fcmla  z31.d, p7/m, z31.d, z31.d, #270
+fcmla  z31.h, p7/m, z31.h, z31.h, #270
+fcmla  z31.h, z31.h, z7.h[3], #270
+fcmla  z31.s, p7/m, z31.s, z31.s, #270
+fcmle  p0.d, p0/z, z0.d, #0.0
+fcmle  p0.h, p0/z, z0.h, #0.0
+fcmle  p0.s, p0/z, z0.s, #0.0
+fcmlt  p0.d, p0/z, z0.d, #0.0
+fcmlt  p0.h, p0/z, z0.h, #0.0
+fcmlt  p0.s, p0/z, z0.s, #0.0
+fcmne  p0.d, p0/z, z0.d, #0.0
+fcmne  p0.d, p0/z, z0.d, z1.d
+fcmne  p0.h, p0/z, z0.h, #0.0
+fcmne  p0.h, p0/z, z0.h, z1.h
+fcmne  p0.s, p0/z, z0.s, #0.0
+fcmne  p0.s, p0/z, z0.s, z1.s
+fcmuo  p0.d, p0/z, z0.d, z1.d
+fcmuo  p0.h, p0/z, z0.h, z1.h
+fcmuo  p0.s, p0/z, z0.s, z1.s
+fcvt   z0.d, p0/m, z0.h
+fcvt   z0.d, p0/m, z0.s
+fcvt   z0.h, p0/m, z0.d
+fcvt   z0.h, p0/m, z0.s
+fcvt   z0.s, p0/m, z0.d
+fcvt   z0.s, p0/m, z0.h
+fcvtzs z0.d, p0/m, z0.d
+fcvtzs z0.d, p0/m, z0.h
+fcvtzs z0.d, p0/m, z0.s
+fcvtzs z0.h, p0/m, z0.h
+fcvtzs z0.s, p0/m, z0.d
+fcvtzs z0.s, p0/m, z0.h
+fcvtzs z0.s, p0/m, z0.s
+fcvtzu z0.d, p0/m, z0.d
+fcvtzu z0.d, p0/m, z0.h
+fcvtzu z0.d, p0/m, z0.s
+fcvtzu z0.h, p0/m, z0.h
+fcvtzu z0.s, p0/m, z0.d
+fcvtzu z0.s, p0/m, z0.h
+fcvtzu z0.s, p0/m, z0.s
+fdiv   z0.d, p7/m, z0.d, z31.d
+fdiv   z0.h, p7/m, z0.h, z31.h
+fdiv   z0.s, p7/m, z0.s, z31.s
+fdivr  z0.d, p7/m, z0.d, z31.d
+fdivr  z0.h, p7/m, z0.h, z31.h
+fdivr  z0.s, p7/m, z0.s, z31.s
+fexpa  z0.d, z31.d
+fexpa  z0.h, z31.h
+fexpa  z0.s, z31.s
+fmad   z0.d, p7/m, z1.d, z31.d
+fmad   z0.h, p7/m, z1.h, z31.h
+fmad   z0.s, p7/m, z1.s, z31.s
+fmax   z0.d, p0/m, z0.d, #0.0
+fmax   z0.d, p7/m, z0.d, z31.d
+fmax   z0.h, p0/m, z0.h, #0.0
+fmax   z0.h, p7/m, z0.h, z31.h
+fmax   z0.s, p0/m, z0.s, #0.0
+fmax   z0.s, p7/m, z0.s, z31.s
+fmax   z31.d, p7/m, z31.d, #1.0
+fmax   z31.h, p7/m, z31.h, #1.0
+fmax   z31.s, p7/m, z31.s, #1.0
+fmaxnm z0.d, p0/m, z0.d, #0.0
+fmaxnm z0.d, p7/m, z0.d, z31.d
+fmaxnm z0.h, p0/m, z0.h, #0.0
+fmaxnm z0.h, p7/m, z0.h, z31.h
+fmaxnm z0.s, p0/m, z0.s, #0.0
+fmaxnm z0.s, p7/m, z0.s, z31.s
+fmaxnm z31.d, p7/m, z31.d, #1.0
+fmaxnm z31.h, p7/m, z31.h, #1.0
+fmaxnm z31.s, p7/m, z31.s, #1.0
+fmaxnmv        d0, p7, z31.d
+fmaxnmv        h0, p7, z31.h
+fmaxnmv        s0, p7, z31.s
+fmaxv  d0, p7, z31.d
+fmaxv  h0, p7, z31.h
+fmaxv  s0, p7, z31.s
+fmin   z0.d, p0/m, z0.d, #0.0
+fmin   z0.d, p7/m, z0.d, z31.d
+fmin   z0.h, p0/m, z0.h, #0.0
+fmin   z0.h, p7/m, z0.h, z31.h
+fmin   z0.s, p0/m, z0.s, #0.0
+fmin   z0.s, p7/m, z0.s, z31.s
+fmin   z31.d, p7/m, z31.d, #1.0
+fmin   z31.h, p7/m, z31.h, #1.0
+fmin   z31.s, p7/m, z31.s, #1.0
+fminnm z0.d, p0/m, z0.d, #0.0
+fminnm z0.d, p7/m, z0.d, z31.d
+fminnm z0.h, p0/m, z0.h, #0.0
+fminnm z0.h, p7/m, z0.h, z31.h
+fminnm z0.s, p0/m, z0.s, #0.0
+fminnm z0.s, p7/m, z0.s, z31.s
+fminnm z31.d, p7/m, z31.d, #1.0
+fminnm z31.h, p7/m, z31.h, #1.0
+fminnm z31.s, p7/m, z31.s, #1.0
+fminnmv        d0, p7, z31.d
+fminnmv        h0, p7, z31.h
+fminnmv        s0, p7, z31.s
+fminv  d0, p7, z31.d
+fminv  h0, p7, z31.h
+fminv  s0, p7, z31.s
+fmla   z0.d, p7/m, z1.d, z31.d
+fmla   z0.d, z1.d, z7.d[1]
+fmla   z0.h, p7/m, z1.h, z31.h
+fmla   z0.h, z1.h, z7.h[7]
+fmla   z0.s, p7/m, z1.s, z31.s
+fmla   z0.s, z1.s, z7.s[3]
+fmls   z0.d, p7/m, z1.d, z31.d
+fmls   z0.d, z1.d, z7.d[1]
+fmls   z0.h, p7/m, z1.h, z31.h
+fmls   z0.h, z1.h, z7.h[7]
+fmls   z0.s, p7/m, z1.s, z31.s
+fmls   z0.s, z1.s, z7.s[3]
+fmov   z0.d, #-10.00000000
+fmov   z0.d, #0.12500000
+fmov   z0.d, p0/m, #-10.00000000
+fmov   z0.d, p0/m, #0.12500000
+fmov   z0.h, #-0.12500000
+fmov   z0.h, p0/m, #-0.12500000
+fmov   z0.s, #-0.12500000
+fmov   z0.s, p0/m, #-0.12500000
+fmsb   z0.d, p7/m, z1.d, z31.d
+fmsb   z0.h, p7/m, z1.h, z31.h
+fmsb   z0.s, p7/m, z1.s, z31.s
+fmul   z0.d, p0/m, z0.d, #0.5
+fmul   z0.d, p7/m, z0.d, z31.d
+fmul   z0.d, z0.d, z0.d[0]
+fmul   z0.d, z1.d, z31.d
+fmul   z0.h, p0/m, z0.h, #0.5
+fmul   z0.h, p7/m, z0.h, z31.h
+fmul   z0.h, z0.h, z0.h[0]
+fmul   z0.h, z1.h, z31.h
+fmul   z0.s, p0/m, z0.s, #0.5
+fmul   z0.s, p7/m, z0.s, z31.s
+fmul   z0.s, z0.s, z0.s[0]
+fmul   z0.s, z1.s, z31.s
+fmul   z31.d, p7/m, z31.d, #2.0
+fmul   z31.d, z31.d, z15.d[1]
+fmul   z31.h, p7/m, z31.h, #2.0
+fmul   z31.h, z31.h, z7.h[7]
+fmul   z31.s, p7/m, z31.s, #2.0
+fmul   z31.s, z31.s, z7.s[3]
+fmulx  z0.d, p7/m, z0.d, z31.d
+fmulx  z0.h, p7/m, z0.h, z31.h
+fmulx  z0.s, p7/m, z0.s, z31.s
+fneg   z31.d, p7/m, z31.d
+fneg   z31.h, p7/m, z31.h
+fneg   z31.s, p7/m, z31.s
+fnmad  z0.d, p7/m, z1.d, z31.d
+fnmad  z0.h, p7/m, z1.h, z31.h
+fnmad  z0.s, p7/m, z1.s, z31.s
+fnmla  z0.d, p7/m, z1.d, z31.d
+fnmla  z0.h, p7/m, z1.h, z31.h
+fnmla  z0.s, p7/m, z1.s, z31.s
+fnmls  z0.d, p7/m, z1.d, z31.d
+fnmls  z0.h, p7/m, z1.h, z31.h
+fnmls  z0.s, p7/m, z1.s, z31.s
+fnmsb  z0.d, p7/m, z1.d, z31.d
+fnmsb  z0.h, p7/m, z1.h, z31.h
+fnmsb  z0.s, p7/m, z1.s, z31.s
+frecpe z0.d, z31.d
+frecpe z0.h, z31.h
+frecpe z0.s, z31.s
+frecps z0.d, z1.d, z31.d
+frecps z0.h, z1.h, z31.h
+frecps z0.s, z1.s, z31.s
+frecpx z31.d, p7/m, z31.d
+frecpx z31.h, p7/m, z31.h
+frecpx z31.s, p7/m, z31.s
+frinta z31.d, p7/m, z31.d
+frinta z31.h, p7/m, z31.h
+frinta z31.s, p7/m, z31.s
+frinti z31.d, p7/m, z31.d
+frinti z31.h, p7/m, z31.h
+frinti z31.s, p7/m, z31.s
+frintm z31.d, p7/m, z31.d
+frintm z31.h, p7/m, z31.h
+frintm z31.s, p7/m, z31.s
+frintn z31.d, p7/m, z31.d
+frintn z31.h, p7/m, z31.h
+frintn z31.s, p7/m, z31.s
+frintp z31.d, p7/m, z31.d
+frintp z31.h, p7/m, z31.h
+frintp z31.s, p7/m, z31.s
+frintx z31.d, p7/m, z31.d
+frintx z31.h, p7/m, z31.h
+frintx z31.s, p7/m, z31.s
+frintz z31.d, p7/m, z31.d
+frintz z31.h, p7/m, z31.h
+frintz z31.s, p7/m, z31.s
+frsqrte        z0.d, z31.d
+frsqrte        z0.h, z31.h
+frsqrte        z0.s, z31.s
+frsqrts        z0.d, z1.d, z31.d
+frsqrts        z0.h, z1.h, z31.h
+frsqrts        z0.s, z1.s, z31.s
+fscale z0.d, p7/m, z0.d, z31.d
+fscale z0.h, p7/m, z0.h, z31.h
+fscale z0.s, p7/m, z0.s, z31.s
+fsqrt  z31.d, p7/m, z31.d
+fsqrt  z31.h, p7/m, z31.h
+fsqrt  z31.s, p7/m, z31.s
+fsub   z0.d, p0/m, z0.d, #0.5
+fsub   z0.d, p7/m, z0.d, z31.d
+fsub   z0.d, z1.d, z31.d
+fsub   z0.h, p0/m, z0.h, #0.5
+fsub   z0.h, p7/m, z0.h, z31.h
+fsub   z0.h, z1.h, z31.h
+fsub   z0.s, p0/m, z0.s, #0.5
+fsub   z0.s, p7/m, z0.s, z31.s
+fsub   z0.s, z1.s, z31.s
+fsub   z31.d, p7/m, z31.d, #1.0
+fsub   z31.h, p7/m, z31.h, #1.0
+fsub   z31.s, p7/m, z31.s, #1.0
+fsubr  z0.d, p0/m, z0.d, #0.5
+fsubr  z0.d, p7/m, z0.d, z31.d
+fsubr  z0.h, p0/m, z0.h, #0.5
+fsubr  z0.h, p7/m, z0.h, z31.h
+fsubr  z0.s, p0/m, z0.s, #0.5
+fsubr  z0.s, p7/m, z0.s, z31.s
+fsubr  z31.d, p7/m, z31.d, #1.0
+fsubr  z31.h, p7/m, z31.h, #1.0
+fsubr  z31.s, p7/m, z31.s, #1.0
+ftmad  z0.d, z0.d, z31.d, #7
+ftmad  z0.h, z0.h, z31.h, #7
+ftmad  z0.s, z0.s, z31.s, #7
+ftsmul z0.d, z1.d, z31.d
+ftsmul z0.h, z1.h, z31.h
+ftsmul z0.s, z1.s, z31.s
+ftssel z0.d, z1.d, z31.d
+ftssel z0.h, z1.h, z31.h
+ftssel z0.s, z1.s, z31.s
+incb   x0
+incb   x0, #14
+incb   x0, all, mul #16
+incb   x0, pow2
+incb   x0, vl1
+incd   x0
+incd   x0, #14
+incd   x0, all, mul #16
+incd   x0, pow2
+incd   x0, vl1
+incd   z0.d
+incd   z0.d, all, mul #16
+inch   x0
+inch   x0, #14
+inch   x0, all, mul #16
+inch   x0, pow2
+inch   x0, vl1
+inch   z0.h
+inch   z0.h, all, mul #16
+incp   x0, p0.b
+incp   x0, p0.d
+incp   x0, p0.h
+incp   x0, p0.s
+incp   xzr, p15.b
+incp   xzr, p15.d
+incp   xzr, p15.h
+incp   xzr, p15.s
+incp   z31.d, p15.d
+incp   z31.h, p15.h
+incp   z31.s, p15.s
+incw   x0
+incw   x0, #14
+incw   x0, all, mul #16
+incw   x0, pow2
+incw   x0, vl1
+incw   z0.s
+incw   z0.s, all, mul #16
+index  z0.b, #0, #0
+index  z0.d, #0, #0
+index  z0.h, #0, #0
+index  z0.h, w0, w0
+index  z0.s, #0, #0
+index  z21.b, w10, w21
+index  z21.d, x10, x21
+index  z21.s, w10, w21
+index  z23.b, #13, w8
+index  z23.b, w13, #8
+index  z23.d, #13, x8
+index  z23.d, x13, #8
+index  z23.h, #13, w8
+index  z23.h, w13, #8
+index  z23.s, #13, w8
+index  z23.s, w13, #8
+index  z31.b, #-1, #-1
+index  z31.b, #-1, wzr
+index  z31.b, wzr, #-1
+index  z31.b, wzr, wzr
+index  z31.d, #-1, #-1
+index  z31.d, #-1, xzr
+index  z31.d, xzr, #-1
+index  z31.d, xzr, xzr
+index  z31.h, #-1, #-1
+index  z31.h, #-1, wzr
+index  z31.h, wzr, #-1
+index  z31.h, wzr, wzr
+index  z31.s, #-1, #-1
+index  z31.s, #-1, wzr
+index  z31.s, wzr, #-1
+index  z31.s, wzr, wzr
+insr   z0.b, w0
+insr   z0.d, x0
+insr   z0.h, w0
+insr   z0.s, w0
+insr   z31.b, b31
+insr   z31.b, wzr
+insr   z31.d, d31
+insr   z31.d, xzr
+insr   z31.h, h31
+insr   z31.h, wzr
+insr   z31.s, s31
+insr   z31.s, wzr
+lasta  b0, p7, z31.b
+lasta  d0, p7, z31.d
+lasta  h0, p7, z31.h
+lasta  s0, p7, z31.s
+lasta  w0, p7, z31.b
+lasta  w0, p7, z31.h
+lasta  w0, p7, z31.s
+lasta  x0, p7, z31.d
+lastb  b0, p7, z31.b
+lastb  d0, p7, z31.d
+lastb  h0, p7, z31.h
+lastb  s0, p7, z31.s
+lastb  w0, p7, z31.b
+lastb  w0, p7, z31.h
+lastb  w0, p7, z31.s
+lastb  x0, p7, z31.d
+ld1b   { z0.b }, p0/z, [sp, x0]
+ld1b   { z0.b }, p0/z, [x0, x0]
+ld1b   { z0.b }, p0/z, [x0]
+ld1b   { z0.d }, p0/z, [x0]
+ld1b   { z0.d }, p0/z, [z0.d]
+ld1b   { z0.h }, p0/z, [x0]
+ld1b   { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1b   { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1b   { z0.s }, p0/z, [x0]
+ld1b   { z0.s }, p0/z, [z0.s]
+ld1b   { z21.b }, p5/z, [x10, #5, mul vl]
+ld1b   { z21.d }, p5/z, [x10, #5, mul vl]
+ld1b   { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1b   { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1b   { z21.h }, p5/z, [x10, #5, mul vl]
+ld1b   { z21.s }, p5/z, [x10, #5, mul vl]
+ld1b   { z21.s }, p5/z, [x10, x21]
+ld1b   { z23.d }, p3/z, [x13, x8]
+ld1b   { z31.b }, p7/z, [sp, #-1, mul vl]
+ld1b   { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1b   { z31.d }, p7/z, [sp, z31.d]
+ld1b   { z31.d }, p7/z, [z31.d, #31]
+ld1b   { z31.h }, p7/z, [sp, #-1, mul vl]
+ld1b   { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1b   { z31.s }, p7/z, [z31.s, #31]
+ld1b   { z5.h }, p3/z, [x17, x16]
+ld1d   { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+ld1d   { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+ld1d   { z0.d }, p0/z, [x0]
+ld1d   { z0.d }, p0/z, [z0.d]
+ld1d   { z21.d }, p5/z, [x10, #5, mul vl]
+ld1d   { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1d   { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1d   { z23.d }, p3/z, [sp, x8, lsl #3]
+ld1d   { z23.d }, p3/z, [x13, x8, lsl #3]
+ld1d   { z23.d }, p3/z, [x13, z8.d, lsl #3]
+ld1d   { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1d   { z31.d }, p7/z, [sp, z31.d]
+ld1d   { z31.d }, p7/z, [z31.d, #248]
+ld1h   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ld1h   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ld1h   { z0.d }, p0/z, [x0]
+ld1h   { z0.d }, p0/z, [z0.d]
+ld1h   { z0.h }, p0/z, [x0]
+ld1h   { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1h   { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1h   { z0.s }, p0/z, [x0]
+ld1h   { z0.s }, p0/z, [z0.s]
+ld1h   { z21.d }, p5/z, [x10, #5, mul vl]
+ld1h   { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1h   { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1h   { z21.h }, p5/z, [x10, #5, mul vl]
+ld1h   { z21.s }, p5/z, [x10, #5, mul vl]
+ld1h   { z21.s }, p5/z, [x10, x21, lsl #1]
+ld1h   { z23.d }, p3/z, [x13, x8, lsl #1]
+ld1h   { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ld1h   { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1h   { z31.d }, p7/z, [sp, z31.d]
+ld1h   { z31.d }, p7/z, [z31.d, #62]
+ld1h   { z31.h }, p7/z, [sp, #-1, mul vl]
+ld1h   { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1h   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ld1h   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ld1h   { z31.s }, p7/z, [z31.s, #62]
+ld1h   { z5.h }, p3/z, [sp, x16, lsl #1]
+ld1h   { z5.h }, p3/z, [x17, x16, lsl #1]
+ld1rb  { z0.b }, p0/z, [x0]
+ld1rb  { z0.d }, p0/z, [x0]
+ld1rb  { z0.h }, p0/z, [x0]
+ld1rb  { z0.s }, p0/z, [x0]
+ld1rb  { z31.b }, p7/z, [sp, #63]
+ld1rb  { z31.d }, p7/z, [sp, #63]
+ld1rb  { z31.h }, p7/z, [sp, #63]
+ld1rb  { z31.s }, p7/z, [sp, #63]
+ld1rd  { z0.d }, p0/z, [x0]
+ld1rd  { z31.d }, p7/z, [sp, #504]
+ld1rh  { z0.d }, p0/z, [x0]
+ld1rh  { z0.h }, p0/z, [x0]
+ld1rh  { z0.s }, p0/z, [x0]
+ld1rh  { z31.d }, p7/z, [sp, #126]
+ld1rh  { z31.h }, p7/z, [sp, #126]
+ld1rh  { z31.s }, p7/z, [sp, #126]
+ld1rqb { z0.b }, p0/z, [x0, x0]
+ld1rqb { z0.b }, p0/z, [x0]
+ld1rqb { z21.b }, p5/z, [x10, #112]
+ld1rqb { z23.b }, p3/z, [x13, #-128]
+ld1rqb { z31.b }, p7/z, [sp, #-16]
+ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+ld1rqd { z0.d }, p0/z, [x0]
+ld1rqd { z23.d }, p3/z, [x13, #-128]
+ld1rqd { z23.d }, p3/z, [x13, #112]
+ld1rqd { z31.d }, p7/z, [sp, #-16]
+ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+ld1rqh { z0.h }, p0/z, [x0]
+ld1rqh { z23.h }, p3/z, [x13, #-128]
+ld1rqh { z23.h }, p3/z, [x13, #112]
+ld1rqh { z31.h }, p7/z, [sp, #-16]
+ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+ld1rqw { z0.s }, p0/z, [x0]
+ld1rqw { z23.s }, p3/z, [x13, #-128]
+ld1rqw { z23.s }, p3/z, [x13, #112]
+ld1rqw { z31.s }, p7/z, [sp, #-16]
+ld1rsb { z0.d }, p0/z, [x0]
+ld1rsb { z0.h }, p0/z, [x0]
+ld1rsb { z0.s }, p0/z, [x0]
+ld1rsb { z31.d }, p7/z, [sp, #63]
+ld1rsb { z31.h }, p7/z, [sp, #63]
+ld1rsb { z31.s }, p7/z, [sp, #63]
+ld1rsh { z0.d }, p0/z, [x0]
+ld1rsh { z0.s }, p0/z, [x0]
+ld1rsh { z31.d }, p7/z, [sp, #126]
+ld1rsh { z31.s }, p7/z, [sp, #126]
+ld1rsw { z0.d }, p0/z, [x0]
+ld1rsw { z31.d }, p7/z, [sp, #252]
+ld1rw  { z0.d }, p0/z, [x0]
+ld1rw  { z0.s }, p0/z, [x0]
+ld1rw  { z31.d }, p7/z, [sp, #252]
+ld1rw  { z31.s }, p7/z, [sp, #252]
+ld1sb  { z0.d }, p0/z, [x0]
+ld1sb  { z0.d }, p0/z, [z0.d]
+ld1sb  { z0.h }, p0/z, [sp, x0]
+ld1sb  { z0.h }, p0/z, [x0, x0]
+ld1sb  { z0.h }, p0/z, [x0]
+ld1sb  { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1sb  { z0.s }, p0/z, [x0]
+ld1sb  { z0.s }, p0/z, [z0.s]
+ld1sb  { z21.d }, p5/z, [x10, #5, mul vl]
+ld1sb  { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1sb  { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1sb  { z21.h }, p5/z, [x10, #5, mul vl]
+ld1sb  { z21.s }, p5/z, [x10, #5, mul vl]
+ld1sb  { z21.s }, p5/z, [x10, x21]
+ld1sb  { z23.d }, p3/z, [x13, x8]
+ld1sb  { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1sb  { z31.d }, p7/z, [sp, z31.d]
+ld1sb  { z31.d }, p7/z, [z31.d, #31]
+ld1sb  { z31.h }, p7/z, [sp, #-1, mul vl]
+ld1sb  { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1sb  { z31.s }, p7/z, [z31.s, #31]
+ld1sh  { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ld1sh  { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ld1sh  { z0.d }, p0/z, [x0]
+ld1sh  { z0.d }, p0/z, [z0.d]
+ld1sh  { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1sh  { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1sh  { z0.s }, p0/z, [x0]
+ld1sh  { z0.s }, p0/z, [z0.s]
+ld1sh  { z21.d }, p5/z, [x10, #5, mul vl]
+ld1sh  { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1sh  { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1sh  { z21.s }, p5/z, [sp, x21, lsl #1]
+ld1sh  { z21.s }, p5/z, [x10, #5, mul vl]
+ld1sh  { z21.s }, p5/z, [x10, x21, lsl #1]
+ld1sh  { z23.d }, p3/z, [x13, x8, lsl #1]
+ld1sh  { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ld1sh  { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1sh  { z31.d }, p7/z, [sp, z31.d]
+ld1sh  { z31.d }, p7/z, [z31.d, #62]
+ld1sh  { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1sh  { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ld1sh  { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ld1sh  { z31.s }, p7/z, [z31.s, #62]
+ld1sw  { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ld1sw  { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ld1sw  { z0.d }, p0/z, [x0]
+ld1sw  { z0.d }, p0/z, [z0.d]
+ld1sw  { z21.d }, p5/z, [x10, #5, mul vl]
+ld1sw  { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1sw  { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1sw  { z23.d }, p3/z, [sp, x8, lsl #2]
+ld1sw  { z23.d }, p3/z, [x13, x8, lsl #2]
+ld1sw  { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ld1sw  { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1sw  { z31.d }, p7/z, [sp, z31.d]
+ld1sw  { z31.d }, p7/z, [z31.d, #124]
+ld1w   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ld1w   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ld1w   { z0.d }, p0/z, [x0]
+ld1w   { z0.d }, p0/z, [z0.d]
+ld1w   { z0.s }, p0/z, [x0, z0.s, sxtw]
+ld1w   { z0.s }, p0/z, [x0, z0.s, uxtw]
+ld1w   { z0.s }, p0/z, [x0]
+ld1w   { z0.s }, p0/z, [z0.s]
+ld1w   { z21.d }, p5/z, [x10, #5, mul vl]
+ld1w   { z21.d }, p5/z, [x10, z21.d, sxtw]
+ld1w   { z21.d }, p5/z, [x10, z21.d, uxtw]
+ld1w   { z21.s }, p5/z, [sp, x21, lsl #2]
+ld1w   { z21.s }, p5/z, [x10, #5, mul vl]
+ld1w   { z21.s }, p5/z, [x10, x21, lsl #2]
+ld1w   { z23.d }, p3/z, [x13, x8, lsl #2]
+ld1w   { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ld1w   { z31.d }, p7/z, [sp, #-1, mul vl]
+ld1w   { z31.d }, p7/z, [sp, z31.d]
+ld1w   { z31.d }, p7/z, [z31.d, #124]
+ld1w   { z31.s }, p7/z, [sp, #-1, mul vl]
+ld1w   { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+ld1w   { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+ld1w   { z31.s }, p7/z, [z31.s, #124]
+ld2b   { z0.b, z1.b }, p0/z, [x0, x0]
+ld2b   { z0.b, z1.b }, p0/z, [x0]
+ld2b   { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+ld2b   { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+ld2b   { z5.b, z6.b }, p3/z, [x17, x16]
+ld2d   { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+ld2d   { z0.d, z1.d }, p0/z, [x0]
+ld2d   { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+ld2d   { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+ld2d   { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+ld2h   { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+ld2h   { z0.h, z1.h }, p0/z, [x0]
+ld2h   { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+ld2h   { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+ld2h   { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+ld2w   { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+ld2w   { z0.s, z1.s }, p0/z, [x0]
+ld2w   { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+ld2w   { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+ld2w   { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+ld3b   { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
+ld3b   { z0.b, z1.b, z2.b }, p0/z, [x0]
+ld3b   { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
+ld3b   { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
+ld3b   { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
+ld3d   { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
+ld3d   { z0.d, z1.d, z2.d }, p0/z, [x0]
+ld3d   { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
+ld3d   { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
+ld3d   { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
+ld3h   { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
+ld3h   { z0.h, z1.h, z2.h }, p0/z, [x0]
+ld3h   { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
+ld3h   { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
+ld3h   { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
+ld3w   { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
+ld3w   { z0.s, z1.s, z2.s }, p0/z, [x0]
+ld3w   { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
+ld3w   { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
+ld3w   { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
+ld4b   { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
+ld4b   { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
+ld4b   { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
+ld4b   { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
+ld4b   { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
+ld4d   { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
+ld4d   { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
+ld4d   { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
+ld4d   { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
+ld4d   { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
+ld4h   { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
+ld4h   { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
+ld4h   { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
+ld4h   { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
+ld4h   { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
+ld4w   { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
+ld4w   { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
+ld4w   { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
+ld4w   { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
+ld4w   { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
+ldff1b { z0.d }, p0/z, [x0, x0]
+ldff1b { z0.d }, p0/z, [z0.d]
+ldff1b { z0.h }, p0/z, [x0, x0]
+ldff1b { z0.s }, p0/z, [x0, x0]
+ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1b { z0.s }, p0/z, [z0.s]
+ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1b { z31.b }, p7/z, [sp]
+ldff1b { z31.d }, p7/z, [sp, z31.d]
+ldff1b { z31.d }, p7/z, [sp]
+ldff1b { z31.d }, p7/z, [z31.d, #31]
+ldff1b { z31.h }, p7/z, [sp]
+ldff1b { z31.s }, p7/z, [sp]
+ldff1b { z31.s }, p7/z, [z31.s, #31]
+ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+ldff1d { z0.d }, p0/z, [z0.d]
+ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+ldff1d { z31.d }, p7/z, [sp, z31.d]
+ldff1d { z31.d }, p7/z, [sp]
+ldff1d { z31.d }, p7/z, [z31.d, #248]
+ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ldff1h { z0.d }, p0/z, [z0.d]
+ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1h { z0.s }, p0/z, [z0.s]
+ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ldff1h { z31.d }, p7/z, [sp, z31.d]
+ldff1h { z31.d }, p7/z, [sp]
+ldff1h { z31.d }, p7/z, [z31.d, #62]
+ldff1h { z31.h }, p7/z, [sp]
+ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ldff1h { z31.s }, p7/z, [sp]
+ldff1h { z31.s }, p7/z, [z31.s, #62]
+ldff1sb        { z0.d }, p0/z, [x0, x0]
+ldff1sb        { z0.d }, p0/z, [z0.d]
+ldff1sb        { z0.h }, p0/z, [x0, x0]
+ldff1sb        { z0.s }, p0/z, [x0, x0]
+ldff1sb        { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1sb        { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1sb        { z0.s }, p0/z, [z0.s]
+ldff1sb        { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1sb        { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1sb        { z31.d }, p7/z, [sp, z31.d]
+ldff1sb        { z31.d }, p7/z, [sp]
+ldff1sb        { z31.d }, p7/z, [z31.d, #31]
+ldff1sb        { z31.h }, p7/z, [sp]
+ldff1sb        { z31.s }, p7/z, [sp]
+ldff1sb        { z31.s }, p7/z, [z31.s, #31]
+ldff1sh        { z0.d }, p0/z, [x0, x0, lsl #1]
+ldff1sh        { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+ldff1sh        { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+ldff1sh        { z0.d }, p0/z, [z0.d]
+ldff1sh        { z0.s }, p0/z, [x0, x0, lsl #1]
+ldff1sh        { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1sh        { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1sh        { z0.s }, p0/z, [z0.s]
+ldff1sh        { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1sh        { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1sh        { z23.d }, p3/z, [x13, z8.d, lsl #1]
+ldff1sh        { z31.d }, p7/z, [sp, z31.d]
+ldff1sh        { z31.d }, p7/z, [sp]
+ldff1sh        { z31.d }, p7/z, [z31.d, #62]
+ldff1sh        { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+ldff1sh        { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+ldff1sh        { z31.s }, p7/z, [sp]
+ldff1sh        { z31.s }, p7/z, [z31.s, #62]
+ldff1sw        { z0.d }, p0/z, [x0, x0, lsl #2]
+ldff1sw        { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ldff1sw        { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ldff1sw        { z0.d }, p0/z, [z0.d]
+ldff1sw        { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1sw        { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1sw        { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ldff1sw        { z31.d }, p7/z, [sp, z31.d]
+ldff1sw        { z31.d }, p7/z, [sp]
+ldff1sw        { z31.d }, p7/z, [z31.d, #124]
+ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+ldff1w { z0.d }, p0/z, [z0.d]
+ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+ldff1w { z0.s }, p0/z, [z0.s]
+ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+ldff1w { z31.d }, p7/z, [sp, z31.d]
+ldff1w { z31.d }, p7/z, [sp]
+ldff1w { z31.d }, p7/z, [z31.d, #124]
+ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+ldff1w { z31.s }, p7/z, [sp]
+ldff1w { z31.s }, p7/z, [z31.s, #124]
+ldnf1b { z0.b }, p0/z, [x0]
+ldnf1b { z0.d }, p0/z, [x0]
+ldnf1b { z0.h }, p0/z, [x0]
+ldnf1b { z0.s }, p0/z, [x0]
+ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1d { z0.d }, p0/z, [x0]
+ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1h { z0.d }, p0/z, [x0]
+ldnf1h { z0.h }, p0/z, [x0]
+ldnf1h { z0.s }, p0/z, [x0]
+ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1sb        { z0.d }, p0/z, [x0]
+ldnf1sb        { z0.h }, p0/z, [x0]
+ldnf1sb        { z0.s }, p0/z, [x0]
+ldnf1sb        { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1sb        { z21.h }, p5/z, [x10, #5, mul vl]
+ldnf1sb        { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1sb        { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1sb        { z31.h }, p7/z, [sp, #-1, mul vl]
+ldnf1sb        { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1sh        { z0.d }, p0/z, [x0]
+ldnf1sh        { z0.s }, p0/z, [x0]
+ldnf1sh        { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1sh        { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1sh        { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1sh        { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnf1sw        { z0.d }, p0/z, [x0]
+ldnf1sw        { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1sw        { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1w { z0.d }, p0/z, [x0]
+ldnf1w { z0.s }, p0/z, [x0]
+ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+ldnt1b { z0.b }, p0/z, [x0, x0]
+ldnt1b { z0.b }, p0/z, [x0]
+ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+ldnt1d { z0.d }, p0/z, [x0]
+ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+ldnt1h { z0.h }, p0/z, [x0]
+ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+ldnt1w { z0.s }, p0/z, [x0]
+ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+ldr    p0, [x0]
+ldr    p5, [x10, #255, mul vl]
+ldr    p7, [x13, #-256, mul vl]
+ldr    z0, [x0]
+ldr    z23, [x13, #255, mul vl]
+ldr    z31, [sp, #-256, mul vl]
+lsl    z0.b, p0/m, z0.b, #0
+lsl    z0.b, p0/m, z0.b, z0.b
+lsl    z0.b, p0/m, z0.b, z1.d
+lsl    z0.b, z0.b, #0
+lsl    z0.b, z1.b, z2.d
+lsl    z0.d, p0/m, z0.d, #0
+lsl    z0.d, p0/m, z0.d, z0.d
+lsl    z0.d, z0.d, #0
+lsl    z0.h, p0/m, z0.h, #0
+lsl    z0.h, p0/m, z0.h, z0.h
+lsl    z0.h, p0/m, z0.h, z1.d
+lsl    z0.h, z0.h, #0
+lsl    z0.h, z1.h, z2.d
+lsl    z0.s, p0/m, z0.s, #0
+lsl    z0.s, p0/m, z0.s, z0.s
+lsl    z0.s, p0/m, z0.s, z1.d
+lsl    z0.s, z0.s, #0
+lsl    z0.s, z1.s, z2.d
+lsl    z31.b, p0/m, z31.b, #7
+lsl    z31.b, z31.b, #7
+lsl    z31.d, p0/m, z31.d, #63
+lsl    z31.d, z31.d, #63
+lsl    z31.h, p0/m, z31.h, #15
+lsl    z31.h, z31.h, #15
+lsl    z31.s, p0/m, z31.s, #31
+lsl    z31.s, z31.s, #31
+lslr   z0.b, p0/m, z0.b, z0.b
+lslr   z0.d, p0/m, z0.d, z0.d
+lslr   z0.h, p0/m, z0.h, z0.h
+lslr   z0.s, p0/m, z0.s, z0.s
+lsr    z0.b, p0/m, z0.b, #1
+lsr    z0.b, p0/m, z0.b, z0.b
+lsr    z0.b, p0/m, z0.b, z1.d
+lsr    z0.b, z0.b, #1
+lsr    z0.b, z1.b, z2.d
+lsr    z0.d, p0/m, z0.d, #1
+lsr    z0.d, p0/m, z0.d, z0.d
+lsr    z0.d, z0.d, #1
+lsr    z0.h, p0/m, z0.h, #1
+lsr    z0.h, p0/m, z0.h, z0.h
+lsr    z0.h, p0/m, z0.h, z1.d
+lsr    z0.h, z0.h, #1
+lsr    z0.h, z1.h, z2.d
+lsr    z0.s, p0/m, z0.s, #1
+lsr    z0.s, p0/m, z0.s, z0.s
+lsr    z0.s, p0/m, z0.s, z1.d
+lsr    z0.s, z0.s, #1
+lsr    z0.s, z1.s, z2.d
+lsr    z31.b, p0/m, z31.b, #8
+lsr    z31.b, z31.b, #8
+lsr    z31.d, p0/m, z31.d, #64
+lsr    z31.d, z31.d, #64
+lsr    z31.h, p0/m, z31.h, #16
+lsr    z31.h, z31.h, #16
+lsr    z31.s, p0/m, z31.s, #32
+lsr    z31.s, z31.s, #32
+lsrr   z0.b, p0/m, z0.b, z0.b
+lsrr   z0.d, p0/m, z0.d, z0.d
+lsrr   z0.h, p0/m, z0.h, z0.h
+lsrr   z0.s, p0/m, z0.s, z0.s
+mad    z0.b, p7/m, z1.b, z31.b
+mad    z0.d, p7/m, z1.d, z31.d
+mad    z0.h, p7/m, z1.h, z31.h
+mad    z0.s, p7/m, z1.s, z31.s
+mla    z0.b, p7/m, z1.b, z31.b
+mla    z0.d, p7/m, z1.d, z31.d
+mla    z0.h, p7/m, z1.h, z31.h
+mla    z0.s, p7/m, z1.s, z31.s
+mls    z0.b, p7/m, z1.b, z31.b
+mls    z0.d, p7/m, z1.d, z31.d
+mls    z0.h, p7/m, z1.h, z31.h
+mls    z0.s, p7/m, z1.s, z31.s
+mov    p0.b, p0.b
+mov    p0.b, p0/m, p0.b
+mov    p0.b, p0/z, p0.b
+mov    p15.b, p15.b
+mov    p15.b, p15/m, p15.b
+mov    p15.b, p15/z, p15.b
+mov    z0.b, #127
+mov    z0.b, b0
+mov    z0.b, p0/m, b0
+mov    z0.b, p0/m, w0
+mov    z0.b, p0/z, #127
+mov    z0.b, w0
+mov    z0.d, #0
+mov    z0.d, #0xe0000000000003ff
+mov    z0.d, #0xffffffffffff7fff
+mov    z0.d, #32768
+mov    z0.d, d0
+mov    z0.d, p0/m, d0
+mov    z0.d, p0/m, x0
+mov    z0.d, x0
+mov    z0.d, z0.d
+mov    z0.h, #-256
+mov    z0.h, #-32768
+mov    z0.h, #0
+mov    z0.h, #32512
+mov    z0.h, #32767
+mov    z0.h, h0
+mov    z0.h, p0/m, h0
+mov    z0.h, p0/m, w0
+mov    z0.h, p0/z, #32512
+mov    z0.h, w0
+mov    z0.q, q0
+mov    z0.s, #0
+mov    z0.s, #0xffff7fff
+mov    z0.s, #32768
+mov    z0.s, p0/m, s0
+mov    z0.s, p0/m, w0
+mov    z0.s, s0
+mov    z0.s, w0
+mov    z21.d, #-128
+mov    z21.d, #-32768
+mov    z21.d, #127
+mov    z21.d, #32512
+mov    z21.d, p0/z, #-128
+mov    z21.d, p0/z, #-32768
+mov    z21.d, p0/z, #127
+mov    z21.d, p0/z, #32512
+mov    z21.d, p15/m, #-128
+mov    z21.d, p15/m, #-32768
+mov    z21.h, #-128
+mov    z21.h, #-32768
+mov    z21.h, #127
+mov    z21.h, #32512
+mov    z21.h, p0/z, #-128
+mov    z21.h, p0/z, #-32768
+mov    z21.h, p0/z, #127
+mov    z21.h, p0/z, #32512
+mov    z21.h, p15/m, #-128
+mov    z21.h, p15/m, #-32768
+mov    z21.s, #-128
+mov    z21.s, #-32768
+mov    z21.s, #127
+mov    z21.s, #32512
+mov    z21.s, p0/z, #-128
+mov    z21.s, p0/z, #-32768
+mov    z21.s, p0/z, #127
+mov    z21.s, p0/z, #32512
+mov    z21.s, p15/m, #-128
+mov    z21.s, p15/m, #-32768
+mov    z31.b, p15/m, z31.b
+mov    z31.b, p7/m, b31
+movprfx z31, z6
+mov    z31.b, p7/m, wsp
+mov    z31.b, wsp
+mov    z31.b, z31.b[63]
+mov    z31.d, p15/m, z31.d
+mov    z31.d, p7/m, d31
+movprfx z31.d, p7/z, z6.d
+mov    z31.d, p7/m, sp
+mov    z31.d, sp
+mov    z31.d, z0.d
+mov    z31.d, z31.d[7]
+mov    z31.h, p15/m, z31.h
+mov    z31.h, p7/m, h31
+mov    z31.h, p7/m, wsp
+mov    z31.h, wsp
+mov    z31.h, z31.h[31]
+mov    z31.s, p15/m, z31.s
+mov    z31.s, p7/m, s31
+mov    z31.s, p7/m, wsp
+mov    z31.s, wsp
+mov    z31.s, z31.s[15]
+mov    z5.b, #-1
+mov    z5.b, #-128
+mov    z5.b, #127
+mov    z5.b, p0/z, #-1
+mov    z5.b, p0/z, #-128
+mov    z5.b, p0/z, #127
+mov    z5.b, p15/m, #-128
+mov    z5.d, #-6
+mov    z5.h, #-6
+mov    z5.q, z17.q[3]
+mov    z5.s, #-6
+movs   p0.b, p0.b
+movs   p0.b, p0/z, p0.b
+movs   p15.b, p15.b
+movs   p15.b, p15/z, p15.b
+mrs    x3, ID_AA64ZFR0_EL1
+mrs    x3, ZCR_EL1
+mrs    x3, ZCR_EL12
+mrs    x3, ZCR_EL2
+mrs    x3, ZCR_EL3
+msb    z0.b, p7/m, z1.b, z31.b
+msb    z0.d, p7/m, z1.d, z31.d
+msb    z0.h, p7/m, z1.h, z31.h
+msb    z0.s, p7/m, z1.s, z31.s
+msr    ZCR_EL1, x3
+msr    ZCR_EL12, x3
+msr    ZCR_EL2, x3
+msr    ZCR_EL3, x3
+mul    z0.b, p7/m, z0.b, z31.b
+mul    z0.d, p7/m, z0.d, z31.d
+mul    z0.h, p7/m, z0.h, z31.h
+mul    z0.s, p7/m, z0.s, z31.s
+mul    z31.b, z31.b, #-128
+mul    z31.b, z31.b, #127
+mul    z31.d, z31.d, #-128
+mul    z31.d, z31.d, #127
+mul    z31.h, z31.h, #-128
+mul    z31.h, z31.h, #127
+mul    z31.s, z31.s, #-128
+mul    z31.s, z31.s, #127
+nand   p0.b, p0/z, p0.b, p0.b
+nand   p15.b, p15/z, p15.b, p15.b
+nands  p0.b, p0/z, p0.b, p0.b
+nands  p15.b, p15/z, p15.b, p15.b
+neg    z0.b, p0/m, z0.b
+neg    z0.d, p0/m, z0.d
+neg    z0.h, p0/m, z0.h
+neg    z0.s, p0/m, z0.s
+neg    z31.b, p7/m, z31.b
+neg    z31.d, p7/m, z31.d
+neg    z31.h, p7/m, z31.h
+neg    z31.s, p7/m, z31.s
+nor    p0.b, p0/z, p0.b, p0.b
+nor    p15.b, p15/z, p15.b, p15.b
+nors   p0.b, p0/z, p0.b, p0.b
+nors   p15.b, p15/z, p15.b, p15.b
+not    p0.b, p0/z, p0.b
+not    p15.b, p15/z, p15.b
+not    z31.b, p7/m, z31.b
+not    z31.d, p7/m, z31.d
+not    z31.h, p7/m, z31.h
+not    z31.s, p7/m, z31.s
+nots   p0.b, p0/z, p0.b
+nots   p15.b, p15/z, p15.b
+orn    p0.b, p0/z, p0.b, p0.b
+orn    p15.b, p15/z, p15.b, p15.b
+orns   p0.b, p0/z, p0.b, p0.b
+orns   p15.b, p15/z, p15.b, p15.b
+orr    p0.b, p0/z, p0.b, p1.b
+orr    z0.d, z0.d, #0x6
+orr    z0.d, z0.d, #0xfffffffffffffff9
+orr    z0.s, z0.s, #0x6
+orr    z0.s, z0.s, #0xfffffff9
+orr    z23.d, z13.d, z8.d
+orr    z23.h, z23.h, #0x6
+orr    z23.h, z23.h, #0xfff9
+orr    z31.b, p7/m, z31.b, z31.b
+orr    z31.d, p7/m, z31.d, z31.d
+orr    z31.h, p7/m, z31.h, z31.h
+orr    z31.s, p7/m, z31.s, z31.s
+orr    z5.b, z5.b, #0x6
+orr    z5.b, z5.b, #0xf9
+orrs   p0.b, p0/z, p0.b, p1.b
+orv    b0, p7, z31.b
+orv    d0, p7, z31.d
+orv    h0, p7, z31.h
+orv    s0, p7, z31.s
+pfalse p15.b
+pfirst p0.b, p15, p0.b
+pfirst p15.b, p15, p15.b
+pnext  p0.b, p15, p0.b
+pnext  p0.d, p15, p0.d
+pnext  p0.h, p15, p0.h
+pnext  p0.s, p15, p0.s
+pnext  p15.b, p15, p15.b
+prfb   #14, p0, [x0]
+prfb   #15, p0, [x0]
+prfb   #6, p0, [x0]
+prfb   #7, p0, [x0]
+prfb   #7, p3, [z13.s, #31]
+prfb   #7, p3, [z13.s]
+prfb   pldl1keep, p0, [x0, z0.d, uxtw]
+prfb   pldl1keep, p0, [x0, z0.d]
+prfb   pldl1keep, p0, [x0, z0.s, uxtw]
+prfb   pldl1keep, p0, [x0]
+prfb   pldl1strm, p0, [x0, #-32, mul vl]
+prfb   pldl1strm, p0, [x0, #31, mul vl]
+prfb   pldl1strm, p0, [x0]
+prfb   pldl2keep, p0, [x0]
+prfb   pldl2strm, p0, [x0]
+prfb   pldl3keep, p0, [x0]
+prfb   pldl3strm, p0, [x0]
+prfb   pldl3strm, p5, [x10, z21.d, sxtw]
+prfb   pldl3strm, p5, [x10, z21.s, uxtw]
+prfb   pldl3strm, p5, [z10.d, #31]
+prfb   pldl3strm, p5, [z10.d]
+prfb   pstl1keep, p0, [x0]
+prfb   pstl1strm, p0, [x0]
+prfb   pstl2keep, p0, [x0]
+prfb   pstl2strm, p0, [x0]
+prfb   pstl3keep, p0, [x0]
+prfb   pstl3strm, p0, [x0]
+prfd   #14, p0, [x0]
+prfd   #15, p0, [x0]
+prfd   #15, p7, [z31.d, #248]
+prfd   #15, p7, [z31.d]
+prfd   #15, p7, [z31.s, #248]
+prfd   #15, p7, [z31.s]
+prfd   #6, p0, [x0]
+prfd   #7, p0, [x0]
+prfd   pldl1keep, p0, [x0, z0.d, lsl #3]
+prfd   pldl1keep, p0, [x0, z0.d, sxtw #3]
+prfd   pldl1keep, p0, [x0, z0.d, uxtw #3]
+prfd   pldl1keep, p0, [x0, z0.s, sxtw #3]
+prfd   pldl1keep, p0, [x0, z0.s, uxtw #3]
+prfd   pldl1keep, p0, [x0]
+prfd   pldl1strm, p0, [x0, #-32, mul vl]
+prfd   pldl1strm, p0, [x0, #31, mul vl]
+prfd   pldl1strm, p0, [x0]
+prfd   pldl2keep, p0, [x0]
+prfd   pldl2strm, p0, [x0]
+prfd   pldl3keep, p0, [x0]
+prfd   pldl3strm, p0, [x0]
+prfd   pstl1keep, p0, [x0]
+prfd   pstl1strm, p0, [x0]
+prfd   pstl2keep, p0, [x0]
+prfd   pstl2strm, p0, [x0]
+prfd   pstl3keep, p0, [x0]
+prfd   pstl3strm, p0, [x0]
+prfh   #14, p0, [x0]
+prfh   #15, p0, [x0]
+prfh   #15, p7, [z31.d, #62]
+prfh   #15, p7, [z31.d]
+prfh   #15, p7, [z31.s, #62]
+prfh   #15, p7, [z31.s]
+prfh   #6, p0, [x0]
+prfh   #7, p0, [x0]
+prfh   pldl1keep, p0, [x0, z0.d, lsl #1]
+prfh   pldl1keep, p0, [x0]
+prfh   pldl1strm, p0, [x0, #-32, mul vl]
+prfh   pldl1strm, p0, [x0, #31, mul vl]
+prfh   pldl1strm, p0, [x0]
+prfh   pldl2keep, p0, [x0]
+prfh   pldl2strm, p0, [x0]
+prfh   pldl3keep, p0, [x0]
+prfh   pldl3strm, p0, [x0]
+prfh   pldl3strm, p5, [x10, z21.d, sxtw #1]
+prfh   pldl3strm, p5, [x10, z21.d, uxtw #1]
+prfh   pldl3strm, p5, [x10, z21.s, sxtw #1]
+prfh   pldl3strm, p5, [x10, z21.s, uxtw #1]
+prfh   pstl1keep, p0, [x0]
+prfh   pstl1strm, p0, [x0]
+prfh   pstl2keep, p0, [x0]
+prfh   pstl2strm, p0, [x0]
+prfh   pstl3keep, p0, [x0]
+prfh   pstl3strm, p0, [x0]
+prfw   #14, p0, [x0]
+prfw   #15, p0, [x0]
+prfw   #15, p7, [z31.d, #124]
+prfw   #15, p7, [z31.d]
+prfw   #15, p7, [z31.s, #124]
+prfw   #15, p7, [z31.s]
+prfw   #6, p0, [x0]
+prfw   #7, p0, [x0]
+prfw   #7, p3, [x13, z8.d, uxtw #2]
+prfw   pldl1keep, p0, [x0, z0.d, sxtw #2]
+prfw   pldl1keep, p0, [x0, z0.s, uxtw #2]
+prfw   pldl1keep, p0, [x0]
+prfw   pldl1strm, p0, [x0, #-32, mul vl]
+prfw   pldl1strm, p0, [x0, #31, mul vl]
+prfw   pldl1strm, p0, [x0]
+prfw   pldl2keep, p0, [x0]
+prfw   pldl2strm, p0, [x0]
+prfw   pldl3keep, p0, [x0]
+prfw   pldl3strm, p0, [x0]
+prfw   pldl3strm, p5, [x10, z21.d, lsl #2]
+prfw   pldl3strm, p5, [x10, z21.s, sxtw #2]
+prfw   pstl1keep, p0, [x0]
+prfw   pstl1strm, p0, [x0]
+prfw   pstl2keep, p0, [x0]
+prfw   pstl2strm, p0, [x0]
+prfw   pstl3keep, p0, [x0]
+prfw   pstl3strm, p0, [x0]
+ptest  p15, p0.b
+ptest  p15, p15.b
+ptrue  p0.b, pow2
+ptrue  p0.d, pow2
+ptrue  p0.h, pow2
+ptrue  p0.s, pow2
+ptrue  p15.b
+ptrue  p15.d
+ptrue  p15.h
+ptrue  p15.s
+ptrue  p7.s
+ptrue  p7.s, #14
+ptrue  p7.s, #15
+ptrue  p7.s, #16
+ptrue  p7.s, #17
+ptrue  p7.s, #18
+ptrue  p7.s, #19
+ptrue  p7.s, #20
+ptrue  p7.s, #21
+ptrue  p7.s, #22
+ptrue  p7.s, #23
+ptrue  p7.s, #24
+ptrue  p7.s, #25
+ptrue  p7.s, #26
+ptrue  p7.s, #27
+ptrue  p7.s, #28
+ptrue  p7.s, mul3
+ptrue  p7.s, mul4
+ptrue  p7.s, vl1
+ptrue  p7.s, vl128
+ptrue  p7.s, vl16
+ptrue  p7.s, vl2
+ptrue  p7.s, vl256
+ptrue  p7.s, vl3
+ptrue  p7.s, vl32
+ptrue  p7.s, vl4
+ptrue  p7.s, vl5
+ptrue  p7.s, vl6
+ptrue  p7.s, vl64
+ptrue  p7.s, vl7
+ptrue  p7.s, vl8
+ptrues p0.b, pow2
+ptrues p0.d, pow2
+ptrues p0.h, pow2
+ptrues p0.s, pow2
+ptrues p15.b
+ptrues p15.d
+ptrues p15.h
+ptrues p15.s
+ptrues p7.s
+ptrues p7.s, #14
+ptrues p7.s, #15
+ptrues p7.s, #16
+ptrues p7.s, #17
+ptrues p7.s, #18
+ptrues p7.s, #19
+ptrues p7.s, #20
+ptrues p7.s, #21
+ptrues p7.s, #22
+ptrues p7.s, #23
+ptrues p7.s, #24
+ptrues p7.s, #25
+ptrues p7.s, #26
+ptrues p7.s, #27
+ptrues p7.s, #28
+ptrues p7.s, mul3
+ptrues p7.s, mul4
+ptrues p7.s, vl1
+ptrues p7.s, vl128
+ptrues p7.s, vl16
+ptrues p7.s, vl2
+ptrues p7.s, vl256
+ptrues p7.s, vl3
+ptrues p7.s, vl32
+ptrues p7.s, vl4
+ptrues p7.s, vl5
+ptrues p7.s, vl6
+ptrues p7.s, vl64
+ptrues p7.s, vl7
+ptrues p7.s, vl8
+punpkhi        p0.h, p0.b
+punpkhi        p15.h, p15.b
+punpklo        p0.h, p0.b
+punpklo        p15.h, p15.b
+rbit   z0.b, p7/m, z31.b
+rbit   z0.d, p7/m, z31.d
+rbit   z0.h, p7/m, z31.h
+rbit   z0.s, p7/m, z31.s
+rdffr  p0.b
+rdffr  p0.b, p0/z
+rdffr  p15.b
+rdffr  p15.b, p15/z
+rdffrs p0.b, p0/z
+rdffrs p15.b, p15/z
+rdvl   x0, #0
+rdvl   x21, #-32
+rdvl   x23, #31
+rdvl   xzr, #-1
+rev    z0.b, z31.b
+rev    z0.d, z31.d
+rev    z0.h, z31.h
+rev    z0.s, z31.s
+revb   z0.d, p7/m, z31.d
+revb   z0.h, p7/m, z31.h
+revb   z0.s, p7/m, z31.s
+revh   z0.d, p7/m, z31.d
+revh   z0.s, p7/m, z31.s
+revw   z0.d, p7/m, z31.d
+sabd   z31.b, p7/m, z31.b, z31.b
+sabd   z31.d, p7/m, z31.d, z31.d
+sabd   z31.h, p7/m, z31.h, z31.h
+sabd   z31.s, p7/m, z31.s, z31.s
+saddv  d0, p7, z31.b
+saddv  d0, p7, z31.h
+saddv  d0, p7, z31.s
+scvtf  z0.d, p0/m, z0.d
+scvtf  z0.d, p0/m, z0.s
+scvtf  z0.h, p0/m, z0.d
+scvtf  z0.h, p0/m, z0.h
+scvtf  z0.h, p0/m, z0.s
+scvtf  z0.s, p0/m, z0.d
+scvtf  z0.s, p0/m, z0.s
+sdiv   z0.d, p7/m, z0.d, z31.d
+sdiv   z0.s, p7/m, z0.s, z31.s
+sdivr  z0.d, p7/m, z0.d, z31.d
+sdivr  z0.s, p7/m, z0.s, z31.s
+sdot   z0.d, z1.h, z15.h[1]
+sdot   z0.d, z1.h, z31.h
+sdot   z0.s, z1.b, z31.b
+sdot   z0.s, z1.b, z7.b[3]
+sel    z23.b, p11, z13.b, z8.b
+sel    z23.d, p11, z13.d, z8.d
+sel    z23.h, p11, z13.h, z8.h
+sel    z23.s, p11, z13.s, z8.s
+setffr
+smax   z0.b, z0.b, #-128
+smax   z0.d, z0.d, #-128
+smax   z0.h, z0.h, #-128
+smax   z0.s, z0.s, #-128
+smax   z31.b, p7/m, z31.b, z31.b
+smax   z31.b, z31.b, #127
+smax   z31.d, p7/m, z31.d, z31.d
+smax   z31.d, z31.d, #127
+smax   z31.h, p7/m, z31.h, z31.h
+smax   z31.h, z31.h, #127
+smax   z31.s, p7/m, z31.s, z31.s
+smax   z31.s, z31.s, #127
+smaxv  b0, p7, z31.b
+smaxv  d0, p7, z31.d
+smaxv  h0, p7, z31.h
+smaxv  s0, p7, z31.s
+smin   z0.b, z0.b, #-128
+smin   z0.d, z0.d, #-128
+smin   z0.h, z0.h, #-128
+smin   z0.s, z0.s, #-128
+smin   z31.b, p7/m, z31.b, z31.b
+smin   z31.b, z31.b, #127
+smin   z31.d, p7/m, z31.d, z31.d
+smin   z31.d, z31.d, #127
+smin   z31.h, p7/m, z31.h, z31.h
+smin   z31.h, z31.h, #127
+smin   z31.s, p7/m, z31.s, z31.s
+smin   z31.s, z31.s, #127
+sminv  b0, p7, z31.b
+sminv  d0, p7, z31.d
+sminv  h0, p7, z31.h
+sminv  s0, p7, z31.s
+smulh  z0.b, p7/m, z0.b, z31.b
+smulh  z0.d, p7/m, z0.d, z31.d
+smulh  z0.h, p7/m, z0.h, z31.h
+smulh  z0.s, p7/m, z0.s, z31.s
+splice z31.b, p7, z31.b, z31.b
+splice z31.d, p7, z31.d, z31.d
+splice z31.h, p7, z31.h, z31.h
+splice z31.s, p7, z31.s, z31.s
+sqadd  z0.b, z0.b, #0
+sqadd  z0.b, z0.b, z0.b
+sqadd  z0.d, z0.d, #0
+sqadd  z0.d, z0.d, #0, lsl #8
+sqadd  z0.d, z0.d, z0.d
+sqadd  z0.h, z0.h, #0
+sqadd  z0.h, z0.h, #0, lsl #8
+sqadd  z0.h, z0.h, z0.h
+sqadd  z0.s, z0.s, #0
+sqadd  z0.s, z0.s, #0, lsl #8
+sqadd  z0.s, z0.s, z0.s
+sqadd  z31.b, z31.b, #255
+sqadd  z31.d, z31.d, #65280
+sqadd  z31.h, z31.h, #65280
+sqadd  z31.s, z31.s, #65280
+sqdecb x0
+sqdecb x0, #14
+sqdecb x0, all, mul #16
+sqdecb x0, pow2
+sqdecb x0, vl1
+sqdecb x0, w0
+sqdecb x0, w0, all, mul #16
+sqdecb x0, w0, pow2
+sqdecb x0, w0, pow2, mul #16
+sqdecd x0
+sqdecd x0, #14
+sqdecd x0, all, mul #16
+sqdecd x0, pow2
+sqdecd x0, vl1
+sqdecd x0, w0
+sqdecd x0, w0, all, mul #16
+sqdecd x0, w0, pow2
+sqdecd x0, w0, pow2, mul #16
+sqdecd z0.d
+sqdecd z0.d, all, mul #16
+sqdecd z0.d, pow2
+sqdecd z0.d, pow2, mul #16
+sqdech x0
+sqdech x0, #14
+sqdech x0, all, mul #16
+sqdech x0, pow2
+sqdech x0, vl1
+sqdech x0, w0
+sqdech x0, w0, all, mul #16
+sqdech x0, w0, pow2
+sqdech x0, w0, pow2, mul #16
+sqdech z0.h
+sqdech z0.h, all, mul #16
+sqdech z0.h, pow2
+sqdech z0.h, pow2, mul #16
+sqdecp x0, p0.b
+sqdecp x0, p0.d
+sqdecp x0, p0.h
+sqdecp x0, p0.s
+sqdecp xzr, p15.b, wzr
+sqdecp xzr, p15.d, wzr
+sqdecp xzr, p15.h, wzr
+sqdecp xzr, p15.s, wzr
+sqdecp z0.d, p0.d
+sqdecp z0.h, p0.h
+sqdecp z0.s, p0.s
+sqdecw x0
+sqdecw x0, #14
+sqdecw x0, all, mul #16
+sqdecw x0, pow2
+sqdecw x0, vl1
+sqdecw x0, w0
+sqdecw x0, w0, all, mul #16
+sqdecw x0, w0, pow2
+sqdecw x0, w0, pow2, mul #16
+sqdecw z0.s
+sqdecw z0.s, all, mul #16
+sqdecw z0.s, pow2
+sqdecw z0.s, pow2, mul #16
+sqincb x0
+sqincb x0, #14
+sqincb x0, all, mul #16
+sqincb x0, pow2
+sqincb x0, vl1
+sqincb x0, w0
+sqincb x0, w0, all, mul #16
+sqincb x0, w0, pow2
+sqincb x0, w0, pow2, mul #16
+sqincd x0
+sqincd x0, #14
+sqincd x0, all, mul #16
+sqincd x0, pow2
+sqincd x0, vl1
+sqincd x0, w0
+sqincd x0, w0, all, mul #16
+sqincd x0, w0, pow2
+sqincd x0, w0, pow2, mul #16
+sqincd z0.d
+sqincd z0.d, all, mul #16
+sqincd z0.d, pow2
+sqincd z0.d, pow2, mul #16
+sqinch x0
+sqinch x0, #14
+sqinch x0, all, mul #16
+sqinch x0, pow2
+sqinch x0, vl1
+sqinch x0, w0
+sqinch x0, w0, all, mul #16
+sqinch x0, w0, pow2
+sqinch x0, w0, pow2, mul #16
+sqinch z0.h
+sqinch z0.h, all, mul #16
+sqinch z0.h, pow2
+sqinch z0.h, pow2, mul #16
+sqincp x0, p0.b
+sqincp x0, p0.d
+sqincp x0, p0.h
+sqincp x0, p0.s
+sqincp xzr, p15.b, wzr
+sqincp xzr, p15.d, wzr
+sqincp xzr, p15.h, wzr
+sqincp xzr, p15.s, wzr
+sqincp z0.d, p0.d
+sqincp z0.h, p0.h
+sqincp z0.s, p0.s
+sqincw x0
+sqincw x0, #14
+sqincw x0, all, mul #16
+sqincw x0, pow2
+sqincw x0, vl1
+sqincw x0, w0
+sqincw x0, w0, all, mul #16
+sqincw x0, w0, pow2
+sqincw x0, w0, pow2, mul #16
+sqincw z0.s
+sqincw z0.s, all, mul #16
+sqincw z0.s, pow2
+sqincw z0.s, pow2, mul #16
+sqsub  z0.b, z0.b, #0
+sqsub  z0.b, z0.b, z0.b
+sqsub  z0.d, z0.d, #0
+sqsub  z0.d, z0.d, #0, lsl #8
+sqsub  z0.d, z0.d, z0.d
+sqsub  z0.h, z0.h, #0
+sqsub  z0.h, z0.h, #0, lsl #8
+sqsub  z0.h, z0.h, z0.h
+sqsub  z0.s, z0.s, #0
+sqsub  z0.s, z0.s, #0, lsl #8
+sqsub  z0.s, z0.s, z0.s
+sqsub  z31.b, z31.b, #255
+sqsub  z31.d, z31.d, #65280
+sqsub  z31.h, z31.h, #65280
+sqsub  z31.s, z31.s, #65280
+st1b   { z0.b }, p0, [x0, x0]
+st1b   { z0.b }, p0, [x0]
+st1b   { z0.d }, p0, [x0, x0]
+st1b   { z0.d }, p0, [x0, z0.d, sxtw]
+st1b   { z0.d }, p0, [x0, z0.d, uxtw]
+st1b   { z0.d }, p0, [x0, z0.d]
+st1b   { z0.d }, p0, [x0]
+st1b   { z0.d }, p7, [z0.d]
+st1b   { z0.h }, p0, [x0, x0]
+st1b   { z0.h }, p0, [x0]
+st1b   { z0.s }, p0, [x0, x0]
+st1b   { z0.s }, p0, [x0, z0.s, sxtw]
+st1b   { z0.s }, p0, [x0, z0.s, uxtw]
+st1b   { z0.s }, p0, [x0]
+st1b   { z0.s }, p7, [z0.s]
+st1b   { z21.b }, p5, [x10, #5, mul vl]
+st1b   { z21.d }, p5, [x10, #5, mul vl]
+st1b   { z21.h }, p5, [x10, #5, mul vl]
+st1b   { z21.s }, p5, [x10, #5, mul vl]
+st1b   { z31.b }, p7, [sp, #-1, mul vl]
+st1b   { z31.d }, p7, [sp, #-1, mul vl]
+st1b   { z31.d }, p7, [z31.d, #31]
+st1b   { z31.h }, p7, [sp, #-1, mul vl]
+st1b   { z31.s }, p7, [sp, #-1, mul vl]
+st1b   { z31.s }, p7, [z31.s, #31]
+st1d   { z0.d }, p0, [x0, x0, lsl #3]
+st1d   { z0.d }, p0, [x0, z0.d, lsl #3]
+st1d   { z0.d }, p0, [x0, z0.d, sxtw #3]
+st1d   { z0.d }, p0, [x0, z0.d, sxtw]
+st1d   { z0.d }, p0, [x0, z0.d, uxtw #3]
+st1d   { z0.d }, p0, [x0, z0.d, uxtw]
+st1d   { z0.d }, p0, [x0, z0.d]
+st1d   { z0.d }, p0, [x0]
+st1d   { z0.d }, p7, [z0.d]
+st1d   { z21.d }, p5, [x10, #5, mul vl]
+st1d   { z31.d }, p7, [sp, #-1, mul vl]
+st1d   { z31.d }, p7, [z31.d, #248]
+st1h   { z0.d }, p0, [x0, x0, lsl #1]
+st1h   { z0.d }, p0, [x0, z0.d, lsl #1]
+st1h   { z0.d }, p0, [x0, z0.d, sxtw #1]
+st1h   { z0.d }, p0, [x0, z0.d, sxtw]
+st1h   { z0.d }, p0, [x0, z0.d, uxtw #1]
+st1h   { z0.d }, p0, [x0, z0.d, uxtw]
+st1h   { z0.d }, p0, [x0, z0.d]
+st1h   { z0.d }, p0, [x0]
+st1h   { z0.d }, p7, [z0.d]
+st1h   { z0.h }, p0, [x0, x0, lsl #1]
+st1h   { z0.h }, p0, [x0]
+st1h   { z0.s }, p0, [x0, x0, lsl #1]
+st1h   { z0.s }, p0, [x0, z0.s, sxtw #1]
+st1h   { z0.s }, p0, [x0, z0.s, sxtw]
+st1h   { z0.s }, p0, [x0, z0.s, uxtw #1]
+st1h   { z0.s }, p0, [x0, z0.s, uxtw]
+st1h   { z0.s }, p0, [x0]
+st1h   { z0.s }, p7, [z0.s]
+st1h   { z21.d }, p5, [x10, #5, mul vl]
+st1h   { z21.h }, p5, [x10, #5, mul vl]
+st1h   { z21.s }, p5, [x10, #5, mul vl]
+st1h   { z31.d }, p7, [sp, #-1, mul vl]
+st1h   { z31.d }, p7, [z31.d, #62]
+st1h   { z31.h }, p7, [sp, #-1, mul vl]
+st1h   { z31.s }, p7, [sp, #-1, mul vl]
+st1h   { z31.s }, p7, [z31.s, #62]
+st1w   { z0.d }, p0, [x0, x0, lsl #2]
+st1w   { z0.d }, p0, [x0, z0.d, lsl #2]
+st1w   { z0.d }, p0, [x0, z0.d, sxtw #2]
+st1w   { z0.d }, p0, [x0, z0.d, sxtw]
+st1w   { z0.d }, p0, [x0, z0.d, uxtw #2]
+st1w   { z0.d }, p0, [x0, z0.d, uxtw]
+st1w   { z0.d }, p0, [x0, z0.d]
+st1w   { z0.d }, p0, [x0]
+st1w   { z0.d }, p7, [z0.d]
+st1w   { z0.s }, p0, [x0, x0, lsl #2]
+st1w   { z0.s }, p0, [x0, z0.s, sxtw #2]
+st1w   { z0.s }, p0, [x0, z0.s, sxtw]
+st1w   { z0.s }, p0, [x0, z0.s, uxtw #2]
+st1w   { z0.s }, p0, [x0, z0.s, uxtw]
+st1w   { z0.s }, p0, [x0]
+st1w   { z0.s }, p7, [z0.s]
+st1w   { z21.d }, p5, [x10, #5, mul vl]
+st1w   { z21.s }, p5, [x10, #5, mul vl]
+st1w   { z31.d }, p7, [sp, #-1, mul vl]
+st1w   { z31.d }, p7, [z31.d, #124]
+st1w   { z31.s }, p7, [sp, #-1, mul vl]
+st1w   { z31.s }, p7, [z31.s, #124]
+st2b   { z0.b, z1.b }, p0, [x0, x0]
+st2b   { z0.b, z1.b }, p0, [x0]
+st2b   { z21.b, z22.b }, p5, [x10, #10, mul vl]
+st2b   { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+st2b   { z5.b, z6.b }, p3, [x17, x16]
+st2d   { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+st2d   { z0.d, z1.d }, p0, [x0]
+st2d   { z21.d, z22.d }, p5, [x10, #10, mul vl]
+st2d   { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+st2d   { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+st2h   { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+st2h   { z0.h, z1.h }, p0, [x0]
+st2h   { z21.h, z22.h }, p5, [x10, #10, mul vl]
+st2h   { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+st2h   { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+st2w   { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+st2w   { z0.s, z1.s }, p0, [x0]
+st2w   { z21.s, z22.s }, p5, [x10, #10, mul vl]
+st2w   { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+st2w   { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+st3b   { z0.b, z1.b, z2.b }, p0, [x0, x0]
+st3b   { z0.b, z1.b, z2.b }, p0, [x0]
+st3b   { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
+st3b   { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
+st3b   { z5.b, z6.b, z7.b }, p3, [x17, x16]
+st3d   { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
+st3d   { z0.d, z1.d, z2.d }, p0, [x0]
+st3d   { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
+st3d   { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
+st3d   { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
+st3h   { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
+st3h   { z0.h, z1.h, z2.h }, p0, [x0]
+st3h   { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
+st3h   { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
+st3h   { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
+st3w   { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
+st3w   { z0.s, z1.s, z2.s }, p0, [x0]
+st3w   { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
+st3w   { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
+st3w   { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
+st4b   { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
+st4b   { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
+st4b   { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
+st4b   { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
+st4b   { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
+st4d   { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
+st4d   { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
+st4d   { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
+st4d   { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
+st4d   { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
+st4h   { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
+st4h   { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
+st4h   { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
+st4h   { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
+st4h   { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
+st4w   { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
+st4w   { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
+st4w   { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
+st4w   { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
+st4w   { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
+stnt1b { z0.b }, p0, [x0, x0]
+stnt1b { z0.b }, p0, [x0]
+stnt1b { z21.b }, p5, [x10, #7, mul vl]
+stnt1b { z23.b }, p3, [x13, #-8, mul vl]
+stnt1d { z0.d }, p0, [x0, x0, lsl #3]
+stnt1d { z0.d }, p0, [x0]
+stnt1d { z21.d }, p5, [x10, #7, mul vl]
+stnt1d { z23.d }, p3, [x13, #-8, mul vl]
+stnt1h { z0.h }, p0, [x0, x0, lsl #1]
+stnt1h { z0.h }, p0, [x0]
+stnt1h { z21.h }, p5, [x10, #7, mul vl]
+stnt1h { z23.h }, p3, [x13, #-8, mul vl]
+stnt1w { z0.s }, p0, [x0, x0, lsl #2]
+stnt1w { z0.s }, p0, [x0]
+stnt1w { z21.s }, p5, [x10, #7, mul vl]
+stnt1w { z23.s }, p3, [x13, #-8, mul vl]
+str    p0, [x0]
+str    p15, [sp, #-256, mul vl]
+str    p5, [x10, #255, mul vl]
+str    z0, [x0]
+str    z21, [x10, #-256, mul vl]
+str    z31, [sp, #255, mul vl]
+sub    z0.b, p0/m, z0.b, z0.b
+sub    z0.b, z0.b, #0
+sub    z0.b, z0.b, z0.b
+sub    z0.d, p0/m, z0.d, z0.d
+sub    z0.d, z0.d, #0
+sub    z0.d, z0.d, #0, lsl #8
+sub    z0.d, z0.d, z0.d
+sub    z0.h, p0/m, z0.h, z0.h
+sub    z0.h, z0.h, #0
+sub    z0.h, z0.h, #0, lsl #8
+sub    z0.h, z0.h, z0.h
+sub    z0.s, p0/m, z0.s, z0.s
+sub    z0.s, z0.s, #0
+sub    z0.s, z0.s, #0, lsl #8
+sub    z0.s, z0.s, z0.s
+sub    z21.b, p5/m, z21.b, z10.b
+sub    z21.b, z10.b, z21.b
+sub    z21.d, p5/m, z21.d, z10.d
+sub    z21.d, z10.d, z21.d
+sub    z21.h, p5/m, z21.h, z10.h
+sub    z21.h, z10.h, z21.h
+sub    z21.s, p5/m, z21.s, z10.s
+sub    z21.s, z10.s, z21.s
+sub    z23.b, p3/m, z23.b, z13.b
+sub    z23.b, z13.b, z8.b
+sub    z23.d, p3/m, z23.d, z13.d
+sub    z23.d, z13.d, z8.d
+sub    z23.h, p3/m, z23.h, z13.h
+sub    z23.h, z13.h, z8.h
+sub    z23.s, p3/m, z23.s, z13.s
+sub    z23.s, z13.s, z8.s
+sub    z31.b, p7/m, z31.b, z31.b
+sub    z31.b, z31.b, #255
+sub    z31.b, z31.b, z31.b
+sub    z31.d, p7/m, z31.d, z31.d
+sub    z31.d, z31.d, #65280
+sub    z31.d, z31.d, z31.d
+sub    z31.h, p7/m, z31.h, z31.h
+sub    z31.h, z31.h, #65280
+sub    z31.h, z31.h, z31.h
+sub    z31.s, p7/m, z31.s, z31.s
+sub    z31.s, z31.s, #65280
+sub    z31.s, z31.s, z31.s
+subr   z0.b, p0/m, z0.b, z0.b
+subr   z0.b, z0.b, #0
+subr   z0.d, p0/m, z0.d, z0.d
+subr   z0.d, z0.d, #0
+subr   z0.d, z0.d, #0, lsl #8
+subr   z0.h, p0/m, z0.h, z0.h
+subr   z0.h, z0.h, #0
+subr   z0.h, z0.h, #0, lsl #8
+subr   z0.s, p0/m, z0.s, z0.s
+subr   z0.s, z0.s, #0
+subr   z0.s, z0.s, #0, lsl #8
+subr   z31.b, z31.b, #255
+subr   z31.d, z31.d, #65280
+subr   z31.h, z31.h, #65280
+subr   z31.s, z31.s, #65280
+sunpkhi        z31.d, z31.s
+sunpkhi        z31.h, z31.b
+sunpkhi        z31.s, z31.h
+sunpklo        z31.d, z31.s
+sunpklo        z31.h, z31.b
+sunpklo        z31.s, z31.h
+sxtb   z0.d, p0/m, z0.d
+sxtb   z0.h, p0/m, z0.h
+sxtb   z0.s, p0/m, z0.s
+sxtb   z31.d, p7/m, z31.d
+sxtb   z31.h, p7/m, z31.h
+sxtb   z31.s, p7/m, z31.s
+sxth   z0.d, p0/m, z0.d
+sxth   z0.s, p0/m, z0.s
+sxth   z31.d, p7/m, z31.d
+sxth   z31.s, p7/m, z31.s
+sxtw   z0.d, p0/m, z0.d
+sxtw   z31.d, p7/m, z31.d
+tbl    z31.b, { z31.b }, z31.b
+tbl    z31.d, { z31.d }, z31.d
+tbl    z31.h, { z31.h }, z31.h
+tbl    z31.s, { z31.s }, z31.s
+trn1   p15.b, p15.b, p15.b
+trn1   p15.d, p15.d, p15.d
+trn1   p15.h, p15.h, p15.h
+trn1   p15.s, p15.s, p15.s
+trn1   z31.b, z31.b, z31.b
+trn1   z31.d, z31.d, z31.d
+trn1   z31.h, z31.h, z31.h
+trn1   z31.s, z31.s, z31.s
+trn2   p15.b, p15.b, p15.b
+trn2   p15.d, p15.d, p15.d
+trn2   p15.h, p15.h, p15.h
+trn2   p15.s, p15.s, p15.s
+trn2   z31.b, z31.b, z31.b
+trn2   z31.d, z31.d, z31.d
+trn2   z31.h, z31.h, z31.h
+trn2   z31.s, z31.s, z31.s
+uabd   z31.b, p7/m, z31.b, z31.b
+uabd   z31.d, p7/m, z31.d, z31.d
+uabd   z31.h, p7/m, z31.h, z31.h
+uabd   z31.s, p7/m, z31.s, z31.s
+uaddv  d0, p7, z31.b
+uaddv  d0, p7, z31.d
+uaddv  d0, p7, z31.h
+uaddv  d0, p7, z31.s
+ucvtf  z0.d, p0/m, z0.d
+ucvtf  z0.d, p0/m, z0.s
+ucvtf  z0.h, p0/m, z0.d
+ucvtf  z0.h, p0/m, z0.h
+ucvtf  z0.h, p0/m, z0.s
+ucvtf  z0.s, p0/m, z0.d
+ucvtf  z0.s, p0/m, z0.s
+udiv   z0.d, p7/m, z0.d, z31.d
+udiv   z0.s, p7/m, z0.s, z31.s
+udivr  z0.d, p7/m, z0.d, z31.d
+udivr  z0.s, p7/m, z0.s, z31.s
+udot   z0.d, z1.h, z15.h[1]
+udot   z0.d, z1.h, z31.h
+udot   z0.s, z1.b, z31.b
+udot   z0.s, z1.b, z7.b[3]
+umax   z0.b, z0.b, #0
+umax   z31.b, p7/m, z31.b, z31.b
+umax   z31.b, z31.b, #255
+umax   z31.d, p7/m, z31.d, z31.d
+umax   z31.h, p7/m, z31.h, z31.h
+umax   z31.s, p7/m, z31.s, z31.s
+umaxv  b0, p7, z31.b
+umaxv  d0, p7, z31.d
+umaxv  h0, p7, z31.h
+umaxv  s0, p7, z31.s
+umin   z0.b, z0.b, #0
+umin   z31.b, p7/m, z31.b, z31.b
+umin   z31.b, z31.b, #255
+umin   z31.d, p7/m, z31.d, z31.d
+umin   z31.h, p7/m, z31.h, z31.h
+umin   z31.s, p7/m, z31.s, z31.s
+uminv  b0, p7, z31.b
+uminv  d0, p7, z31.d
+uminv  h0, p7, z31.h
+uminv  s0, p7, z31.s
+umulh  z0.b, p7/m, z0.b, z31.b
+umulh  z0.d, p7/m, z0.d, z31.d
+umulh  z0.h, p7/m, z0.h, z31.h
+umulh  z0.s, p7/m, z0.s, z31.s
+uqadd  z0.b, z0.b, #0
+uqadd  z0.b, z0.b, z0.b
+uqadd  z0.d, z0.d, #0
+uqadd  z0.d, z0.d, #0, lsl #8
+uqadd  z0.d, z0.d, z0.d
+uqadd  z0.h, z0.h, #0
+uqadd  z0.h, z0.h, #0, lsl #8
+uqadd  z0.h, z0.h, z0.h
+uqadd  z0.s, z0.s, #0
+uqadd  z0.s, z0.s, #0, lsl #8
+uqadd  z0.s, z0.s, z0.s
+uqadd  z31.b, z31.b, #255
+uqadd  z31.d, z31.d, #65280
+uqadd  z31.h, z31.h, #65280
+uqadd  z31.s, z31.s, #65280
+uqdecb w0
+uqdecb w0, all, mul #16
+uqdecb w0, pow2
+uqdecb w0, pow2, mul #16
+uqdecb x0
+uqdecb x0, #14
+uqdecb x0, all, mul #16
+uqdecb x0, pow2
+uqdecb x0, vl1
+uqdecd w0
+uqdecd w0, all, mul #16
+uqdecd w0, pow2
+uqdecd w0, pow2, mul #16
+uqdecd x0
+uqdecd x0, #14
+uqdecd x0, all, mul #16
+uqdecd x0, pow2
+uqdecd x0, vl1
+uqdecd z0.d
+uqdecd z0.d, all, mul #16
+uqdecd z0.d, pow2
+uqdecd z0.d, pow2, mul #16
+uqdech w0
+uqdech w0, all, mul #16
+uqdech w0, pow2
+uqdech w0, pow2, mul #16
+uqdech x0
+uqdech x0, #14
+uqdech x0, all, mul #16
+uqdech x0, pow2
+uqdech x0, vl1
+uqdech z0.h
+uqdech z0.h, all, mul #16
+uqdech z0.h, pow2
+uqdech z0.h, pow2, mul #16
+uqdecp wzr, p15.b
+uqdecp wzr, p15.d
+uqdecp wzr, p15.h
+uqdecp wzr, p15.s
+uqdecp x0, p0.b
+uqdecp x0, p0.d
+uqdecp x0, p0.h
+uqdecp x0, p0.s
+uqdecp z0.d, p0.d
+uqdecp z0.h, p0.h
+uqdecp z0.s, p0.s
+uqdecw w0
+uqdecw w0, all, mul #16
+uqdecw w0, pow2
+uqdecw w0, pow2, mul #16
+uqdecw x0
+uqdecw x0, #14
+uqdecw x0, all, mul #16
+uqdecw x0, pow2
+uqdecw x0, vl1
+uqdecw z0.s
+uqdecw z0.s, all, mul #16
+uqdecw z0.s, pow2
+uqdecw z0.s, pow2, mul #16
+uqincb w0
+uqincb w0, all, mul #16
+uqincb w0, pow2
+uqincb w0, pow2, mul #16
+uqincb x0
+uqincb x0, #14
+uqincb x0, all, mul #16
+uqincb x0, pow2
+uqincb x0, vl1
+uqincd w0
+uqincd w0, all, mul #16
+uqincd w0, pow2
+uqincd w0, pow2, mul #16
+uqincd x0
+uqincd x0, #14
+uqincd x0, all, mul #16
+uqincd x0, pow2
+uqincd x0, vl1
+uqincd z0.d
+uqincd z0.d, all, mul #16
+uqincd z0.d, pow2
+uqincd z0.d, pow2, mul #16
+uqinch w0
+uqinch w0, all, mul #16
+uqinch w0, pow2
+uqinch w0, pow2, mul #16
+uqinch x0
+uqinch x0, #14
+uqinch x0, all, mul #16
+uqinch x0, pow2
+uqinch x0, vl1
+uqinch z0.h
+uqinch z0.h, all, mul #16
+uqinch z0.h, pow2
+uqinch z0.h, pow2, mul #16
+uqincp wzr, p15.b
+uqincp wzr, p15.d
+uqincp wzr, p15.h
+uqincp wzr, p15.s
+uqincp x0, p0.b
+uqincp x0, p0.d
+uqincp x0, p0.h
+uqincp x0, p0.s
+uqincp z0.d, p0.d
+uqincp z0.h, p0.h
+uqincp z0.s, p0.s
+uqincw w0
+uqincw w0, all, mul #16
+uqincw w0, pow2
+uqincw w0, pow2, mul #16
+uqincw x0
+uqincw x0, #14
+uqincw x0, all, mul #16
+uqincw x0, pow2
+uqincw x0, vl1
+uqincw z0.s
+uqincw z0.s, all, mul #16
+uqincw z0.s, pow2
+uqincw z0.s, pow2, mul #16
+uqsub  z0.b, z0.b, #0
+uqsub  z0.b, z0.b, z0.b
+uqsub  z0.d, z0.d, #0
+uqsub  z0.d, z0.d, #0, lsl #8
+uqsub  z0.d, z0.d, z0.d
+uqsub  z0.h, z0.h, #0
+uqsub  z0.h, z0.h, #0, lsl #8
+uqsub  z0.h, z0.h, z0.h
+uqsub  z0.s, z0.s, #0
+uqsub  z0.s, z0.s, #0, lsl #8
+uqsub  z0.s, z0.s, z0.s
+uqsub  z31.b, z31.b, #255
+uqsub  z31.d, z31.d, #65280
+uqsub  z31.h, z31.h, #65280
+uqsub  z31.s, z31.s, #65280
+uunpkhi        z31.d, z31.s
+uunpkhi        z31.h, z31.b
+uunpkhi        z31.s, z31.h
+uunpklo        z31.d, z31.s
+uunpklo        z31.h, z31.b
+uunpklo        z31.s, z31.h
+uxtb   z0.d, p0/m, z0.d
+uxtb   z0.h, p0/m, z0.h
+uxtb   z0.s, p0/m, z0.s
+uxtb   z31.d, p7/m, z31.d
+uxtb   z31.h, p7/m, z31.h
+uxtb   z31.s, p7/m, z31.s
+uxth   z0.d, p0/m, z0.d
+uxth   z0.s, p0/m, z0.s
+uxth   z31.d, p7/m, z31.d
+uxth   z31.s, p7/m, z31.s
+uxtw   z0.d, p0/m, z0.d
+uxtw   z31.d, p7/m, z31.d
+uzp1   p15.b, p15.b, p15.b
+uzp1   p15.d, p15.d, p15.d
+uzp1   p15.h, p15.h, p15.h
+uzp1   p15.s, p15.s, p15.s
+uzp1   z31.b, z31.b, z31.b
+uzp1   z31.d, z31.d, z31.d
+uzp1   z31.h, z31.h, z31.h
+uzp1   z31.s, z31.s, z31.s
+uzp2   p15.b, p15.b, p15.b
+uzp2   p15.d, p15.d, p15.d
+uzp2   p15.h, p15.h, p15.h
+uzp2   p15.s, p15.s, p15.s
+uzp2   z31.b, z31.b, z31.b
+uzp2   z31.d, z31.d, z31.d
+uzp2   z31.h, z31.h, z31.h
+uzp2   z31.s, z31.s, z31.s
+wrffr  p0.b
+wrffr  p15.b
+zip1   p0.b, p0.b, p0.b
+zip1   p0.d, p0.d, p0.d
+zip1   p0.h, p0.h, p0.h
+zip1   p0.s, p0.s, p0.s
+zip1   p15.b, p15.b, p15.b
+zip1   p15.d, p15.d, p15.d
+zip1   p15.h, p15.h, p15.h
+zip1   p15.s, p15.s, p15.s
+zip1   z0.b, z0.b, z0.b
+zip1   z0.d, z0.d, z0.d
+zip1   z0.h, z0.h, z0.h
+zip1   z0.s, z0.s, z0.s
+zip1   z31.b, z31.b, z31.b
+zip1   z31.d, z31.d, z31.d
+zip1   z31.h, z31.h, z31.h
+zip1   z31.s, z31.s, z31.s
+zip2   p0.b, p0.b, p0.b
+zip2   p0.d, p0.d, p0.d
+zip2   p0.h, p0.h, p0.h
+zip2   p0.s, p0.s, p0.s
+zip2   p15.b, p15.b, p15.b
+zip2   p15.d, p15.d, p15.d
+zip2   p15.h, p15.h, p15.h
+zip2   p15.s, p15.s, p15.s
+zip2   z0.b, z0.b, z0.b
+zip2   z0.d, z0.d, z0.d
+zip2   z0.h, z0.h, z0.h
+zip2   z0.s, z0.s, z0.s
+zip2   z31.b, z31.b, z31.b
+zip2   z31.d, z31.d, z31.d
+zip2   z31.h, z31.h, z31.h
+zip2   z31.s, z31.s, z31.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                        abs    z0.b, p0/m, z0.b
+# CHECK-NEXT:  1      4     0.50                        abs    z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        abs    z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      4     0.50                        abs    z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      4     0.50                        abs    z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     0.50                        abs    z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        abs    z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        abs    z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        add    z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        add    z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        add    z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        add    z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        add    z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        add    z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        add    z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        add    z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        add    z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        add    z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        add    z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        add    z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        add    z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        add    z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        add    z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        add    z0.s, z1.s, z2.s
+# CHECK-NEXT:  1      4     0.50                        add    z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT:  1      4     0.50                        add    z21.b, z10.b, z21.b
+# CHECK-NEXT:  1      4     0.50                        add    z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT:  1      4     0.50                        add    z21.d, z10.d, z21.d
+# CHECK-NEXT:  1      4     0.50                        add    z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT:  1      4     0.50                        add    z21.h, z10.h, z21.h
+# CHECK-NEXT:  1      4     0.50                        add    z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT:  1      4     0.50                        add    z21.s, z10.s, z21.s
+# CHECK-NEXT:  1      4     0.50                        add    z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT:  1      4     0.50                        add    z23.b, z13.b, z8.b
+# CHECK-NEXT:  1      4     0.50                        add    z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT:  1      4     0.50                        add    z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      4     0.50                        add    z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT:  1      4     0.50                        add    z23.h, z13.h, z8.h
+# CHECK-NEXT:  1      4     0.50                        add    z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT:  1      4     0.50                        add    z23.s, z13.s, z8.s
+# CHECK-NEXT:  1      4     0.50                        add    z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        add    z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        add    z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        add    z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        add    z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     0.50                        add    z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        add    z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        add    z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     0.50                        add    z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        add    z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        add    z31.s, z31.s, #65280
+# CHECK-NEXT:  1      4     0.50                        add    z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      1     0.50                  U     addpl  sp, sp, #31
+# CHECK-NEXT:  1      1     0.50                  U     addpl  x0, x0, #-32
+# CHECK-NEXT:  1      1     0.50                  U     addpl  x21, x21, #0
+# CHECK-NEXT:  1      1     0.50                  U     addpl  x23, x8, #-1
+# CHECK-NEXT:  1      1     0.50                        addvl  sp, sp, #31
+# CHECK-NEXT:  1      1     0.50                        addvl  x0, x0, #-32
+# CHECK-NEXT:  1      1     0.50                        addvl  x21, x21, #0
+# CHECK-NEXT:  1      1     0.50                        addvl  x23, x8, #-1
+# CHECK-NEXT:  2      5     2.00                        adr    z0.d, [z0.d, z0.d, lsl #1]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.d, [z0.d, z0.d, lsl #2]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.d, [z0.d, z0.d, lsl #3]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, sxtw #1]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, sxtw #2]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, sxtw #3]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, sxtw]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, uxtw #1]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, uxtw #2]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, uxtw #3]
+# CHECK-NEXT:  1      4     0.50                        adr    z0.d, [z0.d, z0.d, uxtw]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.d, [z0.d, z0.d]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.s, [z0.s, z0.s, lsl #1]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.s, [z0.s, z0.s, lsl #2]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.s, [z0.s, z0.s, lsl #3]
+# CHECK-NEXT:  2      5     2.00                        adr    z0.s, [z0.s, z0.s]
+# CHECK-NEXT:  1      3     1.00                        and    p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      4     1.00                        and    z0.d, z0.d, #0x6
+# CHECK-NEXT:  1      4     1.00                        and    z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      4     0.50                        and    z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        and    z0.s, z0.s, #0x6
+# CHECK-NEXT:  1      4     1.00                        and    z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  1      4     0.50                        and    z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      4     1.00                        and    z23.h, z23.h, #0x6
+# CHECK-NEXT:  1      4     1.00                        and    z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  1      4     0.50                        and    z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        and    z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        and    z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        and    z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        and    z5.b, z5.b, #0x6
+# CHECK-NEXT:  1      4     1.00                        and    z5.b, z5.b, #0xf9
+# CHECK-NEXT:  1      3     1.00                  U     ands   p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  10     46    5.00                        andv   b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        andv   d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        andv   h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        andv   s0, p7, z31.s
+# CHECK-NEXT:  1      4     0.50                        asr    z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        asr    z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  1      4     0.50                        asr    z0.b, z0.b, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.b, z1.b, z2.d
+# CHECK-NEXT:  1      4     0.50                        asr    z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        asr    z0.d, z0.d, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        asr    z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  1      4     0.50                        asr    z0.h, z0.h, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.h, z1.h, z2.d
+# CHECK-NEXT:  1      4     0.50                        asr    z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        asr    z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  1      4     0.50                        asr    z0.s, z0.s, #1
+# CHECK-NEXT:  1      4     0.50                        asr    z0.s, z1.s, z2.d
+# CHECK-NEXT:  1      4     0.50                        asr    z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  1      4     0.50                        asr    z31.b, z31.b, #8
+# CHECK-NEXT:  1      4     0.50                        asr    z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  1      4     0.50                        asr    z31.d, z31.d, #64
+# CHECK-NEXT:  1      4     0.50                        asr    z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  1      4     0.50                        asr    z31.h, z31.h, #16
+# CHECK-NEXT:  1      4     0.50                        asr    z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  1      4     0.50                        asr    z31.s, z31.s, #32
+# CHECK-NEXT:  2      8     1.00                        asrd   z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  2      8     1.00                        asrd   z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  2      8     1.00                        asrd   z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  2      8     1.00                        asrd   z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  2      8     1.00                        asrd   z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  2      8     1.00                        asrd   z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  2      8     1.00                        asrd   z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  2      8     1.00                        asrd   z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  1      4     0.50                  U     asrr   z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                  U     asrr   z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                  U     asrr   z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                  U     asrr   z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      3     1.00                        bic    p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                        bic    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      4     0.50                        bic    z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        bic    z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      4     0.50                        bic    z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        bic    z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        bic    z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        bic    z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      3     1.00                  U     bics   p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     bics   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        brka   p0.b, p15/m, p15.b
+# CHECK-NEXT:  1      3     1.00                        brka   p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     brkas  p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      3     1.00                        brkb   p0.b, p15/m, p15.b
+# CHECK-NEXT:  1      3     1.00                        brkb   p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     brkbs  p0.b, p15/z, p15.b
+# CHECK-NEXT:  1      3     1.00                        brkn   p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT:  1      3     1.00                        brkn   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     brkns  p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     brkns  p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        brkpa  p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      3     1.00                        brkpa  p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     brkpas p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      3     1.00                  U     brkpas p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        brkpb  p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      3     1.00                        brkpb  p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     brkpbs p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  1      3     1.00                  U     brkpbs p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      6     1.00                  U     clasta b0, p7, b0, z31.b
+# CHECK-NEXT:  1      6     1.00                        clasta d0, p7, d0, z31.d
+# CHECK-NEXT:  1      6     1.00                        clasta h0, p7, h0, z31.h
+# CHECK-NEXT:  1      6     1.00                        clasta s0, p7, s0, z31.s
+# CHECK-NEXT:  1      29    1.00                        clasta w0, p7, w0, z31.b
+# CHECK-NEXT:  1      29    1.00                        clasta w0, p7, w0, z31.h
+# CHECK-NEXT:  1      29    1.00                        clasta w0, p7, w0, z31.s
+# CHECK-NEXT:  1      29    1.00                        clasta x0, p7, x0, z31.d
+# CHECK-NEXT:  1      6     1.00                        clasta z0.b, p7, z0.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        clasta z0.d, p7, z0.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        clasta z0.h, p7, z0.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        clasta z0.s, p7, z0.s, z31.s
+# CHECK-NEXT:  1      6     1.00                  U     clastb b0, p7, b0, z31.b
+# CHECK-NEXT:  1      6     1.00                        clastb d0, p7, d0, z31.d
+# CHECK-NEXT:  1      6     1.00                        clastb h0, p7, h0, z31.h
+# CHECK-NEXT:  1      6     1.00                        clastb s0, p7, s0, z31.s
+# CHECK-NEXT:  1      29    1.00                        clastb w0, p7, w0, z31.b
+# CHECK-NEXT:  1      29    1.00                        clastb w0, p7, w0, z31.h
+# CHECK-NEXT:  1      29    1.00                        clastb w0, p7, w0, z31.s
+# CHECK-NEXT:  1      29    1.00                        clastb x0, p7, x0, z31.d
+# CHECK-NEXT:  1      6     1.00                        clastb z0.b, p7, z0.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        clastb z0.d, p7, z0.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        clastb z0.h, p7, z0.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        clastb z0.s, p7, z0.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        cls    z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     1.00                        cls    z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     1.00                        cls    z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     1.00                        cls    z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     1.00                        clz    z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     1.00                        clz    z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     1.00                        clz    z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     1.00                        clz    z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpeq  p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmpge  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmpgt  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmphi  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmphs  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      4     1.00                        cmple  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      4     1.00                        cmplo  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  1      4     1.00                        cmpls  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      4     1.00                        cmplt  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  1      4     1.00                        cmpne  p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        cnot   z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     0.50                        cnot   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        cnot   z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        cnot   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     1.00                        cnt    z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     1.00                        cnt    z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     1.00                        cnt    z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     1.00                        cnt    z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      1     0.50                        cntb   x0
+# CHECK-NEXT:  1      1     0.50                        cntb   x0, #28
+# CHECK-NEXT:  1      1     0.50                        cntb   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        cntb   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        cntd   x0
+# CHECK-NEXT:  1      1     0.50                        cntd   x0, #28
+# CHECK-NEXT:  1      1     0.50                        cntd   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        cntd   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        cnth   x0
+# CHECK-NEXT:  1      1     0.50                        cnth   x0, #28
+# CHECK-NEXT:  1      1     0.50                        cnth   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        cnth   x0, pow2
+# CHECK-NEXT:  1      6     1.00                        cntp   x0, p15, p0.b
+# CHECK-NEXT:  1      6     1.00                        cntp   x0, p15, p0.d
+# CHECK-NEXT:  1      6     1.00                        cntp   x0, p15, p0.h
+# CHECK-NEXT:  1      6     1.00                        cntp   x0, p15, p0.s
+# CHECK-NEXT:  1      1     0.50                        cntw   x0
+# CHECK-NEXT:  1      1     0.50                        cntw   x0, #28
+# CHECK-NEXT:  1      1     0.50                        cntw   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        cntw   x0, pow2
+# CHECK-NEXT:  1      6     1.00                        compact        z31.d, p7, z31.d
+# CHECK-NEXT:  1      6     1.00                        compact        z31.s, p7, z31.s
+# CHECK-NEXT:  1      2     1.00                  U     ctermeq        w30, wzr
+# CHECK-NEXT:  1      2     1.00                  U     ctermeq        wzr, w30
+# CHECK-NEXT:  1      2     1.00                  U     ctermeq        x30, xzr
+# CHECK-NEXT:  1      2     1.00                  U     ctermeq        xzr, x30
+# CHECK-NEXT:  1      2     1.00                  U     ctermne        w30, wzr
+# CHECK-NEXT:  1      2     1.00                  U     ctermne        wzr, w30
+# CHECK-NEXT:  1      2     1.00                  U     ctermne        x30, xzr
+# CHECK-NEXT:  1      2     1.00                  U     ctermne        xzr, x30
+# CHECK-NEXT:  1      1     0.50                        decb   x0
+# CHECK-NEXT:  1      1     0.50                        decb   x0, #14
+# CHECK-NEXT:  1      1     0.50                        decb   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        decb   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        decb   x0, vl1
+# CHECK-NEXT:  1      1     0.50                        decd   x0
+# CHECK-NEXT:  1      1     0.50                        decd   x0, #14
+# CHECK-NEXT:  1      1     0.50                        decd   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        decd   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        decd   x0, vl1
+# CHECK-NEXT:  1      1     0.50                        dech   x0
+# CHECK-NEXT:  1      1     0.50                        dech   x0, #14
+# CHECK-NEXT:  1      1     0.50                        dech   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        dech   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        dech   x0, vl1
+# CHECK-NEXT:  2      7     1.00                        decp   x0, p0.b
+# CHECK-NEXT:  2      7     1.00                        decp   x0, p0.d
+# CHECK-NEXT:  2      7     1.00                        decp   x0, p0.h
+# CHECK-NEXT:  2      7     1.00                        decp   x0, p0.s
+# CHECK-NEXT:  2      7     1.00                        decp   xzr, p15.b
+# CHECK-NEXT:  2      7     1.00                        decp   xzr, p15.d
+# CHECK-NEXT:  2      7     1.00                        decp   xzr, p15.h
+# CHECK-NEXT:  2      7     1.00                        decp   xzr, p15.s
+# CHECK-NEXT:  1      12    1.00                  U     decp   z31.d, p15.d
+# CHECK-NEXT:  1      12    1.00                  U     decp   z31.h, p15.h
+# CHECK-NEXT:  1      12    1.00                  U     decp   z31.s, p15.s
+# CHECK-NEXT:  1      1     0.50                        decw   x0
+# CHECK-NEXT:  1      1     0.50                        decw   x0, #14
+# CHECK-NEXT:  1      1     0.50                        decw   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        decw   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        decw   x0, vl1
+# CHECK-NEXT:  1      4     1.00                        dupm   z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      4     1.00                        dupm   z0.s, #0xfffffff9
+# CHECK-NEXT:  1      4     1.00                        dupm   z23.h, #0xfff9
+# CHECK-NEXT:  1      4     1.00                        dupm   z5.b, #0xf9
+# CHECK-NEXT:  1      3     1.00                        eor    p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      4     1.00                        eor    z0.d, z0.d, #0x6
+# CHECK-NEXT:  1      4     1.00                        eor    z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      4     0.50                        eor    z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        eor    z0.s, z0.s, #0x6
+# CHECK-NEXT:  1      4     1.00                        eor    z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  1      4     0.50                        eor    z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      4     1.00                        eor    z23.h, z23.h, #0x6
+# CHECK-NEXT:  1      4     1.00                        eor    z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  1      4     0.50                        eor    z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        eor    z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        eor    z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        eor    z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        eor    z5.b, z5.b, #0x6
+# CHECK-NEXT:  1      4     1.00                        eor    z5.b, z5.b, #0xf9
+# CHECK-NEXT:  1      3     1.00                  U     eors   p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  10     46    5.00                        eorv   b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        eorv   d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        eorv   h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        eorv   s0, p7, z31.s
+# CHECK-NEXT:  1      6     1.00                        ext    z31.b, z31.b, z0.b, #0
+# CHECK-NEXT:  1      6     1.00                        ext    z31.b, z31.b, z0.b, #255
+# CHECK-NEXT:  1      9     0.50                        fabd   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fabd   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fabd   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        fabs   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        fabs   z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        fabs   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        facge  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     0.50                        facge  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        facge  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     0.50                        facge  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        facge  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      4     0.50                        facge  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        facgt  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     0.50                        facgt  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        facgt  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     0.50                        facgt  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        facgt  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      4     0.50                        facgt  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      9     1.00                        fadd   z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  1      9     0.50                        fadd   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fadd   z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      9     1.00                        fadd   z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  1      9     0.50                        fadd   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fadd   z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      9     1.00                        fadd   z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  1      9     0.50                        fadd   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fadd   z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      9     1.00                        fadd   z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      9     1.00                        fadd   z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      9     1.00                        fadd   z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  15     108   7.50                        fadda  d0, p7, d0, z31.d
+# CHECK-NEXT:  63     468   31.50                       fadda  h0, p7, h0, z31.h
+# CHECK-NEXT:  31     228   15.50                       fadda  s0, p7, s0, z31.s
+# CHECK-NEXT:  7      45    3.50                        faddv  d0, p7, z31.d
+# CHECK-NEXT:  11     75    5.50                        faddv  h0, p7, z31.h
+# CHECK-NEXT:  9      60    4.50                        faddv  s0, p7, z31.s
+# CHECK-NEXT:  2      15    1.00                        fcadd  z0.d, p0/m, z0.d, z0.d, #90
+# CHECK-NEXT:  2      15    1.00                        fcadd  z0.h, p0/m, z0.h, z0.h, #90
+# CHECK-NEXT:  2      15    1.00                        fcadd  z0.s, p0/m, z0.s, z0.s, #90
+# CHECK-NEXT:  2      15    1.00                        fcadd  z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT:  2      15    1.00                        fcadd  z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT:  2      15    1.00                        fcadd  z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT:  1      4     1.00                        fcmeq  p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmeq  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     1.00                        fcmeq  p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmeq  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     1.00                        fcmeq  p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmeq  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      4     1.00                        fcmge  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      4     1.00                        fcmgt  p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.d, p0/m, z0.d, z0.d, #0
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.d, p0/m, z1.d, z2.d, #90
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.h, p0/m, z0.h, z0.h, #0
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.h, p0/m, z1.h, z2.h, #90
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.h, z0.h, z0.h[0], #0
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.s, p0/m, z0.s, z0.s, #0
+# CHECK-NEXT:  3      15    1.50                        fcmla  z0.s, p0/m, z1.s, z2.s, #90
+# CHECK-NEXT:  3      15    1.50                        fcmla  z21.s, z10.s, z5.s[1], #90
+# CHECK-NEXT:  3      15    1.50                        fcmla  z23.s, z13.s, z8.s[0], #270
+# CHECK-NEXT:  3      15    1.50                        fcmla  z29.d, p7/m, z30.d, z31.d, #180
+# CHECK-NEXT:  3      15    1.50                        fcmla  z29.h, p7/m, z30.h, z31.h, #180
+# CHECK-NEXT:  3      15    1.50                        fcmla  z29.s, p7/m, z30.s, z31.s, #180
+# CHECK-NEXT:  3      15    1.50                        fcmla  z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT:  3      15    1.50                        fcmla  z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT:  3      15    1.50                        fcmla  z31.h, z31.h, z7.h[3], #270
+# CHECK-NEXT:  3      15    1.50                        fcmla  z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT:  1      4     1.00                        fcmle  p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmle  p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmle  p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmlt  p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmlt  p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmlt  p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmne  p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmne  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     1.00                        fcmne  p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmne  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     1.00                        fcmne  p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  1      4     1.00                        fcmne  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      4     1.00                        fcmuo  p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  1      4     1.00                        fcmuo  p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  1      4     1.00                        fcmuo  p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  1      9     0.50                        fcvt   z0.d, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvt   z0.d, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        fcvt   z0.h, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        fcvt   z0.h, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        fcvt   z0.s, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        fcvt   z0.s, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.d, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.d, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.s, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.s, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzs z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.d, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.d, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.s, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.s, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        fcvtzu z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      154   154.00                      fdiv   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      134   134.00                      fdiv   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      98    98.00                       fdiv   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      154   154.00                      fdivr  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      134   134.00                      fdivr  z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      98    98.00                       fdivr  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        fexpa  z0.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        fexpa  z0.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        fexpa  z0.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fmad   z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fmad   z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fmad   z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        fmax   z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmax   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        fmax   z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmax   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        fmax   z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmax   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        fmax   z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmax   z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmax   z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmaxnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmaxnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        fmaxnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmaxnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        fmaxnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmaxnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        fmaxnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmaxnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmaxnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  11     54    5.50                        fmaxnmv        d0, p7, z31.d
+# CHECK-NEXT:  11     54    5.50                        fmaxnmv        h0, p7, z31.h
+# CHECK-NEXT:  9      44    4.50                        fmaxnmv        s0, p7, z31.s
+# CHECK-NEXT:  11     54    5.50                        fmaxv  d0, p7, z31.d
+# CHECK-NEXT:  11     54    5.50                        fmaxv  h0, p7, z31.h
+# CHECK-NEXT:  9      44    4.50                        fmaxv  s0, p7, z31.s
+# CHECK-NEXT:  1      4     1.00                        fmin   z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmin   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        fmin   z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmin   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        fmin   z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  1      4     0.50                        fmin   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        fmin   z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmin   z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      4     1.00                        fmin   z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  1      4     1.00                        fminnm z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  1      4     0.50                        fminnm z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        fminnm z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  1      4     0.50                        fminnm z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        fminnm z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  1      4     0.50                        fminnm z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        fminnm z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      4     1.00                        fminnm z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      4     1.00                        fminnm z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  11     54    5.50                        fminnmv        d0, p7, z31.d
+# CHECK-NEXT:  11     54    5.50                        fminnmv        h0, p7, z31.h
+# CHECK-NEXT:  9      44    4.50                        fminnmv        s0, p7, z31.s
+# CHECK-NEXT:  11     54    5.50                        fminv  d0, p7, z31.d
+# CHECK-NEXT:  11     54    5.50                        fminv  h0, p7, z31.h
+# CHECK-NEXT:  9      44    4.50                        fminv  s0, p7, z31.s
+# CHECK-NEXT:  1      9     0.50                        fmla   z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  2      15    1.00                        fmla   z0.d, z1.d, z7.d[1]
+# CHECK-NEXT:  1      9     0.50                        fmla   z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  2      15    1.00                        fmla   z0.h, z1.h, z7.h[7]
+# CHECK-NEXT:  1      9     0.50                        fmla   z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  2      15    1.00                        fmla   z0.s, z1.s, z7.s[3]
+# CHECK-NEXT:  1      9     0.50                        fmls   z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  2      15    1.00                        fmls   z0.d, z1.d, z7.d[1]
+# CHECK-NEXT:  1      9     0.50                        fmls   z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  2      15    1.00                        fmls   z0.h, z1.h, z7.h[7]
+# CHECK-NEXT:  1      9     0.50                        fmls   z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  2      15    1.00                        fmls   z0.s, z1.s, z7.s[3]
+# CHECK-NEXT:  1      6     1.00                        fmov   z0.d, #-10.00000000
+# CHECK-NEXT:  1      6     1.00                        fmov   z0.d, #0.12500000
+# CHECK-NEXT:  1      4     1.00                  U     fmov   z0.d, p0/m, #-10.00000000
+# CHECK-NEXT:  1      4     1.00                  U     fmov   z0.d, p0/m, #0.12500000
+# CHECK-NEXT:  1      6     1.00                        fmov   z0.h, #-0.12500000
+# CHECK-NEXT:  1      4     1.00                  U     fmov   z0.h, p0/m, #-0.12500000
+# CHECK-NEXT:  1      6     1.00                        fmov   z0.s, #-0.12500000
+# CHECK-NEXT:  1      4     1.00                  U     fmov   z0.s, p0/m, #-0.12500000
+# CHECK-NEXT:  1      9     0.50                        fmsb   z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fmsb   z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fmsb   z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  2      15    1.00                        fmul   z0.d, z0.d, z0.d[0]
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  2      15    1.00                        fmul   z0.h, z0.h, z0.h[0]
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  2      15    1.00                        fmul   z0.s, z0.s, z0.s[0]
+# CHECK-NEXT:  1      9     0.50                        fmul   z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fmul   z31.d, p7/m, z31.d, #2.0
+# CHECK-NEXT:  2      15    1.00                        fmul   z31.d, z31.d, z15.d[1]
+# CHECK-NEXT:  1      9     0.50                        fmul   z31.h, p7/m, z31.h, #2.0
+# CHECK-NEXT:  2      15    1.00                        fmul   z31.h, z31.h, z7.h[7]
+# CHECK-NEXT:  1      9     0.50                        fmul   z31.s, p7/m, z31.s, #2.0
+# CHECK-NEXT:  2      15    1.00                        fmul   z31.s, z31.s, z7.s[3]
+# CHECK-NEXT:  1      9     0.50                        fmulx  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fmulx  z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fmulx  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        fneg   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        fneg   z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        fneg   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        fnmad  z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fnmad  z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fnmad  z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fnmla  z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fnmla  z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fnmla  z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fnmls  z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fnmls  z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fnmls  z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fnmsb  z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fnmsb  z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fnmsb  z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        frecpe z0.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        frecpe z0.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        frecpe z0.s, z31.s
+# CHECK-NEXT:  1      9     1.00                        frecps z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      9     1.00                        frecps z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      9     1.00                        frecps z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        frecpx z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        frecpx z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        frecpx z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frinta z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frinta z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frinta z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frinti z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frinti z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frinti z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frintm z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frintm z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frintm z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frintn z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frintn z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frintn z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frintp z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frintp z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frintp z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frintx z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frintx z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frintx z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     0.50                        frintz z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      9     0.50                        frintz z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      9     0.50                        frintz z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        frsqrte        z0.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        frsqrte        z0.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        frsqrte        z0.s, z31.s
+# CHECK-NEXT:  1      9     1.00                        frsqrts        z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      9     1.00                        frsqrts        z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      9     1.00                        frsqrts        z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fscale z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fscale z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fscale z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      154   154.00                      fsqrt  z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      134   134.00                      fsqrt  z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      98    98.00                       fsqrt  z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      9     1.00                        fsub   z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  1      9     0.50                        fsub   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        fsub   z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      9     1.00                        fsub   z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  1      9     0.50                        fsub   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        fsub   z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      9     1.00                        fsub   z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  1      9     0.50                        fsub   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        fsub   z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      9     1.00                        fsub   z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      9     1.00                        fsub   z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      9     1.00                        fsub   z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  1      9     1.00                        fsubr  z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  1      9     0.50                        fsubr  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     1.00                        fsubr  z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  1      9     0.50                        fsubr  z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     1.00                        fsubr  z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  1      9     0.50                        fsubr  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      9     1.00                        fsubr  z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  1      9     1.00                        fsubr  z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  1      9     1.00                        fsubr  z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  1      9     0.50                        ftmad  z0.d, z0.d, z31.d, #7
+# CHECK-NEXT:  1      9     0.50                        ftmad  z0.h, z0.h, z31.h, #7
+# CHECK-NEXT:  1      9     0.50                        ftmad  z0.s, z0.s, z31.s, #7
+# CHECK-NEXT:  1      9     0.50                        ftsmul z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        ftsmul z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        ftsmul z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        ftssel z0.d, z1.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        ftssel z0.h, z1.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        ftssel z0.s, z1.s, z31.s
+# CHECK-NEXT:  1      1     0.50                        incb   x0
+# CHECK-NEXT:  1      1     0.50                        incb   x0, #14
+# CHECK-NEXT:  1      1     0.50                        incb   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        incb   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        incb   x0, vl1
+# CHECK-NEXT:  1      1     0.50                        incd   x0
+# CHECK-NEXT:  1      1     0.50                        incd   x0, #14
+# CHECK-NEXT:  1      1     0.50                        incd   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        incd   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        incd   x0, vl1
+# CHECK-NEXT:  1      4     0.50                        incd   z0.d
+# CHECK-NEXT:  1      4     0.50                        incd   z0.d, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        inch   x0
+# CHECK-NEXT:  1      1     0.50                        inch   x0, #14
+# CHECK-NEXT:  1      1     0.50                        inch   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        inch   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        inch   x0, vl1
+# CHECK-NEXT:  1      4     0.50                        inch   z0.h
+# CHECK-NEXT:  1      4     0.50                        inch   z0.h, all, mul #16
+# CHECK-NEXT:  2      7     1.00                        incp   x0, p0.b
+# CHECK-NEXT:  2      7     1.00                        incp   x0, p0.d
+# CHECK-NEXT:  2      7     1.00                        incp   x0, p0.h
+# CHECK-NEXT:  2      7     1.00                        incp   x0, p0.s
+# CHECK-NEXT:  2      7     1.00                        incp   xzr, p15.b
+# CHECK-NEXT:  2      7     1.00                        incp   xzr, p15.d
+# CHECK-NEXT:  2      7     1.00                        incp   xzr, p15.h
+# CHECK-NEXT:  2      7     1.00                        incp   xzr, p15.s
+# CHECK-NEXT:  1      12    1.00                  U     incp   z31.d, p15.d
+# CHECK-NEXT:  1      12    1.00                  U     incp   z31.h, p15.h
+# CHECK-NEXT:  1      12    1.00                  U     incp   z31.s, p15.s
+# CHECK-NEXT:  1      1     0.50                        incw   x0
+# CHECK-NEXT:  1      1     0.50                        incw   x0, #14
+# CHECK-NEXT:  1      1     0.50                        incw   x0, all, mul #16
+# CHECK-NEXT:  1      1     0.50                        incw   x0, pow2
+# CHECK-NEXT:  1      1     0.50                        incw   x0, vl1
+# CHECK-NEXT:  1      4     0.50                        incw   z0.s
+# CHECK-NEXT:  1      4     0.50                        incw   z0.s, all, mul #16
+# CHECK-NEXT:  2      13    2.00                        index  z0.b, #0, #0
+# CHECK-NEXT:  1      9     1.00                        index  z0.d, #0, #0
+# CHECK-NEXT:  2      13    2.00                        index  z0.h, #0, #0
+# CHECK-NEXT:  3      17    2.00                        index  z0.h, w0, w0
+# CHECK-NEXT:  1      9     1.00                        index  z0.s, #0, #0
+# CHECK-NEXT:  3      17    2.00                        index  z21.b, w10, w21
+# CHECK-NEXT:  2      17    2.00                        index  z21.d, x10, x21
+# CHECK-NEXT:  2      17    2.00                        index  z21.s, w10, w21
+# CHECK-NEXT:  2      17    2.00                        index  z23.b, #13, w8
+# CHECK-NEXT:  2      17    2.00                        index  z23.b, w13, #8
+# CHECK-NEXT:  1      13    1.00                        index  z23.d, #13, x8
+# CHECK-NEXT:  1      13    1.00                        index  z23.d, x13, #8
+# CHECK-NEXT:  2      17    2.00                        index  z23.h, #13, w8
+# CHECK-NEXT:  2      17    2.00                        index  z23.h, w13, #8
+# CHECK-NEXT:  1      13    1.00                        index  z23.s, #13, w8
+# CHECK-NEXT:  1      13    1.00                        index  z23.s, w13, #8
+# CHECK-NEXT:  2      13    2.00                        index  z31.b, #-1, #-1
+# CHECK-NEXT:  2      17    2.00                        index  z31.b, #-1, wzr
+# CHECK-NEXT:  2      17    2.00                        index  z31.b, wzr, #-1
+# CHECK-NEXT:  3      17    2.00                        index  z31.b, wzr, wzr
+# CHECK-NEXT:  1      9     1.00                        index  z31.d, #-1, #-1
+# CHECK-NEXT:  1      13    1.00                        index  z31.d, #-1, xzr
+# CHECK-NEXT:  1      13    1.00                        index  z31.d, xzr, #-1
+# CHECK-NEXT:  2      17    2.00                        index  z31.d, xzr, xzr
+# CHECK-NEXT:  2      13    2.00                        index  z31.h, #-1, #-1
+# CHECK-NEXT:  2      17    2.00                        index  z31.h, #-1, wzr
+# CHECK-NEXT:  2      17    2.00                        index  z31.h, wzr, #-1
+# CHECK-NEXT:  3      17    2.00                        index  z31.h, wzr, wzr
+# CHECK-NEXT:  1      9     1.00                        index  z31.s, #-1, #-1
+# CHECK-NEXT:  1      13    1.00                        index  z31.s, #-1, wzr
+# CHECK-NEXT:  1      13    1.00                        index  z31.s, wzr, #-1
+# CHECK-NEXT:  2      17    2.00                        index  z31.s, wzr, wzr
+# CHECK-NEXT:  1      10    1.00                        insr   z0.b, w0
+# CHECK-NEXT:  1      10    1.00                        insr   z0.d, x0
+# CHECK-NEXT:  1      10    1.00                        insr   z0.h, w0
+# CHECK-NEXT:  1      10    1.00                        insr   z0.s, w0
+# CHECK-NEXT:  1      6     1.00                        insr   z31.b, b31
+# CHECK-NEXT:  1      10    1.00                        insr   z31.b, wzr
+# CHECK-NEXT:  1      6     1.00                        insr   z31.d, d31
+# CHECK-NEXT:  1      10    1.00                        insr   z31.d, xzr
+# CHECK-NEXT:  1      6     1.00                        insr   z31.h, h31
+# CHECK-NEXT:  1      10    1.00                        insr   z31.h, wzr
+# CHECK-NEXT:  1      6     1.00                        insr   z31.s, s31
+# CHECK-NEXT:  1      10    1.00                        insr   z31.s, wzr
+# CHECK-NEXT:  1      6     1.00                  U     lasta  b0, p7, z31.b
+# CHECK-NEXT:  1      6     1.00                        lasta  d0, p7, z31.d
+# CHECK-NEXT:  1      6     1.00                        lasta  h0, p7, z31.h
+# CHECK-NEXT:  1      6     1.00                        lasta  s0, p7, z31.s
+# CHECK-NEXT:  1      29    1.00                        lasta  w0, p7, z31.b
+# CHECK-NEXT:  1      29    1.00                        lasta  w0, p7, z31.h
+# CHECK-NEXT:  1      29    1.00                        lasta  w0, p7, z31.s
+# CHECK-NEXT:  1      29    1.00                        lasta  x0, p7, z31.d
+# CHECK-NEXT:  1      6     1.00                  U     lastb  b0, p7, z31.b
+# CHECK-NEXT:  1      6     1.00                        lastb  d0, p7, z31.d
+# CHECK-NEXT:  1      6     1.00                        lastb  h0, p7, z31.h
+# CHECK-NEXT:  1      6     1.00                        lastb  s0, p7, z31.s
+# CHECK-NEXT:  1      29    1.00                        lastb  w0, p7, z31.b
+# CHECK-NEXT:  1      29    1.00                        lastb  w0, p7, z31.h
+# CHECK-NEXT:  1      29    1.00                        lastb  w0, p7, z31.s
+# CHECK-NEXT:  1      29    1.00                        lastb  x0, p7, z31.d
+# CHECK-NEXT:  1      11    0.50    *                   ld1b   { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1b   { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1b   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1b   { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1b   { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1b   { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1b   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1b   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ld1b   { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT:  1      11    0.50    *                   ld1b   { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1b   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1b   { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1b   { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1b   { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  1      11    0.50    *                   ld1b   { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1d   { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1d   { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1d   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1d   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1d   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1d   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1d   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *                   ld1d   { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT:  1      11    0.50    *                   ld1d   { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1d   { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1d   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1d   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1d   { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1h   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1h   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1h   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1h   { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1h   { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1h   { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1h   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1h   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ld1h   { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *                   ld1h   { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1h   { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1h   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1h   { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1h   { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1h   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1h   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1h   { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  1      11    0.50    *                   ld1h   { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *                   ld1h   { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rb  { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rd  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rd  { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rh  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rh  { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rh  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rh  { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rh  { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rh  { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rqb { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqb { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqb { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqb { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqb { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rqd { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqd { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqd { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqd { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqd { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rqh { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqh { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqh { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqh { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqh { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rqw { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqw { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqw { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqw { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT:  1      11    0.50    *                   ld1rqw { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsb { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsb { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsb { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsb { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsb { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsb { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsh { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsh { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsh { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsh { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsw { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rsw { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rw  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rw  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rw  { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1rw  { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1sb  { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sb  { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sb  { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1sb  { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1sb  { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sb  { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sb  { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sb  { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sb  { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sb  { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1sb  { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sb  { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1sb  { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sh  { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sh  { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sh  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1sh  { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1sh  { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1sh  { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sh  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1sh  { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sh  { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sh  { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sh  { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sh  { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sh  { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sh  { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sh  { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sh  { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sh  { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sh  { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1sh  { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sh  { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1sh  { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1sh  { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1sh  { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sw  { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sw  { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sw  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1sw  { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sw  { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sw  { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sw  { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sw  { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *                   ld1sw  { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sw  { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1sw  { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1sw  { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1sw  { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1w   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1w   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1w   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1w   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1w   { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1w   { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1w   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1w   { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1w   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1w   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1w   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *                   ld1w   { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1w   { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ld1w   { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *                   ld1w   { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1w   { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1w   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      20    2.00    *             U     ld1w   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      16    2.00    *             U     ld1w   { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  1      11    0.50    *             U     ld1w   { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1w   { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT:  1      23    4.00    *             U     ld1w   { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT:  1      19    4.00    *             U     ld1w   { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2b   { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2b   { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2b   { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2b   { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2b   { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT:  3      12    1.50    *             U     ld2d   { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  2      11    1.00    *             U     ld2d   { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT:  2      11    1.00    *             U     ld2d   { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  2      11    1.00    *             U     ld2d   { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  3      12    1.50    *             U     ld2d   { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2h   { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2h   { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2h   { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2h   { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  3      15    4.50    *             U     ld2h   { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  3      12    1.50    *             U     ld2w   { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  2      11    1.00    *             U     ld2w   { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT:  2      11    1.00    *             U     ld2w   { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  2      11    1.00    *             U     ld2w   { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  3      12    1.50    *             U     ld2w   { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3b   { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3b   { z0.b, z1.b, z2.b }, p0/z, [x0]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3b   { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3b   { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3b   { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT:  4      12    2.00    *             U     ld3d   { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  3      11    1.50    *             U     ld3d   { z0.d, z1.d, z2.d }, p0/z, [x0]
+# CHECK-NEXT:  3      11    1.50    *             U     ld3d   { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  3      11    1.50    *             U     ld3d   { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  4      12    2.00    *             U     ld3d   { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3h   { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3h   { z0.h, z1.h, z2.h }, p0/z, [x0]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3h   { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3h   { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  4      15    6.50    *             U     ld3h   { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  4      12    2.00    *             U     ld3w   { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  3      11    1.50    *             U     ld3w   { z0.s, z1.s, z2.s }, p0/z, [x0]
+# CHECK-NEXT:  3      11    1.50    *             U     ld3w   { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  3      11    1.50    *             U     ld3w   { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  4      12    2.00    *             U     ld3w   { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4b   { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4b   { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4b   { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4b   { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4b   { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT:  5      12    2.50    *             U     ld4d   { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  4      11    2.00    *             U     ld4d   { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
+# CHECK-NEXT:  4      11    2.00    *             U     ld4d   { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  4      11    2.00    *             U     ld4d   { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  5      12    2.50    *             U     ld4d   { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4h   { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4h   { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4h   { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4h   { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  5      15    8.50    *             U     ld4h   { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  5      12    2.50    *             U     ld4w   { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  4      11    2.00    *             U     ld4w   { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
+# CHECK-NEXT:  4      11    2.00    *             U     ld4w   { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  4      11    2.00    *             U     ld4w   { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  5      12    2.50    *             U     ld4w   { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1b { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1b { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1b { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1b { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1b { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1b { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z31.b }, p7/z, [sp]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1b { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1b { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z31.h }, p7/z, [sp]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1b { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1b { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1d { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1d { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1d { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1d { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1d { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1d { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1d { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1d { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1d { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1h { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1h { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1h { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1h { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1h { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1h { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1h { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1h { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1h { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1h { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1h { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1h { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1h { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1h { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1h { z31.h }, p7/z, [sp]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1h { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1h { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1h { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1h { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sb        { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1sb        { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sb        { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sb        { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1sb        { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1sb        { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1sb        { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sb        { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sb        { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sb        { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sb        { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1sb        { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sb        { z31.h }, p7/z, [sp]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sb        { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1sb        { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sh        { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sh        { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sh        { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1sh        { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sh        { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1sh        { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1sh        { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1sh        { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sh        { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sh        { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sh        { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sh        { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sh        { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1sh        { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1sh        { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1sh        { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sh        { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1sh        { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sw        { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sw        { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sw        { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1sw        { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sw        { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sw        { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sw        { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1sw        { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1sw        { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1sw        { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1w { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1w { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1w { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1w { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1w { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1w { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1w { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1w { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1w { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1w { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  1      20    2.00    *             U     ldff1w { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1w { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  1      16    2.00    *             U     ldff1w { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1w { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT:  1      23    4.00    *             U     ldff1w { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT:  1      11    0.50    *             U     ldff1w { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  1      19    4.00    *             U     ldff1w { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1d { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1h { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sb        { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sh        { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sh        { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sh        { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sh        { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sh        { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sh        { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sw        { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sw        { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1sw        { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1w { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1w { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1w { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1w { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *             U     ldnf1w { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1b { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1b { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1b { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1b { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1d { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1d { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1d { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1d { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1h { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1h { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1h { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1h { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1w { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1w { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1w { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    0.50    *                   ldnt1w { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    1.00    *                   ldr    p0, [x0]
+# CHECK-NEXT:  1      11    1.00    *                   ldr    p5, [x10, #255, mul vl]
+# CHECK-NEXT:  1      11    1.00    *                   ldr    p7, [x13, #-256, mul vl]
+# CHECK-NEXT:  1      11    1.00    *             U     ldr    z0, [x0]
+# CHECK-NEXT:  1      11    1.00    *             U     ldr    z23, [x13, #255, mul vl]
+# CHECK-NEXT:  1      11    1.00    *             U     ldr    z31, [sp, #-256, mul vl]
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.b, p0/m, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.b, z1.b, z2.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.d, p0/m, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.h, p0/m, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.h, z1.h, z2.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.s, p0/m, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        lsl    z0.s, z1.s, z2.d
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.b, p0/m, z31.b, #7
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.b, z31.b, #7
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.d, p0/m, z31.d, #63
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.d, z31.d, #63
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.h, p0/m, z31.h, #15
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.h, z31.h, #15
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.s, p0/m, z31.s, #31
+# CHECK-NEXT:  1      4     0.50                        lsl    z31.s, z31.s, #31
+# CHECK-NEXT:  1      4     0.50                  U     lslr   z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                  U     lslr   z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                  U     lslr   z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                  U     lslr   z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.b, z0.b, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.b, z1.b, z2.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.d, z0.d, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.h, z0.h, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.h, z1.h, z2.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.s, z0.s, #1
+# CHECK-NEXT:  1      4     0.50                        lsr    z0.s, z1.s, z2.d
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.b, z31.b, #8
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.d, z31.d, #64
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.h, z31.h, #16
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  1      4     0.50                        lsr    z31.s, z31.s, #32
+# CHECK-NEXT:  1      4     0.50                  U     lsrr   z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                  U     lsrr   z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                  U     lsrr   z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                  U     lsrr   z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      9     0.50                        mad    z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        mad    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        mad    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        mad    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        mla    z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        mla    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        mla    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        mla    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      9     0.50                        mls    z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        mls    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        mls    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        mls    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      3     1.00                        mov    p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                        mov    p0.b, p0/m, p0.b
+# CHECK-NEXT:  1      3     1.00                        mov    p0.b, p0/z, p0.b
+# CHECK-NEXT:  1      3     1.00                        mov    p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        mov    p15.b, p15/m, p15.b
+# CHECK-NEXT:  1      3     1.00                        mov    p15.b, p15/z, p15.b
+# CHECK-NEXT:  1      4     1.00                        mov    z0.b, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z0.b, b0
+# CHECK-NEXT:  1      6     1.00                  U     mov    z0.b, p0/m, b0
+# CHECK-NEXT:  1      8     1.00                        mov    z0.b, p0/m, w0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.b, p0/z, #127
+# CHECK-NEXT:  1      6     1.00                        mov    z0.b, w0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.d, #0xe0000000000003ff
+# CHECK-NEXT:  1      4     1.00                        mov    z0.d, #0xffffffffffff7fff
+# CHECK-NEXT:  1      4     1.00                        mov    z0.d, #32768
+# CHECK-NEXT:  1      4     1.00                        mov    z0.d, d0
+# CHECK-NEXT:  1      6     1.00                        mov    z0.d, p0/m, d0
+# CHECK-NEXT:  1      8     1.00                        mov    z0.d, p0/m, x0
+# CHECK-NEXT:  1      6     1.00                        mov    z0.d, x0
+# CHECK-NEXT:  1      4     0.50                        mov    z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, #-256
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, #32767
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, h0
+# CHECK-NEXT:  1      6     1.00                        mov    z0.h, p0/m, h0
+# CHECK-NEXT:  1      8     1.00                        mov    z0.h, p0/m, w0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.h, p0/z, #32512
+# CHECK-NEXT:  1      6     1.00                        mov    z0.h, w0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.q, q0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.s, #0xffff7fff
+# CHECK-NEXT:  1      4     1.00                        mov    z0.s, #32768
+# CHECK-NEXT:  1      6     1.00                        mov    z0.s, p0/m, s0
+# CHECK-NEXT:  1      8     1.00                        mov    z0.s, p0/m, w0
+# CHECK-NEXT:  1      4     1.00                        mov    z0.s, s0
+# CHECK-NEXT:  1      6     1.00                        mov    z0.s, w0
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, p0/z, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, p0/z, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, p0/z, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, p0/z, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, p15/m, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.d, p15/m, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, p0/z, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, p0/z, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, p0/z, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, p0/z, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, p15/m, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.h, p15/m, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, p0/z, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, p0/z, #-32768
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, p0/z, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, p0/z, #32512
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, p15/m, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z21.s, p15/m, #-32768
+# CHECK-NEXT:  1      4     0.50                        mov    z31.b, p15/m, z31.b
+# CHECK-NEXT:  1      6     1.00                  U     mov    z31.b, p7/m, b31
+# CHECK-NEXT:  1      1     0.17                  U     movprfx        z31, z6
+# CHECK-NEXT:  1      8     1.00                        mov    z31.b, p7/m, wsp
+# CHECK-NEXT:  1      6     1.00                        mov    z31.b, wsp
+# CHECK-NEXT:  1      4     1.00                        mov    z31.b, z31.b[63]
+# CHECK-NEXT:  1      4     0.50                        mov    z31.d, p15/m, z31.d
+# CHECK-NEXT:  1      6     1.00                        mov    z31.d, p7/m, d31
+# CHECK-NEXT:  1      1     0.17                  U     movprfx        z31.d, p7/z, z6.d
+# CHECK-NEXT:  1      8     1.00                        mov    z31.d, p7/m, sp
+# CHECK-NEXT:  1      6     1.00                        mov    z31.d, sp
+# CHECK-NEXT:  1      4     0.50                        mov    z31.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        mov    z31.d, z31.d[7]
+# CHECK-NEXT:  1      4     0.50                        mov    z31.h, p15/m, z31.h
+# CHECK-NEXT:  1      6     1.00                        mov    z31.h, p7/m, h31
+# CHECK-NEXT:  1      8     1.00                        mov    z31.h, p7/m, wsp
+# CHECK-NEXT:  1      6     1.00                        mov    z31.h, wsp
+# CHECK-NEXT:  1      4     1.00                        mov    z31.h, z31.h[31]
+# CHECK-NEXT:  1      4     0.50                        mov    z31.s, p15/m, z31.s
+# CHECK-NEXT:  1      6     1.00                        mov    z31.s, p7/m, s31
+# CHECK-NEXT:  1      8     1.00                        mov    z31.s, p7/m, wsp
+# CHECK-NEXT:  1      6     1.00                        mov    z31.s, wsp
+# CHECK-NEXT:  1      4     1.00                        mov    z31.s, z31.s[15]
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, #-1
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, p0/z, #-1
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, p0/z, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, p0/z, #127
+# CHECK-NEXT:  1      4     1.00                        mov    z5.b, p15/m, #-128
+# CHECK-NEXT:  1      4     1.00                        mov    z5.d, #-6
+# CHECK-NEXT:  1      4     1.00                        mov    z5.h, #-6
+# CHECK-NEXT:  1      4     1.00                        mov    z5.q, z17.q[3]
+# CHECK-NEXT:  1      4     1.00                        mov    z5.s, #-6
+# CHECK-NEXT:  1      3     1.00                  U     movs   p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     movs   p0.b, p0/z, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     movs   p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     movs   p15.b, p15/z, p15.b
+# CHECK-NEXT:  1      1     0.17                  U     mrs    x3, ID_AA64ZFR0_EL1
+# CHECK-NEXT:  1      1     0.17                  U     mrs    x3, ZCR_EL1
+# CHECK-NEXT:  1      1     0.17                  U     mrs    x3, ZCR_EL12
+# CHECK-NEXT:  1      1     0.17                  U     mrs    x3, ZCR_EL2
+# CHECK-NEXT:  1      1     0.17                  U     mrs    x3, ZCR_EL3
+# CHECK-NEXT:  1      9     0.50                        msb    z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        msb    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        msb    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        msb    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  1      1     0.17                  U     msr    ZCR_EL1, x3
+# CHECK-NEXT:  1      1     0.17                  U     msr    ZCR_EL12, x3
+# CHECK-NEXT:  1      1     0.17                  U     msr    ZCR_EL2, x3
+# CHECK-NEXT:  1      1     0.17                  U     msr    ZCR_EL3, x3
+# CHECK-NEXT:  1      9     0.50                        mul    z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        mul    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        mul    z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        mul    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      9     1.00                        mul    z31.b, z31.b, #-128
+# CHECK-NEXT:  1      9     1.00                        mul    z31.b, z31.b, #127
+# CHECK-NEXT:  1      9     1.00                        mul    z31.d, z31.d, #-128
+# CHECK-NEXT:  1      9     1.00                        mul    z31.d, z31.d, #127
+# CHECK-NEXT:  1      9     1.00                        mul    z31.h, z31.h, #-128
+# CHECK-NEXT:  1      9     1.00                        mul    z31.h, z31.h, #127
+# CHECK-NEXT:  1      9     1.00                        mul    z31.s, z31.s, #-128
+# CHECK-NEXT:  1      9     1.00                        mul    z31.s, z31.s, #127
+# CHECK-NEXT:  1      3     1.00                        nand   p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                        nand   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     nands  p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     nands  p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      4     1.00                        neg    z0.b, p0/m, z0.b
+# CHECK-NEXT:  1      4     1.00                        neg    z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     1.00                        neg    z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      4     1.00                        neg    z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      4     1.00                        neg    z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     1.00                        neg    z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     1.00                        neg    z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     1.00                        neg    z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      3     1.00                        nor    p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                        nor    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     nors   p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     nors   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        not    p0.b, p0/z, p0.b
+# CHECK-NEXT:  1      3     1.00                        not    p15.b, p15/z, p15.b
+# CHECK-NEXT:  1      4     0.50                        not    z31.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     0.50                        not    z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        not    z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        not    z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      3     1.00                  U     nots   p0.b, p0/z, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     nots   p15.b, p15/z, p15.b
+# CHECK-NEXT:  1      3     1.00                        orn    p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                        orn    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                  U     orns   p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  1      3     1.00                  U     orns   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        orr    p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  1      4     1.00                        orr    z0.d, z0.d, #0x6
+# CHECK-NEXT:  1      4     1.00                        orr    z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  1      4     1.00                        orr    z0.s, z0.s, #0x6
+# CHECK-NEXT:  1      4     1.00                        orr    z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  1      4     0.50                        orr    z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      4     1.00                        orr    z23.h, z23.h, #0x6
+# CHECK-NEXT:  1      4     1.00                        orr    z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  1      4     0.50                        orr    z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        orr    z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        orr    z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        orr    z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        orr    z5.b, z5.b, #0x6
+# CHECK-NEXT:  1      4     1.00                        orr    z5.b, z5.b, #0xf9
+# CHECK-NEXT:  1      3     1.00                  U     orrs   p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  10     46    5.00                        orv    b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        orv    d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        orv    h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        orv    s0, p7, z31.s
+# CHECK-NEXT:  1      3     1.00                        pfalse p15.b
+# CHECK-NEXT:  1      3     1.00                        pfirst p0.b, p15, p0.b
+# CHECK-NEXT:  1      3     1.00                        pfirst p15.b, p15, p15.b
+# CHECK-NEXT:  1      3     1.00                        pnext  p0.b, p15, p0.b
+# CHECK-NEXT:  1      3     1.00                        pnext  p0.d, p15, p0.d
+# CHECK-NEXT:  1      3     1.00                        pnext  p0.h, p15, p0.h
+# CHECK-NEXT:  1      3     1.00                        pnext  p0.s, p15, p0.s
+# CHECK-NEXT:  1      3     1.00                        pnext  p15.b, p15, p15.b
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   #14, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   #15, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   #6, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   #7, p0, [x0]
+# CHECK-NEXT:  1      1     2.00    *      *            prfb   #7, p3, [z13.s, #31]
+# CHECK-NEXT:  1      1     2.00    *      *            prfb   #7, p3, [z13.s]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfb   pldl1keep, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfb   pldl1keep, p0, [x0, z0.d]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfb   pldl1keep, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pldl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfb   pldl3strm, p5, [x10, z21.d, sxtw]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfb   pldl3strm, p5, [x10, z21.s, uxtw]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfb   pldl3strm, p5, [z10.d, #31]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfb   pldl3strm, p5, [z10.d]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pstl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pstl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pstl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pstl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pstl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfb   pstl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   #14, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   #15, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfd   #15, p7, [z31.d, #248]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfd   #15, p7, [z31.d]
+# CHECK-NEXT:  1      1     2.00    *      *            prfd   #15, p7, [z31.s, #248]
+# CHECK-NEXT:  1      1     2.00    *      *            prfd   #15, p7, [z31.s]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   #6, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   #7, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfd   pldl1keep, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfd   pldl1keep, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfd   pldl1keep, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfd   pldl1keep, p0, [x0, z0.s, sxtw #3]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfd   pldl1keep, p0, [x0, z0.s, uxtw #3]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pldl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pstl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pstl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pstl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pstl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pstl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfd   pstl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   #14, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   #15, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfh   #15, p7, [z31.d, #62]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfh   #15, p7, [z31.d]
+# CHECK-NEXT:  1      1     2.00    *      *            prfh   #15, p7, [z31.s, #62]
+# CHECK-NEXT:  1      1     2.00    *      *            prfh   #15, p7, [z31.s]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   #6, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   #7, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfh   pldl1keep, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pldl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfh   pldl3strm, p5, [x10, z21.d, sxtw #1]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfh   pldl3strm, p5, [x10, z21.d, uxtw #1]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfh   pldl3strm, p5, [x10, z21.s, sxtw #1]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfh   pldl3strm, p5, [x10, z21.s, uxtw #1]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pstl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pstl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pstl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pstl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pstl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfh   pstl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   #14, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   #15, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfw   #15, p7, [z31.d, #124]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfw   #15, p7, [z31.d]
+# CHECK-NEXT:  1      1     2.00    *      *            prfw   #15, p7, [z31.s, #124]
+# CHECK-NEXT:  1      1     2.00    *      *            prfw   #15, p7, [z31.s]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   #6, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   #7, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfw   #7, p3, [x13, z8.d, uxtw #2]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfw   pldl1keep, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfw   pldl1keep, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pldl3strm, p0, [x0]
+# CHECK-NEXT:  1      1     1.00    *      *      U     prfw   pldl3strm, p5, [x10, z21.d, lsl #2]
+# CHECK-NEXT:  1      1     2.00    *      *      U     prfw   pldl3strm, p5, [x10, z21.s, sxtw #2]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pstl1keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pstl1strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pstl2keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pstl2strm, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pstl3keep, p0, [x0]
+# CHECK-NEXT:  1      1     0.50    *      *      U     prfw   pstl3strm, p0, [x0]
+# CHECK-NEXT:  1      3     1.00                        ptest  p15, p0.b
+# CHECK-NEXT:  1      3     1.00                        ptest  p15, p15.b
+# CHECK-NEXT:  1      3     1.00                        ptrue  p0.b, pow2
+# CHECK-NEXT:  1      3     1.00                        ptrue  p0.d, pow2
+# CHECK-NEXT:  1      3     1.00                        ptrue  p0.h, pow2
+# CHECK-NEXT:  1      3     1.00                        ptrue  p0.s, pow2
+# CHECK-NEXT:  1      3     1.00                        ptrue  p15.b
+# CHECK-NEXT:  1      3     1.00                        ptrue  p15.d
+# CHECK-NEXT:  1      3     1.00                        ptrue  p15.h
+# CHECK-NEXT:  1      3     1.00                        ptrue  p15.s
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #14
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #15
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #16
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #17
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #18
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #19
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #20
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #21
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #22
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #23
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #24
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #25
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #26
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #27
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, #28
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, mul3
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, mul4
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl1
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl128
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl16
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl2
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl256
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl3
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl32
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl4
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl5
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl6
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl64
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl7
+# CHECK-NEXT:  1      3     1.00                        ptrue  p7.s, vl8
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p0.b, pow2
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p0.d, pow2
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p0.h, pow2
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p0.s, pow2
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p15.b
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p15.d
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p15.h
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p15.s
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #14
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #15
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #16
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #17
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #18
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #19
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #20
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #21
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #22
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #23
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #24
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #25
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #26
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #27
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, #28
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, mul3
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, mul4
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl1
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl128
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl16
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl2
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl256
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl3
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl32
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl4
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl5
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl6
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl64
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl7
+# CHECK-NEXT:  1      3     1.00                  U     ptrues p7.s, vl8
+# CHECK-NEXT:  1      3     1.00                        punpkhi        p0.h, p0.b
+# CHECK-NEXT:  1      3     1.00                        punpkhi        p15.h, p15.b
+# CHECK-NEXT:  1      3     1.00                        punpklo        p0.h, p0.b
+# CHECK-NEXT:  1      3     1.00                        punpklo        p15.h, p15.b
+# CHECK-NEXT:  1      4     0.50                        rbit   z0.b, p7/m, z31.b
+# CHECK-NEXT:  1      4     0.50                        rbit   z0.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        rbit   z0.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        rbit   z0.s, p7/m, z31.s
+# CHECK-NEXT:  1      3     1.00                  U     rdffr  p0.b
+# CHECK-NEXT:  1      3     1.00                  U     rdffr  p0.b, p0/z
+# CHECK-NEXT:  1      3     1.00                  U     rdffr  p15.b
+# CHECK-NEXT:  1      3     1.00                  U     rdffr  p15.b, p15/z
+# CHECK-NEXT:  1      3     1.00                  U     rdffrs p0.b, p0/z
+# CHECK-NEXT:  1      3     1.00                  U     rdffrs p15.b, p15/z
+# CHECK-NEXT:  1      1     0.50                        rdvl   x0, #0
+# CHECK-NEXT:  1      1     0.50                        rdvl   x21, #-32
+# CHECK-NEXT:  1      1     0.50                        rdvl   x23, #31
+# CHECK-NEXT:  1      1     0.50                        rdvl   xzr, #-1
+# CHECK-NEXT:  1      6     1.00                        rev    z0.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        rev    z0.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        rev    z0.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        rev    z0.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        revb   z0.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        revb   z0.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        revb   z0.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        revh   z0.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        revh   z0.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        revw   z0.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        sabd   z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        sabd   z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        sabd   z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        sabd   z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  10     46    5.00                        saddv  d0, p7, z31.b
+# CHECK-NEXT:  9      42    4.50                        saddv  d0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        saddv  d0, p7, z31.s
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.d, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.h, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.h, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.s, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        scvtf  z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      178   178.00                      sdiv   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      114   114.00                      sdiv   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      178   178.00                      sdivr  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      114   114.00                      sdivr  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  2      15    1.00                        sdot   z0.d, z1.h, z15.h[1]
+# CHECK-NEXT:  1      9     0.50                        sdot   z0.d, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        sdot   z0.s, z1.b, z31.b
+# CHECK-NEXT:  2      15    1.00                        sdot   z0.s, z1.b, z7.b[3]
+# CHECK-NEXT:  1      4     0.50                        sel    z23.b, p11, z13.b, z8.b
+# CHECK-NEXT:  1      4     0.50                        sel    z23.d, p11, z13.d, z8.d
+# CHECK-NEXT:  1      4     0.50                        sel    z23.h, p11, z13.h, z8.h
+# CHECK-NEXT:  1      4     0.50                        sel    z23.s, p11, z13.s, z8.s
+# CHECK-NEXT:  1      1     0.17           *      U     setffr
+# CHECK-NEXT:  1      4     1.00                        smax   z0.b, z0.b, #-128
+# CHECK-NEXT:  1      4     1.00                        smax   z0.d, z0.d, #-128
+# CHECK-NEXT:  1      4     1.00                        smax   z0.h, z0.h, #-128
+# CHECK-NEXT:  1      4     1.00                        smax   z0.s, z0.s, #-128
+# CHECK-NEXT:  1      4     0.50                        smax   z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     1.00                        smax   z31.b, z31.b, #127
+# CHECK-NEXT:  1      4     0.50                        smax   z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        smax   z31.d, z31.d, #127
+# CHECK-NEXT:  1      4     0.50                        smax   z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        smax   z31.h, z31.h, #127
+# CHECK-NEXT:  1      4     0.50                        smax   z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        smax   z31.s, z31.s, #127
+# CHECK-NEXT:  10     46    5.00                        smaxv  b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        smaxv  d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        smaxv  h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        smaxv  s0, p7, z31.s
+# CHECK-NEXT:  1      4     1.00                        smin   z0.b, z0.b, #-128
+# CHECK-NEXT:  1      4     1.00                        smin   z0.d, z0.d, #-128
+# CHECK-NEXT:  1      4     1.00                        smin   z0.h, z0.h, #-128
+# CHECK-NEXT:  1      4     1.00                        smin   z0.s, z0.s, #-128
+# CHECK-NEXT:  1      4     0.50                        smin   z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     1.00                        smin   z31.b, z31.b, #127
+# CHECK-NEXT:  1      4     0.50                        smin   z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        smin   z31.d, z31.d, #127
+# CHECK-NEXT:  1      4     0.50                        smin   z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        smin   z31.h, z31.h, #127
+# CHECK-NEXT:  1      4     0.50                        smin   z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        smin   z31.s, z31.s, #127
+# CHECK-NEXT:  10     46    5.00                        sminv  b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        sminv  d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        sminv  h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        sminv  s0, p7, z31.s
+# CHECK-NEXT:  1      9     0.50                        smulh  z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        smulh  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        smulh  z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        smulh  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      6     1.00                        splice z31.b, p7, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        splice z31.d, p7, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        splice z31.h, p7, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        splice z31.s, p7, z31.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sqadd  z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        sqadd  z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        sqadd  z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     0.50                        sqadd  z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     0.50                        sqadd  z31.s, z31.s, #65280
+# CHECK-NEXT:  1      2     1.00                        sqdecb x0
+# CHECK-NEXT:  1      2     1.00                        sqdecb x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqdecb x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqdecb x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqdecb x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqdecb x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqdecb x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqdecb x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqdecb x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqdecd x0
+# CHECK-NEXT:  1      2     1.00                        sqdecd x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqdecd x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqdecd x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqdecd x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqdecd x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqdecd x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqdecd x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqdecd x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqdecd z0.d
+# CHECK-NEXT:  1      4     0.50                        sqdecd z0.d, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqdecd z0.d, pow2
+# CHECK-NEXT:  1      4     0.50                        sqdecd z0.d, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqdech x0
+# CHECK-NEXT:  1      2     1.00                        sqdech x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqdech x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqdech x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqdech x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqdech x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqdech x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqdech x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqdech x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqdech z0.h
+# CHECK-NEXT:  1      4     0.50                        sqdech z0.h, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqdech z0.h, pow2
+# CHECK-NEXT:  1      4     0.50                        sqdech z0.h, pow2, mul #16
+# CHECK-NEXT:  2      6     1.50                        sqdecp x0, p0.b
+# CHECK-NEXT:  2      6     1.50                        sqdecp x0, p0.d
+# CHECK-NEXT:  2      6     1.50                        sqdecp x0, p0.h
+# CHECK-NEXT:  2      6     1.50                        sqdecp x0, p0.s
+# CHECK-NEXT:  2      6     1.50                  U     sqdecp xzr, p15.b, wzr
+# CHECK-NEXT:  2      6     1.50                  U     sqdecp xzr, p15.d, wzr
+# CHECK-NEXT:  2      6     1.50                  U     sqdecp xzr, p15.h, wzr
+# CHECK-NEXT:  2      6     1.50                  U     sqdecp xzr, p15.s, wzr
+# CHECK-NEXT:  1      12    1.00                        sqdecp z0.d, p0.d
+# CHECK-NEXT:  1      12    1.00                        sqdecp z0.h, p0.h
+# CHECK-NEXT:  1      12    1.00                        sqdecp z0.s, p0.s
+# CHECK-NEXT:  1      2     1.00                        sqdecw x0
+# CHECK-NEXT:  1      2     1.00                        sqdecw x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqdecw x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqdecw x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqdecw x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqdecw x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqdecw x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqdecw x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqdecw x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqdecw z0.s
+# CHECK-NEXT:  1      4     0.50                        sqdecw z0.s, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqdecw z0.s, pow2
+# CHECK-NEXT:  1      4     0.50                        sqdecw z0.s, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqincb x0
+# CHECK-NEXT:  1      2     1.00                        sqincb x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqincb x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqincb x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqincb x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqincb x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqincb x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqincb x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqincb x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqincd x0
+# CHECK-NEXT:  1      2     1.00                        sqincd x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqincd x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqincd x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqincd x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqincd x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqincd x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqincd x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqincd x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqincd z0.d
+# CHECK-NEXT:  1      4     0.50                        sqincd z0.d, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqincd z0.d, pow2
+# CHECK-NEXT:  1      4     0.50                        sqincd z0.d, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqinch x0
+# CHECK-NEXT:  1      2     1.00                        sqinch x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqinch x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqinch x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqinch x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqinch x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqinch x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqinch x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqinch x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqinch z0.h
+# CHECK-NEXT:  1      4     0.50                        sqinch z0.h, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqinch z0.h, pow2
+# CHECK-NEXT:  1      4     0.50                        sqinch z0.h, pow2, mul #16
+# CHECK-NEXT:  2      6     1.50                        sqincp x0, p0.b
+# CHECK-NEXT:  2      6     1.50                        sqincp x0, p0.d
+# CHECK-NEXT:  2      6     1.50                        sqincp x0, p0.h
+# CHECK-NEXT:  2      6     1.50                        sqincp x0, p0.s
+# CHECK-NEXT:  2      6     1.50                  U     sqincp xzr, p15.b, wzr
+# CHECK-NEXT:  2      6     1.50                  U     sqincp xzr, p15.d, wzr
+# CHECK-NEXT:  2      6     1.50                  U     sqincp xzr, p15.h, wzr
+# CHECK-NEXT:  2      6     1.50                  U     sqincp xzr, p15.s, wzr
+# CHECK-NEXT:  1      12    1.00                        sqincp z0.d, p0.d
+# CHECK-NEXT:  1      12    1.00                        sqincp z0.h, p0.h
+# CHECK-NEXT:  1      12    1.00                        sqincp z0.s, p0.s
+# CHECK-NEXT:  1      2     1.00                        sqincw x0
+# CHECK-NEXT:  1      2     1.00                        sqincw x0, #14
+# CHECK-NEXT:  1      2     1.00                        sqincw x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        sqincw x0, pow2
+# CHECK-NEXT:  1      2     1.00                        sqincw x0, vl1
+# CHECK-NEXT:  1      2     1.00                  U     sqincw x0, w0
+# CHECK-NEXT:  1      2     1.00                  U     sqincw x0, w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                  U     sqincw x0, w0, pow2
+# CHECK-NEXT:  1      2     1.00                  U     sqincw x0, w0, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqincw z0.s
+# CHECK-NEXT:  1      4     0.50                        sqincw z0.s, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqincw z0.s, pow2
+# CHECK-NEXT:  1      4     0.50                        sqincw z0.s, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sqsub  z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        sqsub  z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        sqsub  z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     0.50                        sqsub  z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     0.50                        sqsub  z31.s, z31.s, #65280
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.b }, p0, [x0, x0]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.b }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.d }, p0, [x0, x0]
+# CHECK-NEXT:  4      20    4.00           *            st1b   { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1b   { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1b   { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.d }, p0, [x0]
+# CHECK-NEXT:  4      16    4.00           *            st1b   { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.h }, p0, [x0, x0]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.h }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.s }, p0, [x0, x0]
+# CHECK-NEXT:  8      20    8.00           *            st1b   { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT:  8      20    8.00           *            st1b   { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z0.s }, p0, [x0]
+# CHECK-NEXT:  8      16    12.00          *            st1b   { z0.s }, p7, [z0.s]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z21.b }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z31.b }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  4      16    4.00           *            st1b   { z31.d }, p7, [z31.d, #31]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1b   { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  8      16    12.00          *            st1b   { z31.s }, p7, [z31.s, #31]
+# CHECK-NEXT:  1      11    1.00           *            st1d   { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  4      20    4.00           *            st1d   { z0.d }, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT:  4      20    4.00           *            st1d   { z0.d }, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  4      20    4.00           *            st1d   { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1d   { z0.d }, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  4      20    4.00           *            st1d   { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1d   { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1d   { z0.d }, p0, [x0]
+# CHECK-NEXT:  4      16    4.00           *            st1d   { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1d   { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1d   { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  4      16    4.00           *            st1d   { z31.d }, p7, [z31.d, #248]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z0.d }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  4      20    4.00           *            st1h   { z0.d }, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT:  4      20    4.00           *            st1h   { z0.d }, p0, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  4      20    4.00           *            st1h   { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1h   { z0.d }, p0, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  4      20    4.00           *            st1h   { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1h   { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z0.d }, p0, [x0]
+# CHECK-NEXT:  4      16    4.00           *            st1h   { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z0.h }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z0.s }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  8      20    8.00           *            st1h   { z0.s }, p0, [x0, z0.s, sxtw #1]
+# CHECK-NEXT:  8      20    8.00           *            st1h   { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT:  8      20    8.00           *            st1h   { z0.s }, p0, [x0, z0.s, uxtw #1]
+# CHECK-NEXT:  8      20    8.00           *            st1h   { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z0.s }, p0, [x0]
+# CHECK-NEXT:  8      16    12.00          *            st1h   { z0.s }, p7, [z0.s]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  4      16    4.00           *            st1h   { z31.d }, p7, [z31.d, #62]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1h   { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  8      16    12.00          *            st1h   { z31.s }, p7, [z31.s, #62]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z0.d }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  4      20    4.00           *            st1w   { z0.d }, p0, [x0, z0.d, lsl #2]
+# CHECK-NEXT:  4      20    4.00           *            st1w   { z0.d }, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  4      20    4.00           *            st1w   { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1w   { z0.d }, p0, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  4      20    4.00           *            st1w   { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  4      20    4.00           *            st1w   { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z0.d }, p0, [x0]
+# CHECK-NEXT:  4      16    4.00           *            st1w   { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  8      20    8.00           *            st1w   { z0.s }, p0, [x0, z0.s, sxtw #2]
+# CHECK-NEXT:  8      20    8.00           *            st1w   { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT:  8      20    8.00           *            st1w   { z0.s }, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT:  8      20    8.00           *            st1w   { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z0.s }, p0, [x0]
+# CHECK-NEXT:  8      16    12.00          *            st1w   { z0.s }, p7, [z0.s]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  4      16    4.00           *            st1w   { z31.d }, p7, [z31.d, #124]
+# CHECK-NEXT:  1      11    1.00           *            st1w   { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  8      16    12.00          *            st1w   { z31.s }, p7, [z31.s, #124]
+# CHECK-NEXT:  3      12    8.00           *      U     st2b   { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT:  3      12    8.00           *      U     st2b   { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT:  3      12    8.00           *      U     st2b   { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  3      12    8.00           *      U     st2b   { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  3      12    8.00           *      U     st2b   { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT:  2      11    2.00           *      U     st2d   { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  3      12    2.00           *      U     st2d   { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT:  3      12    2.00           *      U     st2d   { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  3      12    2.00           *      U     st2d   { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  2      11    2.00           *      U     st2d   { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT:  3      12    8.00           *      U     st2h   { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  3      12    8.00           *      U     st2h   { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT:  3      12    8.00           *      U     st2h   { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  3      12    8.00           *      U     st2h   { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  3      12    8.00           *      U     st2h   { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT:  2      11    2.00           *      U     st2w   { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  3      12    2.00           *      U     st2w   { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT:  3      12    2.00           *      U     st2w   { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  3      12    2.00           *      U     st2w   { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  2      11    2.00           *      U     st2w   { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT:  4      15    12.00          *      U     st3b   { z0.b, z1.b, z2.b }, p0, [x0, x0]
+# CHECK-NEXT:  4      15    12.00          *      U     st3b   { z0.b, z1.b, z2.b }, p0, [x0]
+# CHECK-NEXT:  4      15    12.00          *      U     st3b   { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  4      15    12.00          *      U     st3b   { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  4      15    12.00          *      U     st3b   { z5.b, z6.b, z7.b }, p3, [x17, x16]
+# CHECK-NEXT:  3      11    3.00           *      U     st3d   { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  4      12    3.00           *      U     st3d   { z0.d, z1.d, z2.d }, p0, [x0]
+# CHECK-NEXT:  4      12    3.00           *      U     st3d   { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  4      12    3.00           *      U     st3d   { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  3      11    3.00           *      U     st3d   { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT:  4      15    12.00          *      U     st3h   { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  4      15    12.00          *      U     st3h   { z0.h, z1.h, z2.h }, p0, [x0]
+# CHECK-NEXT:  4      15    12.00          *      U     st3h   { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  4      15    12.00          *      U     st3h   { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  4      15    12.00          *      U     st3h   { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT:  3      11    3.00           *      U     st3w   { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  4      12    3.00           *      U     st3w   { z0.s, z1.s, z2.s }, p0, [x0]
+# CHECK-NEXT:  4      12    3.00           *      U     st3w   { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  4      12    3.00           *      U     st3w   { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  3      11    3.00           *      U     st3w   { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT:  5      15    16.00          *      U     st4b   { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
+# CHECK-NEXT:  5      15    16.00          *      U     st4b   { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
+# CHECK-NEXT:  5      15    16.00          *      U     st4b   { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  5      15    16.00          *      U     st4b   { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  5      15    16.00          *      U     st4b   { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
+# CHECK-NEXT:  4      11    4.00           *      U     st4d   { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  5      12    4.00           *      U     st4d   { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
+# CHECK-NEXT:  5      12    4.00           *      U     st4d   { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  5      12    4.00           *      U     st4d   { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  4      11    4.00           *      U     st4d   { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT:  5      15    16.00          *      U     st4h   { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  5      15    16.00          *      U     st4h   { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
+# CHECK-NEXT:  5      15    16.00          *      U     st4h   { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  5      15    16.00          *      U     st4h   { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  5      15    16.00          *      U     st4h   { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT:  4      11    4.00           *      U     st4w   { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  5      12    4.00           *      U     st4w   { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
+# CHECK-NEXT:  5      12    4.00           *      U     st4w   { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  5      12    4.00           *      U     st4w   { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  4      11    4.00           *      U     st4w   { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT:  1      11    1.00           *            stnt1b { z0.b }, p0, [x0, x0]
+# CHECK-NEXT:  1      11    1.00           *            stnt1b { z0.b }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            stnt1b { z21.b }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1b { z23.b }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1d { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  1      11    1.00           *            stnt1d { z0.d }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            stnt1d { z21.d }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1d { z23.d }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1h { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  1      11    1.00           *            stnt1h { z0.h }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            stnt1h { z21.h }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1h { z23.h }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1w { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  1      11    1.00           *            stnt1w { z0.s }, p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            stnt1w { z21.s }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            stnt1w { z23.s }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            str    p0, [x0]
+# CHECK-NEXT:  1      11    1.00           *            str    p15, [sp, #-256, mul vl]
+# CHECK-NEXT:  1      11    1.00           *            str    p5, [x10, #255, mul vl]
+# CHECK-NEXT:  1      11    1.00           *      U     str    z0, [x0]
+# CHECK-NEXT:  1      11    1.00           *      U     str    z21, [x10, #-256, mul vl]
+# CHECK-NEXT:  1      11    1.00           *      U     str    z31, [sp, #255, mul vl]
+# CHECK-NEXT:  1      4     0.50                        sub    z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        sub    z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        sub    z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        sub    z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        sub    z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        sub    z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sub    z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        sub    z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        sub    z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        sub    z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sub    z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        sub    z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        sub    z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        sub    z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        sub    z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        sub    z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT:  1      4     0.50                        sub    z21.b, z10.b, z21.b
+# CHECK-NEXT:  1      4     0.50                        sub    z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT:  1      4     0.50                        sub    z21.d, z10.d, z21.d
+# CHECK-NEXT:  1      4     0.50                        sub    z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT:  1      4     0.50                        sub    z21.h, z10.h, z21.h
+# CHECK-NEXT:  1      4     0.50                        sub    z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT:  1      4     0.50                        sub    z21.s, z10.s, z21.s
+# CHECK-NEXT:  1      4     0.50                        sub    z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT:  1      4     0.50                        sub    z23.b, z13.b, z8.b
+# CHECK-NEXT:  1      4     0.50                        sub    z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT:  1      4     0.50                        sub    z23.d, z13.d, z8.d
+# CHECK-NEXT:  1      4     0.50                        sub    z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT:  1      4     0.50                        sub    z23.h, z13.h, z8.h
+# CHECK-NEXT:  1      4     0.50                        sub    z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT:  1      4     0.50                        sub    z23.s, z13.s, z8.s
+# CHECK-NEXT:  1      4     0.50                        sub    z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     1.00                        sub    z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        sub    z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        sub    z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     1.00                        sub    z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     0.50                        sub    z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        sub    z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     1.00                        sub    z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     0.50                        sub    z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        sub    z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  1      4     1.00                        sub    z31.s, z31.s, #65280
+# CHECK-NEXT:  1      4     0.50                        sub    z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        subr   z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  1      4     1.00                        subr   z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        subr   z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  1      4     1.00                        subr   z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     1.00                        subr   z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        subr   z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  1      4     1.00                        subr   z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     1.00                        subr   z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        subr   z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  1      4     1.00                        subr   z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     1.00                        subr   z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     1.00                        subr   z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     1.00                        subr   z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     1.00                        subr   z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     1.00                        subr   z31.s, z31.s, #65280
+# CHECK-NEXT:  1      6     1.00                        sunpkhi        z31.d, z31.s
+# CHECK-NEXT:  1      6     1.00                        sunpkhi        z31.h, z31.b
+# CHECK-NEXT:  1      6     1.00                        sunpkhi        z31.s, z31.h
+# CHECK-NEXT:  1      6     1.00                        sunpklo        z31.d, z31.s
+# CHECK-NEXT:  1      6     1.00                        sunpklo        z31.h, z31.b
+# CHECK-NEXT:  1      6     1.00                        sunpklo        z31.s, z31.h
+# CHECK-NEXT:  1      4     0.50                        sxtb   z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        sxtb   z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      4     0.50                        sxtb   z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      4     0.50                        sxtb   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        sxtb   z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        sxtb   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        sxth   z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        sxth   z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      4     0.50                        sxth   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        sxth   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        sxtw   z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        sxtw   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      6     1.00                        tbl    z31.b, { z31.b }, z31.b
+# CHECK-NEXT:  1      6     1.00                        tbl    z31.d, { z31.d }, z31.d
+# CHECK-NEXT:  1      6     1.00                        tbl    z31.h, { z31.h }, z31.h
+# CHECK-NEXT:  1      6     1.00                        tbl    z31.s, { z31.s }, z31.s
+# CHECK-NEXT:  1      3     1.00                        trn1   p15.b, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        trn1   p15.d, p15.d, p15.d
+# CHECK-NEXT:  1      3     1.00                        trn1   p15.h, p15.h, p15.h
+# CHECK-NEXT:  1      3     1.00                        trn1   p15.s, p15.s, p15.s
+# CHECK-NEXT:  1      6     1.00                        trn1   z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        trn1   z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        trn1   z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        trn1   z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      3     1.00                        trn2   p15.b, p15.b, p15.b
+# CHECK-NEXT:  1      3     1.00                        trn2   p15.d, p15.d, p15.d
+# CHECK-NEXT:  1      3     1.00                        trn2   p15.h, p15.h, p15.h
+# CHECK-NEXT:  1      3     1.00                        trn2   p15.s, p15.s, p15.s
+# CHECK-NEXT:  1      6     1.00                        trn2   z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        trn2   z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        trn2   z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        trn2   z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        uabd   z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     0.50                        uabd   z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        uabd   z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        uabd   z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  10     46    5.00                        uaddv  d0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        uaddv  d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        uaddv  d0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        uaddv  d0, p7, z31.s
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.d, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.h, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.h, p0/m, z0.s
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.s, p0/m, z0.d
+# CHECK-NEXT:  1      9     0.50                        ucvtf  z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      178   178.00                      udiv   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      114   114.00                      udiv   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      178   178.00                      udivr  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      114   114.00                      udivr  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  2      15    1.00                        udot   z0.d, z1.h, z15.h[1]
+# CHECK-NEXT:  1      9     0.50                        udot   z0.d, z1.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        udot   z0.s, z1.b, z31.b
+# CHECK-NEXT:  2      15    1.00                        udot   z0.s, z1.b, z7.b[3]
+# CHECK-NEXT:  1      4     1.00                        umax   z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        umax   z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     1.00                        umax   z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        umax   z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        umax   z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        umax   z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  10     46    5.00                        umaxv  b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        umaxv  d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        umaxv  h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        umaxv  s0, p7, z31.s
+# CHECK-NEXT:  1      4     1.00                        umin   z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        umin   z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  1      4     1.00                        umin   z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        umin   z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  1      4     0.50                        umin   z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  1      4     0.50                        umin   z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  10     46    5.00                        uminv  b0, p7, z31.b
+# CHECK-NEXT:  7      34    3.50                        uminv  d0, p7, z31.d
+# CHECK-NEXT:  9      42    4.50                        uminv  h0, p7, z31.h
+# CHECK-NEXT:  8      38    4.00                        uminv  s0, p7, z31.s
+# CHECK-NEXT:  1      9     0.50                        umulh  z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT:  1      9     0.50                        umulh  z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  1      9     0.50                        umulh  z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  1      9     0.50                        umulh  z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        uqadd  z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        uqadd  z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        uqadd  z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     0.50                        uqadd  z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     0.50                        uqadd  z31.s, z31.s, #65280
+# CHECK-NEXT:  1      2     1.00                        uqdecb w0
+# CHECK-NEXT:  1      2     1.00                        uqdecb w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecb w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdecb w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecb x0
+# CHECK-NEXT:  1      2     1.00                        uqdecb x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqdecb x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecb x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdecb x0, vl1
+# CHECK-NEXT:  1      2     1.00                        uqdecd w0
+# CHECK-NEXT:  1      2     1.00                        uqdecd w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecd w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdecd w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecd x0
+# CHECK-NEXT:  1      2     1.00                        uqdecd x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqdecd x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecd x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdecd x0, vl1
+# CHECK-NEXT:  1      4     0.50                        uqdecd z0.d
+# CHECK-NEXT:  1      4     0.50                        uqdecd z0.d, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqdecd z0.d, pow2
+# CHECK-NEXT:  1      4     0.50                        uqdecd z0.d, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdech w0
+# CHECK-NEXT:  1      2     1.00                        uqdech w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdech w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdech w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdech x0
+# CHECK-NEXT:  1      2     1.00                        uqdech x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqdech x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdech x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdech x0, vl1
+# CHECK-NEXT:  1      4     0.50                        uqdech z0.h
+# CHECK-NEXT:  1      4     0.50                        uqdech z0.h, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqdech z0.h, pow2
+# CHECK-NEXT:  1      4     0.50                        uqdech z0.h, pow2, mul #16
+# CHECK-NEXT:  2      6     1.50                        uqdecp wzr, p15.b
+# CHECK-NEXT:  2      6     1.50                        uqdecp wzr, p15.d
+# CHECK-NEXT:  2      6     1.50                        uqdecp wzr, p15.h
+# CHECK-NEXT:  2      6     1.50                        uqdecp wzr, p15.s
+# CHECK-NEXT:  2      6     1.50                        uqdecp x0, p0.b
+# CHECK-NEXT:  2      6     1.50                        uqdecp x0, p0.d
+# CHECK-NEXT:  2      6     1.50                        uqdecp x0, p0.h
+# CHECK-NEXT:  2      6     1.50                        uqdecp x0, p0.s
+# CHECK-NEXT:  1      12    1.00                        uqdecp z0.d, p0.d
+# CHECK-NEXT:  1      12    1.00                        uqdecp z0.h, p0.h
+# CHECK-NEXT:  1      12    1.00                        uqdecp z0.s, p0.s
+# CHECK-NEXT:  1      2     1.00                        uqdecw w0
+# CHECK-NEXT:  1      2     1.00                        uqdecw w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecw w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdecw w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecw x0
+# CHECK-NEXT:  1      2     1.00                        uqdecw x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqdecw x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqdecw x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqdecw x0, vl1
+# CHECK-NEXT:  1      4     0.50                        uqdecw z0.s
+# CHECK-NEXT:  1      4     0.50                        uqdecw z0.s, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqdecw z0.s, pow2
+# CHECK-NEXT:  1      4     0.50                        uqdecw z0.s, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincb w0
+# CHECK-NEXT:  1      2     1.00                        uqincb w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincb w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqincb w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincb x0
+# CHECK-NEXT:  1      2     1.00                        uqincb x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqincb x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincb x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqincb x0, vl1
+# CHECK-NEXT:  1      2     1.00                        uqincd w0
+# CHECK-NEXT:  1      2     1.00                        uqincd w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincd w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqincd w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincd x0
+# CHECK-NEXT:  1      2     1.00                        uqincd x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqincd x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincd x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqincd x0, vl1
+# CHECK-NEXT:  1      4     0.50                        uqincd z0.d
+# CHECK-NEXT:  1      4     0.50                        uqincd z0.d, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqincd z0.d, pow2
+# CHECK-NEXT:  1      4     0.50                        uqincd z0.d, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqinch w0
+# CHECK-NEXT:  1      2     1.00                        uqinch w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqinch w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqinch w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqinch x0
+# CHECK-NEXT:  1      2     1.00                        uqinch x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqinch x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqinch x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqinch x0, vl1
+# CHECK-NEXT:  1      4     0.50                        uqinch z0.h
+# CHECK-NEXT:  1      4     0.50                        uqinch z0.h, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqinch z0.h, pow2
+# CHECK-NEXT:  1      4     0.50                        uqinch z0.h, pow2, mul #16
+# CHECK-NEXT:  2      6     1.50                        uqincp wzr, p15.b
+# CHECK-NEXT:  2      6     1.50                        uqincp wzr, p15.d
+# CHECK-NEXT:  2      6     1.50                        uqincp wzr, p15.h
+# CHECK-NEXT:  2      6     1.50                        uqincp wzr, p15.s
+# CHECK-NEXT:  2      6     1.50                        uqincp x0, p0.b
+# CHECK-NEXT:  2      6     1.50                        uqincp x0, p0.d
+# CHECK-NEXT:  2      6     1.50                        uqincp x0, p0.h
+# CHECK-NEXT:  2      6     1.50                        uqincp x0, p0.s
+# CHECK-NEXT:  1      12    1.00                        uqincp z0.d, p0.d
+# CHECK-NEXT:  1      12    1.00                        uqincp z0.h, p0.h
+# CHECK-NEXT:  1      12    1.00                        uqincp z0.s, p0.s
+# CHECK-NEXT:  1      2     1.00                        uqincw w0
+# CHECK-NEXT:  1      2     1.00                        uqincw w0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincw w0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqincw w0, pow2, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincw x0
+# CHECK-NEXT:  1      2     1.00                        uqincw x0, #14
+# CHECK-NEXT:  1      2     1.00                        uqincw x0, all, mul #16
+# CHECK-NEXT:  1      2     1.00                        uqincw x0, pow2
+# CHECK-NEXT:  1      2     1.00                        uqincw x0, vl1
+# CHECK-NEXT:  1      4     0.50                        uqincw z0.s
+# CHECK-NEXT:  1      4     0.50                        uqincw z0.s, all, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqincw z0.s, pow2
+# CHECK-NEXT:  1      4     0.50                        uqincw z0.s, pow2, mul #16
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.b, z0.b, #0
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.d, z0.d, #0
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.h, z0.h, #0
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.s, z0.s, #0
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  1      4     0.50                        uqsub  z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      4     0.50                        uqsub  z31.b, z31.b, #255
+# CHECK-NEXT:  1      4     0.50                        uqsub  z31.d, z31.d, #65280
+# CHECK-NEXT:  1      4     0.50                        uqsub  z31.h, z31.h, #65280
+# CHECK-NEXT:  1      4     0.50                        uqsub  z31.s, z31.s, #65280
+# CHECK-NEXT:  1      6     1.00                        uunpkhi        z31.d, z31.s
+# CHECK-NEXT:  1      6     1.00                        uunpkhi        z31.h, z31.b
+# CHECK-NEXT:  1      6     1.00                        uunpkhi        z31.s, z31.h
+# CHECK-NEXT:  1      6     1.00                        uunpklo        z31.d, z31.s
+# CHECK-NEXT:  1      6     1.00                        uunpklo        z31.h, z31.b
+# CHECK-NEXT:  1      6     1.00                        uunpklo        z31.s, z31.h
+# CHECK-NEXT:  1      4     0.50                        uxtb   z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        uxtb   z0.h, p0/m, z0.h
+# CHECK-NEXT:  1      4     0.50                        uxtb   z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      4     0.50                        uxtb   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        uxtb   z31.h, p7/m, z31.h
+# CHECK-NEXT:  1      4     0.50                        uxtb   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        uxth   z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        uxth   z0.s, p0/m, z0.s
+# CHECK-NEXT:  1      4     0.50                        uxth   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      4     0.50                        uxth   z31.s, p7/m, z31.s
+# CHECK-NEXT:  1      4     0.50                        uxtw   z0.d, p0/m, z0.d
+# CHECK-NEXT:  1      4     0.50                        uxtw   z31.d, p7/m, z31.d
+# CHECK-NEXT:  1      6     1.00                        uzp1   p15.b, p15.b, p15.b
+# CHECK-NEXT:  1      6     1.00                        uzp1   p15.d, p15.d, p15.d
+# CHECK-NEXT:  1      6     1.00                        uzp1   p15.h, p15.h, p15.h
+# CHECK-NEXT:  1      6     1.00                        uzp1   p15.s, p15.s, p15.s
+# CHECK-NEXT:  1      6     1.00                        uzp1   z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        uzp1   z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        uzp1   z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        uzp1   z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      6     1.00                        uzp2   p15.b, p15.b, p15.b
+# CHECK-NEXT:  1      6     1.00                        uzp2   p15.d, p15.d, p15.d
+# CHECK-NEXT:  1      6     1.00                        uzp2   p15.h, p15.h, p15.h
+# CHECK-NEXT:  1      6     1.00                        uzp2   p15.s, p15.s, p15.s
+# CHECK-NEXT:  1      6     1.00                        uzp2   z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        uzp2   z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        uzp2   z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        uzp2   z31.s, z31.s, z31.s
+# CHECK-NEXT:  2      3     1.00           *      U     wrffr  p0.b
+# CHECK-NEXT:  2      3     1.00           *      U     wrffr  p15.b
+# CHECK-NEXT:  1      6     1.00                        zip1   p0.b, p0.b, p0.b
+# CHECK-NEXT:  1      6     1.00                        zip1   p0.d, p0.d, p0.d
+# CHECK-NEXT:  1      6     1.00                        zip1   p0.h, p0.h, p0.h
+# CHECK-NEXT:  1      6     1.00                        zip1   p0.s, p0.s, p0.s
+# CHECK-NEXT:  1      6     1.00                        zip1   p15.b, p15.b, p15.b
+# CHECK-NEXT:  1      6     1.00                        zip1   p15.d, p15.d, p15.d
+# CHECK-NEXT:  1      6     1.00                        zip1   p15.h, p15.h, p15.h
+# CHECK-NEXT:  1      6     1.00                        zip1   p15.s, p15.s, p15.s
+# CHECK-NEXT:  1      6     1.00                        zip1   z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      6     1.00                        zip1   z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      6     1.00                        zip1   z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      6     1.00                        zip1   z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      6     1.00                        zip1   z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        zip1   z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        zip1   z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        zip1   z31.s, z31.s, z31.s
+# CHECK-NEXT:  1      6     1.00                        zip2   p0.b, p0.b, p0.b
+# CHECK-NEXT:  1      6     1.00                        zip2   p0.d, p0.d, p0.d
+# CHECK-NEXT:  1      6     1.00                        zip2   p0.h, p0.h, p0.h
+# CHECK-NEXT:  1      6     1.00                        zip2   p0.s, p0.s, p0.s
+# CHECK-NEXT:  1      6     1.00                        zip2   p15.b, p15.b, p15.b
+# CHECK-NEXT:  1      6     1.00                        zip2   p15.d, p15.d, p15.d
+# CHECK-NEXT:  1      6     1.00                        zip2   p15.h, p15.h, p15.h
+# CHECK-NEXT:  1      6     1.00                        zip2   p15.s, p15.s, p15.s
+# CHECK-NEXT:  1      6     1.00                        zip2   z0.b, z0.b, z0.b
+# CHECK-NEXT:  1      6     1.00                        zip2   z0.d, z0.d, z0.d
+# CHECK-NEXT:  1      6     1.00                        zip2   z0.h, z0.h, z0.h
+# CHECK-NEXT:  1      6     1.00                        zip2   z0.s, z0.s, z0.s
+# CHECK-NEXT:  1      6     1.00                        zip2   z31.b, z31.b, z31.b
+# CHECK-NEXT:  1      6     1.00                        zip2   z31.d, z31.d, z31.d
+# CHECK-NEXT:  1      6     1.00                        zip2   z31.h, z31.h, z31.h
+# CHECK-NEXT:  1      6     1.00                        zip2   z31.s, z31.s, z31.s
+
+# CHECK:      Resources:
+# CHECK-NEXT: [0]   - A64FXIPBR
+# CHECK-NEXT: [1]   - A64FXIPEAGA
+# CHECK-NEXT: [2]   - A64FXIPEAGB
+# CHECK-NEXT: [3]   - A64FXIPEXA
+# CHECK-NEXT: [4]   - A64FXIPEXB
+# CHECK-NEXT: [5]   - A64FXIPFLA
+# CHECK-NEXT: [6]   - A64FXIPFLB
+# CHECK-NEXT: [7]   - A64FXIPPR
+
+# CHECK:      Resource pressure per iteration:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
+# CHECK-NEXT:  -     1390.00 1376.00 599.00 256.00 4631.00 681.00 340.00
+
+# CHECK:      Resource pressure by instruction:
+# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z0.b, p0/m, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     abs      z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z0.s, z1.s, z2.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.b, z10.b, z21.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.d, z10.d, z21.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.h, z10.h, z21.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z21.s, z10.s, z21.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.b, z13.b, z8.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.d, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.h, z13.h, z8.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z23.s, z13.s, z8.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.s, z31.s, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     add      z31.s, z31.s, z31.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addpl    sp, sp, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addpl    x0, x0, #-32
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addpl    x21, x21, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addpl    x23, x8, #-1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addvl    sp, sp, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addvl    x0, x0, #-32
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addvl    x21, x21, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     addvl    x23, x8, #-1
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.d, [z0.d, z0.d, lsl #1]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.d, [z0.d, z0.d, lsl #2]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.d, [z0.d, z0.d, lsl #3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, sxtw #1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, sxtw #2]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, sxtw #3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, sxtw]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, uxtw #1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, uxtw #2]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, uxtw #3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     adr      z0.d, [z0.d, z0.d, uxtw]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.d, [z0.d, z0.d]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.s, [z0.s, z0.s, lsl #1]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.s, [z0.s, z0.s, lsl #2]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.s, [z0.s, z0.s, lsl #3]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     adr      z0.s, [z0.s, z0.s]
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z0.d, z0.d, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     and      z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z0.s, z0.s, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     and      z23.d, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z23.h, z23.h, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     and      z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     and      z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     and      z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     and      z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z5.b, z5.b, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     and      z5.b, z5.b, #0xf9
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ands     p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     andv     b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     andv     d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     andv     h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     andv     s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.b, z0.b, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.b, z1.b, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.d, z0.d, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.h, z0.h, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.h, z1.h, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.s, z0.s, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z0.s, z1.s, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.b, z31.b, #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.d, z31.d, #64
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.h, z31.h, #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asr      z31.s, z31.s, #32
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  -      -      -      -      -     1.50    -     0.50   asrd     z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asrr     z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asrr     z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asrr     z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     asrr     z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   bic      p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   bic      p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     bic      z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     bic      z23.d, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     bic      z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     bic      z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     bic      z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     bic      z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   bics     p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   bics     p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brka     p0.b, p15/m, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brka     p0.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkas    p0.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkb     p0.b, p15/m, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkb     p0.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkbs    p0.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkn     p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkn     p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkns    p0.b, p15/z, p1.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkns    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpa    p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpa    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpas   p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpas   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpb    p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpb    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpbs   p0.b, p15/z, p1.b, p2.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   brkpbs   p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   b0, p7, b0, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   d0, p7, d0, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   h0, p7, h0, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   s0, p7, s0, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clasta   w0, p7, w0, z31.b
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clasta   w0, p7, w0, z31.h
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clasta   w0, p7, w0, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clasta   x0, p7, x0, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   z0.b, p7, z0.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   z0.d, p7, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   z0.h, p7, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clasta   z0.s, p7, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   b0, p7, b0, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   d0, p7, d0, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   h0, p7, h0, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   s0, p7, s0, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clastb   w0, p7, w0, z31.b
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clastb   w0, p7, w0, z31.h
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clastb   w0, p7, w0, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     clastb   x0, p7, x0, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   z0.b, p7, z0.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   z0.d, p7, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   z0.h, p7, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clastb   z0.s, p7, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     cls      z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     clz      z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpeq    p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpge    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpgt    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphi    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.b, p0/z, z1.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmphs    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmple    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplo    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.b, p0/z, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.b, p0/z, z0.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.d, p0/z, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.d, p0/z, z0.d, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.h, p0/z, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.h, p0/z, z0.h, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.s, p0/z, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.s, p0/z, z0.s, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpls    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmplt    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.b, p0/z, z0.b, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.b, p0/z, z0.b, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.b, p0/z, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.b, p0/z, z0.b, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.d, p0/z, z0.d, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.d, p0/z, z0.d, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.d, p0/z, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.h, p0/z, z0.h, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.h, p0/z, z0.h, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.h, p0/z, z0.h, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.h, p0/z, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.s, p0/z, z0.s, #-16
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.s, p0/z, z0.s, #15
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.s, p0/z, z0.s, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   cmpne    p0.s, p0/z, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cnot     z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cnot     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cnot     z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     cnot     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     cnt      z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     cnt      z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     cnt      z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -     cnt      z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntb     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntb     x0, #28
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntb     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntb     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntd     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntd     x0, #28
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntd     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntd     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cnth     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cnth     x0, #28
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cnth     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cnth     x0, pow2
+# CHECK-NEXT:  -      -      -     1.00    -      -      -     1.00   cntp     x0, p15, p0.b
+# CHECK-NEXT:  -      -      -     1.00    -      -      -     1.00   cntp     x0, p15, p0.d
+# CHECK-NEXT:  -      -      -     1.00    -      -      -     1.00   cntp     x0, p15, p0.h
+# CHECK-NEXT:  -      -      -     1.00    -      -      -     1.00   cntp     x0, p15, p0.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntw     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntw     x0, #28
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntw     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     cntw     x0, pow2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     compact  z31.d, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     compact  z31.s, p7, z31.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermeq  w30, wzr
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermeq  wzr, w30
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermeq  x30, xzr
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermeq  xzr, x30
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermne  w30, wzr
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermne  wzr, w30
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermne  x30, xzr
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     ctermne  xzr, x30
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decb     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decb     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decb     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decb     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decb     x0, vl1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decd     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decd     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decd     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decd     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decd     x0, vl1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     dech     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     dech     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     dech     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     dech     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     dech     x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     x0, p0.b
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     x0, p0.d
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     x0, p0.h
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     x0, p0.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     xzr, p15.b
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     xzr, p15.d
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     xzr, p15.h
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   decp     xzr, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   decp     z31.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   decp     z31.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   decp     z31.s, p15.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decw     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decw     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decw     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decw     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     decw     x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     dupm     z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     dupm     z0.s, #0xfffffff9
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     dupm     z23.h, #0xfff9
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     dupm     z5.b, #0xf9
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   eor      p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z0.d, z0.d, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z0.s, z0.s, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      z23.d, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z23.h, z23.h, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     eor      z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z5.b, z5.b, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     eor      z5.b, z5.b, #0xf9
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   eors     p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     eorv     b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     eorv     d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     eorv     h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     eorv     s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ext      z31.b, z31.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     ext      z31.b, z31.b, z0.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabd     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabd     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabd     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabs     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabs     z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fabs     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facge    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facge    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facge    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facge    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facge    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facge    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facgt    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facgt    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facgt    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facgt    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facgt    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     facgt    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fadd     z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fadd     z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fadd     z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fadd     z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fadd     z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fadd     z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fadd     z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     7.50   7.50    -     fadda    d0, p7, d0, z31.d
+# CHECK-NEXT:  -      -      -      -      -     31.50  31.50   -     fadda    h0, p7, h0, z31.h
+# CHECK-NEXT:  -      -      -      -      -     15.50  15.50   -     fadda    s0, p7, s0, z31.s
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     faddv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     faddv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     faddv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcadd    z0.d, p0/m, z0.d, z0.d, #90
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcadd    z0.h, p0/m, z0.h, z0.h, #90
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcadd    z0.s, p0/m, z0.s, z0.s, #90
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcadd    z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcadd    z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fcadd    z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmeq    p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmeq    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmeq    p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmeq    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmeq    p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmeq    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmge    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.d, p0/z, z1.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.h, p0/z, z1.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmgt    p0.s, p0/z, z1.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.d, p0/m, z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.d, p0/m, z1.d, z2.d, #90
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.h, p0/m, z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.h, p0/m, z1.h, z2.h, #90
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.h, z0.h, z0.h[0], #0
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.s, p0/m, z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z0.s, p0/m, z1.s, z2.s, #90
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z21.s, z10.s, z5.s[1], #90
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z23.s, z13.s, z8.s[0], #270
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z29.d, p7/m, z30.d, z31.d, #180
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z29.h, p7/m, z30.h, z31.h, #180
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z29.s, p7/m, z30.s, z31.s, #180
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z31.d, p7/m, z31.d, z31.d, #270
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z31.h, p7/m, z31.h, z31.h, #270
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z31.h, z31.h, z7.h[3], #270
+# CHECK-NEXT:  -      -      -      -      -     1.50   1.50    -     fcmla    z31.s, p7/m, z31.s, z31.s, #270
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmle    p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmle    p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmle    p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmlt    p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmlt    p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmlt    p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmne    p0.d, p0/z, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmne    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmne    p0.h, p0/z, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmne    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmne    p0.s, p0/z, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmne    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmuo    p0.d, p0/z, z0.d, z1.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmuo    p0.h, p0/z, z0.h, z1.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fcmuo    p0.s, p0/z, z0.s, z1.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvt     z0.d, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvt     z0.d, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvt     z0.h, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvt     z0.h, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvt     z0.s, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvt     z0.s, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.d, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.d, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.s, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.s, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzs   z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.d, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.d, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.s, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.s, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fcvtzu   z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     154.00  -      -     fdiv     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     134.00  -      -     fdiv     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     98.00   -      -     fdiv     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     154.00  -      -     fdivr    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     134.00  -      -     fdivr    z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     98.00   -      -     fdivr    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fexpa    z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fexpa    z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fexpa    z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmad     z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmad     z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmad     z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmax     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmax     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmax     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmax     z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmaxnm   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmaxnm   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmaxnm   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmaxnm   z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fmaxnmv  d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fmaxnmv  h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     fmaxnmv  s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fmaxv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fmaxv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     fmaxv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmin     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmin     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmin     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmin     z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   z0.d, p0/m, z0.d, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fminnm   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   z0.h, p0/m, z0.h, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fminnm   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   z0.s, p0/m, z0.s, #0.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fminnm   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fminnm   z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fminnmv  d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fminnmv  h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     fminnmv  s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fminv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     5.50   5.50    -     fminv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     fminv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmla     z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmla     z0.d, z1.d, z7.d[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmla     z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmla     z0.h, z1.h, z7.h[7]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmla     z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmla     z0.s, z1.s, z7.s[3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmls     z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmls     z0.d, z1.d, z7.d[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmls     z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmls     z0.h, z1.h, z7.h[7]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmls     z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmls     z0.s, z1.s, z7.s[3]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.d, #-10.00000000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.d, #0.12500000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.d, p0/m, #-10.00000000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.d, p0/m, #0.12500000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.h, #-0.12500000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.h, p0/m, #-0.12500000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.s, #-0.12500000
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fmov     z0.s, p0/m, #-0.12500000
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmsb     z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmsb     z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmsb     z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmul     z0.d, z0.d, z0.d[0]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmul     z0.h, z0.h, z0.h[0]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmul     z0.s, z0.s, z0.s[0]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z31.d, p7/m, z31.d, #2.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmul     z31.d, z31.d, z15.d[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z31.h, p7/m, z31.h, #2.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmul     z31.h, z31.h, z7.h[7]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmul     z31.s, p7/m, z31.s, #2.0
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     fmul     z31.s, z31.s, z7.s[3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmulx    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmulx    z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fmulx    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fneg     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fneg     z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fneg     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmad    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmad    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmad    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmla    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmla    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmla    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmls    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmls    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmls    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmsb    z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmsb    z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fnmsb    z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpe   z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frecps   z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frecps   z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frecps   z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpx   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpx   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frecpx   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinta   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frinti   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintm   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintn   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintp   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintx   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frintz   z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frsqrte  z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frsqrte  z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     frsqrte  z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrts  z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrts  z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     frsqrts  z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fscale   z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fscale   z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fscale   z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     154.00  -      -     fsqrt    z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     134.00  -      -     fsqrt    z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     98.00   -      -     fsqrt    z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsub     z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsub     z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsub     z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsub     z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsub     z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsub     z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsub     z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsubr    z0.d, p0/m, z0.d, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsubr    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsubr    z0.h, p0/m, z0.h, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsubr    z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsubr    z0.s, p0/m, z0.s, #0.5
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     fsubr    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsubr    z31.d, p7/m, z31.d, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsubr    z31.h, p7/m, z31.h, #1.0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fsubr    z31.s, p7/m, z31.s, #1.0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftmad    z0.d, z0.d, z31.d, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftmad    z0.h, z0.h, z31.h, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftmad    z0.s, z0.s, z31.s, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftsmul   z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftsmul   z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftsmul   z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftssel   z0.d, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftssel   z0.h, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ftssel   z0.s, z1.s, z31.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incb     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incb     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incb     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incb     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incb     x0, vl1
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incd     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incd     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incd     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incd     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incd     x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incd     z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incd     z0.d, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     inch     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     inch     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     inch     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     inch     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     inch     x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     inch     z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     inch     z0.h, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     x0, p0.b
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     x0, p0.d
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     x0, p0.h
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     x0, p0.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     xzr, p15.b
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     xzr, p15.d
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     xzr, p15.h
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -     1.00   incp     xzr, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   incp     z31.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   incp     z31.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -     1.00   incp     z31.s, p15.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incw     x0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incw     x0, #14
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incw     x0, all, mul #16
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incw     x0, pow2
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     incw     x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incw     z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     incw     z0.s, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     index    z0.b, #0, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     index    z0.d, #0, #0
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     index    z0.h, #0, #0
+# CHECK-NEXT:  -      -      -     2.00    -     2.00   1.00    -     index    z0.h, w0, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     index    z0.s, #0, #0
+# CHECK-NEXT:  -      -      -     2.00    -     2.00   1.00    -     index    z21.b, w10, w21
+# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     index    z21.d, x10, x21
+# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     index    z21.s, w10, w21
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z23.b, #13, w8
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z23.b, w13, #8
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z23.d, #13, x8
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z23.d, x13, #8
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z23.h, #13, w8
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z23.h, w13, #8
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z23.s, #13, w8
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z23.s, w13, #8
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     index    z31.b, #-1, #-1
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z31.b, #-1, wzr
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z31.b, wzr, #-1
+# CHECK-NEXT:  -      -      -     2.00    -     2.00   1.00    -     index    z31.b, wzr, wzr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     index    z31.d, #-1, #-1
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z31.d, #-1, xzr
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z31.d, xzr, #-1
+# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     index    z31.d, xzr, xzr
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     index    z31.h, #-1, #-1
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z31.h, #-1, wzr
+# CHECK-NEXT:  -      -      -     2.00    -     2.00    -      -     index    z31.h, wzr, #-1
+# CHECK-NEXT:  -      -      -     2.00    -     2.00   1.00    -     index    z31.h, wzr, wzr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     index    z31.s, #-1, #-1
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z31.s, #-1, wzr
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     index    z31.s, wzr, #-1
+# CHECK-NEXT:  -      -      -     1.00    -     2.00    -      -     index    z31.s, wzr, wzr
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z0.b, w0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z0.d, x0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z0.h, w0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z0.s, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     insr     z31.b, b31
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z31.b, wzr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     insr     z31.d, d31
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z31.d, xzr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     insr     z31.h, h31
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z31.h, wzr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     insr     z31.s, s31
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     insr     z31.s, wzr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lasta    b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lasta    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lasta    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lasta    s0, p7, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lasta    w0, p7, z31.b
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lasta    w0, p7, z31.h
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lasta    w0, p7, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lasta    x0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lastb    b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lastb    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lastb    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     lastb    s0, p7, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lastb    w0, p7, z31.b
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lastb    w0, p7, z31.h
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lastb    w0, p7, z31.s
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     lastb    x0, p7, z31.d
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z0.b }, p0/z, [sp, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1b     { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1b     { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1b     { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1b     { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1b     { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1b     { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1b     { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1b     { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1b     { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1b     { z5.h }, p3/z, [x17, x16]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1d     { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1d     { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1d     { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1d     { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1d     { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1d     { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1d     { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1d     { z23.d }, p3/z, [sp, x8, lsl #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1d     { z23.d }, p3/z, [x13, x8, lsl #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1d     { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1d     { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1d     { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1d     { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1h     { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1h     { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1h     { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1h     { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1h     { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1h     { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1h     { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1h     { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1h     { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1h     { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1h     { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1h     { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1h     { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1h     { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z5.h }, p3/z, [sp, x16, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1h     { z5.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z31.b }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rb    { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rd    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rd    { z31.d }, p7/z, [sp, #504]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rh    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rh    { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rh    { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rh    { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rh    { z31.h }, p7/z, [sp, #126]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rh    { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqb   { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqb   { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqb   { z21.b }, p5/z, [x10, #112]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqb   { z23.b }, p3/z, [x13, #-128]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqb   { z31.b }, p7/z, [sp, #-16]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqd   { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqd   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqd   { z23.d }, p3/z, [x13, #-128]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqd   { z23.d }, p3/z, [x13, #112]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqd   { z31.d }, p7/z, [sp, #-16]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqh   { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqh   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqh   { z23.h }, p3/z, [x13, #-128]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqh   { z23.h }, p3/z, [x13, #112]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqh   { z31.h }, p7/z, [sp, #-16]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqw   { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqw   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqw   { z23.s }, p3/z, [x13, #-128]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqw   { z23.s }, p3/z, [x13, #112]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rqw   { z31.s }, p7/z, [sp, #-16]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsb   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsb   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsb   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsb   { z31.d }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsb   { z31.h }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsb   { z31.s }, p7/z, [sp, #63]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsh   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsh   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsh   { z31.d }, p7/z, [sp, #126]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsh   { z31.s }, p7/z, [sp, #126]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsw   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rsw   { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rw    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rw    { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rw    { z31.d }, p7/z, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1rw    { z31.s }, p7/z, [sp, #252]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1sb    { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z0.h }, p0/z, [sp, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1sb    { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1sb    { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sb    { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sb    { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z21.s }, p5/z, [x10, x21]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z23.d }, p3/z, [x13, x8]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sb    { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1sb    { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sb    { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1sb    { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sh    { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sh    { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1sh    { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1sh    { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1sh    { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1sh    { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sh    { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sh    { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z21.s }, p5/z, [sp, x21, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z21.s }, p5/z, [x10, x21, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z23.d }, p3/z, [x13, x8, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sh    { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sh    { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1sh    { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sh    { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1sh    { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1sh    { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1sh    { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sw    { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sw    { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sw    { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1sw    { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sw    { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sw    { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sw    { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sw    { z23.d }, p3/z, [sp, x8, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sw    { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sw    { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1sw    { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1sw    { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1sw    { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1w     { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1w     { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1w     { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1w     { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1w     { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1w     { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1w     { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1w     { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z21.s }, p5/z, [sp, x21, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z21.s }, p5/z, [x10, x21, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z23.d }, p3/z, [x13, x8, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1w     { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ld1w     { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ld1w     { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ld1w     { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1w     { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ld1w     { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ld1w     { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2b     { z0.b, z1.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2b     { z0.b, z1.b }, p0/z, [x0]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2b     { z21.b, z22.b }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2b     { z23.b, z24.b }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2b     { z5.b, z6.b }, p3/z, [x17, x16]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld2d     { z0.d, z1.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     ld2d     { z0.d, z1.d }, p0/z, [x0]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     ld2d     { z21.d, z22.d }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     ld2d     { z23.d, z24.d }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld2d     { z5.d, z6.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2h     { z0.h, z1.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2h     { z0.h, z1.h }, p0/z, [x0]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2h     { z21.h, z22.h }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2h     { z23.h, z24.h }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -      -      -      -     ld2h     { z5.h, z6.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld2w     { z0.s, z1.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     ld2w     { z0.s, z1.s }, p0/z, [x0]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     ld2w     { z21.s, z22.s }, p5/z, [x10, #10, mul vl]
+# CHECK-NEXT:  -     1.00   1.00    -      -      -      -      -     ld2w     { z23.s, z24.s }, p3/z, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld2w     { z5.s, z6.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3b     { z0.b, z1.b, z2.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3b     { z0.b, z1.b, z2.b }, p0/z, [x0]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3b     { z21.b, z22.b, z23.b }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3b     { z23.b, z24.b, z25.b }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3b     { z5.b, z6.b, z7.b }, p3/z, [x17, x16]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld3d     { z0.d, z1.d, z2.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld3d     { z0.d, z1.d, z2.d }, p0/z, [x0]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld3d     { z21.d, z22.d, z23.d }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld3d     { z23.d, z24.d, z25.d }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld3d     { z5.d, z6.d, z7.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3h     { z0.h, z1.h, z2.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3h     { z0.h, z1.h, z2.h }, p0/z, [x0]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3h     { z21.h, z22.h, z23.h }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3h     { z23.h, z24.h, z25.h }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -      -      -      -     ld3h     { z5.h, z6.h, z7.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld3w     { z0.s, z1.s, z2.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld3w     { z0.s, z1.s, z2.s }, p0/z, [x0]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld3w     { z21.s, z22.s, z23.s }, p5/z, [x10, #15, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -      -      -      -     ld3w     { z23.s, z24.s, z25.s }, p3/z, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld3w     { z5.s, z6.s, z7.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4b     { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4b     { z0.b, z1.b, z2.b, z3.b }, p0/z, [x0]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4b     { z21.b, z22.b, z23.b, z24.b }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4b     { z23.b, z24.b, z25.b, z26.b }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4b     { z5.b, z6.b, z7.b, z8.b }, p3/z, [x17, x16]
+# CHECK-NEXT:  -     2.50   2.50    -      -      -      -      -     ld4d     { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld4d     { z0.d, z1.d, z2.d, z3.d }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld4d     { z21.d, z22.d, z23.d, z24.d }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld4d     { z23.d, z24.d, z25.d, z26.d }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     2.50   2.50    -      -      -      -      -     ld4d     { z5.d, z6.d, z7.d, z8.d }, p3/z, [x17, x16, lsl #3]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4h     { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4h     { z0.h, z1.h, z2.h, z3.h }, p0/z, [x0]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4h     { z21.h, z22.h, z23.h, z24.h }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4h     { z23.h, z24.h, z25.h, z26.h }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -      -      -      -     ld4h     { z5.h, z6.h, z7.h, z8.h }, p3/z, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     2.50   2.50    -      -      -      -      -     ld4w     { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld4w     { z0.s, z1.s, z2.s, z3.s }, p0/z, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld4w     { z21.s, z22.s, z23.s, z24.s }, p5/z, [x10, #20, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -      -      -      -     ld4w     { z23.s, z24.s, z25.s, z26.s }, p3/z, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     2.50   2.50    -      -      -      -      -     ld4w     { z5.s, z6.s, z7.s, z8.s }, p3/z, [x17, x16, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1b   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1b   { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1b   { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1b   { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1b   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1b   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z31.b }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1b   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1b   { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z31.h }, p7/z, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1b   { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1b   { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1d   { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1d   { z0.d }, p0/z, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1d   { z0.d }, p0/z, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1d   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1d   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1d   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1d   { z23.d }, p3/z, [x13, z8.d, lsl #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1d   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1d   { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1d   { z31.d }, p7/z, [z31.d, #248]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1h   { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1h   { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1h   { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1h   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1h   { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1h   { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1h   { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1h   { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1h   { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1h   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1h   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1h   { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1h   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1h   { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1h   { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1h   { z31.h }, p7/z, [sp]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1h   { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1h   { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1h   { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1h   { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sb  { z0.d }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1sb  { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sb  { z0.h }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sb  { z0.s }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1sb  { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1sb  { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1sb  { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sb  { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sb  { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sb  { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sb  { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1sb  { z31.d }, p7/z, [z31.d, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sb  { z31.h }, p7/z, [sp]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sb  { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1sb  { z31.s }, p7/z, [z31.s, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sh  { z0.d }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sh  { z0.d }, p0/z, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sh  { z0.d }, p0/z, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1sh  { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sh  { z0.s }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1sh  { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1sh  { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1sh  { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sh  { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sh  { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sh  { z23.d }, p3/z, [x13, z8.d, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sh  { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sh  { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1sh  { z31.d }, p7/z, [z31.d, #62]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1sh  { z31.s }, p7/z, [sp, z31.s, sxtw #1]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1sh  { z31.s }, p7/z, [sp, z31.s, uxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sh  { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1sh  { z31.s }, p7/z, [z31.s, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sw  { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sw  { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sw  { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1sw  { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sw  { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sw  { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sw  { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1sw  { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1sw  { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1sw  { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1w   { z0.d }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1w   { z0.d }, p0/z, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1w   { z0.d }, p0/z, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1w   { z0.d }, p0/z, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1w   { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1w   { z0.s }, p0/z, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1w   { z0.s }, p0/z, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1w   { z0.s }, p0/z, [z0.s]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1w   { z21.d }, p5/z, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1w   { z21.d }, p5/z, [x10, z21.d, uxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1w   { z23.d }, p3/z, [x13, z8.d, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     1.00    -      -     ldff1w   { z31.d }, p7/z, [sp, z31.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1w   { z31.d }, p7/z, [sp]
+# CHECK-NEXT:  -     2.00   2.00    -      -     1.00    -      -     ldff1w   { z31.d }, p7/z, [z31.d, #124]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1w   { z31.s }, p7/z, [sp, z31.s, sxtw #2]
+# CHECK-NEXT:  -     4.00   4.00   1.00    -     2.00    -      -     ldff1w   { z31.s }, p7/z, [sp, z31.s, uxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldff1w   { z31.s }, p7/z, [sp]
+# CHECK-NEXT:  -     4.00   4.00    -      -     2.00    -      -     ldff1w   { z31.s }, p7/z, [z31.s, #124]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z21.b }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z31.b }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1b   { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1d   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1d   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1d   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1h   { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z21.h }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z31.h }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sb  { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sh  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sh  { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sh  { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sh  { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sh  { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sh  { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sw  { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sw  { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1sw  { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1w   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1w   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1w   { z21.d }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1w   { z21.s }, p5/z, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1w   { z31.d }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnf1w   { z31.s }, p7/z, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1b   { z0.b }, p0/z, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1b   { z0.b }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1b   { z21.b }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1b   { z23.b }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1d   { z0.d }, p0/z, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1d   { z0.d }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1d   { z21.d }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1d   { z23.d }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1h   { z0.h }, p0/z, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1h   { z0.h }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1h   { z21.h }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1h   { z23.h }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1w   { z0.s }, p0/z, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1w   { z0.s }, p0/z, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1w   { z21.s }, p5/z, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     ldnt1w   { z23.s }, p3/z, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     ldr      p0, [x0]
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     ldr      p5, [x10, #255, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     ldr      p7, [x13, #-256, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     ldr      z0, [x0]
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     ldr      z23, [x13, #255, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -      -      -      -     ldr      z31, [sp, #-256, mul vl]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.b, p0/m, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.b, z1.b, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.d, p0/m, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.h, p0/m, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.h, z1.h, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.s, p0/m, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z0.s, z1.s, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.b, p0/m, z31.b, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.b, z31.b, #7
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.d, p0/m, z31.d, #63
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.d, z31.d, #63
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.h, p0/m, z31.h, #15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.h, z31.h, #15
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.s, p0/m, z31.s, #31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsl      z31.s, z31.s, #31
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lslr     z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lslr     z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lslr     z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lslr     z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.b, p0/m, z0.b, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.b, p0/m, z0.b, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.b, z0.b, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.b, z1.b, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.d, p0/m, z0.d, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.d, z0.d, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.h, p0/m, z0.h, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.h, p0/m, z0.h, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.h, z0.h, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.h, z1.h, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.s, p0/m, z0.s, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.s, p0/m, z0.s, z1.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.s, z0.s, #1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z0.s, z1.s, z2.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.b, p0/m, z31.b, #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.b, z31.b, #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.d, p0/m, z31.d, #64
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.d, z31.d, #64
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.h, p0/m, z31.h, #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.h, z31.h, #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.s, p0/m, z31.s, #32
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsr      z31.s, z31.s, #32
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsrr     z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsrr     z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsrr     z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     lsrr     z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mad      z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mad      z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mad      z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mad      z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mla      z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mla      z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mla      z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mla      z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mls      z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mls      z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mls      z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mls      z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      p0.b, p0/m, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      p0.b, p0/z, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      p15.b, p15/m, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      p15.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.b, b0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.b, p0/m, b0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z0.b, p0/m, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.b, p0/z, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.b, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, #0xe0000000000003ff
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, #0xffffffffffff7fff
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, #32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, d0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, p0/m, d0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z0.d, p0/m, x0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.d, x0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, #-256
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, #32767
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, h0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, p0/m, h0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z0.h, p0/m, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, p0/z, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.h, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.q, q0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.s, #0xffff7fff
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.s, #32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.s, p0/m, s0
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z0.s, p0/m, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.s, s0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z0.s, w0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, p0/z, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, p0/z, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, p0/z, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, p0/z, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, p15/m, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.d, p15/m, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, p0/z, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, p0/z, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, p0/z, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, p0/z, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, p15/m, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.h, p15/m, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, p0/z, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, p0/z, #-32768
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, p0/z, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, p0/z, #32512
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, p15/m, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z21.s, p15/m, #-32768
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      z31.b, p15/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.b, p7/m, b31
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     movprfx  z31, z6
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z31.b, p7/m, wsp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.b, wsp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.b, z31.b[63]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      z31.d, p15/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.d, p7/m, d31
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     movprfx  z31.d, p7/z, z6.d
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z31.d, p7/m, sp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.d, sp
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      z31.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.d, z31.d[7]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      z31.h, p15/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.h, p7/m, h31
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z31.h, p7/m, wsp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.h, wsp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.h, z31.h[31]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mov      z31.s, p15/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.s, p7/m, s31
+# CHECK-NEXT:  -      -      -     1.00    -     1.00    -      -     mov      z31.s, p7/m, wsp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.s, wsp
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z31.s, z31.s[15]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, #-1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, p0/z, #-1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, p0/z, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, p0/z, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.b, p15/m, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.d, #-6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.h, #-6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.q, z17.q[3]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mov      z5.s, #-6
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   movs     p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   movs     p0.b, p0/z, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   movs     p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   movs     p15.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     mrs      x3, ID_AA64ZFR0_EL1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     mrs      x3, ZCR_EL1
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     mrs      x3, ZCR_EL12
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     mrs      x3, ZCR_EL2
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     mrs      x3, ZCR_EL3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     msb      z0.b, p7/m, z1.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     msb      z0.d, p7/m, z1.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     msb      z0.h, p7/m, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     msb      z0.s, p7/m, z1.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     msr      ZCR_EL1, x3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     msr      ZCR_EL12, x3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     msr      ZCR_EL2, x3
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     msr      ZCR_EL3, x3
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mul      z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mul      z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mul      z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     mul      z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.b, z31.b, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.b, z31.b, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.d, z31.d, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.d, z31.d, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.h, z31.h, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.h, z31.h, #127
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.s, z31.s, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     mul      z31.s, z31.s, #127
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nand     p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nand     p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nands    p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nands    p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z0.b, p0/m, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     neg      z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nor      p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nor      p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nors     p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nors     p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   not      p0.b, p0/z, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   not      p15.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     not      z31.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     not      z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     not      z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     not      z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nots     p0.b, p0/z, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   nots     p15.b, p15/z, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orn      p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orn      p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orns     p0.b, p0/z, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orns     p15.b, p15/z, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orr      p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z0.d, z0.d, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z0.d, z0.d, #0xfffffffffffffff9
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z0.s, z0.s, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z0.s, z0.s, #0xfffffff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orr      z23.d, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z23.h, z23.h, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z23.h, z23.h, #0xfff9
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orr      z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orr      z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orr      z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     orr      z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z5.b, z5.b, #0x6
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     orr      z5.b, z5.b, #0xf9
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orrs     p0.b, p0/z, p0.b, p1.b
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     orv      b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     orv      d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     orv      h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     orv      s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pfalse   p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pfirst   p0.b, p15, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pfirst   p15.b, p15, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pnext    p0.b, p15, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pnext    p0.d, p15, p0.d
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pnext    p0.h, p15, p0.h
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pnext    p0.s, p15, p0.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   pnext    p15.b, p15, p15.b
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     #14, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     #15, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     #6, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     #7, p0, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfb     #7, p3, [z13.s, #31]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfb     #7, p3, [z13.s]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfb     pldl1keep, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfb     pldl1keep, p0, [x0, z0.d]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfb     pldl1keep, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pldl3strm, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfb     pldl3strm, p5, [x10, z21.d, sxtw]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfb     pldl3strm, p5, [x10, z21.s, uxtw]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfb     pldl3strm, p5, [z10.d, #31]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfb     pldl3strm, p5, [z10.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pstl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pstl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pstl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pstl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pstl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfb     pstl3strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     #14, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     #15, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfd     #15, p7, [z31.d, #248]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfd     #15, p7, [z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfd     #15, p7, [z31.s, #248]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfd     #15, p7, [z31.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     #6, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     #7, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfd     pldl1keep, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfd     pldl1keep, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfd     pldl1keep, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfd     pldl1keep, p0, [x0, z0.s, sxtw #3]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfd     pldl1keep, p0, [x0, z0.s, uxtw #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pldl3strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pstl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pstl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pstl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pstl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pstl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfd     pstl3strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     #14, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     #15, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfh     #15, p7, [z31.d, #62]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfh     #15, p7, [z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfh     #15, p7, [z31.s, #62]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfh     #15, p7, [z31.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     #6, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     #7, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfh     pldl1keep, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pldl3strm, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfh     pldl3strm, p5, [x10, z21.d, sxtw #1]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfh     pldl3strm, p5, [x10, z21.d, uxtw #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfh     pldl3strm, p5, [x10, z21.s, sxtw #1]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfh     pldl3strm, p5, [x10, z21.s, uxtw #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pstl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pstl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pstl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pstl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pstl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfh     pstl3strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     #14, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     #15, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfw     #15, p7, [z31.d, #124]
+# CHECK-NEXT:  -     1.00   1.00    -      -     1.00    -      -     prfw     #15, p7, [z31.d]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfw     #15, p7, [z31.s, #124]
+# CHECK-NEXT:  -     2.00   2.00    -      -     2.00    -      -     prfw     #15, p7, [z31.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     #6, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     #7, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfw     #7, p3, [x13, z8.d, uxtw #2]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfw     pldl1keep, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfw     pldl1keep, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl1strm, p0, [x0, #-32, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl1strm, p0, [x0, #31, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pldl3strm, p0, [x0]
+# CHECK-NEXT:  -     1.00   1.00   1.00    -     1.00    -      -     prfw     pldl3strm, p5, [x10, z21.d, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00   1.00    -     2.00    -      -     prfw     pldl3strm, p5, [x10, z21.s, sxtw #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pstl1keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pstl1strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pstl2keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pstl2strm, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pstl3keep, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -      -      -      -     prfw     pstl3strm, p0, [x0]
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptest    p15, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptest    p15, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p0.b, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p0.d, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p0.h, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p0.s, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p15.d
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p15.h
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p15.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #14
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #15
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #16
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #17
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #18
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #20
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #21
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #22
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #23
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #24
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #25
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #26
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #27
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, #28
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, mul3
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, mul4
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl1
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl128
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl16
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl256
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl3
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl32
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl4
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl5
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl6
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl64
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl7
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrue    p7.s, vl8
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p0.b, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p0.d, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p0.h, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p0.s, pow2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p15.d
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p15.h
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p15.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #14
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #15
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #16
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #17
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #18
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #19
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #20
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #21
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #22
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #23
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #24
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #25
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #26
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #27
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, #28
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, mul3
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, mul4
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl1
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl128
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl16
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl256
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl3
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl32
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl4
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl5
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl6
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl64
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl7
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   ptrues   p7.s, vl8
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   punpkhi  p0.h, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   punpkhi  p15.h, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   punpklo  p0.h, p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   punpklo  p15.h, p15.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rbit     z0.b, p7/m, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rbit     z0.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rbit     z0.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     rbit     z0.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   rdffr    p0.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   rdffr    p0.b, p0/z
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   rdffr    p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   rdffr    p15.b, p15/z
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   rdffrs   p0.b, p0/z
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   rdffrs   p15.b, p15/z
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     rdvl     x0, #0
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     rdvl     x21, #-32
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     rdvl     x23, #31
+# CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     rdvl     xzr, #-1
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     rev      z0.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     rev      z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     rev      z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     rev      z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     revb     z0.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     revb     z0.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     revb     z0.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     revh     z0.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     revh     z0.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     revw     z0.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabd     z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabd     z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabd     z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sabd     z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     saddv    d0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     saddv    d0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     saddv    d0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.d, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.h, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.h, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.s, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     scvtf    z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     178.00  -      -     sdiv     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     114.00  -      -     sdiv     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     178.00  -      -     sdivr    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     114.00  -      -     sdivr    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     sdot     z0.d, z1.h, z15.h[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sdot     z0.d, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sdot     z0.s, z1.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     sdot     z0.s, z1.b, z7.b[3]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sel      z23.b, p11, z13.b, z8.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sel      z23.d, p11, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sel      z23.h, p11, z13.h, z8.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sel      z23.s, p11, z13.s, z8.s
+# CHECK-NEXT:  -      -      -      -      -      -      -      -     setffr
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z0.b, z0.b, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z0.d, z0.d, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z0.h, z0.h, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z0.s, z0.s, #-128
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smax     z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z31.b, z31.b, #127
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smax     z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z31.d, z31.d, #127
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smax     z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z31.h, z31.h, #127
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smax     z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smax     z31.s, z31.s, #127
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     smaxv    b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     smaxv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     smaxv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     smaxv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z0.b, z0.b, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z0.d, z0.d, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z0.h, z0.h, #-128
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z0.s, z0.s, #-128
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smin     z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z31.b, z31.b, #127
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smin     z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z31.d, z31.d, #127
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smin     z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z31.h, z31.h, #127
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smin     z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     smin     z31.s, z31.s, #127
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     sminv    b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     sminv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     sminv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     sminv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smulh    z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smulh    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smulh    z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     smulh    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     splice   z31.b, p7, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     splice   z31.d, p7, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     splice   z31.h, p7, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     splice   z31.s, p7, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqadd    z31.s, z31.s, #65280
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecb   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecd   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecd   z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecd   z0.d, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecd   z0.d, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecd   z0.d, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdech   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdech   z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdech   z0.h, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdech   z0.h, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdech   z0.h, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   x0, p0.b
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   x0, p0.d
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   x0, p0.h
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   x0, p0.s
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   xzr, p15.b, wzr
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   xzr, p15.d, wzr
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   xzr, p15.h, wzr
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqdecp   xzr, p15.s, wzr
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     sqdecp   z0.d, p0.d
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     sqdecp   z0.h, p0.h
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     sqdecp   z0.s, p0.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqdecw   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecw   z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecw   z0.s, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecw   z0.s, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqdecw   z0.s, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincb   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincd   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincd   z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincd   z0.d, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincd   z0.d, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincd   z0.d, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqinch   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqinch   z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqinch   z0.h, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqinch   z0.h, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqinch   z0.h, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   x0, p0.b
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   x0, p0.d
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   x0, p0.h
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   x0, p0.s
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   xzr, p15.b, wzr
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   xzr, p15.d, wzr
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   xzr, p15.h, wzr
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     sqincp   xzr, p15.s, wzr
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     sqincp   z0.d, p0.d
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     sqincp   z0.h, p0.h
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     sqincp   z0.s, p0.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     sqincw   x0, w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincw   z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincw   z0.s, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincw   z0.s, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqincw   z0.s, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sqsub    z31.s, z31.s, #65280
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.b }, p0, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.b }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.d }, p0, [x0, x0]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1b     { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1b     { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1b     { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.d }, p0, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1b     { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.h }, p0, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.h }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.s }, p0, [x0, x0]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1b     { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1b     { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z0.s }, p0, [x0]
+# CHECK-NEXT:  -     8.00   8.00    -      -     12.00   -      -     st1b     { z0.s }, p7, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z21.b }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z31.b }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1b     { z31.d }, p7, [z31.d, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1b     { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     8.00   8.00    -      -     12.00   -      -     st1b     { z31.s }, p7, [z31.s, #31]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1d     { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1d     { z0.d }, p0, [x0, z0.d, lsl #3]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1d     { z0.d }, p0, [x0, z0.d, sxtw #3]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1d     { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1d     { z0.d }, p0, [x0, z0.d, uxtw #3]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1d     { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1d     { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1d     { z0.d }, p0, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1d     { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1d     { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1d     { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1d     { z31.d }, p7, [z31.d, #248]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z0.d }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1h     { z0.d }, p0, [x0, z0.d, lsl #1]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1h     { z0.d }, p0, [x0, z0.d, sxtw #1]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1h     { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1h     { z0.d }, p0, [x0, z0.d, uxtw #1]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1h     { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1h     { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z0.d }, p0, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1h     { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z0.h }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z0.s }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1h     { z0.s }, p0, [x0, z0.s, sxtw #1]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1h     { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1h     { z0.s }, p0, [x0, z0.s, uxtw #1]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1h     { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z0.s }, p0, [x0]
+# CHECK-NEXT:  -     8.00   8.00    -      -     12.00   -      -     st1h     { z0.s }, p7, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z21.h }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1h     { z31.d }, p7, [z31.d, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z31.h }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1h     { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     8.00   8.00    -      -     12.00   -      -     st1h     { z31.s }, p7, [z31.s, #62]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z0.d }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1w     { z0.d }, p0, [x0, z0.d, lsl #2]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1w     { z0.d }, p0, [x0, z0.d, sxtw #2]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1w     { z0.d }, p0, [x0, z0.d, sxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1w     { z0.d }, p0, [x0, z0.d, uxtw #2]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1w     { z0.d }, p0, [x0, z0.d, uxtw]
+# CHECK-NEXT:  -     4.00   4.00   4.00    -     4.00    -      -     st1w     { z0.d }, p0, [x0, z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z0.d }, p0, [x0]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1w     { z0.d }, p7, [z0.d]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1w     { z0.s }, p0, [x0, z0.s, sxtw #2]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1w     { z0.s }, p0, [x0, z0.s, sxtw]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1w     { z0.s }, p0, [x0, z0.s, uxtw #2]
+# CHECK-NEXT:  -     8.00   8.00   8.00    -     8.00    -      -     st1w     { z0.s }, p0, [x0, z0.s, uxtw]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z0.s }, p0, [x0]
+# CHECK-NEXT:  -     8.00   8.00    -      -     12.00   -      -     st1w     { z0.s }, p7, [z0.s]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z21.d }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z21.s }, p5, [x10, #5, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z31.d }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     4.00   4.00    -      -     4.00    -      -     st1w     { z31.d }, p7, [z31.d, #124]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     st1w     { z31.s }, p7, [sp, #-1, mul vl]
+# CHECK-NEXT:  -     8.00   8.00    -      -     12.00   -      -     st1w     { z31.s }, p7, [z31.s, #124]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2b     { z0.b, z1.b }, p0, [x0, x0]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2b     { z0.b, z1.b }, p0, [x0]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2b     { z21.b, z22.b }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2b     { z23.b, z24.b }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2b     { z5.b, z6.b }, p3, [x17, x16]
+# CHECK-NEXT:  -     1.00   1.00    -      -     2.00    -      -     st2d     { z0.d, z1.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     1.50   1.50    -      -     2.00    -      -     st2d     { z0.d, z1.d }, p0, [x0]
+# CHECK-NEXT:  -     1.50   1.50    -      -     2.00    -      -     st2d     { z21.d, z22.d }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -     2.00    -      -     st2d     { z23.d, z24.d }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     1.00   1.00    -      -     2.00    -      -     st2d     { z5.d, z6.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2h     { z0.h, z1.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2h     { z0.h, z1.h }, p0, [x0]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2h     { z21.h, z22.h }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2h     { z23.h, z24.h }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     4.50   4.50    -      -     8.00    -      -     st2h     { z5.h, z6.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     1.00   1.00    -      -     2.00    -      -     st2w     { z0.s, z1.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     1.50   1.50    -      -     2.00    -      -     st2w     { z0.s, z1.s }, p0, [x0]
+# CHECK-NEXT:  -     1.50   1.50    -      -     2.00    -      -     st2w     { z21.s, z22.s }, p5, [x10, #10, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -     2.00    -      -     st2w     { z23.s, z24.s }, p3, [x13, #-16, mul vl]
+# CHECK-NEXT:  -     1.00   1.00    -      -     2.00    -      -     st2w     { z5.s, z6.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3b     { z0.b, z1.b, z2.b }, p0, [x0, x0]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3b     { z0.b, z1.b, z2.b }, p0, [x0]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3b     { z21.b, z22.b, z23.b }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3b     { z23.b, z24.b, z25.b }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3b     { z5.b, z6.b, z7.b }, p3, [x17, x16]
+# CHECK-NEXT:  -     1.50   1.50    -      -     3.00    -      -     st3d     { z0.d, z1.d, z2.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     2.00   2.00    -      -     3.00    -      -     st3d     { z0.d, z1.d, z2.d }, p0, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     3.00    -      -     st3d     { z21.d, z22.d, z23.d }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -     3.00    -      -     st3d     { z23.d, z24.d, z25.d }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -     3.00    -      -     st3d     { z5.d, z6.d, z7.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3h     { z0.h, z1.h, z2.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3h     { z0.h, z1.h, z2.h }, p0, [x0]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3h     { z21.h, z22.h, z23.h }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3h     { z23.h, z24.h, z25.h }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     6.50   6.50    -      -     12.00   -      -     st3h     { z5.h, z6.h, z7.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     1.50   1.50    -      -     3.00    -      -     st3w     { z0.s, z1.s, z2.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     2.00   2.00    -      -     3.00    -      -     st3w     { z0.s, z1.s, z2.s }, p0, [x0]
+# CHECK-NEXT:  -     2.00   2.00    -      -     3.00    -      -     st3w     { z21.s, z22.s, z23.s }, p5, [x10, #15, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -     3.00    -      -     st3w     { z23.s, z24.s, z25.s }, p3, [x13, #-24, mul vl]
+# CHECK-NEXT:  -     1.50   1.50    -      -     3.00    -      -     st3w     { z5.s, z6.s, z7.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4b     { z0.b, z1.b, z2.b, z3.b }, p0, [x0, x0]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4b     { z0.b, z1.b, z2.b, z3.b }, p0, [x0]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4b     { z21.b, z22.b, z23.b, z24.b }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4b     { z23.b, z24.b, z25.b, z26.b }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4b     { z5.b, z6.b, z7.b, z8.b }, p3, [x17, x16]
+# CHECK-NEXT:  -     2.00   2.00    -      -     4.00    -      -     st4d     { z0.d, z1.d, z2.d, z3.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     2.50   2.50    -      -     4.00    -      -     st4d     { z0.d, z1.d, z2.d, z3.d }, p0, [x0]
+# CHECK-NEXT:  -     2.50   2.50    -      -     4.00    -      -     st4d     { z21.d, z22.d, z23.d, z24.d }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  -     2.50   2.50    -      -     4.00    -      -     st4d     { z23.d, z24.d, z25.d, z26.d }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -     4.00    -      -     st4d     { z5.d, z6.d, z7.d, z8.d }, p3, [x17, x16, lsl #3]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4h     { z0.h, z1.h, z2.h, z3.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4h     { z0.h, z1.h, z2.h, z3.h }, p0, [x0]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4h     { z21.h, z22.h, z23.h, z24.h }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4h     { z23.h, z24.h, z25.h, z26.h }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     8.50   8.50    -      -     16.00   -      -     st4h     { z5.h, z6.h, z7.h, z8.h }, p3, [x17, x16, lsl #1]
+# CHECK-NEXT:  -     2.00   2.00    -      -     4.00    -      -     st4w     { z0.s, z1.s, z2.s, z3.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     2.50   2.50    -      -     4.00    -      -     st4w     { z0.s, z1.s, z2.s, z3.s }, p0, [x0]
+# CHECK-NEXT:  -     2.50   2.50    -      -     4.00    -      -     st4w     { z21.s, z22.s, z23.s, z24.s }, p5, [x10, #20, mul vl]
+# CHECK-NEXT:  -     2.50   2.50    -      -     4.00    -      -     st4w     { z23.s, z24.s, z25.s, z26.s }, p3, [x13, #-32, mul vl]
+# CHECK-NEXT:  -     2.00   2.00    -      -     4.00    -      -     st4w     { z5.s, z6.s, z7.s, z8.s }, p3, [x17, x16, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1b   { z0.b }, p0, [x0, x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1b   { z0.b }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1b   { z21.b }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1b   { z23.b }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1d   { z0.d }, p0, [x0, x0, lsl #3]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1d   { z0.d }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1d   { z21.d }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1d   { z23.d }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1h   { z0.h }, p0, [x0, x0, lsl #1]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1h   { z0.h }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1h   { z21.h }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1h   { z23.h }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1w   { z0.s }, p0, [x0, x0, lsl #2]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1w   { z0.s }, p0, [x0]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1w   { z21.s }, p5, [x10, #7, mul vl]
+# CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     stnt1w   { z23.s }, p3, [x13, #-8, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -      -     1.00    -     str      p0, [x0]
+# CHECK-NEXT:  -     1.00    -      -      -      -     1.00    -     str      p15, [sp, #-256, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -      -     1.00    -     str      p5, [x10, #255, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -     1.00    -      -     str      z0, [x0]
+# CHECK-NEXT:  -     1.00    -      -      -     1.00    -      -     str      z21, [x10, #-256, mul vl]
+# CHECK-NEXT:  -     1.00    -      -      -     1.00    -      -     str      z31, [sp, #255, mul vl]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.b, p5/m, z21.b, z10.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.b, z10.b, z21.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.d, p5/m, z21.d, z10.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.d, z10.d, z21.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.h, p5/m, z21.h, z10.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.h, z10.h, z21.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.s, p5/m, z21.s, z10.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z21.s, z10.s, z21.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.b, p3/m, z23.b, z13.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.b, z13.b, z8.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.d, p3/m, z23.d, z13.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.d, z13.d, z8.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.h, p3/m, z23.h, z13.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.h, z13.h, z8.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.s, p3/m, z23.s, z13.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z23.s, z13.s, z8.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sub      z31.s, z31.s, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sub      z31.s, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subr     z0.b, p0/m, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subr     z0.d, p0/m, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subr     z0.h, p0/m, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     subr     z0.s, p0/m, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     subr     z31.s, z31.s, #65280
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sunpkhi  z31.d, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sunpkhi  z31.h, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sunpkhi  z31.s, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sunpklo  z31.d, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sunpklo  z31.h, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sunpklo  z31.s, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtb     z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtb     z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtb     z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtb     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtb     z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtb     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxth     z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxth     z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxth     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxth     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtw     z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sxtw     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     tbl      z31.b, { z31.b }, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     tbl      z31.d, { z31.d }, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     tbl      z31.h, { z31.h }, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     tbl      z31.s, { z31.s }, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn1     p15.b, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn1     p15.d, p15.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn1     p15.h, p15.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn1     p15.s, p15.s, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn1     z31.s, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn2     p15.b, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn2     p15.d, p15.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn2     p15.h, p15.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   trn2     p15.s, p15.s, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     trn2     z31.s, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabd     z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabd     z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabd     z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uabd     z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     uaddv    d0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     uaddv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     uaddv    d0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     uaddv    d0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.d, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.h, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.h, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.s, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ucvtf    z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     178.00  -      -     udiv     z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     114.00  -      -     udiv     z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     178.00  -      -     udivr    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     114.00  -      -     udivr    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     udot     z0.d, z1.h, z15.h[1]
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     udot     z0.d, z1.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     udot     z0.s, z1.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     udot     z0.s, z1.b, z7.b[3]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     umax     z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umax     z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     umax     z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umax     z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umax     z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umax     z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     umaxv    b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     umaxv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     umaxv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     umaxv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     umin     z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umin     z31.b, p7/m, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     umin     z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umin     z31.d, p7/m, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umin     z31.h, p7/m, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umin     z31.s, p7/m, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     5.00   5.00    -     uminv    b0, p7, z31.b
+# CHECK-NEXT:  -      -      -      -      -     3.50   3.50    -     uminv    d0, p7, z31.d
+# CHECK-NEXT:  -      -      -      -      -     4.50   4.50    -     uminv    h0, p7, z31.h
+# CHECK-NEXT:  -      -      -      -      -     4.00   4.00    -     uminv    s0, p7, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umulh    z0.b, p7/m, z0.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umulh    z0.d, p7/m, z0.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umulh    z0.h, p7/m, z0.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     umulh    z0.s, p7/m, z0.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqadd    z31.s, z31.s, #65280
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecb   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecd   x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecd   z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecd   z0.d, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecd   z0.d, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecd   z0.d, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdech   x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdech   z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdech   z0.h, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdech   z0.h, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdech   z0.h, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   wzr, p15.b
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   wzr, p15.d
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   wzr, p15.h
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   wzr, p15.s
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   x0, p0.b
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   x0, p0.d
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   x0, p0.h
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqdecp   x0, p0.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     uqdecp   z0.d, p0.d
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     uqdecp   z0.h, p0.h
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     uqdecp   z0.s, p0.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqdecw   x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecw   z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecw   z0.s, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecw   z0.s, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqdecw   z0.s, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincb   x0, vl1
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincd   x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincd   z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincd   z0.d, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincd   z0.d, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincd   z0.d, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqinch   x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqinch   z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqinch   z0.h, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqinch   z0.h, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqinch   z0.h, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   wzr, p15.b
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   wzr, p15.d
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   wzr, p15.h
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   wzr, p15.s
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   x0, p0.b
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   x0, p0.d
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   x0, p0.h
+# CHECK-NEXT:  -      -      -     1.50   1.50    -     1.00    -     uqincp   x0, p0.s
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     uqincp   z0.d, p0.d
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     uqincp   z0.h, p0.h
+# CHECK-NEXT:  -      -      -     0.50   0.50    -     1.00    -     uqincp   z0.s, p0.s
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   w0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   w0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   w0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   w0, pow2, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   x0
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   x0, #14
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   x0, all, mul #16
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   x0, pow2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     uqincw   x0, vl1
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincw   z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincw   z0.s, all, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincw   z0.s, pow2
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqincw   z0.s, pow2, mul #16
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.b, z0.b, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.d, z0.d, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.d, z0.d, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.h, z0.h, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.h, z0.h, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.s, z0.s, #0
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.s, z0.s, #0, lsl #8
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z31.b, z31.b, #255
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z31.d, z31.d, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z31.h, z31.h, #65280
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uqsub    z31.s, z31.s, #65280
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uunpkhi  z31.d, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uunpkhi  z31.h, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uunpkhi  z31.s, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uunpklo  z31.d, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uunpklo  z31.h, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uunpklo  z31.s, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtb     z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtb     z0.h, p0/m, z0.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtb     z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtb     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtb     z31.h, p7/m, z31.h
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtb     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxth     z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxth     z0.s, p0/m, z0.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxth     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxth     z31.s, p7/m, z31.s
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtw     z0.d, p0/m, z0.d
+# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     uxtw     z31.d, p7/m, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     p15.b, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     p15.d, p15.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     p15.h, p15.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     p15.s, p15.s, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp1     z31.s, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     p15.b, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     p15.d, p15.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     p15.h, p15.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     p15.s, p15.s, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     uzp2     z31.s, z31.s, z31.s
+# CHECK-NEXT:  -     1.00    -      -      -      -     1.00    -     wrffr    p0.b
+# CHECK-NEXT:  -     1.00    -      -      -      -     1.00    -     wrffr    p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p0.b, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p0.d, p0.d, p0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p0.h, p0.h, p0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p0.s, p0.s, p0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p15.b, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p15.d, p15.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p15.h, p15.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     p15.s, p15.s, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip1     z31.s, z31.s, z31.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p0.b, p0.b, p0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p0.d, p0.d, p0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p0.h, p0.h, p0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p0.s, p0.s, p0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p15.b, p15.b, p15.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p15.d, p15.d, p15.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p15.h, p15.h, p15.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     p15.s, p15.s, p15.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z0.b, z0.b, z0.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z0.d, z0.d, z0.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z0.h, z0.h, z0.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z0.s, z0.s, z0.s
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z31.b, z31.b, z31.b
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z31.d, z31.d, z31.d
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z31.h, z31.h, z31.h
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     zip2     z31.s, z31.s, z31.s