[llvm] 3c8f327 - [AArch64] Fix sched model for tsv110

via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 25 04:22:56 PDT 2022


Author: zhongyunde
Date: 2022-08-25T19:20:07+08:00
New Revision: 3c8f327ce94fd706ec11d927b22a3642b98adad1

URL: https://github.com/llvm/llvm-project/commit/3c8f327ce94fd706ec11d927b22a3642b98adad1
DIFF: https://github.com/llvm/llvm-project/commit/3c8f327ce94fd706ec11d927b22a3642b98adad1.diff

LOG: [AArch64] Fix sched model for tsv110

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

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AArch64/AArch64SchedTSV110.td b/llvm/lib/Target/AArch64/AArch64SchedTSV110.td
index 9c1bf3231a555..542d9afb59753 100644
--- a/llvm/lib/Target/AArch64/AArch64SchedTSV110.td
+++ b/llvm/lib/Target/AArch64/AArch64SchedTSV110.td
@@ -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$")>;

diff  --git a/llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-basic-instructions.s b/llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-basic-instructions.s
index c6083db4ea6fe..6eb5d02ffb28f 100644
--- a/llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-basic-instructions.s
+++ b/llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-basic-instructions.s
@@ -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


        


More information about the llvm-commits mailing list