[AArch64] Fix sched model for tsv110
authorzhongyunde <zhongyunde@huawei.com>
Thu, 25 Aug 2022 11:14:58 +0000 (19:14 +0800)
committerzhongyunde <zhongyunde@huawei.com>
Thu, 25 Aug 2022 11:20:07 +0000 (19:20 +0800)
Update three changes:
1.Split the Load/Store resources into two, Ld0St and Ld1,
  since only one of them is capable of stores.
2.Integer ADD and SUB instructions have different latencies
  and processor resource usage (pipeline) when they have a shift of
  zero vs. non-zero, refer to D8043
3.The throughout of scalar DIV instruction.

Reviewed By: dmgreen, bryanpkc

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

llvm/lib/Target/AArch64/AArch64SchedTSV110.td
llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-basic-instructions.s

index 9c1bf32..542d9af 100644 (file)
@@ -34,25 +34,29 @@ def TSV110Model : SchedMachineModel {
 // which has 8 pipelines, each with its own queue where micro-ops wait for
 // their operands and issue out-of-order to one of eight execution pipelines.
 let SchedModel = TSV110Model in {
-  def TSV110UnitALU  : ProcResource<1>; // Int ALU
-  def TSV110UnitAB   : ProcResource<2>; // Int ALU/BRU
-  def TSV110UnitMDU  : ProcResource<1>; // Multi-Cycle
-  def TSV110UnitFSU1 : ProcResource<1>; // FP/ASIMD
-  def TSV110UnitFSU2 : ProcResource<1>; // FP/ASIMD
-  def TSV110UnitLdSt : ProcResource<2>; // Load/Store
-
+  def TSV110UnitALU   : ProcResource<1>; // Int ALU
+  def TSV110UnitAB    : ProcResource<2>; // Int ALU/BRU
+  def TSV110UnitMDU   : ProcResource<1>; // Multi-Cycle
+  def TSV110UnitFSU1  : ProcResource<1>; // FP/ASIMD
+  def TSV110UnitFSU2  : ProcResource<1>; // FP/ASIMD
+  def TSV110UnitLd0St : ProcResource<1>; // Load/Store
+  def TSV110UnitLd1   : ProcResource<1>; // Load
+
+  def TSV110UnitLd    : ProcResGroup<[TSV110UnitLd0St, TSV110UnitLd1]>;  // Any load
   def TSV110UnitF     : ProcResGroup<[TSV110UnitFSU1, TSV110UnitFSU2]>;
   def TSV110UnitALUAB : ProcResGroup<[TSV110UnitALU, TSV110UnitAB]>;
-  def TSV110UnitFLdSt : ProcResGroup<[TSV110UnitFSU1, TSV110UnitFSU2, TSV110UnitLdSt]>;
 }
 
 let SchedModel = TSV110Model in {
 
 //===----------------------------------------------------------------------===//
-// Map the target-defined scheduler read/write resources and latency for 
-// TSV110
+// Map the target-defined scheduler read/write resources and latency for TSV110
 
 // Integer ALU
+// TODO: Use SchedVariant to select BRU for ALU ops that sets NZCV flags
+// (including ops that shift and/or extend):
+// 1cyc_1BRU: ADDS, ADCS, ANDS, BICS, SUBS, SBCS, CCMN, CCMP
+// 2cyc_1BRU: ADDSshfr, SUBSshfr, ANDSshfr, ADDSextr, SUBSextr
 def : WriteRes<WriteImm,   [TSV110UnitALUAB]> { let Latency = 1; }
 def : WriteRes<WriteI,     [TSV110UnitALUAB]> { let Latency = 1; }
 def : WriteRes<WriteISReg, [TSV110UnitMDU]>   { let Latency = 2; } 
@@ -69,17 +73,17 @@ def : WriteRes<WriteIM32,  [TSV110UnitMDU]> { let Latency = 3; }
 def : WriteRes<WriteIM64,  [TSV110UnitMDU]> { let Latency = 4; }
 
 // Load
-def : WriteRes<WriteLD,    [TSV110UnitLdSt]> { let Latency = 4; }
-def : WriteRes<WriteLDIdx, [TSV110UnitLdSt]> { let Latency = 4; }
+def : WriteRes<WriteLD,    [TSV110UnitLd]>  { let Latency = 4; }
+def : WriteRes<WriteLDIdx, [TSV110UnitLd]>  { let Latency = 4; }
 def : WriteRes<WriteLDHi,  []> { let Latency = 4; }
 
 // Pre/Post Indexing
 def : WriteRes<WriteAdr,   [TSV110UnitALUAB]> { let Latency = 1; } 
 
 // Store
-def : WriteRes<WriteST,    [TSV110UnitLdSt]> { let Latency = 1; }
-def : WriteRes<WriteSTP,   [TSV110UnitLdSt]> { let Latency = 1; }
-def : WriteRes<WriteSTIdx, [TSV110UnitLdSt]> { let Latency = 1; }
+def : WriteRes<WriteST,    [TSV110UnitLd0St]> { let Latency = 1; }
+def : WriteRes<WriteSTP,   [TSV110UnitLd0St]> { let Latency = 1; }
+def : WriteRes<WriteSTIdx, [TSV110UnitLd0St]> { let Latency = 1; }
 
 // FP
 def : WriteRes<WriteF,     [TSV110UnitF]> { let Latency = 2; }
@@ -90,11 +94,10 @@ def : WriteRes<WriteFImm,  [TSV110UnitF]> { let Latency = 2; }
 def : WriteRes<WriteFMul,  [TSV110UnitF]> { let Latency = 5; }
 
 // FP Div, Sqrt
-def : WriteRes<WriteFDiv,  [TSV110UnitFSU1]> { let Latency = 18; 
+def : WriteRes<WriteFDiv,  [TSV110UnitFSU1]> { let Latency = 18; let ResourceCycles = [18]; }
 
 def : WriteRes<WriteVd,    [TSV110UnitF]>     { let Latency = 4; }
 def : WriteRes<WriteVq,    [TSV110UnitF]>     { let Latency = 4; }
-def : WriteRes<WriteVLD,   [TSV110UnitFLdSt]> { let Latency = 5; }
 def : WriteRes<WriteVST,   [TSV110UnitF]>     { let Latency = 1; }
 
 // Branch
@@ -141,11 +144,10 @@ def : InstRW<[WriteI], (instrs COPY)>;
 def TSV110Wr_1cyc_1AB    : SchedWriteRes<[TSV110UnitAB]>    { let Latency = 1; }
 def TSV110Wr_1cyc_1ALU   : SchedWriteRes<[TSV110UnitALU]>   { let Latency = 1; }
 def TSV110Wr_1cyc_1ALUAB : SchedWriteRes<[TSV110UnitALUAB]> { let Latency = 1; }
-def TSV110Wr_1cyc_1LdSt  : SchedWriteRes<[TSV110UnitLdSt]>  { let Latency = 1; }
+def TSV110Wr_1cyc_1LdSt  : SchedWriteRes<[TSV110UnitLd0St]> { let Latency = 1; }
 
-def TSV110Wr_2cyc_1AB    : SchedWriteRes<[TSV110UnitAB]>    { let Latency = 2; }
+def TSV110Wr_2cyc_1AB    : SchedWriteRes<[TSV110UnitAB]>    { let Latency = 2; let ResourceCycles = [2]; }
 def TSV110Wr_2cyc_1ALU   : SchedWriteRes<[TSV110UnitALU]>   { let Latency = 2; }
-def TSV110Wr_2cyc_1LdSt  : SchedWriteRes<[TSV110UnitLdSt]>  { let Latency = 2; }
 def TSV110Wr_2cyc_1MDU   : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 2; }
 def TSV110Wr_2cyc_1FSU1  : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 2; }
 def TSV110Wr_2cyc_1F     : SchedWriteRes<[TSV110UnitF]>     { let Latency = 2; }
@@ -156,13 +158,13 @@ def TSV110Wr_3cyc_1MDU   : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 3; }
 
 def TSV110Wr_4cyc_1FSU1  : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 4; }
 def TSV110Wr_4cyc_1F     : SchedWriteRes<[TSV110UnitF]>     { let Latency = 4; }
-def TSV110Wr_4cyc_1LdSt  : SchedWriteRes<[TSV110UnitLdSt]>  { let Latency = 4; }
+def TSV110Wr_4cyc_1LdSt  : SchedWriteRes<[TSV110UnitLd]>    { let Latency = 4; }
 def TSV110Wr_4cyc_1MDU   : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 4; }
 
 def TSV110Wr_5cyc_1F     : SchedWriteRes<[TSV110UnitF]>     { let Latency = 5; }
 def TSV110Wr_5cyc_1FSU1  : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 5; }
 def TSV110Wr_5cyc_1FSU2  : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 5; }
-def TSV110Wr_5cyc_1LdSt  : SchedWriteRes<[TSV110UnitLdSt]>  { let Latency = 5; }
+def TSV110Wr_5cyc_1LdSt  : SchedWriteRes<[TSV110UnitLd]>    { let Latency = 5; }
 
 def TSV110Wr_6cyc_1F     : SchedWriteRes<[TSV110UnitF]>     { let Latency = 6; }
 
@@ -170,43 +172,43 @@ def TSV110Wr_7cyc_1F     : SchedWriteRes<[TSV110UnitF]>     { let Latency = 7; }
 
 def TSV110Wr_8cyc_1F     : SchedWriteRes<[TSV110UnitF]>     { let Latency = 8; }
 
-def TSV110Wr_11cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 11; }
+def TSV110Wr_11cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 11; let ResourceCycles = [11]; }
 
-def TSV110Wr_12cyc_1MDU  : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 12; }
+def TSV110Wr_12cyc_1MDU  : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 12; let ResourceCycles = [12]; }
 
-def TSV110Wr_17cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 17; }
+def TSV110Wr_17cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 17; let ResourceCycles = [17]; }
 
-def TSV110Wr_18cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 18; }
+def TSV110Wr_18cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 18; let ResourceCycles = [18]; }
 
-def TSV110Wr_20cyc_1MDU  : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 20; }
+def TSV110Wr_20cyc_1MDU  : SchedWriteRes<[TSV110UnitMDU]>   { let Latency = 20; let ResourceCycles = [20]; }
 
-def TSV110Wr_24cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 24; }
+def TSV110Wr_24cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 24; let ResourceCycles = [24]; }
 
-def TSV110Wr_31cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 31; }
+def TSV110Wr_31cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 31; let ResourceCycles = [31]; }
 
-def TSV110Wr_36cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 36; }
+def TSV110Wr_36cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 36; let ResourceCycles = [36]; }
 
-def TSV110Wr_38cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 38; }
+def TSV110Wr_38cyc_1FSU1 : SchedWriteRes<[TSV110UnitFSU1]>  { let Latency = 38; let ResourceCycles = [38]; }
 
-def TSV110Wr_64cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 64; }
+def TSV110Wr_64cyc_1FSU2 : SchedWriteRes<[TSV110UnitFSU2]>  { let Latency = 64; let ResourceCycles = [64]; }
 
 //===----------------------------------------------------------------------===//
 // Define Generic 2 micro-op types
 
-def TSV110Wr_1cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLdSt,
+def TSV110Wr_1cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLd0St,
                                                 TSV110UnitALUAB]> {
   let Latency = 1;
   let NumMicroOps = 2;
 }
 
-def TSV110Wr_2cyc_1LdSt_1ALUAB :  SchedWriteRes<[TSV110UnitLdSt,
-                                                 TSV110UnitALUAB]> {
+def TSV110Wr_2cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLd0St,
+                                                TSV110UnitALUAB]> {
   let Latency = 2;
   let NumMicroOps = 2;
 }
 
-def TSV110Wr_2cyc_2LdSt        : SchedWriteRes<[TSV110UnitLdSt,
-                                                TSV110UnitLdSt]> {
+def TSV110Wr_2cyc_2LdSt        : SchedWriteRes<[TSV110UnitLd0St,
+                                                TSV110UnitLd0St]> {
   let Latency = 2;
   let NumMicroOps = 2;
 }
@@ -235,7 +237,7 @@ def TSV110Wr_4cyc_1FSU1_1FSU2  : SchedWriteRes<[TSV110UnitFSU1,
   let NumMicroOps = 2;
 }
 
-def TSV110Wr_4cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLdSt,
+def TSV110Wr_4cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLd,
                                                 TSV110UnitALUAB]> {
   let Latency = 4;
   let NumMicroOps = 2;
@@ -247,20 +249,20 @@ def TSV110Wr_5cyc_1ALU_1F      : SchedWriteRes<[TSV110UnitALU,
   let NumMicroOps = 2;
 }
 
-def TSV110Wr_6cyc_2LdSt        : SchedWriteRes<[TSV110UnitLdSt,
-                                                TSV110UnitLdSt]> {
+def TSV110Wr_6cyc_2LdSt        : SchedWriteRes<[TSV110UnitLd,
+                                                TSV110UnitLd]> {
   let Latency = 6;
   let NumMicroOps = 2;
 }
 
-def TSV110Wr_6cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLdSt,
+def TSV110Wr_6cyc_1LdSt_1ALUAB : SchedWriteRes<[TSV110UnitLd,
                                                 TSV110UnitALUAB]> {
   let Latency = 6;
   let NumMicroOps = 2;
 }
 
 def TSV110Wr_7cyc_1F_1LdSt     : SchedWriteRes<[TSV110UnitF,
-                                                TSV110UnitLdSt]> {
+                                                TSV110UnitLd]> {
   let Latency = 7;
   let NumMicroOps = 2;
 }
@@ -287,14 +289,14 @@ def TSV110Wr_6cyc_3F       : SchedWriteRes<[TSV110UnitF, TSV110UnitF,
   let NumMicroOps = 3;
 }
 
-def TSV110Wr_6cyc_3LdSt    : SchedWriteRes<[TSV110UnitLdSt, TSV110UnitLdSt,
-                                            TSV110UnitLdSt]> {
+def TSV110Wr_6cyc_3LdSt    : SchedWriteRes<[TSV110UnitLd, TSV110UnitLd,
+                                            TSV110UnitLd]> {
   let Latency = 6;
   let NumMicroOps = 3;
 }
 
 def TSV110Wr_7cyc_2F_1LdSt : SchedWriteRes<[TSV110UnitF, TSV110UnitF,
-                                                         TSV110UnitLdSt]> {
+                                                         TSV110UnitLd]> {
   let Latency = 7;
   let NumMicroOps = 3;
 }
@@ -309,7 +311,7 @@ def TSV110Wr_8cyc_4F          : SchedWriteRes<[TSV110UnitF, TSV110UnitF,
 }
 
 def TSV110Wr_8cyc_3F_1LdSt    : SchedWriteRes<[TSV110UnitF, TSV110UnitF,
-                                               TSV110UnitF, TSV110UnitLdSt]> {
+                                               TSV110UnitF, TSV110UnitLd]> {
   let Latency = 8;
   let NumMicroOps = 4;
 }
@@ -318,7 +320,7 @@ def TSV110Wr_8cyc_3F_1LdSt    : SchedWriteRes<[TSV110UnitF, TSV110UnitF,
 // Define Generic 5 micro-op types
 
 def TSV110Wr_8cyc_3F_2LdSt : SchedWriteRes<[TSV110UnitF, TSV110UnitF, TSV110UnitF,
-                                            TSV110UnitLdSt, TSV110UnitLdSt]> {
+                                            TSV110UnitLd, TSV110UnitLd]> {
   let Latency = 8;
   let NumMicroOps = 5;
 }
@@ -328,8 +330,8 @@ def TSV110Wr_8cyc_3F_2LdSt : SchedWriteRes<[TSV110UnitF, TSV110UnitF, TSV110Unit
 
 def TSV110Wr_10cyc_4F_4LdSt : SchedWriteRes<[TSV110UnitF, TSV110UnitF,
                                              TSV110UnitF, TSV110UnitF,
-                                             TSV110UnitLdSt, TSV110UnitLdSt,
-                                             TSV110UnitLdSt, TSV110UnitLdSt]> {
+                                             TSV110UnitLd, TSV110UnitLd,
+                                             TSV110UnitLd, TSV110UnitLd]> {
   let Latency = 10;
   let NumMicroOps = 8;
 }
@@ -371,10 +373,32 @@ def : InstRW<[TSV110Wr_1cyc_1AB],    (instregex "(ADD|AND|EOR|ORR|SUB)S[WX]r(r|i
 def : InstRW<[TSV110Wr_1cyc_1ALUAB], (instregex "^(ADC|SBC|BIC)[WX]r$")>;
 def : InstRW<[TSV110Wr_1cyc_1AB],    (instregex "^(ADC|SBC)S[WX]r$")>;
 
-def : InstRW<[TSV110Wr_2cyc_1MDU],   (instregex "^(AND|BIC|EON|EOR|ORN|ORR)[WX]rs$")>;
-def : InstRW<[TSV110Wr_2cyc_1AB],    (instregex "^(AND|BIC|EON|EOR|ORN|ORR)S[WX]rs$")>;
-def : InstRW<[TSV110Wr_2cyc_1MDU],   (instregex "^(ADD|SUB)[WX]r(s|x|x64)$")>;
-def : InstRW<[TSV110Wr_2cyc_1AB],    (instregex "^(ADD|SUB)S[WX]r(s|x|x64)$")>;
+
+// Shifted Register with Shift == 0
+// ----------------------------------------------------------------------------
+
+def TSV110WrISReg : SchedWriteVariant<[
+       SchedVar<RegShiftedPred, [WriteISReg]>,
+       SchedVar<NoSchedPred, [WriteI]>]>;
+def : InstRW<[TSV110WrISReg], (instregex "^(ADD|AND|BIC|EON|EOR|ORN|ORR|SUB)[WX]rs$")>;
+
+def TSV110WrISRegBr : SchedWriteVariant<[
+       SchedVar<RegShiftedPred, [TSV110Wr_2cyc_1AB]>,
+       SchedVar<NoSchedPred, [WriteBr]>]>;
+def : InstRW<[TSV110WrISRegBr], (instregex "^(ADD|AND|BIC|EON|EOR|ORN|ORR|SUB)S[WX]rs$")>;
+
+// Extended Register with Extend == 0
+// ----------------------------------------------------------------------------
+
+def TSV110WrIEReg : SchedWriteVariant<[
+       SchedVar<RegExtendedPred, [WriteISReg]>,
+       SchedVar<NoSchedPred, [WriteI]>]>;
+def : InstRW<[TSV110WrIEReg], (instregex "^(ADD|SUB)[WX]r(x|x64)$")>;
+
+def TSV110WrIERegBr : SchedWriteVariant<[
+       SchedVar<RegExtendedPred, [TSV110Wr_2cyc_1AB]>,
+       SchedVar<NoSchedPred, [WriteBr]>]>;
+def : InstRW<[TSV110WrIERegBr], (instregex "^(ADD|SUB)S[WX]r(x|x64)$")>;
 
 def : InstRW<[TSV110Wr_1cyc_1AB],    (instregex "^(CCMN|CCMP)(W|X)(r|i)$")>;
 def : InstRW<[TSV110Wr_1cyc_1ALUAB], (instregex "^(CSEL|CSINC|CSINV|CSNEG)(W|X)r$")>;
index c6083db..6eb5d02 100644 (file)
@@ -65,6 +65,14 @@ add      x27, x28, x29, lsr #63
 add      x2, x3, x4, asr #0
 add      x5, x6, x7, asr #21
 add      x8, x9, x10, asr #63
+add      x1, x4, w5, uxtb #4
+add      x2, x2, w2, uxth #3
+add      x9, x10, w11, uxtw #1
+add      x18, x19, x20, uxtx #4
+add      x12, x13, w14, sxtb #0
+add      x15, x16, w17, sxth #1
+add      x18, x19, w20, sxtw #2
+add      x10, x19, x20, sxtx #4
 adds     w3, w5, w7
 cmn      w3, w5
 adds     w20, wzr, w4
@@ -91,6 +99,8 @@ adds     x27, x28, x29, lsr #63
 adds     x2, x3, x4, asr #0
 adds     x5, x6, x7, asr #21
 adds     x8, x9, x10, asr #63
+adds     x21, x22, x23, sxtx #0
+adds     x1, x2, x3, uxtx #4
 sub      w3, w5, w7
 sub      wzr, w3, w5
 sub      w4, w6, wzr
@@ -1401,11 +1411,11 @@ br       x20
 # CHECK-NEXT:  1      1     0.33                        mov    wsp, w20
 # CHECK-NEXT:  1      1     0.33                        mov    x11, sp
 # CHECK-NEXT:  1      1     0.33                        mov    w24, wsp
-# CHECK-NEXT:  1      2     1.00                        add    w3, w5, w7
-# CHECK-NEXT:  1      2     1.00                        add    wzr, w3, w5
-# CHECK-NEXT:  1      2     1.00                        add    w20, wzr, w4
-# CHECK-NEXT:  1      2     1.00                        add    w4, w6, wzr
-# CHECK-NEXT:  1      2     1.00                        add    w11, w13, w15
+# CHECK-NEXT:  1      1     0.33                        add    w3, w5, w7
+# CHECK-NEXT:  1      1     0.33                        add    wzr, w3, w5
+# CHECK-NEXT:  1      1     0.33                        add    w20, wzr, w4
+# CHECK-NEXT:  1      1     0.33                        add    w4, w6, wzr
+# CHECK-NEXT:  1      1     0.33                        add    w11, w13, w15
 # CHECK-NEXT:  1      2     1.00                        add    w9, w3, wzr, lsl #10
 # CHECK-NEXT:  1      2     1.00                        add    w17, w29, w20, lsl #31
 # CHECK-NEXT:  1      2     1.00                        add    w21, w22, w23, lsr #0
@@ -1414,11 +1424,11 @@ br       x20
 # CHECK-NEXT:  1      2     1.00                        add    w2, w3, w4, asr #0
 # CHECK-NEXT:  1      2     1.00                        add    w5, w6, w7, asr #21
 # CHECK-NEXT:  1      2     1.00                        add    w8, w9, w10, asr #31
-# CHECK-NEXT:  1      2     1.00                        add    x3, x5, x7
-# CHECK-NEXT:  1      2     1.00                        add    xzr, x3, x5
-# CHECK-NEXT:  1      2     1.00                        add    x20, xzr, x4
-# CHECK-NEXT:  1      2     1.00                        add    x4, x6, xzr
-# CHECK-NEXT:  1      2     1.00                        add    x11, x13, x15
+# CHECK-NEXT:  1      1     0.33                        add    x3, x5, x7
+# CHECK-NEXT:  1      1     0.33                        add    xzr, x3, x5
+# CHECK-NEXT:  1      1     0.33                        add    x20, xzr, x4
+# CHECK-NEXT:  1      1     0.33                        add    x4, x6, xzr
+# CHECK-NEXT:  1      1     0.33                        add    x11, x13, x15
 # CHECK-NEXT:  1      2     1.00                        add    x9, x3, xzr, lsl #10
 # CHECK-NEXT:  1      2     1.00                        add    x17, x29, x20, lsl #63
 # CHECK-NEXT:  1      2     1.00                        add    x21, x22, x23, lsr #0
@@ -1427,36 +1437,46 @@ br       x20
 # CHECK-NEXT:  1      2     1.00                        add    x2, x3, x4, asr #0
 # CHECK-NEXT:  1      2     1.00                        add    x5, x6, x7, asr #21
 # CHECK-NEXT:  1      2     1.00                        add    x8, x9, x10, asr #63
-# CHECK-NEXT:  1      2     0.50                        adds   w3, w5, w7
-# CHECK-NEXT:  1      2     0.50                        cmn    w3, w5
-# CHECK-NEXT:  1      2     0.50                        adds   w20, wzr, w4
-# CHECK-NEXT:  1      2     0.50                        adds   w4, w6, wzr
-# CHECK-NEXT:  1      2     0.50                        adds   w11, w13, w15
-# CHECK-NEXT:  1      2     0.50                        adds   w9, w3, wzr, lsl #10
-# CHECK-NEXT:  1      2     0.50                        adds   w17, w29, w20, lsl #31
-# CHECK-NEXT:  1      2     0.50                        adds   w21, w22, w23, lsr #0
-# CHECK-NEXT:  1      2     0.50                        adds   w24, w25, w26, lsr #18
-# CHECK-NEXT:  1      2     0.50                        adds   w27, w28, w29, lsr #31
-# CHECK-NEXT:  1      2     0.50                        adds   w2, w3, w4, asr #0
-# CHECK-NEXT:  1      2     0.50                        adds   w5, w6, w7, asr #21
-# CHECK-NEXT:  1      2     0.50                        adds   w8, w9, w10, asr #31
-# CHECK-NEXT:  1      2     0.50                        adds   x3, x5, x7
-# CHECK-NEXT:  1      2     0.50                        cmn    x3, x5
-# CHECK-NEXT:  1      2     0.50                        adds   x20, xzr, x4
-# CHECK-NEXT:  1      2     0.50                        adds   x4, x6, xzr
-# CHECK-NEXT:  1      2     0.50                        adds   x11, x13, x15
-# CHECK-NEXT:  1      2     0.50                        adds   x9, x3, xzr, lsl #10
-# CHECK-NEXT:  1      2     0.50                        adds   x17, x29, x20, lsl #63
-# CHECK-NEXT:  1      2     0.50                        adds   x21, x22, x23, lsr #0
-# CHECK-NEXT:  1      2     0.50                        adds   x24, x25, x26, lsr #18
-# CHECK-NEXT:  1      2     0.50                        adds   x27, x28, x29, lsr #63
-# CHECK-NEXT:  1      2     0.50                        adds   x2, x3, x4, asr #0
-# CHECK-NEXT:  1      2     0.50                        adds   x5, x6, x7, asr #21
-# CHECK-NEXT:  1      2     0.50                        adds   x8, x9, x10, asr #63
-# CHECK-NEXT:  1      2     1.00                        sub    w3, w5, w7
-# CHECK-NEXT:  1      2     1.00                        sub    wzr, w3, w5
-# CHECK-NEXT:  1      2     1.00                        sub    w4, w6, wzr
-# CHECK-NEXT:  1      2     1.00                        sub    w11, w13, w15
+# CHECK-NEXT:  1      2     1.00                        add    x1, x4, w5, uxtb #4
+# CHECK-NEXT:  1      2     1.00                        add    x2, x2, w2, uxth #3
+# CHECK-NEXT:  1      2     1.00                        add    x9, x10, w11, uxtw #1
+# CHECK-NEXT:  1      2     1.00                        add    x18, x19, x20, uxtx #4
+# CHECK-NEXT:  1      2     1.00                        add    x12, x13, w14, sxtb
+# CHECK-NEXT:  1      2     1.00                        add    x15, x16, w17, sxth #1
+# CHECK-NEXT:  1      2     1.00                        add    x18, x19, w20, sxtw #2
+# CHECK-NEXT:  1      2     1.00                        add    x10, x19, x20, sxtx #4
+# CHECK-NEXT:  1      1     0.50                        adds   w3, w5, w7
+# CHECK-NEXT:  1      1     0.50                        cmn    w3, w5
+# CHECK-NEXT:  1      1     0.50                        adds   w20, wzr, w4
+# CHECK-NEXT:  1      1     0.50                        adds   w4, w6, wzr
+# CHECK-NEXT:  1      1     0.50                        adds   w11, w13, w15
+# CHECK-NEXT:  1      2     1.00                        adds   w9, w3, wzr, lsl #10
+# CHECK-NEXT:  1      2     1.00                        adds   w17, w29, w20, lsl #31
+# CHECK-NEXT:  1      2     1.00                        adds   w21, w22, w23, lsr #0
+# CHECK-NEXT:  1      2     1.00                        adds   w24, w25, w26, lsr #18
+# CHECK-NEXT:  1      2     1.00                        adds   w27, w28, w29, lsr #31
+# CHECK-NEXT:  1      2     1.00                        adds   w2, w3, w4, asr #0
+# CHECK-NEXT:  1      2     1.00                        adds   w5, w6, w7, asr #21
+# CHECK-NEXT:  1      2     1.00                        adds   w8, w9, w10, asr #31
+# CHECK-NEXT:  1      1     0.50                        adds   x3, x5, x7
+# CHECK-NEXT:  1      1     0.50                        cmn    x3, x5
+# CHECK-NEXT:  1      1     0.50                        adds   x20, xzr, x4
+# CHECK-NEXT:  1      1     0.50                        adds   x4, x6, xzr
+# CHECK-NEXT:  1      1     0.50                        adds   x11, x13, x15
+# CHECK-NEXT:  1      2     1.00                        adds   x9, x3, xzr, lsl #10
+# CHECK-NEXT:  1      2     1.00                        adds   x17, x29, x20, lsl #63
+# CHECK-NEXT:  1      2     1.00                        adds   x21, x22, x23, lsr #0
+# CHECK-NEXT:  1      2     1.00                        adds   x24, x25, x26, lsr #18
+# CHECK-NEXT:  1      2     1.00                        adds   x27, x28, x29, lsr #63
+# CHECK-NEXT:  1      2     1.00                        adds   x2, x3, x4, asr #0
+# CHECK-NEXT:  1      2     1.00                        adds   x5, x6, x7, asr #21
+# CHECK-NEXT:  1      2     1.00                        adds   x8, x9, x10, asr #63
+# CHECK-NEXT:  1      2     1.00                        adds   x21, x22, x23, sxtx
+# CHECK-NEXT:  1      2     1.00                        adds   x1, x2, x3, uxtx #4
+# CHECK-NEXT:  1      1     0.33                        sub    w3, w5, w7
+# CHECK-NEXT:  1      1     0.33                        sub    wzr, w3, w5
+# CHECK-NEXT:  1      1     0.33                        sub    w4, w6, wzr
+# CHECK-NEXT:  1      1     0.33                        sub    w11, w13, w15
 # CHECK-NEXT:  1      2     1.00                        sub    w9, w3, wzr, lsl #10
 # CHECK-NEXT:  1      2     1.00                        sub    w17, w29, w20, lsl #31
 # CHECK-NEXT:  1      2     1.00                        sub    w21, w22, w23, lsr #0
@@ -1465,10 +1485,10 @@ br       x20
 # CHECK-NEXT:  1      2     1.00                        sub    w2, w3, w4, asr #0
 # CHECK-NEXT:  1      2     1.00                        sub    w5, w6, w7, asr #21
 # CHECK-NEXT:  1      2     1.00                        sub    w8, w9, w10, asr #31
-# CHECK-NEXT:  1      2     1.00                        sub    x3, x5, x7
-# CHECK-NEXT:  1      2     1.00                        sub    xzr, x3, x5
-# CHECK-NEXT:  1      2     1.00                        sub    x4, x6, xzr
-# CHECK-NEXT:  1      2     1.00                        sub    x11, x13, x15
+# CHECK-NEXT:  1      1     0.33                        sub    x3, x5, x7
+# CHECK-NEXT:  1      1     0.33                        sub    xzr, x3, x5
+# CHECK-NEXT:  1      1     0.33                        sub    x4, x6, xzr
+# CHECK-NEXT:  1      1     0.33                        sub    x11, x13, x15
 # CHECK-NEXT:  1      2     1.00                        sub    x9, x3, xzr, lsl #10
 # CHECK-NEXT:  1      2     1.00                        sub    x17, x29, x20, lsl #63
 # CHECK-NEXT:  1      2     1.00                        sub    x21, x22, x23, lsr #0
@@ -1477,78 +1497,78 @@ br       x20
 # CHECK-NEXT:  1      2     1.00                        sub    x2, x3, x4, asr #0
 # CHECK-NEXT:  1      2     1.00                        sub    x5, x6, x7, asr #21
 # CHECK-NEXT:  1      2     1.00                        sub    x8, x9, x10, asr #63
-# CHECK-NEXT:  1      2     0.50                        subs   w3, w5, w7
-# CHECK-NEXT:  1      2     0.50                        cmp    w3, w5
-# CHECK-NEXT:  1      2     0.50                        subs   w4, w6, wzr
-# CHECK-NEXT:  1      2     0.50                        subs   w11, w13, w15
-# CHECK-NEXT:  1      2     0.50                        subs   w9, w3, wzr, lsl #10
-# CHECK-NEXT:  1      2     0.50                        subs   w17, w29, w20, lsl #31
-# CHECK-NEXT:  1      2     0.50                        subs   w21, w22, w23, lsr #0
-# CHECK-NEXT:  1      2     0.50                        subs   w24, w25, w26, lsr #18
-# CHECK-NEXT:  1      2     0.50                        subs   w27, w28, w29, lsr #31
-# CHECK-NEXT:  1      2     0.50                        subs   w2, w3, w4, asr #0
-# CHECK-NEXT:  1      2     0.50                        subs   w5, w6, w7, asr #21
-# CHECK-NEXT:  1      2     0.50                        subs   w8, w9, w10, asr #31
-# CHECK-NEXT:  1      2     0.50                        subs   x3, x5, x7
-# CHECK-NEXT:  1      2     0.50                        cmp    x3, x5
-# CHECK-NEXT:  1      2     0.50                        subs   x4, x6, xzr
-# CHECK-NEXT:  1      2     0.50                        subs   x11, x13, x15
-# CHECK-NEXT:  1      2     0.50                        subs   x9, x3, xzr, lsl #10
-# CHECK-NEXT:  1      2     0.50                        subs   x17, x29, x20, lsl #63
-# CHECK-NEXT:  1      2     0.50                        subs   x21, x22, x23, lsr #0
-# CHECK-NEXT:  1      2     0.50                        subs   x24, x25, x26, lsr #18
-# CHECK-NEXT:  1      2     0.50                        subs   x27, x28, x29, lsr #63
-# CHECK-NEXT:  1      2     0.50                        subs   x2, x3, x4, asr #0
-# CHECK-NEXT:  1      2     0.50                        subs   x5, x6, x7, asr #21
-# CHECK-NEXT:  1      2     0.50                        subs   x8, x9, x10, asr #63
-# CHECK-NEXT:  1      2     0.50                        cmn    wzr, w4
-# CHECK-NEXT:  1      2     0.50                        cmn    w5, wzr
-# CHECK-NEXT:  1      2     0.50                        cmn    w6, w7
-# CHECK-NEXT:  1      2     0.50                        cmn    w8, w9, lsl #15
-# CHECK-NEXT:  1      2     0.50                        cmn    w10, w11, lsl #31
-# CHECK-NEXT:  1      2     0.50                        cmn    w12, w13, lsr #0
-# CHECK-NEXT:  1      2     0.50                        cmn    w14, w15, lsr #21
-# CHECK-NEXT:  1      2     0.50                        cmn    w16, w17, lsr #31
-# CHECK-NEXT:  1      2     0.50                        cmn    w18, w19, asr #0
-# CHECK-NEXT:  1      2     0.50                        cmn    w20, w21, asr #22
-# CHECK-NEXT:  1      2     0.50                        cmn    w22, w23, asr #31
-# CHECK-NEXT:  1      2     0.50                        cmn    x0, x3
-# CHECK-NEXT:  1      2     0.50                        cmn    xzr, x4
-# CHECK-NEXT:  1      2     0.50                        cmn    x5, xzr
-# CHECK-NEXT:  1      2     0.50                        cmn    x6, x7
-# CHECK-NEXT:  1      2     0.50                        cmn    x8, x9, lsl #15
-# CHECK-NEXT:  1      2     0.50                        cmn    x10, x11, lsl #63
-# CHECK-NEXT:  1      2     0.50                        cmn    x12, x13, lsr #0
-# CHECK-NEXT:  1      2     0.50                        cmn    x14, x15, lsr #41
-# CHECK-NEXT:  1      2     0.50                        cmn    x16, x17, lsr #63
-# CHECK-NEXT:  1      2     0.50                        cmn    x18, x19, asr #0
-# CHECK-NEXT:  1      2     0.50                        cmn    x20, x21, asr #55
-# CHECK-NEXT:  1      2     0.50                        cmn    x22, x23, asr #63
-# CHECK-NEXT:  1      2     0.50                        cmp    w0, w3
-# CHECK-NEXT:  1      2     0.50                        cmp    wzr, w4
-# CHECK-NEXT:  1      2     0.50                        cmp    w5, wzr
-# CHECK-NEXT:  1      2     0.50                        cmp    w6, w7
-# CHECK-NEXT:  1      2     0.50                        cmp    w8, w9, lsl #15
-# CHECK-NEXT:  1      2     0.50                        cmp    w10, w11, lsl #31
-# CHECK-NEXT:  1      2     0.50                        cmp    w12, w13, lsr #0
-# CHECK-NEXT:  1      2     0.50                        cmp    w14, w15, lsr #21
-# CHECK-NEXT:  1      2     0.50                        cmp    w18, w19, asr #0
-# CHECK-NEXT:  1      2     0.50                        cmp    w20, w21, asr #22
-# CHECK-NEXT:  1      2     0.50                        cmp    w22, w23, asr #31
-# CHECK-NEXT:  1      2     0.50                        cmp    x0, x3
-# CHECK-NEXT:  1      2     0.50                        cmp    xzr, x4
-# CHECK-NEXT:  1      2     0.50                        cmp    x5, xzr
-# CHECK-NEXT:  1      2     0.50                        cmp    x6, x7
-# CHECK-NEXT:  1      2     0.50                        cmp    x8, x9, lsl #15
-# CHECK-NEXT:  1      2     0.50                        cmp    x10, x11, lsl #63
-# CHECK-NEXT:  1      2     0.50                        cmp    x12, x13, lsr #0
-# CHECK-NEXT:  1      2     0.50                        cmp    x14, x15, lsr #41
-# CHECK-NEXT:  1      2     0.50                        cmp    x16, x17, lsr #63
-# CHECK-NEXT:  1      2     0.50                        cmp    x18, x19, asr #0
-# CHECK-NEXT:  1      2     0.50                        cmp    x20, x21, asr #55
-# CHECK-NEXT:  1      2     0.50                        cmp    x22, x23, asr #63
-# CHECK-NEXT:  1      2     0.50                        cmp    wzr, w0
-# CHECK-NEXT:  1      2     0.50                        cmp    xzr, x0
+# CHECK-NEXT:  1      1     0.50                        subs   w3, w5, w7
+# CHECK-NEXT:  1      1     0.50                        cmp    w3, w5
+# CHECK-NEXT:  1      1     0.50                        subs   w4, w6, wzr
+# CHECK-NEXT:  1      1     0.50                        subs   w11, w13, w15
+# CHECK-NEXT:  1      2     1.00                        subs   w9, w3, wzr, lsl #10
+# CHECK-NEXT:  1      2     1.00                        subs   w17, w29, w20, lsl #31
+# CHECK-NEXT:  1      2     1.00                        subs   w21, w22, w23, lsr #0
+# CHECK-NEXT:  1      2     1.00                        subs   w24, w25, w26, lsr #18
+# CHECK-NEXT:  1      2     1.00                        subs   w27, w28, w29, lsr #31
+# CHECK-NEXT:  1      2     1.00                        subs   w2, w3, w4, asr #0
+# CHECK-NEXT:  1      2     1.00                        subs   w5, w6, w7, asr #21
+# CHECK-NEXT:  1      2     1.00                        subs   w8, w9, w10, asr #31
+# CHECK-NEXT:  1      1     0.50                        subs   x3, x5, x7
+# CHECK-NEXT:  1      1     0.50                        cmp    x3, x5
+# CHECK-NEXT:  1      1     0.50                        subs   x4, x6, xzr
+# CHECK-NEXT:  1      1     0.50                        subs   x11, x13, x15
+# CHECK-NEXT:  1      2     1.00                        subs   x9, x3, xzr, lsl #10
+# CHECK-NEXT:  1      2     1.00                        subs   x17, x29, x20, lsl #63
+# CHECK-NEXT:  1      2     1.00                        subs   x21, x22, x23, lsr #0
+# CHECK-NEXT:  1      2     1.00                        subs   x24, x25, x26, lsr #18
+# CHECK-NEXT:  1      2     1.00                        subs   x27, x28, x29, lsr #63
+# CHECK-NEXT:  1      2     1.00                        subs   x2, x3, x4, asr #0
+# CHECK-NEXT:  1      2     1.00                        subs   x5, x6, x7, asr #21
+# CHECK-NEXT:  1      2     1.00                        subs   x8, x9, x10, asr #63
+# CHECK-NEXT:  1      1     0.50                        cmn    wzr, w4
+# CHECK-NEXT:  1      1     0.50                        cmn    w5, wzr
+# CHECK-NEXT:  1      1     0.50                        cmn    w6, w7
+# CHECK-NEXT:  1      2     1.00                        cmn    w8, w9, lsl #15
+# CHECK-NEXT:  1      2     1.00                        cmn    w10, w11, lsl #31
+# CHECK-NEXT:  1      2     1.00                        cmn    w12, w13, lsr #0
+# CHECK-NEXT:  1      2     1.00                        cmn    w14, w15, lsr #21
+# CHECK-NEXT:  1      2     1.00                        cmn    w16, w17, lsr #31
+# CHECK-NEXT:  1      2     1.00                        cmn    w18, w19, asr #0
+# CHECK-NEXT:  1      2     1.00                        cmn    w20, w21, asr #22
+# CHECK-NEXT:  1      2     1.00                        cmn    w22, w23, asr #31
+# CHECK-NEXT:  1      1     0.50                        cmn    x0, x3
+# CHECK-NEXT:  1      1     0.50                        cmn    xzr, x4
+# CHECK-NEXT:  1      1     0.50                        cmn    x5, xzr
+# CHECK-NEXT:  1      1     0.50                        cmn    x6, x7
+# CHECK-NEXT:  1      2     1.00                        cmn    x8, x9, lsl #15
+# CHECK-NEXT:  1      2     1.00                        cmn    x10, x11, lsl #63
+# CHECK-NEXT:  1      2     1.00                        cmn    x12, x13, lsr #0
+# CHECK-NEXT:  1      2     1.00                        cmn    x14, x15, lsr #41
+# CHECK-NEXT:  1      2     1.00                        cmn    x16, x17, lsr #63
+# CHECK-NEXT:  1      2     1.00                        cmn    x18, x19, asr #0
+# CHECK-NEXT:  1      2     1.00                        cmn    x20, x21, asr #55
+# CHECK-NEXT:  1      2     1.00                        cmn    x22, x23, asr #63
+# CHECK-NEXT:  1      1     0.50                        cmp    w0, w3
+# CHECK-NEXT:  1      1     0.50                        cmp    wzr, w4
+# CHECK-NEXT:  1      1     0.50                        cmp    w5, wzr
+# CHECK-NEXT:  1      1     0.50                        cmp    w6, w7
+# CHECK-NEXT:  1      2     1.00                        cmp    w8, w9, lsl #15
+# CHECK-NEXT:  1      2     1.00                        cmp    w10, w11, lsl #31
+# CHECK-NEXT:  1      2     1.00                        cmp    w12, w13, lsr #0
+# CHECK-NEXT:  1      2     1.00                        cmp    w14, w15, lsr #21
+# CHECK-NEXT:  1      2     1.00                        cmp    w18, w19, asr #0
+# CHECK-NEXT:  1      2     1.00                        cmp    w20, w21, asr #22
+# CHECK-NEXT:  1      2     1.00                        cmp    w22, w23, asr #31
+# CHECK-NEXT:  1      1     0.50                        cmp    x0, x3
+# CHECK-NEXT:  1      1     0.50                        cmp    xzr, x4
+# CHECK-NEXT:  1      1     0.50                        cmp    x5, xzr
+# CHECK-NEXT:  1      1     0.50                        cmp    x6, x7
+# CHECK-NEXT:  1      2     1.00                        cmp    x8, x9, lsl #15
+# CHECK-NEXT:  1      2     1.00                        cmp    x10, x11, lsl #63
+# CHECK-NEXT:  1      2     1.00                        cmp    x12, x13, lsr #0
+# CHECK-NEXT:  1      2     1.00                        cmp    x14, x15, lsr #41
+# CHECK-NEXT:  1      2     1.00                        cmp    x16, x17, lsr #63
+# CHECK-NEXT:  1      2     1.00                        cmp    x18, x19, asr #0
+# CHECK-NEXT:  1      2     1.00                        cmp    x20, x21, asr #55
+# CHECK-NEXT:  1      2     1.00                        cmp    x22, x23, asr #63
+# CHECK-NEXT:  1      1     0.50                        cmp    wzr, w0
+# CHECK-NEXT:  1      1     0.50                        cmp    xzr, x0
 # CHECK-NEXT:  1      1     0.33                        adc    w29, w27, w25
 # CHECK-NEXT:  1      1     0.33                        adc    wzr, w3, w4
 # CHECK-NEXT:  1      1     0.33                        adc    w9, wzr, w10
@@ -1779,10 +1799,10 @@ br       x20
 # CHECK-NEXT:  1      1     0.33                        clz    x26, x4
 # CHECK-NEXT:  1      1     0.33                        cls    w3, w5
 # CHECK-NEXT:  1      1     0.33                        cls    x20, x5
-# CHECK-NEXT:  1      12    1.00                        udiv   w0, w7, w10
-# CHECK-NEXT:  1      20    1.00                        udiv   x9, x22, x4
-# CHECK-NEXT:  1      12    1.00                        sdiv   w12, w21, w0
-# CHECK-NEXT:  1      20    1.00                        sdiv   x13, x2, x1
+# CHECK-NEXT:  1      12    12.00                       udiv   w0, w7, w10
+# CHECK-NEXT:  1      20    20.00                       udiv   x9, x22, x4
+# CHECK-NEXT:  1      12    12.00                       sdiv   w12, w21, w0
+# CHECK-NEXT:  1      20    20.00                       sdiv   x13, x2, x1
 # CHECK-NEXT:  1      1     0.33                        lsl    w11, w12, w13
 # CHECK-NEXT:  1      1     0.33                        lsl    x14, x15, x16
 # CHECK-NEXT:  1      1     0.33                        lsr    w17, w18, w19
@@ -1886,7 +1906,7 @@ br       x20
 # CHECK-NEXT:  1      2     0.50                        fmov   s0, s1
 # CHECK-NEXT:  1      2     0.50                        fabs   s2, s3
 # CHECK-NEXT:  1      2     0.50                        fneg   s4, s5
-# CHECK-NEXT:  1      17    1.00                        fsqrt  s6, s7
+# CHECK-NEXT:  1      17    17.00                       fsqrt  s6, s7
 # CHECK-NEXT:  1      3     0.50                        fcvt   d8, s9
 # CHECK-NEXT:  1      3     0.50                        fcvt   h10, s11
 # CHECK-NEXT:  1      3     0.50                        frintn s12, s13
@@ -1899,7 +1919,7 @@ br       x20
 # CHECK-NEXT:  1      2     0.50                        fmov   d0, d1
 # CHECK-NEXT:  1      2     0.50                        fabs   d2, d3
 # CHECK-NEXT:  1      2     0.50                        fneg   d4, d5
-# CHECK-NEXT:  1      31    1.00                        fsqrt  d6, d7
+# CHECK-NEXT:  1      31    31.00                       fsqrt  d6, d7
 # CHECK-NEXT:  1      3     0.50                        fcvt   s8, d9
 # CHECK-NEXT:  1      3     0.50                        fcvt   h10, d11
 # CHECK-NEXT:  1      3     0.50                        frintn d12, d13
@@ -1912,7 +1932,7 @@ br       x20
 # CHECK-NEXT:  1      3     0.50                        fcvt   s26, h27
 # CHECK-NEXT:  1      3     0.50                        fcvt   d28, h29
 # CHECK-NEXT:  1      5     0.50                        fmul   s20, s19, s17
-# CHECK-NEXT:  1      11    1.00                        fdiv   s1, s2, s3
+# CHECK-NEXT:  1      11    11.00                       fdiv   s1, s2, s3
 # CHECK-NEXT:  1      5     0.50                        fadd   s4, s5, s6
 # CHECK-NEXT:  1      5     0.50                        fsub   s7, s8, s9
 # CHECK-NEXT:  1      2     0.50                        fmax   s10, s11, s12
@@ -1921,7 +1941,7 @@ br       x20
 # CHECK-NEXT:  1      2     0.50                        fminnm s19, s20, s21
 # CHECK-NEXT:  1      5     0.50                        fnmul  s22, s23, s2
 # CHECK-NEXT:  1      5     0.50                        fmul   d20, d19, d17
-# CHECK-NEXT:  1      18    1.00                        fdiv   d1, d2, d3
+# CHECK-NEXT:  1      18    18.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      2     0.50                        fmax   d10, d11, d12
@@ -2132,22 +2152,22 @@ br       x20
 # CHECK-NEXT:  2      4     0.50    *      *      U     ldaxp  w5, w18, [sp]
 # CHECK-NEXT:  2      4     0.50    *      *      U     ldaxp  x6, x19, [x22]
 # CHECK-NEXT:  2      4     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      1     1.00           *      U     stlrb  w24, [sp]
+# CHECK-NEXT:  1      1     1.00           *      U     stlrh  w25, [x30]
+# CHECK-NEXT:  1      1     1.00           *      U     stlr   w26, [x29]
+# CHECK-NEXT:  1      1     1.00           *      U     stlr   x27, [x28]
+# CHECK-NEXT:  1      1     1.00           *      U     stlr   x27, [x28]
+# CHECK-NEXT:  1      1     1.00           *      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      1     0.50           *            sturb  w9, [sp]
-# CHECK-NEXT:  1      1     0.50           *            sturh  wzr, [x12, #255]
-# CHECK-NEXT:  1      1     0.50           *            stur   w16, [x0, #-256]
-# CHECK-NEXT:  1      1     0.50           *            stur   x28, [x14, #1]
+# CHECK-NEXT:  1      1     1.00           *            sturb  w9, [sp]
+# CHECK-NEXT:  1      1     1.00           *            sturh  wzr, [x12, #255]
+# CHECK-NEXT:  1      1     1.00           *            stur   w16, [x0, #-256]
+# CHECK-NEXT:  1      1     1.00           *            stur   x28, [x14, #1]
 # CHECK-NEXT:  1      4     0.50    *                   ldurb  w1, [x20, #255]
 # CHECK-NEXT:  1      4     0.50    *                   ldurh  w20, [x1, #255]
 # CHECK-NEXT:  1      4     0.50    *                   ldur   w12, [sp, #255]
@@ -2158,28 +2178,28 @@ br       x20
 # CHECK-NEXT:  1      4     0.50                  U     prfum  pldl2keep, [sp, #-256]
 # CHECK-NEXT:  1      4     0.50    *                   ldursb w19, [x1, #-256]
 # CHECK-NEXT:  1      4     0.50    *                   ldursh w15, [x21, #-256]
-# CHECK-NEXT:  1      1     0.50           *            stur   b0, [sp, #1]
-# CHECK-NEXT:  1      1     0.50           *            stur   h12, [x12, #-1]
-# CHECK-NEXT:  1      1     0.50           *            stur   s15, [x0, #255]
-# CHECK-NEXT:  1      1     0.50           *            stur   d31, [x5, #25]
-# CHECK-NEXT:  1      1     0.50           *            stur   q9, [x5]
+# CHECK-NEXT:  1      1     1.00           *            stur   b0, [sp, #1]
+# CHECK-NEXT:  1      1     1.00           *            stur   h12, [x12, #-1]
+# CHECK-NEXT:  1      1     1.00           *            stur   s15, [x0, #255]
+# CHECK-NEXT:  1      1     1.00           *            stur   d31, [x5, #25]
+# CHECK-NEXT:  1      1     1.00           *            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:  2      1     1.00           *            strb   w9, [x2], #255
+# CHECK-NEXT:  2      1     1.00           *            strb   w10, [x3], #1
+# CHECK-NEXT:  2      1     1.00           *            strb   w10, [x3], #-256
+# CHECK-NEXT:  2      1     1.00           *            strh   w9, [x2], #255
+# CHECK-NEXT:  2      1     1.00           *            strh   w9, [x2], #1
+# CHECK-NEXT:  2      1     1.00           *            strh   w10, [x3], #-256
+# CHECK-NEXT:  2      1     1.00           *            str    w19, [sp], #255
+# CHECK-NEXT:  2      1     1.00           *            str    w20, [x30], #1
+# CHECK-NEXT:  2      1     1.00           *            str    w21, [x12], #-256
+# CHECK-NEXT:  2      1     1.00           *            str    xzr, [x9], #255
+# CHECK-NEXT:  2      1     1.00           *            str    x2, [x3], #1
+# CHECK-NEXT:  2      1     1.00           *            str    x19, [x12], #-256
 # CHECK-NEXT:  2      4     0.50    *                   ldrb   w9, [x2], #255
 # CHECK-NEXT:  2      4     0.50    *                   ldrb   w10, [x3], #1
 # CHECK-NEXT:  2      4     0.50    *                   ldrb   w10, [x3], #-256
@@ -2207,18 +2227,18 @@ br       x20
 # CHECK-NEXT:  2      4     0.50    *                   ldrsh  wzr, [x9], #255
 # CHECK-NEXT:  2      4     0.50    *                   ldrsh  w2, [x3], #1
 # CHECK-NEXT:  2      4     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:  2      1     1.00           *            str    b0, [x0], #255
+# CHECK-NEXT:  2      1     1.00           *            str    b3, [x3], #1
+# CHECK-NEXT:  2      1     1.00           *            str    b5, [sp], #-256
+# CHECK-NEXT:  2      1     1.00           *            str    h10, [x10], #255
+# CHECK-NEXT:  2      1     1.00           *            str    h13, [x23], #1
+# CHECK-NEXT:  2      1     1.00           *            str    h15, [sp], #-256
+# CHECK-NEXT:  2      1     1.00           *            str    s20, [x20], #255
+# CHECK-NEXT:  2      1     1.00           *            str    s23, [x23], #1
+# CHECK-NEXT:  2      1     1.00           *            str    s25, [x0], #-256
+# CHECK-NEXT:  2      1     1.00           *            str    d20, [x20], #255
+# CHECK-NEXT:  2      1     1.00           *            str    d23, [x23], #1
+# CHECK-NEXT:  2      1     1.00           *            str    d25, [x0], #-256
 # CHECK-NEXT:  2      5     0.50    *                   ldr    b0, [x0], #255
 # CHECK-NEXT:  2      5     0.50    *                   ldr    b3, [x3], #1
 # CHECK-NEXT:  2      5     0.50    *                   ldr    b5, [sp], #-256
@@ -2234,22 +2254,22 @@ br       x20
 # CHECK-NEXT:  2      5     0.50    *                   ldr    q20, [x1], #255
 # CHECK-NEXT:  2      5     0.50    *                   ldr    q23, [x9], #1
 # CHECK-NEXT:  2      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     1.00           *            str    q10, [x1], #255
+# CHECK-NEXT:  2      1     1.00           *            str    q22, [sp], #1
+# CHECK-NEXT:  2      1     1.00           *            str    q21, [x20], #-256
 # CHECK-NEXT:  2      4     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:  2      1     1.00           *            strb   w9, [x2, #255]!
+# CHECK-NEXT:  2      1     1.00           *            strb   w10, [x3, #1]!
+# CHECK-NEXT:  2      1     1.00           *            strb   w10, [x3, #-256]!
+# CHECK-NEXT:  2      1     1.00           *            strh   w9, [x2, #255]!
+# CHECK-NEXT:  2      1     1.00           *            strh   w9, [x2, #1]!
+# CHECK-NEXT:  2      1     1.00           *            strh   w10, [x3, #-256]!
+# CHECK-NEXT:  2      1     1.00           *            str    w19, [sp, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    w20, [x30, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    w21, [x12, #-256]!
+# CHECK-NEXT:  2      1     1.00           *            str    xzr, [x9, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    x2, [x3, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    x19, [x12, #-256]!
 # CHECK-NEXT:  2      4     0.50    *                   ldrb   w9, [x2, #255]!
 # CHECK-NEXT:  2      4     0.50    *                   ldrb   w10, [x3, #1]!
 # CHECK-NEXT:  2      4     0.50    *                   ldrb   w10, [x3, #-256]!
@@ -2277,18 +2297,18 @@ br       x20
 # CHECK-NEXT:  2      4     0.50    *                   ldrsh  wzr, [x9, #255]!
 # CHECK-NEXT:  2      4     0.50    *                   ldrsh  w2, [x3, #1]!
 # CHECK-NEXT:  2      4     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:  2      1     1.00           *            str    b0, [x0, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    b3, [x3, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    b5, [sp, #-256]!
+# CHECK-NEXT:  2      1     1.00           *            str    h10, [x10, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    h13, [x23, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    h15, [sp, #-256]!
+# CHECK-NEXT:  2      1     1.00           *            str    s20, [x20, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    s23, [x23, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    s25, [x0, #-256]!
+# CHECK-NEXT:  2      1     1.00           *            str    d20, [x20, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    d23, [x23, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    d25, [x0, #-256]!
 # CHECK-NEXT:  2      5     0.50    *                   ldr    b0, [x0, #255]!
 # CHECK-NEXT:  2      5     0.50    *                   ldr    b3, [x3, #1]!
 # CHECK-NEXT:  2      5     0.50    *                   ldr    b5, [sp, #-256]!
@@ -2304,13 +2324,13 @@ br       x20
 # CHECK-NEXT:  2      5     0.50    *                   ldr    q20, [x1, #255]!
 # CHECK-NEXT:  2      5     0.50    *                   ldr    q23, [x9, #1]!
 # CHECK-NEXT:  2      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:  1      1     0.50           *            sttrb  w9, [sp]
-# CHECK-NEXT:  1      1     0.50           *            sttrh  wzr, [x12, #255]
-# CHECK-NEXT:  1      1     0.50           *            sttr   w16, [x0, #-256]
-# CHECK-NEXT:  1      1     0.50           *            sttr   x28, [x14, #1]
+# CHECK-NEXT:  2      1     1.00           *            str    q10, [x1, #255]!
+# CHECK-NEXT:  2      1     1.00           *            str    q22, [sp, #1]!
+# CHECK-NEXT:  2      1     1.00           *            str    q21, [x20, #-256]!
+# CHECK-NEXT:  1      1     1.00           *            sttrb  w9, [sp]
+# CHECK-NEXT:  1      1     1.00           *            sttrh  wzr, [x12, #255]
+# CHECK-NEXT:  1      1     1.00           *            sttr   w16, [x0, #-256]
+# CHECK-NEXT:  1      1     1.00           *            sttr   x28, [x14, #1]
 # CHECK-NEXT:  1      4     0.50    *                   ldtrb  w1, [x20, #255]
 # CHECK-NEXT:  1      4     0.50    *                   ldtrh  w20, [x1, #255]
 # CHECK-NEXT:  1      4     0.50    *                   ldtr   w12, [sp, #255]
@@ -2337,21 +2357,21 @@ br       x20
 # 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      1     0.50           *            str    x30, [sp]
-# CHECK-NEXT:  1      1     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      1     1.00           *            str    x30, [sp]
+# CHECK-NEXT:  1      1     1.00           *            str    w20, [x4, #16380]
+# CHECK-NEXT:  1      1     1.00           *            strh   w17, [sp, #8190]
+# CHECK-NEXT:  1      1     1.00           *            strb   w23, [x3, #4095]
+# CHECK-NEXT:  1      1     1.00           *            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      1     0.50           *            str    q12, [sp, #65520]
+# CHECK-NEXT:  1      1     1.00           *            str    q12, [sp, #65520]
 # CHECK-NEXT:  1      4     0.50    *                   ldrb   w3, [sp, x5]
 # CHECK-NEXT:  1      4     0.50    *                   ldrb   w9, [x27, x6]
 # CHECK-NEXT:  1      4     0.50    *                   ldrsb  w10, [x30, x7]
 # CHECK-NEXT:  1      4     0.50    *                   ldrb   w11, [x29, x3, sxtx]
-# CHECK-NEXT:  2      1     0.50           *            strb   w12, [x28, xzr, sxtx]
+# CHECK-NEXT:  2      1     1.00           *            strb   w12, [x28, xzr, sxtx]
 # CHECK-NEXT:  1      4     0.50    *                   ldrb   w14, [x26, w6, uxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldrsb  w15, [x25, w7, uxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldrb   w17, [x23, w9, sxtw]
@@ -2359,7 +2379,7 @@ br       x20
 # CHECK-NEXT:  1      4     0.50    *                   ldrsh  w3, [sp, x5]
 # CHECK-NEXT:  1      4     0.50    *                   ldrsh  w9, [x27, x6]
 # CHECK-NEXT:  1      4     0.50    *                   ldrh   w10, [x30, x7, lsl #1]
-# CHECK-NEXT:  2      1     0.50           *            strh   w11, [x29, x3, sxtx]
+# CHECK-NEXT:  2      1     1.00           *            strh   w11, [x29, x3, sxtx]
 # CHECK-NEXT:  1      4     0.50    *                   ldrh   w12, [x28, xzr, sxtx]
 # CHECK-NEXT:  1      4     0.50    *                   ldrsh  x13, [x27, x5, sxtx #1]
 # CHECK-NEXT:  1      4     0.50    *                   ldrh   w14, [x26, w6, uxtw]
@@ -2367,23 +2387,23 @@ br       x20
 # CHECK-NEXT:  1      4     0.50    *                   ldrsh  w16, [x24, w8, uxtw #1]
 # CHECK-NEXT:  1      4     0.50    *                   ldrh   w17, [x23, w9, sxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldrh   w18, [x22, w10, sxtw]
-# CHECK-NEXT:  2      1     0.50           *            strh   w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT:  2      1     1.00           *            strh   w19, [x21, wzr, sxtw #1]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    w3, [sp, x5]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    s9, [x27, x6]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    w10, [x30, x7, lsl #2]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    w11, [x29, x3, sxtx]
-# CHECK-NEXT:  2      2     0.50           *            str    s12, [x28, xzr, sxtx]
-# CHECK-NEXT:  2      1     0.50           *            str    w13, [x27, x5, sxtx #2]
-# CHECK-NEXT:  2      1     0.50           *            str    w14, [x26, w6, uxtw]
+# CHECK-NEXT:  2      2     1.00           *            str    s12, [x28, xzr, sxtx]
+# CHECK-NEXT:  2      1     1.00           *            str    w13, [x27, x5, sxtx #2]
+# CHECK-NEXT:  2      1     1.00           *            str    w14, [x26, w6, uxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    w15, [x25, w7, uxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    w16, [x24, w8, uxtw #2]
 # CHECK-NEXT:  1      4     0.50    *                   ldrsw  x17, [x23, w9, sxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    w18, [x22, w10, sxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldrsw  x19, [x21, wzr, sxtw #2]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    x3, [sp, x5]
-# CHECK-NEXT:  2      1     0.50           *            str    x9, [x27, x6]
+# CHECK-NEXT:  2      1     1.00           *            str    x9, [x27, x6]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    d10, [x30, x7, lsl #3]
-# CHECK-NEXT:  2      1     0.50           *            str    x11, [x29, x3, sxtx]
+# CHECK-NEXT:  2      1     1.00           *            str    x11, [x29, x3, sxtx]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    x12, [x28, xzr, sxtx]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    x13, [x27, x5, sxtx #3]
 # CHECK-NEXT:  1      4     0.50                  U     prfm   pldl1keep, [x26, w6, uxtw]
@@ -2391,21 +2411,21 @@ br       x20
 # CHECK-NEXT:  1      4     0.50    *                   ldr    x16, [x24, w8, uxtw #3]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    x17, [x23, w9, sxtw]
 # CHECK-NEXT:  1      4     0.50    *                   ldr    x18, [x22, w10, sxtw]
-# CHECK-NEXT:  2      2     0.50           *            str    d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT:  2      2     1.00           *            str    d19, [x21, wzr, sxtw #3]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q3, [sp, x5]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q9, [x27, x6]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q10, [x30, x7, lsl #4]
-# CHECK-NEXT:  2      2     0.50           *            str    q11, [x29, x3, sxtx]
-# CHECK-NEXT:  2      2     0.50           *            str    q12, [x28, xzr, sxtx]
-# CHECK-NEXT:  2      2     0.50           *            str    q13, [x27, x5, sxtx #4]
+# CHECK-NEXT:  2      2     1.00           *            str    q11, [x29, x3, sxtx]
+# CHECK-NEXT:  2      2     1.00           *            str    q12, [x28, xzr, sxtx]
+# CHECK-NEXT:  2      2     1.00           *            str    q13, [x27, x5, sxtx #4]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q14, [x26, w6, uxtw]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q15, [x25, w7, uxtw]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q16, [x24, w8, uxtw #4]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q17, [x23, w9, sxtw]
-# CHECK-NEXT:  2      2     0.50           *            str    q18, [x22, w10, sxtw]
+# CHECK-NEXT:  2      2     1.00           *            str    q18, [x22, w10, sxtw]
 # CHECK-NEXT:  2      6     0.50    *                   ldr    q19, [x21, wzr, sxtw #4]
 # CHECK-NEXT:  2      4     0.50    *                   ldp    w3, w5, [sp]
-# CHECK-NEXT:  1      1     0.50           *            stp    wzr, w9, [sp, #252]
+# CHECK-NEXT:  1      1     1.00           *            stp    wzr, w9, [sp, #252]
 # CHECK-NEXT:  2      4     0.50    *                   ldp    w2, wzr, [sp, #-256]
 # CHECK-NEXT:  2      4     0.50    *                   ldp    w9, w10, [sp, #4]
 # CHECK-NEXT:  2      4     0.50    *                   ldpsw  x9, x10, [sp, #4]
@@ -2415,16 +2435,16 @@ br       x20
 # CHECK-NEXT:  2      4     0.50    *                   ldp    x22, x23, [x3, #-512]
 # CHECK-NEXT:  2      4     0.50    *                   ldp    x24, x25, [x4, #8]
 # CHECK-NEXT:  2      5     0.50    *                   ldp    s29, s28, [sp, #252]
-# CHECK-NEXT:  2      2     1.00           *            stp    s27, s26, [sp, #-256]
+# CHECK-NEXT:  2      2     2.00           *            stp    s27, s26, [sp, #-256]
 # CHECK-NEXT:  2      5     0.50    *                   ldp    s1, s2, [x3, #44]
-# CHECK-NEXT:  2      2     1.00           *            stp    d3, d5, [x9, #504]
-# CHECK-NEXT:  2      2     1.00           *            stp    d7, d11, [x10, #-512]
+# CHECK-NEXT:  2      2     2.00           *            stp    d3, d5, [x9, #504]
+# CHECK-NEXT:  2      2     2.00           *            stp    d7, d11, [x10, #-512]
 # CHECK-NEXT:  2      5     0.50    *                   ldp    d2, d3, [x30, #-8]
-# CHECK-NEXT:  2      2     1.00           *            stp    q3, q5, [sp]
-# CHECK-NEXT:  2      2     1.00           *            stp    q17, q19, [sp, #1008]
+# CHECK-NEXT:  2      2     2.00           *            stp    q3, q5, [sp]
+# CHECK-NEXT:  2      2     2.00           *            stp    q17, q19, [sp, #1008]
 # CHECK-NEXT:  2      5     0.50    *                   ldp    q23, q29, [x1, #-1024]
 # CHECK-NEXT:  4      4     0.67    *                   ldp    w3, w5, [sp], #0
-# CHECK-NEXT:  2      1     0.50           *            stp    wzr, w9, [sp], #252
+# CHECK-NEXT:  2      1     1.00           *            stp    wzr, w9, [sp], #252
 # CHECK-NEXT:  4      4     0.67    *                   ldp    w2, wzr, [sp], #-256
 # CHECK-NEXT:  4      4     0.67    *                   ldp    w9, w10, [sp], #4
 # CHECK-NEXT:  3      4     0.50    *                   ldpsw  x9, x10, [sp], #4
@@ -2434,16 +2454,16 @@ br       x20
 # CHECK-NEXT:  4      4     0.67    *                   ldp    x22, x23, [x3], #-512
 # CHECK-NEXT:  4      4     0.67    *                   ldp    x24, x25, [x4], #8
 # CHECK-NEXT:  3      5     0.50    *                   ldp    s29, s28, [sp], #252
-# CHECK-NEXT:  3      2     1.00           *            stp    s27, s26, [sp], #-256
+# CHECK-NEXT:  3      2     2.00           *            stp    s27, s26, [sp], #-256
 # CHECK-NEXT:  3      5     0.50    *                   ldp    s1, s2, [x3], #44
-# CHECK-NEXT:  3      2     1.00           *            stp    d3, d5, [x9], #504
-# CHECK-NEXT:  3      2     1.00           *            stp    d7, d11, [x10], #-512
+# CHECK-NEXT:  3      2     2.00           *            stp    d3, d5, [x9], #504
+# CHECK-NEXT:  3      2     2.00           *            stp    d7, d11, [x10], #-512
 # CHECK-NEXT:  3      5     0.50    *                   ldp    d2, d3, [x30], #-8
-# CHECK-NEXT:  3      2     1.00           *            stp    q3, q5, [sp], #0
-# CHECK-NEXT:  3      2     1.00           *            stp    q17, q19, [sp], #1008
+# CHECK-NEXT:  3      2     2.00           *            stp    q3, q5, [sp], #0
+# CHECK-NEXT:  3      2     2.00           *            stp    q17, q19, [sp], #1008
 # CHECK-NEXT:  3      5     0.50    *                   ldp    q23, q29, [x1], #-1024
 # CHECK-NEXT:  4      4     0.67    *                   ldp    w3, w5, [sp, #0]!
-# CHECK-NEXT:  2      1     0.50           *            stp    wzr, w9, [sp, #252]!
+# CHECK-NEXT:  2      1     1.00           *            stp    wzr, w9, [sp, #252]!
 # CHECK-NEXT:  4      4     0.67    *                   ldp    w2, wzr, [sp, #-256]!
 # CHECK-NEXT:  4      4     0.67    *                   ldp    w9, w10, [sp, #4]!
 # CHECK-NEXT:  3      4     0.50    *                   ldpsw  x9, x10, [sp, #4]!
@@ -2453,60 +2473,60 @@ br       x20
 # CHECK-NEXT:  4      4     0.67    *                   ldp    x22, x23, [x3, #-512]!
 # CHECK-NEXT:  4      4     0.67    *                   ldp    x24, x25, [x4, #8]!
 # CHECK-NEXT:  3      5     0.50    *                   ldp    s29, s28, [sp, #252]!
-# CHECK-NEXT:  3      2     1.00           *            stp    s27, s26, [sp, #-256]!
+# CHECK-NEXT:  3      2     2.00           *            stp    s27, s26, [sp, #-256]!
 # CHECK-NEXT:  3      5     0.50    *                   ldp    s1, s2, [x3, #44]!
-# CHECK-NEXT:  3      2     1.00           *            stp    d3, d5, [x9, #504]!
-# CHECK-NEXT:  3      2     1.00           *            stp    d7, d11, [x10, #-512]!
+# CHECK-NEXT:  3      2     2.00           *            stp    d3, d5, [x9, #504]!
+# CHECK-NEXT:  3      2     2.00           *            stp    d7, d11, [x10, #-512]!
 # CHECK-NEXT:  3      5     0.50    *                   ldp    d2, d3, [x30, #-8]!
-# CHECK-NEXT:  3      2     1.00           *            stp    q3, q5, [sp, #0]!
-# CHECK-NEXT:  3      2     1.00           *            stp    q17, q19, [sp, #1008]!
+# CHECK-NEXT:  3      2     2.00           *            stp    q3, q5, [sp, #0]!
+# CHECK-NEXT:  3      2     2.00           *            stp    q17, q19, [sp, #1008]!
 # CHECK-NEXT:  3      5     0.50    *                   ldp    q23, q29, [x1, #-1024]!
 # CHECK-NEXT:  2      4     0.50    *                   ldnp   w3, w5, [sp]
-# CHECK-NEXT:  1      1     0.50           *            stnp   wzr, w9, [sp, #252]
+# CHECK-NEXT:  1      1     1.00           *            stnp   wzr, w9, [sp, #252]
 # CHECK-NEXT:  2      4     0.50    *                   ldnp   w2, wzr, [sp, #-256]
 # CHECK-NEXT:  2      4     0.50    *                   ldnp   w9, w10, [sp, #4]
 # CHECK-NEXT:  2      4     0.50    *                   ldnp   x21, x29, [x2, #504]
 # CHECK-NEXT:  2      4     0.50    *                   ldnp   x22, x23, [x3, #-512]
 # CHECK-NEXT:  2      4     0.50    *                   ldnp   x24, x25, [x4, #8]
 # CHECK-NEXT:  2      5     0.50    *                   ldnp   s29, s28, [sp, #252]
-# CHECK-NEXT:  2      2     1.00           *            stnp   s27, s26, [sp, #-256]
+# CHECK-NEXT:  2      2     2.00           *            stnp   s27, s26, [sp, #-256]
 # CHECK-NEXT:  2      5     0.50    *                   ldnp   s1, s2, [x3, #44]
-# CHECK-NEXT:  2      2     1.00           *            stnp   d3, d5, [x9, #504]
-# CHECK-NEXT:  2      2     1.00           *            stnp   d7, d11, [x10, #-512]
+# CHECK-NEXT:  2      2     2.00           *            stnp   d3, d5, [x9, #504]
+# CHECK-NEXT:  2      2     2.00           *            stnp   d7, d11, [x10, #-512]
 # CHECK-NEXT:  2      5     0.50    *                   ldnp   d2, d3, [x30, #-8]
-# CHECK-NEXT:  2      2     1.00           *            stnp   q3, q5, [sp]
-# CHECK-NEXT:  2      2     1.00           *            stnp   q17, q19, [sp, #1008]
+# CHECK-NEXT:  2      2     2.00           *            stnp   q3, q5, [sp]
+# CHECK-NEXT:  2      2     2.00           *            stnp   q17, q19, [sp, #1008]
 # CHECK-NEXT:  2      5     0.50    *                   ldnp   q23, q29, [x1, #-1024]
 # CHECK-NEXT:  1      1     0.33                        mov    w3, #983055
 # CHECK-NEXT:  1      1     0.33                        mov    x10, #-6148914691236517206
-# CHECK-NEXT:  1      2     1.00                        and    w12, w23, w21
+# CHECK-NEXT:  1      1     0.33                        and    w12, w23, w21
 # CHECK-NEXT:  1      2     1.00                        and    w16, w15, w1, lsl #1
 # CHECK-NEXT:  1      2     1.00                        and    w9, w4, w10, lsl #31
-# CHECK-NEXT:  1      2     1.00                        and    w3, w30, w11
+# CHECK-NEXT:  1      1     0.33                        and    w3, w30, w11
 # CHECK-NEXT:  1      2     1.00                        and    x3, x5, x7, lsl #63
 # CHECK-NEXT:  1      2     1.00                        and    x5, x14, x19, asr #4
 # CHECK-NEXT:  1      2     1.00                        and    w3, w17, w19, ror #31
 # CHECK-NEXT:  1      2     1.00                        and    w0, w2, wzr, lsr #17
 # CHECK-NEXT:  1      2     1.00                        and    w3, w30, w11, asr #2
-# CHECK-NEXT:  1      2     1.00                        and    xzr, x4, x26
+# CHECK-NEXT:  1      1     0.33                        and    xzr, x4, x26
 # CHECK-NEXT:  1      2     1.00                        and    w3, wzr, w20, ror #2
 # CHECK-NEXT:  1      2     1.00                        and    x7, x20, xzr, asr #63
 # CHECK-NEXT:  1      2     1.00                        bic    x13, x20, x14, lsl #47
-# CHECK-NEXT:  1      2     1.00                        bic    w2, w7, w9
+# CHECK-NEXT:  1      1     0.33                        bic    w2, w7, w9
 # CHECK-NEXT:  1      2     1.00                        orr    w2, w7, w0, asr #31
 # CHECK-NEXT:  1      2     1.00                        orr    x8, x9, x10, lsl #12
 # CHECK-NEXT:  1      2     1.00                        orn    x3, x5, x7, asr #2
-# CHECK-NEXT:  1      2     1.00                        orn    w2, w5, w29
-# CHECK-NEXT:  1      2     0.50                        ands   w7, wzr, w9, lsl #1
-# CHECK-NEXT:  1      2     0.50                        ands   x3, x5, x20, ror #63
-# CHECK-NEXT:  1      2     0.50                        bics   w3, w5, w7
-# CHECK-NEXT:  1      2     0.50                        bics   x3, xzr, x3, lsl #1
-# CHECK-NEXT:  1      2     0.50                        tst    w3, w7, lsl #31
-# CHECK-NEXT:  1      2     0.50                        tst    x2, x20, asr #2
-# CHECK-NEXT:  1      2     1.00                        mov    x3, x6
-# CHECK-NEXT:  1      2     1.00                        mov    x3, xzr
-# CHECK-NEXT:  1      2     1.00                        mov    wzr, w2
-# CHECK-NEXT:  1      2     1.00                        mov    w3, w5
+# CHECK-NEXT:  1      1     0.33                        orn    w2, w5, w29
+# CHECK-NEXT:  1      2     1.00                        ands   w7, wzr, w9, lsl #1
+# CHECK-NEXT:  1      2     1.00                        ands   x3, x5, x20, ror #63
+# CHECK-NEXT:  1      1     0.50                        bics   w3, w5, w7
+# CHECK-NEXT:  1      2     1.00                        bics   x3, xzr, x3, lsl #1
+# CHECK-NEXT:  1      2     1.00                        tst    w3, w7, lsl #31
+# CHECK-NEXT:  1      2     1.00                        tst    x2, x20, asr #2
+# CHECK-NEXT:  1      1     0.33                        mov    x3, x6
+# CHECK-NEXT:  1      1     0.33                        mov    x3, xzr
+# CHECK-NEXT:  1      1     0.33                        mov    wzr, w2
+# CHECK-NEXT:  1      1     0.33                        mov    w3, w5
 # CHECK-NEXT:  1      1     0.33                        movz   w2, #0, lsl #16
 # CHECK-NEXT:  1      1     0.33                        mov    w2, #-1235
 # CHECK-NEXT:  1      1     0.33                        mov    x2, #5299989643264
@@ -2536,16 +2556,16 @@ br       x20
 # CHECK-NEXT: [1]   - TSV110UnitALU
 # CHECK-NEXT: [2]   - TSV110UnitFSU1
 # CHECK-NEXT: [3]   - TSV110UnitFSU2
-# CHECK-NEXT: [4.0] - TSV110UnitLdSt
-# CHECK-NEXT: [4.1] - TSV110UnitLdSt
-# CHECK-NEXT: [5]   - TSV110UnitMDU
+# CHECK-NEXT: [4]   - TSV110UnitLd0St
+# CHECK-NEXT: [5]   - TSV110UnitLd1
+# CHECK-NEXT: [6]   - TSV110UnitMDU
 
 # CHECK:      Resource pressure per iteration:
-# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4.0]  [4.1]  [5]
-# CHECK-NEXT: 236.83 236.83 180.33 141.50 95.50  207.50 207.50 127.00
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]
+# CHECK-NEXT: 281.83 281.83 189.33 168.50 141.50 281.50 133.50 168.00
 
 # CHECK:      Resource pressure by instruction:
-# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4.0]  [4.1]  [5]    Instructions:
+# CHECK-NEXT: [0.0]  [0.1]  [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w2, w3, #4095
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w30, w29, #1, lsl #12
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w13, w5, #4095, lsl #12
@@ -2575,11 +2595,11 @@ br       x20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      wsp, w20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      x11, sp
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      w24, wsp
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w3, w5, w7
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      wzr, w3, w5
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w20, wzr, w4
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w4, w6, wzr
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w11, w13, w15
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w3, w5, w7
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      wzr, w3, w5
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w20, wzr, w4
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w4, w6, wzr
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      w11, w13, w15
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w9, w3, wzr, lsl #10
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w17, w29, w20, lsl #31
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w21, w22, w23, lsr #0
@@ -2588,11 +2608,11 @@ br       x20
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w2, w3, w4, asr #0
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w5, w6, w7, asr #21
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      w8, w9, w10, asr #31
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x3, x5, x7
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      xzr, x3, x5
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x20, xzr, x4
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x4, x6, xzr
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x11, x13, x15
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      x3, x5, x7
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      xzr, x3, x5
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      x20, xzr, x4
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      x4, x6, xzr
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     add      x11, x13, x15
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x9, x3, xzr, lsl #10
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x17, x29, x20, lsl #63
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x21, x22, x23, lsr #0
@@ -2601,36 +2621,46 @@ br       x20
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x2, x3, x4, asr #0
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x5, x6, x7, asr #21
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x8, x9, x10, asr #63
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x1, x4, w5, uxtb #4
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x2, x2, w2, uxth #3
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x9, x10, w11, uxtw #1
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x18, x19, x20, uxtx #4
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x12, x13, w14, sxtb
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x15, x16, w17, sxth #1
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x18, x19, w20, sxtw #2
+# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   add      x10, x19, x20, sxtx #4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w3, w5, w7
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w3, w5
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w20, wzr, w4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w4, w6, wzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w11, w13, w15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w9, w3, wzr, lsl #10
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w17, w29, w20, lsl #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w21, w22, w23, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w24, w25, w26, lsr #18
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w27, w28, w29, lsr #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w2, w3, w4, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w5, w6, w7, asr #21
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     w8, w9, w10, asr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w17, w29, w20, lsl #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w21, w22, w23, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w24, w25, w26, lsr #18
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w27, w28, w29, lsr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w2, w3, w4, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w5, w6, w7, asr #21
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     w8, w9, w10, asr #31
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x3, x5, x7
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x3, x5
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x20, xzr, x4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x4, x6, xzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x11, x13, x15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x17, x29, x20, lsl #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x21, x22, x23, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x24, x25, x26, lsr #18
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x27, x28, x29, lsr #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x2, x3, x4, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x5, x6, x7, asr #21
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     adds     x8, x9, x10, asr #63
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w3, w5, w7
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      wzr, w3, w5
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w4, w6, wzr
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w11, w13, w15
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x17, x29, x20, lsl #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x21, x22, x23, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x24, x25, x26, lsr #18
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x27, x28, x29, lsr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x2, x3, x4, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x5, x6, x7, asr #21
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x8, x9, x10, asr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x21, x22, x23, sxtx
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     adds     x1, x2, x3, uxtx #4
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      w3, w5, w7
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      wzr, w3, w5
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      w4, w6, wzr
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      w11, w13, w15
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w9, w3, wzr, lsl #10
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w17, w29, w20, lsl #31
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w21, w22, w23, lsr #0
@@ -2639,10 +2669,10 @@ br       x20
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w2, w3, w4, asr #0
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w5, w6, w7, asr #21
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      w8, w9, w10, asr #31
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      x3, x5, x7
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      xzr, x3, x5
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      x4, x6, xzr
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      x11, x13, x15
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      x3, x5, x7
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      xzr, x3, x5
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      x4, x6, xzr
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     sub      x11, x13, x15
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      x9, x3, xzr, lsl #10
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      x17, x29, x20, lsl #63
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sub      x21, x22, x23, lsr #0
@@ -2655,72 +2685,72 @@ br       x20
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w3, w5
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w4, w6, wzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w11, w13, w15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w9, w3, wzr, lsl #10
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w17, w29, w20, lsl #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w21, w22, w23, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w24, w25, w26, lsr #18
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w27, w28, w29, lsr #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w2, w3, w4, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w5, w6, w7, asr #21
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     w8, w9, w10, asr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w9, w3, wzr, lsl #10
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w17, w29, w20, lsl #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w21, w22, w23, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w24, w25, w26, lsr #18
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w27, w28, w29, lsr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w2, w3, w4, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w5, w6, w7, asr #21
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     w8, w9, w10, asr #31
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x3, x5, x7
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x3, x5
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x4, x6, xzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x11, x13, x15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x9, x3, xzr, lsl #10
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x17, x29, x20, lsl #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x21, x22, x23, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x24, x25, x26, lsr #18
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x27, x28, x29, lsr #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x2, x3, x4, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x5, x6, x7, asr #21
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     subs     x8, x9, x10, asr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x9, x3, xzr, lsl #10
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x17, x29, x20, lsl #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x21, x22, x23, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x24, x25, x26, lsr #18
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x27, x28, x29, lsr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x2, x3, x4, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x5, x6, x7, asr #21
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     subs     x8, x9, x10, asr #63
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      wzr, w4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w5, wzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w6, w7
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w8, w9, lsl #15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w10, w11, lsl #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w12, w13, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w14, w15, lsr #21
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w16, w17, lsr #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w18, w19, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w20, w21, asr #22
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      w22, w23, asr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w8, w9, lsl #15
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w10, w11, lsl #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w12, w13, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w14, w15, lsr #21
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w16, w17, lsr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w18, w19, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w20, w21, asr #22
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      w22, w23, asr #31
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x0, x3
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      xzr, x4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x5, xzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x6, x7
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x8, x9, lsl #15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x10, x11, lsl #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x12, x13, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x14, x15, lsr #41
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x16, x17, lsr #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x18, x19, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x20, x21, asr #55
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmn      x22, x23, asr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x8, x9, lsl #15
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x10, x11, lsl #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x12, x13, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x14, x15, lsr #41
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x16, x17, lsr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x18, x19, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x20, x21, asr #55
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmn      x22, x23, asr #63
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w0, w3
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      wzr, w4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w5, wzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w6, w7
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w8, w9, lsl #15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w10, w11, lsl #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w12, w13, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w14, w15, lsr #21
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w18, w19, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w20, w21, asr #22
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      w22, w23, asr #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w8, w9, lsl #15
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w10, w11, lsl #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w12, w13, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w14, w15, lsr #21
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w18, w19, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w20, w21, asr #22
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      w22, w23, asr #31
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x0, x3
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      xzr, x4
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x5, xzr
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x6, x7
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x8, x9, lsl #15
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x10, x11, lsl #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x12, x13, lsr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x14, x15, lsr #41
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x16, x17, lsr #63
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x18, x19, asr #0
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x20, x21, asr #55
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      x22, x23, asr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x8, x9, lsl #15
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x10, x11, lsl #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x12, x13, lsr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x14, x15, lsr #41
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x16, x17, lsr #63
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x18, x19, asr #0
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x20, x21, asr #55
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     cmp      x22, x23, asr #63
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      wzr, w0
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     cmp      xzr, x0
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     adc      w29, w27, w25
@@ -2953,10 +2983,10 @@ br       x20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     clz      x26, x4
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     cls      w3, w5
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     cls      x20, x5
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   udiv     w0, w7, w10
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   udiv     x9, x22, x4
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sdiv     w12, w21, w0
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   sdiv     x13, x2, x1
+# CHECK-NEXT:  -      -      -      -      -      -      -     12.00  udiv     w0, w7, w10
+# CHECK-NEXT:  -      -      -      -      -      -      -     20.00  udiv     x9, x22, x4
+# CHECK-NEXT:  -      -      -      -      -      -      -     12.00  sdiv     w12, w21, w0
+# CHECK-NEXT:  -      -      -      -      -      -      -     20.00  sdiv     x13, x2, x1
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     lsl      w11, w12, w13
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     lsl      x14, x15, x16
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     lsr      w17, w18, w19
@@ -3060,7 +3090,7 @@ br       x20
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fmov     s0, s1
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fabs     s2, s3
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fneg     s4, s5
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsqrt    s6, s7
+# CHECK-NEXT:  -      -      -      -     17.00   -      -      -     fsqrt    s6, s7
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fcvt     d8, s9
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fcvt     h10, s11
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     frintn   s12, s13
@@ -3073,7 +3103,7 @@ br       x20
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fmov     d0, d1
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fabs     d2, d3
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fneg     d4, d5
-# CHECK-NEXT:  -      -      -      -     1.00    -      -      -     fsqrt    d6, d7
+# CHECK-NEXT:  -      -      -      -     31.00   -      -      -     fsqrt    d6, d7
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fcvt     s8, d9
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fcvt     h10, d11
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     frintn   d12, d13
@@ -3086,7 +3116,7 @@ br       x20
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fcvt     s26, h27
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fcvt     d28, h29
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fmul     s20, s19, s17
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fdiv     s1, s2, s3
+# CHECK-NEXT:  -      -      -     11.00   -      -      -      -     fdiv     s1, s2, s3
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fadd     s4, s5, s6
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fsub     s7, s8, s9
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fmax     s10, s11, s12
@@ -3095,7 +3125,7 @@ br       x20
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     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:  -      -      -     18.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:  -      -      -     0.50   0.50    -      -      -     fmax     d10, d11, d12
@@ -3276,52 +3306,52 @@ br       x20
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     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:  -      -      -      -      -     1.50   0.50    -     stxrb    w18, w8, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     stxrh    w24, w15, [x16]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     stxr     w5, w6, [x17]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     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:  -      -      -      -      -     1.50   0.50    -     stxp     w12, w11, w10, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     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:  -      -      -      -      -     1.50   0.50    -     stlxrb   w12, w22, [x0]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     stlxrh   w10, w1, [x1]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     stlxr    w9, w2, [x2]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     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:  -      -      -      -      -     1.50   0.50    -     stlxp    w4, w5, w6, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.50   0.50    -     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:  -      -      -      -      -     1.00    -      -     stlrb    w24, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stlrh    w25, [x30]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stlr     w26, [x29]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stlr     x27, [x28]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stlr     x27, [x28]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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:  -      -      -      -      -     1.00    -      -     sturb    w9, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sturh    wzr, [x12, #255]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stur     w16, [x0, #-256]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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]
@@ -3332,28 +3362,28 @@ br       x20
 # 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:  -      -      -      -      -     1.00    -      -     stur     b0, [sp, #1]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stur     h12, [x12, #-1]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stur     s15, [x0, #255]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     stur     d31, [x5, #25]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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.33   0.33   0.33    -      -     0.50   0.50    -     strb     w9, [x2], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strb     w10, [x3], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strb     w10, [x3], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strh     w9, [x2], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strh     w9, [x2], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strh     w10, [x3], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w19, [sp], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w20, [x30], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w21, [x12], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      xzr, [x9], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      x2, [x3], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      x19, [x12], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strb     w9, [x2], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strb     w10, [x3], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strb     w10, [x3], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w9, [x2], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w9, [x2], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w10, [x3], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w19, [sp], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w20, [x30], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w21, [x12], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      xzr, [x9], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      x2, [x3], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      x19, [x12], #-256
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrb     w9, [x2], #255
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrb     w10, [x3], #1
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrb     w10, [x3], #-256
@@ -3381,18 +3411,18 @@ br       x20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrsh    wzr, [x9], #255
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrsh    w2, [x3], #1
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrsh    w19, [x12], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      b0, [x0], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      b3, [x3], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      b5, [sp], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      h10, [x10], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      h13, [x23], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      h15, [sp], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      s20, [x20], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      s23, [x23], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      s25, [x0], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      d20, [x20], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      d23, [x23], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      d25, [x0], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      b0, [x0], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      b3, [x3], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      b5, [sp], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      h10, [x10], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      h13, [x23], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      h15, [sp], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s20, [x20], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s23, [x23], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s25, [x0], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d20, [x20], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d23, [x23], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d25, [x0], #-256
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      b0, [x0], #255
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      b3, [x3], #1
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      b5, [sp], #-256
@@ -3408,22 +3438,22 @@ br       x20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q20, [x1], #255
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q23, [x9], #1
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q25, [x20], #-256
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q10, [x1], #255
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q22, [sp], #1
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q21, [x20], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q10, [x1], #255
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q22, [sp], #1
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q21, [x20], #-256
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      x3, [x4, #0]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strb     w9, [x2, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strb     w10, [x3, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strb     w10, [x3, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strh     w9, [x2, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strh     w9, [x2, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     strh     w10, [x3, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w19, [sp, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w20, [x30, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w21, [x12, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      xzr, [x9, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      x2, [x3, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      x19, [x12, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strb     w9, [x2, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strb     w10, [x3, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strb     w10, [x3, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w9, [x2, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w9, [x2, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w10, [x3, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w19, [sp, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w20, [x30, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w21, [x12, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      xzr, [x9, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      x2, [x3, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      x19, [x12, #-256]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrb     w9, [x2, #255]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrb     w10, [x3, #1]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrb     w10, [x3, #-256]!
@@ -3451,18 +3481,18 @@ br       x20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrsh    wzr, [x9, #255]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrsh    w2, [x3, #1]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldrsh    w19, [x12, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      b0, [x0, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      b3, [x3, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      b5, [sp, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      h10, [x10, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      h13, [x23, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      h15, [sp, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      s20, [x20, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      s23, [x23, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      s25, [x0, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      d20, [x20, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      d23, [x23, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      d25, [x0, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      b0, [x0, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      b3, [x3, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      b5, [sp, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      h10, [x10, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      h13, [x23, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      h15, [sp, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s20, [x20, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s23, [x23, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s25, [x0, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d20, [x20, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d23, [x23, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d25, [x0, #-256]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      b0, [x0, #255]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      b3, [x3, #1]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      b5, [sp, #-256]!
@@ -3478,13 +3508,13 @@ br       x20
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q20, [x1, #255]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q23, [x9, #1]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q25, [x20, #-256]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q10, [x1, #255]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q22, [sp, #1]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q21, [x20, #-256]!
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sttrb    w9, [sp]
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sttrh    wzr, [x12, #255]
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sttr     w16, [x0, #-256]
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     sttr     x28, [x14, #1]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q10, [x1, #255]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q22, [sp, #1]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q21, [x20, #-256]!
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sttrb    w9, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sttrh    wzr, [x12, #255]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     sttr     w16, [x0, #-256]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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]
@@ -3511,21 +3541,21 @@ br       x20
 # 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:  -      -      -      -      -     1.00    -      -     str      x30, [sp]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     str      w20, [x4, #16380]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     strh     w17, [sp, #8190]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     strb     w23, [x3, #4095]
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     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:  -      -      -      -      -     1.00    -      -     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.33   0.33   0.33    -      -     0.50   0.50    -     strb     w12, [x28, xzr, sxtx]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     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]
@@ -3533,7 +3563,7 @@ br       x20
 # 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.33   0.33   0.33    -      -     0.50   0.50    -     strh     w11, [x29, x3, sxtx]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     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]
@@ -3541,23 +3571,23 @@ br       x20
 # 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.33   0.33   0.33    -      -     0.50   0.50    -     strh     w19, [x21, wzr, sxtw #1]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     strh     w19, [x21, wzr, sxtw #1]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldr      w3, [sp, x5]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     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.33   0.33   0.33    -      -     0.50   0.50    -     str      s12, [x28, xzr, sxtx]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w13, [x27, x5, sxtx #2]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      w14, [x26, w6, uxtw]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      s12, [x28, xzr, sxtx]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      w13, [x27, x5, sxtx #2]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     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.33   0.33   0.33    -      -     0.50   0.50    -     str      x9, [x27, x6]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      x9, [x27, x6]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      d10, [x30, x7, lsl #3]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      x11, [x29, x3, sxtx]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     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]
@@ -3565,21 +3595,21 @@ br       x20
 # 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.33   0.33   0.33    -      -     0.50   0.50    -     str      d19, [x21, wzr, sxtw #3]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      d19, [x21, wzr, sxtw #3]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q3, [sp, x5]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q9, [x27, x6]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q10, [x30, x7, lsl #4]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q11, [x29, x3, sxtx]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q12, [x28, xzr, sxtx]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q13, [x27, x5, sxtx #4]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q11, [x29, x3, sxtx]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q12, [x28, xzr, sxtx]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q13, [x27, x5, sxtx #4]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q14, [x26, w6, uxtw]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q15, [x25, w7, uxtw]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q16, [x24, w8, uxtw #4]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldr      q17, [x23, w9, sxtw]
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     str      q18, [x22, w10, sxtw]
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     str      q18, [x22, w10, sxtw]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     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:  -      -      -      -      -     1.00    -      -     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]
@@ -3589,16 +3619,16 @@ br       x20
 # 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:  -      -      -      -      -     1.00   1.00    -     stp      s27, s26, [sp, #-256]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stp      s27, s26, [sp, #-256]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldp      s1, s2, [x3, #44]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stp      d3, d5, [x9, #504]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stp      d7, d11, [x10, #-512]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stp      d3, d5, [x9, #504]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stp      d7, d11, [x10, #-512]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldp      d2, d3, [x30, #-8]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stp      q3, q5, [sp]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stp      q17, q19, [sp, #1008]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stp      q3, q5, [sp]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stp      q17, q19, [sp, #1008]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldp      q23, q29, [x1, #-1024]
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      w3, w5, [sp], #0
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     stp      wzr, w9, [sp], #252
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     stp      wzr, w9, [sp], #252
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      w2, wzr, [sp], #-256
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      w9, w10, [sp], #4
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldpsw    x9, x10, [sp], #4
@@ -3608,16 +3638,16 @@ br       x20
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      x22, x23, [x3], #-512
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      x24, x25, [x4], #8
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      s29, s28, [sp], #252
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      s27, s26, [sp], #-256
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      s27, s26, [sp], #-256
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      s1, s2, [x3], #44
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      d3, d5, [x9], #504
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      d7, d11, [x10], #-512
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      d3, d5, [x9], #504
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      d7, d11, [x10], #-512
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      d2, d3, [x30], #-8
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      q3, q5, [sp], #0
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      q17, q19, [sp], #1008
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      q3, q5, [sp], #0
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      q17, q19, [sp], #1008
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      q23, q29, [x1], #-1024
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      w3, w5, [sp, #0]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     stp      wzr, w9, [sp, #252]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00    -      -     stp      wzr, w9, [sp, #252]!
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      w2, wzr, [sp, #-256]!
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      w9, w10, [sp, #4]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldpsw    x9, x10, [sp, #4]!
@@ -3627,60 +3657,60 @@ br       x20
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      x22, x23, [x3, #-512]!
 # CHECK-NEXT: 0.67   0.67   0.67    -      -     0.50   0.50    -     ldp      x24, x25, [x4, #8]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      s29, s28, [sp, #252]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      s27, s26, [sp, #-256]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      s27, s26, [sp, #-256]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      s1, s2, [x3, #44]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      d3, d5, [x9, #504]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      d7, d11, [x10, #-512]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      d3, d5, [x9, #504]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      d7, d11, [x10, #-512]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     0.50   0.50    -     ldp      d2, d3, [x30, #-8]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      q3, q5, [sp, #0]!
-# CHECK-NEXT: 0.33   0.33   0.33    -      -     1.00   1.00    -     stp      q17, q19, [sp, #1008]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      q3, q5, [sp, #0]!
+# CHECK-NEXT: 0.33   0.33   0.33    -      -     2.00    -      -     stp      q17, q19, [sp, #1008]!
 # CHECK-NEXT: 0.33   0.33   0.33    -      -     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:  -      -      -      -      -     1.00    -      -     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:  -      -      -      -      -     1.00   1.00    -     stnp     s27, s26, [sp, #-256]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stnp     s27, s26, [sp, #-256]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldnp     s1, s2, [x3, #44]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stnp     d3, d5, [x9, #504]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stnp     d7, d11, [x10, #-512]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stnp     d3, d5, [x9, #504]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stnp     d7, d11, [x10, #-512]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldnp     d2, d3, [x30, #-8]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stnp     q3, q5, [sp]
-# CHECK-NEXT:  -      -      -      -      -     1.00   1.00    -     stnp     q17, q19, [sp, #1008]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stnp     q3, q5, [sp]
+# CHECK-NEXT:  -      -      -      -      -     2.00    -      -     stnp     q17, q19, [sp, #1008]
 # CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -     ldnp     q23, q29, [x1, #-1024]
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      w3, #983055
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      x10, #-6148914691236517206
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w12, w23, w21
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     and      w12, w23, w21
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w16, w15, w1, lsl #1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w9, w4, w10, lsl #31
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w3, w30, w11
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     and      w3, w30, w11
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      x3, x5, x7, lsl #63
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      x5, x14, x19, asr #4
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w3, w17, w19, ror #31
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w0, w2, wzr, lsr #17
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w3, w30, w11, asr #2
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      xzr, x4, x26
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     and      xzr, x4, x26
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      w3, wzr, w20, ror #2
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   and      x7, x20, xzr, asr #63
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   bic      x13, x20, x14, lsl #47
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   bic      w2, w7, w9
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     bic      w2, w7, w9
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orr      w2, w7, w0, asr #31
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orr      x8, x9, x10, lsl #12
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orn      x3, x5, x7, asr #2
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   orn      w2, w5, w29
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     ands     w7, wzr, w9, lsl #1
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     ands     x3, x5, x20, ror #63
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     orn      w2, w5, w29
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     ands     w7, wzr, w9, lsl #1
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     ands     x3, x5, x20, ror #63
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     bics     w3, w5, w7
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     bics     x3, xzr, x3, lsl #1
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     tst      w3, w7, lsl #31
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -     tst      x2, x20, asr #2
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      x3, x6
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      x3, xzr
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      wzr, w2
-# CHECK-NEXT:  -      -      -      -      -      -      -     1.00   mov      w3, w5
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     bics     x3, xzr, x3, lsl #1
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     tst      w3, w7, lsl #31
+# CHECK-NEXT: 1.00   1.00    -      -      -      -      -      -     tst      x2, x20, asr #2
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      x3, x6
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      x3, xzr
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      wzr, w2
+# CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      w3, w5
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     movz     w2, #0, lsl #16
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      w2, #-1235
 # CHECK-NEXT: 0.33   0.33   0.33    -      -      -      -      -     mov      x2, #5299989643264