[llvm] [RISCV] Set CostPerUse to 1 only when optimizing for size (PR #201501)
Pengcheng Wang via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 10 21:51:35 PDT 2026
https://github.com/wangpc-pp updated https://github.com/llvm/llvm-project/pull/201501
>From 5050bcadffdfdfc52fe03a0ae501010d0d06cc87 Mon Sep 17 00:00:00 2001
From: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: Thu, 4 Jun 2026 11:49:17 +0800
Subject: [PATCH] [RISCV] Set CostPerUse to 1 only when optimizing for size
We saw some regressions because of bad RAs as the cost of registers
beyond x8-x15 are bigger. This is why `DisableCostPerUse` was added
in https://github.com/llvm/llvm-project/issues/83320.
In this PR, we change it to set `CostPerUse=1` only when optimizing
for size.
Code size increases less than 0.1% in llvm-test-suite.
---
llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp | 5 +-
llvm/test/CodeGen/RISCV/add-before-shl.ll | 24 +-
llvm/test/CodeGen/RISCV/callee-saved-gprs.ll | 488 ++---
.../test/CodeGen/RISCV/fold-addi-loadstore.ll | 46 +-
llvm/test/CodeGen/RISCV/machine-pipeliner.ll | 34 +-
llvm/test/CodeGen/RISCV/nontemporal.ll | 480 ++---
llvm/test/CodeGen/RISCV/push-pop-popret.ll | 1200 +++++------
.../CodeGen/RISCV/qci-interrupt-attr-fpr.ll | 576 +++---
llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll | 1264 ++++++------
.../RISCV/rvv/fixed-vectors-int-buildvec.ll | 410 ++--
.../RISCV/rvv/nontemporal-vp-scalable.ll | 1740 ++++++++--------
llvm/test/CodeGen/RISCV/rvv/pr95865.ll | 106 +-
.../RISCV/rvv/vsetvli-insert-crossbb.ll | 12 +-
.../RISCV/rvv/vxrm-insert-out-of-loop.ll | 214 +-
llvm/test/CodeGen/RISCV/select-cc.ll | 10 +-
.../CodeGen/RISCV/xqccmp-callee-saved-gprs.ll | 488 ++---
.../CodeGen/RISCV/xqccmp-push-pop-popret.ll | 1808 ++++++++---------
17 files changed, 4454 insertions(+), 4451 deletions(-)
diff --git a/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp b/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
index 7ee3542b05458..442581a846c77 100644
--- a/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+++ b/llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
@@ -912,7 +912,10 @@ void RISCVRegisterInfo::getOffsetOpcodes(const StackOffset &Offset,
unsigned
RISCVRegisterInfo::getRegisterCostTableIndex(const MachineFunction &MF) const {
- return MF.getSubtarget<RISCVSubtarget>().hasStdExtZca() && !DisableCostPerUse
+ // Set CostPerUse to 1 only when optimizing for size and RVC exists.
+ return MF.getFunction().hasOptSize() &&
+ MF.getSubtarget<RISCVSubtarget>().hasStdExtZca() &&
+ !DisableCostPerUse
? 1
: 0;
}
diff --git a/llvm/test/CodeGen/RISCV/add-before-shl.ll b/llvm/test/CodeGen/RISCV/add-before-shl.ll
index 72d8b2727987c..b30552f90771b 100644
--- a/llvm/test/CodeGen/RISCV/add-before-shl.ll
+++ b/llvm/test/CodeGen/RISCV/add-before-shl.ll
@@ -200,26 +200,26 @@ define i128 @add_wide_operand(i128 %a) nounwind {
;
; RV32C-LABEL: add_wide_operand:
; RV32C: # %bb.0:
-; RV32C-NEXT: c.lw a4, 12(a1)
+; RV32C-NEXT: c.lw a2, 12(a1)
; RV32C-NEXT: c.lw a3, 0(a1)
-; RV32C-NEXT: c.lw a2, 4(a1)
+; RV32C-NEXT: c.lw a4, 4(a1)
; RV32C-NEXT: c.lw a1, 8(a1)
; RV32C-NEXT: c.lui a5, 16
-; RV32C-NEXT: add a6, a4, a5
+; RV32C-NEXT: c.add a2, a5
; RV32C-NEXT: srli a5, a3, 29
-; RV32C-NEXT: slli a4, a2, 3
-; RV32C-NEXT: c.or a4, a5
-; RV32C-NEXT: srli a5, a1, 29
-; RV32C-NEXT: c.srli a2, 29
-; RV32C-NEXT: c.slli a6, 3
-; RV32C-NEXT: c.slli a1, 3
+; RV32C-NEXT: slli a6, a4, 3
; RV32C-NEXT: or a5, a6, a5
-; RV32C-NEXT: c.or a1, a2
+; RV32C-NEXT: srli a6, a1, 29
+; RV32C-NEXT: c.srli a4, 29
+; RV32C-NEXT: c.slli a2, 3
+; RV32C-NEXT: c.slli a1, 3
+; RV32C-NEXT: or a2, a2, a6
+; RV32C-NEXT: c.or a1, a4
; RV32C-NEXT: c.slli a3, 3
; RV32C-NEXT: c.sw a3, 0(a0)
-; RV32C-NEXT: c.sw a4, 4(a0)
+; RV32C-NEXT: c.sw a5, 4(a0)
; RV32C-NEXT: c.sw a1, 8(a0)
-; RV32C-NEXT: c.sw a5, 12(a0)
+; RV32C-NEXT: c.sw a2, 12(a0)
; RV32C-NEXT: c.jr ra
;
; RV64C-LABEL: add_wide_operand:
diff --git a/llvm/test/CodeGen/RISCV/callee-saved-gprs.ll b/llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
index dd8a20445877b..35e46434bc798 100644
--- a/llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
+++ b/llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
@@ -448,60 +448,60 @@ define void @callee() {
; RV32IZCMP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IZCMP-NEXT: lw a1, 16(a0)
; RV32IZCMP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IZCMP-NEXT: lw t3, 20(a0)
-; RV32IZCMP-NEXT: lw t4, 24(a0)
-; RV32IZCMP-NEXT: lw t5, 28(a0)
-; RV32IZCMP-NEXT: lw t6, 32(a0)
-; RV32IZCMP-NEXT: lw s2, 36(a0)
-; RV32IZCMP-NEXT: lw s3, 40(a0)
-; RV32IZCMP-NEXT: lw s4, 44(a0)
-; RV32IZCMP-NEXT: lw s5, 48(a0)
-; RV32IZCMP-NEXT: lw s6, 52(a0)
-; RV32IZCMP-NEXT: lw s7, 56(a0)
-; RV32IZCMP-NEXT: lw s8, 60(a0)
-; RV32IZCMP-NEXT: lw s9, 64(a0)
-; RV32IZCMP-NEXT: lw s10, 68(a0)
-; RV32IZCMP-NEXT: lw s11, 72(a0)
-; RV32IZCMP-NEXT: lw ra, 76(a0)
-; RV32IZCMP-NEXT: lw t0, 112(a0)
-; RV32IZCMP-NEXT: lw s0, 116(a0)
-; RV32IZCMP-NEXT: lw s1, 120(a0)
-; RV32IZCMP-NEXT: lw a5, 124(a0)
-; RV32IZCMP-NEXT: lw t1, 96(a0)
-; RV32IZCMP-NEXT: lw a6, 100(a0)
-; RV32IZCMP-NEXT: lw a3, 104(a0)
+; RV32IZCMP-NEXT: lw a6, 20(a0)
+; RV32IZCMP-NEXT: lw a7, 24(a0)
+; RV32IZCMP-NEXT: lw t0, 28(a0)
+; RV32IZCMP-NEXT: lw t1, 32(a0)
+; RV32IZCMP-NEXT: lw t2, 36(a0)
+; RV32IZCMP-NEXT: lw t3, 40(a0)
+; RV32IZCMP-NEXT: lw t4, 44(a0)
+; RV32IZCMP-NEXT: lw t5, 48(a0)
+; RV32IZCMP-NEXT: lw t6, 52(a0)
+; RV32IZCMP-NEXT: lw s0, 56(a0)
+; RV32IZCMP-NEXT: lw s1, 60(a0)
+; RV32IZCMP-NEXT: lw s2, 64(a0)
+; RV32IZCMP-NEXT: lw s3, 68(a0)
+; RV32IZCMP-NEXT: lw s4, 72(a0)
+; RV32IZCMP-NEXT: lw s5, 76(a0)
+; RV32IZCMP-NEXT: lw s6, 112(a0)
+; RV32IZCMP-NEXT: lw s7, 116(a0)
+; RV32IZCMP-NEXT: lw s8, 120(a0)
+; RV32IZCMP-NEXT: lw s9, 124(a0)
+; RV32IZCMP-NEXT: lw s10, 96(a0)
+; RV32IZCMP-NEXT: lw s11, 100(a0)
+; RV32IZCMP-NEXT: lw ra, 104(a0)
; RV32IZCMP-NEXT: lw a1, 108(a0)
-; RV32IZCMP-NEXT: lw t2, 80(a0)
-; RV32IZCMP-NEXT: lw a7, 84(a0)
-; RV32IZCMP-NEXT: lw a4, 88(a0)
+; RV32IZCMP-NEXT: lw a5, 80(a0)
+; RV32IZCMP-NEXT: lw a4, 84(a0)
+; RV32IZCMP-NEXT: lw a3, 88(a0)
; RV32IZCMP-NEXT: lw a2, 92(a0)
-; RV32IZCMP-NEXT: sw a5, 124(a0)
-; RV32IZCMP-NEXT: sw s1, 120(a0)
-; RV32IZCMP-NEXT: sw s0, 116(a0)
-; RV32IZCMP-NEXT: sw t0, 112(a0)
+; RV32IZCMP-NEXT: sw s9, 124(a0)
+; RV32IZCMP-NEXT: sw s8, 120(a0)
+; RV32IZCMP-NEXT: sw s7, 116(a0)
+; RV32IZCMP-NEXT: sw s6, 112(a0)
; RV32IZCMP-NEXT: sw a1, 108(a0)
-; RV32IZCMP-NEXT: sw a3, 104(a0)
-; RV32IZCMP-NEXT: sw a6, 100(a0)
-; RV32IZCMP-NEXT: sw t1, 96(a0)
+; RV32IZCMP-NEXT: sw ra, 104(a0)
+; RV32IZCMP-NEXT: sw s11, 100(a0)
+; RV32IZCMP-NEXT: sw s10, 96(a0)
; RV32IZCMP-NEXT: sw a2, 92(a0)
-; RV32IZCMP-NEXT: sw a4, 88(a0)
-; RV32IZCMP-NEXT: sw a7, 84(a0)
-; RV32IZCMP-NEXT: sw t2, 80(a0)
-; RV32IZCMP-NEXT: sw ra, 76(a0)
-; RV32IZCMP-NEXT: sw s11, 72(a0)
-; RV32IZCMP-NEXT: sw s10, 68(a0)
-; RV32IZCMP-NEXT: sw s9, 64(a0)
-; RV32IZCMP-NEXT: sw s8, 60(a0)
-; RV32IZCMP-NEXT: sw s7, 56(a0)
-; RV32IZCMP-NEXT: sw s6, 52(a0)
-; RV32IZCMP-NEXT: sw s5, 48(a0)
-; RV32IZCMP-NEXT: sw s4, 44(a0)
-; RV32IZCMP-NEXT: sw s3, 40(a0)
-; RV32IZCMP-NEXT: sw s2, 36(a0)
-; RV32IZCMP-NEXT: sw t6, 32(a0)
-; RV32IZCMP-NEXT: sw t5, 28(a0)
-; RV32IZCMP-NEXT: sw t4, 24(a0)
-; RV32IZCMP-NEXT: sw t3, 20(a0)
+; RV32IZCMP-NEXT: sw a3, 88(a0)
+; RV32IZCMP-NEXT: sw a4, 84(a0)
+; RV32IZCMP-NEXT: sw a5, 80(a0)
+; RV32IZCMP-NEXT: sw s5, 76(a0)
+; RV32IZCMP-NEXT: sw s4, 72(a0)
+; RV32IZCMP-NEXT: sw s3, 68(a0)
+; RV32IZCMP-NEXT: sw s2, 64(a0)
+; RV32IZCMP-NEXT: sw s1, 60(a0)
+; RV32IZCMP-NEXT: sw s0, 56(a0)
+; RV32IZCMP-NEXT: sw t6, 52(a0)
+; RV32IZCMP-NEXT: sw t5, 48(a0)
+; RV32IZCMP-NEXT: sw t4, 44(a0)
+; RV32IZCMP-NEXT: sw t3, 40(a0)
+; RV32IZCMP-NEXT: sw t2, 36(a0)
+; RV32IZCMP-NEXT: sw t1, 32(a0)
+; RV32IZCMP-NEXT: sw t0, 28(a0)
+; RV32IZCMP-NEXT: sw a7, 24(a0)
+; RV32IZCMP-NEXT: sw a6, 20(a0)
; RV32IZCMP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IZCMP-NEXT: sw a1, 16(a0)
; RV32IZCMP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -560,58 +560,58 @@ define void @callee() {
; RV32IZCMP-WITH-FP-NEXT: sw a1, 8(sp) # 4-byte Folded Spill
; RV32IZCMP-WITH-FP-NEXT: lw a1, 20(a0)
; RV32IZCMP-WITH-FP-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
-; RV32IZCMP-WITH-FP-NEXT: lw t4, 24(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw t5, 28(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw t6, 32(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s2, 36(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s3, 40(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s4, 44(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s5, 48(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s6, 52(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s7, 56(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s8, 60(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s9, 64(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s10, 68(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s11, 72(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw ra, 76(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw s1, 112(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw t0, 116(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw a4, 120(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw a2, 124(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw t3, 96(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw t1, 100(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw a6, 104(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw a7, 24(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t0, 28(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t1, 32(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t2, 36(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t3, 40(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t4, 44(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t5, 48(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw t6, 52(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s1, 56(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s2, 60(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s3, 64(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s4, 68(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s5, 72(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s6, 76(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s7, 112(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s8, 116(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s9, 120(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s10, 124(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw s11, 96(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw ra, 100(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw a4, 104(a0)
; RV32IZCMP-WITH-FP-NEXT: lw a1, 108(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw t2, 80(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw a7, 84(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw a5, 88(a0)
-; RV32IZCMP-WITH-FP-NEXT: lw a3, 92(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw a2, 124(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw a4, 120(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t0, 116(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s1, 112(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw a6, 80(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw a5, 84(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw a3, 88(a0)
+; RV32IZCMP-WITH-FP-NEXT: lw a2, 92(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s10, 124(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s9, 120(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s8, 116(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s7, 112(a0)
; RV32IZCMP-WITH-FP-NEXT: sw a1, 108(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw a6, 104(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t1, 100(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t3, 96(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw a3, 92(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw a5, 88(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw a7, 84(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t2, 80(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw ra, 76(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s11, 72(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s10, 68(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s9, 64(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s8, 60(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s7, 56(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s6, 52(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s5, 48(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s4, 44(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s3, 40(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw s2, 36(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t6, 32(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t5, 28(a0)
-; RV32IZCMP-WITH-FP-NEXT: sw t4, 24(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw a4, 104(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw ra, 100(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s11, 96(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw a2, 92(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw a3, 88(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw a5, 84(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw a6, 80(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s6, 76(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s5, 72(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s4, 68(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s3, 64(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s2, 60(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw s1, 56(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t6, 52(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t5, 48(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t4, 44(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t3, 40(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t2, 36(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t1, 32(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw t0, 28(a0)
+; RV32IZCMP-WITH-FP-NEXT: sw a7, 24(a0)
; RV32IZCMP-WITH-FP-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
; RV32IZCMP-WITH-FP-NEXT: sw a1, 20(a0)
; RV32IZCMP-WITH-FP-NEXT: lw a1, 8(sp) # 4-byte Folded Reload
@@ -1057,60 +1057,60 @@ define void @callee() {
; RV64IZCMP-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IZCMP-NEXT: lw a1, 16(a0)
; RV64IZCMP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IZCMP-NEXT: lw t3, 20(a0)
-; RV64IZCMP-NEXT: lw t4, 24(a0)
-; RV64IZCMP-NEXT: lw t5, 28(a0)
-; RV64IZCMP-NEXT: lw t6, 32(a0)
-; RV64IZCMP-NEXT: lw s2, 36(a0)
-; RV64IZCMP-NEXT: lw s3, 40(a0)
-; RV64IZCMP-NEXT: lw s4, 44(a0)
-; RV64IZCMP-NEXT: lw s5, 48(a0)
-; RV64IZCMP-NEXT: lw s6, 52(a0)
-; RV64IZCMP-NEXT: lw s7, 56(a0)
-; RV64IZCMP-NEXT: lw s8, 60(a0)
-; RV64IZCMP-NEXT: lw s9, 64(a0)
-; RV64IZCMP-NEXT: lw s10, 68(a0)
-; RV64IZCMP-NEXT: lw s11, 72(a0)
-; RV64IZCMP-NEXT: lw ra, 76(a0)
-; RV64IZCMP-NEXT: lw t0, 112(a0)
-; RV64IZCMP-NEXT: lw s0, 116(a0)
-; RV64IZCMP-NEXT: lw s1, 120(a0)
-; RV64IZCMP-NEXT: lw a5, 124(a0)
-; RV64IZCMP-NEXT: lw t1, 96(a0)
-; RV64IZCMP-NEXT: lw a6, 100(a0)
-; RV64IZCMP-NEXT: lw a3, 104(a0)
+; RV64IZCMP-NEXT: lw a6, 20(a0)
+; RV64IZCMP-NEXT: lw a7, 24(a0)
+; RV64IZCMP-NEXT: lw t0, 28(a0)
+; RV64IZCMP-NEXT: lw t1, 32(a0)
+; RV64IZCMP-NEXT: lw t2, 36(a0)
+; RV64IZCMP-NEXT: lw t3, 40(a0)
+; RV64IZCMP-NEXT: lw t4, 44(a0)
+; RV64IZCMP-NEXT: lw t5, 48(a0)
+; RV64IZCMP-NEXT: lw t6, 52(a0)
+; RV64IZCMP-NEXT: lw s0, 56(a0)
+; RV64IZCMP-NEXT: lw s1, 60(a0)
+; RV64IZCMP-NEXT: lw s2, 64(a0)
+; RV64IZCMP-NEXT: lw s3, 68(a0)
+; RV64IZCMP-NEXT: lw s4, 72(a0)
+; RV64IZCMP-NEXT: lw s5, 76(a0)
+; RV64IZCMP-NEXT: lw s6, 112(a0)
+; RV64IZCMP-NEXT: lw s7, 116(a0)
+; RV64IZCMP-NEXT: lw s8, 120(a0)
+; RV64IZCMP-NEXT: lw s9, 124(a0)
+; RV64IZCMP-NEXT: lw s10, 96(a0)
+; RV64IZCMP-NEXT: lw s11, 100(a0)
+; RV64IZCMP-NEXT: lw ra, 104(a0)
; RV64IZCMP-NEXT: lw a1, 108(a0)
-; RV64IZCMP-NEXT: lw t2, 80(a0)
-; RV64IZCMP-NEXT: lw a7, 84(a0)
-; RV64IZCMP-NEXT: lw a4, 88(a0)
+; RV64IZCMP-NEXT: lw a5, 80(a0)
+; RV64IZCMP-NEXT: lw a4, 84(a0)
+; RV64IZCMP-NEXT: lw a3, 88(a0)
; RV64IZCMP-NEXT: lw a2, 92(a0)
-; RV64IZCMP-NEXT: sw a5, 124(a0)
-; RV64IZCMP-NEXT: sw s1, 120(a0)
-; RV64IZCMP-NEXT: sw s0, 116(a0)
-; RV64IZCMP-NEXT: sw t0, 112(a0)
+; RV64IZCMP-NEXT: sw s9, 124(a0)
+; RV64IZCMP-NEXT: sw s8, 120(a0)
+; RV64IZCMP-NEXT: sw s7, 116(a0)
+; RV64IZCMP-NEXT: sw s6, 112(a0)
; RV64IZCMP-NEXT: sw a1, 108(a0)
-; RV64IZCMP-NEXT: sw a3, 104(a0)
-; RV64IZCMP-NEXT: sw a6, 100(a0)
-; RV64IZCMP-NEXT: sw t1, 96(a0)
+; RV64IZCMP-NEXT: sw ra, 104(a0)
+; RV64IZCMP-NEXT: sw s11, 100(a0)
+; RV64IZCMP-NEXT: sw s10, 96(a0)
; RV64IZCMP-NEXT: sw a2, 92(a0)
-; RV64IZCMP-NEXT: sw a4, 88(a0)
-; RV64IZCMP-NEXT: sw a7, 84(a0)
-; RV64IZCMP-NEXT: sw t2, 80(a0)
-; RV64IZCMP-NEXT: sw ra, 76(a0)
-; RV64IZCMP-NEXT: sw s11, 72(a0)
-; RV64IZCMP-NEXT: sw s10, 68(a0)
-; RV64IZCMP-NEXT: sw s9, 64(a0)
-; RV64IZCMP-NEXT: sw s8, 60(a0)
-; RV64IZCMP-NEXT: sw s7, 56(a0)
-; RV64IZCMP-NEXT: sw s6, 52(a0)
-; RV64IZCMP-NEXT: sw s5, 48(a0)
-; RV64IZCMP-NEXT: sw s4, 44(a0)
-; RV64IZCMP-NEXT: sw s3, 40(a0)
-; RV64IZCMP-NEXT: sw s2, 36(a0)
-; RV64IZCMP-NEXT: sw t6, 32(a0)
-; RV64IZCMP-NEXT: sw t5, 28(a0)
-; RV64IZCMP-NEXT: sw t4, 24(a0)
-; RV64IZCMP-NEXT: sw t3, 20(a0)
+; RV64IZCMP-NEXT: sw a3, 88(a0)
+; RV64IZCMP-NEXT: sw a4, 84(a0)
+; RV64IZCMP-NEXT: sw a5, 80(a0)
+; RV64IZCMP-NEXT: sw s5, 76(a0)
+; RV64IZCMP-NEXT: sw s4, 72(a0)
+; RV64IZCMP-NEXT: sw s3, 68(a0)
+; RV64IZCMP-NEXT: sw s2, 64(a0)
+; RV64IZCMP-NEXT: sw s1, 60(a0)
+; RV64IZCMP-NEXT: sw s0, 56(a0)
+; RV64IZCMP-NEXT: sw t6, 52(a0)
+; RV64IZCMP-NEXT: sw t5, 48(a0)
+; RV64IZCMP-NEXT: sw t4, 44(a0)
+; RV64IZCMP-NEXT: sw t3, 40(a0)
+; RV64IZCMP-NEXT: sw t2, 36(a0)
+; RV64IZCMP-NEXT: sw t1, 32(a0)
+; RV64IZCMP-NEXT: sw t0, 28(a0)
+; RV64IZCMP-NEXT: sw a7, 24(a0)
+; RV64IZCMP-NEXT: sw a6, 20(a0)
; RV64IZCMP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IZCMP-NEXT: sw a1, 16(a0)
; RV64IZCMP-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
@@ -1169,58 +1169,58 @@ define void @callee() {
; RV64IZCMP-WITH-FP-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IZCMP-WITH-FP-NEXT: lw a1, 20(a0)
; RV64IZCMP-WITH-FP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IZCMP-WITH-FP-NEXT: lw t4, 24(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw t5, 28(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw t6, 32(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s2, 36(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s3, 40(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s4, 44(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s5, 48(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s6, 52(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s7, 56(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s8, 60(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s9, 64(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s10, 68(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s11, 72(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw ra, 76(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw s1, 112(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw t0, 116(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw a4, 120(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw a2, 124(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw t3, 96(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw t1, 100(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw a6, 104(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw a7, 24(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t0, 28(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t1, 32(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t2, 36(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t3, 40(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t4, 44(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t5, 48(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw t6, 52(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s1, 56(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s2, 60(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s3, 64(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s4, 68(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s5, 72(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s6, 76(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s7, 112(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s8, 116(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s9, 120(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s10, 124(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw s11, 96(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw ra, 100(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw a4, 104(a0)
; RV64IZCMP-WITH-FP-NEXT: lw a1, 108(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw t2, 80(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw a7, 84(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw a5, 88(a0)
-; RV64IZCMP-WITH-FP-NEXT: lw a3, 92(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw a2, 124(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw a4, 120(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t0, 116(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s1, 112(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw a6, 80(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw a5, 84(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw a3, 88(a0)
+; RV64IZCMP-WITH-FP-NEXT: lw a2, 92(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s10, 124(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s9, 120(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s8, 116(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s7, 112(a0)
; RV64IZCMP-WITH-FP-NEXT: sw a1, 108(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw a6, 104(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t1, 100(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t3, 96(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw a3, 92(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw a5, 88(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw a7, 84(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t2, 80(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw ra, 76(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s11, 72(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s10, 68(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s9, 64(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s8, 60(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s7, 56(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s6, 52(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s5, 48(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s4, 44(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s3, 40(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw s2, 36(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t6, 32(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t5, 28(a0)
-; RV64IZCMP-WITH-FP-NEXT: sw t4, 24(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw a4, 104(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw ra, 100(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s11, 96(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw a2, 92(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw a3, 88(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw a5, 84(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw a6, 80(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s6, 76(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s5, 72(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s4, 68(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s3, 64(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s2, 60(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw s1, 56(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t6, 52(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t5, 48(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t4, 44(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t3, 40(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t2, 36(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t1, 32(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw t0, 28(a0)
+; RV64IZCMP-WITH-FP-NEXT: sw a7, 24(a0)
; RV64IZCMP-WITH-FP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IZCMP-WITH-FP-NEXT: sw a1, 20(a0)
; RV64IZCMP-WITH-FP-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
@@ -2228,29 +2228,29 @@ define void @caller() {
; RV32IZCMP-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; RV32IZCMP-NEXT: lw a0, 80(s0)
; RV32IZCMP-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; RV32IZCMP-NEXT: lw s1, 84(s0)
-; RV32IZCMP-NEXT: lw s2, 88(s0)
-; RV32IZCMP-NEXT: lw s3, 92(s0)
-; RV32IZCMP-NEXT: lw s4, 96(s0)
-; RV32IZCMP-NEXT: lw s5, 100(s0)
-; RV32IZCMP-NEXT: lw s6, 104(s0)
-; RV32IZCMP-NEXT: lw s7, 108(s0)
-; RV32IZCMP-NEXT: lw s8, 112(s0)
-; RV32IZCMP-NEXT: lw s9, 116(s0)
-; RV32IZCMP-NEXT: lw s10, 120(s0)
-; RV32IZCMP-NEXT: lw s11, 124(s0)
+; RV32IZCMP-NEXT: lw s11, 84(s0)
+; RV32IZCMP-NEXT: lw s1, 88(s0)
+; RV32IZCMP-NEXT: lw s2, 92(s0)
+; RV32IZCMP-NEXT: lw s3, 96(s0)
+; RV32IZCMP-NEXT: lw s4, 100(s0)
+; RV32IZCMP-NEXT: lw s5, 104(s0)
+; RV32IZCMP-NEXT: lw s6, 108(s0)
+; RV32IZCMP-NEXT: lw s7, 112(s0)
+; RV32IZCMP-NEXT: lw s8, 116(s0)
+; RV32IZCMP-NEXT: lw s9, 120(s0)
+; RV32IZCMP-NEXT: lw s10, 124(s0)
; RV32IZCMP-NEXT: call callee
-; RV32IZCMP-NEXT: sw s11, 124(s0)
-; RV32IZCMP-NEXT: sw s10, 120(s0)
-; RV32IZCMP-NEXT: sw s9, 116(s0)
-; RV32IZCMP-NEXT: sw s8, 112(s0)
-; RV32IZCMP-NEXT: sw s7, 108(s0)
-; RV32IZCMP-NEXT: sw s6, 104(s0)
-; RV32IZCMP-NEXT: sw s5, 100(s0)
-; RV32IZCMP-NEXT: sw s4, 96(s0)
-; RV32IZCMP-NEXT: sw s3, 92(s0)
-; RV32IZCMP-NEXT: sw s2, 88(s0)
-; RV32IZCMP-NEXT: sw s1, 84(s0)
+; RV32IZCMP-NEXT: sw s10, 124(s0)
+; RV32IZCMP-NEXT: sw s9, 120(s0)
+; RV32IZCMP-NEXT: sw s8, 116(s0)
+; RV32IZCMP-NEXT: sw s7, 112(s0)
+; RV32IZCMP-NEXT: sw s6, 108(s0)
+; RV32IZCMP-NEXT: sw s5, 104(s0)
+; RV32IZCMP-NEXT: sw s4, 100(s0)
+; RV32IZCMP-NEXT: sw s3, 96(s0)
+; RV32IZCMP-NEXT: sw s2, 92(s0)
+; RV32IZCMP-NEXT: sw s1, 88(s0)
+; RV32IZCMP-NEXT: sw s11, 84(s0)
; RV32IZCMP-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; RV32IZCMP-NEXT: sw a0, 80(s0)
; RV32IZCMP-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
@@ -3026,29 +3026,29 @@ define void @caller() {
; RV64IZCMP-NEXT: sd a0, 16(sp) # 8-byte Folded Spill
; RV64IZCMP-NEXT: lw a0, 80(s0)
; RV64IZCMP-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
-; RV64IZCMP-NEXT: lw s1, 84(s0)
-; RV64IZCMP-NEXT: lw s2, 88(s0)
-; RV64IZCMP-NEXT: lw s3, 92(s0)
-; RV64IZCMP-NEXT: lw s4, 96(s0)
-; RV64IZCMP-NEXT: lw s5, 100(s0)
-; RV64IZCMP-NEXT: lw s6, 104(s0)
-; RV64IZCMP-NEXT: lw s7, 108(s0)
-; RV64IZCMP-NEXT: lw s8, 112(s0)
-; RV64IZCMP-NEXT: lw s9, 116(s0)
-; RV64IZCMP-NEXT: lw s10, 120(s0)
-; RV64IZCMP-NEXT: lw s11, 124(s0)
+; RV64IZCMP-NEXT: lw s11, 84(s0)
+; RV64IZCMP-NEXT: lw s1, 88(s0)
+; RV64IZCMP-NEXT: lw s2, 92(s0)
+; RV64IZCMP-NEXT: lw s3, 96(s0)
+; RV64IZCMP-NEXT: lw s4, 100(s0)
+; RV64IZCMP-NEXT: lw s5, 104(s0)
+; RV64IZCMP-NEXT: lw s6, 108(s0)
+; RV64IZCMP-NEXT: lw s7, 112(s0)
+; RV64IZCMP-NEXT: lw s8, 116(s0)
+; RV64IZCMP-NEXT: lw s9, 120(s0)
+; RV64IZCMP-NEXT: lw s10, 124(s0)
; RV64IZCMP-NEXT: call callee
-; RV64IZCMP-NEXT: sw s11, 124(s0)
-; RV64IZCMP-NEXT: sw s10, 120(s0)
-; RV64IZCMP-NEXT: sw s9, 116(s0)
-; RV64IZCMP-NEXT: sw s8, 112(s0)
-; RV64IZCMP-NEXT: sw s7, 108(s0)
-; RV64IZCMP-NEXT: sw s6, 104(s0)
-; RV64IZCMP-NEXT: sw s5, 100(s0)
-; RV64IZCMP-NEXT: sw s4, 96(s0)
-; RV64IZCMP-NEXT: sw s3, 92(s0)
-; RV64IZCMP-NEXT: sw s2, 88(s0)
-; RV64IZCMP-NEXT: sw s1, 84(s0)
+; RV64IZCMP-NEXT: sw s10, 124(s0)
+; RV64IZCMP-NEXT: sw s9, 120(s0)
+; RV64IZCMP-NEXT: sw s8, 116(s0)
+; RV64IZCMP-NEXT: sw s7, 112(s0)
+; RV64IZCMP-NEXT: sw s6, 108(s0)
+; RV64IZCMP-NEXT: sw s5, 104(s0)
+; RV64IZCMP-NEXT: sw s4, 100(s0)
+; RV64IZCMP-NEXT: sw s3, 96(s0)
+; RV64IZCMP-NEXT: sw s2, 92(s0)
+; RV64IZCMP-NEXT: sw s1, 88(s0)
+; RV64IZCMP-NEXT: sw s11, 84(s0)
; RV64IZCMP-NEXT: ld a0, 8(sp) # 8-byte Folded Reload
; RV64IZCMP-NEXT: sw a0, 80(s0)
; RV64IZCMP-NEXT: ld a0, 16(sp) # 8-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll b/llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
index acf9143845c02..e19300a3fe6dd 100644
--- a/llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
+++ b/llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
@@ -1113,47 +1113,47 @@ define i64 @fold_addi_from_different_bb(i64 %k, i64 %n, ptr %a) nounwind {
; RV32IXQCILI-NEXT: sw s5, 20(sp) # 4-byte Folded Spill
; RV32IXQCILI-NEXT: sw s6, 16(sp) # 4-byte Folded Spill
; RV32IXQCILI-NEXT: sw s7, 12(sp) # 4-byte Folded Spill
-; RV32IXQCILI-NEXT: mv s2, a4
-; RV32IXQCILI-NEXT: mv s4, a3
-; RV32IXQCILI-NEXT: mv s3, a2
+; RV32IXQCILI-NEXT: mv s0, a4
+; RV32IXQCILI-NEXT: mv s1, a3
+; RV32IXQCILI-NEXT: mv s2, a2
; RV32IXQCILI-NEXT: beqz a3, .LBB20_3
; RV32IXQCILI-NEXT: # %bb.1: # %entry
-; RV32IXQCILI-NEXT: srli a1, s4, 31
+; RV32IXQCILI-NEXT: srli a1, s1, 31
; RV32IXQCILI-NEXT: beqz a1, .LBB20_4
; RV32IXQCILI-NEXT: .LBB20_2:
-; RV32IXQCILI-NEXT: li s6, 0
-; RV32IXQCILI-NEXT: li s5, 0
+; RV32IXQCILI-NEXT: li s3, 0
+; RV32IXQCILI-NEXT: li s4, 0
; RV32IXQCILI-NEXT: j .LBB20_6
; RV32IXQCILI-NEXT: .LBB20_3:
-; RV32IXQCILI-NEXT: seqz a1, s3
+; RV32IXQCILI-NEXT: seqz a1, s2
; RV32IXQCILI-NEXT: bnez a1, .LBB20_2
; RV32IXQCILI-NEXT: .LBB20_4: # %for.body.lr.ph
-; RV32IXQCILI-NEXT: li s1, 0
-; RV32IXQCILI-NEXT: li s0, 0
-; RV32IXQCILI-NEXT: li s6, 0
; RV32IXQCILI-NEXT: li s5, 0
+; RV32IXQCILI-NEXT: li s6, 0
+; RV32IXQCILI-NEXT: li s3, 0
+; RV32IXQCILI-NEXT: li s4, 0
; RV32IXQCILI-NEXT: slli a0, a0, 4
-; RV32IXQCILI-NEXT: add s7, s2, a0
+; RV32IXQCILI-NEXT: add s7, s0, a0
; RV32IXQCILI-NEXT: .LBB20_5: # %for.body
; RV32IXQCILI-NEXT: # =>This Inner Loop Header: Depth=1
-; RV32IXQCILI-NEXT: mv a0, s2
+; RV32IXQCILI-NEXT: mv a0, s0
; RV32IXQCILI-NEXT: call f
; RV32IXQCILI-NEXT: lw a0, 8(s7)
; RV32IXQCILI-NEXT: lw a1, 12(s7)
-; RV32IXQCILI-NEXT: addi s1, s1, 1
-; RV32IXQCILI-NEXT: seqz a2, s1
-; RV32IXQCILI-NEXT: add s0, s0, a2
-; RV32IXQCILI-NEXT: add a1, a1, s5
-; RV32IXQCILI-NEXT: add s6, s6, a0
-; RV32IXQCILI-NEXT: xor a2, s1, s3
-; RV32IXQCILI-NEXT: xor a3, s0, s4
+; RV32IXQCILI-NEXT: addi s5, s5, 1
+; RV32IXQCILI-NEXT: seqz a2, s5
+; RV32IXQCILI-NEXT: add s6, s6, a2
+; RV32IXQCILI-NEXT: add a1, a1, s4
+; RV32IXQCILI-NEXT: add s3, s3, a0
+; RV32IXQCILI-NEXT: xor a2, s5, s2
+; RV32IXQCILI-NEXT: xor a3, s6, s1
; RV32IXQCILI-NEXT: or a2, a2, a3
-; RV32IXQCILI-NEXT: sltu s5, s6, a0
-; RV32IXQCILI-NEXT: add s5, s5, a1
+; RV32IXQCILI-NEXT: sltu s4, s3, a0
+; RV32IXQCILI-NEXT: add s4, s4, a1
; RV32IXQCILI-NEXT: bnez a2, .LBB20_5
; RV32IXQCILI-NEXT: .LBB20_6: # %for.cond.cleanup
-; RV32IXQCILI-NEXT: mv a0, s6
-; RV32IXQCILI-NEXT: mv a1, s5
+; RV32IXQCILI-NEXT: mv a0, s3
+; RV32IXQCILI-NEXT: mv a1, s4
; RV32IXQCILI-NEXT: lw ra, 44(sp) # 4-byte Folded Reload
; RV32IXQCILI-NEXT: lw s0, 40(sp) # 4-byte Folded Reload
; RV32IXQCILI-NEXT: lw s1, 36(sp) # 4-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/machine-pipeliner.ll b/llvm/test/CodeGen/RISCV/machine-pipeliner.ll
index a2a7da7e2d6ef..ce2e6aed75135 100644
--- a/llvm/test/CodeGen/RISCV/machine-pipeliner.ll
+++ b/llvm/test/CodeGen/RISCV/machine-pipeliner.ll
@@ -54,37 +54,37 @@ define void @test_pipelined_1(ptr noalias %in, ptr noalias %out, i32 signext %cn
; CHECK-PIPELINED: # %bb.0: # %entry
; CHECK-PIPELINED-NEXT: blez a2, .LBB1_6
; CHECK-PIPELINED-NEXT: # %bb.1: # %for.body.preheader
-; CHECK-PIPELINED-NEXT: lw a7, 0(a1)
; CHECK-PIPELINED-NEXT: addi a2, a2, -1
; CHECK-PIPELINED-NEXT: addi a3, a0, 4
; CHECK-PIPELINED-NEXT: addi a5, a1, 4
-; CHECK-PIPELINED-NEXT: sh2add.uw a6, a2, a1
-; CHECK-PIPELINED-NEXT: addi a6, a6, 4
-; CHECK-PIPELINED-NEXT: beq a5, a6, .LBB1_5
+; CHECK-PIPELINED-NEXT: sh2add.uw a4, a2, a1
+; CHECK-PIPELINED-NEXT: lw a2, 0(a1)
+; CHECK-PIPELINED-NEXT: addi a4, a4, 4
+; CHECK-PIPELINED-NEXT: beq a5, a4, .LBB1_5
; CHECK-PIPELINED-NEXT: # %bb.2: # %for.body
; CHECK-PIPELINED-NEXT: lw a1, 0(a5)
-; CHECK-PIPELINED-NEXT: addi a4, a3, 4
+; CHECK-PIPELINED-NEXT: addi a6, a3, 4
; CHECK-PIPELINED-NEXT: addi a5, a5, 4
-; CHECK-PIPELINED-NEXT: beq a5, a6, .LBB1_4
+; CHECK-PIPELINED-NEXT: beq a5, a4, .LBB1_4
; CHECK-PIPELINED-NEXT: .LBB1_3: # %for.body
; CHECK-PIPELINED-NEXT: # =>This Inner Loop Header: Depth=1
-; CHECK-PIPELINED-NEXT: addi a2, a7, 1
-; CHECK-PIPELINED-NEXT: mv a7, a1
+; CHECK-PIPELINED-NEXT: addi a7, a2, 1
+; CHECK-PIPELINED-NEXT: mv a2, a1
; CHECK-PIPELINED-NEXT: lw a1, 0(a5)
-; CHECK-PIPELINED-NEXT: sw a2, 0(a0)
+; CHECK-PIPELINED-NEXT: sw a7, 0(a0)
; CHECK-PIPELINED-NEXT: mv a0, a3
-; CHECK-PIPELINED-NEXT: mv a3, a4
-; CHECK-PIPELINED-NEXT: addi a4, a4, 4
+; CHECK-PIPELINED-NEXT: mv a3, a6
+; CHECK-PIPELINED-NEXT: addi a6, a6, 4
; CHECK-PIPELINED-NEXT: addi a5, a5, 4
-; CHECK-PIPELINED-NEXT: bne a5, a6, .LBB1_3
+; CHECK-PIPELINED-NEXT: bne a5, a4, .LBB1_3
; CHECK-PIPELINED-NEXT: .LBB1_4:
-; CHECK-PIPELINED-NEXT: addi a7, a7, 1
-; CHECK-PIPELINED-NEXT: sw a7, 0(a0)
+; CHECK-PIPELINED-NEXT: addi a2, a2, 1
+; CHECK-PIPELINED-NEXT: sw a2, 0(a0)
; CHECK-PIPELINED-NEXT: mv a0, a3
-; CHECK-PIPELINED-NEXT: mv a7, a1
+; CHECK-PIPELINED-NEXT: mv a2, a1
; CHECK-PIPELINED-NEXT: .LBB1_5:
-; CHECK-PIPELINED-NEXT: addi a7, a7, 1
-; CHECK-PIPELINED-NEXT: sw a7, 0(a0)
+; CHECK-PIPELINED-NEXT: addi a2, a2, 1
+; CHECK-PIPELINED-NEXT: sw a2, 0(a0)
; CHECK-PIPELINED-NEXT: .LBB1_6: # %for.end
; CHECK-PIPELINED-NEXT: ret
entry:
diff --git a/llvm/test/CodeGen/RISCV/nontemporal.ll b/llvm/test/CodeGen/RISCV/nontemporal.ll
index 1b7441fa7d75c..2b2c92e1b920e 100644
--- a/llvm/test/CodeGen/RISCV/nontemporal.ll
+++ b/llvm/test/CodeGen/RISCV/nontemporal.ll
@@ -1035,30 +1035,30 @@ define void @test_nontemporal_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: sd s1, 0(sp) # 8-byte Folded Spill
; CHECK-RV64C-NEXT: .cfi_offset s0, -8
; CHECK-RV64C-NEXT: .cfi_offset s1, -16
-; CHECK-RV64C-NEXT: lbu a6, 0(a1)
-; CHECK-RV64C-NEXT: lbu a7, 8(a1)
-; CHECK-RV64C-NEXT: lbu t0, 16(a1)
-; CHECK-RV64C-NEXT: lbu t1, 24(a1)
-; CHECK-RV64C-NEXT: lbu t2, 32(a1)
-; CHECK-RV64C-NEXT: lbu t3, 40(a1)
-; CHECK-RV64C-NEXT: lbu t4, 48(a1)
-; CHECK-RV64C-NEXT: lbu t5, 56(a1)
-; CHECK-RV64C-NEXT: lbu a2, 96(a1)
-; CHECK-RV64C-NEXT: lbu a3, 104(a1)
-; CHECK-RV64C-NEXT: lbu a4, 112(a1)
-; CHECK-RV64C-NEXT: lbu a5, 120(a1)
+; CHECK-RV64C-NEXT: lbu a2, 0(a1)
+; CHECK-RV64C-NEXT: lbu a3, 8(a1)
+; CHECK-RV64C-NEXT: lbu a4, 16(a1)
+; CHECK-RV64C-NEXT: lbu a5, 24(a1)
+; CHECK-RV64C-NEXT: lbu a6, 32(a1)
+; CHECK-RV64C-NEXT: lbu a7, 40(a1)
+; CHECK-RV64C-NEXT: lbu t0, 48(a1)
+; CHECK-RV64C-NEXT: lbu t1, 56(a1)
+; CHECK-RV64C-NEXT: lbu t2, 96(a1)
+; CHECK-RV64C-NEXT: lbu t3, 104(a1)
+; CHECK-RV64C-NEXT: lbu t4, 112(a1)
+; CHECK-RV64C-NEXT: lbu t5, 120(a1)
; CHECK-RV64C-NEXT: lbu t6, 64(a1)
; CHECK-RV64C-NEXT: lbu s0, 72(a1)
; CHECK-RV64C-NEXT: lbu s1, 80(a1)
; CHECK-RV64C-NEXT: lbu a1, 88(a1)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a2, 12(a0)
+; CHECK-RV64C-NEXT: sb t2, 12(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a3, 13(a0)
+; CHECK-RV64C-NEXT: sb t3, 13(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a4, 14(a0)
+; CHECK-RV64C-NEXT: sb t4, 14(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a5, 15(a0)
+; CHECK-RV64C-NEXT: sb t5, 15(a0)
; CHECK-RV64C-NEXT: c.ntl.all
; CHECK-RV64C-NEXT: sb t6, 8(a0)
; CHECK-RV64C-NEXT: c.ntl.all
@@ -1068,21 +1068,21 @@ define void @test_nontemporal_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: c.ntl.all
; CHECK-RV64C-NEXT: sb a1, 11(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t2, 4(a0)
+; CHECK-RV64C-NEXT: sb a6, 4(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t3, 5(a0)
+; CHECK-RV64C-NEXT: sb a7, 5(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t4, 6(a0)
+; CHECK-RV64C-NEXT: sb t0, 6(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t5, 7(a0)
+; CHECK-RV64C-NEXT: sb t1, 7(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a6, 0(a0)
+; CHECK-RV64C-NEXT: sb a2, 0(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a7, 1(a0)
+; CHECK-RV64C-NEXT: sb a3, 1(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t0, 2(a0)
+; CHECK-RV64C-NEXT: sb a4, 2(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t1, 3(a0)
+; CHECK-RV64C-NEXT: sb a5, 3(a0)
; CHECK-RV64C-NEXT: ld s0, 8(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: ld s1, 0(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: .cfi_restore s0
@@ -1099,30 +1099,30 @@ define void @test_nontemporal_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: sw s1, 8(sp) # 4-byte Folded Spill
; CHECK-RV32C-NEXT: .cfi_offset s0, -4
; CHECK-RV32C-NEXT: .cfi_offset s1, -8
-; CHECK-RV32C-NEXT: lbu a6, 0(a1)
-; CHECK-RV32C-NEXT: lbu a7, 4(a1)
-; CHECK-RV32C-NEXT: lbu t0, 8(a1)
-; CHECK-RV32C-NEXT: lbu t1, 12(a1)
-; CHECK-RV32C-NEXT: lbu t2, 16(a1)
-; CHECK-RV32C-NEXT: lbu t3, 20(a1)
-; CHECK-RV32C-NEXT: lbu t4, 24(a1)
-; CHECK-RV32C-NEXT: lbu t5, 28(a1)
-; CHECK-RV32C-NEXT: lbu a2, 48(a1)
-; CHECK-RV32C-NEXT: lbu a3, 52(a1)
-; CHECK-RV32C-NEXT: lbu a4, 56(a1)
-; CHECK-RV32C-NEXT: lbu a5, 60(a1)
+; CHECK-RV32C-NEXT: lbu a2, 0(a1)
+; CHECK-RV32C-NEXT: lbu a3, 4(a1)
+; CHECK-RV32C-NEXT: lbu a4, 8(a1)
+; CHECK-RV32C-NEXT: lbu a5, 12(a1)
+; CHECK-RV32C-NEXT: lbu a6, 16(a1)
+; CHECK-RV32C-NEXT: lbu a7, 20(a1)
+; CHECK-RV32C-NEXT: lbu t0, 24(a1)
+; CHECK-RV32C-NEXT: lbu t1, 28(a1)
+; CHECK-RV32C-NEXT: lbu t2, 48(a1)
+; CHECK-RV32C-NEXT: lbu t3, 52(a1)
+; CHECK-RV32C-NEXT: lbu t4, 56(a1)
+; CHECK-RV32C-NEXT: lbu t5, 60(a1)
; CHECK-RV32C-NEXT: lbu t6, 32(a1)
; CHECK-RV32C-NEXT: lbu s0, 36(a1)
; CHECK-RV32C-NEXT: lbu s1, 40(a1)
; CHECK-RV32C-NEXT: lbu a1, 44(a1)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a2, 12(a0)
+; CHECK-RV32C-NEXT: sb t2, 12(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a3, 13(a0)
+; CHECK-RV32C-NEXT: sb t3, 13(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a4, 14(a0)
+; CHECK-RV32C-NEXT: sb t4, 14(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a5, 15(a0)
+; CHECK-RV32C-NEXT: sb t5, 15(a0)
; CHECK-RV32C-NEXT: c.ntl.all
; CHECK-RV32C-NEXT: sb t6, 8(a0)
; CHECK-RV32C-NEXT: c.ntl.all
@@ -1132,21 +1132,21 @@ define void @test_nontemporal_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: c.ntl.all
; CHECK-RV32C-NEXT: sb a1, 11(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t2, 4(a0)
+; CHECK-RV32C-NEXT: sb a6, 4(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t3, 5(a0)
+; CHECK-RV32C-NEXT: sb a7, 5(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t4, 6(a0)
+; CHECK-RV32C-NEXT: sb t0, 6(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t5, 7(a0)
+; CHECK-RV32C-NEXT: sb t1, 7(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a6, 0(a0)
+; CHECK-RV32C-NEXT: sb a2, 0(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a7, 1(a0)
+; CHECK-RV32C-NEXT: sb a3, 1(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t0, 2(a0)
+; CHECK-RV32C-NEXT: sb a4, 2(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t1, 3(a0)
+; CHECK-RV32C-NEXT: sb a5, 3(a0)
; CHECK-RV32C-NEXT: lw s0, 12(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: lw s1, 8(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: .cfi_restore s0
@@ -2461,30 +2461,30 @@ define void @test_nontemporal_P1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: sd s1, 0(sp) # 8-byte Folded Spill
; CHECK-RV64C-NEXT: .cfi_offset s0, -8
; CHECK-RV64C-NEXT: .cfi_offset s1, -16
-; CHECK-RV64C-NEXT: lbu a6, 0(a1)
-; CHECK-RV64C-NEXT: lbu a7, 8(a1)
-; CHECK-RV64C-NEXT: lbu t0, 16(a1)
-; CHECK-RV64C-NEXT: lbu t1, 24(a1)
-; CHECK-RV64C-NEXT: lbu t2, 32(a1)
-; CHECK-RV64C-NEXT: lbu t3, 40(a1)
-; CHECK-RV64C-NEXT: lbu t4, 48(a1)
-; CHECK-RV64C-NEXT: lbu t5, 56(a1)
-; CHECK-RV64C-NEXT: lbu a2, 96(a1)
-; CHECK-RV64C-NEXT: lbu a3, 104(a1)
-; CHECK-RV64C-NEXT: lbu a4, 112(a1)
-; CHECK-RV64C-NEXT: lbu a5, 120(a1)
+; CHECK-RV64C-NEXT: lbu a2, 0(a1)
+; CHECK-RV64C-NEXT: lbu a3, 8(a1)
+; CHECK-RV64C-NEXT: lbu a4, 16(a1)
+; CHECK-RV64C-NEXT: lbu a5, 24(a1)
+; CHECK-RV64C-NEXT: lbu a6, 32(a1)
+; CHECK-RV64C-NEXT: lbu a7, 40(a1)
+; CHECK-RV64C-NEXT: lbu t0, 48(a1)
+; CHECK-RV64C-NEXT: lbu t1, 56(a1)
+; CHECK-RV64C-NEXT: lbu t2, 96(a1)
+; CHECK-RV64C-NEXT: lbu t3, 104(a1)
+; CHECK-RV64C-NEXT: lbu t4, 112(a1)
+; CHECK-RV64C-NEXT: lbu t5, 120(a1)
; CHECK-RV64C-NEXT: lbu t6, 64(a1)
; CHECK-RV64C-NEXT: lbu s0, 72(a1)
; CHECK-RV64C-NEXT: lbu s1, 80(a1)
; CHECK-RV64C-NEXT: lbu a1, 88(a1)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb a2, 12(a0)
+; CHECK-RV64C-NEXT: sb t2, 12(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb a3, 13(a0)
+; CHECK-RV64C-NEXT: sb t3, 13(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb a4, 14(a0)
+; CHECK-RV64C-NEXT: sb t4, 14(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb a5, 15(a0)
+; CHECK-RV64C-NEXT: sb t5, 15(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
; CHECK-RV64C-NEXT: sb t6, 8(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
@@ -2494,21 +2494,21 @@ define void @test_nontemporal_P1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: c.ntl.p1
; CHECK-RV64C-NEXT: sb a1, 11(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb t2, 4(a0)
+; CHECK-RV64C-NEXT: sb a6, 4(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb t3, 5(a0)
+; CHECK-RV64C-NEXT: sb a7, 5(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb t4, 6(a0)
+; CHECK-RV64C-NEXT: sb t0, 6(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb t5, 7(a0)
+; CHECK-RV64C-NEXT: sb t1, 7(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb a6, 0(a0)
+; CHECK-RV64C-NEXT: sb a2, 0(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb a7, 1(a0)
+; CHECK-RV64C-NEXT: sb a3, 1(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb t0, 2(a0)
+; CHECK-RV64C-NEXT: sb a4, 2(a0)
; CHECK-RV64C-NEXT: c.ntl.p1
-; CHECK-RV64C-NEXT: sb t1, 3(a0)
+; CHECK-RV64C-NEXT: sb a5, 3(a0)
; CHECK-RV64C-NEXT: ld s0, 8(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: ld s1, 0(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: .cfi_restore s0
@@ -2525,30 +2525,30 @@ define void @test_nontemporal_P1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: sw s1, 8(sp) # 4-byte Folded Spill
; CHECK-RV32C-NEXT: .cfi_offset s0, -4
; CHECK-RV32C-NEXT: .cfi_offset s1, -8
-; CHECK-RV32C-NEXT: lbu a6, 0(a1)
-; CHECK-RV32C-NEXT: lbu a7, 4(a1)
-; CHECK-RV32C-NEXT: lbu t0, 8(a1)
-; CHECK-RV32C-NEXT: lbu t1, 12(a1)
-; CHECK-RV32C-NEXT: lbu t2, 16(a1)
-; CHECK-RV32C-NEXT: lbu t3, 20(a1)
-; CHECK-RV32C-NEXT: lbu t4, 24(a1)
-; CHECK-RV32C-NEXT: lbu t5, 28(a1)
-; CHECK-RV32C-NEXT: lbu a2, 48(a1)
-; CHECK-RV32C-NEXT: lbu a3, 52(a1)
-; CHECK-RV32C-NEXT: lbu a4, 56(a1)
-; CHECK-RV32C-NEXT: lbu a5, 60(a1)
+; CHECK-RV32C-NEXT: lbu a2, 0(a1)
+; CHECK-RV32C-NEXT: lbu a3, 4(a1)
+; CHECK-RV32C-NEXT: lbu a4, 8(a1)
+; CHECK-RV32C-NEXT: lbu a5, 12(a1)
+; CHECK-RV32C-NEXT: lbu a6, 16(a1)
+; CHECK-RV32C-NEXT: lbu a7, 20(a1)
+; CHECK-RV32C-NEXT: lbu t0, 24(a1)
+; CHECK-RV32C-NEXT: lbu t1, 28(a1)
+; CHECK-RV32C-NEXT: lbu t2, 48(a1)
+; CHECK-RV32C-NEXT: lbu t3, 52(a1)
+; CHECK-RV32C-NEXT: lbu t4, 56(a1)
+; CHECK-RV32C-NEXT: lbu t5, 60(a1)
; CHECK-RV32C-NEXT: lbu t6, 32(a1)
; CHECK-RV32C-NEXT: lbu s0, 36(a1)
; CHECK-RV32C-NEXT: lbu s1, 40(a1)
; CHECK-RV32C-NEXT: lbu a1, 44(a1)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb a2, 12(a0)
+; CHECK-RV32C-NEXT: sb t2, 12(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb a3, 13(a0)
+; CHECK-RV32C-NEXT: sb t3, 13(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb a4, 14(a0)
+; CHECK-RV32C-NEXT: sb t4, 14(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb a5, 15(a0)
+; CHECK-RV32C-NEXT: sb t5, 15(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
; CHECK-RV32C-NEXT: sb t6, 8(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
@@ -2558,21 +2558,21 @@ define void @test_nontemporal_P1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: c.ntl.p1
; CHECK-RV32C-NEXT: sb a1, 11(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb t2, 4(a0)
+; CHECK-RV32C-NEXT: sb a6, 4(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb t3, 5(a0)
+; CHECK-RV32C-NEXT: sb a7, 5(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb t4, 6(a0)
+; CHECK-RV32C-NEXT: sb t0, 6(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb t5, 7(a0)
+; CHECK-RV32C-NEXT: sb t1, 7(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb a6, 0(a0)
+; CHECK-RV32C-NEXT: sb a2, 0(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb a7, 1(a0)
+; CHECK-RV32C-NEXT: sb a3, 1(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb t0, 2(a0)
+; CHECK-RV32C-NEXT: sb a4, 2(a0)
; CHECK-RV32C-NEXT: c.ntl.p1
-; CHECK-RV32C-NEXT: sb t1, 3(a0)
+; CHECK-RV32C-NEXT: sb a5, 3(a0)
; CHECK-RV32C-NEXT: lw s0, 12(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: lw s1, 8(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: .cfi_restore s0
@@ -3887,30 +3887,30 @@ define void @test_nontemporal_PALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: sd s1, 0(sp) # 8-byte Folded Spill
; CHECK-RV64C-NEXT: .cfi_offset s0, -8
; CHECK-RV64C-NEXT: .cfi_offset s1, -16
-; CHECK-RV64C-NEXT: lbu a6, 0(a1)
-; CHECK-RV64C-NEXT: lbu a7, 8(a1)
-; CHECK-RV64C-NEXT: lbu t0, 16(a1)
-; CHECK-RV64C-NEXT: lbu t1, 24(a1)
-; CHECK-RV64C-NEXT: lbu t2, 32(a1)
-; CHECK-RV64C-NEXT: lbu t3, 40(a1)
-; CHECK-RV64C-NEXT: lbu t4, 48(a1)
-; CHECK-RV64C-NEXT: lbu t5, 56(a1)
-; CHECK-RV64C-NEXT: lbu a2, 96(a1)
-; CHECK-RV64C-NEXT: lbu a3, 104(a1)
-; CHECK-RV64C-NEXT: lbu a4, 112(a1)
-; CHECK-RV64C-NEXT: lbu a5, 120(a1)
+; CHECK-RV64C-NEXT: lbu a2, 0(a1)
+; CHECK-RV64C-NEXT: lbu a3, 8(a1)
+; CHECK-RV64C-NEXT: lbu a4, 16(a1)
+; CHECK-RV64C-NEXT: lbu a5, 24(a1)
+; CHECK-RV64C-NEXT: lbu a6, 32(a1)
+; CHECK-RV64C-NEXT: lbu a7, 40(a1)
+; CHECK-RV64C-NEXT: lbu t0, 48(a1)
+; CHECK-RV64C-NEXT: lbu t1, 56(a1)
+; CHECK-RV64C-NEXT: lbu t2, 96(a1)
+; CHECK-RV64C-NEXT: lbu t3, 104(a1)
+; CHECK-RV64C-NEXT: lbu t4, 112(a1)
+; CHECK-RV64C-NEXT: lbu t5, 120(a1)
; CHECK-RV64C-NEXT: lbu t6, 64(a1)
; CHECK-RV64C-NEXT: lbu s0, 72(a1)
; CHECK-RV64C-NEXT: lbu s1, 80(a1)
; CHECK-RV64C-NEXT: lbu a1, 88(a1)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb a2, 12(a0)
+; CHECK-RV64C-NEXT: sb t2, 12(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb a3, 13(a0)
+; CHECK-RV64C-NEXT: sb t3, 13(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb a4, 14(a0)
+; CHECK-RV64C-NEXT: sb t4, 14(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb a5, 15(a0)
+; CHECK-RV64C-NEXT: sb t5, 15(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
; CHECK-RV64C-NEXT: sb t6, 8(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
@@ -3920,21 +3920,21 @@ define void @test_nontemporal_PALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: c.ntl.pall
; CHECK-RV64C-NEXT: sb a1, 11(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb t2, 4(a0)
+; CHECK-RV64C-NEXT: sb a6, 4(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb t3, 5(a0)
+; CHECK-RV64C-NEXT: sb a7, 5(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb t4, 6(a0)
+; CHECK-RV64C-NEXT: sb t0, 6(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb t5, 7(a0)
+; CHECK-RV64C-NEXT: sb t1, 7(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb a6, 0(a0)
+; CHECK-RV64C-NEXT: sb a2, 0(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb a7, 1(a0)
+; CHECK-RV64C-NEXT: sb a3, 1(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb t0, 2(a0)
+; CHECK-RV64C-NEXT: sb a4, 2(a0)
; CHECK-RV64C-NEXT: c.ntl.pall
-; CHECK-RV64C-NEXT: sb t1, 3(a0)
+; CHECK-RV64C-NEXT: sb a5, 3(a0)
; CHECK-RV64C-NEXT: ld s0, 8(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: ld s1, 0(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: .cfi_restore s0
@@ -3951,30 +3951,30 @@ define void @test_nontemporal_PALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: sw s1, 8(sp) # 4-byte Folded Spill
; CHECK-RV32C-NEXT: .cfi_offset s0, -4
; CHECK-RV32C-NEXT: .cfi_offset s1, -8
-; CHECK-RV32C-NEXT: lbu a6, 0(a1)
-; CHECK-RV32C-NEXT: lbu a7, 4(a1)
-; CHECK-RV32C-NEXT: lbu t0, 8(a1)
-; CHECK-RV32C-NEXT: lbu t1, 12(a1)
-; CHECK-RV32C-NEXT: lbu t2, 16(a1)
-; CHECK-RV32C-NEXT: lbu t3, 20(a1)
-; CHECK-RV32C-NEXT: lbu t4, 24(a1)
-; CHECK-RV32C-NEXT: lbu t5, 28(a1)
-; CHECK-RV32C-NEXT: lbu a2, 48(a1)
-; CHECK-RV32C-NEXT: lbu a3, 52(a1)
-; CHECK-RV32C-NEXT: lbu a4, 56(a1)
-; CHECK-RV32C-NEXT: lbu a5, 60(a1)
+; CHECK-RV32C-NEXT: lbu a2, 0(a1)
+; CHECK-RV32C-NEXT: lbu a3, 4(a1)
+; CHECK-RV32C-NEXT: lbu a4, 8(a1)
+; CHECK-RV32C-NEXT: lbu a5, 12(a1)
+; CHECK-RV32C-NEXT: lbu a6, 16(a1)
+; CHECK-RV32C-NEXT: lbu a7, 20(a1)
+; CHECK-RV32C-NEXT: lbu t0, 24(a1)
+; CHECK-RV32C-NEXT: lbu t1, 28(a1)
+; CHECK-RV32C-NEXT: lbu t2, 48(a1)
+; CHECK-RV32C-NEXT: lbu t3, 52(a1)
+; CHECK-RV32C-NEXT: lbu t4, 56(a1)
+; CHECK-RV32C-NEXT: lbu t5, 60(a1)
; CHECK-RV32C-NEXT: lbu t6, 32(a1)
; CHECK-RV32C-NEXT: lbu s0, 36(a1)
; CHECK-RV32C-NEXT: lbu s1, 40(a1)
; CHECK-RV32C-NEXT: lbu a1, 44(a1)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb a2, 12(a0)
+; CHECK-RV32C-NEXT: sb t2, 12(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb a3, 13(a0)
+; CHECK-RV32C-NEXT: sb t3, 13(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb a4, 14(a0)
+; CHECK-RV32C-NEXT: sb t4, 14(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb a5, 15(a0)
+; CHECK-RV32C-NEXT: sb t5, 15(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
; CHECK-RV32C-NEXT: sb t6, 8(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
@@ -3984,21 +3984,21 @@ define void @test_nontemporal_PALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: c.ntl.pall
; CHECK-RV32C-NEXT: sb a1, 11(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb t2, 4(a0)
+; CHECK-RV32C-NEXT: sb a6, 4(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb t3, 5(a0)
+; CHECK-RV32C-NEXT: sb a7, 5(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb t4, 6(a0)
+; CHECK-RV32C-NEXT: sb t0, 6(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb t5, 7(a0)
+; CHECK-RV32C-NEXT: sb t1, 7(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb a6, 0(a0)
+; CHECK-RV32C-NEXT: sb a2, 0(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb a7, 1(a0)
+; CHECK-RV32C-NEXT: sb a3, 1(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb t0, 2(a0)
+; CHECK-RV32C-NEXT: sb a4, 2(a0)
; CHECK-RV32C-NEXT: c.ntl.pall
-; CHECK-RV32C-NEXT: sb t1, 3(a0)
+; CHECK-RV32C-NEXT: sb a5, 3(a0)
; CHECK-RV32C-NEXT: lw s0, 12(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: lw s1, 8(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: .cfi_restore s0
@@ -5313,30 +5313,30 @@ define void @test_nontemporal_S1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: sd s1, 0(sp) # 8-byte Folded Spill
; CHECK-RV64C-NEXT: .cfi_offset s0, -8
; CHECK-RV64C-NEXT: .cfi_offset s1, -16
-; CHECK-RV64C-NEXT: lbu a6, 0(a1)
-; CHECK-RV64C-NEXT: lbu a7, 8(a1)
-; CHECK-RV64C-NEXT: lbu t0, 16(a1)
-; CHECK-RV64C-NEXT: lbu t1, 24(a1)
-; CHECK-RV64C-NEXT: lbu t2, 32(a1)
-; CHECK-RV64C-NEXT: lbu t3, 40(a1)
-; CHECK-RV64C-NEXT: lbu t4, 48(a1)
-; CHECK-RV64C-NEXT: lbu t5, 56(a1)
-; CHECK-RV64C-NEXT: lbu a2, 96(a1)
-; CHECK-RV64C-NEXT: lbu a3, 104(a1)
-; CHECK-RV64C-NEXT: lbu a4, 112(a1)
-; CHECK-RV64C-NEXT: lbu a5, 120(a1)
+; CHECK-RV64C-NEXT: lbu a2, 0(a1)
+; CHECK-RV64C-NEXT: lbu a3, 8(a1)
+; CHECK-RV64C-NEXT: lbu a4, 16(a1)
+; CHECK-RV64C-NEXT: lbu a5, 24(a1)
+; CHECK-RV64C-NEXT: lbu a6, 32(a1)
+; CHECK-RV64C-NEXT: lbu a7, 40(a1)
+; CHECK-RV64C-NEXT: lbu t0, 48(a1)
+; CHECK-RV64C-NEXT: lbu t1, 56(a1)
+; CHECK-RV64C-NEXT: lbu t2, 96(a1)
+; CHECK-RV64C-NEXT: lbu t3, 104(a1)
+; CHECK-RV64C-NEXT: lbu t4, 112(a1)
+; CHECK-RV64C-NEXT: lbu t5, 120(a1)
; CHECK-RV64C-NEXT: lbu t6, 64(a1)
; CHECK-RV64C-NEXT: lbu s0, 72(a1)
; CHECK-RV64C-NEXT: lbu s1, 80(a1)
; CHECK-RV64C-NEXT: lbu a1, 88(a1)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb a2, 12(a0)
+; CHECK-RV64C-NEXT: sb t2, 12(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb a3, 13(a0)
+; CHECK-RV64C-NEXT: sb t3, 13(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb a4, 14(a0)
+; CHECK-RV64C-NEXT: sb t4, 14(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb a5, 15(a0)
+; CHECK-RV64C-NEXT: sb t5, 15(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
; CHECK-RV64C-NEXT: sb t6, 8(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
@@ -5346,21 +5346,21 @@ define void @test_nontemporal_S1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: c.ntl.s1
; CHECK-RV64C-NEXT: sb a1, 11(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb t2, 4(a0)
+; CHECK-RV64C-NEXT: sb a6, 4(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb t3, 5(a0)
+; CHECK-RV64C-NEXT: sb a7, 5(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb t4, 6(a0)
+; CHECK-RV64C-NEXT: sb t0, 6(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb t5, 7(a0)
+; CHECK-RV64C-NEXT: sb t1, 7(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb a6, 0(a0)
+; CHECK-RV64C-NEXT: sb a2, 0(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb a7, 1(a0)
+; CHECK-RV64C-NEXT: sb a3, 1(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb t0, 2(a0)
+; CHECK-RV64C-NEXT: sb a4, 2(a0)
; CHECK-RV64C-NEXT: c.ntl.s1
-; CHECK-RV64C-NEXT: sb t1, 3(a0)
+; CHECK-RV64C-NEXT: sb a5, 3(a0)
; CHECK-RV64C-NEXT: ld s0, 8(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: ld s1, 0(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: .cfi_restore s0
@@ -5377,30 +5377,30 @@ define void @test_nontemporal_S1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: sw s1, 8(sp) # 4-byte Folded Spill
; CHECK-RV32C-NEXT: .cfi_offset s0, -4
; CHECK-RV32C-NEXT: .cfi_offset s1, -8
-; CHECK-RV32C-NEXT: lbu a6, 0(a1)
-; CHECK-RV32C-NEXT: lbu a7, 4(a1)
-; CHECK-RV32C-NEXT: lbu t0, 8(a1)
-; CHECK-RV32C-NEXT: lbu t1, 12(a1)
-; CHECK-RV32C-NEXT: lbu t2, 16(a1)
-; CHECK-RV32C-NEXT: lbu t3, 20(a1)
-; CHECK-RV32C-NEXT: lbu t4, 24(a1)
-; CHECK-RV32C-NEXT: lbu t5, 28(a1)
-; CHECK-RV32C-NEXT: lbu a2, 48(a1)
-; CHECK-RV32C-NEXT: lbu a3, 52(a1)
-; CHECK-RV32C-NEXT: lbu a4, 56(a1)
-; CHECK-RV32C-NEXT: lbu a5, 60(a1)
+; CHECK-RV32C-NEXT: lbu a2, 0(a1)
+; CHECK-RV32C-NEXT: lbu a3, 4(a1)
+; CHECK-RV32C-NEXT: lbu a4, 8(a1)
+; CHECK-RV32C-NEXT: lbu a5, 12(a1)
+; CHECK-RV32C-NEXT: lbu a6, 16(a1)
+; CHECK-RV32C-NEXT: lbu a7, 20(a1)
+; CHECK-RV32C-NEXT: lbu t0, 24(a1)
+; CHECK-RV32C-NEXT: lbu t1, 28(a1)
+; CHECK-RV32C-NEXT: lbu t2, 48(a1)
+; CHECK-RV32C-NEXT: lbu t3, 52(a1)
+; CHECK-RV32C-NEXT: lbu t4, 56(a1)
+; CHECK-RV32C-NEXT: lbu t5, 60(a1)
; CHECK-RV32C-NEXT: lbu t6, 32(a1)
; CHECK-RV32C-NEXT: lbu s0, 36(a1)
; CHECK-RV32C-NEXT: lbu s1, 40(a1)
; CHECK-RV32C-NEXT: lbu a1, 44(a1)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb a2, 12(a0)
+; CHECK-RV32C-NEXT: sb t2, 12(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb a3, 13(a0)
+; CHECK-RV32C-NEXT: sb t3, 13(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb a4, 14(a0)
+; CHECK-RV32C-NEXT: sb t4, 14(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb a5, 15(a0)
+; CHECK-RV32C-NEXT: sb t5, 15(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
; CHECK-RV32C-NEXT: sb t6, 8(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
@@ -5410,21 +5410,21 @@ define void @test_nontemporal_S1_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: c.ntl.s1
; CHECK-RV32C-NEXT: sb a1, 11(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb t2, 4(a0)
+; CHECK-RV32C-NEXT: sb a6, 4(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb t3, 5(a0)
+; CHECK-RV32C-NEXT: sb a7, 5(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb t4, 6(a0)
+; CHECK-RV32C-NEXT: sb t0, 6(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb t5, 7(a0)
+; CHECK-RV32C-NEXT: sb t1, 7(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb a6, 0(a0)
+; CHECK-RV32C-NEXT: sb a2, 0(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb a7, 1(a0)
+; CHECK-RV32C-NEXT: sb a3, 1(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb t0, 2(a0)
+; CHECK-RV32C-NEXT: sb a4, 2(a0)
; CHECK-RV32C-NEXT: c.ntl.s1
-; CHECK-RV32C-NEXT: sb t1, 3(a0)
+; CHECK-RV32C-NEXT: sb a5, 3(a0)
; CHECK-RV32C-NEXT: lw s0, 12(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: lw s1, 8(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: .cfi_restore s0
@@ -6739,30 +6739,30 @@ define void @test_nontemporal_ALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: sd s1, 0(sp) # 8-byte Folded Spill
; CHECK-RV64C-NEXT: .cfi_offset s0, -8
; CHECK-RV64C-NEXT: .cfi_offset s1, -16
-; CHECK-RV64C-NEXT: lbu a6, 0(a1)
-; CHECK-RV64C-NEXT: lbu a7, 8(a1)
-; CHECK-RV64C-NEXT: lbu t0, 16(a1)
-; CHECK-RV64C-NEXT: lbu t1, 24(a1)
-; CHECK-RV64C-NEXT: lbu t2, 32(a1)
-; CHECK-RV64C-NEXT: lbu t3, 40(a1)
-; CHECK-RV64C-NEXT: lbu t4, 48(a1)
-; CHECK-RV64C-NEXT: lbu t5, 56(a1)
-; CHECK-RV64C-NEXT: lbu a2, 96(a1)
-; CHECK-RV64C-NEXT: lbu a3, 104(a1)
-; CHECK-RV64C-NEXT: lbu a4, 112(a1)
-; CHECK-RV64C-NEXT: lbu a5, 120(a1)
+; CHECK-RV64C-NEXT: lbu a2, 0(a1)
+; CHECK-RV64C-NEXT: lbu a3, 8(a1)
+; CHECK-RV64C-NEXT: lbu a4, 16(a1)
+; CHECK-RV64C-NEXT: lbu a5, 24(a1)
+; CHECK-RV64C-NEXT: lbu a6, 32(a1)
+; CHECK-RV64C-NEXT: lbu a7, 40(a1)
+; CHECK-RV64C-NEXT: lbu t0, 48(a1)
+; CHECK-RV64C-NEXT: lbu t1, 56(a1)
+; CHECK-RV64C-NEXT: lbu t2, 96(a1)
+; CHECK-RV64C-NEXT: lbu t3, 104(a1)
+; CHECK-RV64C-NEXT: lbu t4, 112(a1)
+; CHECK-RV64C-NEXT: lbu t5, 120(a1)
; CHECK-RV64C-NEXT: lbu t6, 64(a1)
; CHECK-RV64C-NEXT: lbu s0, 72(a1)
; CHECK-RV64C-NEXT: lbu s1, 80(a1)
; CHECK-RV64C-NEXT: lbu a1, 88(a1)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a2, 12(a0)
+; CHECK-RV64C-NEXT: sb t2, 12(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a3, 13(a0)
+; CHECK-RV64C-NEXT: sb t3, 13(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a4, 14(a0)
+; CHECK-RV64C-NEXT: sb t4, 14(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a5, 15(a0)
+; CHECK-RV64C-NEXT: sb t5, 15(a0)
; CHECK-RV64C-NEXT: c.ntl.all
; CHECK-RV64C-NEXT: sb t6, 8(a0)
; CHECK-RV64C-NEXT: c.ntl.all
@@ -6772,21 +6772,21 @@ define void @test_nontemporal_ALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV64C-NEXT: c.ntl.all
; CHECK-RV64C-NEXT: sb a1, 11(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t2, 4(a0)
+; CHECK-RV64C-NEXT: sb a6, 4(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t3, 5(a0)
+; CHECK-RV64C-NEXT: sb a7, 5(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t4, 6(a0)
+; CHECK-RV64C-NEXT: sb t0, 6(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t5, 7(a0)
+; CHECK-RV64C-NEXT: sb t1, 7(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a6, 0(a0)
+; CHECK-RV64C-NEXT: sb a2, 0(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb a7, 1(a0)
+; CHECK-RV64C-NEXT: sb a3, 1(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t0, 2(a0)
+; CHECK-RV64C-NEXT: sb a4, 2(a0)
; CHECK-RV64C-NEXT: c.ntl.all
-; CHECK-RV64C-NEXT: sb t1, 3(a0)
+; CHECK-RV64C-NEXT: sb a5, 3(a0)
; CHECK-RV64C-NEXT: ld s0, 8(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: ld s1, 0(sp) # 8-byte Folded Reload
; CHECK-RV64C-NEXT: .cfi_restore s0
@@ -6803,30 +6803,30 @@ define void @test_nontemporal_ALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: sw s1, 8(sp) # 4-byte Folded Spill
; CHECK-RV32C-NEXT: .cfi_offset s0, -4
; CHECK-RV32C-NEXT: .cfi_offset s1, -8
-; CHECK-RV32C-NEXT: lbu a6, 0(a1)
-; CHECK-RV32C-NEXT: lbu a7, 4(a1)
-; CHECK-RV32C-NEXT: lbu t0, 8(a1)
-; CHECK-RV32C-NEXT: lbu t1, 12(a1)
-; CHECK-RV32C-NEXT: lbu t2, 16(a1)
-; CHECK-RV32C-NEXT: lbu t3, 20(a1)
-; CHECK-RV32C-NEXT: lbu t4, 24(a1)
-; CHECK-RV32C-NEXT: lbu t5, 28(a1)
-; CHECK-RV32C-NEXT: lbu a2, 48(a1)
-; CHECK-RV32C-NEXT: lbu a3, 52(a1)
-; CHECK-RV32C-NEXT: lbu a4, 56(a1)
-; CHECK-RV32C-NEXT: lbu a5, 60(a1)
+; CHECK-RV32C-NEXT: lbu a2, 0(a1)
+; CHECK-RV32C-NEXT: lbu a3, 4(a1)
+; CHECK-RV32C-NEXT: lbu a4, 8(a1)
+; CHECK-RV32C-NEXT: lbu a5, 12(a1)
+; CHECK-RV32C-NEXT: lbu a6, 16(a1)
+; CHECK-RV32C-NEXT: lbu a7, 20(a1)
+; CHECK-RV32C-NEXT: lbu t0, 24(a1)
+; CHECK-RV32C-NEXT: lbu t1, 28(a1)
+; CHECK-RV32C-NEXT: lbu t2, 48(a1)
+; CHECK-RV32C-NEXT: lbu t3, 52(a1)
+; CHECK-RV32C-NEXT: lbu t4, 56(a1)
+; CHECK-RV32C-NEXT: lbu t5, 60(a1)
; CHECK-RV32C-NEXT: lbu t6, 32(a1)
; CHECK-RV32C-NEXT: lbu s0, 36(a1)
; CHECK-RV32C-NEXT: lbu s1, 40(a1)
; CHECK-RV32C-NEXT: lbu a1, 44(a1)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a2, 12(a0)
+; CHECK-RV32C-NEXT: sb t2, 12(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a3, 13(a0)
+; CHECK-RV32C-NEXT: sb t3, 13(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a4, 14(a0)
+; CHECK-RV32C-NEXT: sb t4, 14(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a5, 15(a0)
+; CHECK-RV32C-NEXT: sb t5, 15(a0)
; CHECK-RV32C-NEXT: c.ntl.all
; CHECK-RV32C-NEXT: sb t6, 8(a0)
; CHECK-RV32C-NEXT: c.ntl.all
@@ -6836,21 +6836,21 @@ define void @test_nontemporal_ALL_store_v16i8(ptr %p, <16 x i8> %v) {
; CHECK-RV32C-NEXT: c.ntl.all
; CHECK-RV32C-NEXT: sb a1, 11(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t2, 4(a0)
+; CHECK-RV32C-NEXT: sb a6, 4(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t3, 5(a0)
+; CHECK-RV32C-NEXT: sb a7, 5(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t4, 6(a0)
+; CHECK-RV32C-NEXT: sb t0, 6(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t5, 7(a0)
+; CHECK-RV32C-NEXT: sb t1, 7(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a6, 0(a0)
+; CHECK-RV32C-NEXT: sb a2, 0(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb a7, 1(a0)
+; CHECK-RV32C-NEXT: sb a3, 1(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t0, 2(a0)
+; CHECK-RV32C-NEXT: sb a4, 2(a0)
; CHECK-RV32C-NEXT: c.ntl.all
-; CHECK-RV32C-NEXT: sb t1, 3(a0)
+; CHECK-RV32C-NEXT: sb a5, 3(a0)
; CHECK-RV32C-NEXT: lw s0, 12(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: lw s1, 8(sp) # 4-byte Folded Reload
; CHECK-RV32C-NEXT: .cfi_restore s0
diff --git a/llvm/test/CodeGen/RISCV/push-pop-popret.ll b/llvm/test/CodeGen/RISCV/push-pop-popret.ll
index 08a831b60cbaa..b5180f38d1fae 100644
--- a/llvm/test/CodeGen/RISCV/push-pop-popret.ll
+++ b/llvm/test/CodeGen/RISCV/push-pop-popret.ll
@@ -803,23 +803,23 @@ define i32 @nocompress(i32 signext %size) {
; RV32IZCMP-NEXT: .cfi_def_cfa s0, 0
; RV32IZCMP-NEXT: addi a0, a0, 15
; RV32IZCMP-NEXT: andi a0, a0, -16
-; RV32IZCMP-NEXT: sub s2, sp, a0
-; RV32IZCMP-NEXT: mv sp, s2
-; RV32IZCMP-NEXT: lui s1, %hi(var)
-; RV32IZCMP-NEXT: addi s1, s1, %lo(var)
-; RV32IZCMP-NEXT: lw s3, 0(s1)
-; RV32IZCMP-NEXT: lw s4, 4(s1)
-; RV32IZCMP-NEXT: lw s5, 8(s1)
-; RV32IZCMP-NEXT: lw s6, 12(s1)
-; RV32IZCMP-NEXT: lw s7, 16(s1)
-; RV32IZCMP-NEXT: mv a0, s2
+; RV32IZCMP-NEXT: sub s1, sp, a0
+; RV32IZCMP-NEXT: mv sp, s1
+; RV32IZCMP-NEXT: lui s2, %hi(var)
+; RV32IZCMP-NEXT: addi s2, s2, %lo(var)
+; RV32IZCMP-NEXT: lw s3, 0(s2)
+; RV32IZCMP-NEXT: lw s4, 4(s2)
+; RV32IZCMP-NEXT: lw s5, 8(s2)
+; RV32IZCMP-NEXT: lw s6, 12(s2)
+; RV32IZCMP-NEXT: lw s7, 16(s2)
+; RV32IZCMP-NEXT: mv a0, s1
; RV32IZCMP-NEXT: call callee_void
-; RV32IZCMP-NEXT: sw s7, 16(s1)
-; RV32IZCMP-NEXT: sw s6, 12(s1)
-; RV32IZCMP-NEXT: sw s5, 8(s1)
-; RV32IZCMP-NEXT: mv a0, s2
-; RV32IZCMP-NEXT: sw s4, 4(s1)
-; RV32IZCMP-NEXT: sw s3, 0(s1)
+; RV32IZCMP-NEXT: sw s7, 16(s2)
+; RV32IZCMP-NEXT: sw s6, 12(s2)
+; RV32IZCMP-NEXT: sw s5, 8(s2)
+; RV32IZCMP-NEXT: mv a0, s1
+; RV32IZCMP-NEXT: sw s4, 4(s2)
+; RV32IZCMP-NEXT: sw s3, 0(s2)
; RV32IZCMP-NEXT: addi sp, s0, -48
; RV32IZCMP-NEXT: .cfi_def_cfa sp, 48
; RV32IZCMP-NEXT: cm.pop {ra, s0-s7}, 48
@@ -854,23 +854,23 @@ define i32 @nocompress(i32 signext %size) {
; RV64IZCMP-NEXT: srli a0, a0, 32
; RV64IZCMP-NEXT: addi a0, a0, 15
; RV64IZCMP-NEXT: andi a0, a0, -16
-; RV64IZCMP-NEXT: sub s2, sp, a0
-; RV64IZCMP-NEXT: mv sp, s2
-; RV64IZCMP-NEXT: lui s1, %hi(var)
-; RV64IZCMP-NEXT: addi s1, s1, %lo(var)
-; RV64IZCMP-NEXT: lw s3, 0(s1)
-; RV64IZCMP-NEXT: lw s4, 4(s1)
-; RV64IZCMP-NEXT: lw s5, 8(s1)
-; RV64IZCMP-NEXT: lw s6, 12(s1)
-; RV64IZCMP-NEXT: lw s7, 16(s1)
-; RV64IZCMP-NEXT: mv a0, s2
+; RV64IZCMP-NEXT: sub s1, sp, a0
+; RV64IZCMP-NEXT: mv sp, s1
+; RV64IZCMP-NEXT: lui s2, %hi(var)
+; RV64IZCMP-NEXT: addi s2, s2, %lo(var)
+; RV64IZCMP-NEXT: lw s3, 0(s2)
+; RV64IZCMP-NEXT: lw s4, 4(s2)
+; RV64IZCMP-NEXT: lw s5, 8(s2)
+; RV64IZCMP-NEXT: lw s6, 12(s2)
+; RV64IZCMP-NEXT: lw s7, 16(s2)
+; RV64IZCMP-NEXT: mv a0, s1
; RV64IZCMP-NEXT: call callee_void
-; RV64IZCMP-NEXT: sw s7, 16(s1)
-; RV64IZCMP-NEXT: sw s6, 12(s1)
-; RV64IZCMP-NEXT: sw s5, 8(s1)
-; RV64IZCMP-NEXT: mv a0, s2
-; RV64IZCMP-NEXT: sw s4, 4(s1)
-; RV64IZCMP-NEXT: sw s3, 0(s1)
+; RV64IZCMP-NEXT: sw s7, 16(s2)
+; RV64IZCMP-NEXT: sw s6, 12(s2)
+; RV64IZCMP-NEXT: sw s5, 8(s2)
+; RV64IZCMP-NEXT: mv a0, s1
+; RV64IZCMP-NEXT: sw s4, 4(s2)
+; RV64IZCMP-NEXT: sw s3, 0(s2)
; RV64IZCMP-NEXT: addi sp, s0, -80
; RV64IZCMP-NEXT: .cfi_def_cfa sp, 80
; RV64IZCMP-NEXT: cm.pop {ra, s0-s7}, 80
@@ -903,23 +903,23 @@ define i32 @nocompress(i32 signext %size) {
; RV32IZCMP-SR-NEXT: .cfi_def_cfa s0, 0
; RV32IZCMP-SR-NEXT: addi a0, a0, 15
; RV32IZCMP-SR-NEXT: andi a0, a0, -16
-; RV32IZCMP-SR-NEXT: sub s2, sp, a0
-; RV32IZCMP-SR-NEXT: mv sp, s2
-; RV32IZCMP-SR-NEXT: lui s1, %hi(var)
-; RV32IZCMP-SR-NEXT: addi s1, s1, %lo(var)
-; RV32IZCMP-SR-NEXT: lw s3, 0(s1)
-; RV32IZCMP-SR-NEXT: lw s4, 4(s1)
-; RV32IZCMP-SR-NEXT: lw s5, 8(s1)
-; RV32IZCMP-SR-NEXT: lw s6, 12(s1)
-; RV32IZCMP-SR-NEXT: lw s7, 16(s1)
-; RV32IZCMP-SR-NEXT: mv a0, s2
+; RV32IZCMP-SR-NEXT: sub s1, sp, a0
+; RV32IZCMP-SR-NEXT: mv sp, s1
+; RV32IZCMP-SR-NEXT: lui s2, %hi(var)
+; RV32IZCMP-SR-NEXT: addi s2, s2, %lo(var)
+; RV32IZCMP-SR-NEXT: lw s3, 0(s2)
+; RV32IZCMP-SR-NEXT: lw s4, 4(s2)
+; RV32IZCMP-SR-NEXT: lw s5, 8(s2)
+; RV32IZCMP-SR-NEXT: lw s6, 12(s2)
+; RV32IZCMP-SR-NEXT: lw s7, 16(s2)
+; RV32IZCMP-SR-NEXT: mv a0, s1
; RV32IZCMP-SR-NEXT: call callee_void
-; RV32IZCMP-SR-NEXT: sw s7, 16(s1)
-; RV32IZCMP-SR-NEXT: sw s6, 12(s1)
-; RV32IZCMP-SR-NEXT: sw s5, 8(s1)
-; RV32IZCMP-SR-NEXT: mv a0, s2
-; RV32IZCMP-SR-NEXT: sw s4, 4(s1)
-; RV32IZCMP-SR-NEXT: sw s3, 0(s1)
+; RV32IZCMP-SR-NEXT: sw s7, 16(s2)
+; RV32IZCMP-SR-NEXT: sw s6, 12(s2)
+; RV32IZCMP-SR-NEXT: sw s5, 8(s2)
+; RV32IZCMP-SR-NEXT: mv a0, s1
+; RV32IZCMP-SR-NEXT: sw s4, 4(s2)
+; RV32IZCMP-SR-NEXT: sw s3, 0(s2)
; RV32IZCMP-SR-NEXT: addi sp, s0, -48
; RV32IZCMP-SR-NEXT: .cfi_def_cfa sp, 48
; RV32IZCMP-SR-NEXT: cm.pop {ra, s0-s7}, 48
@@ -954,23 +954,23 @@ define i32 @nocompress(i32 signext %size) {
; RV64IZCMP-SR-NEXT: srli a0, a0, 32
; RV64IZCMP-SR-NEXT: addi a0, a0, 15
; RV64IZCMP-SR-NEXT: andi a0, a0, -16
-; RV64IZCMP-SR-NEXT: sub s2, sp, a0
-; RV64IZCMP-SR-NEXT: mv sp, s2
-; RV64IZCMP-SR-NEXT: lui s1, %hi(var)
-; RV64IZCMP-SR-NEXT: addi s1, s1, %lo(var)
-; RV64IZCMP-SR-NEXT: lw s3, 0(s1)
-; RV64IZCMP-SR-NEXT: lw s4, 4(s1)
-; RV64IZCMP-SR-NEXT: lw s5, 8(s1)
-; RV64IZCMP-SR-NEXT: lw s6, 12(s1)
-; RV64IZCMP-SR-NEXT: lw s7, 16(s1)
-; RV64IZCMP-SR-NEXT: mv a0, s2
+; RV64IZCMP-SR-NEXT: sub s1, sp, a0
+; RV64IZCMP-SR-NEXT: mv sp, s1
+; RV64IZCMP-SR-NEXT: lui s2, %hi(var)
+; RV64IZCMP-SR-NEXT: addi s2, s2, %lo(var)
+; RV64IZCMP-SR-NEXT: lw s3, 0(s2)
+; RV64IZCMP-SR-NEXT: lw s4, 4(s2)
+; RV64IZCMP-SR-NEXT: lw s5, 8(s2)
+; RV64IZCMP-SR-NEXT: lw s6, 12(s2)
+; RV64IZCMP-SR-NEXT: lw s7, 16(s2)
+; RV64IZCMP-SR-NEXT: mv a0, s1
; RV64IZCMP-SR-NEXT: call callee_void
-; RV64IZCMP-SR-NEXT: sw s7, 16(s1)
-; RV64IZCMP-SR-NEXT: sw s6, 12(s1)
-; RV64IZCMP-SR-NEXT: sw s5, 8(s1)
-; RV64IZCMP-SR-NEXT: mv a0, s2
-; RV64IZCMP-SR-NEXT: sw s4, 4(s1)
-; RV64IZCMP-SR-NEXT: sw s3, 0(s1)
+; RV64IZCMP-SR-NEXT: sw s7, 16(s2)
+; RV64IZCMP-SR-NEXT: sw s6, 12(s2)
+; RV64IZCMP-SR-NEXT: sw s5, 8(s2)
+; RV64IZCMP-SR-NEXT: mv a0, s1
+; RV64IZCMP-SR-NEXT: sw s4, 4(s2)
+; RV64IZCMP-SR-NEXT: sw s3, 0(s2)
; RV64IZCMP-SR-NEXT: addi sp, s0, -80
; RV64IZCMP-SR-NEXT: .cfi_def_cfa sp, 80
; RV64IZCMP-SR-NEXT: cm.pop {ra, s0-s7}, 80
@@ -1263,42 +1263,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV32IZCMP-NEXT: .cfi_offset s3, -4
; RV32IZCMP-NEXT: lui a0, %hi(var0)
; RV32IZCMP-NEXT: addi a0, a0, %lo(var0)
-; RV32IZCMP-NEXT: lw a6, 0(a0)
-; RV32IZCMP-NEXT: lw a7, 4(a0)
-; RV32IZCMP-NEXT: lw t0, 8(a0)
-; RV32IZCMP-NEXT: lw t1, 12(a0)
-; RV32IZCMP-NEXT: lw t2, 16(a0)
-; RV32IZCMP-NEXT: lw t3, 20(a0)
-; RV32IZCMP-NEXT: lw t4, 24(a0)
-; RV32IZCMP-NEXT: lw t5, 28(a0)
-; RV32IZCMP-NEXT: lw a4, 64(a0)
-; RV32IZCMP-NEXT: lw a5, 68(a0)
-; RV32IZCMP-NEXT: lw t6, 48(a0)
-; RV32IZCMP-NEXT: lw s3, 52(a0)
-; RV32IZCMP-NEXT: lw a3, 56(a0)
-; RV32IZCMP-NEXT: lw a1, 60(a0)
-; RV32IZCMP-NEXT: lw s2, 32(a0)
+; RV32IZCMP-NEXT: lw a1, 0(a0)
+; RV32IZCMP-NEXT: lw a2, 4(a0)
+; RV32IZCMP-NEXT: lw a3, 8(a0)
+; RV32IZCMP-NEXT: lw a4, 12(a0)
+; RV32IZCMP-NEXT: lw a5, 16(a0)
+; RV32IZCMP-NEXT: lw a6, 20(a0)
+; RV32IZCMP-NEXT: lw a7, 24(a0)
+; RV32IZCMP-NEXT: lw t0, 28(a0)
+; RV32IZCMP-NEXT: lw t1, 64(a0)
+; RV32IZCMP-NEXT: lw t2, 68(a0)
+; RV32IZCMP-NEXT: lw t3, 48(a0)
+; RV32IZCMP-NEXT: lw t4, 52(a0)
+; RV32IZCMP-NEXT: lw t5, 56(a0)
+; RV32IZCMP-NEXT: lw t6, 60(a0)
+; RV32IZCMP-NEXT: lw s0, 32(a0)
; RV32IZCMP-NEXT: lw s1, 36(a0)
-; RV32IZCMP-NEXT: lw s0, 40(a0)
-; RV32IZCMP-NEXT: lw a2, 44(a0)
-; RV32IZCMP-NEXT: sw a5, 68(a0)
-; RV32IZCMP-NEXT: sw a4, 64(a0)
-; RV32IZCMP-NEXT: sw a1, 60(a0)
-; RV32IZCMP-NEXT: sw a3, 56(a0)
-; RV32IZCMP-NEXT: sw s3, 52(a0)
-; RV32IZCMP-NEXT: sw t6, 48(a0)
-; RV32IZCMP-NEXT: sw a2, 44(a0)
-; RV32IZCMP-NEXT: sw s0, 40(a0)
+; RV32IZCMP-NEXT: lw s2, 40(a0)
+; RV32IZCMP-NEXT: lw s3, 44(a0)
+; RV32IZCMP-NEXT: sw t2, 68(a0)
+; RV32IZCMP-NEXT: sw t1, 64(a0)
+; RV32IZCMP-NEXT: sw t6, 60(a0)
+; RV32IZCMP-NEXT: sw t5, 56(a0)
+; RV32IZCMP-NEXT: sw t4, 52(a0)
+; RV32IZCMP-NEXT: sw t3, 48(a0)
+; RV32IZCMP-NEXT: sw s3, 44(a0)
+; RV32IZCMP-NEXT: sw s2, 40(a0)
; RV32IZCMP-NEXT: sw s1, 36(a0)
-; RV32IZCMP-NEXT: sw s2, 32(a0)
-; RV32IZCMP-NEXT: sw t5, 28(a0)
-; RV32IZCMP-NEXT: sw t4, 24(a0)
-; RV32IZCMP-NEXT: sw t3, 20(a0)
-; RV32IZCMP-NEXT: sw t2, 16(a0)
-; RV32IZCMP-NEXT: sw t1, 12(a0)
-; RV32IZCMP-NEXT: sw t0, 8(a0)
-; RV32IZCMP-NEXT: sw a7, 4(a0)
-; RV32IZCMP-NEXT: sw a6, 0(a0)
+; RV32IZCMP-NEXT: sw s0, 32(a0)
+; RV32IZCMP-NEXT: sw t0, 28(a0)
+; RV32IZCMP-NEXT: sw a7, 24(a0)
+; RV32IZCMP-NEXT: sw a6, 20(a0)
+; RV32IZCMP-NEXT: sw a5, 16(a0)
+; RV32IZCMP-NEXT: sw a4, 12(a0)
+; RV32IZCMP-NEXT: sw a3, 8(a0)
+; RV32IZCMP-NEXT: sw a2, 4(a0)
+; RV32IZCMP-NEXT: sw a1, 0(a0)
; RV32IZCMP-NEXT: cm.popret {ra, s0-s3}, 32
;
; RV64IZCMP-LABEL: many_args:
@@ -1311,42 +1311,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV64IZCMP-NEXT: .cfi_offset s3, -8
; RV64IZCMP-NEXT: lui a0, %hi(var0)
; RV64IZCMP-NEXT: addi a0, a0, %lo(var0)
-; RV64IZCMP-NEXT: lw a6, 0(a0)
-; RV64IZCMP-NEXT: lw a7, 4(a0)
-; RV64IZCMP-NEXT: lw t0, 8(a0)
-; RV64IZCMP-NEXT: lw t1, 12(a0)
-; RV64IZCMP-NEXT: lw t2, 16(a0)
-; RV64IZCMP-NEXT: lw t3, 20(a0)
-; RV64IZCMP-NEXT: lw t4, 24(a0)
-; RV64IZCMP-NEXT: lw t5, 28(a0)
-; RV64IZCMP-NEXT: lw a4, 64(a0)
-; RV64IZCMP-NEXT: lw a5, 68(a0)
-; RV64IZCMP-NEXT: lw t6, 48(a0)
-; RV64IZCMP-NEXT: lw s3, 52(a0)
-; RV64IZCMP-NEXT: lw a3, 56(a0)
-; RV64IZCMP-NEXT: lw a1, 60(a0)
-; RV64IZCMP-NEXT: lw s2, 32(a0)
+; RV64IZCMP-NEXT: lw a1, 0(a0)
+; RV64IZCMP-NEXT: lw a2, 4(a0)
+; RV64IZCMP-NEXT: lw a3, 8(a0)
+; RV64IZCMP-NEXT: lw a4, 12(a0)
+; RV64IZCMP-NEXT: lw a5, 16(a0)
+; RV64IZCMP-NEXT: lw a6, 20(a0)
+; RV64IZCMP-NEXT: lw a7, 24(a0)
+; RV64IZCMP-NEXT: lw t0, 28(a0)
+; RV64IZCMP-NEXT: lw t1, 64(a0)
+; RV64IZCMP-NEXT: lw t2, 68(a0)
+; RV64IZCMP-NEXT: lw t3, 48(a0)
+; RV64IZCMP-NEXT: lw t4, 52(a0)
+; RV64IZCMP-NEXT: lw t5, 56(a0)
+; RV64IZCMP-NEXT: lw t6, 60(a0)
+; RV64IZCMP-NEXT: lw s0, 32(a0)
; RV64IZCMP-NEXT: lw s1, 36(a0)
-; RV64IZCMP-NEXT: lw s0, 40(a0)
-; RV64IZCMP-NEXT: lw a2, 44(a0)
-; RV64IZCMP-NEXT: sw a5, 68(a0)
-; RV64IZCMP-NEXT: sw a4, 64(a0)
-; RV64IZCMP-NEXT: sw a1, 60(a0)
-; RV64IZCMP-NEXT: sw a3, 56(a0)
-; RV64IZCMP-NEXT: sw s3, 52(a0)
-; RV64IZCMP-NEXT: sw t6, 48(a0)
-; RV64IZCMP-NEXT: sw a2, 44(a0)
-; RV64IZCMP-NEXT: sw s0, 40(a0)
+; RV64IZCMP-NEXT: lw s2, 40(a0)
+; RV64IZCMP-NEXT: lw s3, 44(a0)
+; RV64IZCMP-NEXT: sw t2, 68(a0)
+; RV64IZCMP-NEXT: sw t1, 64(a0)
+; RV64IZCMP-NEXT: sw t6, 60(a0)
+; RV64IZCMP-NEXT: sw t5, 56(a0)
+; RV64IZCMP-NEXT: sw t4, 52(a0)
+; RV64IZCMP-NEXT: sw t3, 48(a0)
+; RV64IZCMP-NEXT: sw s3, 44(a0)
+; RV64IZCMP-NEXT: sw s2, 40(a0)
; RV64IZCMP-NEXT: sw s1, 36(a0)
-; RV64IZCMP-NEXT: sw s2, 32(a0)
-; RV64IZCMP-NEXT: sw t5, 28(a0)
-; RV64IZCMP-NEXT: sw t4, 24(a0)
-; RV64IZCMP-NEXT: sw t3, 20(a0)
-; RV64IZCMP-NEXT: sw t2, 16(a0)
-; RV64IZCMP-NEXT: sw t1, 12(a0)
-; RV64IZCMP-NEXT: sw t0, 8(a0)
-; RV64IZCMP-NEXT: sw a7, 4(a0)
-; RV64IZCMP-NEXT: sw a6, 0(a0)
+; RV64IZCMP-NEXT: sw s0, 32(a0)
+; RV64IZCMP-NEXT: sw t0, 28(a0)
+; RV64IZCMP-NEXT: sw a7, 24(a0)
+; RV64IZCMP-NEXT: sw a6, 20(a0)
+; RV64IZCMP-NEXT: sw a5, 16(a0)
+; RV64IZCMP-NEXT: sw a4, 12(a0)
+; RV64IZCMP-NEXT: sw a3, 8(a0)
+; RV64IZCMP-NEXT: sw a2, 4(a0)
+; RV64IZCMP-NEXT: sw a1, 0(a0)
; RV64IZCMP-NEXT: cm.popret {ra, s0-s3}, 48
;
; RV32IZCMP-SR-LABEL: many_args:
@@ -1359,42 +1359,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV32IZCMP-SR-NEXT: .cfi_offset s3, -4
; RV32IZCMP-SR-NEXT: lui a0, %hi(var0)
; RV32IZCMP-SR-NEXT: addi a0, a0, %lo(var0)
-; RV32IZCMP-SR-NEXT: lw a6, 0(a0)
-; RV32IZCMP-SR-NEXT: lw a7, 4(a0)
-; RV32IZCMP-SR-NEXT: lw t0, 8(a0)
-; RV32IZCMP-SR-NEXT: lw t1, 12(a0)
-; RV32IZCMP-SR-NEXT: lw t2, 16(a0)
-; RV32IZCMP-SR-NEXT: lw t3, 20(a0)
-; RV32IZCMP-SR-NEXT: lw t4, 24(a0)
-; RV32IZCMP-SR-NEXT: lw t5, 28(a0)
-; RV32IZCMP-SR-NEXT: lw a4, 64(a0)
-; RV32IZCMP-SR-NEXT: lw a5, 68(a0)
-; RV32IZCMP-SR-NEXT: lw t6, 48(a0)
-; RV32IZCMP-SR-NEXT: lw s3, 52(a0)
-; RV32IZCMP-SR-NEXT: lw a3, 56(a0)
-; RV32IZCMP-SR-NEXT: lw a1, 60(a0)
-; RV32IZCMP-SR-NEXT: lw s2, 32(a0)
+; RV32IZCMP-SR-NEXT: lw a1, 0(a0)
+; RV32IZCMP-SR-NEXT: lw a2, 4(a0)
+; RV32IZCMP-SR-NEXT: lw a3, 8(a0)
+; RV32IZCMP-SR-NEXT: lw a4, 12(a0)
+; RV32IZCMP-SR-NEXT: lw a5, 16(a0)
+; RV32IZCMP-SR-NEXT: lw a6, 20(a0)
+; RV32IZCMP-SR-NEXT: lw a7, 24(a0)
+; RV32IZCMP-SR-NEXT: lw t0, 28(a0)
+; RV32IZCMP-SR-NEXT: lw t1, 64(a0)
+; RV32IZCMP-SR-NEXT: lw t2, 68(a0)
+; RV32IZCMP-SR-NEXT: lw t3, 48(a0)
+; RV32IZCMP-SR-NEXT: lw t4, 52(a0)
+; RV32IZCMP-SR-NEXT: lw t5, 56(a0)
+; RV32IZCMP-SR-NEXT: lw t6, 60(a0)
+; RV32IZCMP-SR-NEXT: lw s0, 32(a0)
; RV32IZCMP-SR-NEXT: lw s1, 36(a0)
-; RV32IZCMP-SR-NEXT: lw s0, 40(a0)
-; RV32IZCMP-SR-NEXT: lw a2, 44(a0)
-; RV32IZCMP-SR-NEXT: sw a5, 68(a0)
-; RV32IZCMP-SR-NEXT: sw a4, 64(a0)
-; RV32IZCMP-SR-NEXT: sw a1, 60(a0)
-; RV32IZCMP-SR-NEXT: sw a3, 56(a0)
-; RV32IZCMP-SR-NEXT: sw s3, 52(a0)
-; RV32IZCMP-SR-NEXT: sw t6, 48(a0)
-; RV32IZCMP-SR-NEXT: sw a2, 44(a0)
-; RV32IZCMP-SR-NEXT: sw s0, 40(a0)
+; RV32IZCMP-SR-NEXT: lw s2, 40(a0)
+; RV32IZCMP-SR-NEXT: lw s3, 44(a0)
+; RV32IZCMP-SR-NEXT: sw t2, 68(a0)
+; RV32IZCMP-SR-NEXT: sw t1, 64(a0)
+; RV32IZCMP-SR-NEXT: sw t6, 60(a0)
+; RV32IZCMP-SR-NEXT: sw t5, 56(a0)
+; RV32IZCMP-SR-NEXT: sw t4, 52(a0)
+; RV32IZCMP-SR-NEXT: sw t3, 48(a0)
+; RV32IZCMP-SR-NEXT: sw s3, 44(a0)
+; RV32IZCMP-SR-NEXT: sw s2, 40(a0)
; RV32IZCMP-SR-NEXT: sw s1, 36(a0)
-; RV32IZCMP-SR-NEXT: sw s2, 32(a0)
-; RV32IZCMP-SR-NEXT: sw t5, 28(a0)
-; RV32IZCMP-SR-NEXT: sw t4, 24(a0)
-; RV32IZCMP-SR-NEXT: sw t3, 20(a0)
-; RV32IZCMP-SR-NEXT: sw t2, 16(a0)
-; RV32IZCMP-SR-NEXT: sw t1, 12(a0)
-; RV32IZCMP-SR-NEXT: sw t0, 8(a0)
-; RV32IZCMP-SR-NEXT: sw a7, 4(a0)
-; RV32IZCMP-SR-NEXT: sw a6, 0(a0)
+; RV32IZCMP-SR-NEXT: sw s0, 32(a0)
+; RV32IZCMP-SR-NEXT: sw t0, 28(a0)
+; RV32IZCMP-SR-NEXT: sw a7, 24(a0)
+; RV32IZCMP-SR-NEXT: sw a6, 20(a0)
+; RV32IZCMP-SR-NEXT: sw a5, 16(a0)
+; RV32IZCMP-SR-NEXT: sw a4, 12(a0)
+; RV32IZCMP-SR-NEXT: sw a3, 8(a0)
+; RV32IZCMP-SR-NEXT: sw a2, 4(a0)
+; RV32IZCMP-SR-NEXT: sw a1, 0(a0)
; RV32IZCMP-SR-NEXT: cm.popret {ra, s0-s3}, 32
;
; RV64IZCMP-SR-LABEL: many_args:
@@ -1407,42 +1407,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV64IZCMP-SR-NEXT: .cfi_offset s3, -8
; RV64IZCMP-SR-NEXT: lui a0, %hi(var0)
; RV64IZCMP-SR-NEXT: addi a0, a0, %lo(var0)
-; RV64IZCMP-SR-NEXT: lw a6, 0(a0)
-; RV64IZCMP-SR-NEXT: lw a7, 4(a0)
-; RV64IZCMP-SR-NEXT: lw t0, 8(a0)
-; RV64IZCMP-SR-NEXT: lw t1, 12(a0)
-; RV64IZCMP-SR-NEXT: lw t2, 16(a0)
-; RV64IZCMP-SR-NEXT: lw t3, 20(a0)
-; RV64IZCMP-SR-NEXT: lw t4, 24(a0)
-; RV64IZCMP-SR-NEXT: lw t5, 28(a0)
-; RV64IZCMP-SR-NEXT: lw a4, 64(a0)
-; RV64IZCMP-SR-NEXT: lw a5, 68(a0)
-; RV64IZCMP-SR-NEXT: lw t6, 48(a0)
-; RV64IZCMP-SR-NEXT: lw s3, 52(a0)
-; RV64IZCMP-SR-NEXT: lw a3, 56(a0)
-; RV64IZCMP-SR-NEXT: lw a1, 60(a0)
-; RV64IZCMP-SR-NEXT: lw s2, 32(a0)
+; RV64IZCMP-SR-NEXT: lw a1, 0(a0)
+; RV64IZCMP-SR-NEXT: lw a2, 4(a0)
+; RV64IZCMP-SR-NEXT: lw a3, 8(a0)
+; RV64IZCMP-SR-NEXT: lw a4, 12(a0)
+; RV64IZCMP-SR-NEXT: lw a5, 16(a0)
+; RV64IZCMP-SR-NEXT: lw a6, 20(a0)
+; RV64IZCMP-SR-NEXT: lw a7, 24(a0)
+; RV64IZCMP-SR-NEXT: lw t0, 28(a0)
+; RV64IZCMP-SR-NEXT: lw t1, 64(a0)
+; RV64IZCMP-SR-NEXT: lw t2, 68(a0)
+; RV64IZCMP-SR-NEXT: lw t3, 48(a0)
+; RV64IZCMP-SR-NEXT: lw t4, 52(a0)
+; RV64IZCMP-SR-NEXT: lw t5, 56(a0)
+; RV64IZCMP-SR-NEXT: lw t6, 60(a0)
+; RV64IZCMP-SR-NEXT: lw s0, 32(a0)
; RV64IZCMP-SR-NEXT: lw s1, 36(a0)
-; RV64IZCMP-SR-NEXT: lw s0, 40(a0)
-; RV64IZCMP-SR-NEXT: lw a2, 44(a0)
-; RV64IZCMP-SR-NEXT: sw a5, 68(a0)
-; RV64IZCMP-SR-NEXT: sw a4, 64(a0)
-; RV64IZCMP-SR-NEXT: sw a1, 60(a0)
-; RV64IZCMP-SR-NEXT: sw a3, 56(a0)
-; RV64IZCMP-SR-NEXT: sw s3, 52(a0)
-; RV64IZCMP-SR-NEXT: sw t6, 48(a0)
-; RV64IZCMP-SR-NEXT: sw a2, 44(a0)
-; RV64IZCMP-SR-NEXT: sw s0, 40(a0)
+; RV64IZCMP-SR-NEXT: lw s2, 40(a0)
+; RV64IZCMP-SR-NEXT: lw s3, 44(a0)
+; RV64IZCMP-SR-NEXT: sw t2, 68(a0)
+; RV64IZCMP-SR-NEXT: sw t1, 64(a0)
+; RV64IZCMP-SR-NEXT: sw t6, 60(a0)
+; RV64IZCMP-SR-NEXT: sw t5, 56(a0)
+; RV64IZCMP-SR-NEXT: sw t4, 52(a0)
+; RV64IZCMP-SR-NEXT: sw t3, 48(a0)
+; RV64IZCMP-SR-NEXT: sw s3, 44(a0)
+; RV64IZCMP-SR-NEXT: sw s2, 40(a0)
; RV64IZCMP-SR-NEXT: sw s1, 36(a0)
-; RV64IZCMP-SR-NEXT: sw s2, 32(a0)
-; RV64IZCMP-SR-NEXT: sw t5, 28(a0)
-; RV64IZCMP-SR-NEXT: sw t4, 24(a0)
-; RV64IZCMP-SR-NEXT: sw t3, 20(a0)
-; RV64IZCMP-SR-NEXT: sw t2, 16(a0)
-; RV64IZCMP-SR-NEXT: sw t1, 12(a0)
-; RV64IZCMP-SR-NEXT: sw t0, 8(a0)
-; RV64IZCMP-SR-NEXT: sw a7, 4(a0)
-; RV64IZCMP-SR-NEXT: sw a6, 0(a0)
+; RV64IZCMP-SR-NEXT: sw s0, 32(a0)
+; RV64IZCMP-SR-NEXT: sw t0, 28(a0)
+; RV64IZCMP-SR-NEXT: sw a7, 24(a0)
+; RV64IZCMP-SR-NEXT: sw a6, 20(a0)
+; RV64IZCMP-SR-NEXT: sw a5, 16(a0)
+; RV64IZCMP-SR-NEXT: sw a4, 12(a0)
+; RV64IZCMP-SR-NEXT: sw a3, 8(a0)
+; RV64IZCMP-SR-NEXT: sw a2, 4(a0)
+; RV64IZCMP-SR-NEXT: sw a1, 0(a0)
; RV64IZCMP-SR-NEXT: cm.popret {ra, s0-s3}, 48
;
; RV32I-LABEL: many_args:
@@ -2310,60 +2310,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV32IZCMP-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; RV32IZCMP-NEXT: lw a1, 16(a0)
; RV32IZCMP-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; RV32IZCMP-NEXT: lw t3, 20(a0)
-; RV32IZCMP-NEXT: lw t4, 24(a0)
-; RV32IZCMP-NEXT: lw t5, 28(a0)
-; RV32IZCMP-NEXT: lw t6, 32(a0)
-; RV32IZCMP-NEXT: lw s2, 36(a0)
-; RV32IZCMP-NEXT: lw s3, 40(a0)
-; RV32IZCMP-NEXT: lw s4, 44(a0)
-; RV32IZCMP-NEXT: lw s5, 48(a0)
-; RV32IZCMP-NEXT: lw s6, 52(a0)
-; RV32IZCMP-NEXT: lw s7, 56(a0)
-; RV32IZCMP-NEXT: lw s8, 60(a0)
-; RV32IZCMP-NEXT: lw s9, 64(a0)
-; RV32IZCMP-NEXT: lw s10, 68(a0)
-; RV32IZCMP-NEXT: lw s11, 72(a0)
-; RV32IZCMP-NEXT: lw ra, 76(a0)
-; RV32IZCMP-NEXT: lw t0, 112(a0)
-; RV32IZCMP-NEXT: lw s0, 116(a0)
-; RV32IZCMP-NEXT: lw s1, 120(a0)
-; RV32IZCMP-NEXT: lw a5, 124(a0)
-; RV32IZCMP-NEXT: lw t1, 96(a0)
-; RV32IZCMP-NEXT: lw a6, 100(a0)
-; RV32IZCMP-NEXT: lw a3, 104(a0)
+; RV32IZCMP-NEXT: lw a6, 20(a0)
+; RV32IZCMP-NEXT: lw a7, 24(a0)
+; RV32IZCMP-NEXT: lw t0, 28(a0)
+; RV32IZCMP-NEXT: lw t1, 32(a0)
+; RV32IZCMP-NEXT: lw t2, 36(a0)
+; RV32IZCMP-NEXT: lw t3, 40(a0)
+; RV32IZCMP-NEXT: lw t4, 44(a0)
+; RV32IZCMP-NEXT: lw t5, 48(a0)
+; RV32IZCMP-NEXT: lw t6, 52(a0)
+; RV32IZCMP-NEXT: lw s0, 56(a0)
+; RV32IZCMP-NEXT: lw s1, 60(a0)
+; RV32IZCMP-NEXT: lw s2, 64(a0)
+; RV32IZCMP-NEXT: lw s3, 68(a0)
+; RV32IZCMP-NEXT: lw s4, 72(a0)
+; RV32IZCMP-NEXT: lw s5, 76(a0)
+; RV32IZCMP-NEXT: lw s6, 112(a0)
+; RV32IZCMP-NEXT: lw s7, 116(a0)
+; RV32IZCMP-NEXT: lw s8, 120(a0)
+; RV32IZCMP-NEXT: lw s9, 124(a0)
+; RV32IZCMP-NEXT: lw s10, 96(a0)
+; RV32IZCMP-NEXT: lw s11, 100(a0)
+; RV32IZCMP-NEXT: lw ra, 104(a0)
; RV32IZCMP-NEXT: lw a1, 108(a0)
-; RV32IZCMP-NEXT: lw t2, 80(a0)
-; RV32IZCMP-NEXT: lw a7, 84(a0)
-; RV32IZCMP-NEXT: lw a4, 88(a0)
+; RV32IZCMP-NEXT: lw a5, 80(a0)
+; RV32IZCMP-NEXT: lw a4, 84(a0)
+; RV32IZCMP-NEXT: lw a3, 88(a0)
; RV32IZCMP-NEXT: lw a2, 92(a0)
-; RV32IZCMP-NEXT: sw a5, 124(a0)
-; RV32IZCMP-NEXT: sw s1, 120(a0)
-; RV32IZCMP-NEXT: sw s0, 116(a0)
-; RV32IZCMP-NEXT: sw t0, 112(a0)
+; RV32IZCMP-NEXT: sw s9, 124(a0)
+; RV32IZCMP-NEXT: sw s8, 120(a0)
+; RV32IZCMP-NEXT: sw s7, 116(a0)
+; RV32IZCMP-NEXT: sw s6, 112(a0)
; RV32IZCMP-NEXT: sw a1, 108(a0)
-; RV32IZCMP-NEXT: sw a3, 104(a0)
-; RV32IZCMP-NEXT: sw a6, 100(a0)
-; RV32IZCMP-NEXT: sw t1, 96(a0)
+; RV32IZCMP-NEXT: sw ra, 104(a0)
+; RV32IZCMP-NEXT: sw s11, 100(a0)
+; RV32IZCMP-NEXT: sw s10, 96(a0)
; RV32IZCMP-NEXT: sw a2, 92(a0)
-; RV32IZCMP-NEXT: sw a4, 88(a0)
-; RV32IZCMP-NEXT: sw a7, 84(a0)
-; RV32IZCMP-NEXT: sw t2, 80(a0)
-; RV32IZCMP-NEXT: sw ra, 76(a0)
-; RV32IZCMP-NEXT: sw s11, 72(a0)
-; RV32IZCMP-NEXT: sw s10, 68(a0)
-; RV32IZCMP-NEXT: sw s9, 64(a0)
-; RV32IZCMP-NEXT: sw s8, 60(a0)
-; RV32IZCMP-NEXT: sw s7, 56(a0)
-; RV32IZCMP-NEXT: sw s6, 52(a0)
-; RV32IZCMP-NEXT: sw s5, 48(a0)
-; RV32IZCMP-NEXT: sw s4, 44(a0)
-; RV32IZCMP-NEXT: sw s3, 40(a0)
-; RV32IZCMP-NEXT: sw s2, 36(a0)
-; RV32IZCMP-NEXT: sw t6, 32(a0)
-; RV32IZCMP-NEXT: sw t5, 28(a0)
-; RV32IZCMP-NEXT: sw t4, 24(a0)
-; RV32IZCMP-NEXT: sw t3, 20(a0)
+; RV32IZCMP-NEXT: sw a3, 88(a0)
+; RV32IZCMP-NEXT: sw a4, 84(a0)
+; RV32IZCMP-NEXT: sw a5, 80(a0)
+; RV32IZCMP-NEXT: sw s5, 76(a0)
+; RV32IZCMP-NEXT: sw s4, 72(a0)
+; RV32IZCMP-NEXT: sw s3, 68(a0)
+; RV32IZCMP-NEXT: sw s2, 64(a0)
+; RV32IZCMP-NEXT: sw s1, 60(a0)
+; RV32IZCMP-NEXT: sw s0, 56(a0)
+; RV32IZCMP-NEXT: sw t6, 52(a0)
+; RV32IZCMP-NEXT: sw t5, 48(a0)
+; RV32IZCMP-NEXT: sw t4, 44(a0)
+; RV32IZCMP-NEXT: sw t3, 40(a0)
+; RV32IZCMP-NEXT: sw t2, 36(a0)
+; RV32IZCMP-NEXT: sw t1, 32(a0)
+; RV32IZCMP-NEXT: sw t0, 28(a0)
+; RV32IZCMP-NEXT: sw a7, 24(a0)
+; RV32IZCMP-NEXT: sw a6, 20(a0)
; RV32IZCMP-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; RV32IZCMP-NEXT: sw a1, 16(a0)
; RV32IZCMP-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -2484,60 +2484,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV64IZCMP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
; RV64IZCMP-NEXT: lw a1, 16(a0)
; RV64IZCMP-NEXT: sd a1, 0(sp) # 8-byte Folded Spill
-; RV64IZCMP-NEXT: lw t3, 20(a0)
-; RV64IZCMP-NEXT: lw t4, 24(a0)
-; RV64IZCMP-NEXT: lw t5, 28(a0)
-; RV64IZCMP-NEXT: lw t6, 32(a0)
-; RV64IZCMP-NEXT: lw s2, 36(a0)
-; RV64IZCMP-NEXT: lw s3, 40(a0)
-; RV64IZCMP-NEXT: lw s4, 44(a0)
-; RV64IZCMP-NEXT: lw s5, 48(a0)
-; RV64IZCMP-NEXT: lw s6, 52(a0)
-; RV64IZCMP-NEXT: lw s7, 56(a0)
-; RV64IZCMP-NEXT: lw s8, 60(a0)
-; RV64IZCMP-NEXT: lw s9, 64(a0)
-; RV64IZCMP-NEXT: lw s10, 68(a0)
-; RV64IZCMP-NEXT: lw s11, 72(a0)
-; RV64IZCMP-NEXT: lw ra, 76(a0)
-; RV64IZCMP-NEXT: lw t0, 112(a0)
-; RV64IZCMP-NEXT: lw s0, 116(a0)
-; RV64IZCMP-NEXT: lw s1, 120(a0)
-; RV64IZCMP-NEXT: lw a5, 124(a0)
-; RV64IZCMP-NEXT: lw t1, 96(a0)
-; RV64IZCMP-NEXT: lw a6, 100(a0)
-; RV64IZCMP-NEXT: lw a3, 104(a0)
+; RV64IZCMP-NEXT: lw a6, 20(a0)
+; RV64IZCMP-NEXT: lw a7, 24(a0)
+; RV64IZCMP-NEXT: lw t0, 28(a0)
+; RV64IZCMP-NEXT: lw t1, 32(a0)
+; RV64IZCMP-NEXT: lw t2, 36(a0)
+; RV64IZCMP-NEXT: lw t3, 40(a0)
+; RV64IZCMP-NEXT: lw t4, 44(a0)
+; RV64IZCMP-NEXT: lw t5, 48(a0)
+; RV64IZCMP-NEXT: lw t6, 52(a0)
+; RV64IZCMP-NEXT: lw s0, 56(a0)
+; RV64IZCMP-NEXT: lw s1, 60(a0)
+; RV64IZCMP-NEXT: lw s2, 64(a0)
+; RV64IZCMP-NEXT: lw s3, 68(a0)
+; RV64IZCMP-NEXT: lw s4, 72(a0)
+; RV64IZCMP-NEXT: lw s5, 76(a0)
+; RV64IZCMP-NEXT: lw s6, 112(a0)
+; RV64IZCMP-NEXT: lw s7, 116(a0)
+; RV64IZCMP-NEXT: lw s8, 120(a0)
+; RV64IZCMP-NEXT: lw s9, 124(a0)
+; RV64IZCMP-NEXT: lw s10, 96(a0)
+; RV64IZCMP-NEXT: lw s11, 100(a0)
+; RV64IZCMP-NEXT: lw ra, 104(a0)
; RV64IZCMP-NEXT: lw a1, 108(a0)
-; RV64IZCMP-NEXT: lw t2, 80(a0)
-; RV64IZCMP-NEXT: lw a7, 84(a0)
-; RV64IZCMP-NEXT: lw a4, 88(a0)
+; RV64IZCMP-NEXT: lw a5, 80(a0)
+; RV64IZCMP-NEXT: lw a4, 84(a0)
+; RV64IZCMP-NEXT: lw a3, 88(a0)
; RV64IZCMP-NEXT: lw a2, 92(a0)
-; RV64IZCMP-NEXT: sw a5, 124(a0)
-; RV64IZCMP-NEXT: sw s1, 120(a0)
-; RV64IZCMP-NEXT: sw s0, 116(a0)
-; RV64IZCMP-NEXT: sw t0, 112(a0)
+; RV64IZCMP-NEXT: sw s9, 124(a0)
+; RV64IZCMP-NEXT: sw s8, 120(a0)
+; RV64IZCMP-NEXT: sw s7, 116(a0)
+; RV64IZCMP-NEXT: sw s6, 112(a0)
; RV64IZCMP-NEXT: sw a1, 108(a0)
-; RV64IZCMP-NEXT: sw a3, 104(a0)
-; RV64IZCMP-NEXT: sw a6, 100(a0)
-; RV64IZCMP-NEXT: sw t1, 96(a0)
+; RV64IZCMP-NEXT: sw ra, 104(a0)
+; RV64IZCMP-NEXT: sw s11, 100(a0)
+; RV64IZCMP-NEXT: sw s10, 96(a0)
; RV64IZCMP-NEXT: sw a2, 92(a0)
-; RV64IZCMP-NEXT: sw a4, 88(a0)
-; RV64IZCMP-NEXT: sw a7, 84(a0)
-; RV64IZCMP-NEXT: sw t2, 80(a0)
-; RV64IZCMP-NEXT: sw ra, 76(a0)
-; RV64IZCMP-NEXT: sw s11, 72(a0)
-; RV64IZCMP-NEXT: sw s10, 68(a0)
-; RV64IZCMP-NEXT: sw s9, 64(a0)
-; RV64IZCMP-NEXT: sw s8, 60(a0)
-; RV64IZCMP-NEXT: sw s7, 56(a0)
-; RV64IZCMP-NEXT: sw s6, 52(a0)
-; RV64IZCMP-NEXT: sw s5, 48(a0)
-; RV64IZCMP-NEXT: sw s4, 44(a0)
-; RV64IZCMP-NEXT: sw s3, 40(a0)
-; RV64IZCMP-NEXT: sw s2, 36(a0)
-; RV64IZCMP-NEXT: sw t6, 32(a0)
-; RV64IZCMP-NEXT: sw t5, 28(a0)
-; RV64IZCMP-NEXT: sw t4, 24(a0)
-; RV64IZCMP-NEXT: sw t3, 20(a0)
+; RV64IZCMP-NEXT: sw a3, 88(a0)
+; RV64IZCMP-NEXT: sw a4, 84(a0)
+; RV64IZCMP-NEXT: sw a5, 80(a0)
+; RV64IZCMP-NEXT: sw s5, 76(a0)
+; RV64IZCMP-NEXT: sw s4, 72(a0)
+; RV64IZCMP-NEXT: sw s3, 68(a0)
+; RV64IZCMP-NEXT: sw s2, 64(a0)
+; RV64IZCMP-NEXT: sw s1, 60(a0)
+; RV64IZCMP-NEXT: sw s0, 56(a0)
+; RV64IZCMP-NEXT: sw t6, 52(a0)
+; RV64IZCMP-NEXT: sw t5, 48(a0)
+; RV64IZCMP-NEXT: sw t4, 44(a0)
+; RV64IZCMP-NEXT: sw t3, 40(a0)
+; RV64IZCMP-NEXT: sw t2, 36(a0)
+; RV64IZCMP-NEXT: sw t1, 32(a0)
+; RV64IZCMP-NEXT: sw t0, 28(a0)
+; RV64IZCMP-NEXT: sw a7, 24(a0)
+; RV64IZCMP-NEXT: sw a6, 20(a0)
; RV64IZCMP-NEXT: ld a1, 0(sp) # 8-byte Folded Reload
; RV64IZCMP-NEXT: sw a1, 16(a0)
; RV64IZCMP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
@@ -2658,60 +2658,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV32IZCMP-SR-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; RV32IZCMP-SR-NEXT: lw a1, 16(a0)
; RV32IZCMP-SR-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; RV32IZCMP-SR-NEXT: lw t3, 20(a0)
-; RV32IZCMP-SR-NEXT: lw t4, 24(a0)
-; RV32IZCMP-SR-NEXT: lw t5, 28(a0)
-; RV32IZCMP-SR-NEXT: lw t6, 32(a0)
-; RV32IZCMP-SR-NEXT: lw s2, 36(a0)
-; RV32IZCMP-SR-NEXT: lw s3, 40(a0)
-; RV32IZCMP-SR-NEXT: lw s4, 44(a0)
-; RV32IZCMP-SR-NEXT: lw s5, 48(a0)
-; RV32IZCMP-SR-NEXT: lw s6, 52(a0)
-; RV32IZCMP-SR-NEXT: lw s7, 56(a0)
-; RV32IZCMP-SR-NEXT: lw s8, 60(a0)
-; RV32IZCMP-SR-NEXT: lw s9, 64(a0)
-; RV32IZCMP-SR-NEXT: lw s10, 68(a0)
-; RV32IZCMP-SR-NEXT: lw s11, 72(a0)
-; RV32IZCMP-SR-NEXT: lw ra, 76(a0)
-; RV32IZCMP-SR-NEXT: lw t0, 112(a0)
-; RV32IZCMP-SR-NEXT: lw s0, 116(a0)
-; RV32IZCMP-SR-NEXT: lw s1, 120(a0)
-; RV32IZCMP-SR-NEXT: lw a5, 124(a0)
-; RV32IZCMP-SR-NEXT: lw t1, 96(a0)
-; RV32IZCMP-SR-NEXT: lw a6, 100(a0)
-; RV32IZCMP-SR-NEXT: lw a3, 104(a0)
+; RV32IZCMP-SR-NEXT: lw a6, 20(a0)
+; RV32IZCMP-SR-NEXT: lw a7, 24(a0)
+; RV32IZCMP-SR-NEXT: lw t0, 28(a0)
+; RV32IZCMP-SR-NEXT: lw t1, 32(a0)
+; RV32IZCMP-SR-NEXT: lw t2, 36(a0)
+; RV32IZCMP-SR-NEXT: lw t3, 40(a0)
+; RV32IZCMP-SR-NEXT: lw t4, 44(a0)
+; RV32IZCMP-SR-NEXT: lw t5, 48(a0)
+; RV32IZCMP-SR-NEXT: lw t6, 52(a0)
+; RV32IZCMP-SR-NEXT: lw s0, 56(a0)
+; RV32IZCMP-SR-NEXT: lw s1, 60(a0)
+; RV32IZCMP-SR-NEXT: lw s2, 64(a0)
+; RV32IZCMP-SR-NEXT: lw s3, 68(a0)
+; RV32IZCMP-SR-NEXT: lw s4, 72(a0)
+; RV32IZCMP-SR-NEXT: lw s5, 76(a0)
+; RV32IZCMP-SR-NEXT: lw s6, 112(a0)
+; RV32IZCMP-SR-NEXT: lw s7, 116(a0)
+; RV32IZCMP-SR-NEXT: lw s8, 120(a0)
+; RV32IZCMP-SR-NEXT: lw s9, 124(a0)
+; RV32IZCMP-SR-NEXT: lw s10, 96(a0)
+; RV32IZCMP-SR-NEXT: lw s11, 100(a0)
+; RV32IZCMP-SR-NEXT: lw ra, 104(a0)
; RV32IZCMP-SR-NEXT: lw a1, 108(a0)
-; RV32IZCMP-SR-NEXT: lw t2, 80(a0)
-; RV32IZCMP-SR-NEXT: lw a7, 84(a0)
-; RV32IZCMP-SR-NEXT: lw a4, 88(a0)
+; RV32IZCMP-SR-NEXT: lw a5, 80(a0)
+; RV32IZCMP-SR-NEXT: lw a4, 84(a0)
+; RV32IZCMP-SR-NEXT: lw a3, 88(a0)
; RV32IZCMP-SR-NEXT: lw a2, 92(a0)
-; RV32IZCMP-SR-NEXT: sw a5, 124(a0)
-; RV32IZCMP-SR-NEXT: sw s1, 120(a0)
-; RV32IZCMP-SR-NEXT: sw s0, 116(a0)
-; RV32IZCMP-SR-NEXT: sw t0, 112(a0)
+; RV32IZCMP-SR-NEXT: sw s9, 124(a0)
+; RV32IZCMP-SR-NEXT: sw s8, 120(a0)
+; RV32IZCMP-SR-NEXT: sw s7, 116(a0)
+; RV32IZCMP-SR-NEXT: sw s6, 112(a0)
; RV32IZCMP-SR-NEXT: sw a1, 108(a0)
-; RV32IZCMP-SR-NEXT: sw a3, 104(a0)
-; RV32IZCMP-SR-NEXT: sw a6, 100(a0)
-; RV32IZCMP-SR-NEXT: sw t1, 96(a0)
+; RV32IZCMP-SR-NEXT: sw ra, 104(a0)
+; RV32IZCMP-SR-NEXT: sw s11, 100(a0)
+; RV32IZCMP-SR-NEXT: sw s10, 96(a0)
; RV32IZCMP-SR-NEXT: sw a2, 92(a0)
-; RV32IZCMP-SR-NEXT: sw a4, 88(a0)
-; RV32IZCMP-SR-NEXT: sw a7, 84(a0)
-; RV32IZCMP-SR-NEXT: sw t2, 80(a0)
-; RV32IZCMP-SR-NEXT: sw ra, 76(a0)
-; RV32IZCMP-SR-NEXT: sw s11, 72(a0)
-; RV32IZCMP-SR-NEXT: sw s10, 68(a0)
-; RV32IZCMP-SR-NEXT: sw s9, 64(a0)
-; RV32IZCMP-SR-NEXT: sw s8, 60(a0)
-; RV32IZCMP-SR-NEXT: sw s7, 56(a0)
-; RV32IZCMP-SR-NEXT: sw s6, 52(a0)
-; RV32IZCMP-SR-NEXT: sw s5, 48(a0)
-; RV32IZCMP-SR-NEXT: sw s4, 44(a0)
-; RV32IZCMP-SR-NEXT: sw s3, 40(a0)
-; RV32IZCMP-SR-NEXT: sw s2, 36(a0)
-; RV32IZCMP-SR-NEXT: sw t6, 32(a0)
-; RV32IZCMP-SR-NEXT: sw t5, 28(a0)
-; RV32IZCMP-SR-NEXT: sw t4, 24(a0)
-; RV32IZCMP-SR-NEXT: sw t3, 20(a0)
+; RV32IZCMP-SR-NEXT: sw a3, 88(a0)
+; RV32IZCMP-SR-NEXT: sw a4, 84(a0)
+; RV32IZCMP-SR-NEXT: sw a5, 80(a0)
+; RV32IZCMP-SR-NEXT: sw s5, 76(a0)
+; RV32IZCMP-SR-NEXT: sw s4, 72(a0)
+; RV32IZCMP-SR-NEXT: sw s3, 68(a0)
+; RV32IZCMP-SR-NEXT: sw s2, 64(a0)
+; RV32IZCMP-SR-NEXT: sw s1, 60(a0)
+; RV32IZCMP-SR-NEXT: sw s0, 56(a0)
+; RV32IZCMP-SR-NEXT: sw t6, 52(a0)
+; RV32IZCMP-SR-NEXT: sw t5, 48(a0)
+; RV32IZCMP-SR-NEXT: sw t4, 44(a0)
+; RV32IZCMP-SR-NEXT: sw t3, 40(a0)
+; RV32IZCMP-SR-NEXT: sw t2, 36(a0)
+; RV32IZCMP-SR-NEXT: sw t1, 32(a0)
+; RV32IZCMP-SR-NEXT: sw t0, 28(a0)
+; RV32IZCMP-SR-NEXT: sw a7, 24(a0)
+; RV32IZCMP-SR-NEXT: sw a6, 20(a0)
; RV32IZCMP-SR-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; RV32IZCMP-SR-NEXT: sw a1, 16(a0)
; RV32IZCMP-SR-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -2832,60 +2832,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV64IZCMP-SR-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
; RV64IZCMP-SR-NEXT: lw a1, 16(a0)
; RV64IZCMP-SR-NEXT: sd a1, 0(sp) # 8-byte Folded Spill
-; RV64IZCMP-SR-NEXT: lw t3, 20(a0)
-; RV64IZCMP-SR-NEXT: lw t4, 24(a0)
-; RV64IZCMP-SR-NEXT: lw t5, 28(a0)
-; RV64IZCMP-SR-NEXT: lw t6, 32(a0)
-; RV64IZCMP-SR-NEXT: lw s2, 36(a0)
-; RV64IZCMP-SR-NEXT: lw s3, 40(a0)
-; RV64IZCMP-SR-NEXT: lw s4, 44(a0)
-; RV64IZCMP-SR-NEXT: lw s5, 48(a0)
-; RV64IZCMP-SR-NEXT: lw s6, 52(a0)
-; RV64IZCMP-SR-NEXT: lw s7, 56(a0)
-; RV64IZCMP-SR-NEXT: lw s8, 60(a0)
-; RV64IZCMP-SR-NEXT: lw s9, 64(a0)
-; RV64IZCMP-SR-NEXT: lw s10, 68(a0)
-; RV64IZCMP-SR-NEXT: lw s11, 72(a0)
-; RV64IZCMP-SR-NEXT: lw ra, 76(a0)
-; RV64IZCMP-SR-NEXT: lw t0, 112(a0)
-; RV64IZCMP-SR-NEXT: lw s0, 116(a0)
-; RV64IZCMP-SR-NEXT: lw s1, 120(a0)
-; RV64IZCMP-SR-NEXT: lw a5, 124(a0)
-; RV64IZCMP-SR-NEXT: lw t1, 96(a0)
-; RV64IZCMP-SR-NEXT: lw a6, 100(a0)
-; RV64IZCMP-SR-NEXT: lw a3, 104(a0)
+; RV64IZCMP-SR-NEXT: lw a6, 20(a0)
+; RV64IZCMP-SR-NEXT: lw a7, 24(a0)
+; RV64IZCMP-SR-NEXT: lw t0, 28(a0)
+; RV64IZCMP-SR-NEXT: lw t1, 32(a0)
+; RV64IZCMP-SR-NEXT: lw t2, 36(a0)
+; RV64IZCMP-SR-NEXT: lw t3, 40(a0)
+; RV64IZCMP-SR-NEXT: lw t4, 44(a0)
+; RV64IZCMP-SR-NEXT: lw t5, 48(a0)
+; RV64IZCMP-SR-NEXT: lw t6, 52(a0)
+; RV64IZCMP-SR-NEXT: lw s0, 56(a0)
+; RV64IZCMP-SR-NEXT: lw s1, 60(a0)
+; RV64IZCMP-SR-NEXT: lw s2, 64(a0)
+; RV64IZCMP-SR-NEXT: lw s3, 68(a0)
+; RV64IZCMP-SR-NEXT: lw s4, 72(a0)
+; RV64IZCMP-SR-NEXT: lw s5, 76(a0)
+; RV64IZCMP-SR-NEXT: lw s6, 112(a0)
+; RV64IZCMP-SR-NEXT: lw s7, 116(a0)
+; RV64IZCMP-SR-NEXT: lw s8, 120(a0)
+; RV64IZCMP-SR-NEXT: lw s9, 124(a0)
+; RV64IZCMP-SR-NEXT: lw s10, 96(a0)
+; RV64IZCMP-SR-NEXT: lw s11, 100(a0)
+; RV64IZCMP-SR-NEXT: lw ra, 104(a0)
; RV64IZCMP-SR-NEXT: lw a1, 108(a0)
-; RV64IZCMP-SR-NEXT: lw t2, 80(a0)
-; RV64IZCMP-SR-NEXT: lw a7, 84(a0)
-; RV64IZCMP-SR-NEXT: lw a4, 88(a0)
+; RV64IZCMP-SR-NEXT: lw a5, 80(a0)
+; RV64IZCMP-SR-NEXT: lw a4, 84(a0)
+; RV64IZCMP-SR-NEXT: lw a3, 88(a0)
; RV64IZCMP-SR-NEXT: lw a2, 92(a0)
-; RV64IZCMP-SR-NEXT: sw a5, 124(a0)
-; RV64IZCMP-SR-NEXT: sw s1, 120(a0)
-; RV64IZCMP-SR-NEXT: sw s0, 116(a0)
-; RV64IZCMP-SR-NEXT: sw t0, 112(a0)
+; RV64IZCMP-SR-NEXT: sw s9, 124(a0)
+; RV64IZCMP-SR-NEXT: sw s8, 120(a0)
+; RV64IZCMP-SR-NEXT: sw s7, 116(a0)
+; RV64IZCMP-SR-NEXT: sw s6, 112(a0)
; RV64IZCMP-SR-NEXT: sw a1, 108(a0)
-; RV64IZCMP-SR-NEXT: sw a3, 104(a0)
-; RV64IZCMP-SR-NEXT: sw a6, 100(a0)
-; RV64IZCMP-SR-NEXT: sw t1, 96(a0)
+; RV64IZCMP-SR-NEXT: sw ra, 104(a0)
+; RV64IZCMP-SR-NEXT: sw s11, 100(a0)
+; RV64IZCMP-SR-NEXT: sw s10, 96(a0)
; RV64IZCMP-SR-NEXT: sw a2, 92(a0)
-; RV64IZCMP-SR-NEXT: sw a4, 88(a0)
-; RV64IZCMP-SR-NEXT: sw a7, 84(a0)
-; RV64IZCMP-SR-NEXT: sw t2, 80(a0)
-; RV64IZCMP-SR-NEXT: sw ra, 76(a0)
-; RV64IZCMP-SR-NEXT: sw s11, 72(a0)
-; RV64IZCMP-SR-NEXT: sw s10, 68(a0)
-; RV64IZCMP-SR-NEXT: sw s9, 64(a0)
-; RV64IZCMP-SR-NEXT: sw s8, 60(a0)
-; RV64IZCMP-SR-NEXT: sw s7, 56(a0)
-; RV64IZCMP-SR-NEXT: sw s6, 52(a0)
-; RV64IZCMP-SR-NEXT: sw s5, 48(a0)
-; RV64IZCMP-SR-NEXT: sw s4, 44(a0)
-; RV64IZCMP-SR-NEXT: sw s3, 40(a0)
-; RV64IZCMP-SR-NEXT: sw s2, 36(a0)
-; RV64IZCMP-SR-NEXT: sw t6, 32(a0)
-; RV64IZCMP-SR-NEXT: sw t5, 28(a0)
-; RV64IZCMP-SR-NEXT: sw t4, 24(a0)
-; RV64IZCMP-SR-NEXT: sw t3, 20(a0)
+; RV64IZCMP-SR-NEXT: sw a3, 88(a0)
+; RV64IZCMP-SR-NEXT: sw a4, 84(a0)
+; RV64IZCMP-SR-NEXT: sw a5, 80(a0)
+; RV64IZCMP-SR-NEXT: sw s5, 76(a0)
+; RV64IZCMP-SR-NEXT: sw s4, 72(a0)
+; RV64IZCMP-SR-NEXT: sw s3, 68(a0)
+; RV64IZCMP-SR-NEXT: sw s2, 64(a0)
+; RV64IZCMP-SR-NEXT: sw s1, 60(a0)
+; RV64IZCMP-SR-NEXT: sw s0, 56(a0)
+; RV64IZCMP-SR-NEXT: sw t6, 52(a0)
+; RV64IZCMP-SR-NEXT: sw t5, 48(a0)
+; RV64IZCMP-SR-NEXT: sw t4, 44(a0)
+; RV64IZCMP-SR-NEXT: sw t3, 40(a0)
+; RV64IZCMP-SR-NEXT: sw t2, 36(a0)
+; RV64IZCMP-SR-NEXT: sw t1, 32(a0)
+; RV64IZCMP-SR-NEXT: sw t0, 28(a0)
+; RV64IZCMP-SR-NEXT: sw a7, 24(a0)
+; RV64IZCMP-SR-NEXT: sw a6, 20(a0)
; RV64IZCMP-SR-NEXT: ld a1, 0(sp) # 8-byte Folded Reload
; RV64IZCMP-SR-NEXT: sw a1, 16(a0)
; RV64IZCMP-SR-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
@@ -3371,60 +3371,60 @@ define void @callee_no_irq() {
; RV32IZCMP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IZCMP-NEXT: lw a1, 16(a0)
; RV32IZCMP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IZCMP-NEXT: lw t3, 20(a0)
-; RV32IZCMP-NEXT: lw t4, 24(a0)
-; RV32IZCMP-NEXT: lw t5, 28(a0)
-; RV32IZCMP-NEXT: lw t6, 32(a0)
-; RV32IZCMP-NEXT: lw s2, 36(a0)
-; RV32IZCMP-NEXT: lw s3, 40(a0)
-; RV32IZCMP-NEXT: lw s4, 44(a0)
-; RV32IZCMP-NEXT: lw s5, 48(a0)
-; RV32IZCMP-NEXT: lw s6, 52(a0)
-; RV32IZCMP-NEXT: lw s7, 56(a0)
-; RV32IZCMP-NEXT: lw s8, 60(a0)
-; RV32IZCMP-NEXT: lw s9, 64(a0)
-; RV32IZCMP-NEXT: lw s10, 68(a0)
-; RV32IZCMP-NEXT: lw s11, 72(a0)
-; RV32IZCMP-NEXT: lw ra, 76(a0)
-; RV32IZCMP-NEXT: lw t0, 112(a0)
-; RV32IZCMP-NEXT: lw s0, 116(a0)
-; RV32IZCMP-NEXT: lw s1, 120(a0)
-; RV32IZCMP-NEXT: lw a5, 124(a0)
-; RV32IZCMP-NEXT: lw t1, 96(a0)
-; RV32IZCMP-NEXT: lw a6, 100(a0)
-; RV32IZCMP-NEXT: lw a3, 104(a0)
+; RV32IZCMP-NEXT: lw a6, 20(a0)
+; RV32IZCMP-NEXT: lw a7, 24(a0)
+; RV32IZCMP-NEXT: lw t0, 28(a0)
+; RV32IZCMP-NEXT: lw t1, 32(a0)
+; RV32IZCMP-NEXT: lw t2, 36(a0)
+; RV32IZCMP-NEXT: lw t3, 40(a0)
+; RV32IZCMP-NEXT: lw t4, 44(a0)
+; RV32IZCMP-NEXT: lw t5, 48(a0)
+; RV32IZCMP-NEXT: lw t6, 52(a0)
+; RV32IZCMP-NEXT: lw s0, 56(a0)
+; RV32IZCMP-NEXT: lw s1, 60(a0)
+; RV32IZCMP-NEXT: lw s2, 64(a0)
+; RV32IZCMP-NEXT: lw s3, 68(a0)
+; RV32IZCMP-NEXT: lw s4, 72(a0)
+; RV32IZCMP-NEXT: lw s5, 76(a0)
+; RV32IZCMP-NEXT: lw s6, 112(a0)
+; RV32IZCMP-NEXT: lw s7, 116(a0)
+; RV32IZCMP-NEXT: lw s8, 120(a0)
+; RV32IZCMP-NEXT: lw s9, 124(a0)
+; RV32IZCMP-NEXT: lw s10, 96(a0)
+; RV32IZCMP-NEXT: lw s11, 100(a0)
+; RV32IZCMP-NEXT: lw ra, 104(a0)
; RV32IZCMP-NEXT: lw a1, 108(a0)
-; RV32IZCMP-NEXT: lw t2, 80(a0)
-; RV32IZCMP-NEXT: lw a7, 84(a0)
-; RV32IZCMP-NEXT: lw a4, 88(a0)
+; RV32IZCMP-NEXT: lw a5, 80(a0)
+; RV32IZCMP-NEXT: lw a4, 84(a0)
+; RV32IZCMP-NEXT: lw a3, 88(a0)
; RV32IZCMP-NEXT: lw a2, 92(a0)
-; RV32IZCMP-NEXT: sw a5, 124(a0)
-; RV32IZCMP-NEXT: sw s1, 120(a0)
-; RV32IZCMP-NEXT: sw s0, 116(a0)
-; RV32IZCMP-NEXT: sw t0, 112(a0)
+; RV32IZCMP-NEXT: sw s9, 124(a0)
+; RV32IZCMP-NEXT: sw s8, 120(a0)
+; RV32IZCMP-NEXT: sw s7, 116(a0)
+; RV32IZCMP-NEXT: sw s6, 112(a0)
; RV32IZCMP-NEXT: sw a1, 108(a0)
-; RV32IZCMP-NEXT: sw a3, 104(a0)
-; RV32IZCMP-NEXT: sw a6, 100(a0)
-; RV32IZCMP-NEXT: sw t1, 96(a0)
+; RV32IZCMP-NEXT: sw ra, 104(a0)
+; RV32IZCMP-NEXT: sw s11, 100(a0)
+; RV32IZCMP-NEXT: sw s10, 96(a0)
; RV32IZCMP-NEXT: sw a2, 92(a0)
-; RV32IZCMP-NEXT: sw a4, 88(a0)
-; RV32IZCMP-NEXT: sw a7, 84(a0)
-; RV32IZCMP-NEXT: sw t2, 80(a0)
-; RV32IZCMP-NEXT: sw ra, 76(a0)
-; RV32IZCMP-NEXT: sw s11, 72(a0)
-; RV32IZCMP-NEXT: sw s10, 68(a0)
-; RV32IZCMP-NEXT: sw s9, 64(a0)
-; RV32IZCMP-NEXT: sw s8, 60(a0)
-; RV32IZCMP-NEXT: sw s7, 56(a0)
-; RV32IZCMP-NEXT: sw s6, 52(a0)
-; RV32IZCMP-NEXT: sw s5, 48(a0)
-; RV32IZCMP-NEXT: sw s4, 44(a0)
-; RV32IZCMP-NEXT: sw s3, 40(a0)
-; RV32IZCMP-NEXT: sw s2, 36(a0)
-; RV32IZCMP-NEXT: sw t6, 32(a0)
-; RV32IZCMP-NEXT: sw t5, 28(a0)
-; RV32IZCMP-NEXT: sw t4, 24(a0)
-; RV32IZCMP-NEXT: sw t3, 20(a0)
+; RV32IZCMP-NEXT: sw a3, 88(a0)
+; RV32IZCMP-NEXT: sw a4, 84(a0)
+; RV32IZCMP-NEXT: sw a5, 80(a0)
+; RV32IZCMP-NEXT: sw s5, 76(a0)
+; RV32IZCMP-NEXT: sw s4, 72(a0)
+; RV32IZCMP-NEXT: sw s3, 68(a0)
+; RV32IZCMP-NEXT: sw s2, 64(a0)
+; RV32IZCMP-NEXT: sw s1, 60(a0)
+; RV32IZCMP-NEXT: sw s0, 56(a0)
+; RV32IZCMP-NEXT: sw t6, 52(a0)
+; RV32IZCMP-NEXT: sw t5, 48(a0)
+; RV32IZCMP-NEXT: sw t4, 44(a0)
+; RV32IZCMP-NEXT: sw t3, 40(a0)
+; RV32IZCMP-NEXT: sw t2, 36(a0)
+; RV32IZCMP-NEXT: sw t1, 32(a0)
+; RV32IZCMP-NEXT: sw t0, 28(a0)
+; RV32IZCMP-NEXT: sw a7, 24(a0)
+; RV32IZCMP-NEXT: sw a6, 20(a0)
; RV32IZCMP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IZCMP-NEXT: sw a1, 16(a0)
; RV32IZCMP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -3466,60 +3466,60 @@ define void @callee_no_irq() {
; RV64IZCMP-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IZCMP-NEXT: lw a1, 16(a0)
; RV64IZCMP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IZCMP-NEXT: lw t3, 20(a0)
-; RV64IZCMP-NEXT: lw t4, 24(a0)
-; RV64IZCMP-NEXT: lw t5, 28(a0)
-; RV64IZCMP-NEXT: lw t6, 32(a0)
-; RV64IZCMP-NEXT: lw s2, 36(a0)
-; RV64IZCMP-NEXT: lw s3, 40(a0)
-; RV64IZCMP-NEXT: lw s4, 44(a0)
-; RV64IZCMP-NEXT: lw s5, 48(a0)
-; RV64IZCMP-NEXT: lw s6, 52(a0)
-; RV64IZCMP-NEXT: lw s7, 56(a0)
-; RV64IZCMP-NEXT: lw s8, 60(a0)
-; RV64IZCMP-NEXT: lw s9, 64(a0)
-; RV64IZCMP-NEXT: lw s10, 68(a0)
-; RV64IZCMP-NEXT: lw s11, 72(a0)
-; RV64IZCMP-NEXT: lw ra, 76(a0)
-; RV64IZCMP-NEXT: lw t0, 112(a0)
-; RV64IZCMP-NEXT: lw s0, 116(a0)
-; RV64IZCMP-NEXT: lw s1, 120(a0)
-; RV64IZCMP-NEXT: lw a5, 124(a0)
-; RV64IZCMP-NEXT: lw t1, 96(a0)
-; RV64IZCMP-NEXT: lw a6, 100(a0)
-; RV64IZCMP-NEXT: lw a3, 104(a0)
+; RV64IZCMP-NEXT: lw a6, 20(a0)
+; RV64IZCMP-NEXT: lw a7, 24(a0)
+; RV64IZCMP-NEXT: lw t0, 28(a0)
+; RV64IZCMP-NEXT: lw t1, 32(a0)
+; RV64IZCMP-NEXT: lw t2, 36(a0)
+; RV64IZCMP-NEXT: lw t3, 40(a0)
+; RV64IZCMP-NEXT: lw t4, 44(a0)
+; RV64IZCMP-NEXT: lw t5, 48(a0)
+; RV64IZCMP-NEXT: lw t6, 52(a0)
+; RV64IZCMP-NEXT: lw s0, 56(a0)
+; RV64IZCMP-NEXT: lw s1, 60(a0)
+; RV64IZCMP-NEXT: lw s2, 64(a0)
+; RV64IZCMP-NEXT: lw s3, 68(a0)
+; RV64IZCMP-NEXT: lw s4, 72(a0)
+; RV64IZCMP-NEXT: lw s5, 76(a0)
+; RV64IZCMP-NEXT: lw s6, 112(a0)
+; RV64IZCMP-NEXT: lw s7, 116(a0)
+; RV64IZCMP-NEXT: lw s8, 120(a0)
+; RV64IZCMP-NEXT: lw s9, 124(a0)
+; RV64IZCMP-NEXT: lw s10, 96(a0)
+; RV64IZCMP-NEXT: lw s11, 100(a0)
+; RV64IZCMP-NEXT: lw ra, 104(a0)
; RV64IZCMP-NEXT: lw a1, 108(a0)
-; RV64IZCMP-NEXT: lw t2, 80(a0)
-; RV64IZCMP-NEXT: lw a7, 84(a0)
-; RV64IZCMP-NEXT: lw a4, 88(a0)
+; RV64IZCMP-NEXT: lw a5, 80(a0)
+; RV64IZCMP-NEXT: lw a4, 84(a0)
+; RV64IZCMP-NEXT: lw a3, 88(a0)
; RV64IZCMP-NEXT: lw a2, 92(a0)
-; RV64IZCMP-NEXT: sw a5, 124(a0)
-; RV64IZCMP-NEXT: sw s1, 120(a0)
-; RV64IZCMP-NEXT: sw s0, 116(a0)
-; RV64IZCMP-NEXT: sw t0, 112(a0)
+; RV64IZCMP-NEXT: sw s9, 124(a0)
+; RV64IZCMP-NEXT: sw s8, 120(a0)
+; RV64IZCMP-NEXT: sw s7, 116(a0)
+; RV64IZCMP-NEXT: sw s6, 112(a0)
; RV64IZCMP-NEXT: sw a1, 108(a0)
-; RV64IZCMP-NEXT: sw a3, 104(a0)
-; RV64IZCMP-NEXT: sw a6, 100(a0)
-; RV64IZCMP-NEXT: sw t1, 96(a0)
+; RV64IZCMP-NEXT: sw ra, 104(a0)
+; RV64IZCMP-NEXT: sw s11, 100(a0)
+; RV64IZCMP-NEXT: sw s10, 96(a0)
; RV64IZCMP-NEXT: sw a2, 92(a0)
-; RV64IZCMP-NEXT: sw a4, 88(a0)
-; RV64IZCMP-NEXT: sw a7, 84(a0)
-; RV64IZCMP-NEXT: sw t2, 80(a0)
-; RV64IZCMP-NEXT: sw ra, 76(a0)
-; RV64IZCMP-NEXT: sw s11, 72(a0)
-; RV64IZCMP-NEXT: sw s10, 68(a0)
-; RV64IZCMP-NEXT: sw s9, 64(a0)
-; RV64IZCMP-NEXT: sw s8, 60(a0)
-; RV64IZCMP-NEXT: sw s7, 56(a0)
-; RV64IZCMP-NEXT: sw s6, 52(a0)
-; RV64IZCMP-NEXT: sw s5, 48(a0)
-; RV64IZCMP-NEXT: sw s4, 44(a0)
-; RV64IZCMP-NEXT: sw s3, 40(a0)
-; RV64IZCMP-NEXT: sw s2, 36(a0)
-; RV64IZCMP-NEXT: sw t6, 32(a0)
-; RV64IZCMP-NEXT: sw t5, 28(a0)
-; RV64IZCMP-NEXT: sw t4, 24(a0)
-; RV64IZCMP-NEXT: sw t3, 20(a0)
+; RV64IZCMP-NEXT: sw a3, 88(a0)
+; RV64IZCMP-NEXT: sw a4, 84(a0)
+; RV64IZCMP-NEXT: sw a5, 80(a0)
+; RV64IZCMP-NEXT: sw s5, 76(a0)
+; RV64IZCMP-NEXT: sw s4, 72(a0)
+; RV64IZCMP-NEXT: sw s3, 68(a0)
+; RV64IZCMP-NEXT: sw s2, 64(a0)
+; RV64IZCMP-NEXT: sw s1, 60(a0)
+; RV64IZCMP-NEXT: sw s0, 56(a0)
+; RV64IZCMP-NEXT: sw t6, 52(a0)
+; RV64IZCMP-NEXT: sw t5, 48(a0)
+; RV64IZCMP-NEXT: sw t4, 44(a0)
+; RV64IZCMP-NEXT: sw t3, 40(a0)
+; RV64IZCMP-NEXT: sw t2, 36(a0)
+; RV64IZCMP-NEXT: sw t1, 32(a0)
+; RV64IZCMP-NEXT: sw t0, 28(a0)
+; RV64IZCMP-NEXT: sw a7, 24(a0)
+; RV64IZCMP-NEXT: sw a6, 20(a0)
; RV64IZCMP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IZCMP-NEXT: sw a1, 16(a0)
; RV64IZCMP-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
@@ -3561,60 +3561,60 @@ define void @callee_no_irq() {
; RV32IZCMP-SR-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IZCMP-SR-NEXT: lw a1, 16(a0)
; RV32IZCMP-SR-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IZCMP-SR-NEXT: lw t3, 20(a0)
-; RV32IZCMP-SR-NEXT: lw t4, 24(a0)
-; RV32IZCMP-SR-NEXT: lw t5, 28(a0)
-; RV32IZCMP-SR-NEXT: lw t6, 32(a0)
-; RV32IZCMP-SR-NEXT: lw s2, 36(a0)
-; RV32IZCMP-SR-NEXT: lw s3, 40(a0)
-; RV32IZCMP-SR-NEXT: lw s4, 44(a0)
-; RV32IZCMP-SR-NEXT: lw s5, 48(a0)
-; RV32IZCMP-SR-NEXT: lw s6, 52(a0)
-; RV32IZCMP-SR-NEXT: lw s7, 56(a0)
-; RV32IZCMP-SR-NEXT: lw s8, 60(a0)
-; RV32IZCMP-SR-NEXT: lw s9, 64(a0)
-; RV32IZCMP-SR-NEXT: lw s10, 68(a0)
-; RV32IZCMP-SR-NEXT: lw s11, 72(a0)
-; RV32IZCMP-SR-NEXT: lw ra, 76(a0)
-; RV32IZCMP-SR-NEXT: lw t0, 112(a0)
-; RV32IZCMP-SR-NEXT: lw s0, 116(a0)
-; RV32IZCMP-SR-NEXT: lw s1, 120(a0)
-; RV32IZCMP-SR-NEXT: lw a5, 124(a0)
-; RV32IZCMP-SR-NEXT: lw t1, 96(a0)
-; RV32IZCMP-SR-NEXT: lw a6, 100(a0)
-; RV32IZCMP-SR-NEXT: lw a3, 104(a0)
+; RV32IZCMP-SR-NEXT: lw a6, 20(a0)
+; RV32IZCMP-SR-NEXT: lw a7, 24(a0)
+; RV32IZCMP-SR-NEXT: lw t0, 28(a0)
+; RV32IZCMP-SR-NEXT: lw t1, 32(a0)
+; RV32IZCMP-SR-NEXT: lw t2, 36(a0)
+; RV32IZCMP-SR-NEXT: lw t3, 40(a0)
+; RV32IZCMP-SR-NEXT: lw t4, 44(a0)
+; RV32IZCMP-SR-NEXT: lw t5, 48(a0)
+; RV32IZCMP-SR-NEXT: lw t6, 52(a0)
+; RV32IZCMP-SR-NEXT: lw s0, 56(a0)
+; RV32IZCMP-SR-NEXT: lw s1, 60(a0)
+; RV32IZCMP-SR-NEXT: lw s2, 64(a0)
+; RV32IZCMP-SR-NEXT: lw s3, 68(a0)
+; RV32IZCMP-SR-NEXT: lw s4, 72(a0)
+; RV32IZCMP-SR-NEXT: lw s5, 76(a0)
+; RV32IZCMP-SR-NEXT: lw s6, 112(a0)
+; RV32IZCMP-SR-NEXT: lw s7, 116(a0)
+; RV32IZCMP-SR-NEXT: lw s8, 120(a0)
+; RV32IZCMP-SR-NEXT: lw s9, 124(a0)
+; RV32IZCMP-SR-NEXT: lw s10, 96(a0)
+; RV32IZCMP-SR-NEXT: lw s11, 100(a0)
+; RV32IZCMP-SR-NEXT: lw ra, 104(a0)
; RV32IZCMP-SR-NEXT: lw a1, 108(a0)
-; RV32IZCMP-SR-NEXT: lw t2, 80(a0)
-; RV32IZCMP-SR-NEXT: lw a7, 84(a0)
-; RV32IZCMP-SR-NEXT: lw a4, 88(a0)
+; RV32IZCMP-SR-NEXT: lw a5, 80(a0)
+; RV32IZCMP-SR-NEXT: lw a4, 84(a0)
+; RV32IZCMP-SR-NEXT: lw a3, 88(a0)
; RV32IZCMP-SR-NEXT: lw a2, 92(a0)
-; RV32IZCMP-SR-NEXT: sw a5, 124(a0)
-; RV32IZCMP-SR-NEXT: sw s1, 120(a0)
-; RV32IZCMP-SR-NEXT: sw s0, 116(a0)
-; RV32IZCMP-SR-NEXT: sw t0, 112(a0)
+; RV32IZCMP-SR-NEXT: sw s9, 124(a0)
+; RV32IZCMP-SR-NEXT: sw s8, 120(a0)
+; RV32IZCMP-SR-NEXT: sw s7, 116(a0)
+; RV32IZCMP-SR-NEXT: sw s6, 112(a0)
; RV32IZCMP-SR-NEXT: sw a1, 108(a0)
-; RV32IZCMP-SR-NEXT: sw a3, 104(a0)
-; RV32IZCMP-SR-NEXT: sw a6, 100(a0)
-; RV32IZCMP-SR-NEXT: sw t1, 96(a0)
+; RV32IZCMP-SR-NEXT: sw ra, 104(a0)
+; RV32IZCMP-SR-NEXT: sw s11, 100(a0)
+; RV32IZCMP-SR-NEXT: sw s10, 96(a0)
; RV32IZCMP-SR-NEXT: sw a2, 92(a0)
-; RV32IZCMP-SR-NEXT: sw a4, 88(a0)
-; RV32IZCMP-SR-NEXT: sw a7, 84(a0)
-; RV32IZCMP-SR-NEXT: sw t2, 80(a0)
-; RV32IZCMP-SR-NEXT: sw ra, 76(a0)
-; RV32IZCMP-SR-NEXT: sw s11, 72(a0)
-; RV32IZCMP-SR-NEXT: sw s10, 68(a0)
-; RV32IZCMP-SR-NEXT: sw s9, 64(a0)
-; RV32IZCMP-SR-NEXT: sw s8, 60(a0)
-; RV32IZCMP-SR-NEXT: sw s7, 56(a0)
-; RV32IZCMP-SR-NEXT: sw s6, 52(a0)
-; RV32IZCMP-SR-NEXT: sw s5, 48(a0)
-; RV32IZCMP-SR-NEXT: sw s4, 44(a0)
-; RV32IZCMP-SR-NEXT: sw s3, 40(a0)
-; RV32IZCMP-SR-NEXT: sw s2, 36(a0)
-; RV32IZCMP-SR-NEXT: sw t6, 32(a0)
-; RV32IZCMP-SR-NEXT: sw t5, 28(a0)
-; RV32IZCMP-SR-NEXT: sw t4, 24(a0)
-; RV32IZCMP-SR-NEXT: sw t3, 20(a0)
+; RV32IZCMP-SR-NEXT: sw a3, 88(a0)
+; RV32IZCMP-SR-NEXT: sw a4, 84(a0)
+; RV32IZCMP-SR-NEXT: sw a5, 80(a0)
+; RV32IZCMP-SR-NEXT: sw s5, 76(a0)
+; RV32IZCMP-SR-NEXT: sw s4, 72(a0)
+; RV32IZCMP-SR-NEXT: sw s3, 68(a0)
+; RV32IZCMP-SR-NEXT: sw s2, 64(a0)
+; RV32IZCMP-SR-NEXT: sw s1, 60(a0)
+; RV32IZCMP-SR-NEXT: sw s0, 56(a0)
+; RV32IZCMP-SR-NEXT: sw t6, 52(a0)
+; RV32IZCMP-SR-NEXT: sw t5, 48(a0)
+; RV32IZCMP-SR-NEXT: sw t4, 44(a0)
+; RV32IZCMP-SR-NEXT: sw t3, 40(a0)
+; RV32IZCMP-SR-NEXT: sw t2, 36(a0)
+; RV32IZCMP-SR-NEXT: sw t1, 32(a0)
+; RV32IZCMP-SR-NEXT: sw t0, 28(a0)
+; RV32IZCMP-SR-NEXT: sw a7, 24(a0)
+; RV32IZCMP-SR-NEXT: sw a6, 20(a0)
; RV32IZCMP-SR-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IZCMP-SR-NEXT: sw a1, 16(a0)
; RV32IZCMP-SR-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -3656,60 +3656,60 @@ define void @callee_no_irq() {
; RV64IZCMP-SR-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IZCMP-SR-NEXT: lw a1, 16(a0)
; RV64IZCMP-SR-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IZCMP-SR-NEXT: lw t3, 20(a0)
-; RV64IZCMP-SR-NEXT: lw t4, 24(a0)
-; RV64IZCMP-SR-NEXT: lw t5, 28(a0)
-; RV64IZCMP-SR-NEXT: lw t6, 32(a0)
-; RV64IZCMP-SR-NEXT: lw s2, 36(a0)
-; RV64IZCMP-SR-NEXT: lw s3, 40(a0)
-; RV64IZCMP-SR-NEXT: lw s4, 44(a0)
-; RV64IZCMP-SR-NEXT: lw s5, 48(a0)
-; RV64IZCMP-SR-NEXT: lw s6, 52(a0)
-; RV64IZCMP-SR-NEXT: lw s7, 56(a0)
-; RV64IZCMP-SR-NEXT: lw s8, 60(a0)
-; RV64IZCMP-SR-NEXT: lw s9, 64(a0)
-; RV64IZCMP-SR-NEXT: lw s10, 68(a0)
-; RV64IZCMP-SR-NEXT: lw s11, 72(a0)
-; RV64IZCMP-SR-NEXT: lw ra, 76(a0)
-; RV64IZCMP-SR-NEXT: lw t0, 112(a0)
-; RV64IZCMP-SR-NEXT: lw s0, 116(a0)
-; RV64IZCMP-SR-NEXT: lw s1, 120(a0)
-; RV64IZCMP-SR-NEXT: lw a5, 124(a0)
-; RV64IZCMP-SR-NEXT: lw t1, 96(a0)
-; RV64IZCMP-SR-NEXT: lw a6, 100(a0)
-; RV64IZCMP-SR-NEXT: lw a3, 104(a0)
+; RV64IZCMP-SR-NEXT: lw a6, 20(a0)
+; RV64IZCMP-SR-NEXT: lw a7, 24(a0)
+; RV64IZCMP-SR-NEXT: lw t0, 28(a0)
+; RV64IZCMP-SR-NEXT: lw t1, 32(a0)
+; RV64IZCMP-SR-NEXT: lw t2, 36(a0)
+; RV64IZCMP-SR-NEXT: lw t3, 40(a0)
+; RV64IZCMP-SR-NEXT: lw t4, 44(a0)
+; RV64IZCMP-SR-NEXT: lw t5, 48(a0)
+; RV64IZCMP-SR-NEXT: lw t6, 52(a0)
+; RV64IZCMP-SR-NEXT: lw s0, 56(a0)
+; RV64IZCMP-SR-NEXT: lw s1, 60(a0)
+; RV64IZCMP-SR-NEXT: lw s2, 64(a0)
+; RV64IZCMP-SR-NEXT: lw s3, 68(a0)
+; RV64IZCMP-SR-NEXT: lw s4, 72(a0)
+; RV64IZCMP-SR-NEXT: lw s5, 76(a0)
+; RV64IZCMP-SR-NEXT: lw s6, 112(a0)
+; RV64IZCMP-SR-NEXT: lw s7, 116(a0)
+; RV64IZCMP-SR-NEXT: lw s8, 120(a0)
+; RV64IZCMP-SR-NEXT: lw s9, 124(a0)
+; RV64IZCMP-SR-NEXT: lw s10, 96(a0)
+; RV64IZCMP-SR-NEXT: lw s11, 100(a0)
+; RV64IZCMP-SR-NEXT: lw ra, 104(a0)
; RV64IZCMP-SR-NEXT: lw a1, 108(a0)
-; RV64IZCMP-SR-NEXT: lw t2, 80(a0)
-; RV64IZCMP-SR-NEXT: lw a7, 84(a0)
-; RV64IZCMP-SR-NEXT: lw a4, 88(a0)
+; RV64IZCMP-SR-NEXT: lw a5, 80(a0)
+; RV64IZCMP-SR-NEXT: lw a4, 84(a0)
+; RV64IZCMP-SR-NEXT: lw a3, 88(a0)
; RV64IZCMP-SR-NEXT: lw a2, 92(a0)
-; RV64IZCMP-SR-NEXT: sw a5, 124(a0)
-; RV64IZCMP-SR-NEXT: sw s1, 120(a0)
-; RV64IZCMP-SR-NEXT: sw s0, 116(a0)
-; RV64IZCMP-SR-NEXT: sw t0, 112(a0)
+; RV64IZCMP-SR-NEXT: sw s9, 124(a0)
+; RV64IZCMP-SR-NEXT: sw s8, 120(a0)
+; RV64IZCMP-SR-NEXT: sw s7, 116(a0)
+; RV64IZCMP-SR-NEXT: sw s6, 112(a0)
; RV64IZCMP-SR-NEXT: sw a1, 108(a0)
-; RV64IZCMP-SR-NEXT: sw a3, 104(a0)
-; RV64IZCMP-SR-NEXT: sw a6, 100(a0)
-; RV64IZCMP-SR-NEXT: sw t1, 96(a0)
+; RV64IZCMP-SR-NEXT: sw ra, 104(a0)
+; RV64IZCMP-SR-NEXT: sw s11, 100(a0)
+; RV64IZCMP-SR-NEXT: sw s10, 96(a0)
; RV64IZCMP-SR-NEXT: sw a2, 92(a0)
-; RV64IZCMP-SR-NEXT: sw a4, 88(a0)
-; RV64IZCMP-SR-NEXT: sw a7, 84(a0)
-; RV64IZCMP-SR-NEXT: sw t2, 80(a0)
-; RV64IZCMP-SR-NEXT: sw ra, 76(a0)
-; RV64IZCMP-SR-NEXT: sw s11, 72(a0)
-; RV64IZCMP-SR-NEXT: sw s10, 68(a0)
-; RV64IZCMP-SR-NEXT: sw s9, 64(a0)
-; RV64IZCMP-SR-NEXT: sw s8, 60(a0)
-; RV64IZCMP-SR-NEXT: sw s7, 56(a0)
-; RV64IZCMP-SR-NEXT: sw s6, 52(a0)
-; RV64IZCMP-SR-NEXT: sw s5, 48(a0)
-; RV64IZCMP-SR-NEXT: sw s4, 44(a0)
-; RV64IZCMP-SR-NEXT: sw s3, 40(a0)
-; RV64IZCMP-SR-NEXT: sw s2, 36(a0)
-; RV64IZCMP-SR-NEXT: sw t6, 32(a0)
-; RV64IZCMP-SR-NEXT: sw t5, 28(a0)
-; RV64IZCMP-SR-NEXT: sw t4, 24(a0)
-; RV64IZCMP-SR-NEXT: sw t3, 20(a0)
+; RV64IZCMP-SR-NEXT: sw a3, 88(a0)
+; RV64IZCMP-SR-NEXT: sw a4, 84(a0)
+; RV64IZCMP-SR-NEXT: sw a5, 80(a0)
+; RV64IZCMP-SR-NEXT: sw s5, 76(a0)
+; RV64IZCMP-SR-NEXT: sw s4, 72(a0)
+; RV64IZCMP-SR-NEXT: sw s3, 68(a0)
+; RV64IZCMP-SR-NEXT: sw s2, 64(a0)
+; RV64IZCMP-SR-NEXT: sw s1, 60(a0)
+; RV64IZCMP-SR-NEXT: sw s0, 56(a0)
+; RV64IZCMP-SR-NEXT: sw t6, 52(a0)
+; RV64IZCMP-SR-NEXT: sw t5, 48(a0)
+; RV64IZCMP-SR-NEXT: sw t4, 44(a0)
+; RV64IZCMP-SR-NEXT: sw t3, 40(a0)
+; RV64IZCMP-SR-NEXT: sw t2, 36(a0)
+; RV64IZCMP-SR-NEXT: sw t1, 32(a0)
+; RV64IZCMP-SR-NEXT: sw t0, 28(a0)
+; RV64IZCMP-SR-NEXT: sw a7, 24(a0)
+; RV64IZCMP-SR-NEXT: sw a6, 20(a0)
; RV64IZCMP-SR-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IZCMP-SR-NEXT: sw a1, 16(a0)
; RV64IZCMP-SR-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll b/llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
index 1caf2c110a46a..a16cc9ef87177 100644
--- a/llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+++ b/llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
@@ -1094,60 +1094,60 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-F-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; QCI-F-NEXT: lw a1, 16(a0)
; QCI-F-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; QCI-F-NEXT: lw t3, 20(a0)
-; QCI-F-NEXT: lw t4, 24(a0)
-; QCI-F-NEXT: lw t5, 28(a0)
-; QCI-F-NEXT: lw t6, 32(a0)
-; QCI-F-NEXT: lw s2, 36(a0)
-; QCI-F-NEXT: lw s3, 40(a0)
-; QCI-F-NEXT: lw s4, 44(a0)
-; QCI-F-NEXT: lw s5, 48(a0)
-; QCI-F-NEXT: lw s6, 52(a0)
-; QCI-F-NEXT: lw s7, 56(a0)
-; QCI-F-NEXT: lw s8, 60(a0)
-; QCI-F-NEXT: lw s9, 64(a0)
-; QCI-F-NEXT: lw s10, 68(a0)
-; QCI-F-NEXT: lw s11, 72(a0)
-; QCI-F-NEXT: lw ra, 76(a0)
-; QCI-F-NEXT: lw t0, 112(a0)
-; QCI-F-NEXT: lw s0, 116(a0)
-; QCI-F-NEXT: lw s1, 120(a0)
-; QCI-F-NEXT: lw a5, 124(a0)
-; QCI-F-NEXT: lw t1, 96(a0)
-; QCI-F-NEXT: lw a6, 100(a0)
-; QCI-F-NEXT: lw a3, 104(a0)
+; QCI-F-NEXT: lw a6, 20(a0)
+; QCI-F-NEXT: lw a7, 24(a0)
+; QCI-F-NEXT: lw t0, 28(a0)
+; QCI-F-NEXT: lw t1, 32(a0)
+; QCI-F-NEXT: lw t2, 36(a0)
+; QCI-F-NEXT: lw t3, 40(a0)
+; QCI-F-NEXT: lw t4, 44(a0)
+; QCI-F-NEXT: lw t5, 48(a0)
+; QCI-F-NEXT: lw t6, 52(a0)
+; QCI-F-NEXT: lw s0, 56(a0)
+; QCI-F-NEXT: lw s1, 60(a0)
+; QCI-F-NEXT: lw s2, 64(a0)
+; QCI-F-NEXT: lw s3, 68(a0)
+; QCI-F-NEXT: lw s4, 72(a0)
+; QCI-F-NEXT: lw s5, 76(a0)
+; QCI-F-NEXT: lw s6, 112(a0)
+; QCI-F-NEXT: lw s7, 116(a0)
+; QCI-F-NEXT: lw s8, 120(a0)
+; QCI-F-NEXT: lw s9, 124(a0)
+; QCI-F-NEXT: lw s10, 96(a0)
+; QCI-F-NEXT: lw s11, 100(a0)
+; QCI-F-NEXT: lw ra, 104(a0)
; QCI-F-NEXT: lw a1, 108(a0)
-; QCI-F-NEXT: lw t2, 80(a0)
-; QCI-F-NEXT: lw a7, 84(a0)
-; QCI-F-NEXT: lw a4, 88(a0)
+; QCI-F-NEXT: lw a5, 80(a0)
+; QCI-F-NEXT: lw a4, 84(a0)
+; QCI-F-NEXT: lw a3, 88(a0)
; QCI-F-NEXT: lw a2, 92(a0)
-; QCI-F-NEXT: sw a5, 124(a0)
-; QCI-F-NEXT: sw s1, 120(a0)
-; QCI-F-NEXT: sw s0, 116(a0)
-; QCI-F-NEXT: sw t0, 112(a0)
+; QCI-F-NEXT: sw s9, 124(a0)
+; QCI-F-NEXT: sw s8, 120(a0)
+; QCI-F-NEXT: sw s7, 116(a0)
+; QCI-F-NEXT: sw s6, 112(a0)
; QCI-F-NEXT: sw a1, 108(a0)
-; QCI-F-NEXT: sw a3, 104(a0)
-; QCI-F-NEXT: sw a6, 100(a0)
-; QCI-F-NEXT: sw t1, 96(a0)
+; QCI-F-NEXT: sw ra, 104(a0)
+; QCI-F-NEXT: sw s11, 100(a0)
+; QCI-F-NEXT: sw s10, 96(a0)
; QCI-F-NEXT: sw a2, 92(a0)
-; QCI-F-NEXT: sw a4, 88(a0)
-; QCI-F-NEXT: sw a7, 84(a0)
-; QCI-F-NEXT: sw t2, 80(a0)
-; QCI-F-NEXT: sw ra, 76(a0)
-; QCI-F-NEXT: sw s11, 72(a0)
-; QCI-F-NEXT: sw s10, 68(a0)
-; QCI-F-NEXT: sw s9, 64(a0)
-; QCI-F-NEXT: sw s8, 60(a0)
-; QCI-F-NEXT: sw s7, 56(a0)
-; QCI-F-NEXT: sw s6, 52(a0)
-; QCI-F-NEXT: sw s5, 48(a0)
-; QCI-F-NEXT: sw s4, 44(a0)
-; QCI-F-NEXT: sw s3, 40(a0)
-; QCI-F-NEXT: sw s2, 36(a0)
-; QCI-F-NEXT: sw t6, 32(a0)
-; QCI-F-NEXT: sw t5, 28(a0)
-; QCI-F-NEXT: sw t4, 24(a0)
-; QCI-F-NEXT: sw t3, 20(a0)
+; QCI-F-NEXT: sw a3, 88(a0)
+; QCI-F-NEXT: sw a4, 84(a0)
+; QCI-F-NEXT: sw a5, 80(a0)
+; QCI-F-NEXT: sw s5, 76(a0)
+; QCI-F-NEXT: sw s4, 72(a0)
+; QCI-F-NEXT: sw s3, 68(a0)
+; QCI-F-NEXT: sw s2, 64(a0)
+; QCI-F-NEXT: sw s1, 60(a0)
+; QCI-F-NEXT: sw s0, 56(a0)
+; QCI-F-NEXT: sw t6, 52(a0)
+; QCI-F-NEXT: sw t5, 48(a0)
+; QCI-F-NEXT: sw t4, 44(a0)
+; QCI-F-NEXT: sw t3, 40(a0)
+; QCI-F-NEXT: sw t2, 36(a0)
+; QCI-F-NEXT: sw t1, 32(a0)
+; QCI-F-NEXT: sw t0, 28(a0)
+; QCI-F-NEXT: sw a7, 24(a0)
+; QCI-F-NEXT: sw a6, 20(a0)
; QCI-F-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; QCI-F-NEXT: sw a1, 16(a0)
; QCI-F-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -1241,60 +1241,60 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-D-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; QCI-D-NEXT: lw a1, 16(a0)
; QCI-D-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; QCI-D-NEXT: lw t3, 20(a0)
-; QCI-D-NEXT: lw t4, 24(a0)
-; QCI-D-NEXT: lw t5, 28(a0)
-; QCI-D-NEXT: lw t6, 32(a0)
-; QCI-D-NEXT: lw s2, 36(a0)
-; QCI-D-NEXT: lw s3, 40(a0)
-; QCI-D-NEXT: lw s4, 44(a0)
-; QCI-D-NEXT: lw s5, 48(a0)
-; QCI-D-NEXT: lw s6, 52(a0)
-; QCI-D-NEXT: lw s7, 56(a0)
-; QCI-D-NEXT: lw s8, 60(a0)
-; QCI-D-NEXT: lw s9, 64(a0)
-; QCI-D-NEXT: lw s10, 68(a0)
-; QCI-D-NEXT: lw s11, 72(a0)
-; QCI-D-NEXT: lw ra, 76(a0)
-; QCI-D-NEXT: lw t0, 112(a0)
-; QCI-D-NEXT: lw s0, 116(a0)
-; QCI-D-NEXT: lw s1, 120(a0)
-; QCI-D-NEXT: lw a5, 124(a0)
-; QCI-D-NEXT: lw t1, 96(a0)
-; QCI-D-NEXT: lw a6, 100(a0)
-; QCI-D-NEXT: lw a3, 104(a0)
+; QCI-D-NEXT: lw a6, 20(a0)
+; QCI-D-NEXT: lw a7, 24(a0)
+; QCI-D-NEXT: lw t0, 28(a0)
+; QCI-D-NEXT: lw t1, 32(a0)
+; QCI-D-NEXT: lw t2, 36(a0)
+; QCI-D-NEXT: lw t3, 40(a0)
+; QCI-D-NEXT: lw t4, 44(a0)
+; QCI-D-NEXT: lw t5, 48(a0)
+; QCI-D-NEXT: lw t6, 52(a0)
+; QCI-D-NEXT: lw s0, 56(a0)
+; QCI-D-NEXT: lw s1, 60(a0)
+; QCI-D-NEXT: lw s2, 64(a0)
+; QCI-D-NEXT: lw s3, 68(a0)
+; QCI-D-NEXT: lw s4, 72(a0)
+; QCI-D-NEXT: lw s5, 76(a0)
+; QCI-D-NEXT: lw s6, 112(a0)
+; QCI-D-NEXT: lw s7, 116(a0)
+; QCI-D-NEXT: lw s8, 120(a0)
+; QCI-D-NEXT: lw s9, 124(a0)
+; QCI-D-NEXT: lw s10, 96(a0)
+; QCI-D-NEXT: lw s11, 100(a0)
+; QCI-D-NEXT: lw ra, 104(a0)
; QCI-D-NEXT: lw a1, 108(a0)
-; QCI-D-NEXT: lw t2, 80(a0)
-; QCI-D-NEXT: lw a7, 84(a0)
-; QCI-D-NEXT: lw a4, 88(a0)
+; QCI-D-NEXT: lw a5, 80(a0)
+; QCI-D-NEXT: lw a4, 84(a0)
+; QCI-D-NEXT: lw a3, 88(a0)
; QCI-D-NEXT: lw a2, 92(a0)
-; QCI-D-NEXT: sw a5, 124(a0)
-; QCI-D-NEXT: sw s1, 120(a0)
-; QCI-D-NEXT: sw s0, 116(a0)
-; QCI-D-NEXT: sw t0, 112(a0)
+; QCI-D-NEXT: sw s9, 124(a0)
+; QCI-D-NEXT: sw s8, 120(a0)
+; QCI-D-NEXT: sw s7, 116(a0)
+; QCI-D-NEXT: sw s6, 112(a0)
; QCI-D-NEXT: sw a1, 108(a0)
-; QCI-D-NEXT: sw a3, 104(a0)
-; QCI-D-NEXT: sw a6, 100(a0)
-; QCI-D-NEXT: sw t1, 96(a0)
+; QCI-D-NEXT: sw ra, 104(a0)
+; QCI-D-NEXT: sw s11, 100(a0)
+; QCI-D-NEXT: sw s10, 96(a0)
; QCI-D-NEXT: sw a2, 92(a0)
-; QCI-D-NEXT: sw a4, 88(a0)
-; QCI-D-NEXT: sw a7, 84(a0)
-; QCI-D-NEXT: sw t2, 80(a0)
-; QCI-D-NEXT: sw ra, 76(a0)
-; QCI-D-NEXT: sw s11, 72(a0)
-; QCI-D-NEXT: sw s10, 68(a0)
-; QCI-D-NEXT: sw s9, 64(a0)
-; QCI-D-NEXT: sw s8, 60(a0)
-; QCI-D-NEXT: sw s7, 56(a0)
-; QCI-D-NEXT: sw s6, 52(a0)
-; QCI-D-NEXT: sw s5, 48(a0)
-; QCI-D-NEXT: sw s4, 44(a0)
-; QCI-D-NEXT: sw s3, 40(a0)
-; QCI-D-NEXT: sw s2, 36(a0)
-; QCI-D-NEXT: sw t6, 32(a0)
-; QCI-D-NEXT: sw t5, 28(a0)
-; QCI-D-NEXT: sw t4, 24(a0)
-; QCI-D-NEXT: sw t3, 20(a0)
+; QCI-D-NEXT: sw a3, 88(a0)
+; QCI-D-NEXT: sw a4, 84(a0)
+; QCI-D-NEXT: sw a5, 80(a0)
+; QCI-D-NEXT: sw s5, 76(a0)
+; QCI-D-NEXT: sw s4, 72(a0)
+; QCI-D-NEXT: sw s3, 68(a0)
+; QCI-D-NEXT: sw s2, 64(a0)
+; QCI-D-NEXT: sw s1, 60(a0)
+; QCI-D-NEXT: sw s0, 56(a0)
+; QCI-D-NEXT: sw t6, 52(a0)
+; QCI-D-NEXT: sw t5, 48(a0)
+; QCI-D-NEXT: sw t4, 44(a0)
+; QCI-D-NEXT: sw t3, 40(a0)
+; QCI-D-NEXT: sw t2, 36(a0)
+; QCI-D-NEXT: sw t1, 32(a0)
+; QCI-D-NEXT: sw t0, 28(a0)
+; QCI-D-NEXT: sw a7, 24(a0)
+; QCI-D-NEXT: sw a6, 20(a0)
; QCI-D-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; QCI-D-NEXT: sw a1, 16(a0)
; QCI-D-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -1393,60 +1393,60 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-F-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; QCI-F-NEXT: lw a1, 16(a0)
; QCI-F-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; QCI-F-NEXT: lw t3, 20(a0)
-; QCI-F-NEXT: lw t4, 24(a0)
-; QCI-F-NEXT: lw t5, 28(a0)
-; QCI-F-NEXT: lw t6, 32(a0)
-; QCI-F-NEXT: lw s2, 36(a0)
-; QCI-F-NEXT: lw s3, 40(a0)
-; QCI-F-NEXT: lw s4, 44(a0)
-; QCI-F-NEXT: lw s5, 48(a0)
-; QCI-F-NEXT: lw s6, 52(a0)
-; QCI-F-NEXT: lw s7, 56(a0)
-; QCI-F-NEXT: lw s8, 60(a0)
-; QCI-F-NEXT: lw s9, 64(a0)
-; QCI-F-NEXT: lw s10, 68(a0)
-; QCI-F-NEXT: lw s11, 72(a0)
-; QCI-F-NEXT: lw ra, 76(a0)
-; QCI-F-NEXT: lw t0, 112(a0)
-; QCI-F-NEXT: lw s0, 116(a0)
-; QCI-F-NEXT: lw s1, 120(a0)
-; QCI-F-NEXT: lw a5, 124(a0)
-; QCI-F-NEXT: lw t1, 96(a0)
-; QCI-F-NEXT: lw a6, 100(a0)
-; QCI-F-NEXT: lw a3, 104(a0)
+; QCI-F-NEXT: lw a6, 20(a0)
+; QCI-F-NEXT: lw a7, 24(a0)
+; QCI-F-NEXT: lw t0, 28(a0)
+; QCI-F-NEXT: lw t1, 32(a0)
+; QCI-F-NEXT: lw t2, 36(a0)
+; QCI-F-NEXT: lw t3, 40(a0)
+; QCI-F-NEXT: lw t4, 44(a0)
+; QCI-F-NEXT: lw t5, 48(a0)
+; QCI-F-NEXT: lw t6, 52(a0)
+; QCI-F-NEXT: lw s0, 56(a0)
+; QCI-F-NEXT: lw s1, 60(a0)
+; QCI-F-NEXT: lw s2, 64(a0)
+; QCI-F-NEXT: lw s3, 68(a0)
+; QCI-F-NEXT: lw s4, 72(a0)
+; QCI-F-NEXT: lw s5, 76(a0)
+; QCI-F-NEXT: lw s6, 112(a0)
+; QCI-F-NEXT: lw s7, 116(a0)
+; QCI-F-NEXT: lw s8, 120(a0)
+; QCI-F-NEXT: lw s9, 124(a0)
+; QCI-F-NEXT: lw s10, 96(a0)
+; QCI-F-NEXT: lw s11, 100(a0)
+; QCI-F-NEXT: lw ra, 104(a0)
; QCI-F-NEXT: lw a1, 108(a0)
-; QCI-F-NEXT: lw t2, 80(a0)
-; QCI-F-NEXT: lw a7, 84(a0)
-; QCI-F-NEXT: lw a4, 88(a0)
+; QCI-F-NEXT: lw a5, 80(a0)
+; QCI-F-NEXT: lw a4, 84(a0)
+; QCI-F-NEXT: lw a3, 88(a0)
; QCI-F-NEXT: lw a2, 92(a0)
-; QCI-F-NEXT: sw a5, 124(a0)
-; QCI-F-NEXT: sw s1, 120(a0)
-; QCI-F-NEXT: sw s0, 116(a0)
-; QCI-F-NEXT: sw t0, 112(a0)
+; QCI-F-NEXT: sw s9, 124(a0)
+; QCI-F-NEXT: sw s8, 120(a0)
+; QCI-F-NEXT: sw s7, 116(a0)
+; QCI-F-NEXT: sw s6, 112(a0)
; QCI-F-NEXT: sw a1, 108(a0)
-; QCI-F-NEXT: sw a3, 104(a0)
-; QCI-F-NEXT: sw a6, 100(a0)
-; QCI-F-NEXT: sw t1, 96(a0)
+; QCI-F-NEXT: sw ra, 104(a0)
+; QCI-F-NEXT: sw s11, 100(a0)
+; QCI-F-NEXT: sw s10, 96(a0)
; QCI-F-NEXT: sw a2, 92(a0)
-; QCI-F-NEXT: sw a4, 88(a0)
-; QCI-F-NEXT: sw a7, 84(a0)
-; QCI-F-NEXT: sw t2, 80(a0)
-; QCI-F-NEXT: sw ra, 76(a0)
-; QCI-F-NEXT: sw s11, 72(a0)
-; QCI-F-NEXT: sw s10, 68(a0)
-; QCI-F-NEXT: sw s9, 64(a0)
-; QCI-F-NEXT: sw s8, 60(a0)
-; QCI-F-NEXT: sw s7, 56(a0)
-; QCI-F-NEXT: sw s6, 52(a0)
-; QCI-F-NEXT: sw s5, 48(a0)
-; QCI-F-NEXT: sw s4, 44(a0)
-; QCI-F-NEXT: sw s3, 40(a0)
-; QCI-F-NEXT: sw s2, 36(a0)
-; QCI-F-NEXT: sw t6, 32(a0)
-; QCI-F-NEXT: sw t5, 28(a0)
-; QCI-F-NEXT: sw t4, 24(a0)
-; QCI-F-NEXT: sw t3, 20(a0)
+; QCI-F-NEXT: sw a3, 88(a0)
+; QCI-F-NEXT: sw a4, 84(a0)
+; QCI-F-NEXT: sw a5, 80(a0)
+; QCI-F-NEXT: sw s5, 76(a0)
+; QCI-F-NEXT: sw s4, 72(a0)
+; QCI-F-NEXT: sw s3, 68(a0)
+; QCI-F-NEXT: sw s2, 64(a0)
+; QCI-F-NEXT: sw s1, 60(a0)
+; QCI-F-NEXT: sw s0, 56(a0)
+; QCI-F-NEXT: sw t6, 52(a0)
+; QCI-F-NEXT: sw t5, 48(a0)
+; QCI-F-NEXT: sw t4, 44(a0)
+; QCI-F-NEXT: sw t3, 40(a0)
+; QCI-F-NEXT: sw t2, 36(a0)
+; QCI-F-NEXT: sw t1, 32(a0)
+; QCI-F-NEXT: sw t0, 28(a0)
+; QCI-F-NEXT: sw a7, 24(a0)
+; QCI-F-NEXT: sw a6, 20(a0)
; QCI-F-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; QCI-F-NEXT: sw a1, 16(a0)
; QCI-F-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -1540,60 +1540,60 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-D-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; QCI-D-NEXT: lw a1, 16(a0)
; QCI-D-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; QCI-D-NEXT: lw t3, 20(a0)
-; QCI-D-NEXT: lw t4, 24(a0)
-; QCI-D-NEXT: lw t5, 28(a0)
-; QCI-D-NEXT: lw t6, 32(a0)
-; QCI-D-NEXT: lw s2, 36(a0)
-; QCI-D-NEXT: lw s3, 40(a0)
-; QCI-D-NEXT: lw s4, 44(a0)
-; QCI-D-NEXT: lw s5, 48(a0)
-; QCI-D-NEXT: lw s6, 52(a0)
-; QCI-D-NEXT: lw s7, 56(a0)
-; QCI-D-NEXT: lw s8, 60(a0)
-; QCI-D-NEXT: lw s9, 64(a0)
-; QCI-D-NEXT: lw s10, 68(a0)
-; QCI-D-NEXT: lw s11, 72(a0)
-; QCI-D-NEXT: lw ra, 76(a0)
-; QCI-D-NEXT: lw t0, 112(a0)
-; QCI-D-NEXT: lw s0, 116(a0)
-; QCI-D-NEXT: lw s1, 120(a0)
-; QCI-D-NEXT: lw a5, 124(a0)
-; QCI-D-NEXT: lw t1, 96(a0)
-; QCI-D-NEXT: lw a6, 100(a0)
-; QCI-D-NEXT: lw a3, 104(a0)
+; QCI-D-NEXT: lw a6, 20(a0)
+; QCI-D-NEXT: lw a7, 24(a0)
+; QCI-D-NEXT: lw t0, 28(a0)
+; QCI-D-NEXT: lw t1, 32(a0)
+; QCI-D-NEXT: lw t2, 36(a0)
+; QCI-D-NEXT: lw t3, 40(a0)
+; QCI-D-NEXT: lw t4, 44(a0)
+; QCI-D-NEXT: lw t5, 48(a0)
+; QCI-D-NEXT: lw t6, 52(a0)
+; QCI-D-NEXT: lw s0, 56(a0)
+; QCI-D-NEXT: lw s1, 60(a0)
+; QCI-D-NEXT: lw s2, 64(a0)
+; QCI-D-NEXT: lw s3, 68(a0)
+; QCI-D-NEXT: lw s4, 72(a0)
+; QCI-D-NEXT: lw s5, 76(a0)
+; QCI-D-NEXT: lw s6, 112(a0)
+; QCI-D-NEXT: lw s7, 116(a0)
+; QCI-D-NEXT: lw s8, 120(a0)
+; QCI-D-NEXT: lw s9, 124(a0)
+; QCI-D-NEXT: lw s10, 96(a0)
+; QCI-D-NEXT: lw s11, 100(a0)
+; QCI-D-NEXT: lw ra, 104(a0)
; QCI-D-NEXT: lw a1, 108(a0)
-; QCI-D-NEXT: lw t2, 80(a0)
-; QCI-D-NEXT: lw a7, 84(a0)
-; QCI-D-NEXT: lw a4, 88(a0)
+; QCI-D-NEXT: lw a5, 80(a0)
+; QCI-D-NEXT: lw a4, 84(a0)
+; QCI-D-NEXT: lw a3, 88(a0)
; QCI-D-NEXT: lw a2, 92(a0)
-; QCI-D-NEXT: sw a5, 124(a0)
-; QCI-D-NEXT: sw s1, 120(a0)
-; QCI-D-NEXT: sw s0, 116(a0)
-; QCI-D-NEXT: sw t0, 112(a0)
+; QCI-D-NEXT: sw s9, 124(a0)
+; QCI-D-NEXT: sw s8, 120(a0)
+; QCI-D-NEXT: sw s7, 116(a0)
+; QCI-D-NEXT: sw s6, 112(a0)
; QCI-D-NEXT: sw a1, 108(a0)
-; QCI-D-NEXT: sw a3, 104(a0)
-; QCI-D-NEXT: sw a6, 100(a0)
-; QCI-D-NEXT: sw t1, 96(a0)
+; QCI-D-NEXT: sw ra, 104(a0)
+; QCI-D-NEXT: sw s11, 100(a0)
+; QCI-D-NEXT: sw s10, 96(a0)
; QCI-D-NEXT: sw a2, 92(a0)
-; QCI-D-NEXT: sw a4, 88(a0)
-; QCI-D-NEXT: sw a7, 84(a0)
-; QCI-D-NEXT: sw t2, 80(a0)
-; QCI-D-NEXT: sw ra, 76(a0)
-; QCI-D-NEXT: sw s11, 72(a0)
-; QCI-D-NEXT: sw s10, 68(a0)
-; QCI-D-NEXT: sw s9, 64(a0)
-; QCI-D-NEXT: sw s8, 60(a0)
-; QCI-D-NEXT: sw s7, 56(a0)
-; QCI-D-NEXT: sw s6, 52(a0)
-; QCI-D-NEXT: sw s5, 48(a0)
-; QCI-D-NEXT: sw s4, 44(a0)
-; QCI-D-NEXT: sw s3, 40(a0)
-; QCI-D-NEXT: sw s2, 36(a0)
-; QCI-D-NEXT: sw t6, 32(a0)
-; QCI-D-NEXT: sw t5, 28(a0)
-; QCI-D-NEXT: sw t4, 24(a0)
-; QCI-D-NEXT: sw t3, 20(a0)
+; QCI-D-NEXT: sw a3, 88(a0)
+; QCI-D-NEXT: sw a4, 84(a0)
+; QCI-D-NEXT: sw a5, 80(a0)
+; QCI-D-NEXT: sw s5, 76(a0)
+; QCI-D-NEXT: sw s4, 72(a0)
+; QCI-D-NEXT: sw s3, 68(a0)
+; QCI-D-NEXT: sw s2, 64(a0)
+; QCI-D-NEXT: sw s1, 60(a0)
+; QCI-D-NEXT: sw s0, 56(a0)
+; QCI-D-NEXT: sw t6, 52(a0)
+; QCI-D-NEXT: sw t5, 48(a0)
+; QCI-D-NEXT: sw t4, 44(a0)
+; QCI-D-NEXT: sw t3, 40(a0)
+; QCI-D-NEXT: sw t2, 36(a0)
+; QCI-D-NEXT: sw t1, 32(a0)
+; QCI-D-NEXT: sw t0, 28(a0)
+; QCI-D-NEXT: sw a7, 24(a0)
+; QCI-D-NEXT: sw a6, 20(a0)
; QCI-D-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; QCI-D-NEXT: sw a1, 16(a0)
; QCI-D-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -1764,17 +1764,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-F-NEXT: sw a0, 20(sp) # 4-byte Folded Spill
; QCI-F-NEXT: lw a0, 80(s0)
; QCI-F-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
-; QCI-F-NEXT: lw s1, 84(s0)
-; QCI-F-NEXT: lw s2, 88(s0)
-; QCI-F-NEXT: lw s3, 92(s0)
-; QCI-F-NEXT: lw s4, 96(s0)
-; QCI-F-NEXT: lw s5, 100(s0)
-; QCI-F-NEXT: lw s6, 104(s0)
-; QCI-F-NEXT: lw s7, 108(s0)
-; QCI-F-NEXT: lw s8, 112(s0)
-; QCI-F-NEXT: lw s9, 116(s0)
-; QCI-F-NEXT: lw s10, 120(s0)
-; QCI-F-NEXT: lw s11, 124(s0)
+; QCI-F-NEXT: lw s11, 84(s0)
+; QCI-F-NEXT: lw s1, 88(s0)
+; QCI-F-NEXT: lw s2, 92(s0)
+; QCI-F-NEXT: lw s3, 96(s0)
+; QCI-F-NEXT: lw s4, 100(s0)
+; QCI-F-NEXT: lw s5, 104(s0)
+; QCI-F-NEXT: lw s6, 108(s0)
+; QCI-F-NEXT: lw s7, 112(s0)
+; QCI-F-NEXT: lw s8, 116(s0)
+; QCI-F-NEXT: lw s9, 120(s0)
+; QCI-F-NEXT: lw s10, 124(s0)
; QCI-F-NEXT: li a1, 0
; QCI-F-NEXT: li a3, 0
; QCI-F-NEXT: li a5, 0
@@ -1805,17 +1805,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-F-NEXT: sw t0, 4(sp)
; QCI-F-NEXT: call function_with_one_stack_arg
; QCI-F-NEXT: call use_float
-; QCI-F-NEXT: sw s11, 124(s0)
-; QCI-F-NEXT: sw s10, 120(s0)
-; QCI-F-NEXT: sw s9, 116(s0)
-; QCI-F-NEXT: sw s8, 112(s0)
-; QCI-F-NEXT: sw s7, 108(s0)
-; QCI-F-NEXT: sw s6, 104(s0)
-; QCI-F-NEXT: sw s5, 100(s0)
-; QCI-F-NEXT: sw s4, 96(s0)
-; QCI-F-NEXT: sw s3, 92(s0)
-; QCI-F-NEXT: sw s2, 88(s0)
-; QCI-F-NEXT: sw s1, 84(s0)
+; QCI-F-NEXT: sw s10, 124(s0)
+; QCI-F-NEXT: sw s9, 120(s0)
+; QCI-F-NEXT: sw s8, 116(s0)
+; QCI-F-NEXT: sw s7, 112(s0)
+; QCI-F-NEXT: sw s6, 108(s0)
+; QCI-F-NEXT: sw s5, 104(s0)
+; QCI-F-NEXT: sw s4, 100(s0)
+; QCI-F-NEXT: sw s3, 96(s0)
+; QCI-F-NEXT: sw s2, 92(s0)
+; QCI-F-NEXT: sw s1, 88(s0)
+; QCI-F-NEXT: sw s11, 84(s0)
; QCI-F-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
; QCI-F-NEXT: sw a0, 80(s0)
; QCI-F-NEXT: lw a0, 20(sp) # 4-byte Folded Reload
@@ -2053,17 +2053,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-D-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; QCI-D-NEXT: lw a0, 80(s0)
; QCI-D-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; QCI-D-NEXT: lw s1, 84(s0)
-; QCI-D-NEXT: lw s2, 88(s0)
-; QCI-D-NEXT: lw s3, 92(s0)
-; QCI-D-NEXT: lw s4, 96(s0)
-; QCI-D-NEXT: lw s5, 100(s0)
-; QCI-D-NEXT: lw s6, 104(s0)
-; QCI-D-NEXT: lw s7, 108(s0)
-; QCI-D-NEXT: lw s8, 112(s0)
-; QCI-D-NEXT: lw s9, 116(s0)
-; QCI-D-NEXT: lw s10, 120(s0)
-; QCI-D-NEXT: lw s11, 124(s0)
+; QCI-D-NEXT: lw s11, 84(s0)
+; QCI-D-NEXT: lw s1, 88(s0)
+; QCI-D-NEXT: lw s2, 92(s0)
+; QCI-D-NEXT: lw s3, 96(s0)
+; QCI-D-NEXT: lw s4, 100(s0)
+; QCI-D-NEXT: lw s5, 104(s0)
+; QCI-D-NEXT: lw s6, 108(s0)
+; QCI-D-NEXT: lw s7, 112(s0)
+; QCI-D-NEXT: lw s8, 116(s0)
+; QCI-D-NEXT: lw s9, 120(s0)
+; QCI-D-NEXT: lw s10, 124(s0)
; QCI-D-NEXT: li a1, 0
; QCI-D-NEXT: li a3, 0
; QCI-D-NEXT: li a5, 0
@@ -2094,17 +2094,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-D-NEXT: sw t0, 4(sp)
; QCI-D-NEXT: call function_with_one_stack_arg
; QCI-D-NEXT: call use_float
-; QCI-D-NEXT: sw s11, 124(s0)
-; QCI-D-NEXT: sw s10, 120(s0)
-; QCI-D-NEXT: sw s9, 116(s0)
-; QCI-D-NEXT: sw s8, 112(s0)
-; QCI-D-NEXT: sw s7, 108(s0)
-; QCI-D-NEXT: sw s6, 104(s0)
-; QCI-D-NEXT: sw s5, 100(s0)
-; QCI-D-NEXT: sw s4, 96(s0)
-; QCI-D-NEXT: sw s3, 92(s0)
-; QCI-D-NEXT: sw s2, 88(s0)
-; QCI-D-NEXT: sw s1, 84(s0)
+; QCI-D-NEXT: sw s10, 124(s0)
+; QCI-D-NEXT: sw s9, 120(s0)
+; QCI-D-NEXT: sw s8, 116(s0)
+; QCI-D-NEXT: sw s7, 112(s0)
+; QCI-D-NEXT: sw s6, 108(s0)
+; QCI-D-NEXT: sw s5, 104(s0)
+; QCI-D-NEXT: sw s4, 100(s0)
+; QCI-D-NEXT: sw s3, 96(s0)
+; QCI-D-NEXT: sw s2, 92(s0)
+; QCI-D-NEXT: sw s1, 88(s0)
+; QCI-D-NEXT: sw s11, 84(s0)
; QCI-D-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; QCI-D-NEXT: sw a0, 80(s0)
; QCI-D-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
@@ -2349,17 +2349,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-F-NEXT: sw a0, 20(sp) # 4-byte Folded Spill
; QCI-F-NEXT: lw a0, 80(s0)
; QCI-F-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
-; QCI-F-NEXT: lw s1, 84(s0)
-; QCI-F-NEXT: lw s2, 88(s0)
-; QCI-F-NEXT: lw s3, 92(s0)
-; QCI-F-NEXT: lw s4, 96(s0)
-; QCI-F-NEXT: lw s5, 100(s0)
-; QCI-F-NEXT: lw s6, 104(s0)
-; QCI-F-NEXT: lw s7, 108(s0)
-; QCI-F-NEXT: lw s8, 112(s0)
-; QCI-F-NEXT: lw s9, 116(s0)
-; QCI-F-NEXT: lw s10, 120(s0)
-; QCI-F-NEXT: lw s11, 124(s0)
+; QCI-F-NEXT: lw s11, 84(s0)
+; QCI-F-NEXT: lw s1, 88(s0)
+; QCI-F-NEXT: lw s2, 92(s0)
+; QCI-F-NEXT: lw s3, 96(s0)
+; QCI-F-NEXT: lw s4, 100(s0)
+; QCI-F-NEXT: lw s5, 104(s0)
+; QCI-F-NEXT: lw s6, 108(s0)
+; QCI-F-NEXT: lw s7, 112(s0)
+; QCI-F-NEXT: lw s8, 116(s0)
+; QCI-F-NEXT: lw s9, 120(s0)
+; QCI-F-NEXT: lw s10, 124(s0)
; QCI-F-NEXT: li a1, 0
; QCI-F-NEXT: li a3, 0
; QCI-F-NEXT: li a5, 0
@@ -2390,17 +2390,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-F-NEXT: sw t0, 4(sp)
; QCI-F-NEXT: call function_with_one_stack_arg
; QCI-F-NEXT: call use_float
-; QCI-F-NEXT: sw s11, 124(s0)
-; QCI-F-NEXT: sw s10, 120(s0)
-; QCI-F-NEXT: sw s9, 116(s0)
-; QCI-F-NEXT: sw s8, 112(s0)
-; QCI-F-NEXT: sw s7, 108(s0)
-; QCI-F-NEXT: sw s6, 104(s0)
-; QCI-F-NEXT: sw s5, 100(s0)
-; QCI-F-NEXT: sw s4, 96(s0)
-; QCI-F-NEXT: sw s3, 92(s0)
-; QCI-F-NEXT: sw s2, 88(s0)
-; QCI-F-NEXT: sw s1, 84(s0)
+; QCI-F-NEXT: sw s10, 124(s0)
+; QCI-F-NEXT: sw s9, 120(s0)
+; QCI-F-NEXT: sw s8, 116(s0)
+; QCI-F-NEXT: sw s7, 112(s0)
+; QCI-F-NEXT: sw s6, 108(s0)
+; QCI-F-NEXT: sw s5, 104(s0)
+; QCI-F-NEXT: sw s4, 100(s0)
+; QCI-F-NEXT: sw s3, 96(s0)
+; QCI-F-NEXT: sw s2, 92(s0)
+; QCI-F-NEXT: sw s1, 88(s0)
+; QCI-F-NEXT: sw s11, 84(s0)
; QCI-F-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
; QCI-F-NEXT: sw a0, 80(s0)
; QCI-F-NEXT: lw a0, 20(sp) # 4-byte Folded Reload
@@ -2638,17 +2638,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-D-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; QCI-D-NEXT: lw a0, 80(s0)
; QCI-D-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; QCI-D-NEXT: lw s1, 84(s0)
-; QCI-D-NEXT: lw s2, 88(s0)
-; QCI-D-NEXT: lw s3, 92(s0)
-; QCI-D-NEXT: lw s4, 96(s0)
-; QCI-D-NEXT: lw s5, 100(s0)
-; QCI-D-NEXT: lw s6, 104(s0)
-; QCI-D-NEXT: lw s7, 108(s0)
-; QCI-D-NEXT: lw s8, 112(s0)
-; QCI-D-NEXT: lw s9, 116(s0)
-; QCI-D-NEXT: lw s10, 120(s0)
-; QCI-D-NEXT: lw s11, 124(s0)
+; QCI-D-NEXT: lw s11, 84(s0)
+; QCI-D-NEXT: lw s1, 88(s0)
+; QCI-D-NEXT: lw s2, 92(s0)
+; QCI-D-NEXT: lw s3, 96(s0)
+; QCI-D-NEXT: lw s4, 100(s0)
+; QCI-D-NEXT: lw s5, 104(s0)
+; QCI-D-NEXT: lw s6, 108(s0)
+; QCI-D-NEXT: lw s7, 112(s0)
+; QCI-D-NEXT: lw s8, 116(s0)
+; QCI-D-NEXT: lw s9, 120(s0)
+; QCI-D-NEXT: lw s10, 124(s0)
; QCI-D-NEXT: li a1, 0
; QCI-D-NEXT: li a3, 0
; QCI-D-NEXT: li a5, 0
@@ -2679,17 +2679,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-D-NEXT: sw t0, 4(sp)
; QCI-D-NEXT: call function_with_one_stack_arg
; QCI-D-NEXT: call use_float
-; QCI-D-NEXT: sw s11, 124(s0)
-; QCI-D-NEXT: sw s10, 120(s0)
-; QCI-D-NEXT: sw s9, 116(s0)
-; QCI-D-NEXT: sw s8, 112(s0)
-; QCI-D-NEXT: sw s7, 108(s0)
-; QCI-D-NEXT: sw s6, 104(s0)
-; QCI-D-NEXT: sw s5, 100(s0)
-; QCI-D-NEXT: sw s4, 96(s0)
-; QCI-D-NEXT: sw s3, 92(s0)
-; QCI-D-NEXT: sw s2, 88(s0)
-; QCI-D-NEXT: sw s1, 84(s0)
+; QCI-D-NEXT: sw s10, 124(s0)
+; QCI-D-NEXT: sw s9, 120(s0)
+; QCI-D-NEXT: sw s8, 116(s0)
+; QCI-D-NEXT: sw s7, 112(s0)
+; QCI-D-NEXT: sw s6, 108(s0)
+; QCI-D-NEXT: sw s5, 104(s0)
+; QCI-D-NEXT: sw s4, 100(s0)
+; QCI-D-NEXT: sw s3, 96(s0)
+; QCI-D-NEXT: sw s2, 92(s0)
+; QCI-D-NEXT: sw s1, 88(s0)
+; QCI-D-NEXT: sw s11, 84(s0)
; QCI-D-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; QCI-D-NEXT: sw a0, 80(s0)
; QCI-D-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll b/llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
index 0a9decc4f9e85..8551b7813862f 100644
--- a/llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+++ b/llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
@@ -1045,60 +1045,60 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; QCI-NEXT: lw a1, 16(a0)
; QCI-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; QCI-NEXT: lw t3, 20(a0)
-; QCI-NEXT: lw t4, 24(a0)
-; QCI-NEXT: lw t5, 28(a0)
-; QCI-NEXT: lw t6, 32(a0)
-; QCI-NEXT: lw s2, 36(a0)
-; QCI-NEXT: lw s3, 40(a0)
-; QCI-NEXT: lw s4, 44(a0)
-; QCI-NEXT: lw s5, 48(a0)
-; QCI-NEXT: lw s6, 52(a0)
-; QCI-NEXT: lw s7, 56(a0)
-; QCI-NEXT: lw s8, 60(a0)
-; QCI-NEXT: lw s9, 64(a0)
-; QCI-NEXT: lw s10, 68(a0)
-; QCI-NEXT: lw s11, 72(a0)
-; QCI-NEXT: lw ra, 76(a0)
-; QCI-NEXT: lw t0, 112(a0)
-; QCI-NEXT: lw s0, 116(a0)
-; QCI-NEXT: lw s1, 120(a0)
-; QCI-NEXT: lw a5, 124(a0)
-; QCI-NEXT: lw t1, 96(a0)
-; QCI-NEXT: lw a6, 100(a0)
-; QCI-NEXT: lw a3, 104(a0)
+; QCI-NEXT: lw a6, 20(a0)
+; QCI-NEXT: lw a7, 24(a0)
+; QCI-NEXT: lw t0, 28(a0)
+; QCI-NEXT: lw t1, 32(a0)
+; QCI-NEXT: lw t2, 36(a0)
+; QCI-NEXT: lw t3, 40(a0)
+; QCI-NEXT: lw t4, 44(a0)
+; QCI-NEXT: lw t5, 48(a0)
+; QCI-NEXT: lw t6, 52(a0)
+; QCI-NEXT: lw s0, 56(a0)
+; QCI-NEXT: lw s1, 60(a0)
+; QCI-NEXT: lw s2, 64(a0)
+; QCI-NEXT: lw s3, 68(a0)
+; QCI-NEXT: lw s4, 72(a0)
+; QCI-NEXT: lw s5, 76(a0)
+; QCI-NEXT: lw s6, 112(a0)
+; QCI-NEXT: lw s7, 116(a0)
+; QCI-NEXT: lw s8, 120(a0)
+; QCI-NEXT: lw s9, 124(a0)
+; QCI-NEXT: lw s10, 96(a0)
+; QCI-NEXT: lw s11, 100(a0)
+; QCI-NEXT: lw ra, 104(a0)
; QCI-NEXT: lw a1, 108(a0)
-; QCI-NEXT: lw t2, 80(a0)
-; QCI-NEXT: lw a7, 84(a0)
-; QCI-NEXT: lw a4, 88(a0)
+; QCI-NEXT: lw a5, 80(a0)
+; QCI-NEXT: lw a4, 84(a0)
+; QCI-NEXT: lw a3, 88(a0)
; QCI-NEXT: lw a2, 92(a0)
-; QCI-NEXT: sw a5, 124(a0)
-; QCI-NEXT: sw s1, 120(a0)
-; QCI-NEXT: sw s0, 116(a0)
-; QCI-NEXT: sw t0, 112(a0)
+; QCI-NEXT: sw s9, 124(a0)
+; QCI-NEXT: sw s8, 120(a0)
+; QCI-NEXT: sw s7, 116(a0)
+; QCI-NEXT: sw s6, 112(a0)
; QCI-NEXT: sw a1, 108(a0)
-; QCI-NEXT: sw a3, 104(a0)
-; QCI-NEXT: sw a6, 100(a0)
-; QCI-NEXT: sw t1, 96(a0)
+; QCI-NEXT: sw ra, 104(a0)
+; QCI-NEXT: sw s11, 100(a0)
+; QCI-NEXT: sw s10, 96(a0)
; QCI-NEXT: sw a2, 92(a0)
-; QCI-NEXT: sw a4, 88(a0)
-; QCI-NEXT: sw a7, 84(a0)
-; QCI-NEXT: sw t2, 80(a0)
-; QCI-NEXT: sw ra, 76(a0)
-; QCI-NEXT: sw s11, 72(a0)
-; QCI-NEXT: sw s10, 68(a0)
-; QCI-NEXT: sw s9, 64(a0)
-; QCI-NEXT: sw s8, 60(a0)
-; QCI-NEXT: sw s7, 56(a0)
-; QCI-NEXT: sw s6, 52(a0)
-; QCI-NEXT: sw s5, 48(a0)
-; QCI-NEXT: sw s4, 44(a0)
-; QCI-NEXT: sw s3, 40(a0)
-; QCI-NEXT: sw s2, 36(a0)
-; QCI-NEXT: sw t6, 32(a0)
-; QCI-NEXT: sw t5, 28(a0)
-; QCI-NEXT: sw t4, 24(a0)
-; QCI-NEXT: sw t3, 20(a0)
+; QCI-NEXT: sw a3, 88(a0)
+; QCI-NEXT: sw a4, 84(a0)
+; QCI-NEXT: sw a5, 80(a0)
+; QCI-NEXT: sw s5, 76(a0)
+; QCI-NEXT: sw s4, 72(a0)
+; QCI-NEXT: sw s3, 68(a0)
+; QCI-NEXT: sw s2, 64(a0)
+; QCI-NEXT: sw s1, 60(a0)
+; QCI-NEXT: sw s0, 56(a0)
+; QCI-NEXT: sw t6, 52(a0)
+; QCI-NEXT: sw t5, 48(a0)
+; QCI-NEXT: sw t4, 44(a0)
+; QCI-NEXT: sw t3, 40(a0)
+; QCI-NEXT: sw t2, 36(a0)
+; QCI-NEXT: sw t1, 32(a0)
+; QCI-NEXT: sw t0, 28(a0)
+; QCI-NEXT: sw a7, 24(a0)
+; QCI-NEXT: sw a6, 20(a0)
; QCI-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; QCI-NEXT: sw a1, 16(a0)
; QCI-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -1195,58 +1195,58 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-FP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; QCI-FP-NEXT: lw a1, 20(a0)
; QCI-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; QCI-FP-NEXT: lw t4, 24(a0)
-; QCI-FP-NEXT: lw t5, 28(a0)
-; QCI-FP-NEXT: lw t6, 32(a0)
-; QCI-FP-NEXT: lw s2, 36(a0)
-; QCI-FP-NEXT: lw s3, 40(a0)
-; QCI-FP-NEXT: lw s4, 44(a0)
-; QCI-FP-NEXT: lw s5, 48(a0)
-; QCI-FP-NEXT: lw s6, 52(a0)
-; QCI-FP-NEXT: lw s7, 56(a0)
-; QCI-FP-NEXT: lw s8, 60(a0)
-; QCI-FP-NEXT: lw s9, 64(a0)
-; QCI-FP-NEXT: lw s10, 68(a0)
-; QCI-FP-NEXT: lw s11, 72(a0)
-; QCI-FP-NEXT: lw ra, 76(a0)
-; QCI-FP-NEXT: lw s1, 112(a0)
-; QCI-FP-NEXT: lw t0, 116(a0)
-; QCI-FP-NEXT: lw a4, 120(a0)
-; QCI-FP-NEXT: lw a2, 124(a0)
-; QCI-FP-NEXT: lw t3, 96(a0)
-; QCI-FP-NEXT: lw t1, 100(a0)
-; QCI-FP-NEXT: lw a6, 104(a0)
+; QCI-FP-NEXT: lw a7, 24(a0)
+; QCI-FP-NEXT: lw t0, 28(a0)
+; QCI-FP-NEXT: lw t1, 32(a0)
+; QCI-FP-NEXT: lw t2, 36(a0)
+; QCI-FP-NEXT: lw t3, 40(a0)
+; QCI-FP-NEXT: lw t4, 44(a0)
+; QCI-FP-NEXT: lw t5, 48(a0)
+; QCI-FP-NEXT: lw t6, 52(a0)
+; QCI-FP-NEXT: lw s1, 56(a0)
+; QCI-FP-NEXT: lw s2, 60(a0)
+; QCI-FP-NEXT: lw s3, 64(a0)
+; QCI-FP-NEXT: lw s4, 68(a0)
+; QCI-FP-NEXT: lw s5, 72(a0)
+; QCI-FP-NEXT: lw s6, 76(a0)
+; QCI-FP-NEXT: lw s7, 112(a0)
+; QCI-FP-NEXT: lw s8, 116(a0)
+; QCI-FP-NEXT: lw s9, 120(a0)
+; QCI-FP-NEXT: lw s10, 124(a0)
+; QCI-FP-NEXT: lw s11, 96(a0)
+; QCI-FP-NEXT: lw ra, 100(a0)
+; QCI-FP-NEXT: lw a4, 104(a0)
; QCI-FP-NEXT: lw a1, 108(a0)
-; QCI-FP-NEXT: lw t2, 80(a0)
-; QCI-FP-NEXT: lw a7, 84(a0)
-; QCI-FP-NEXT: lw a5, 88(a0)
-; QCI-FP-NEXT: lw a3, 92(a0)
-; QCI-FP-NEXT: sw a2, 124(a0)
-; QCI-FP-NEXT: sw a4, 120(a0)
-; QCI-FP-NEXT: sw t0, 116(a0)
-; QCI-FP-NEXT: sw s1, 112(a0)
+; QCI-FP-NEXT: lw a6, 80(a0)
+; QCI-FP-NEXT: lw a5, 84(a0)
+; QCI-FP-NEXT: lw a3, 88(a0)
+; QCI-FP-NEXT: lw a2, 92(a0)
+; QCI-FP-NEXT: sw s10, 124(a0)
+; QCI-FP-NEXT: sw s9, 120(a0)
+; QCI-FP-NEXT: sw s8, 116(a0)
+; QCI-FP-NEXT: sw s7, 112(a0)
; QCI-FP-NEXT: sw a1, 108(a0)
-; QCI-FP-NEXT: sw a6, 104(a0)
-; QCI-FP-NEXT: sw t1, 100(a0)
-; QCI-FP-NEXT: sw t3, 96(a0)
-; QCI-FP-NEXT: sw a3, 92(a0)
-; QCI-FP-NEXT: sw a5, 88(a0)
-; QCI-FP-NEXT: sw a7, 84(a0)
-; QCI-FP-NEXT: sw t2, 80(a0)
-; QCI-FP-NEXT: sw ra, 76(a0)
-; QCI-FP-NEXT: sw s11, 72(a0)
-; QCI-FP-NEXT: sw s10, 68(a0)
-; QCI-FP-NEXT: sw s9, 64(a0)
-; QCI-FP-NEXT: sw s8, 60(a0)
-; QCI-FP-NEXT: sw s7, 56(a0)
-; QCI-FP-NEXT: sw s6, 52(a0)
-; QCI-FP-NEXT: sw s5, 48(a0)
-; QCI-FP-NEXT: sw s4, 44(a0)
-; QCI-FP-NEXT: sw s3, 40(a0)
-; QCI-FP-NEXT: sw s2, 36(a0)
-; QCI-FP-NEXT: sw t6, 32(a0)
-; QCI-FP-NEXT: sw t5, 28(a0)
-; QCI-FP-NEXT: sw t4, 24(a0)
+; QCI-FP-NEXT: sw a4, 104(a0)
+; QCI-FP-NEXT: sw ra, 100(a0)
+; QCI-FP-NEXT: sw s11, 96(a0)
+; QCI-FP-NEXT: sw a2, 92(a0)
+; QCI-FP-NEXT: sw a3, 88(a0)
+; QCI-FP-NEXT: sw a5, 84(a0)
+; QCI-FP-NEXT: sw a6, 80(a0)
+; QCI-FP-NEXT: sw s6, 76(a0)
+; QCI-FP-NEXT: sw s5, 72(a0)
+; QCI-FP-NEXT: sw s4, 68(a0)
+; QCI-FP-NEXT: sw s3, 64(a0)
+; QCI-FP-NEXT: sw s2, 60(a0)
+; QCI-FP-NEXT: sw s1, 56(a0)
+; QCI-FP-NEXT: sw t6, 52(a0)
+; QCI-FP-NEXT: sw t5, 48(a0)
+; QCI-FP-NEXT: sw t4, 44(a0)
+; QCI-FP-NEXT: sw t3, 40(a0)
+; QCI-FP-NEXT: sw t2, 36(a0)
+; QCI-FP-NEXT: sw t1, 32(a0)
+; QCI-FP-NEXT: sw t0, 28(a0)
+; QCI-FP-NEXT: sw a7, 24(a0)
; QCI-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; QCI-FP-NEXT: sw a1, 20(a0)
; QCI-FP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -1332,60 +1332,60 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-PUSH-POP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; QCI-PUSH-POP-NEXT: lw a1, 16(a0)
; QCI-PUSH-POP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; QCI-PUSH-POP-NEXT: lw t3, 20(a0)
-; QCI-PUSH-POP-NEXT: lw t4, 24(a0)
-; QCI-PUSH-POP-NEXT: lw t5, 28(a0)
-; QCI-PUSH-POP-NEXT: lw t6, 32(a0)
-; QCI-PUSH-POP-NEXT: lw s2, 36(a0)
-; QCI-PUSH-POP-NEXT: lw s3, 40(a0)
-; QCI-PUSH-POP-NEXT: lw s4, 44(a0)
-; QCI-PUSH-POP-NEXT: lw s5, 48(a0)
-; QCI-PUSH-POP-NEXT: lw s6, 52(a0)
-; QCI-PUSH-POP-NEXT: lw s7, 56(a0)
-; QCI-PUSH-POP-NEXT: lw s8, 60(a0)
-; QCI-PUSH-POP-NEXT: lw s9, 64(a0)
-; QCI-PUSH-POP-NEXT: lw s10, 68(a0)
-; QCI-PUSH-POP-NEXT: lw s11, 72(a0)
-; QCI-PUSH-POP-NEXT: lw ra, 76(a0)
-; QCI-PUSH-POP-NEXT: lw t0, 112(a0)
-; QCI-PUSH-POP-NEXT: lw s0, 116(a0)
-; QCI-PUSH-POP-NEXT: lw s1, 120(a0)
-; QCI-PUSH-POP-NEXT: lw a5, 124(a0)
-; QCI-PUSH-POP-NEXT: lw t1, 96(a0)
-; QCI-PUSH-POP-NEXT: lw a6, 100(a0)
-; QCI-PUSH-POP-NEXT: lw a3, 104(a0)
+; QCI-PUSH-POP-NEXT: lw a6, 20(a0)
+; QCI-PUSH-POP-NEXT: lw a7, 24(a0)
+; QCI-PUSH-POP-NEXT: lw t0, 28(a0)
+; QCI-PUSH-POP-NEXT: lw t1, 32(a0)
+; QCI-PUSH-POP-NEXT: lw t2, 36(a0)
+; QCI-PUSH-POP-NEXT: lw t3, 40(a0)
+; QCI-PUSH-POP-NEXT: lw t4, 44(a0)
+; QCI-PUSH-POP-NEXT: lw t5, 48(a0)
+; QCI-PUSH-POP-NEXT: lw t6, 52(a0)
+; QCI-PUSH-POP-NEXT: lw s0, 56(a0)
+; QCI-PUSH-POP-NEXT: lw s1, 60(a0)
+; QCI-PUSH-POP-NEXT: lw s2, 64(a0)
+; QCI-PUSH-POP-NEXT: lw s3, 68(a0)
+; QCI-PUSH-POP-NEXT: lw s4, 72(a0)
+; QCI-PUSH-POP-NEXT: lw s5, 76(a0)
+; QCI-PUSH-POP-NEXT: lw s6, 112(a0)
+; QCI-PUSH-POP-NEXT: lw s7, 116(a0)
+; QCI-PUSH-POP-NEXT: lw s8, 120(a0)
+; QCI-PUSH-POP-NEXT: lw s9, 124(a0)
+; QCI-PUSH-POP-NEXT: lw s10, 96(a0)
+; QCI-PUSH-POP-NEXT: lw s11, 100(a0)
+; QCI-PUSH-POP-NEXT: lw ra, 104(a0)
; QCI-PUSH-POP-NEXT: lw a1, 108(a0)
-; QCI-PUSH-POP-NEXT: lw t2, 80(a0)
-; QCI-PUSH-POP-NEXT: lw a7, 84(a0)
-; QCI-PUSH-POP-NEXT: lw a4, 88(a0)
+; QCI-PUSH-POP-NEXT: lw a5, 80(a0)
+; QCI-PUSH-POP-NEXT: lw a4, 84(a0)
+; QCI-PUSH-POP-NEXT: lw a3, 88(a0)
; QCI-PUSH-POP-NEXT: lw a2, 92(a0)
-; QCI-PUSH-POP-NEXT: sw a5, 124(a0)
-; QCI-PUSH-POP-NEXT: sw s1, 120(a0)
-; QCI-PUSH-POP-NEXT: sw s0, 116(a0)
-; QCI-PUSH-POP-NEXT: sw t0, 112(a0)
+; QCI-PUSH-POP-NEXT: sw s9, 124(a0)
+; QCI-PUSH-POP-NEXT: sw s8, 120(a0)
+; QCI-PUSH-POP-NEXT: sw s7, 116(a0)
+; QCI-PUSH-POP-NEXT: sw s6, 112(a0)
; QCI-PUSH-POP-NEXT: sw a1, 108(a0)
-; QCI-PUSH-POP-NEXT: sw a3, 104(a0)
-; QCI-PUSH-POP-NEXT: sw a6, 100(a0)
-; QCI-PUSH-POP-NEXT: sw t1, 96(a0)
+; QCI-PUSH-POP-NEXT: sw ra, 104(a0)
+; QCI-PUSH-POP-NEXT: sw s11, 100(a0)
+; QCI-PUSH-POP-NEXT: sw s10, 96(a0)
; QCI-PUSH-POP-NEXT: sw a2, 92(a0)
-; QCI-PUSH-POP-NEXT: sw a4, 88(a0)
-; QCI-PUSH-POP-NEXT: sw a7, 84(a0)
-; QCI-PUSH-POP-NEXT: sw t2, 80(a0)
-; QCI-PUSH-POP-NEXT: sw ra, 76(a0)
-; QCI-PUSH-POP-NEXT: sw s11, 72(a0)
-; QCI-PUSH-POP-NEXT: sw s10, 68(a0)
-; QCI-PUSH-POP-NEXT: sw s9, 64(a0)
-; QCI-PUSH-POP-NEXT: sw s8, 60(a0)
-; QCI-PUSH-POP-NEXT: sw s7, 56(a0)
-; QCI-PUSH-POP-NEXT: sw s6, 52(a0)
-; QCI-PUSH-POP-NEXT: sw s5, 48(a0)
-; QCI-PUSH-POP-NEXT: sw s4, 44(a0)
-; QCI-PUSH-POP-NEXT: sw s3, 40(a0)
-; QCI-PUSH-POP-NEXT: sw s2, 36(a0)
-; QCI-PUSH-POP-NEXT: sw t6, 32(a0)
-; QCI-PUSH-POP-NEXT: sw t5, 28(a0)
-; QCI-PUSH-POP-NEXT: sw t4, 24(a0)
-; QCI-PUSH-POP-NEXT: sw t3, 20(a0)
+; QCI-PUSH-POP-NEXT: sw a3, 88(a0)
+; QCI-PUSH-POP-NEXT: sw a4, 84(a0)
+; QCI-PUSH-POP-NEXT: sw a5, 80(a0)
+; QCI-PUSH-POP-NEXT: sw s5, 76(a0)
+; QCI-PUSH-POP-NEXT: sw s4, 72(a0)
+; QCI-PUSH-POP-NEXT: sw s3, 68(a0)
+; QCI-PUSH-POP-NEXT: sw s2, 64(a0)
+; QCI-PUSH-POP-NEXT: sw s1, 60(a0)
+; QCI-PUSH-POP-NEXT: sw s0, 56(a0)
+; QCI-PUSH-POP-NEXT: sw t6, 52(a0)
+; QCI-PUSH-POP-NEXT: sw t5, 48(a0)
+; QCI-PUSH-POP-NEXT: sw t4, 44(a0)
+; QCI-PUSH-POP-NEXT: sw t3, 40(a0)
+; QCI-PUSH-POP-NEXT: sw t2, 36(a0)
+; QCI-PUSH-POP-NEXT: sw t1, 32(a0)
+; QCI-PUSH-POP-NEXT: sw t0, 28(a0)
+; QCI-PUSH-POP-NEXT: sw a7, 24(a0)
+; QCI-PUSH-POP-NEXT: sw a6, 20(a0)
; QCI-PUSH-POP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; QCI-PUSH-POP-NEXT: sw a1, 16(a0)
; QCI-PUSH-POP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -1457,60 +1457,60 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 16(a0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; QCI-QCCMP-PUSH-POP-NEXT: lw t3, 20(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t4, 24(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t0, 112(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s0, 116(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 120(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a5, 124(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t1, 96(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a6, 100(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a3, 104(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a6, 20(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a7, 24(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s0, 56(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 60(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 64(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 68(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 72(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 76(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 112(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 116(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 120(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 124(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 96(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 100(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw ra, 104(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a4, 88(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a5, 80(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a4, 84(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a3, 88(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a2, 92(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a5, 124(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 120(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s0, 116(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t0, 112(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 124(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 120(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 116(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 112(a0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a3, 104(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a6, 100(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t1, 96(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw ra, 104(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 100(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 96(a0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a2, 92(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a4, 88(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t4, 24(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t3, 20(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a3, 88(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a4, 84(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a5, 80(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 76(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 72(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 68(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 64(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 60(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s0, 56(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a7, 24(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a6, 20(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 16(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -1585,58 +1585,58 @@ define void @test_spill_nest() "interrupt"="qci-nest" {
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 20(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 8(sp) # 4-byte Folded Spill
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t4, 24(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s1, 112(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t0, 116(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a4, 120(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a2, 124(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t3, 96(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t1, 100(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a6, 104(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a7, 24(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s1, 56(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s2, 60(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s3, 64(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s4, 68(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s5, 72(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s6, 76(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s7, 112(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s8, 116(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s9, 120(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s10, 124(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s11, 96(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw ra, 100(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a4, 104(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a5, 88(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a3, 92(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a2, 124(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a4, 120(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t0, 116(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s1, 112(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a6, 80(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a5, 84(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a3, 88(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a2, 92(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s10, 124(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s9, 120(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s8, 116(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s7, 112(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a6, 104(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t1, 100(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t3, 96(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a3, 92(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a5, 88(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t4, 24(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a4, 104(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw ra, 100(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s11, 96(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a2, 92(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a3, 88(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a5, 84(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a6, 80(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s6, 76(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s5, 72(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s4, 68(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s3, 64(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s2, 60(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s1, 56(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a7, 24(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 8(sp) # 4-byte Folded Reload
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 20(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
@@ -1727,60 +1727,60 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; QCI-NEXT: lw a1, 16(a0)
; QCI-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; QCI-NEXT: lw t3, 20(a0)
-; QCI-NEXT: lw t4, 24(a0)
-; QCI-NEXT: lw t5, 28(a0)
-; QCI-NEXT: lw t6, 32(a0)
-; QCI-NEXT: lw s2, 36(a0)
-; QCI-NEXT: lw s3, 40(a0)
-; QCI-NEXT: lw s4, 44(a0)
-; QCI-NEXT: lw s5, 48(a0)
-; QCI-NEXT: lw s6, 52(a0)
-; QCI-NEXT: lw s7, 56(a0)
-; QCI-NEXT: lw s8, 60(a0)
-; QCI-NEXT: lw s9, 64(a0)
-; QCI-NEXT: lw s10, 68(a0)
-; QCI-NEXT: lw s11, 72(a0)
-; QCI-NEXT: lw ra, 76(a0)
-; QCI-NEXT: lw t0, 112(a0)
-; QCI-NEXT: lw s0, 116(a0)
-; QCI-NEXT: lw s1, 120(a0)
-; QCI-NEXT: lw a5, 124(a0)
-; QCI-NEXT: lw t1, 96(a0)
-; QCI-NEXT: lw a6, 100(a0)
-; QCI-NEXT: lw a3, 104(a0)
+; QCI-NEXT: lw a6, 20(a0)
+; QCI-NEXT: lw a7, 24(a0)
+; QCI-NEXT: lw t0, 28(a0)
+; QCI-NEXT: lw t1, 32(a0)
+; QCI-NEXT: lw t2, 36(a0)
+; QCI-NEXT: lw t3, 40(a0)
+; QCI-NEXT: lw t4, 44(a0)
+; QCI-NEXT: lw t5, 48(a0)
+; QCI-NEXT: lw t6, 52(a0)
+; QCI-NEXT: lw s0, 56(a0)
+; QCI-NEXT: lw s1, 60(a0)
+; QCI-NEXT: lw s2, 64(a0)
+; QCI-NEXT: lw s3, 68(a0)
+; QCI-NEXT: lw s4, 72(a0)
+; QCI-NEXT: lw s5, 76(a0)
+; QCI-NEXT: lw s6, 112(a0)
+; QCI-NEXT: lw s7, 116(a0)
+; QCI-NEXT: lw s8, 120(a0)
+; QCI-NEXT: lw s9, 124(a0)
+; QCI-NEXT: lw s10, 96(a0)
+; QCI-NEXT: lw s11, 100(a0)
+; QCI-NEXT: lw ra, 104(a0)
; QCI-NEXT: lw a1, 108(a0)
-; QCI-NEXT: lw t2, 80(a0)
-; QCI-NEXT: lw a7, 84(a0)
-; QCI-NEXT: lw a4, 88(a0)
+; QCI-NEXT: lw a5, 80(a0)
+; QCI-NEXT: lw a4, 84(a0)
+; QCI-NEXT: lw a3, 88(a0)
; QCI-NEXT: lw a2, 92(a0)
-; QCI-NEXT: sw a5, 124(a0)
-; QCI-NEXT: sw s1, 120(a0)
-; QCI-NEXT: sw s0, 116(a0)
-; QCI-NEXT: sw t0, 112(a0)
+; QCI-NEXT: sw s9, 124(a0)
+; QCI-NEXT: sw s8, 120(a0)
+; QCI-NEXT: sw s7, 116(a0)
+; QCI-NEXT: sw s6, 112(a0)
; QCI-NEXT: sw a1, 108(a0)
-; QCI-NEXT: sw a3, 104(a0)
-; QCI-NEXT: sw a6, 100(a0)
-; QCI-NEXT: sw t1, 96(a0)
+; QCI-NEXT: sw ra, 104(a0)
+; QCI-NEXT: sw s11, 100(a0)
+; QCI-NEXT: sw s10, 96(a0)
; QCI-NEXT: sw a2, 92(a0)
-; QCI-NEXT: sw a4, 88(a0)
-; QCI-NEXT: sw a7, 84(a0)
-; QCI-NEXT: sw t2, 80(a0)
-; QCI-NEXT: sw ra, 76(a0)
-; QCI-NEXT: sw s11, 72(a0)
-; QCI-NEXT: sw s10, 68(a0)
-; QCI-NEXT: sw s9, 64(a0)
-; QCI-NEXT: sw s8, 60(a0)
-; QCI-NEXT: sw s7, 56(a0)
-; QCI-NEXT: sw s6, 52(a0)
-; QCI-NEXT: sw s5, 48(a0)
-; QCI-NEXT: sw s4, 44(a0)
-; QCI-NEXT: sw s3, 40(a0)
-; QCI-NEXT: sw s2, 36(a0)
-; QCI-NEXT: sw t6, 32(a0)
-; QCI-NEXT: sw t5, 28(a0)
-; QCI-NEXT: sw t4, 24(a0)
-; QCI-NEXT: sw t3, 20(a0)
+; QCI-NEXT: sw a3, 88(a0)
+; QCI-NEXT: sw a4, 84(a0)
+; QCI-NEXT: sw a5, 80(a0)
+; QCI-NEXT: sw s5, 76(a0)
+; QCI-NEXT: sw s4, 72(a0)
+; QCI-NEXT: sw s3, 68(a0)
+; QCI-NEXT: sw s2, 64(a0)
+; QCI-NEXT: sw s1, 60(a0)
+; QCI-NEXT: sw s0, 56(a0)
+; QCI-NEXT: sw t6, 52(a0)
+; QCI-NEXT: sw t5, 48(a0)
+; QCI-NEXT: sw t4, 44(a0)
+; QCI-NEXT: sw t3, 40(a0)
+; QCI-NEXT: sw t2, 36(a0)
+; QCI-NEXT: sw t1, 32(a0)
+; QCI-NEXT: sw t0, 28(a0)
+; QCI-NEXT: sw a7, 24(a0)
+; QCI-NEXT: sw a6, 20(a0)
; QCI-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; QCI-NEXT: sw a1, 16(a0)
; QCI-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -1877,58 +1877,58 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-FP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; QCI-FP-NEXT: lw a1, 20(a0)
; QCI-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; QCI-FP-NEXT: lw t4, 24(a0)
-; QCI-FP-NEXT: lw t5, 28(a0)
-; QCI-FP-NEXT: lw t6, 32(a0)
-; QCI-FP-NEXT: lw s2, 36(a0)
-; QCI-FP-NEXT: lw s3, 40(a0)
-; QCI-FP-NEXT: lw s4, 44(a0)
-; QCI-FP-NEXT: lw s5, 48(a0)
-; QCI-FP-NEXT: lw s6, 52(a0)
-; QCI-FP-NEXT: lw s7, 56(a0)
-; QCI-FP-NEXT: lw s8, 60(a0)
-; QCI-FP-NEXT: lw s9, 64(a0)
-; QCI-FP-NEXT: lw s10, 68(a0)
-; QCI-FP-NEXT: lw s11, 72(a0)
-; QCI-FP-NEXT: lw ra, 76(a0)
-; QCI-FP-NEXT: lw s1, 112(a0)
-; QCI-FP-NEXT: lw t0, 116(a0)
-; QCI-FP-NEXT: lw a4, 120(a0)
-; QCI-FP-NEXT: lw a2, 124(a0)
-; QCI-FP-NEXT: lw t3, 96(a0)
-; QCI-FP-NEXT: lw t1, 100(a0)
-; QCI-FP-NEXT: lw a6, 104(a0)
+; QCI-FP-NEXT: lw a7, 24(a0)
+; QCI-FP-NEXT: lw t0, 28(a0)
+; QCI-FP-NEXT: lw t1, 32(a0)
+; QCI-FP-NEXT: lw t2, 36(a0)
+; QCI-FP-NEXT: lw t3, 40(a0)
+; QCI-FP-NEXT: lw t4, 44(a0)
+; QCI-FP-NEXT: lw t5, 48(a0)
+; QCI-FP-NEXT: lw t6, 52(a0)
+; QCI-FP-NEXT: lw s1, 56(a0)
+; QCI-FP-NEXT: lw s2, 60(a0)
+; QCI-FP-NEXT: lw s3, 64(a0)
+; QCI-FP-NEXT: lw s4, 68(a0)
+; QCI-FP-NEXT: lw s5, 72(a0)
+; QCI-FP-NEXT: lw s6, 76(a0)
+; QCI-FP-NEXT: lw s7, 112(a0)
+; QCI-FP-NEXT: lw s8, 116(a0)
+; QCI-FP-NEXT: lw s9, 120(a0)
+; QCI-FP-NEXT: lw s10, 124(a0)
+; QCI-FP-NEXT: lw s11, 96(a0)
+; QCI-FP-NEXT: lw ra, 100(a0)
+; QCI-FP-NEXT: lw a4, 104(a0)
; QCI-FP-NEXT: lw a1, 108(a0)
-; QCI-FP-NEXT: lw t2, 80(a0)
-; QCI-FP-NEXT: lw a7, 84(a0)
-; QCI-FP-NEXT: lw a5, 88(a0)
-; QCI-FP-NEXT: lw a3, 92(a0)
-; QCI-FP-NEXT: sw a2, 124(a0)
-; QCI-FP-NEXT: sw a4, 120(a0)
-; QCI-FP-NEXT: sw t0, 116(a0)
-; QCI-FP-NEXT: sw s1, 112(a0)
+; QCI-FP-NEXT: lw a6, 80(a0)
+; QCI-FP-NEXT: lw a5, 84(a0)
+; QCI-FP-NEXT: lw a3, 88(a0)
+; QCI-FP-NEXT: lw a2, 92(a0)
+; QCI-FP-NEXT: sw s10, 124(a0)
+; QCI-FP-NEXT: sw s9, 120(a0)
+; QCI-FP-NEXT: sw s8, 116(a0)
+; QCI-FP-NEXT: sw s7, 112(a0)
; QCI-FP-NEXT: sw a1, 108(a0)
-; QCI-FP-NEXT: sw a6, 104(a0)
-; QCI-FP-NEXT: sw t1, 100(a0)
-; QCI-FP-NEXT: sw t3, 96(a0)
-; QCI-FP-NEXT: sw a3, 92(a0)
-; QCI-FP-NEXT: sw a5, 88(a0)
-; QCI-FP-NEXT: sw a7, 84(a0)
-; QCI-FP-NEXT: sw t2, 80(a0)
-; QCI-FP-NEXT: sw ra, 76(a0)
-; QCI-FP-NEXT: sw s11, 72(a0)
-; QCI-FP-NEXT: sw s10, 68(a0)
-; QCI-FP-NEXT: sw s9, 64(a0)
-; QCI-FP-NEXT: sw s8, 60(a0)
-; QCI-FP-NEXT: sw s7, 56(a0)
-; QCI-FP-NEXT: sw s6, 52(a0)
-; QCI-FP-NEXT: sw s5, 48(a0)
-; QCI-FP-NEXT: sw s4, 44(a0)
-; QCI-FP-NEXT: sw s3, 40(a0)
-; QCI-FP-NEXT: sw s2, 36(a0)
-; QCI-FP-NEXT: sw t6, 32(a0)
-; QCI-FP-NEXT: sw t5, 28(a0)
-; QCI-FP-NEXT: sw t4, 24(a0)
+; QCI-FP-NEXT: sw a4, 104(a0)
+; QCI-FP-NEXT: sw ra, 100(a0)
+; QCI-FP-NEXT: sw s11, 96(a0)
+; QCI-FP-NEXT: sw a2, 92(a0)
+; QCI-FP-NEXT: sw a3, 88(a0)
+; QCI-FP-NEXT: sw a5, 84(a0)
+; QCI-FP-NEXT: sw a6, 80(a0)
+; QCI-FP-NEXT: sw s6, 76(a0)
+; QCI-FP-NEXT: sw s5, 72(a0)
+; QCI-FP-NEXT: sw s4, 68(a0)
+; QCI-FP-NEXT: sw s3, 64(a0)
+; QCI-FP-NEXT: sw s2, 60(a0)
+; QCI-FP-NEXT: sw s1, 56(a0)
+; QCI-FP-NEXT: sw t6, 52(a0)
+; QCI-FP-NEXT: sw t5, 48(a0)
+; QCI-FP-NEXT: sw t4, 44(a0)
+; QCI-FP-NEXT: sw t3, 40(a0)
+; QCI-FP-NEXT: sw t2, 36(a0)
+; QCI-FP-NEXT: sw t1, 32(a0)
+; QCI-FP-NEXT: sw t0, 28(a0)
+; QCI-FP-NEXT: sw a7, 24(a0)
; QCI-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; QCI-FP-NEXT: sw a1, 20(a0)
; QCI-FP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -2014,60 +2014,60 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-PUSH-POP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; QCI-PUSH-POP-NEXT: lw a1, 16(a0)
; QCI-PUSH-POP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; QCI-PUSH-POP-NEXT: lw t3, 20(a0)
-; QCI-PUSH-POP-NEXT: lw t4, 24(a0)
-; QCI-PUSH-POP-NEXT: lw t5, 28(a0)
-; QCI-PUSH-POP-NEXT: lw t6, 32(a0)
-; QCI-PUSH-POP-NEXT: lw s2, 36(a0)
-; QCI-PUSH-POP-NEXT: lw s3, 40(a0)
-; QCI-PUSH-POP-NEXT: lw s4, 44(a0)
-; QCI-PUSH-POP-NEXT: lw s5, 48(a0)
-; QCI-PUSH-POP-NEXT: lw s6, 52(a0)
-; QCI-PUSH-POP-NEXT: lw s7, 56(a0)
-; QCI-PUSH-POP-NEXT: lw s8, 60(a0)
-; QCI-PUSH-POP-NEXT: lw s9, 64(a0)
-; QCI-PUSH-POP-NEXT: lw s10, 68(a0)
-; QCI-PUSH-POP-NEXT: lw s11, 72(a0)
-; QCI-PUSH-POP-NEXT: lw ra, 76(a0)
-; QCI-PUSH-POP-NEXT: lw t0, 112(a0)
-; QCI-PUSH-POP-NEXT: lw s0, 116(a0)
-; QCI-PUSH-POP-NEXT: lw s1, 120(a0)
-; QCI-PUSH-POP-NEXT: lw a5, 124(a0)
-; QCI-PUSH-POP-NEXT: lw t1, 96(a0)
-; QCI-PUSH-POP-NEXT: lw a6, 100(a0)
-; QCI-PUSH-POP-NEXT: lw a3, 104(a0)
+; QCI-PUSH-POP-NEXT: lw a6, 20(a0)
+; QCI-PUSH-POP-NEXT: lw a7, 24(a0)
+; QCI-PUSH-POP-NEXT: lw t0, 28(a0)
+; QCI-PUSH-POP-NEXT: lw t1, 32(a0)
+; QCI-PUSH-POP-NEXT: lw t2, 36(a0)
+; QCI-PUSH-POP-NEXT: lw t3, 40(a0)
+; QCI-PUSH-POP-NEXT: lw t4, 44(a0)
+; QCI-PUSH-POP-NEXT: lw t5, 48(a0)
+; QCI-PUSH-POP-NEXT: lw t6, 52(a0)
+; QCI-PUSH-POP-NEXT: lw s0, 56(a0)
+; QCI-PUSH-POP-NEXT: lw s1, 60(a0)
+; QCI-PUSH-POP-NEXT: lw s2, 64(a0)
+; QCI-PUSH-POP-NEXT: lw s3, 68(a0)
+; QCI-PUSH-POP-NEXT: lw s4, 72(a0)
+; QCI-PUSH-POP-NEXT: lw s5, 76(a0)
+; QCI-PUSH-POP-NEXT: lw s6, 112(a0)
+; QCI-PUSH-POP-NEXT: lw s7, 116(a0)
+; QCI-PUSH-POP-NEXT: lw s8, 120(a0)
+; QCI-PUSH-POP-NEXT: lw s9, 124(a0)
+; QCI-PUSH-POP-NEXT: lw s10, 96(a0)
+; QCI-PUSH-POP-NEXT: lw s11, 100(a0)
+; QCI-PUSH-POP-NEXT: lw ra, 104(a0)
; QCI-PUSH-POP-NEXT: lw a1, 108(a0)
-; QCI-PUSH-POP-NEXT: lw t2, 80(a0)
-; QCI-PUSH-POP-NEXT: lw a7, 84(a0)
-; QCI-PUSH-POP-NEXT: lw a4, 88(a0)
+; QCI-PUSH-POP-NEXT: lw a5, 80(a0)
+; QCI-PUSH-POP-NEXT: lw a4, 84(a0)
+; QCI-PUSH-POP-NEXT: lw a3, 88(a0)
; QCI-PUSH-POP-NEXT: lw a2, 92(a0)
-; QCI-PUSH-POP-NEXT: sw a5, 124(a0)
-; QCI-PUSH-POP-NEXT: sw s1, 120(a0)
-; QCI-PUSH-POP-NEXT: sw s0, 116(a0)
-; QCI-PUSH-POP-NEXT: sw t0, 112(a0)
+; QCI-PUSH-POP-NEXT: sw s9, 124(a0)
+; QCI-PUSH-POP-NEXT: sw s8, 120(a0)
+; QCI-PUSH-POP-NEXT: sw s7, 116(a0)
+; QCI-PUSH-POP-NEXT: sw s6, 112(a0)
; QCI-PUSH-POP-NEXT: sw a1, 108(a0)
-; QCI-PUSH-POP-NEXT: sw a3, 104(a0)
-; QCI-PUSH-POP-NEXT: sw a6, 100(a0)
-; QCI-PUSH-POP-NEXT: sw t1, 96(a0)
+; QCI-PUSH-POP-NEXT: sw ra, 104(a0)
+; QCI-PUSH-POP-NEXT: sw s11, 100(a0)
+; QCI-PUSH-POP-NEXT: sw s10, 96(a0)
; QCI-PUSH-POP-NEXT: sw a2, 92(a0)
-; QCI-PUSH-POP-NEXT: sw a4, 88(a0)
-; QCI-PUSH-POP-NEXT: sw a7, 84(a0)
-; QCI-PUSH-POP-NEXT: sw t2, 80(a0)
-; QCI-PUSH-POP-NEXT: sw ra, 76(a0)
-; QCI-PUSH-POP-NEXT: sw s11, 72(a0)
-; QCI-PUSH-POP-NEXT: sw s10, 68(a0)
-; QCI-PUSH-POP-NEXT: sw s9, 64(a0)
-; QCI-PUSH-POP-NEXT: sw s8, 60(a0)
-; QCI-PUSH-POP-NEXT: sw s7, 56(a0)
-; QCI-PUSH-POP-NEXT: sw s6, 52(a0)
-; QCI-PUSH-POP-NEXT: sw s5, 48(a0)
-; QCI-PUSH-POP-NEXT: sw s4, 44(a0)
-; QCI-PUSH-POP-NEXT: sw s3, 40(a0)
-; QCI-PUSH-POP-NEXT: sw s2, 36(a0)
-; QCI-PUSH-POP-NEXT: sw t6, 32(a0)
-; QCI-PUSH-POP-NEXT: sw t5, 28(a0)
-; QCI-PUSH-POP-NEXT: sw t4, 24(a0)
-; QCI-PUSH-POP-NEXT: sw t3, 20(a0)
+; QCI-PUSH-POP-NEXT: sw a3, 88(a0)
+; QCI-PUSH-POP-NEXT: sw a4, 84(a0)
+; QCI-PUSH-POP-NEXT: sw a5, 80(a0)
+; QCI-PUSH-POP-NEXT: sw s5, 76(a0)
+; QCI-PUSH-POP-NEXT: sw s4, 72(a0)
+; QCI-PUSH-POP-NEXT: sw s3, 68(a0)
+; QCI-PUSH-POP-NEXT: sw s2, 64(a0)
+; QCI-PUSH-POP-NEXT: sw s1, 60(a0)
+; QCI-PUSH-POP-NEXT: sw s0, 56(a0)
+; QCI-PUSH-POP-NEXT: sw t6, 52(a0)
+; QCI-PUSH-POP-NEXT: sw t5, 48(a0)
+; QCI-PUSH-POP-NEXT: sw t4, 44(a0)
+; QCI-PUSH-POP-NEXT: sw t3, 40(a0)
+; QCI-PUSH-POP-NEXT: sw t2, 36(a0)
+; QCI-PUSH-POP-NEXT: sw t1, 32(a0)
+; QCI-PUSH-POP-NEXT: sw t0, 28(a0)
+; QCI-PUSH-POP-NEXT: sw a7, 24(a0)
+; QCI-PUSH-POP-NEXT: sw a6, 20(a0)
; QCI-PUSH-POP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; QCI-PUSH-POP-NEXT: sw a1, 16(a0)
; QCI-PUSH-POP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -2139,60 +2139,60 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 16(a0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; QCI-QCCMP-PUSH-POP-NEXT: lw t3, 20(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t4, 24(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t0, 112(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s0, 116(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 120(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a5, 124(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t1, 96(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a6, 100(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a3, 104(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a6, 20(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a7, 24(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s0, 56(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 60(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 64(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 68(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 72(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 76(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 112(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 116(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 120(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 124(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 96(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 100(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw ra, 104(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw a4, 88(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a5, 80(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a4, 84(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw a3, 88(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a2, 92(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a5, 124(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 120(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s0, 116(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t0, 112(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 124(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 120(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 116(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 112(a0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a3, 104(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a6, 100(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t1, 96(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw ra, 104(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 100(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 96(a0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a2, 92(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a4, 88(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t4, 24(a0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw t3, 20(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a3, 88(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a4, 84(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a5, 80(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 76(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 72(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 68(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 64(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 60(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s0, 56(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a7, 24(a0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw a6, 20(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; QCI-QCCMP-PUSH-POP-NEXT: sw a1, 16(a0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -2267,58 +2267,58 @@ define void @test_spill_nonest() "interrupt"="qci-nonest" {
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 20(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 8(sp) # 4-byte Folded Spill
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t4, 24(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s1, 112(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t0, 116(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a4, 120(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a2, 124(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t3, 96(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t1, 100(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a6, 104(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a7, 24(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s1, 56(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s2, 60(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s3, 64(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s4, 68(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s5, 72(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s6, 76(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s7, 112(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s8, 116(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s9, 120(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s10, 124(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw s11, 96(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw ra, 100(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a4, 104(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a5, 88(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a3, 92(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a2, 124(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a4, 120(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t0, 116(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s1, 112(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a6, 80(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a5, 84(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a3, 88(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a2, 92(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s10, 124(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s9, 120(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s8, 116(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s7, 112(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 108(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a6, 104(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t1, 100(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t3, 96(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a3, 92(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a5, 88(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a7, 84(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t2, 80(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw ra, 76(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s11, 72(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s10, 68(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s9, 64(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s8, 60(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s7, 56(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s6, 52(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s5, 48(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s4, 44(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s3, 40(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s2, 36(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t6, 32(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t5, 28(a0)
-; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t4, 24(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a4, 104(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw ra, 100(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s11, 96(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a2, 92(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a3, 88(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a5, 84(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a6, 80(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s6, 76(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s5, 72(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s4, 68(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s3, 64(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s2, 60(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw s1, 56(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t6, 52(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t5, 48(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t4, 44(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t3, 40(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t2, 36(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t1, 32(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw t0, 28(a0)
+; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a7, 24(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 8(sp) # 4-byte Folded Reload
; QCI-QCCMP-PUSH-POP-FP-NEXT: sw a1, 20(a0)
; QCI-QCCMP-PUSH-POP-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
@@ -2441,17 +2441,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-NEXT: sw a0, 20(sp) # 4-byte Folded Spill
; QCI-NEXT: lw a0, 80(s0)
; QCI-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
-; QCI-NEXT: lw s1, 84(s0)
-; QCI-NEXT: lw s2, 88(s0)
-; QCI-NEXT: lw s3, 92(s0)
-; QCI-NEXT: lw s4, 96(s0)
-; QCI-NEXT: lw s5, 100(s0)
-; QCI-NEXT: lw s6, 104(s0)
-; QCI-NEXT: lw s7, 108(s0)
-; QCI-NEXT: lw s8, 112(s0)
-; QCI-NEXT: lw s9, 116(s0)
-; QCI-NEXT: lw s10, 120(s0)
-; QCI-NEXT: lw s11, 124(s0)
+; QCI-NEXT: lw s11, 84(s0)
+; QCI-NEXT: lw s1, 88(s0)
+; QCI-NEXT: lw s2, 92(s0)
+; QCI-NEXT: lw s3, 96(s0)
+; QCI-NEXT: lw s4, 100(s0)
+; QCI-NEXT: lw s5, 104(s0)
+; QCI-NEXT: lw s6, 108(s0)
+; QCI-NEXT: lw s7, 112(s0)
+; QCI-NEXT: lw s8, 116(s0)
+; QCI-NEXT: lw s9, 120(s0)
+; QCI-NEXT: lw s10, 124(s0)
; QCI-NEXT: li t0, 4
; QCI-NEXT: li a2, 1
; QCI-NEXT: li a4, 2
@@ -2464,17 +2464,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-NEXT: sw t0, 0(sp)
; QCI-NEXT: call function_with_one_stack_arg
; QCI-NEXT: call use_i64
-; QCI-NEXT: sw s11, 124(s0)
-; QCI-NEXT: sw s10, 120(s0)
-; QCI-NEXT: sw s9, 116(s0)
-; QCI-NEXT: sw s8, 112(s0)
-; QCI-NEXT: sw s7, 108(s0)
-; QCI-NEXT: sw s6, 104(s0)
-; QCI-NEXT: sw s5, 100(s0)
-; QCI-NEXT: sw s4, 96(s0)
-; QCI-NEXT: sw s3, 92(s0)
-; QCI-NEXT: sw s2, 88(s0)
-; QCI-NEXT: sw s1, 84(s0)
+; QCI-NEXT: sw s10, 124(s0)
+; QCI-NEXT: sw s9, 120(s0)
+; QCI-NEXT: sw s8, 116(s0)
+; QCI-NEXT: sw s7, 112(s0)
+; QCI-NEXT: sw s6, 108(s0)
+; QCI-NEXT: sw s5, 104(s0)
+; QCI-NEXT: sw s4, 100(s0)
+; QCI-NEXT: sw s3, 96(s0)
+; QCI-NEXT: sw s2, 92(s0)
+; QCI-NEXT: sw s1, 88(s0)
+; QCI-NEXT: sw s11, 84(s0)
; QCI-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
; QCI-NEXT: sw a0, 80(s0)
; QCI-NEXT: lw a0, 20(sp) # 4-byte Folded Reload
@@ -2818,17 +2818,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-PUSH-POP-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; QCI-PUSH-POP-NEXT: lw a0, 80(s0)
; QCI-PUSH-POP-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; QCI-PUSH-POP-NEXT: lw s1, 84(s0)
-; QCI-PUSH-POP-NEXT: lw s2, 88(s0)
-; QCI-PUSH-POP-NEXT: lw s3, 92(s0)
-; QCI-PUSH-POP-NEXT: lw s4, 96(s0)
-; QCI-PUSH-POP-NEXT: lw s5, 100(s0)
-; QCI-PUSH-POP-NEXT: lw s6, 104(s0)
-; QCI-PUSH-POP-NEXT: lw s7, 108(s0)
-; QCI-PUSH-POP-NEXT: lw s8, 112(s0)
-; QCI-PUSH-POP-NEXT: lw s9, 116(s0)
-; QCI-PUSH-POP-NEXT: lw s10, 120(s0)
-; QCI-PUSH-POP-NEXT: lw s11, 124(s0)
+; QCI-PUSH-POP-NEXT: lw s11, 84(s0)
+; QCI-PUSH-POP-NEXT: lw s1, 88(s0)
+; QCI-PUSH-POP-NEXT: lw s2, 92(s0)
+; QCI-PUSH-POP-NEXT: lw s3, 96(s0)
+; QCI-PUSH-POP-NEXT: lw s4, 100(s0)
+; QCI-PUSH-POP-NEXT: lw s5, 104(s0)
+; QCI-PUSH-POP-NEXT: lw s6, 108(s0)
+; QCI-PUSH-POP-NEXT: lw s7, 112(s0)
+; QCI-PUSH-POP-NEXT: lw s8, 116(s0)
+; QCI-PUSH-POP-NEXT: lw s9, 120(s0)
+; QCI-PUSH-POP-NEXT: lw s10, 124(s0)
; QCI-PUSH-POP-NEXT: li t0, 4
; QCI-PUSH-POP-NEXT: li a2, 1
; QCI-PUSH-POP-NEXT: li a4, 2
@@ -2841,17 +2841,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-PUSH-POP-NEXT: sw t0, 0(sp)
; QCI-PUSH-POP-NEXT: call function_with_one_stack_arg
; QCI-PUSH-POP-NEXT: call use_i64
-; QCI-PUSH-POP-NEXT: sw s11, 124(s0)
-; QCI-PUSH-POP-NEXT: sw s10, 120(s0)
-; QCI-PUSH-POP-NEXT: sw s9, 116(s0)
-; QCI-PUSH-POP-NEXT: sw s8, 112(s0)
-; QCI-PUSH-POP-NEXT: sw s7, 108(s0)
-; QCI-PUSH-POP-NEXT: sw s6, 104(s0)
-; QCI-PUSH-POP-NEXT: sw s5, 100(s0)
-; QCI-PUSH-POP-NEXT: sw s4, 96(s0)
-; QCI-PUSH-POP-NEXT: sw s3, 92(s0)
-; QCI-PUSH-POP-NEXT: sw s2, 88(s0)
-; QCI-PUSH-POP-NEXT: sw s1, 84(s0)
+; QCI-PUSH-POP-NEXT: sw s10, 124(s0)
+; QCI-PUSH-POP-NEXT: sw s9, 120(s0)
+; QCI-PUSH-POP-NEXT: sw s8, 116(s0)
+; QCI-PUSH-POP-NEXT: sw s7, 112(s0)
+; QCI-PUSH-POP-NEXT: sw s6, 108(s0)
+; QCI-PUSH-POP-NEXT: sw s5, 104(s0)
+; QCI-PUSH-POP-NEXT: sw s4, 100(s0)
+; QCI-PUSH-POP-NEXT: sw s3, 96(s0)
+; QCI-PUSH-POP-NEXT: sw s2, 92(s0)
+; QCI-PUSH-POP-NEXT: sw s1, 88(s0)
+; QCI-PUSH-POP-NEXT: sw s11, 84(s0)
; QCI-PUSH-POP-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; QCI-PUSH-POP-NEXT: sw a0, 80(s0)
; QCI-PUSH-POP-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
@@ -2991,17 +2991,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-QCCMP-PUSH-POP-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; QCI-QCCMP-PUSH-POP-NEXT: lw a0, 80(s0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 84(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 88(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 92(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 96(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 100(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 104(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 108(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 112(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 116(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 120(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 124(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 84(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 88(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 92(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 96(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 100(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 104(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 108(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 112(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 116(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 120(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 124(s0)
; QCI-QCCMP-PUSH-POP-NEXT: li t0, 4
; QCI-QCCMP-PUSH-POP-NEXT: li a2, 1
; QCI-QCCMP-PUSH-POP-NEXT: li a4, 2
@@ -3014,17 +3014,17 @@ define void @test_spill_call_nest() "interrupt"="qci-nest" {
; QCI-QCCMP-PUSH-POP-NEXT: sw t0, 0(sp)
; QCI-QCCMP-PUSH-POP-NEXT: call function_with_one_stack_arg
; QCI-QCCMP-PUSH-POP-NEXT: call use_i64
-; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 124(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 120(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 116(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 112(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 108(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 104(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 100(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 96(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 92(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 88(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 84(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 124(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 120(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 116(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 112(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 108(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 104(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 100(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 96(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 92(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 88(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 84(s0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; QCI-QCCMP-PUSH-POP-NEXT: sw a0, 80(s0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
@@ -3357,17 +3357,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-NEXT: sw a0, 20(sp) # 4-byte Folded Spill
; QCI-NEXT: lw a0, 80(s0)
; QCI-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
-; QCI-NEXT: lw s1, 84(s0)
-; QCI-NEXT: lw s2, 88(s0)
-; QCI-NEXT: lw s3, 92(s0)
-; QCI-NEXT: lw s4, 96(s0)
-; QCI-NEXT: lw s5, 100(s0)
-; QCI-NEXT: lw s6, 104(s0)
-; QCI-NEXT: lw s7, 108(s0)
-; QCI-NEXT: lw s8, 112(s0)
-; QCI-NEXT: lw s9, 116(s0)
-; QCI-NEXT: lw s10, 120(s0)
-; QCI-NEXT: lw s11, 124(s0)
+; QCI-NEXT: lw s11, 84(s0)
+; QCI-NEXT: lw s1, 88(s0)
+; QCI-NEXT: lw s2, 92(s0)
+; QCI-NEXT: lw s3, 96(s0)
+; QCI-NEXT: lw s4, 100(s0)
+; QCI-NEXT: lw s5, 104(s0)
+; QCI-NEXT: lw s6, 108(s0)
+; QCI-NEXT: lw s7, 112(s0)
+; QCI-NEXT: lw s8, 116(s0)
+; QCI-NEXT: lw s9, 120(s0)
+; QCI-NEXT: lw s10, 124(s0)
; QCI-NEXT: li t0, 4
; QCI-NEXT: li a2, 1
; QCI-NEXT: li a4, 2
@@ -3380,17 +3380,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-NEXT: sw t0, 0(sp)
; QCI-NEXT: call function_with_one_stack_arg
; QCI-NEXT: call use_i64
-; QCI-NEXT: sw s11, 124(s0)
-; QCI-NEXT: sw s10, 120(s0)
-; QCI-NEXT: sw s9, 116(s0)
-; QCI-NEXT: sw s8, 112(s0)
-; QCI-NEXT: sw s7, 108(s0)
-; QCI-NEXT: sw s6, 104(s0)
-; QCI-NEXT: sw s5, 100(s0)
-; QCI-NEXT: sw s4, 96(s0)
-; QCI-NEXT: sw s3, 92(s0)
-; QCI-NEXT: sw s2, 88(s0)
-; QCI-NEXT: sw s1, 84(s0)
+; QCI-NEXT: sw s10, 124(s0)
+; QCI-NEXT: sw s9, 120(s0)
+; QCI-NEXT: sw s8, 116(s0)
+; QCI-NEXT: sw s7, 112(s0)
+; QCI-NEXT: sw s6, 108(s0)
+; QCI-NEXT: sw s5, 104(s0)
+; QCI-NEXT: sw s4, 100(s0)
+; QCI-NEXT: sw s3, 96(s0)
+; QCI-NEXT: sw s2, 92(s0)
+; QCI-NEXT: sw s1, 88(s0)
+; QCI-NEXT: sw s11, 84(s0)
; QCI-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
; QCI-NEXT: sw a0, 80(s0)
; QCI-NEXT: lw a0, 20(sp) # 4-byte Folded Reload
@@ -3734,17 +3734,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-PUSH-POP-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; QCI-PUSH-POP-NEXT: lw a0, 80(s0)
; QCI-PUSH-POP-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; QCI-PUSH-POP-NEXT: lw s1, 84(s0)
-; QCI-PUSH-POP-NEXT: lw s2, 88(s0)
-; QCI-PUSH-POP-NEXT: lw s3, 92(s0)
-; QCI-PUSH-POP-NEXT: lw s4, 96(s0)
-; QCI-PUSH-POP-NEXT: lw s5, 100(s0)
-; QCI-PUSH-POP-NEXT: lw s6, 104(s0)
-; QCI-PUSH-POP-NEXT: lw s7, 108(s0)
-; QCI-PUSH-POP-NEXT: lw s8, 112(s0)
-; QCI-PUSH-POP-NEXT: lw s9, 116(s0)
-; QCI-PUSH-POP-NEXT: lw s10, 120(s0)
-; QCI-PUSH-POP-NEXT: lw s11, 124(s0)
+; QCI-PUSH-POP-NEXT: lw s11, 84(s0)
+; QCI-PUSH-POP-NEXT: lw s1, 88(s0)
+; QCI-PUSH-POP-NEXT: lw s2, 92(s0)
+; QCI-PUSH-POP-NEXT: lw s3, 96(s0)
+; QCI-PUSH-POP-NEXT: lw s4, 100(s0)
+; QCI-PUSH-POP-NEXT: lw s5, 104(s0)
+; QCI-PUSH-POP-NEXT: lw s6, 108(s0)
+; QCI-PUSH-POP-NEXT: lw s7, 112(s0)
+; QCI-PUSH-POP-NEXT: lw s8, 116(s0)
+; QCI-PUSH-POP-NEXT: lw s9, 120(s0)
+; QCI-PUSH-POP-NEXT: lw s10, 124(s0)
; QCI-PUSH-POP-NEXT: li t0, 4
; QCI-PUSH-POP-NEXT: li a2, 1
; QCI-PUSH-POP-NEXT: li a4, 2
@@ -3757,17 +3757,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-PUSH-POP-NEXT: sw t0, 0(sp)
; QCI-PUSH-POP-NEXT: call function_with_one_stack_arg
; QCI-PUSH-POP-NEXT: call use_i64
-; QCI-PUSH-POP-NEXT: sw s11, 124(s0)
-; QCI-PUSH-POP-NEXT: sw s10, 120(s0)
-; QCI-PUSH-POP-NEXT: sw s9, 116(s0)
-; QCI-PUSH-POP-NEXT: sw s8, 112(s0)
-; QCI-PUSH-POP-NEXT: sw s7, 108(s0)
-; QCI-PUSH-POP-NEXT: sw s6, 104(s0)
-; QCI-PUSH-POP-NEXT: sw s5, 100(s0)
-; QCI-PUSH-POP-NEXT: sw s4, 96(s0)
-; QCI-PUSH-POP-NEXT: sw s3, 92(s0)
-; QCI-PUSH-POP-NEXT: sw s2, 88(s0)
-; QCI-PUSH-POP-NEXT: sw s1, 84(s0)
+; QCI-PUSH-POP-NEXT: sw s10, 124(s0)
+; QCI-PUSH-POP-NEXT: sw s9, 120(s0)
+; QCI-PUSH-POP-NEXT: sw s8, 116(s0)
+; QCI-PUSH-POP-NEXT: sw s7, 112(s0)
+; QCI-PUSH-POP-NEXT: sw s6, 108(s0)
+; QCI-PUSH-POP-NEXT: sw s5, 104(s0)
+; QCI-PUSH-POP-NEXT: sw s4, 100(s0)
+; QCI-PUSH-POP-NEXT: sw s3, 96(s0)
+; QCI-PUSH-POP-NEXT: sw s2, 92(s0)
+; QCI-PUSH-POP-NEXT: sw s1, 88(s0)
+; QCI-PUSH-POP-NEXT: sw s11, 84(s0)
; QCI-PUSH-POP-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; QCI-PUSH-POP-NEXT: sw a0, 80(s0)
; QCI-PUSH-POP-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
@@ -3907,17 +3907,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-QCCMP-PUSH-POP-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; QCI-QCCMP-PUSH-POP-NEXT: lw a0, 80(s0)
; QCI-QCCMP-PUSH-POP-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 84(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 88(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 92(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 96(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 100(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 104(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 108(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 112(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 116(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 120(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 124(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s11, 84(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s1, 88(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s2, 92(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s3, 96(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s4, 100(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s5, 104(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s6, 108(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s7, 112(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s8, 116(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s9, 120(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: lw s10, 124(s0)
; QCI-QCCMP-PUSH-POP-NEXT: li t0, 4
; QCI-QCCMP-PUSH-POP-NEXT: li a2, 1
; QCI-QCCMP-PUSH-POP-NEXT: li a4, 2
@@ -3930,17 +3930,17 @@ define void @test_spill_call_nonest() "interrupt"="qci-nonest" {
; QCI-QCCMP-PUSH-POP-NEXT: sw t0, 0(sp)
; QCI-QCCMP-PUSH-POP-NEXT: call function_with_one_stack_arg
; QCI-QCCMP-PUSH-POP-NEXT: call use_i64
-; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 124(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 120(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 116(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 112(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 108(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 104(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 100(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 96(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 92(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 88(s0)
-; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 84(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s10, 124(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s9, 120(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s8, 116(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s7, 112(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s6, 108(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s5, 104(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s4, 100(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s3, 96(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s2, 92(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s1, 88(s0)
+; QCI-QCCMP-PUSH-POP-NEXT: sw s11, 84(s0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; QCI-QCCMP-PUSH-POP-NEXT: sw a0, 80(s0)
; QCI-QCCMP-PUSH-POP-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
index a95902995fe37..4bda8441ee88c 100644
--- a/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
@@ -1499,87 +1499,87 @@ define <16 x i8> @buildvec_v16i8_loads_contigous(ptr %p) {
; RVA22U64: # %bb.0:
; RVA22U64-NEXT: lbu a1, 1(a0)
; RVA22U64-NEXT: lbu a2, 0(a0)
-; RVA22U64-NEXT: lbu a7, 2(a0)
+; RVA22U64-NEXT: lbu a3, 2(a0)
; RVA22U64-NEXT: lbu a4, 3(a0)
; RVA22U64-NEXT: lbu a5, 4(a0)
; RVA22U64-NEXT: slli a1, a1, 8
; RVA22U64-NEXT: or a1, a1, a2
; RVA22U64-NEXT: lbu a2, 5(a0)
; RVA22U64-NEXT: lbu a6, 6(a0)
-; RVA22U64-NEXT: lbu a3, 7(a0)
-; RVA22U64-NEXT: slli a7, a7, 16
+; RVA22U64-NEXT: lbu a7, 7(a0)
+; RVA22U64-NEXT: slli a3, a3, 16
; RVA22U64-NEXT: slli a4, a4, 24
-; RVA22U64-NEXT: or a4, a4, a7
+; RVA22U64-NEXT: or a3, a3, a4
; RVA22U64-NEXT: slli a5, a5, 32
-; RVA22U64-NEXT: or a7, a1, a4
+; RVA22U64-NEXT: or a1, a1, a3
; RVA22U64-NEXT: slli a2, a2, 40
-; RVA22U64-NEXT: lbu a4, 8(a0)
-; RVA22U64-NEXT: lbu a1, 9(a0)
+; RVA22U64-NEXT: lbu a3, 8(a0)
+; RVA22U64-NEXT: lbu a4, 9(a0)
; RVA22U64-NEXT: slli a6, a6, 48
-; RVA22U64-NEXT: slli a3, a3, 56
+; RVA22U64-NEXT: slli a7, a7, 56
; RVA22U64-NEXT: or a2, a2, a5
-; RVA22U64-NEXT: or a3, a3, a6
-; RVA22U64-NEXT: or a2, a2, a3
-; RVA22U64-NEXT: lbu a3, 10(a0)
-; RVA22U64-NEXT: lbu a5, 11(a0)
-; RVA22U64-NEXT: slli a1, a1, 8
-; RVA22U64-NEXT: or a7, a7, a2
-; RVA22U64-NEXT: or a6, a4, a1
-; RVA22U64-NEXT: lbu a4, 12(a0)
-; RVA22U64-NEXT: lbu a1, 13(a0)
-; RVA22U64-NEXT: lbu a2, 14(a0)
+; RVA22U64-NEXT: or a5, a7, a6
+; RVA22U64-NEXT: or a2, a2, a5
+; RVA22U64-NEXT: lbu a5, 10(a0)
+; RVA22U64-NEXT: lbu a6, 11(a0)
+; RVA22U64-NEXT: slli a4, a4, 8
+; RVA22U64-NEXT: or a1, a1, a2
+; RVA22U64-NEXT: or a3, a3, a4
+; RVA22U64-NEXT: lbu a2, 12(a0)
+; RVA22U64-NEXT: lbu a4, 13(a0)
+; RVA22U64-NEXT: lbu a7, 14(a0)
; RVA22U64-NEXT: lbu a0, 15(a0)
-; RVA22U64-NEXT: slli a3, a3, 16
-; RVA22U64-NEXT: slli a5, a5, 24
-; RVA22U64-NEXT: or a3, a3, a5
+; RVA22U64-NEXT: slli a5, a5, 16
+; RVA22U64-NEXT: slli a6, a6, 24
+; RVA22U64-NEXT: or a5, a6, a5
; RVA22U64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-NEXT: vmv.v.x v8, a7
-; RVA22U64-NEXT: slli a4, a4, 32
-; RVA22U64-NEXT: slli a1, a1, 40
-; RVA22U64-NEXT: slli a2, a2, 48
+; RVA22U64-NEXT: vmv.v.x v8, a1
+; RVA22U64-NEXT: slli a2, a2, 32
+; RVA22U64-NEXT: slli a4, a4, 40
+; RVA22U64-NEXT: slli a7, a7, 48
; RVA22U64-NEXT: slli a0, a0, 56
-; RVA22U64-NEXT: or a1, a1, a4
-; RVA22U64-NEXT: or a0, a0, a2
-; RVA22U64-NEXT: or a2, a6, a3
-; RVA22U64-NEXT: or a0, a0, a1
+; RVA22U64-NEXT: or a2, a2, a4
+; RVA22U64-NEXT: or a0, a0, a7
+; RVA22U64-NEXT: or a3, a3, a5
; RVA22U64-NEXT: or a0, a0, a2
+; RVA22U64-NEXT: or a0, a0, a3
; RVA22U64-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-NEXT: ret
;
; RVA22U64-PACK-LABEL: buildvec_v16i8_loads_contigous:
; RVA22U64-PACK: # %bb.0:
-; RVA22U64-PACK-NEXT: lbu a6, 0(a0)
-; RVA22U64-PACK-NEXT: lbu a7, 1(a0)
-; RVA22U64-PACK-NEXT: lbu t0, 2(a0)
+; RVA22U64-PACK-NEXT: lbu a1, 0(a0)
+; RVA22U64-PACK-NEXT: lbu a2, 1(a0)
+; RVA22U64-PACK-NEXT: lbu a3, 2(a0)
; RVA22U64-PACK-NEXT: lbu a4, 3(a0)
; RVA22U64-PACK-NEXT: lbu a5, 4(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 5(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 6(a0)
-; RVA22U64-PACK-NEXT: lbu a3, 7(a0)
-; RVA22U64-PACK-NEXT: packh a6, a6, a7
-; RVA22U64-PACK-NEXT: packh t0, t0, a4
-; RVA22U64-PACK-NEXT: packh a7, a5, a1
-; RVA22U64-PACK-NEXT: packh t1, a2, a3
-; RVA22U64-PACK-NEXT: lbu t3, 8(a0)
-; RVA22U64-PACK-NEXT: lbu t5, 9(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 10(a0)
-; RVA22U64-PACK-NEXT: lbu a4, 11(a0)
-; RVA22U64-PACK-NEXT: lbu t2, 12(a0)
-; RVA22U64-PACK-NEXT: lbu t4, 13(a0)
-; RVA22U64-PACK-NEXT: lbu a3, 14(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 5(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 6(a0)
+; RVA22U64-PACK-NEXT: lbu t0, 7(a0)
+; RVA22U64-PACK-NEXT: packh a1, a1, a2
+; RVA22U64-PACK-NEXT: packh a2, a3, a4
+; RVA22U64-PACK-NEXT: packh a3, a5, a6
+; RVA22U64-PACK-NEXT: packh a4, a7, t0
+; RVA22U64-PACK-NEXT: lbu a5, 8(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 9(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 10(a0)
+; RVA22U64-PACK-NEXT: lbu t0, 11(a0)
+; RVA22U64-PACK-NEXT: lbu t1, 12(a0)
+; RVA22U64-PACK-NEXT: lbu t2, 13(a0)
+; RVA22U64-PACK-NEXT: lbu t3, 14(a0)
; RVA22U64-PACK-NEXT: lbu a0, 15(a0)
-; RVA22U64-PACK-NEXT: packw a2, a6, t0
-; RVA22U64-PACK-NEXT: packw a5, a7, t1
-; RVA22U64-PACK-NEXT: pack a2, a2, a5
-; RVA22U64-PACK-NEXT: packh a5, t3, t5
-; RVA22U64-PACK-NEXT: packh a1, a1, a4
+; RVA22U64-PACK-NEXT: packw a1, a1, a2
+; RVA22U64-PACK-NEXT: packw a2, a3, a4
+; RVA22U64-PACK-NEXT: pack a1, a1, a2
+; RVA22U64-PACK-NEXT: packh a2, a5, a6
+; RVA22U64-PACK-NEXT: packh a3, a7, t0
; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-PACK-NEXT: vmv.v.x v8, a2
-; RVA22U64-PACK-NEXT: packh a2, t2, t4
-; RVA22U64-PACK-NEXT: packh a0, a3, a0
-; RVA22U64-PACK-NEXT: packw a1, a5, a1
-; RVA22U64-PACK-NEXT: packw a0, a2, a0
-; RVA22U64-PACK-NEXT: pack a0, a1, a0
+; RVA22U64-PACK-NEXT: vmv.v.x v8, a1
+; RVA22U64-PACK-NEXT: packh a1, t1, t2
+; RVA22U64-PACK-NEXT: packh a0, t3, a0
+; RVA22U64-PACK-NEXT: packw a2, a2, a3
+; RVA22U64-PACK-NEXT: packw a0, a1, a0
+; RVA22U64-PACK-NEXT: pack a0, a2, a0
; RVA22U64-PACK-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-PACK-NEXT: ret
;
@@ -1847,50 +1847,50 @@ define <16 x i8> @buildvec_v16i8_loads_gather(ptr %p) {
;
; RVA22U64-LABEL: buildvec_v16i8_loads_gather:
; RVA22U64: # %bb.0:
-; RVA22U64-NEXT: lbu a7, 1(a0)
+; RVA22U64-NEXT: lbu a1, 1(a0)
; RVA22U64-NEXT: lbu a2, 22(a0)
-; RVA22U64-NEXT: lbu t0, 0(a0)
+; RVA22U64-NEXT: lbu a3, 0(a0)
; RVA22U64-NEXT: lbu a4, 31(a0)
-; RVA22U64-NEXT: lbu a6, 623(a0)
-; RVA22U64-NEXT: lbu a5, 44(a0)
-; RVA22U64-NEXT: lbu t1, 55(a0)
-; RVA22U64-NEXT: lbu a3, 75(a0)
-; RVA22U64-NEXT: slli a7, a7, 8
+; RVA22U64-NEXT: lbu a5, 623(a0)
+; RVA22U64-NEXT: lbu a6, 44(a0)
+; RVA22U64-NEXT: lbu a7, 55(a0)
+; RVA22U64-NEXT: lbu t0, 75(a0)
+; RVA22U64-NEXT: slli a1, a1, 8
; RVA22U64-NEXT: slli a2, a2, 16
; RVA22U64-NEXT: slli a4, a4, 24
-; RVA22U64-NEXT: or a1, t0, a7
+; RVA22U64-NEXT: or a1, a1, a3
; RVA22U64-NEXT: or a2, a2, a4
-; RVA22U64-NEXT: lbu a7, 82(a0)
-; RVA22U64-NEXT: or t0, a1, a2
-; RVA22U64-NEXT: slli a5, a5, 32
-; RVA22U64-NEXT: slli t1, t1, 40
-; RVA22U64-NEXT: slli a6, a6, 48
-; RVA22U64-NEXT: slli a3, a3, 56
+; RVA22U64-NEXT: lbu a3, 82(a0)
+; RVA22U64-NEXT: or a1, a1, a2
+; RVA22U64-NEXT: slli a6, a6, 32
+; RVA22U64-NEXT: slli a7, a7, 40
+; RVA22U64-NEXT: slli a5, a5, 48
+; RVA22U64-NEXT: slli t0, t0, 56
; RVA22U64-NEXT: lbu a2, 93(a0)
-; RVA22U64-NEXT: or a5, t1, a5
-; RVA22U64-NEXT: or a3, a3, a6
-; RVA22U64-NEXT: or a3, a3, a5
+; RVA22U64-NEXT: or a4, a7, a6
+; RVA22U64-NEXT: or a5, t0, a5
+; RVA22U64-NEXT: or a4, a4, a5
; RVA22U64-NEXT: lbu a5, 161(a0)
-; RVA22U64-NEXT: lbu a4, 105(a0)
-; RVA22U64-NEXT: lbu t1, 124(a0)
-; RVA22U64-NEXT: lbu a6, 144(a0)
+; RVA22U64-NEXT: lbu a6, 105(a0)
+; RVA22U64-NEXT: lbu a7, 124(a0)
+; RVA22U64-NEXT: lbu t0, 144(a0)
; RVA22U64-NEXT: slli a2, a2, 8
-; RVA22U64-NEXT: lbu a1, 154(a0)
+; RVA22U64-NEXT: lbu t1, 154(a0)
; RVA22U64-NEXT: lbu a0, 163(a0)
-; RVA22U64-NEXT: or a3, t0, a3
-; RVA22U64-NEXT: or a2, a7, a2
-; RVA22U64-NEXT: slli a4, a4, 16
+; RVA22U64-NEXT: or a1, a1, a4
+; RVA22U64-NEXT: or a2, a2, a3
+; RVA22U64-NEXT: slli a6, a6, 16
; RVA22U64-NEXT: slli a5, a5, 24
-; RVA22U64-NEXT: or a4, a4, a5
+; RVA22U64-NEXT: or a3, a5, a6
; RVA22U64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-NEXT: vmv.v.x v8, a3
-; RVA22U64-NEXT: slli t1, t1, 32
+; RVA22U64-NEXT: vmv.v.x v8, a1
+; RVA22U64-NEXT: slli a7, a7, 32
; RVA22U64-NEXT: slli a0, a0, 40
-; RVA22U64-NEXT: slli a6, a6, 48
-; RVA22U64-NEXT: slli a1, a1, 56
-; RVA22U64-NEXT: or a0, a0, t1
-; RVA22U64-NEXT: or a1, a1, a6
-; RVA22U64-NEXT: or a2, a2, a4
+; RVA22U64-NEXT: slli t0, t0, 48
+; RVA22U64-NEXT: slli t1, t1, 56
+; RVA22U64-NEXT: or a0, a0, a7
+; RVA22U64-NEXT: or a1, t1, t0
+; RVA22U64-NEXT: or a2, a2, a3
; RVA22U64-NEXT: or a0, a0, a1
; RVA22U64-NEXT: or a0, a0, a2
; RVA22U64-NEXT: vslide1down.vx v8, v8, a0
@@ -1898,38 +1898,38 @@ define <16 x i8> @buildvec_v16i8_loads_gather(ptr %p) {
;
; RVA22U64-PACK-LABEL: buildvec_v16i8_loads_gather:
; RVA22U64-PACK: # %bb.0:
-; RVA22U64-PACK-NEXT: lbu a6, 0(a0)
-; RVA22U64-PACK-NEXT: lbu a7, 1(a0)
-; RVA22U64-PACK-NEXT: lbu t0, 22(a0)
+; RVA22U64-PACK-NEXT: lbu a1, 0(a0)
+; RVA22U64-PACK-NEXT: lbu a2, 1(a0)
+; RVA22U64-PACK-NEXT: lbu a3, 22(a0)
; RVA22U64-PACK-NEXT: lbu a4, 31(a0)
; RVA22U64-PACK-NEXT: lbu a5, 44(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 55(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 623(a0)
-; RVA22U64-PACK-NEXT: lbu a3, 75(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 55(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 623(a0)
+; RVA22U64-PACK-NEXT: lbu t0, 75(a0)
; RVA22U64-PACK-NEXT: lbu t1, 82(a0)
-; RVA22U64-PACK-NEXT: packh a6, a6, a7
-; RVA22U64-PACK-NEXT: packh t2, t0, a4
-; RVA22U64-PACK-NEXT: packh a7, a5, a1
-; RVA22U64-PACK-NEXT: packh t3, a2, a3
-; RVA22U64-PACK-NEXT: lbu t0, 93(a0)
-; RVA22U64-PACK-NEXT: lbu t4, 154(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 161(a0)
-; RVA22U64-PACK-NEXT: lbu t5, 163(a0)
-; RVA22U64-PACK-NEXT: lbu a4, 105(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 124(a0)
+; RVA22U64-PACK-NEXT: packh a1, a1, a2
+; RVA22U64-PACK-NEXT: packh a2, a3, a4
+; RVA22U64-PACK-NEXT: packh a3, a5, a6
+; RVA22U64-PACK-NEXT: packh a4, a7, t0
+; RVA22U64-PACK-NEXT: lbu a5, 93(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 154(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 161(a0)
+; RVA22U64-PACK-NEXT: lbu t0, 163(a0)
+; RVA22U64-PACK-NEXT: lbu t2, 105(a0)
+; RVA22U64-PACK-NEXT: lbu t3, 124(a0)
; RVA22U64-PACK-NEXT: lbu a0, 144(a0)
-; RVA22U64-PACK-NEXT: packw a5, a6, t2
-; RVA22U64-PACK-NEXT: packw a3, a7, t3
-; RVA22U64-PACK-NEXT: pack a3, a5, a3
-; RVA22U64-PACK-NEXT: packh a5, t1, t0
-; RVA22U64-PACK-NEXT: packh a1, a4, a1
+; RVA22U64-PACK-NEXT: packw a1, a1, a2
+; RVA22U64-PACK-NEXT: packw a2, a3, a4
+; RVA22U64-PACK-NEXT: pack a1, a1, a2
+; RVA22U64-PACK-NEXT: packh a2, t1, a5
+; RVA22U64-PACK-NEXT: packh a3, t2, a7
; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-PACK-NEXT: vmv.v.x v8, a3
-; RVA22U64-PACK-NEXT: packh a2, a2, t5
-; RVA22U64-PACK-NEXT: packh a0, a0, t4
-; RVA22U64-PACK-NEXT: packw a1, a5, a1
-; RVA22U64-PACK-NEXT: packw a0, a2, a0
-; RVA22U64-PACK-NEXT: pack a0, a1, a0
+; RVA22U64-PACK-NEXT: vmv.v.x v8, a1
+; RVA22U64-PACK-NEXT: packh a1, t3, t0
+; RVA22U64-PACK-NEXT: packh a0, a0, a6
+; RVA22U64-PACK-NEXT: packw a2, a2, a3
+; RVA22U64-PACK-NEXT: packw a0, a1, a0
+; RVA22U64-PACK-NEXT: pack a0, a2, a0
; RVA22U64-PACK-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-PACK-NEXT: ret
;
@@ -2126,53 +2126,53 @@ define <16 x i8> @buildvec_v16i8_undef_low_half(ptr %p) {
; RVA22U64: # %bb.0:
; RVA22U64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
; RVA22U64-NEXT: vmv.v.i v8, 0
-; RVA22U64-NEXT: lbu a6, 93(a0)
-; RVA22U64-NEXT: lbu a7, 161(a0)
+; RVA22U64-NEXT: lbu a1, 93(a0)
+; RVA22U64-NEXT: lbu a2, 161(a0)
; RVA22U64-NEXT: lbu a3, 105(a0)
; RVA22U64-NEXT: lbu a4, 82(a0)
; RVA22U64-NEXT: lbu a5, 124(a0)
-; RVA22U64-NEXT: lbu a1, 163(a0)
-; RVA22U64-NEXT: lbu a2, 144(a0)
+; RVA22U64-NEXT: lbu a6, 163(a0)
+; RVA22U64-NEXT: lbu a7, 144(a0)
; RVA22U64-NEXT: lbu a0, 154(a0)
-; RVA22U64-NEXT: slli a6, a6, 8
+; RVA22U64-NEXT: slli a1, a1, 8
; RVA22U64-NEXT: slli a3, a3, 16
-; RVA22U64-NEXT: slli a7, a7, 24
-; RVA22U64-NEXT: or a4, a4, a6
-; RVA22U64-NEXT: or a3, a7, a3
+; RVA22U64-NEXT: slli a2, a2, 24
+; RVA22U64-NEXT: or a1, a1, a4
+; RVA22U64-NEXT: or a2, a2, a3
; RVA22U64-NEXT: slli a5, a5, 32
-; RVA22U64-NEXT: slli a1, a1, 40
-; RVA22U64-NEXT: slli a2, a2, 48
+; RVA22U64-NEXT: slli a6, a6, 40
+; RVA22U64-NEXT: slli a7, a7, 48
; RVA22U64-NEXT: slli a0, a0, 56
-; RVA22U64-NEXT: or a1, a1, a5
-; RVA22U64-NEXT: or a0, a0, a2
-; RVA22U64-NEXT: or a3, a3, a4
-; RVA22U64-NEXT: or a0, a0, a1
+; RVA22U64-NEXT: or a3, a6, a5
+; RVA22U64-NEXT: or a0, a0, a7
+; RVA22U64-NEXT: or a1, a1, a2
; RVA22U64-NEXT: or a0, a0, a3
+; RVA22U64-NEXT: or a0, a0, a1
; RVA22U64-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-NEXT: ret
;
; RVA22U64-PACK-LABEL: buildvec_v16i8_undef_low_half:
; RVA22U64-PACK: # %bb.0:
-; RVA22U64-PACK-NEXT: packh a6, a0, a0
-; RVA22U64-PACK-NEXT: lbu a7, 82(a0)
-; RVA22U64-PACK-NEXT: lbu t0, 93(a0)
-; RVA22U64-PACK-NEXT: lbu t1, 105(a0)
-; RVA22U64-PACK-NEXT: lbu t2, 124(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 161(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 144(a0)
-; RVA22U64-PACK-NEXT: lbu a3, 154(a0)
+; RVA22U64-PACK-NEXT: packh a1, a0, a0
+; RVA22U64-PACK-NEXT: lbu a2, 82(a0)
+; RVA22U64-PACK-NEXT: lbu a3, 93(a0)
+; RVA22U64-PACK-NEXT: lbu a4, 105(a0)
+; RVA22U64-PACK-NEXT: lbu a5, 124(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 161(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 144(a0)
+; RVA22U64-PACK-NEXT: lbu t0, 154(a0)
; RVA22U64-PACK-NEXT: lbu a0, 163(a0)
-; RVA22U64-PACK-NEXT: packw a4, a6, a6
-; RVA22U64-PACK-NEXT: packh a5, a7, t0
-; RVA22U64-PACK-NEXT: pack a4, a4, a4
-; RVA22U64-PACK-NEXT: packh a1, t1, a1
-; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-PACK-NEXT: vmv.v.x v8, a4
-; RVA22U64-PACK-NEXT: packh a0, t2, a0
+; RVA22U64-PACK-NEXT: packw a1, a1, a1
; RVA22U64-PACK-NEXT: packh a2, a2, a3
-; RVA22U64-PACK-NEXT: packw a1, a5, a1
-; RVA22U64-PACK-NEXT: packw a0, a0, a2
-; RVA22U64-PACK-NEXT: pack a0, a1, a0
+; RVA22U64-PACK-NEXT: pack a1, a1, a1
+; RVA22U64-PACK-NEXT: packh a3, a4, a6
+; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
+; RVA22U64-PACK-NEXT: vmv.v.x v8, a1
+; RVA22U64-PACK-NEXT: packh a0, a5, a0
+; RVA22U64-PACK-NEXT: packh a1, a7, t0
+; RVA22U64-PACK-NEXT: packw a2, a2, a3
+; RVA22U64-PACK-NEXT: packw a0, a0, a1
+; RVA22U64-PACK-NEXT: pack a0, a2, a0
; RVA22U64-PACK-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-PACK-NEXT: ret
;
@@ -2326,28 +2326,28 @@ define <16 x i8> @buildvec_v16i8_undef_high_half(ptr %p) {
;
; RVA22U64-LABEL: buildvec_v16i8_undef_high_half:
; RVA22U64: # %bb.0:
-; RVA22U64-NEXT: lbu a6, 1(a0)
-; RVA22U64-NEXT: lbu a7, 22(a0)
+; RVA22U64-NEXT: lbu a1, 1(a0)
+; RVA22U64-NEXT: lbu a2, 22(a0)
; RVA22U64-NEXT: lbu a3, 31(a0)
; RVA22U64-NEXT: lbu a4, 0(a0)
; RVA22U64-NEXT: lbu a5, 623(a0)
-; RVA22U64-NEXT: lbu a1, 44(a0)
-; RVA22U64-NEXT: lbu a2, 55(a0)
+; RVA22U64-NEXT: lbu a6, 44(a0)
+; RVA22U64-NEXT: lbu a7, 55(a0)
; RVA22U64-NEXT: lbu a0, 75(a0)
-; RVA22U64-NEXT: slli a6, a6, 8
-; RVA22U64-NEXT: slli a7, a7, 16
+; RVA22U64-NEXT: slli a1, a1, 8
+; RVA22U64-NEXT: slli a2, a2, 16
; RVA22U64-NEXT: slli a3, a3, 24
-; RVA22U64-NEXT: or a4, a4, a6
-; RVA22U64-NEXT: or a3, a3, a7
-; RVA22U64-NEXT: slli a1, a1, 32
-; RVA22U64-NEXT: slli a2, a2, 40
+; RVA22U64-NEXT: or a1, a1, a4
+; RVA22U64-NEXT: or a2, a2, a3
+; RVA22U64-NEXT: slli a6, a6, 32
+; RVA22U64-NEXT: slli a7, a7, 40
; RVA22U64-NEXT: slli a5, a5, 48
; RVA22U64-NEXT: slli a0, a0, 56
-; RVA22U64-NEXT: or a1, a1, a2
+; RVA22U64-NEXT: or a3, a7, a6
; RVA22U64-NEXT: or a0, a0, a5
-; RVA22U64-NEXT: or a3, a3, a4
-; RVA22U64-NEXT: or a0, a0, a1
+; RVA22U64-NEXT: or a1, a1, a2
; RVA22U64-NEXT: or a0, a0, a3
+; RVA22U64-NEXT: or a0, a0, a1
; RVA22U64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
; RVA22U64-NEXT: vmv.v.x v8, a0
; RVA22U64-NEXT: vslide1down.vx v8, v8, zero
@@ -2355,21 +2355,21 @@ define <16 x i8> @buildvec_v16i8_undef_high_half(ptr %p) {
;
; RVA22U64-PACK-LABEL: buildvec_v16i8_undef_high_half:
; RVA22U64-PACK: # %bb.0:
-; RVA22U64-PACK-NEXT: lbu a6, 0(a0)
-; RVA22U64-PACK-NEXT: lbu a7, 1(a0)
-; RVA22U64-PACK-NEXT: lbu t0, 22(a0)
+; RVA22U64-PACK-NEXT: lbu a1, 0(a0)
+; RVA22U64-PACK-NEXT: lbu a2, 1(a0)
+; RVA22U64-PACK-NEXT: lbu a3, 22(a0)
; RVA22U64-PACK-NEXT: lbu a4, 31(a0)
; RVA22U64-PACK-NEXT: lbu a5, 623(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 44(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 55(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 44(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 55(a0)
; RVA22U64-PACK-NEXT: lbu a0, 75(a0)
-; RVA22U64-PACK-NEXT: packh a3, a6, a7
-; RVA22U64-PACK-NEXT: packh a4, t0, a4
; RVA22U64-PACK-NEXT: packh a1, a1, a2
+; RVA22U64-PACK-NEXT: packh a2, a3, a4
+; RVA22U64-PACK-NEXT: packh a3, a6, a7
; RVA22U64-PACK-NEXT: packh a0, a5, a0
-; RVA22U64-PACK-NEXT: packw a2, a3, a4
-; RVA22U64-PACK-NEXT: packw a0, a1, a0
-; RVA22U64-PACK-NEXT: pack a0, a2, a0
+; RVA22U64-PACK-NEXT: packw a1, a1, a2
+; RVA22U64-PACK-NEXT: packw a0, a3, a0
+; RVA22U64-PACK-NEXT: pack a0, a1, a0
; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
; RVA22U64-PACK-NEXT: vmv.v.x v8, a0
; RVA22U64-PACK-NEXT: packh a0, a0, a0
@@ -2556,9 +2556,9 @@ define <16 x i8> @buildvec_v16i8_undef_edges(ptr %p) {
; RVA22U64-NEXT: slli a4, a4, 56
; RVA22U64-NEXT: or a1, a1, a2
; RVA22U64-NEXT: or a3, a3, a4
-; RVA22U64-NEXT: lbu a6, 82(a0)
+; RVA22U64-NEXT: lbu a2, 82(a0)
; RVA22U64-NEXT: lbu a4, 93(a0)
-; RVA22U64-NEXT: lbu a2, 105(a0)
+; RVA22U64-NEXT: lbu a6, 105(a0)
; RVA22U64-NEXT: lbu a0, 161(a0)
; RVA22U64-NEXT: or a1, a1, a3
; RVA22U64-NEXT: slli a5, a5, 24
@@ -2566,38 +2566,38 @@ define <16 x i8> @buildvec_v16i8_undef_edges(ptr %p) {
; RVA22U64-NEXT: slli a4, a4, 8
; RVA22U64-NEXT: vsetivli zero, 2, e64, m1, ta, ma
; RVA22U64-NEXT: vmv.v.x v8, a1
-; RVA22U64-NEXT: slli a2, a2, 16
+; RVA22U64-NEXT: slli a6, a6, 16
; RVA22U64-NEXT: slli a0, a0, 24
-; RVA22U64-NEXT: or a1, a6, a4
+; RVA22U64-NEXT: or a2, a2, a4
+; RVA22U64-NEXT: or a0, a0, a6
; RVA22U64-NEXT: or a0, a0, a2
-; RVA22U64-NEXT: or a0, a0, a1
; RVA22U64-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-NEXT: ret
;
; RVA22U64-PACK-LABEL: buildvec_v16i8_undef_edges:
; RVA22U64-PACK: # %bb.0:
-; RVA22U64-PACK-NEXT: packh a6, a0, a0
+; RVA22U64-PACK-NEXT: packh a1, a0, a0
; RVA22U64-PACK-NEXT: lbu a2, 623(a0)
; RVA22U64-PACK-NEXT: lbu a3, 31(a0)
; RVA22U64-PACK-NEXT: lbu a4, 44(a0)
; RVA22U64-PACK-NEXT: lbu a5, 55(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 75(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 75(a0)
; RVA22U64-PACK-NEXT: packh a3, a0, a3
; RVA22U64-PACK-NEXT: packh a4, a4, a5
-; RVA22U64-PACK-NEXT: packh a1, a2, a1
-; RVA22U64-PACK-NEXT: lbu a7, 82(a0)
-; RVA22U64-PACK-NEXT: lbu a5, 93(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 105(a0)
+; RVA22U64-PACK-NEXT: packh a2, a2, a6
+; RVA22U64-PACK-NEXT: lbu a5, 82(a0)
+; RVA22U64-PACK-NEXT: lbu a6, 93(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 105(a0)
; RVA22U64-PACK-NEXT: lbu a0, 161(a0)
-; RVA22U64-PACK-NEXT: packw a1, a4, a1
-; RVA22U64-PACK-NEXT: packw a3, a6, a3
-; RVA22U64-PACK-NEXT: pack a1, a3, a1
+; RVA22U64-PACK-NEXT: packw a2, a4, a2
+; RVA22U64-PACK-NEXT: packw a3, a1, a3
+; RVA22U64-PACK-NEXT: pack a2, a3, a2
; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-PACK-NEXT: vmv.v.x v8, a1
-; RVA22U64-PACK-NEXT: packh a1, a7, a5
-; RVA22U64-PACK-NEXT: packh a0, a2, a0
-; RVA22U64-PACK-NEXT: packw a0, a1, a0
-; RVA22U64-PACK-NEXT: packw a1, a6, a6
+; RVA22U64-PACK-NEXT: vmv.v.x v8, a2
+; RVA22U64-PACK-NEXT: packh a2, a5, a6
+; RVA22U64-PACK-NEXT: packh a0, a7, a0
+; RVA22U64-PACK-NEXT: packw a0, a2, a0
+; RVA22U64-PACK-NEXT: packw a1, a1, a1
; RVA22U64-PACK-NEXT: pack a0, a0, a1
; RVA22U64-PACK-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-PACK-NEXT: ret
@@ -2824,30 +2824,30 @@ define <16 x i8> @buildvec_v16i8_loads_undef_scattered(ptr %p) {
;
; RVA22U64-PACK-LABEL: buildvec_v16i8_loads_undef_scattered:
; RVA22U64-PACK: # %bb.0:
-; RVA22U64-PACK-NEXT: packh a6, a0, a0
+; RVA22U64-PACK-NEXT: packh a1, a0, a0
; RVA22U64-PACK-NEXT: lbu a2, 0(a0)
; RVA22U64-PACK-NEXT: lbu a3, 1(a0)
; RVA22U64-PACK-NEXT: lbu a4, 44(a0)
; RVA22U64-PACK-NEXT: lbu a5, 55(a0)
-; RVA22U64-PACK-NEXT: lbu a1, 75(a0)
-; RVA22U64-PACK-NEXT: packh a7, a2, a3
+; RVA22U64-PACK-NEXT: lbu a6, 75(a0)
+; RVA22U64-PACK-NEXT: packh a2, a2, a3
; RVA22U64-PACK-NEXT: lbu a3, 82(a0)
-; RVA22U64-PACK-NEXT: lbu a2, 93(a0)
+; RVA22U64-PACK-NEXT: lbu a7, 93(a0)
; RVA22U64-PACK-NEXT: lbu t0, 124(a0)
; RVA22U64-PACK-NEXT: packh a4, a4, a5
-; RVA22U64-PACK-NEXT: packh a1, a0, a1
-; RVA22U64-PACK-NEXT: lbu a5, 144(a0)
+; RVA22U64-PACK-NEXT: packh a5, a0, a6
+; RVA22U64-PACK-NEXT: lbu a6, 144(a0)
; RVA22U64-PACK-NEXT: lbu a0, 154(a0)
-; RVA22U64-PACK-NEXT: packw a1, a4, a1
-; RVA22U64-PACK-NEXT: packw a4, a7, a6
-; RVA22U64-PACK-NEXT: pack a1, a4, a1
-; RVA22U64-PACK-NEXT: packh a2, a3, a2
+; RVA22U64-PACK-NEXT: packw a4, a4, a5
+; RVA22U64-PACK-NEXT: packw a2, a2, a1
+; RVA22U64-PACK-NEXT: pack a2, a2, a4
+; RVA22U64-PACK-NEXT: packh a3, a3, a7
; RVA22U64-PACK-NEXT: vsetivli zero, 2, e64, m1, ta, ma
-; RVA22U64-PACK-NEXT: vmv.v.x v8, a1
-; RVA22U64-PACK-NEXT: packh a0, a5, a0
-; RVA22U64-PACK-NEXT: packh a1, t0, a0
-; RVA22U64-PACK-NEXT: packw a0, a1, a0
-; RVA22U64-PACK-NEXT: packw a1, a2, a6
+; RVA22U64-PACK-NEXT: vmv.v.x v8, a2
+; RVA22U64-PACK-NEXT: packh a0, a6, a0
+; RVA22U64-PACK-NEXT: packh a2, t0, a0
+; RVA22U64-PACK-NEXT: packw a0, a2, a0
+; RVA22U64-PACK-NEXT: packw a1, a3, a1
; RVA22U64-PACK-NEXT: pack a0, a1, a0
; RVA22U64-PACK-NEXT: vslide1down.vx v8, v8, a0
; RVA22U64-PACK-NEXT: ret
diff --git a/llvm/test/CodeGen/RISCV/rvv/nontemporal-vp-scalable.ll b/llvm/test/CodeGen/RISCV/rvv/nontemporal-vp-scalable.ll
index c5b1572c0cd6c..2daba2d57367f 100644
--- a/llvm/test/CodeGen/RISCV/rvv/nontemporal-vp-scalable.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/nontemporal-vp-scalable.ll
@@ -29463,18 +29463,18 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_P1(<vscale x 32 x
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB850_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -29486,9 +29486,9 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_P1(<vscale x 32 x
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v26, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB850_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB850_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB850_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -29638,18 +29638,18 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_PALL(<vscale x 32
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB851_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -29661,9 +29661,9 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_PALL(<vscale x 32
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v26, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB851_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB851_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB851_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -29813,18 +29813,18 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_S1(<vscale x 32 x
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB852_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -29836,9 +29836,9 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_S1(<vscale x 32 x
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v26, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB852_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB852_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB852_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -29988,18 +29988,18 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_ALL(<vscale x 32 x
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB853_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -30011,9 +30011,9 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_ALL(<vscale x 32 x
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v26, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB853_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB853_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB853_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -30162,18 +30162,18 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_DEFAULT(<vscale x
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB854_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -30185,9 +30185,9 @@ define <vscale x 32 x i8> @test_nontemporal_vp_gather_nxv32i8_DEFAULT(<vscale x
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v26, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB854_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB854_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB854_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -30378,26 +30378,26 @@ define void @test_nontemporal_vp_scatter_nxv32i8_P1(<vscale x 32 x i8> %val, <vs
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs4r.v v8, (a1) # vscale x 32-byte Folded Spill
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB855_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB855_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB855_4
; CHECK-RV64VC-NEXT: # %bb.3:
; CHECK-RV64VC-NEXT: mv a0, a1
; CHECK-RV64VC-NEXT: .LBB855_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v8, (a6) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
; CHECK-RV64VC-NEXT: csrr a5, vlenb
; CHECK-RV64VC-NEXT: slli a5, a5, 4
; CHECK-RV64VC-NEXT: add a5, a5, sp
@@ -30615,26 +30615,26 @@ define void @test_nontemporal_vp_scatter_nxv32i8_PALL(<vscale x 32 x i8> %val, <
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs4r.v v8, (a1) # vscale x 32-byte Folded Spill
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB856_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB856_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB856_4
; CHECK-RV64VC-NEXT: # %bb.3:
; CHECK-RV64VC-NEXT: mv a0, a1
; CHECK-RV64VC-NEXT: .LBB856_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v8, (a6) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
; CHECK-RV64VC-NEXT: csrr a5, vlenb
; CHECK-RV64VC-NEXT: slli a5, a5, 4
; CHECK-RV64VC-NEXT: add a5, a5, sp
@@ -30852,26 +30852,26 @@ define void @test_nontemporal_vp_scatter_nxv32i8_S1(<vscale x 32 x i8> %val, <vs
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs4r.v v8, (a1) # vscale x 32-byte Folded Spill
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB857_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB857_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB857_4
; CHECK-RV64VC-NEXT: # %bb.3:
; CHECK-RV64VC-NEXT: mv a0, a1
; CHECK-RV64VC-NEXT: .LBB857_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v8, (a6) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
; CHECK-RV64VC-NEXT: csrr a5, vlenb
; CHECK-RV64VC-NEXT: slli a5, a5, 4
; CHECK-RV64VC-NEXT: add a5, a5, sp
@@ -31089,26 +31089,26 @@ define void @test_nontemporal_vp_scatter_nxv32i8_ALL(<vscale x 32 x i8> %val, <v
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs4r.v v8, (a1) # vscale x 32-byte Folded Spill
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB858_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB858_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB858_4
; CHECK-RV64VC-NEXT: # %bb.3:
; CHECK-RV64VC-NEXT: mv a0, a1
; CHECK-RV64VC-NEXT: .LBB858_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v8, (a6) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
; CHECK-RV64VC-NEXT: csrr a5, vlenb
; CHECK-RV64VC-NEXT: slli a5, a5, 4
; CHECK-RV64VC-NEXT: add a5, a5, sp
@@ -31325,26 +31325,26 @@ define void @test_nontemporal_vp_scatter_nxv32i8_DEFAULT(<vscale x 32 x i8> %val
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs4r.v v8, (a1) # vscale x 32-byte Folded Spill
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB859_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB859_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a6, a6, a0
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB859_4
; CHECK-RV64VC-NEXT: # %bb.3:
; CHECK-RV64VC-NEXT: mv a0, a1
; CHECK-RV64VC-NEXT: .LBB859_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v8, (a6) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v8, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
; CHECK-RV64VC-NEXT: csrr a5, vlenb
; CHECK-RV64VC-NEXT: slli a5, a5, 4
; CHECK-RV64VC-NEXT: add a5, a5, sp
@@ -32177,18 +32177,18 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_P1(<vscale x 32
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB880_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -32200,9 +32200,9 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_P1(<vscale x 32
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB880_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB880_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB880_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -32352,18 +32352,18 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_PALL(<vscale x 3
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB881_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -32375,9 +32375,9 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_PALL(<vscale x 3
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB881_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB881_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB881_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -32527,18 +32527,18 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_S1(<vscale x 32
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB882_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -32550,9 +32550,9 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_S1(<vscale x 32
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB882_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB882_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB882_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -32702,18 +32702,18 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_ALL(<vscale x 32
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB883_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -32725,9 +32725,9 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_ALL(<vscale x 32
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB883_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB883_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB883_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -32876,18 +32876,18 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_DEFAULT(<vscale
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 1
-; CHECK-RV64VC-NEXT: sub a4, a2, a6
+; CHECK-RV64VC-NEXT: slli a3, a1, 1
+; CHECK-RV64VC-NEXT: sub a4, a2, a3
; CHECK-RV64VC-NEXT: sltu a5, a2, a4
; CHECK-RV64VC-NEXT: addi a5, a5, -1
; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, a1
-; CHECK-RV64VC-NEXT: sltu a3, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: slli a7, a1, 3
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
; CHECK-RV64VC-NEXT: add a0, a0, a7
-; CHECK-RV64VC-NEXT: and a3, a3, a5
-; CHECK-RV64VC-NEXT: vsetvli zero, a3, e64, m8, ta, ma
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
; CHECK-RV64VC-NEXT: vle64.v v0, (a0)
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB884_2
; CHECK-RV64VC-NEXT: # %bb.1:
@@ -32899,9 +32899,9 @@ define <vscale x 32 x i16> @test_nontemporal_vp_gather_nxv32i16_DEFAULT(<vscale
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a2, a6, .LBB884_4
+; CHECK-RV64VC-NEXT: bltu a2, a3, .LBB884_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a2, a6
+; CHECK-RV64VC-NEXT: mv a2, a3
; CHECK-RV64VC-NEXT: .LBB884_4:
; CHECK-RV64VC-NEXT: sub a0, a2, a1
; CHECK-RV64VC-NEXT: sltu a3, a2, a0
@@ -33047,21 +33047,21 @@ define void @test_nontemporal_vp_scatter_nxv32i16_P1(<vscale x 32 x i16> %val, <
; CHECK-RV64VC-LABEL: test_nontemporal_vp_scatter_nxv32i16_P1:
; CHECK-RV64VC: # %bb.0:
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB885_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB885_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
-; CHECK-RV64VC-NEXT: add a0, a0, a5
-; CHECK-RV64VC-NEXT: mv a5, a4
+; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a0, a0, a6
+; CHECK-RV64VC-NEXT: mv a6, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB885_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a5, a1
+; CHECK-RV64VC-NEXT: mv a6, a1
; CHECK-RV64VC-NEXT: .LBB885_4:
; CHECK-RV64VC-NEXT: addi sp, sp, -16
; CHECK-RV64VC-NEXT: .cfi_def_cfa_offset 16
@@ -33069,11 +33069,11 @@ define void @test_nontemporal_vp_scatter_nxv32i16_P1(<vscale x 32 x i16> %val, <
; CHECK-RV64VC-NEXT: slli a7, a7, 3
; CHECK-RV64VC-NEXT: sub sp, sp, a7
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v24, (a0)
-; CHECK-RV64VC-NEXT: vsetvli zero, a5, e16, m2, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a6, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vsoxei64.v v8, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, a1
@@ -33232,21 +33232,21 @@ define void @test_nontemporal_vp_scatter_nxv32i16_PALL(<vscale x 32 x i16> %val,
; CHECK-RV64VC-LABEL: test_nontemporal_vp_scatter_nxv32i16_PALL:
; CHECK-RV64VC: # %bb.0:
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB886_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB886_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
-; CHECK-RV64VC-NEXT: add a0, a0, a5
-; CHECK-RV64VC-NEXT: mv a5, a4
+; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a0, a0, a6
+; CHECK-RV64VC-NEXT: mv a6, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB886_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a5, a1
+; CHECK-RV64VC-NEXT: mv a6, a1
; CHECK-RV64VC-NEXT: .LBB886_4:
; CHECK-RV64VC-NEXT: addi sp, sp, -16
; CHECK-RV64VC-NEXT: .cfi_def_cfa_offset 16
@@ -33254,11 +33254,11 @@ define void @test_nontemporal_vp_scatter_nxv32i16_PALL(<vscale x 32 x i16> %val,
; CHECK-RV64VC-NEXT: slli a7, a7, 3
; CHECK-RV64VC-NEXT: sub sp, sp, a7
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v24, (a0)
-; CHECK-RV64VC-NEXT: vsetvli zero, a5, e16, m2, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a6, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vsoxei64.v v8, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, a1
@@ -33417,21 +33417,21 @@ define void @test_nontemporal_vp_scatter_nxv32i16_S1(<vscale x 32 x i16> %val, <
; CHECK-RV64VC-LABEL: test_nontemporal_vp_scatter_nxv32i16_S1:
; CHECK-RV64VC: # %bb.0:
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB887_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB887_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
-; CHECK-RV64VC-NEXT: add a0, a0, a5
-; CHECK-RV64VC-NEXT: mv a5, a4
+; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a0, a0, a6
+; CHECK-RV64VC-NEXT: mv a6, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB887_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a5, a1
+; CHECK-RV64VC-NEXT: mv a6, a1
; CHECK-RV64VC-NEXT: .LBB887_4:
; CHECK-RV64VC-NEXT: addi sp, sp, -16
; CHECK-RV64VC-NEXT: .cfi_def_cfa_offset 16
@@ -33439,11 +33439,11 @@ define void @test_nontemporal_vp_scatter_nxv32i16_S1(<vscale x 32 x i16> %val, <
; CHECK-RV64VC-NEXT: slli a7, a7, 3
; CHECK-RV64VC-NEXT: sub sp, sp, a7
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v24, (a0)
-; CHECK-RV64VC-NEXT: vsetvli zero, a5, e16, m2, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a6, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vsoxei64.v v8, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, a1
@@ -33602,21 +33602,21 @@ define void @test_nontemporal_vp_scatter_nxv32i16_ALL(<vscale x 32 x i16> %val,
; CHECK-RV64VC-LABEL: test_nontemporal_vp_scatter_nxv32i16_ALL:
; CHECK-RV64VC: # %bb.0:
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB888_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB888_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
-; CHECK-RV64VC-NEXT: add a0, a0, a5
-; CHECK-RV64VC-NEXT: mv a5, a4
+; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a0, a0, a6
+; CHECK-RV64VC-NEXT: mv a6, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB888_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a5, a1
+; CHECK-RV64VC-NEXT: mv a6, a1
; CHECK-RV64VC-NEXT: .LBB888_4:
; CHECK-RV64VC-NEXT: addi sp, sp, -16
; CHECK-RV64VC-NEXT: .cfi_def_cfa_offset 16
@@ -33624,11 +33624,11 @@ define void @test_nontemporal_vp_scatter_nxv32i16_ALL(<vscale x 32 x i16> %val,
; CHECK-RV64VC-NEXT: slli a7, a7, 3
; CHECK-RV64VC-NEXT: sub sp, sp, a7
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v24, (a0)
-; CHECK-RV64VC-NEXT: vsetvli zero, a5, e16, m2, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a6, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v8, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, a1
@@ -33786,21 +33786,21 @@ define void @test_nontemporal_vp_scatter_nxv32i16_DEFAULT(<vscale x 32 x i16> %v
; CHECK-RV64VC-LABEL: test_nontemporal_vp_scatter_nxv32i16_DEFAULT:
; CHECK-RV64VC: # %bb.0:
; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a6, a1, 4
+; CHECK-RV64VC-NEXT: slli a5, a1, 4
; CHECK-RV64VC-NEXT: slli a2, a1, 1
-; CHECK-RV64VC-NEXT: slli a5, a1, 3
+; CHECK-RV64VC-NEXT: slli a6, a1, 3
; CHECK-RV64VC-NEXT: mv a4, a3
; CHECK-RV64VC-NEXT: bltu a3, a2, .LBB889_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, a2
; CHECK-RV64VC-NEXT: .LBB889_2:
; CHECK-RV64VC-NEXT: vl8re64.v v0, (a0)
-; CHECK-RV64VC-NEXT: add a6, a6, a0
-; CHECK-RV64VC-NEXT: add a0, a0, a5
-; CHECK-RV64VC-NEXT: mv a5, a4
+; CHECK-RV64VC-NEXT: add a5, a5, a0
+; CHECK-RV64VC-NEXT: add a0, a0, a6
+; CHECK-RV64VC-NEXT: mv a6, a4
; CHECK-RV64VC-NEXT: bltu a4, a1, .LBB889_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a5, a1
+; CHECK-RV64VC-NEXT: mv a6, a1
; CHECK-RV64VC-NEXT: .LBB889_4:
; CHECK-RV64VC-NEXT: addi sp, sp, -16
; CHECK-RV64VC-NEXT: .cfi_def_cfa_offset 16
@@ -33808,11 +33808,11 @@ define void @test_nontemporal_vp_scatter_nxv32i16_DEFAULT(<vscale x 32 x i16> %v
; CHECK-RV64VC-NEXT: slli a7, a7, 3
; CHECK-RV64VC-NEXT: sub sp, sp, a7
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV64VC-NEXT: vl8re64.v v24, (a6)
-; CHECK-RV64VC-NEXT: addi a6, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v24, (a5)
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v24, (a0)
-; CHECK-RV64VC-NEXT: vsetvli zero, a5, e16, m2, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a6, e16, m2, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v8, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, a1
@@ -34881,50 +34881,50 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_P1(<vscale x 64 x
; CHECK-RV64VC-NEXT: li a1, 40
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: sub a1, s1, a6
-; CHECK-RV64VC-NEXT: sltu a2, s1, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a3, a2, a1
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: sub a2, a3, a7
-; CHECK-RV64VC-NEXT: sltu a4, a3, a2
-; CHECK-RV64VC-NEXT: addi a4, a4, -1
-; CHECK-RV64VC-NEXT: and a4, a4, a2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: sub a1, s1, a2
+; CHECK-RV64VC-NEXT: sltu a3, s1, a1
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a1
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: sub a4, a3, a1
+; CHECK-RV64VC-NEXT: sltu a5, a3, a4
+; CHECK-RV64VC-NEXT: addi a5, a5, -1
+; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, s0
-; CHECK-RV64VC-NEXT: sltu a2, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB910_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, s0
; CHECK-RV64VC-NEXT: .LBB910_2:
-; CHECK-RV64VC-NEXT: addi t0, a2, -1
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB910_4
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB910_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a3, a7
+; CHECK-RV64VC-NEXT: mv a3, a1
; CHECK-RV64VC-NEXT: .LBB910_4:
-; CHECK-RV64VC-NEXT: sub a1, a3, s0
-; CHECK-RV64VC-NEXT: sltu a2, a3, a1
-; CHECK-RV64VC-NEXT: and a5, t0, a5
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: add a0, a0, s2
-; CHECK-RV64VC-NEXT: and a1, a1, a2
+; CHECK-RV64VC-NEXT: sub a7, a3, s0
+; CHECK-RV64VC-NEXT: sltu t0, a3, a7
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: addi t0, t0, -1
+; CHECK-RV64VC-NEXT: add a6, s2, a0
+; CHECK-RV64VC-NEXT: and a0, t0, a7
; CHECK-RV64VC-NEXT: bltu a3, s0, .LBB910_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB910_6:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
-; CHECK-RV64VC-NEXT: vle64.v v16, (a0)
-; CHECK-RV64VC-NEXT: addi a0, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vle64.v v16, (a6)
+; CHECK-RV64VC-NEXT: addi a6, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a6) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v14, (zero), v24
-; CHECK-RV64VC-NEXT: csrr a0, vlenb
-; CHECK-RV64VC-NEXT: slli a0, a0, 3
-; CHECK-RV64VC-NEXT: add a0, a0, sp
-; CHECK-RV64VC-NEXT: addi a0, a0, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v13, (zero), v24
; CHECK-RV64VC-NEXT: csrr a0, vlenb
@@ -34935,43 +34935,43 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_P1(<vscale x 64 x
; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v12, (zero), v24
-; CHECK-RV64VC-NEXT: bltu s1, a6, .LBB910_8
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB910_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv s1, a6
+; CHECK-RV64VC-NEXT: mv s1, a2
; CHECK-RV64VC-NEXT: .LBB910_8:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v15, (zero), v16
; CHECK-RV64VC-NEXT: vl8re64.v v16, (s2)
-; CHECK-RV64VC-NEXT: sub a0, s1, a7
-; CHECK-RV64VC-NEXT: sltu a1, s1, a0
-; CHECK-RV64VC-NEXT: addi a1, a1, -1
-; CHECK-RV64VC-NEXT: and a0, a0, a1
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sltu a2, a0, a1
+; CHECK-RV64VC-NEXT: sub a0, s1, a1
+; CHECK-RV64VC-NEXT: sltu a2, s1, a0
; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
+; CHECK-RV64VC-NEXT: and a0, a0, a2
+; CHECK-RV64VC-NEXT: sub a2, a0, s0
+; CHECK-RV64VC-NEXT: sltu a3, a0, a2
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a2, a2, a3
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB910_10
; CHECK-RV64VC-NEXT: # %bb.9:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB910_10:
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: mv a3, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a3, vlenb
+; CHECK-RV64VC-NEXT: slli a3, a3, 3
+; CHECK-RV64VC-NEXT: mv a4, a3
+; CHECK-RV64VC-NEXT: slli a3, a3, 1
+; CHECK-RV64VC-NEXT: add a3, a3, a4
+; CHECK-RV64VC-NEXT: add a3, a3, sp
+; CHECK-RV64VC-NEXT: addi a3, a3, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v11, (zero), v24
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vluxei64.v v10, (zero), v16
-; CHECK-RV64VC-NEXT: bltu s1, a7, .LBB910_12
+; CHECK-RV64VC-NEXT: bltu s1, a1, .LBB910_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv s1, a7
+; CHECK-RV64VC-NEXT: mv s1, a1
; CHECK-RV64VC-NEXT: .LBB910_12:
; CHECK-RV64VC-NEXT: sub a0, s1, s0
; CHECK-RV64VC-NEXT: sltu a1, s1, a0
@@ -35031,19 +35031,19 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_P1(<vscale x 64 x
; CHECK-RV32VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v8, (a0)
; CHECK-RV32VC-NEXT: csrr a5, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a5, 2
-; CHECK-RV32VC-NEXT: sub a1, a2, a6
+; CHECK-RV32VC-NEXT: slli a3, a5, 2
+; CHECK-RV32VC-NEXT: sub a1, a2, a3
; CHECK-RV32VC-NEXT: sltu a4, a2, a1
; CHECK-RV32VC-NEXT: addi a4, a4, -1
; CHECK-RV32VC-NEXT: and a4, a4, a1
; CHECK-RV32VC-NEXT: slli a1, a5, 1
-; CHECK-RV32VC-NEXT: sub a3, a4, a1
-; CHECK-RV32VC-NEXT: sltu a7, a4, a3
+; CHECK-RV32VC-NEXT: sub a6, a4, a1
+; CHECK-RV32VC-NEXT: sltu a7, a4, a6
; CHECK-RV32VC-NEXT: slli a5, a5, 3
; CHECK-RV32VC-NEXT: addi a7, a7, -1
; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: and a3, a7, a3
-; CHECK-RV32VC-NEXT: vsetvli zero, a3, e32, m8, ta, ma
+; CHECK-RV32VC-NEXT: and a5, a7, a6
+; CHECK-RV32VC-NEXT: vsetvli zero, a5, e32, m8, ta, ma
; CHECK-RV32VC-NEXT: vle32.v v0, (a0)
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB910_2
; CHECK-RV32VC-NEXT: # %bb.1:
@@ -35055,9 +35055,9 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_P1(<vscale x 64 x
; CHECK-RV32VC-NEXT: vsetvli zero, a4, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.p1
; CHECK-RV32VC-NEXT: vluxei32.v v28, (zero), v8
-; CHECK-RV32VC-NEXT: bltu a2, a6, .LBB910_4
+; CHECK-RV32VC-NEXT: bltu a2, a3, .LBB910_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a2, a6
+; CHECK-RV32VC-NEXT: mv a2, a3
; CHECK-RV32VC-NEXT: .LBB910_4:
; CHECK-RV32VC-NEXT: sub a0, a2, a1
; CHECK-RV32VC-NEXT: sltu a3, a2, a0
@@ -35436,50 +35436,50 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_PALL(<vscale x 64
; CHECK-RV64VC-NEXT: li a1, 40
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: sub a1, s1, a6
-; CHECK-RV64VC-NEXT: sltu a2, s1, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a3, a2, a1
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: sub a2, a3, a7
-; CHECK-RV64VC-NEXT: sltu a4, a3, a2
-; CHECK-RV64VC-NEXT: addi a4, a4, -1
-; CHECK-RV64VC-NEXT: and a4, a4, a2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: sub a1, s1, a2
+; CHECK-RV64VC-NEXT: sltu a3, s1, a1
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a1
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: sub a4, a3, a1
+; CHECK-RV64VC-NEXT: sltu a5, a3, a4
+; CHECK-RV64VC-NEXT: addi a5, a5, -1
+; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, s0
-; CHECK-RV64VC-NEXT: sltu a2, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB911_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, s0
; CHECK-RV64VC-NEXT: .LBB911_2:
-; CHECK-RV64VC-NEXT: addi t0, a2, -1
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB911_4
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB911_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a3, a7
+; CHECK-RV64VC-NEXT: mv a3, a1
; CHECK-RV64VC-NEXT: .LBB911_4:
-; CHECK-RV64VC-NEXT: sub a1, a3, s0
-; CHECK-RV64VC-NEXT: sltu a2, a3, a1
-; CHECK-RV64VC-NEXT: and a5, t0, a5
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: add a0, a0, s2
-; CHECK-RV64VC-NEXT: and a1, a1, a2
+; CHECK-RV64VC-NEXT: sub a7, a3, s0
+; CHECK-RV64VC-NEXT: sltu t0, a3, a7
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: addi t0, t0, -1
+; CHECK-RV64VC-NEXT: add a6, s2, a0
+; CHECK-RV64VC-NEXT: and a0, t0, a7
; CHECK-RV64VC-NEXT: bltu a3, s0, .LBB911_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB911_6:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
-; CHECK-RV64VC-NEXT: vle64.v v16, (a0)
-; CHECK-RV64VC-NEXT: addi a0, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vle64.v v16, (a6)
+; CHECK-RV64VC-NEXT: addi a6, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a6) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v14, (zero), v24
-; CHECK-RV64VC-NEXT: csrr a0, vlenb
-; CHECK-RV64VC-NEXT: slli a0, a0, 3
-; CHECK-RV64VC-NEXT: add a0, a0, sp
-; CHECK-RV64VC-NEXT: addi a0, a0, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v13, (zero), v24
; CHECK-RV64VC-NEXT: csrr a0, vlenb
@@ -35490,43 +35490,43 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_PALL(<vscale x 64
; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v12, (zero), v24
-; CHECK-RV64VC-NEXT: bltu s1, a6, .LBB911_8
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB911_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv s1, a6
+; CHECK-RV64VC-NEXT: mv s1, a2
; CHECK-RV64VC-NEXT: .LBB911_8:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v15, (zero), v16
; CHECK-RV64VC-NEXT: vl8re64.v v16, (s2)
-; CHECK-RV64VC-NEXT: sub a0, s1, a7
-; CHECK-RV64VC-NEXT: sltu a1, s1, a0
-; CHECK-RV64VC-NEXT: addi a1, a1, -1
-; CHECK-RV64VC-NEXT: and a0, a0, a1
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sltu a2, a0, a1
+; CHECK-RV64VC-NEXT: sub a0, s1, a1
+; CHECK-RV64VC-NEXT: sltu a2, s1, a0
; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
+; CHECK-RV64VC-NEXT: and a0, a0, a2
+; CHECK-RV64VC-NEXT: sub a2, a0, s0
+; CHECK-RV64VC-NEXT: sltu a3, a0, a2
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a2, a2, a3
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB911_10
; CHECK-RV64VC-NEXT: # %bb.9:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB911_10:
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: mv a3, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a3, vlenb
+; CHECK-RV64VC-NEXT: slli a3, a3, 3
+; CHECK-RV64VC-NEXT: mv a4, a3
+; CHECK-RV64VC-NEXT: slli a3, a3, 1
+; CHECK-RV64VC-NEXT: add a3, a3, a4
+; CHECK-RV64VC-NEXT: add a3, a3, sp
+; CHECK-RV64VC-NEXT: addi a3, a3, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v11, (zero), v24
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vluxei64.v v10, (zero), v16
-; CHECK-RV64VC-NEXT: bltu s1, a7, .LBB911_12
+; CHECK-RV64VC-NEXT: bltu s1, a1, .LBB911_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv s1, a7
+; CHECK-RV64VC-NEXT: mv s1, a1
; CHECK-RV64VC-NEXT: .LBB911_12:
; CHECK-RV64VC-NEXT: sub a0, s1, s0
; CHECK-RV64VC-NEXT: sltu a1, s1, a0
@@ -35586,19 +35586,19 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_PALL(<vscale x 64
; CHECK-RV32VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v8, (a0)
; CHECK-RV32VC-NEXT: csrr a5, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a5, 2
-; CHECK-RV32VC-NEXT: sub a1, a2, a6
+; CHECK-RV32VC-NEXT: slli a3, a5, 2
+; CHECK-RV32VC-NEXT: sub a1, a2, a3
; CHECK-RV32VC-NEXT: sltu a4, a2, a1
; CHECK-RV32VC-NEXT: addi a4, a4, -1
; CHECK-RV32VC-NEXT: and a4, a4, a1
; CHECK-RV32VC-NEXT: slli a1, a5, 1
-; CHECK-RV32VC-NEXT: sub a3, a4, a1
-; CHECK-RV32VC-NEXT: sltu a7, a4, a3
+; CHECK-RV32VC-NEXT: sub a6, a4, a1
+; CHECK-RV32VC-NEXT: sltu a7, a4, a6
; CHECK-RV32VC-NEXT: slli a5, a5, 3
; CHECK-RV32VC-NEXT: addi a7, a7, -1
; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: and a3, a7, a3
-; CHECK-RV32VC-NEXT: vsetvli zero, a3, e32, m8, ta, ma
+; CHECK-RV32VC-NEXT: and a5, a7, a6
+; CHECK-RV32VC-NEXT: vsetvli zero, a5, e32, m8, ta, ma
; CHECK-RV32VC-NEXT: vle32.v v0, (a0)
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB911_2
; CHECK-RV32VC-NEXT: # %bb.1:
@@ -35610,9 +35610,9 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_PALL(<vscale x 64
; CHECK-RV32VC-NEXT: vsetvli zero, a4, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.pall
; CHECK-RV32VC-NEXT: vluxei32.v v28, (zero), v8
-; CHECK-RV32VC-NEXT: bltu a2, a6, .LBB911_4
+; CHECK-RV32VC-NEXT: bltu a2, a3, .LBB911_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a2, a6
+; CHECK-RV32VC-NEXT: mv a2, a3
; CHECK-RV32VC-NEXT: .LBB911_4:
; CHECK-RV32VC-NEXT: sub a0, a2, a1
; CHECK-RV32VC-NEXT: sltu a3, a2, a0
@@ -35991,50 +35991,50 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_S1(<vscale x 64 x
; CHECK-RV64VC-NEXT: li a1, 40
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: sub a1, s1, a6
-; CHECK-RV64VC-NEXT: sltu a2, s1, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a3, a2, a1
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: sub a2, a3, a7
-; CHECK-RV64VC-NEXT: sltu a4, a3, a2
-; CHECK-RV64VC-NEXT: addi a4, a4, -1
-; CHECK-RV64VC-NEXT: and a4, a4, a2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: sub a1, s1, a2
+; CHECK-RV64VC-NEXT: sltu a3, s1, a1
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a1
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: sub a4, a3, a1
+; CHECK-RV64VC-NEXT: sltu a5, a3, a4
+; CHECK-RV64VC-NEXT: addi a5, a5, -1
+; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, s0
-; CHECK-RV64VC-NEXT: sltu a2, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB912_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, s0
; CHECK-RV64VC-NEXT: .LBB912_2:
-; CHECK-RV64VC-NEXT: addi t0, a2, -1
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB912_4
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB912_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a3, a7
+; CHECK-RV64VC-NEXT: mv a3, a1
; CHECK-RV64VC-NEXT: .LBB912_4:
-; CHECK-RV64VC-NEXT: sub a1, a3, s0
-; CHECK-RV64VC-NEXT: sltu a2, a3, a1
-; CHECK-RV64VC-NEXT: and a5, t0, a5
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: add a0, a0, s2
-; CHECK-RV64VC-NEXT: and a1, a1, a2
+; CHECK-RV64VC-NEXT: sub a7, a3, s0
+; CHECK-RV64VC-NEXT: sltu t0, a3, a7
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: addi t0, t0, -1
+; CHECK-RV64VC-NEXT: add a6, s2, a0
+; CHECK-RV64VC-NEXT: and a0, t0, a7
; CHECK-RV64VC-NEXT: bltu a3, s0, .LBB912_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB912_6:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
-; CHECK-RV64VC-NEXT: vle64.v v16, (a0)
-; CHECK-RV64VC-NEXT: addi a0, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vle64.v v16, (a6)
+; CHECK-RV64VC-NEXT: addi a6, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a6) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v14, (zero), v24
-; CHECK-RV64VC-NEXT: csrr a0, vlenb
-; CHECK-RV64VC-NEXT: slli a0, a0, 3
-; CHECK-RV64VC-NEXT: add a0, a0, sp
-; CHECK-RV64VC-NEXT: addi a0, a0, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v13, (zero), v24
; CHECK-RV64VC-NEXT: csrr a0, vlenb
@@ -36045,43 +36045,43 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_S1(<vscale x 64 x
; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v12, (zero), v24
-; CHECK-RV64VC-NEXT: bltu s1, a6, .LBB912_8
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB912_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv s1, a6
+; CHECK-RV64VC-NEXT: mv s1, a2
; CHECK-RV64VC-NEXT: .LBB912_8:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v15, (zero), v16
; CHECK-RV64VC-NEXT: vl8re64.v v16, (s2)
-; CHECK-RV64VC-NEXT: sub a0, s1, a7
-; CHECK-RV64VC-NEXT: sltu a1, s1, a0
-; CHECK-RV64VC-NEXT: addi a1, a1, -1
-; CHECK-RV64VC-NEXT: and a0, a0, a1
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sltu a2, a0, a1
+; CHECK-RV64VC-NEXT: sub a0, s1, a1
+; CHECK-RV64VC-NEXT: sltu a2, s1, a0
; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
+; CHECK-RV64VC-NEXT: and a0, a0, a2
+; CHECK-RV64VC-NEXT: sub a2, a0, s0
+; CHECK-RV64VC-NEXT: sltu a3, a0, a2
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a2, a2, a3
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB912_10
; CHECK-RV64VC-NEXT: # %bb.9:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB912_10:
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: mv a3, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a3, vlenb
+; CHECK-RV64VC-NEXT: slli a3, a3, 3
+; CHECK-RV64VC-NEXT: mv a4, a3
+; CHECK-RV64VC-NEXT: slli a3, a3, 1
+; CHECK-RV64VC-NEXT: add a3, a3, a4
+; CHECK-RV64VC-NEXT: add a3, a3, sp
+; CHECK-RV64VC-NEXT: addi a3, a3, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v11, (zero), v24
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vluxei64.v v10, (zero), v16
-; CHECK-RV64VC-NEXT: bltu s1, a7, .LBB912_12
+; CHECK-RV64VC-NEXT: bltu s1, a1, .LBB912_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv s1, a7
+; CHECK-RV64VC-NEXT: mv s1, a1
; CHECK-RV64VC-NEXT: .LBB912_12:
; CHECK-RV64VC-NEXT: sub a0, s1, s0
; CHECK-RV64VC-NEXT: sltu a1, s1, a0
@@ -36141,19 +36141,19 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_S1(<vscale x 64 x
; CHECK-RV32VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v8, (a0)
; CHECK-RV32VC-NEXT: csrr a5, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a5, 2
-; CHECK-RV32VC-NEXT: sub a1, a2, a6
+; CHECK-RV32VC-NEXT: slli a3, a5, 2
+; CHECK-RV32VC-NEXT: sub a1, a2, a3
; CHECK-RV32VC-NEXT: sltu a4, a2, a1
; CHECK-RV32VC-NEXT: addi a4, a4, -1
; CHECK-RV32VC-NEXT: and a4, a4, a1
; CHECK-RV32VC-NEXT: slli a1, a5, 1
-; CHECK-RV32VC-NEXT: sub a3, a4, a1
-; CHECK-RV32VC-NEXT: sltu a7, a4, a3
+; CHECK-RV32VC-NEXT: sub a6, a4, a1
+; CHECK-RV32VC-NEXT: sltu a7, a4, a6
; CHECK-RV32VC-NEXT: slli a5, a5, 3
; CHECK-RV32VC-NEXT: addi a7, a7, -1
; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: and a3, a7, a3
-; CHECK-RV32VC-NEXT: vsetvli zero, a3, e32, m8, ta, ma
+; CHECK-RV32VC-NEXT: and a5, a7, a6
+; CHECK-RV32VC-NEXT: vsetvli zero, a5, e32, m8, ta, ma
; CHECK-RV32VC-NEXT: vle32.v v0, (a0)
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB912_2
; CHECK-RV32VC-NEXT: # %bb.1:
@@ -36165,9 +36165,9 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_S1(<vscale x 64 x
; CHECK-RV32VC-NEXT: vsetvli zero, a4, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.s1
; CHECK-RV32VC-NEXT: vluxei32.v v28, (zero), v8
-; CHECK-RV32VC-NEXT: bltu a2, a6, .LBB912_4
+; CHECK-RV32VC-NEXT: bltu a2, a3, .LBB912_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a2, a6
+; CHECK-RV32VC-NEXT: mv a2, a3
; CHECK-RV32VC-NEXT: .LBB912_4:
; CHECK-RV32VC-NEXT: sub a0, a2, a1
; CHECK-RV32VC-NEXT: sltu a3, a2, a0
@@ -36546,50 +36546,50 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_ALL(<vscale x 64 x
; CHECK-RV64VC-NEXT: li a1, 40
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: sub a1, s1, a6
-; CHECK-RV64VC-NEXT: sltu a2, s1, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a3, a2, a1
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: sub a2, a3, a7
-; CHECK-RV64VC-NEXT: sltu a4, a3, a2
-; CHECK-RV64VC-NEXT: addi a4, a4, -1
-; CHECK-RV64VC-NEXT: and a4, a4, a2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: sub a1, s1, a2
+; CHECK-RV64VC-NEXT: sltu a3, s1, a1
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a1
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: sub a4, a3, a1
+; CHECK-RV64VC-NEXT: sltu a5, a3, a4
+; CHECK-RV64VC-NEXT: addi a5, a5, -1
+; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, s0
-; CHECK-RV64VC-NEXT: sltu a2, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB913_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, s0
; CHECK-RV64VC-NEXT: .LBB913_2:
-; CHECK-RV64VC-NEXT: addi t0, a2, -1
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB913_4
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB913_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a3, a7
+; CHECK-RV64VC-NEXT: mv a3, a1
; CHECK-RV64VC-NEXT: .LBB913_4:
-; CHECK-RV64VC-NEXT: sub a1, a3, s0
-; CHECK-RV64VC-NEXT: sltu a2, a3, a1
-; CHECK-RV64VC-NEXT: and a5, t0, a5
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: add a0, a0, s2
-; CHECK-RV64VC-NEXT: and a1, a1, a2
+; CHECK-RV64VC-NEXT: sub a7, a3, s0
+; CHECK-RV64VC-NEXT: sltu t0, a3, a7
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: addi t0, t0, -1
+; CHECK-RV64VC-NEXT: add a6, s2, a0
+; CHECK-RV64VC-NEXT: and a0, t0, a7
; CHECK-RV64VC-NEXT: bltu a3, s0, .LBB913_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB913_6:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
-; CHECK-RV64VC-NEXT: vle64.v v16, (a0)
-; CHECK-RV64VC-NEXT: addi a0, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vle64.v v16, (a6)
+; CHECK-RV64VC-NEXT: addi a6, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a6) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v14, (zero), v24
-; CHECK-RV64VC-NEXT: csrr a0, vlenb
-; CHECK-RV64VC-NEXT: slli a0, a0, 3
-; CHECK-RV64VC-NEXT: add a0, a0, sp
-; CHECK-RV64VC-NEXT: addi a0, a0, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v13, (zero), v24
; CHECK-RV64VC-NEXT: csrr a0, vlenb
@@ -36600,43 +36600,43 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_ALL(<vscale x 64 x
; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v12, (zero), v24
-; CHECK-RV64VC-NEXT: bltu s1, a6, .LBB913_8
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB913_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv s1, a6
+; CHECK-RV64VC-NEXT: mv s1, a2
; CHECK-RV64VC-NEXT: .LBB913_8:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v15, (zero), v16
; CHECK-RV64VC-NEXT: vl8re64.v v16, (s2)
-; CHECK-RV64VC-NEXT: sub a0, s1, a7
-; CHECK-RV64VC-NEXT: sltu a1, s1, a0
-; CHECK-RV64VC-NEXT: addi a1, a1, -1
-; CHECK-RV64VC-NEXT: and a0, a0, a1
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sltu a2, a0, a1
+; CHECK-RV64VC-NEXT: sub a0, s1, a1
+; CHECK-RV64VC-NEXT: sltu a2, s1, a0
; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
+; CHECK-RV64VC-NEXT: and a0, a0, a2
+; CHECK-RV64VC-NEXT: sub a2, a0, s0
+; CHECK-RV64VC-NEXT: sltu a3, a0, a2
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a2, a2, a3
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB913_10
; CHECK-RV64VC-NEXT: # %bb.9:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB913_10:
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: mv a3, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a3, vlenb
+; CHECK-RV64VC-NEXT: slli a3, a3, 3
+; CHECK-RV64VC-NEXT: mv a4, a3
+; CHECK-RV64VC-NEXT: slli a3, a3, 1
+; CHECK-RV64VC-NEXT: add a3, a3, a4
+; CHECK-RV64VC-NEXT: add a3, a3, sp
+; CHECK-RV64VC-NEXT: addi a3, a3, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v11, (zero), v24
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v10, (zero), v16
-; CHECK-RV64VC-NEXT: bltu s1, a7, .LBB913_12
+; CHECK-RV64VC-NEXT: bltu s1, a1, .LBB913_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv s1, a7
+; CHECK-RV64VC-NEXT: mv s1, a1
; CHECK-RV64VC-NEXT: .LBB913_12:
; CHECK-RV64VC-NEXT: sub a0, s1, s0
; CHECK-RV64VC-NEXT: sltu a1, s1, a0
@@ -36696,19 +36696,19 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_ALL(<vscale x 64 x
; CHECK-RV32VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v8, (a0)
; CHECK-RV32VC-NEXT: csrr a5, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a5, 2
-; CHECK-RV32VC-NEXT: sub a1, a2, a6
+; CHECK-RV32VC-NEXT: slli a3, a5, 2
+; CHECK-RV32VC-NEXT: sub a1, a2, a3
; CHECK-RV32VC-NEXT: sltu a4, a2, a1
; CHECK-RV32VC-NEXT: addi a4, a4, -1
; CHECK-RV32VC-NEXT: and a4, a4, a1
; CHECK-RV32VC-NEXT: slli a1, a5, 1
-; CHECK-RV32VC-NEXT: sub a3, a4, a1
-; CHECK-RV32VC-NEXT: sltu a7, a4, a3
+; CHECK-RV32VC-NEXT: sub a6, a4, a1
+; CHECK-RV32VC-NEXT: sltu a7, a4, a6
; CHECK-RV32VC-NEXT: slli a5, a5, 3
; CHECK-RV32VC-NEXT: addi a7, a7, -1
; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: and a3, a7, a3
-; CHECK-RV32VC-NEXT: vsetvli zero, a3, e32, m8, ta, ma
+; CHECK-RV32VC-NEXT: and a5, a7, a6
+; CHECK-RV32VC-NEXT: vsetvli zero, a5, e32, m8, ta, ma
; CHECK-RV32VC-NEXT: vle32.v v0, (a0)
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB913_2
; CHECK-RV32VC-NEXT: # %bb.1:
@@ -36720,9 +36720,9 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_ALL(<vscale x 64 x
; CHECK-RV32VC-NEXT: vsetvli zero, a4, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.all
; CHECK-RV32VC-NEXT: vluxei32.v v28, (zero), v8
-; CHECK-RV32VC-NEXT: bltu a2, a6, .LBB913_4
+; CHECK-RV32VC-NEXT: bltu a2, a3, .LBB913_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a2, a6
+; CHECK-RV32VC-NEXT: mv a2, a3
; CHECK-RV32VC-NEXT: .LBB913_4:
; CHECK-RV32VC-NEXT: sub a0, a2, a1
; CHECK-RV32VC-NEXT: sltu a3, a2, a0
@@ -37100,50 +37100,50 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_DEFAULT(<vscale x
; CHECK-RV64VC-NEXT: li a1, 40
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: sub a1, s1, a6
-; CHECK-RV64VC-NEXT: sltu a2, s1, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a3, a2, a1
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: sub a2, a3, a7
-; CHECK-RV64VC-NEXT: sltu a4, a3, a2
-; CHECK-RV64VC-NEXT: addi a4, a4, -1
-; CHECK-RV64VC-NEXT: and a4, a4, a2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: sub a1, s1, a2
+; CHECK-RV64VC-NEXT: sltu a3, s1, a1
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a1
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: sub a4, a3, a1
+; CHECK-RV64VC-NEXT: sltu a5, a3, a4
+; CHECK-RV64VC-NEXT: addi a5, a5, -1
+; CHECK-RV64VC-NEXT: and a4, a4, a5
; CHECK-RV64VC-NEXT: sub a5, a4, s0
-; CHECK-RV64VC-NEXT: sltu a2, a4, a5
+; CHECK-RV64VC-NEXT: sltu a6, a4, a5
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB914_2
; CHECK-RV64VC-NEXT: # %bb.1:
; CHECK-RV64VC-NEXT: mv a4, s0
; CHECK-RV64VC-NEXT: .LBB914_2:
-; CHECK-RV64VC-NEXT: addi t0, a2, -1
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB914_4
+; CHECK-RV64VC-NEXT: addi a6, a6, -1
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB914_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a3, a7
+; CHECK-RV64VC-NEXT: mv a3, a1
; CHECK-RV64VC-NEXT: .LBB914_4:
-; CHECK-RV64VC-NEXT: sub a1, a3, s0
-; CHECK-RV64VC-NEXT: sltu a2, a3, a1
-; CHECK-RV64VC-NEXT: and a5, t0, a5
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: add a0, a0, s2
-; CHECK-RV64VC-NEXT: and a1, a1, a2
+; CHECK-RV64VC-NEXT: sub a7, a3, s0
+; CHECK-RV64VC-NEXT: sltu t0, a3, a7
+; CHECK-RV64VC-NEXT: and a5, a6, a5
+; CHECK-RV64VC-NEXT: addi t0, t0, -1
+; CHECK-RV64VC-NEXT: add a6, s2, a0
+; CHECK-RV64VC-NEXT: and a0, t0, a7
; CHECK-RV64VC-NEXT: bltu a3, s0, .LBB914_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB914_6:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e64, m8, ta, ma
-; CHECK-RV64VC-NEXT: vle64.v v16, (a0)
-; CHECK-RV64VC-NEXT: addi a0, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vle64.v v16, (a6)
+; CHECK-RV64VC-NEXT: addi a6, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a6) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v14, (zero), v24
-; CHECK-RV64VC-NEXT: csrr a0, vlenb
-; CHECK-RV64VC-NEXT: slli a0, a0, 3
-; CHECK-RV64VC-NEXT: add a0, a0, sp
-; CHECK-RV64VC-NEXT: addi a0, a0, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a0) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v13, (zero), v24
; CHECK-RV64VC-NEXT: csrr a0, vlenb
@@ -37154,43 +37154,43 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_DEFAULT(<vscale x
; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v12, (zero), v24
-; CHECK-RV64VC-NEXT: bltu s1, a6, .LBB914_8
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB914_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv s1, a6
+; CHECK-RV64VC-NEXT: mv s1, a2
; CHECK-RV64VC-NEXT: .LBB914_8:
; CHECK-RV64VC-NEXT: vsetvli zero, a5, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v15, (zero), v16
; CHECK-RV64VC-NEXT: vl8re64.v v16, (s2)
-; CHECK-RV64VC-NEXT: sub a0, s1, a7
-; CHECK-RV64VC-NEXT: sltu a1, s1, a0
-; CHECK-RV64VC-NEXT: addi a1, a1, -1
-; CHECK-RV64VC-NEXT: and a0, a0, a1
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sltu a2, a0, a1
+; CHECK-RV64VC-NEXT: sub a0, s1, a1
+; CHECK-RV64VC-NEXT: sltu a2, s1, a0
; CHECK-RV64VC-NEXT: addi a2, a2, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
+; CHECK-RV64VC-NEXT: and a0, a0, a2
+; CHECK-RV64VC-NEXT: sub a2, a0, s0
+; CHECK-RV64VC-NEXT: sltu a3, a0, a2
+; CHECK-RV64VC-NEXT: addi a3, a3, -1
+; CHECK-RV64VC-NEXT: and a2, a2, a3
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB914_10
; CHECK-RV64VC-NEXT: # %bb.9:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB914_10:
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: mv a3, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a3, vlenb
+; CHECK-RV64VC-NEXT: slli a3, a3, 3
+; CHECK-RV64VC-NEXT: mv a4, a3
+; CHECK-RV64VC-NEXT: slli a3, a3, 1
+; CHECK-RV64VC-NEXT: add a3, a3, a4
+; CHECK-RV64VC-NEXT: add a3, a3, sp
+; CHECK-RV64VC-NEXT: addi a3, a3, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a3) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v11, (zero), v24
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vluxei64.v v10, (zero), v16
-; CHECK-RV64VC-NEXT: bltu s1, a7, .LBB914_12
+; CHECK-RV64VC-NEXT: bltu s1, a1, .LBB914_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv s1, a7
+; CHECK-RV64VC-NEXT: mv s1, a1
; CHECK-RV64VC-NEXT: .LBB914_12:
; CHECK-RV64VC-NEXT: sub a0, s1, s0
; CHECK-RV64VC-NEXT: sltu a1, s1, a0
@@ -37250,19 +37250,19 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_DEFAULT(<vscale x
; CHECK-RV32VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v8, (a0)
; CHECK-RV32VC-NEXT: csrr a5, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a5, 2
-; CHECK-RV32VC-NEXT: sub a1, a2, a6
+; CHECK-RV32VC-NEXT: slli a3, a5, 2
+; CHECK-RV32VC-NEXT: sub a1, a2, a3
; CHECK-RV32VC-NEXT: sltu a4, a2, a1
; CHECK-RV32VC-NEXT: addi a4, a4, -1
; CHECK-RV32VC-NEXT: and a4, a4, a1
; CHECK-RV32VC-NEXT: slli a1, a5, 1
-; CHECK-RV32VC-NEXT: sub a3, a4, a1
-; CHECK-RV32VC-NEXT: sltu a7, a4, a3
+; CHECK-RV32VC-NEXT: sub a6, a4, a1
+; CHECK-RV32VC-NEXT: sltu a7, a4, a6
; CHECK-RV32VC-NEXT: slli a5, a5, 3
; CHECK-RV32VC-NEXT: addi a7, a7, -1
; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: and a3, a7, a3
-; CHECK-RV32VC-NEXT: vsetvli zero, a3, e32, m8, ta, ma
+; CHECK-RV32VC-NEXT: and a5, a7, a6
+; CHECK-RV32VC-NEXT: vsetvli zero, a5, e32, m8, ta, ma
; CHECK-RV32VC-NEXT: vle32.v v0, (a0)
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB914_2
; CHECK-RV32VC-NEXT: # %bb.1:
@@ -37274,9 +37274,9 @@ define <vscale x 64 x i8> @test_nontemporal_vp_gather_nxv64i8_DEFAULT(<vscale x
; CHECK-RV32VC-NEXT: vsetvli zero, a4, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.all
; CHECK-RV32VC-NEXT: vluxei32.v v28, (zero), v8
-; CHECK-RV32VC-NEXT: bltu a2, a6, .LBB914_4
+; CHECK-RV32VC-NEXT: bltu a2, a3, .LBB914_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a2, a6
+; CHECK-RV32VC-NEXT: mv a2, a3
; CHECK-RV32VC-NEXT: .LBB914_4:
; CHECK-RV32VC-NEXT: sub a0, a2, a1
; CHECK-RV32VC-NEXT: sltu a3, a2, a0
@@ -37639,7 +37639,7 @@ define void @test_nontemporal_vp_scatter_nxv64i8_P1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: add a1, a1, a2
; CHECK-RV64VC-NEXT: sub sp, sp, a1
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x30, 0x22, 0x11, 0x38, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 48 + 56 * vlenb
-; CHECK-RV64VC-NEXT: mv s2, a7
+; CHECK-RV64VC-NEXT: mv s1, a7
; CHECK-RV64VC-NEXT: csrr a1, vlenb
; CHECK-RV64VC-NEXT: slli a1, a1, 4
; CHECK-RV64VC-NEXT: add a1, a1, sp
@@ -37653,12 +37653,12 @@ define void @test_nontemporal_vp_scatter_nxv64i8_P1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: add a1, a1, sp
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: mv s1, a0
+; CHECK-RV64VC-NEXT: mv s2, a0
; CHECK-RV64VC-NEXT: csrr s0, vlenb
; CHECK-RV64VC-NEXT: li a1, 48
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -37672,14 +37672,14 @@ define void @test_nontemporal_vp_scatter_nxv64i8_P1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
; CHECK-RV64VC-NEXT: slli a1, s0, 5
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 5
; CHECK-RV64VC-NEXT: add a0, a0, sp
; CHECK-RV64VC-NEXT: addi a0, a0, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: add a1, a1, s1
+; CHECK-RV64VC-NEXT: add a1, a1, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a1)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -37692,113 +37692,113 @@ define void @test_nontemporal_vp_scatter_nxv64i8_P1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: li a1, 24
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: mv a3, s2
-; CHECK-RV64VC-NEXT: bltu s2, a6, .LBB915_2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: mv a3, s1
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB915_2
; CHECK-RV64VC-NEXT: # %bb.1:
-; CHECK-RV64VC-NEXT: mv a3, a6
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: .LBB915_2:
; CHECK-RV64VC-NEXT: slli a5, s0, 4
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: slli a2, s0, 3
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: slli a6, s0, 3
; CHECK-RV64VC-NEXT: mv a4, a3
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB915_4
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB915_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a4, a7
+; CHECK-RV64VC-NEXT: mv a4, a1
; CHECK-RV64VC-NEXT: .LBB915_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (s1)
-; CHECK-RV64VC-NEXT: add a1, s1, a0
-; CHECK-RV64VC-NEXT: add a5, a5, s1
-; CHECK-RV64VC-NEXT: add a2, a2, s1
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (s2)
+; CHECK-RV64VC-NEXT: add a7, s2, a0
+; CHECK-RV64VC-NEXT: add a5, a5, s2
+; CHECK-RV64VC-NEXT: add a6, a6, s2
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB915_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB915_6:
-; CHECK-RV64VC-NEXT: vl8re64.v v16, (a1)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v16, (a7)
+; CHECK-RV64VC-NEXT: csrr a7, vlenb
+; CHECK-RV64VC-NEXT: slli a7, a7, 3
+; CHECK-RV64VC-NEXT: add a7, a7, sp
+; CHECK-RV64VC-NEXT: addi a7, a7, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v16, (a5)
-; CHECK-RV64VC-NEXT: addi a1, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v0, (a2)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: mv a2, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a2
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v0, (a6)
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: mv a6, a5
+; CHECK-RV64VC-NEXT: slli a5, a5, 1
+; CHECK-RV64VC-NEXT: add a5, a5, a6
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a5) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vsoxei64.v v24, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, s0
-; CHECK-RV64VC-NEXT: sub a1, a3, a7
-; CHECK-RV64VC-NEXT: sltu a2, a4, a0
-; CHECK-RV64VC-NEXT: sltu a3, a3, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
+; CHECK-RV64VC-NEXT: sub a5, a3, a1
+; CHECK-RV64VC-NEXT: sltu a4, a4, a0
+; CHECK-RV64VC-NEXT: sltu a3, a3, a5
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a1
-; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: and a4, a4, a0
+; CHECK-RV64VC-NEXT: and a0, a3, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vsoxei64.v v25, (zero), v8
-; CHECK-RV64VC-NEXT: mv a1, a0
+; CHECK-RV64VC-NEXT: mv a3, a0
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB915_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB915_8:
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vsoxei64.v v26, (zero), v0
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sub a2, s2, a6
-; CHECK-RV64VC-NEXT: sltu a0, a0, a1
-; CHECK-RV64VC-NEXT: sltu a3, s2, a2
+; CHECK-RV64VC-NEXT: sub a3, a0, s0
+; CHECK-RV64VC-NEXT: sub a2, s1, a2
+; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sltu a4, s1, a2
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a1, a1, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a2
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a0
+; CHECK-RV64VC-NEXT: and a0, a4, a2
; CHECK-RV64VC-NEXT: mv a2, a0
-; CHECK-RV64VC-NEXT: addi a3, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: addi a4, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vsoxei64.v v27, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a0, a7, .LBB915_10
+; CHECK-RV64VC-NEXT: bltu a0, a1, .LBB915_10
; CHECK-RV64VC-NEXT: # %bb.9:
-; CHECK-RV64VC-NEXT: mv a2, a7
+; CHECK-RV64VC-NEXT: mv a2, a1
; CHECK-RV64VC-NEXT: .LBB915_10:
-; CHECK-RV64VC-NEXT: mv a1, a2
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: bltu a2, s0, .LBB915_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB915_12:
-; CHECK-RV64VC-NEXT: csrr a3, vlenb
-; CHECK-RV64VC-NEXT: slli a3, a3, 3
-; CHECK-RV64VC-NEXT: add a3, a3, sp
-; CHECK-RV64VC-NEXT: addi a3, a3, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.p1
; CHECK-RV64VC-NEXT: vsoxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: sub a1, a2, s0
-; CHECK-RV64VC-NEXT: sub a3, a0, a7
-; CHECK-RV64VC-NEXT: sltu a2, a2, a1
-; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sub a3, a2, s0
+; CHECK-RV64VC-NEXT: sub a1, a0, a1
+; CHECK-RV64VC-NEXT: sltu a2, a2, a3
+; CHECK-RV64VC-NEXT: sltu a0, a0, a1
; CHECK-RV64VC-NEXT: addi a2, a2, -1
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
-; CHECK-RV64VC-NEXT: and a0, a0, a3
+; CHECK-RV64VC-NEXT: and a2, a2, a3
+; CHECK-RV64VC-NEXT: and a0, a0, a1
; CHECK-RV64VC-NEXT: mv a1, a0
; CHECK-RV64VC-NEXT: csrr a3, vlenb
; CHECK-RV64VC-NEXT: slli a3, a3, 3
@@ -37862,22 +37862,22 @@ define void @test_nontemporal_vp_scatter_nxv64i8_P1(<vscale x 64 x i8> %val, <vs
; CHECK-RV32VC-LABEL: test_nontemporal_vp_scatter_nxv64i8_P1:
; CHECK-RV32VC: # %bb.0:
; CHECK-RV32VC-NEXT: csrr a1, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a1, 4
+; CHECK-RV32VC-NEXT: slli a5, a1, 4
; CHECK-RV32VC-NEXT: slli a2, a1, 2
-; CHECK-RV32VC-NEXT: slli a5, a1, 3
+; CHECK-RV32VC-NEXT: slli a6, a1, 3
; CHECK-RV32VC-NEXT: mv a4, a3
; CHECK-RV32VC-NEXT: bltu a3, a2, .LBB915_2
; CHECK-RV32VC-NEXT: # %bb.1:
; CHECK-RV32VC-NEXT: mv a4, a2
; CHECK-RV32VC-NEXT: .LBB915_2:
; CHECK-RV32VC-NEXT: vl8re32.v v0, (a0)
-; CHECK-RV32VC-NEXT: add a6, a6, a0
+; CHECK-RV32VC-NEXT: add a5, a5, a0
; CHECK-RV32VC-NEXT: slli a1, a1, 1
-; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: mv a5, a4
+; CHECK-RV32VC-NEXT: add a0, a0, a6
+; CHECK-RV32VC-NEXT: mv a6, a4
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB915_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a5, a1
+; CHECK-RV32VC-NEXT: mv a6, a1
; CHECK-RV32VC-NEXT: .LBB915_4:
; CHECK-RV32VC-NEXT: addi sp, sp, -16
; CHECK-RV32VC-NEXT: .cfi_def_cfa_offset 16
@@ -37885,11 +37885,11 @@ define void @test_nontemporal_vp_scatter_nxv64i8_P1(<vscale x 64 x i8> %val, <vs
; CHECK-RV32VC-NEXT: slli a7, a7, 3
; CHECK-RV32VC-NEXT: sub sp, sp, a7
; CHECK-RV32VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV32VC-NEXT: vl8re32.v v24, (a6)
-; CHECK-RV32VC-NEXT: addi a6, sp, 16
-; CHECK-RV32VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV32VC-NEXT: vl8re32.v v24, (a5)
+; CHECK-RV32VC-NEXT: addi a5, sp, 16
+; CHECK-RV32VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v24, (a0)
-; CHECK-RV32VC-NEXT: vsetvli zero, a5, e8, m2, ta, ma
+; CHECK-RV32VC-NEXT: vsetvli zero, a6, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.p1
; CHECK-RV32VC-NEXT: vsoxei32.v v8, (zero), v16
; CHECK-RV32VC-NEXT: sub a0, a4, a1
@@ -38264,7 +38264,7 @@ define void @test_nontemporal_vp_scatter_nxv64i8_PALL(<vscale x 64 x i8> %val, <
; CHECK-RV64VC-NEXT: add a1, a1, a2
; CHECK-RV64VC-NEXT: sub sp, sp, a1
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x30, 0x22, 0x11, 0x38, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 48 + 56 * vlenb
-; CHECK-RV64VC-NEXT: mv s2, a7
+; CHECK-RV64VC-NEXT: mv s1, a7
; CHECK-RV64VC-NEXT: csrr a1, vlenb
; CHECK-RV64VC-NEXT: slli a1, a1, 4
; CHECK-RV64VC-NEXT: add a1, a1, sp
@@ -38278,12 +38278,12 @@ define void @test_nontemporal_vp_scatter_nxv64i8_PALL(<vscale x 64 x i8> %val, <
; CHECK-RV64VC-NEXT: add a1, a1, sp
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: mv s1, a0
+; CHECK-RV64VC-NEXT: mv s2, a0
; CHECK-RV64VC-NEXT: csrr s0, vlenb
; CHECK-RV64VC-NEXT: li a1, 48
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -38297,14 +38297,14 @@ define void @test_nontemporal_vp_scatter_nxv64i8_PALL(<vscale x 64 x i8> %val, <
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
; CHECK-RV64VC-NEXT: slli a1, s0, 5
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 5
; CHECK-RV64VC-NEXT: add a0, a0, sp
; CHECK-RV64VC-NEXT: addi a0, a0, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: add a1, a1, s1
+; CHECK-RV64VC-NEXT: add a1, a1, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a1)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -38317,113 +38317,113 @@ define void @test_nontemporal_vp_scatter_nxv64i8_PALL(<vscale x 64 x i8> %val, <
; CHECK-RV64VC-NEXT: li a1, 24
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: mv a3, s2
-; CHECK-RV64VC-NEXT: bltu s2, a6, .LBB916_2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: mv a3, s1
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB916_2
; CHECK-RV64VC-NEXT: # %bb.1:
-; CHECK-RV64VC-NEXT: mv a3, a6
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: .LBB916_2:
; CHECK-RV64VC-NEXT: slli a5, s0, 4
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: slli a2, s0, 3
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: slli a6, s0, 3
; CHECK-RV64VC-NEXT: mv a4, a3
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB916_4
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB916_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a4, a7
+; CHECK-RV64VC-NEXT: mv a4, a1
; CHECK-RV64VC-NEXT: .LBB916_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (s1)
-; CHECK-RV64VC-NEXT: add a1, s1, a0
-; CHECK-RV64VC-NEXT: add a5, a5, s1
-; CHECK-RV64VC-NEXT: add a2, a2, s1
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (s2)
+; CHECK-RV64VC-NEXT: add a7, s2, a0
+; CHECK-RV64VC-NEXT: add a5, a5, s2
+; CHECK-RV64VC-NEXT: add a6, a6, s2
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB916_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB916_6:
-; CHECK-RV64VC-NEXT: vl8re64.v v16, (a1)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v16, (a7)
+; CHECK-RV64VC-NEXT: csrr a7, vlenb
+; CHECK-RV64VC-NEXT: slli a7, a7, 3
+; CHECK-RV64VC-NEXT: add a7, a7, sp
+; CHECK-RV64VC-NEXT: addi a7, a7, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v16, (a5)
-; CHECK-RV64VC-NEXT: addi a1, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v0, (a2)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: mv a2, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a2
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v0, (a6)
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: mv a6, a5
+; CHECK-RV64VC-NEXT: slli a5, a5, 1
+; CHECK-RV64VC-NEXT: add a5, a5, a6
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a5) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vsoxei64.v v24, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, s0
-; CHECK-RV64VC-NEXT: sub a1, a3, a7
-; CHECK-RV64VC-NEXT: sltu a2, a4, a0
-; CHECK-RV64VC-NEXT: sltu a3, a3, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
+; CHECK-RV64VC-NEXT: sub a5, a3, a1
+; CHECK-RV64VC-NEXT: sltu a4, a4, a0
+; CHECK-RV64VC-NEXT: sltu a3, a3, a5
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a1
-; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: and a4, a4, a0
+; CHECK-RV64VC-NEXT: and a0, a3, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vsoxei64.v v25, (zero), v8
-; CHECK-RV64VC-NEXT: mv a1, a0
+; CHECK-RV64VC-NEXT: mv a3, a0
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB916_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB916_8:
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vsoxei64.v v26, (zero), v0
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sub a2, s2, a6
-; CHECK-RV64VC-NEXT: sltu a0, a0, a1
-; CHECK-RV64VC-NEXT: sltu a3, s2, a2
+; CHECK-RV64VC-NEXT: sub a3, a0, s0
+; CHECK-RV64VC-NEXT: sub a2, s1, a2
+; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sltu a4, s1, a2
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a1, a1, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a2
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a0
+; CHECK-RV64VC-NEXT: and a0, a4, a2
; CHECK-RV64VC-NEXT: mv a2, a0
-; CHECK-RV64VC-NEXT: addi a3, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: addi a4, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vsoxei64.v v27, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a0, a7, .LBB916_10
+; CHECK-RV64VC-NEXT: bltu a0, a1, .LBB916_10
; CHECK-RV64VC-NEXT: # %bb.9:
-; CHECK-RV64VC-NEXT: mv a2, a7
+; CHECK-RV64VC-NEXT: mv a2, a1
; CHECK-RV64VC-NEXT: .LBB916_10:
-; CHECK-RV64VC-NEXT: mv a1, a2
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: bltu a2, s0, .LBB916_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB916_12:
-; CHECK-RV64VC-NEXT: csrr a3, vlenb
-; CHECK-RV64VC-NEXT: slli a3, a3, 3
-; CHECK-RV64VC-NEXT: add a3, a3, sp
-; CHECK-RV64VC-NEXT: addi a3, a3, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.pall
; CHECK-RV64VC-NEXT: vsoxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: sub a1, a2, s0
-; CHECK-RV64VC-NEXT: sub a3, a0, a7
-; CHECK-RV64VC-NEXT: sltu a2, a2, a1
-; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sub a3, a2, s0
+; CHECK-RV64VC-NEXT: sub a1, a0, a1
+; CHECK-RV64VC-NEXT: sltu a2, a2, a3
+; CHECK-RV64VC-NEXT: sltu a0, a0, a1
; CHECK-RV64VC-NEXT: addi a2, a2, -1
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
-; CHECK-RV64VC-NEXT: and a0, a0, a3
+; CHECK-RV64VC-NEXT: and a2, a2, a3
+; CHECK-RV64VC-NEXT: and a0, a0, a1
; CHECK-RV64VC-NEXT: mv a1, a0
; CHECK-RV64VC-NEXT: csrr a3, vlenb
; CHECK-RV64VC-NEXT: slli a3, a3, 3
@@ -38487,22 +38487,22 @@ define void @test_nontemporal_vp_scatter_nxv64i8_PALL(<vscale x 64 x i8> %val, <
; CHECK-RV32VC-LABEL: test_nontemporal_vp_scatter_nxv64i8_PALL:
; CHECK-RV32VC: # %bb.0:
; CHECK-RV32VC-NEXT: csrr a1, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a1, 4
+; CHECK-RV32VC-NEXT: slli a5, a1, 4
; CHECK-RV32VC-NEXT: slli a2, a1, 2
-; CHECK-RV32VC-NEXT: slli a5, a1, 3
+; CHECK-RV32VC-NEXT: slli a6, a1, 3
; CHECK-RV32VC-NEXT: mv a4, a3
; CHECK-RV32VC-NEXT: bltu a3, a2, .LBB916_2
; CHECK-RV32VC-NEXT: # %bb.1:
; CHECK-RV32VC-NEXT: mv a4, a2
; CHECK-RV32VC-NEXT: .LBB916_2:
; CHECK-RV32VC-NEXT: vl8re32.v v0, (a0)
-; CHECK-RV32VC-NEXT: add a6, a6, a0
+; CHECK-RV32VC-NEXT: add a5, a5, a0
; CHECK-RV32VC-NEXT: slli a1, a1, 1
-; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: mv a5, a4
+; CHECK-RV32VC-NEXT: add a0, a0, a6
+; CHECK-RV32VC-NEXT: mv a6, a4
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB916_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a5, a1
+; CHECK-RV32VC-NEXT: mv a6, a1
; CHECK-RV32VC-NEXT: .LBB916_4:
; CHECK-RV32VC-NEXT: addi sp, sp, -16
; CHECK-RV32VC-NEXT: .cfi_def_cfa_offset 16
@@ -38510,11 +38510,11 @@ define void @test_nontemporal_vp_scatter_nxv64i8_PALL(<vscale x 64 x i8> %val, <
; CHECK-RV32VC-NEXT: slli a7, a7, 3
; CHECK-RV32VC-NEXT: sub sp, sp, a7
; CHECK-RV32VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV32VC-NEXT: vl8re32.v v24, (a6)
-; CHECK-RV32VC-NEXT: addi a6, sp, 16
-; CHECK-RV32VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV32VC-NEXT: vl8re32.v v24, (a5)
+; CHECK-RV32VC-NEXT: addi a5, sp, 16
+; CHECK-RV32VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v24, (a0)
-; CHECK-RV32VC-NEXT: vsetvli zero, a5, e8, m2, ta, ma
+; CHECK-RV32VC-NEXT: vsetvli zero, a6, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.pall
; CHECK-RV32VC-NEXT: vsoxei32.v v8, (zero), v16
; CHECK-RV32VC-NEXT: sub a0, a4, a1
@@ -38889,7 +38889,7 @@ define void @test_nontemporal_vp_scatter_nxv64i8_S1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: add a1, a1, a2
; CHECK-RV64VC-NEXT: sub sp, sp, a1
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x30, 0x22, 0x11, 0x38, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 48 + 56 * vlenb
-; CHECK-RV64VC-NEXT: mv s2, a7
+; CHECK-RV64VC-NEXT: mv s1, a7
; CHECK-RV64VC-NEXT: csrr a1, vlenb
; CHECK-RV64VC-NEXT: slli a1, a1, 4
; CHECK-RV64VC-NEXT: add a1, a1, sp
@@ -38903,12 +38903,12 @@ define void @test_nontemporal_vp_scatter_nxv64i8_S1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: add a1, a1, sp
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: mv s1, a0
+; CHECK-RV64VC-NEXT: mv s2, a0
; CHECK-RV64VC-NEXT: csrr s0, vlenb
; CHECK-RV64VC-NEXT: li a1, 48
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -38922,14 +38922,14 @@ define void @test_nontemporal_vp_scatter_nxv64i8_S1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
; CHECK-RV64VC-NEXT: slli a1, s0, 5
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 5
; CHECK-RV64VC-NEXT: add a0, a0, sp
; CHECK-RV64VC-NEXT: addi a0, a0, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: add a1, a1, s1
+; CHECK-RV64VC-NEXT: add a1, a1, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a1)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -38942,113 +38942,113 @@ define void @test_nontemporal_vp_scatter_nxv64i8_S1(<vscale x 64 x i8> %val, <vs
; CHECK-RV64VC-NEXT: li a1, 24
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: mv a3, s2
-; CHECK-RV64VC-NEXT: bltu s2, a6, .LBB917_2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: mv a3, s1
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB917_2
; CHECK-RV64VC-NEXT: # %bb.1:
-; CHECK-RV64VC-NEXT: mv a3, a6
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: .LBB917_2:
; CHECK-RV64VC-NEXT: slli a5, s0, 4
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: slli a2, s0, 3
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: slli a6, s0, 3
; CHECK-RV64VC-NEXT: mv a4, a3
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB917_4
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB917_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a4, a7
+; CHECK-RV64VC-NEXT: mv a4, a1
; CHECK-RV64VC-NEXT: .LBB917_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (s1)
-; CHECK-RV64VC-NEXT: add a1, s1, a0
-; CHECK-RV64VC-NEXT: add a5, a5, s1
-; CHECK-RV64VC-NEXT: add a2, a2, s1
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (s2)
+; CHECK-RV64VC-NEXT: add a7, s2, a0
+; CHECK-RV64VC-NEXT: add a5, a5, s2
+; CHECK-RV64VC-NEXT: add a6, a6, s2
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB917_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB917_6:
-; CHECK-RV64VC-NEXT: vl8re64.v v16, (a1)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v16, (a7)
+; CHECK-RV64VC-NEXT: csrr a7, vlenb
+; CHECK-RV64VC-NEXT: slli a7, a7, 3
+; CHECK-RV64VC-NEXT: add a7, a7, sp
+; CHECK-RV64VC-NEXT: addi a7, a7, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v16, (a5)
-; CHECK-RV64VC-NEXT: addi a1, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v0, (a2)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: mv a2, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a2
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v0, (a6)
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: mv a6, a5
+; CHECK-RV64VC-NEXT: slli a5, a5, 1
+; CHECK-RV64VC-NEXT: add a5, a5, a6
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a5) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vsoxei64.v v24, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, s0
-; CHECK-RV64VC-NEXT: sub a1, a3, a7
-; CHECK-RV64VC-NEXT: sltu a2, a4, a0
-; CHECK-RV64VC-NEXT: sltu a3, a3, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
+; CHECK-RV64VC-NEXT: sub a5, a3, a1
+; CHECK-RV64VC-NEXT: sltu a4, a4, a0
+; CHECK-RV64VC-NEXT: sltu a3, a3, a5
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a1
-; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: and a4, a4, a0
+; CHECK-RV64VC-NEXT: and a0, a3, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vsoxei64.v v25, (zero), v8
-; CHECK-RV64VC-NEXT: mv a1, a0
+; CHECK-RV64VC-NEXT: mv a3, a0
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB917_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB917_8:
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vsoxei64.v v26, (zero), v0
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sub a2, s2, a6
-; CHECK-RV64VC-NEXT: sltu a0, a0, a1
-; CHECK-RV64VC-NEXT: sltu a3, s2, a2
+; CHECK-RV64VC-NEXT: sub a3, a0, s0
+; CHECK-RV64VC-NEXT: sub a2, s1, a2
+; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sltu a4, s1, a2
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a1, a1, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a2
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a0
+; CHECK-RV64VC-NEXT: and a0, a4, a2
; CHECK-RV64VC-NEXT: mv a2, a0
-; CHECK-RV64VC-NEXT: addi a3, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: addi a4, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vsoxei64.v v27, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a0, a7, .LBB917_10
+; CHECK-RV64VC-NEXT: bltu a0, a1, .LBB917_10
; CHECK-RV64VC-NEXT: # %bb.9:
-; CHECK-RV64VC-NEXT: mv a2, a7
+; CHECK-RV64VC-NEXT: mv a2, a1
; CHECK-RV64VC-NEXT: .LBB917_10:
-; CHECK-RV64VC-NEXT: mv a1, a2
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: bltu a2, s0, .LBB917_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB917_12:
-; CHECK-RV64VC-NEXT: csrr a3, vlenb
-; CHECK-RV64VC-NEXT: slli a3, a3, 3
-; CHECK-RV64VC-NEXT: add a3, a3, sp
-; CHECK-RV64VC-NEXT: addi a3, a3, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.s1
; CHECK-RV64VC-NEXT: vsoxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: sub a1, a2, s0
-; CHECK-RV64VC-NEXT: sub a3, a0, a7
-; CHECK-RV64VC-NEXT: sltu a2, a2, a1
-; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sub a3, a2, s0
+; CHECK-RV64VC-NEXT: sub a1, a0, a1
+; CHECK-RV64VC-NEXT: sltu a2, a2, a3
+; CHECK-RV64VC-NEXT: sltu a0, a0, a1
; CHECK-RV64VC-NEXT: addi a2, a2, -1
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
-; CHECK-RV64VC-NEXT: and a0, a0, a3
+; CHECK-RV64VC-NEXT: and a2, a2, a3
+; CHECK-RV64VC-NEXT: and a0, a0, a1
; CHECK-RV64VC-NEXT: mv a1, a0
; CHECK-RV64VC-NEXT: csrr a3, vlenb
; CHECK-RV64VC-NEXT: slli a3, a3, 3
@@ -39112,22 +39112,22 @@ define void @test_nontemporal_vp_scatter_nxv64i8_S1(<vscale x 64 x i8> %val, <vs
; CHECK-RV32VC-LABEL: test_nontemporal_vp_scatter_nxv64i8_S1:
; CHECK-RV32VC: # %bb.0:
; CHECK-RV32VC-NEXT: csrr a1, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a1, 4
+; CHECK-RV32VC-NEXT: slli a5, a1, 4
; CHECK-RV32VC-NEXT: slli a2, a1, 2
-; CHECK-RV32VC-NEXT: slli a5, a1, 3
+; CHECK-RV32VC-NEXT: slli a6, a1, 3
; CHECK-RV32VC-NEXT: mv a4, a3
; CHECK-RV32VC-NEXT: bltu a3, a2, .LBB917_2
; CHECK-RV32VC-NEXT: # %bb.1:
; CHECK-RV32VC-NEXT: mv a4, a2
; CHECK-RV32VC-NEXT: .LBB917_2:
; CHECK-RV32VC-NEXT: vl8re32.v v0, (a0)
-; CHECK-RV32VC-NEXT: add a6, a6, a0
+; CHECK-RV32VC-NEXT: add a5, a5, a0
; CHECK-RV32VC-NEXT: slli a1, a1, 1
-; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: mv a5, a4
+; CHECK-RV32VC-NEXT: add a0, a0, a6
+; CHECK-RV32VC-NEXT: mv a6, a4
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB917_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a5, a1
+; CHECK-RV32VC-NEXT: mv a6, a1
; CHECK-RV32VC-NEXT: .LBB917_4:
; CHECK-RV32VC-NEXT: addi sp, sp, -16
; CHECK-RV32VC-NEXT: .cfi_def_cfa_offset 16
@@ -39135,11 +39135,11 @@ define void @test_nontemporal_vp_scatter_nxv64i8_S1(<vscale x 64 x i8> %val, <vs
; CHECK-RV32VC-NEXT: slli a7, a7, 3
; CHECK-RV32VC-NEXT: sub sp, sp, a7
; CHECK-RV32VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV32VC-NEXT: vl8re32.v v24, (a6)
-; CHECK-RV32VC-NEXT: addi a6, sp, 16
-; CHECK-RV32VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV32VC-NEXT: vl8re32.v v24, (a5)
+; CHECK-RV32VC-NEXT: addi a5, sp, 16
+; CHECK-RV32VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v24, (a0)
-; CHECK-RV32VC-NEXT: vsetvli zero, a5, e8, m2, ta, ma
+; CHECK-RV32VC-NEXT: vsetvli zero, a6, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.s1
; CHECK-RV32VC-NEXT: vsoxei32.v v8, (zero), v16
; CHECK-RV32VC-NEXT: sub a0, a4, a1
@@ -39514,7 +39514,7 @@ define void @test_nontemporal_vp_scatter_nxv64i8_ALL(<vscale x 64 x i8> %val, <v
; CHECK-RV64VC-NEXT: add a1, a1, a2
; CHECK-RV64VC-NEXT: sub sp, sp, a1
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x30, 0x22, 0x11, 0x38, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 48 + 56 * vlenb
-; CHECK-RV64VC-NEXT: mv s2, a7
+; CHECK-RV64VC-NEXT: mv s1, a7
; CHECK-RV64VC-NEXT: csrr a1, vlenb
; CHECK-RV64VC-NEXT: slli a1, a1, 4
; CHECK-RV64VC-NEXT: add a1, a1, sp
@@ -39528,12 +39528,12 @@ define void @test_nontemporal_vp_scatter_nxv64i8_ALL(<vscale x 64 x i8> %val, <v
; CHECK-RV64VC-NEXT: add a1, a1, sp
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: mv s1, a0
+; CHECK-RV64VC-NEXT: mv s2, a0
; CHECK-RV64VC-NEXT: csrr s0, vlenb
; CHECK-RV64VC-NEXT: li a1, 48
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -39547,14 +39547,14 @@ define void @test_nontemporal_vp_scatter_nxv64i8_ALL(<vscale x 64 x i8> %val, <v
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
; CHECK-RV64VC-NEXT: slli a1, s0, 5
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 5
; CHECK-RV64VC-NEXT: add a0, a0, sp
; CHECK-RV64VC-NEXT: addi a0, a0, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: add a1, a1, s1
+; CHECK-RV64VC-NEXT: add a1, a1, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a1)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -39567,113 +39567,113 @@ define void @test_nontemporal_vp_scatter_nxv64i8_ALL(<vscale x 64 x i8> %val, <v
; CHECK-RV64VC-NEXT: li a1, 24
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: mv a3, s2
-; CHECK-RV64VC-NEXT: bltu s2, a6, .LBB918_2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: mv a3, s1
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB918_2
; CHECK-RV64VC-NEXT: # %bb.1:
-; CHECK-RV64VC-NEXT: mv a3, a6
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: .LBB918_2:
; CHECK-RV64VC-NEXT: slli a5, s0, 4
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: slli a2, s0, 3
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: slli a6, s0, 3
; CHECK-RV64VC-NEXT: mv a4, a3
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB918_4
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB918_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a4, a7
+; CHECK-RV64VC-NEXT: mv a4, a1
; CHECK-RV64VC-NEXT: .LBB918_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (s1)
-; CHECK-RV64VC-NEXT: add a1, s1, a0
-; CHECK-RV64VC-NEXT: add a5, a5, s1
-; CHECK-RV64VC-NEXT: add a2, a2, s1
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (s2)
+; CHECK-RV64VC-NEXT: add a7, s2, a0
+; CHECK-RV64VC-NEXT: add a5, a5, s2
+; CHECK-RV64VC-NEXT: add a6, a6, s2
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB918_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB918_6:
-; CHECK-RV64VC-NEXT: vl8re64.v v16, (a1)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v16, (a7)
+; CHECK-RV64VC-NEXT: csrr a7, vlenb
+; CHECK-RV64VC-NEXT: slli a7, a7, 3
+; CHECK-RV64VC-NEXT: add a7, a7, sp
+; CHECK-RV64VC-NEXT: addi a7, a7, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v16, (a5)
-; CHECK-RV64VC-NEXT: addi a1, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v0, (a2)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: mv a2, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a2
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v0, (a6)
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: mv a6, a5
+; CHECK-RV64VC-NEXT: slli a5, a5, 1
+; CHECK-RV64VC-NEXT: add a5, a5, a6
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a5) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v24, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, s0
-; CHECK-RV64VC-NEXT: sub a1, a3, a7
-; CHECK-RV64VC-NEXT: sltu a2, a4, a0
-; CHECK-RV64VC-NEXT: sltu a3, a3, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
+; CHECK-RV64VC-NEXT: sub a5, a3, a1
+; CHECK-RV64VC-NEXT: sltu a4, a4, a0
+; CHECK-RV64VC-NEXT: sltu a3, a3, a5
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a1
-; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: and a4, a4, a0
+; CHECK-RV64VC-NEXT: and a0, a3, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v25, (zero), v8
-; CHECK-RV64VC-NEXT: mv a1, a0
+; CHECK-RV64VC-NEXT: mv a3, a0
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB918_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB918_8:
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v26, (zero), v0
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sub a2, s2, a6
-; CHECK-RV64VC-NEXT: sltu a0, a0, a1
-; CHECK-RV64VC-NEXT: sltu a3, s2, a2
+; CHECK-RV64VC-NEXT: sub a3, a0, s0
+; CHECK-RV64VC-NEXT: sub a2, s1, a2
+; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sltu a4, s1, a2
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a1, a1, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a2
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a0
+; CHECK-RV64VC-NEXT: and a0, a4, a2
; CHECK-RV64VC-NEXT: mv a2, a0
-; CHECK-RV64VC-NEXT: addi a3, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: addi a4, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v27, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a0, a7, .LBB918_10
+; CHECK-RV64VC-NEXT: bltu a0, a1, .LBB918_10
; CHECK-RV64VC-NEXT: # %bb.9:
-; CHECK-RV64VC-NEXT: mv a2, a7
+; CHECK-RV64VC-NEXT: mv a2, a1
; CHECK-RV64VC-NEXT: .LBB918_10:
-; CHECK-RV64VC-NEXT: mv a1, a2
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: bltu a2, s0, .LBB918_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB918_12:
-; CHECK-RV64VC-NEXT: csrr a3, vlenb
-; CHECK-RV64VC-NEXT: slli a3, a3, 3
-; CHECK-RV64VC-NEXT: add a3, a3, sp
-; CHECK-RV64VC-NEXT: addi a3, a3, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: sub a1, a2, s0
-; CHECK-RV64VC-NEXT: sub a3, a0, a7
-; CHECK-RV64VC-NEXT: sltu a2, a2, a1
-; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sub a3, a2, s0
+; CHECK-RV64VC-NEXT: sub a1, a0, a1
+; CHECK-RV64VC-NEXT: sltu a2, a2, a3
+; CHECK-RV64VC-NEXT: sltu a0, a0, a1
; CHECK-RV64VC-NEXT: addi a2, a2, -1
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
-; CHECK-RV64VC-NEXT: and a0, a0, a3
+; CHECK-RV64VC-NEXT: and a2, a2, a3
+; CHECK-RV64VC-NEXT: and a0, a0, a1
; CHECK-RV64VC-NEXT: mv a1, a0
; CHECK-RV64VC-NEXT: csrr a3, vlenb
; CHECK-RV64VC-NEXT: slli a3, a3, 3
@@ -39737,22 +39737,22 @@ define void @test_nontemporal_vp_scatter_nxv64i8_ALL(<vscale x 64 x i8> %val, <v
; CHECK-RV32VC-LABEL: test_nontemporal_vp_scatter_nxv64i8_ALL:
; CHECK-RV32VC: # %bb.0:
; CHECK-RV32VC-NEXT: csrr a1, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a1, 4
+; CHECK-RV32VC-NEXT: slli a5, a1, 4
; CHECK-RV32VC-NEXT: slli a2, a1, 2
-; CHECK-RV32VC-NEXT: slli a5, a1, 3
+; CHECK-RV32VC-NEXT: slli a6, a1, 3
; CHECK-RV32VC-NEXT: mv a4, a3
; CHECK-RV32VC-NEXT: bltu a3, a2, .LBB918_2
; CHECK-RV32VC-NEXT: # %bb.1:
; CHECK-RV32VC-NEXT: mv a4, a2
; CHECK-RV32VC-NEXT: .LBB918_2:
; CHECK-RV32VC-NEXT: vl8re32.v v0, (a0)
-; CHECK-RV32VC-NEXT: add a6, a6, a0
+; CHECK-RV32VC-NEXT: add a5, a5, a0
; CHECK-RV32VC-NEXT: slli a1, a1, 1
-; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: mv a5, a4
+; CHECK-RV32VC-NEXT: add a0, a0, a6
+; CHECK-RV32VC-NEXT: mv a6, a4
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB918_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a5, a1
+; CHECK-RV32VC-NEXT: mv a6, a1
; CHECK-RV32VC-NEXT: .LBB918_4:
; CHECK-RV32VC-NEXT: addi sp, sp, -16
; CHECK-RV32VC-NEXT: .cfi_def_cfa_offset 16
@@ -39760,11 +39760,11 @@ define void @test_nontemporal_vp_scatter_nxv64i8_ALL(<vscale x 64 x i8> %val, <v
; CHECK-RV32VC-NEXT: slli a7, a7, 3
; CHECK-RV32VC-NEXT: sub sp, sp, a7
; CHECK-RV32VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV32VC-NEXT: vl8re32.v v24, (a6)
-; CHECK-RV32VC-NEXT: addi a6, sp, 16
-; CHECK-RV32VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV32VC-NEXT: vl8re32.v v24, (a5)
+; CHECK-RV32VC-NEXT: addi a5, sp, 16
+; CHECK-RV32VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v24, (a0)
-; CHECK-RV32VC-NEXT: vsetvli zero, a5, e8, m2, ta, ma
+; CHECK-RV32VC-NEXT: vsetvli zero, a6, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.all
; CHECK-RV32VC-NEXT: vsoxei32.v v8, (zero), v16
; CHECK-RV32VC-NEXT: sub a0, a4, a1
@@ -40138,7 +40138,7 @@ define void @test_nontemporal_vp_scatter_nxv64i8_DEFAULT(<vscale x 64 x i8> %val
; CHECK-RV64VC-NEXT: add a1, a1, a2
; CHECK-RV64VC-NEXT: sub sp, sp, a1
; CHECK-RV64VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x30, 0x22, 0x11, 0x38, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 48 + 56 * vlenb
-; CHECK-RV64VC-NEXT: mv s2, a7
+; CHECK-RV64VC-NEXT: mv s1, a7
; CHECK-RV64VC-NEXT: csrr a1, vlenb
; CHECK-RV64VC-NEXT: slli a1, a1, 4
; CHECK-RV64VC-NEXT: add a1, a1, sp
@@ -40152,12 +40152,12 @@ define void @test_nontemporal_vp_scatter_nxv64i8_DEFAULT(<vscale x 64 x i8> %val
; CHECK-RV64VC-NEXT: add a1, a1, sp
; CHECK-RV64VC-NEXT: addi a1, a1, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: mv s1, a0
+; CHECK-RV64VC-NEXT: mv s2, a0
; CHECK-RV64VC-NEXT: csrr s0, vlenb
; CHECK-RV64VC-NEXT: li a1, 48
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -40171,14 +40171,14 @@ define void @test_nontemporal_vp_scatter_nxv64i8_DEFAULT(<vscale x 64 x i8> %val
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
; CHECK-RV64VC-NEXT: slli a1, s0, 5
-; CHECK-RV64VC-NEXT: add a0, a0, s1
+; CHECK-RV64VC-NEXT: add a0, a0, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a0)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 5
; CHECK-RV64VC-NEXT: add a0, a0, sp
; CHECK-RV64VC-NEXT: addi a0, a0, 16
; CHECK-RV64VC-NEXT: vs8r.v v8, (a0) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: add a1, a1, s1
+; CHECK-RV64VC-NEXT: add a1, a1, s2
; CHECK-RV64VC-NEXT: vl8re64.v v8, (a1)
; CHECK-RV64VC-NEXT: csrr a0, vlenb
; CHECK-RV64VC-NEXT: slli a0, a0, 3
@@ -40191,113 +40191,113 @@ define void @test_nontemporal_vp_scatter_nxv64i8_DEFAULT(<vscale x 64 x i8> %val
; CHECK-RV64VC-NEXT: li a1, 24
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: call __muldi3
-; CHECK-RV64VC-NEXT: slli a6, s0, 2
-; CHECK-RV64VC-NEXT: mv a3, s2
-; CHECK-RV64VC-NEXT: bltu s2, a6, .LBB919_2
+; CHECK-RV64VC-NEXT: slli a2, s0, 2
+; CHECK-RV64VC-NEXT: mv a3, s1
+; CHECK-RV64VC-NEXT: bltu s1, a2, .LBB919_2
; CHECK-RV64VC-NEXT: # %bb.1:
-; CHECK-RV64VC-NEXT: mv a3, a6
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: .LBB919_2:
; CHECK-RV64VC-NEXT: slli a5, s0, 4
-; CHECK-RV64VC-NEXT: slli a7, s0, 1
-; CHECK-RV64VC-NEXT: slli a2, s0, 3
+; CHECK-RV64VC-NEXT: slli a1, s0, 1
+; CHECK-RV64VC-NEXT: slli a6, s0, 3
; CHECK-RV64VC-NEXT: mv a4, a3
-; CHECK-RV64VC-NEXT: bltu a3, a7, .LBB919_4
+; CHECK-RV64VC-NEXT: bltu a3, a1, .LBB919_4
; CHECK-RV64VC-NEXT: # %bb.3:
-; CHECK-RV64VC-NEXT: mv a4, a7
+; CHECK-RV64VC-NEXT: mv a4, a1
; CHECK-RV64VC-NEXT: .LBB919_4:
-; CHECK-RV64VC-NEXT: vl8re64.v v8, (s1)
-; CHECK-RV64VC-NEXT: add a1, s1, a0
-; CHECK-RV64VC-NEXT: add a5, a5, s1
-; CHECK-RV64VC-NEXT: add a2, a2, s1
+; CHECK-RV64VC-NEXT: vl8re64.v v8, (s2)
+; CHECK-RV64VC-NEXT: add a7, s2, a0
+; CHECK-RV64VC-NEXT: add a5, a5, s2
+; CHECK-RV64VC-NEXT: add a6, a6, s2
; CHECK-RV64VC-NEXT: mv a0, a4
; CHECK-RV64VC-NEXT: bltu a4, s0, .LBB919_6
; CHECK-RV64VC-NEXT: # %bb.5:
; CHECK-RV64VC-NEXT: mv a0, s0
; CHECK-RV64VC-NEXT: .LBB919_6:
-; CHECK-RV64VC-NEXT: vl8re64.v v16, (a1)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 3
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v16, (a7)
+; CHECK-RV64VC-NEXT: csrr a7, vlenb
+; CHECK-RV64VC-NEXT: slli a7, a7, 3
+; CHECK-RV64VC-NEXT: add a7, a7, sp
+; CHECK-RV64VC-NEXT: addi a7, a7, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a7) # vscale x 64-byte Folded Spill
; CHECK-RV64VC-NEXT: vl8re64.v v16, (a5)
-; CHECK-RV64VC-NEXT: addi a1, sp, 16
-; CHECK-RV64VC-NEXT: vs8r.v v16, (a1) # vscale x 64-byte Folded Spill
-; CHECK-RV64VC-NEXT: vl8re64.v v0, (a2)
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: mv a2, a1
-; CHECK-RV64VC-NEXT: slli a1, a1, 1
-; CHECK-RV64VC-NEXT: add a1, a1, a2
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v24, (a1) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: csrr a1, vlenb
-; CHECK-RV64VC-NEXT: slli a1, a1, 4
-; CHECK-RV64VC-NEXT: add a1, a1, sp
-; CHECK-RV64VC-NEXT: addi a1, a1, 16
-; CHECK-RV64VC-NEXT: vl8r.v v16, (a1) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: addi a5, sp, 16
+; CHECK-RV64VC-NEXT: vs8r.v v16, (a5) # vscale x 64-byte Folded Spill
+; CHECK-RV64VC-NEXT: vl8re64.v v0, (a6)
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: mv a6, a5
+; CHECK-RV64VC-NEXT: slli a5, a5, 1
+; CHECK-RV64VC-NEXT: add a5, a5, a6
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v24, (a5) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: csrr a5, vlenb
+; CHECK-RV64VC-NEXT: slli a5, a5, 4
+; CHECK-RV64VC-NEXT: add a5, a5, sp
+; CHECK-RV64VC-NEXT: addi a5, a5, 16
+; CHECK-RV64VC-NEXT: vl8r.v v16, (a5) # vscale x 64-byte Folded Reload
; CHECK-RV64VC-NEXT: vsetvli zero, a0, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v24, (zero), v16
; CHECK-RV64VC-NEXT: sub a0, a4, s0
-; CHECK-RV64VC-NEXT: sub a1, a3, a7
-; CHECK-RV64VC-NEXT: sltu a2, a4, a0
-; CHECK-RV64VC-NEXT: sltu a3, a3, a1
-; CHECK-RV64VC-NEXT: addi a2, a2, -1
+; CHECK-RV64VC-NEXT: sub a5, a3, a1
+; CHECK-RV64VC-NEXT: sltu a4, a4, a0
+; CHECK-RV64VC-NEXT: sltu a3, a3, a5
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a1
-; CHECK-RV64VC-NEXT: vsetvli zero, a2, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: and a4, a4, a0
+; CHECK-RV64VC-NEXT: and a0, a3, a5
+; CHECK-RV64VC-NEXT: vsetvli zero, a4, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v25, (zero), v8
-; CHECK-RV64VC-NEXT: mv a1, a0
+; CHECK-RV64VC-NEXT: mv a3, a0
; CHECK-RV64VC-NEXT: bltu a0, s0, .LBB919_8
; CHECK-RV64VC-NEXT: # %bb.7:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB919_8:
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v26, (zero), v0
-; CHECK-RV64VC-NEXT: sub a1, a0, s0
-; CHECK-RV64VC-NEXT: sub a2, s2, a6
-; CHECK-RV64VC-NEXT: sltu a0, a0, a1
-; CHECK-RV64VC-NEXT: sltu a3, s2, a2
+; CHECK-RV64VC-NEXT: sub a3, a0, s0
+; CHECK-RV64VC-NEXT: sub a2, s1, a2
+; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sltu a4, s1, a2
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: addi a3, a3, -1
-; CHECK-RV64VC-NEXT: and a1, a1, a0
-; CHECK-RV64VC-NEXT: and a0, a3, a2
+; CHECK-RV64VC-NEXT: addi a4, a4, -1
+; CHECK-RV64VC-NEXT: and a3, a3, a0
+; CHECK-RV64VC-NEXT: and a0, a4, a2
; CHECK-RV64VC-NEXT: mv a2, a0
-; CHECK-RV64VC-NEXT: addi a3, sp, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: addi a4, sp, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v27, (zero), v8
-; CHECK-RV64VC-NEXT: bltu a0, a7, .LBB919_10
+; CHECK-RV64VC-NEXT: bltu a0, a1, .LBB919_10
; CHECK-RV64VC-NEXT: # %bb.9:
-; CHECK-RV64VC-NEXT: mv a2, a7
+; CHECK-RV64VC-NEXT: mv a2, a1
; CHECK-RV64VC-NEXT: .LBB919_10:
-; CHECK-RV64VC-NEXT: mv a1, a2
+; CHECK-RV64VC-NEXT: mv a3, a2
; CHECK-RV64VC-NEXT: bltu a2, s0, .LBB919_12
; CHECK-RV64VC-NEXT: # %bb.11:
-; CHECK-RV64VC-NEXT: mv a1, s0
+; CHECK-RV64VC-NEXT: mv a3, s0
; CHECK-RV64VC-NEXT: .LBB919_12:
-; CHECK-RV64VC-NEXT: csrr a3, vlenb
-; CHECK-RV64VC-NEXT: slli a3, a3, 3
-; CHECK-RV64VC-NEXT: add a3, a3, sp
-; CHECK-RV64VC-NEXT: addi a3, a3, 16
-; CHECK-RV64VC-NEXT: vl8r.v v8, (a3) # vscale x 64-byte Folded Reload
-; CHECK-RV64VC-NEXT: vsetvli zero, a1, e8, m1, ta, ma
+; CHECK-RV64VC-NEXT: csrr a4, vlenb
+; CHECK-RV64VC-NEXT: slli a4, a4, 3
+; CHECK-RV64VC-NEXT: add a4, a4, sp
+; CHECK-RV64VC-NEXT: addi a4, a4, 16
+; CHECK-RV64VC-NEXT: vl8r.v v8, (a4) # vscale x 64-byte Folded Reload
+; CHECK-RV64VC-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-RV64VC-NEXT: c.ntl.all
; CHECK-RV64VC-NEXT: vsoxei64.v v28, (zero), v8
-; CHECK-RV64VC-NEXT: sub a1, a2, s0
-; CHECK-RV64VC-NEXT: sub a3, a0, a7
-; CHECK-RV64VC-NEXT: sltu a2, a2, a1
-; CHECK-RV64VC-NEXT: sltu a0, a0, a3
+; CHECK-RV64VC-NEXT: sub a3, a2, s0
+; CHECK-RV64VC-NEXT: sub a1, a0, a1
+; CHECK-RV64VC-NEXT: sltu a2, a2, a3
+; CHECK-RV64VC-NEXT: sltu a0, a0, a1
; CHECK-RV64VC-NEXT: addi a2, a2, -1
; CHECK-RV64VC-NEXT: addi a0, a0, -1
-; CHECK-RV64VC-NEXT: and a2, a2, a1
-; CHECK-RV64VC-NEXT: and a0, a0, a3
+; CHECK-RV64VC-NEXT: and a2, a2, a3
+; CHECK-RV64VC-NEXT: and a0, a0, a1
; CHECK-RV64VC-NEXT: mv a1, a0
; CHECK-RV64VC-NEXT: csrr a3, vlenb
; CHECK-RV64VC-NEXT: slli a3, a3, 3
@@ -40361,22 +40361,22 @@ define void @test_nontemporal_vp_scatter_nxv64i8_DEFAULT(<vscale x 64 x i8> %val
; CHECK-RV32VC-LABEL: test_nontemporal_vp_scatter_nxv64i8_DEFAULT:
; CHECK-RV32VC: # %bb.0:
; CHECK-RV32VC-NEXT: csrr a1, vlenb
-; CHECK-RV32VC-NEXT: slli a6, a1, 4
+; CHECK-RV32VC-NEXT: slli a5, a1, 4
; CHECK-RV32VC-NEXT: slli a2, a1, 2
-; CHECK-RV32VC-NEXT: slli a5, a1, 3
+; CHECK-RV32VC-NEXT: slli a6, a1, 3
; CHECK-RV32VC-NEXT: mv a4, a3
; CHECK-RV32VC-NEXT: bltu a3, a2, .LBB919_2
; CHECK-RV32VC-NEXT: # %bb.1:
; CHECK-RV32VC-NEXT: mv a4, a2
; CHECK-RV32VC-NEXT: .LBB919_2:
; CHECK-RV32VC-NEXT: vl8re32.v v0, (a0)
-; CHECK-RV32VC-NEXT: add a6, a6, a0
+; CHECK-RV32VC-NEXT: add a5, a5, a0
; CHECK-RV32VC-NEXT: slli a1, a1, 1
-; CHECK-RV32VC-NEXT: add a0, a0, a5
-; CHECK-RV32VC-NEXT: mv a5, a4
+; CHECK-RV32VC-NEXT: add a0, a0, a6
+; CHECK-RV32VC-NEXT: mv a6, a4
; CHECK-RV32VC-NEXT: bltu a4, a1, .LBB919_4
; CHECK-RV32VC-NEXT: # %bb.3:
-; CHECK-RV32VC-NEXT: mv a5, a1
+; CHECK-RV32VC-NEXT: mv a6, a1
; CHECK-RV32VC-NEXT: .LBB919_4:
; CHECK-RV32VC-NEXT: addi sp, sp, -16
; CHECK-RV32VC-NEXT: .cfi_def_cfa_offset 16
@@ -40384,11 +40384,11 @@ define void @test_nontemporal_vp_scatter_nxv64i8_DEFAULT(<vscale x 64 x i8> %val
; CHECK-RV32VC-NEXT: slli a7, a7, 3
; CHECK-RV32VC-NEXT: sub sp, sp, a7
; CHECK-RV32VC-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb
-; CHECK-RV32VC-NEXT: vl8re32.v v24, (a6)
-; CHECK-RV32VC-NEXT: addi a6, sp, 16
-; CHECK-RV32VC-NEXT: vs8r.v v24, (a6) # vscale x 64-byte Folded Spill
+; CHECK-RV32VC-NEXT: vl8re32.v v24, (a5)
+; CHECK-RV32VC-NEXT: addi a5, sp, 16
+; CHECK-RV32VC-NEXT: vs8r.v v24, (a5) # vscale x 64-byte Folded Spill
; CHECK-RV32VC-NEXT: vl8re32.v v24, (a0)
-; CHECK-RV32VC-NEXT: vsetvli zero, a5, e8, m2, ta, ma
+; CHECK-RV32VC-NEXT: vsetvli zero, a6, e8, m2, ta, ma
; CHECK-RV32VC-NEXT: c.ntl.all
; CHECK-RV32VC-NEXT: vsoxei32.v v8, (zero), v16
; CHECK-RV32VC-NEXT: sub a0, a4, a1
diff --git a/llvm/test/CodeGen/RISCV/rvv/pr95865.ll b/llvm/test/CodeGen/RISCV/rvv/pr95865.ll
index d10a71ba3ad89..c0c17ee7c4ef4 100644
--- a/llvm/test/CodeGen/RISCV/rvv/pr95865.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/pr95865.ll
@@ -35,114 +35,114 @@ define i32 @main(i1 %arg.1, i64 %arg.2, i1 %arg.3, i64 %arg.4, i1 %arg.5, <vscal
; CHECK-NEXT: .cfi_offset s9, -88
; CHECK-NEXT: .cfi_offset s10, -96
; CHECK-NEXT: .cfi_offset s11, -104
-; CHECK-NEXT: li a6, 0
-; CHECK-NEXT: ld s2, 112(sp)
+; CHECK-NEXT: li a1, 0
+; CHECK-NEXT: ld s0, 112(sp)
; CHECK-NEXT: vsetivli zero, 8, e32, m2, ta, ma
; CHECK-NEXT: vmv.v.i v8, 0
-; CHECK-NEXT: li a7, 8
-; CHECK-NEXT: li t0, 12
-; CHECK-NEXT: li s0, 4
-; CHECK-NEXT: li t1, 20
-; CHECK-NEXT: andi t3, a4, 1
-; CHECK-NEXT: li t2, 4
+; CHECK-NEXT: li a3, 8
+; CHECK-NEXT: li a5, 12
+; CHECK-NEXT: li a6, 4
+; CHECK-NEXT: li a7, 20
+; CHECK-NEXT: andi a4, a4, 1
+; CHECK-NEXT: li t0, 4
; CHECK-NEXT: .LBB0_1: # %for.cond1.preheader.i
; CHECK-NEXT: # =>This Loop Header: Depth=1
; CHECK-NEXT: # Child Loop BB0_2 Depth 2
; CHECK-NEXT: # Child Loop BB0_3 Depth 3
; CHECK-NEXT: # Child Loop BB0_4 Depth 4
; CHECK-NEXT: # Child Loop BB0_5 Depth 5
-; CHECK-NEXT: mv t4, t1
-; CHECK-NEXT: mv t5, t2
-; CHECK-NEXT: mv t6, t0
-; CHECK-NEXT: mv s3, a7
-; CHECK-NEXT: mv s4, a6
+; CHECK-NEXT: mv t1, a7
+; CHECK-NEXT: mv t2, t0
+; CHECK-NEXT: mv t3, a5
+; CHECK-NEXT: mv t4, a3
+; CHECK-NEXT: mv t5, a1
; CHECK-NEXT: .LBB0_2: # %for.cond5.preheader.i
; CHECK-NEXT: # Parent Loop BB0_1 Depth=1
; CHECK-NEXT: # => This Loop Header: Depth=2
; CHECK-NEXT: # Child Loop BB0_3 Depth 3
; CHECK-NEXT: # Child Loop BB0_4 Depth 4
; CHECK-NEXT: # Child Loop BB0_5 Depth 5
-; CHECK-NEXT: mv s5, t4
-; CHECK-NEXT: mv s6, t5
-; CHECK-NEXT: mv s7, t6
-; CHECK-NEXT: mv s8, s3
-; CHECK-NEXT: mv s9, s4
+; CHECK-NEXT: mv t6, t1
+; CHECK-NEXT: mv s1, t2
+; CHECK-NEXT: mv s2, t3
+; CHECK-NEXT: mv s3, t4
+; CHECK-NEXT: mv s4, t5
; CHECK-NEXT: .LBB0_3: # %for.cond9.preheader.i
; CHECK-NEXT: # Parent Loop BB0_1 Depth=1
; CHECK-NEXT: # Parent Loop BB0_2 Depth=2
; CHECK-NEXT: # => This Loop Header: Depth=3
; CHECK-NEXT: # Child Loop BB0_4 Depth 4
; CHECK-NEXT: # Child Loop BB0_5 Depth 5
-; CHECK-NEXT: mv s11, s5
-; CHECK-NEXT: mv a3, s6
-; CHECK-NEXT: mv ra, s7
-; CHECK-NEXT: mv a4, s8
-; CHECK-NEXT: mv s1, s9
+; CHECK-NEXT: mv s6, t6
+; CHECK-NEXT: mv s7, s1
+; CHECK-NEXT: mv s8, s2
+; CHECK-NEXT: mv s9, s3
+; CHECK-NEXT: mv s10, s4
; CHECK-NEXT: .LBB0_4: # %vector.ph.i
; CHECK-NEXT: # Parent Loop BB0_1 Depth=1
; CHECK-NEXT: # Parent Loop BB0_2 Depth=2
; CHECK-NEXT: # Parent Loop BB0_3 Depth=3
; CHECK-NEXT: # => This Loop Header: Depth=4
; CHECK-NEXT: # Child Loop BB0_5 Depth 5
-; CHECK-NEXT: li a5, 0
+; CHECK-NEXT: li s5, 0
; CHECK-NEXT: .LBB0_5: # %vector.body.i
; CHECK-NEXT: # Parent Loop BB0_1 Depth=1
; CHECK-NEXT: # Parent Loop BB0_2 Depth=2
; CHECK-NEXT: # Parent Loop BB0_3 Depth=3
; CHECK-NEXT: # Parent Loop BB0_4 Depth=4
; CHECK-NEXT: # => This Inner Loop Header: Depth=5
-; CHECK-NEXT: add a1, a4, a5
-; CHECK-NEXT: vse32.v v8, (a1), v0.t
-; CHECK-NEXT: addi a1, a5, 4
-; CHECK-NEXT: add a5, a5, a3
-; CHECK-NEXT: vse32.v v8, (a5), v0.t
-; CHECK-NEXT: mv a5, a1
-; CHECK-NEXT: bne a1, s0, .LBB0_5
+; CHECK-NEXT: add s11, s9, s5
+; CHECK-NEXT: vse32.v v8, (s11), v0.t
+; CHECK-NEXT: addi s11, s5, 4
+; CHECK-NEXT: add s5, s5, s7
+; CHECK-NEXT: vse32.v v8, (s5), v0.t
+; CHECK-NEXT: mv s5, s11
+; CHECK-NEXT: bne s11, a6, .LBB0_5
; CHECK-NEXT: # %bb.6: # %for.cond.cleanup15.i
; CHECK-NEXT: # in Loop: Header=BB0_4 Depth=4
-; CHECK-NEXT: addi s1, s1, 4
-; CHECK-NEXT: addi a4, a4, 4
-; CHECK-NEXT: addi ra, ra, 4
-; CHECK-NEXT: andi s10, a0, 1
-; CHECK-NEXT: addi a3, a3, 4
-; CHECK-NEXT: addi s11, s11, 4
-; CHECK-NEXT: beqz s10, .LBB0_4
-; CHECK-NEXT: # %bb.7: # %for.cond.cleanup11.i
-; CHECK-NEXT: # in Loop: Header=BB0_3 Depth=3
+; CHECK-NEXT: addi s10, s10, 4
; CHECK-NEXT: addi s9, s9, 4
; CHECK-NEXT: addi s8, s8, 4
+; CHECK-NEXT: andi s5, a0, 1
; CHECK-NEXT: addi s7, s7, 4
-; CHECK-NEXT: andi a1, a2, 1
; CHECK-NEXT: addi s6, s6, 4
-; CHECK-NEXT: addi s5, s5, 4
-; CHECK-NEXT: beqz a1, .LBB0_3
-; CHECK-NEXT: # %bb.8: # %for.cond.cleanup7.i
-; CHECK-NEXT: # in Loop: Header=BB0_2 Depth=2
+; CHECK-NEXT: beqz s5, .LBB0_4
+; CHECK-NEXT: # %bb.7: # %for.cond.cleanup11.i
+; CHECK-NEXT: # in Loop: Header=BB0_3 Depth=3
; CHECK-NEXT: addi s4, s4, 4
; CHECK-NEXT: addi s3, s3, 4
+; CHECK-NEXT: addi s2, s2, 4
+; CHECK-NEXT: andi s6, a2, 1
+; CHECK-NEXT: addi s1, s1, 4
; CHECK-NEXT: addi t6, t6, 4
+; CHECK-NEXT: beqz s6, .LBB0_3
+; CHECK-NEXT: # %bb.8: # %for.cond.cleanup7.i
+; CHECK-NEXT: # in Loop: Header=BB0_2 Depth=2
; CHECK-NEXT: addi t5, t5, 4
; CHECK-NEXT: addi t4, t4, 4
-; CHECK-NEXT: beqz t3, .LBB0_2
+; CHECK-NEXT: addi t3, t3, 4
+; CHECK-NEXT: addi t2, t2, 4
+; CHECK-NEXT: addi t1, t1, 4
+; CHECK-NEXT: beqz a4, .LBB0_2
; CHECK-NEXT: # %bb.9: # %for.cond.cleanup3.i
; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
-; CHECK-NEXT: addi a6, a6, 4
-; CHECK-NEXT: addi a7, a7, 4
+; CHECK-NEXT: addi a1, a1, 4
+; CHECK-NEXT: addi a3, a3, 4
+; CHECK-NEXT: addi a5, a5, 4
; CHECK-NEXT: addi t0, t0, 4
-; CHECK-NEXT: addi t2, t2, 4
-; CHECK-NEXT: addi t1, t1, 4
-; CHECK-NEXT: beqz a1, .LBB0_1
+; CHECK-NEXT: addi a7, a7, 4
+; CHECK-NEXT: beqz s6, .LBB0_1
; CHECK-NEXT: # %bb.10: # %l.exit
; CHECK-NEXT: li a0, 0
; CHECK-NEXT: jalr a0
-; CHECK-NEXT: beqz s10, .LBB0_12
+; CHECK-NEXT: beqz s5, .LBB0_12
; CHECK-NEXT: .LBB0_11: # %for.body7.us.14
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
; CHECK-NEXT: j .LBB0_11
; CHECK-NEXT: .LBB0_12: # %for.body7.us.19
; CHECK-NEXT: vsetvli a0, zero, e32, m8, ta, ma
; CHECK-NEXT: vmv.v.i v8, 0
-; CHECK-NEXT: vmv.s.x v16, s2
+; CHECK-NEXT: vmv.s.x v16, s0
; CHECK-NEXT: vsetivli zero, 2, e32, m1, tu, ma
; CHECK-NEXT: vslideup.vi v8, v16, 1
; CHECK-NEXT: vsetvli a0, zero, e32, m8, ta, ma
diff --git a/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll b/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
index 4e63e1b3e71db..88e894cca3799 100644
--- a/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
@@ -609,18 +609,18 @@ define void @vlmax(i64 %N, ptr %c, ptr %a, ptr %b) {
; CHECK-NEXT: blez a0, .LBB12_3
; CHECK-NEXT: # %bb.1: # %for.body.preheader
; CHECK-NEXT: li a4, 0
-; CHECK-NEXT: vsetvli a6, zero, e64, m1, ta, ma
-; CHECK-NEXT: slli a5, a6, 3
+; CHECK-NEXT: vsetvli a5, zero, e64, m1, ta, ma
+; CHECK-NEXT: slli a6, a5, 3
; CHECK-NEXT: .LBB12_2: # %for.body
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
; CHECK-NEXT: vle64.v v8, (a2)
; CHECK-NEXT: vle64.v v9, (a3)
; CHECK-NEXT: vfadd.vv v8, v8, v9
-; CHECK-NEXT: add a4, a4, a6
+; CHECK-NEXT: add a4, a4, a5
; CHECK-NEXT: vse64.v v8, (a1)
-; CHECK-NEXT: add a1, a1, a5
-; CHECK-NEXT: add a3, a3, a5
-; CHECK-NEXT: add a2, a2, a5
+; CHECK-NEXT: add a1, a1, a6
+; CHECK-NEXT: add a3, a3, a6
+; CHECK-NEXT: add a2, a2, a6
; CHECK-NEXT: blt a4, a0, .LBB12_2
; CHECK-NEXT: .LBB12_3: # %for.end
; CHECK-NEXT: ret
diff --git a/llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll b/llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
index 1c043703ded13..d164861aa3e0d 100644
--- a/llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
@@ -167,40 +167,40 @@ define void @test1(ptr nocapture noundef writeonly %dst, i32 noundef signext %i_
; RV64P670-NEXT: .cfi_offset s2, -24
; RV64P670-NEXT: .cfi_offset s3, -32
; RV64P670-NEXT: .cfi_offset s4, -40
-; RV64P670-NEXT: addi s1, a7, -1
-; RV64P670-NEXT: add s0, a0, a6
+; RV64P670-NEXT: addi t2, a7, -1
+; RV64P670-NEXT: add t4, a0, a6
+; RV64P670-NEXT: add t5, a2, a6
; RV64P670-NEXT: li t0, 0
+; RV64P670-NEXT: zext.w t2, t2
; RV64P670-NEXT: li t1, 0
-; RV64P670-NEXT: zext.w s1, s1
-; RV64P670-NEXT: mul t2, a1, s1
-; RV64P670-NEXT: add t4, s0, t2
-; RV64P670-NEXT: mul t2, a3, s1
-; RV64P670-NEXT: add s0, a2, a6
-; RV64P670-NEXT: mul s1, a5, s1
-; RV64P670-NEXT: add t3, s0, t2
-; RV64P670-NEXT: add s0, a4, a6
+; RV64P670-NEXT: mul t3, a1, t2
+; RV64P670-NEXT: add t4, t4, t3
+; RV64P670-NEXT: mul t3, a3, t2
+; RV64P670-NEXT: mul t2, a5, t2
+; RV64P670-NEXT: sltu t6, a2, t4
+; RV64P670-NEXT: sltu t4, a4, t4
+; RV64P670-NEXT: add t3, t3, t5
+; RV64P670-NEXT: add t5, a4, a6
+; RV64P670-NEXT: add t5, t5, t2
+; RV64P670-NEXT: sltu t3, a0, t3
; RV64P670-NEXT: csrr t2, vlenb
-; RV64P670-NEXT: add t5, s0, s1
-; RV64P670-NEXT: sltu s1, a0, t3
-; RV64P670-NEXT: sltu s0, a2, t4
+; RV64P670-NEXT: sltu t5, a0, t5
+; RV64P670-NEXT: and t3, t3, t6
+; RV64P670-NEXT: or t6, a1, a3
+; RV64P670-NEXT: and t4, t5, t4
+; RV64P670-NEXT: or t5, a1, a5
+; RV64P670-NEXT: srli t6, t6, 63
+; RV64P670-NEXT: srli t5, t5, 63
+; RV64P670-NEXT: or t6, t3, t6
; RV64P670-NEXT: slli t3, t2, 1
-; RV64P670-NEXT: and s0, s0, s1
-; RV64P670-NEXT: or s1, a1, a3
-; RV64P670-NEXT: srli s1, s1, 63
-; RV64P670-NEXT: or t6, s0, s1
-; RV64P670-NEXT: sltu s1, a0, t5
-; RV64P670-NEXT: sltu s0, a4, t4
+; RV64P670-NEXT: or t4, t4, t5
+; RV64P670-NEXT: li t5, 32
+; RV64P670-NEXT: maxu t5, t3, t5
+; RV64P670-NEXT: or t6, t6, t4
; RV64P670-NEXT: add t4, a0, a6
-; RV64P670-NEXT: and s0, s0, s1
-; RV64P670-NEXT: or s1, a1, a5
-; RV64P670-NEXT: srli s1, s1, 63
-; RV64P670-NEXT: or s0, s0, s1
-; RV64P670-NEXT: li s1, 32
-; RV64P670-NEXT: maxu s1, t3, s1
-; RV64P670-NEXT: or s0, t6, s0
-; RV64P670-NEXT: sltu s1, a6, s1
-; RV64P670-NEXT: or s0, s0, s1
-; RV64P670-NEXT: andi t5, s0, 1
+; RV64P670-NEXT: sltu t5, a6, t5
+; RV64P670-NEXT: or t5, t5, t6
+; RV64P670-NEXT: andi t5, t5, 1
; RV64P670-NEXT: j .LBB0_4
; RV64P670-NEXT: .LBB0_3: # %for.cond1.for.cond.cleanup3_crit_edge.us
; RV64P670-NEXT: # in Loop: Header=BB0_4 Depth=1
@@ -220,49 +220,49 @@ define void @test1(ptr nocapture noundef writeonly %dst, i32 noundef signext %i_
; RV64P670-NEXT: j .LBB0_9
; RV64P670-NEXT: .LBB0_6: # %vector.ph
; RV64P670-NEXT: # in Loop: Header=BB0_4 Depth=1
-; RV64P670-NEXT: slli s1, t2, 28
-; RV64P670-NEXT: mv s2, a2
-; RV64P670-NEXT: mv s3, a4
-; RV64P670-NEXT: mv s4, a0
-; RV64P670-NEXT: sub s1, s1, t3
-; RV64P670-NEXT: vsetvli s0, zero, e8, m2, ta, ma
-; RV64P670-NEXT: and t6, s1, a6
-; RV64P670-NEXT: mv s1, t6
+; RV64P670-NEXT: slli t6, t2, 28
+; RV64P670-NEXT: mv s0, a2
+; RV64P670-NEXT: mv s1, a4
+; RV64P670-NEXT: mv s2, a0
+; RV64P670-NEXT: sub t6, t6, t3
+; RV64P670-NEXT: vsetvli s4, zero, e8, m2, ta, ma
+; RV64P670-NEXT: and t6, t6, a6
+; RV64P670-NEXT: mv s3, t6
; RV64P670-NEXT: .LBB0_7: # %vector.body
; RV64P670-NEXT: # Parent Loop BB0_4 Depth=1
; RV64P670-NEXT: # => This Inner Loop Header: Depth=2
-; RV64P670-NEXT: vl2r.v v8, (s2)
-; RV64P670-NEXT: sub s1, s1, t3
-; RV64P670-NEXT: add s2, s2, t3
-; RV64P670-NEXT: vl2r.v v10, (s3)
-; RV64P670-NEXT: add s3, s3, t3
+; RV64P670-NEXT: vl2r.v v8, (s0)
+; RV64P670-NEXT: sub s3, s3, t3
+; RV64P670-NEXT: add s0, s0, t3
+; RV64P670-NEXT: vl2r.v v10, (s1)
+; RV64P670-NEXT: add s1, s1, t3
; RV64P670-NEXT: vaaddu.vv v8, v8, v10
-; RV64P670-NEXT: vs2r.v v8, (s4)
-; RV64P670-NEXT: add s4, s4, t3
-; RV64P670-NEXT: bnez s1, .LBB0_7
+; RV64P670-NEXT: vs2r.v v8, (s2)
+; RV64P670-NEXT: add s2, s2, t3
+; RV64P670-NEXT: bnez s3, .LBB0_7
; RV64P670-NEXT: # %bb.8: # %middle.block
; RV64P670-NEXT: # in Loop: Header=BB0_4 Depth=1
; RV64P670-NEXT: beq t6, a6, .LBB0_3
; RV64P670-NEXT: .LBB0_9: # %for.body4.us.preheader
; RV64P670-NEXT: # in Loop: Header=BB0_4 Depth=1
-; RV64P670-NEXT: mul s2, a1, t0
+; RV64P670-NEXT: mul s0, a1, t0
; RV64P670-NEXT: add s1, a0, t6
-; RV64P670-NEXT: add s4, a4, t6
+; RV64P670-NEXT: add s2, a4, t6
; RV64P670-NEXT: add t6, t6, a2
-; RV64P670-NEXT: add s2, s2, t4
+; RV64P670-NEXT: add s0, s0, t4
; RV64P670-NEXT: .LBB0_10: # %for.body4.us
; RV64P670-NEXT: # Parent Loop BB0_4 Depth=1
; RV64P670-NEXT: # => This Inner Loop Header: Depth=2
; RV64P670-NEXT: lbu s3, 0(t6)
-; RV64P670-NEXT: lbu s0, 0(s4)
-; RV64P670-NEXT: addi s4, s4, 1
+; RV64P670-NEXT: lbu s4, 0(s2)
+; RV64P670-NEXT: addi s2, s2, 1
; RV64P670-NEXT: addi t6, t6, 1
-; RV64P670-NEXT: add s0, s0, s3
-; RV64P670-NEXT: addi s0, s0, 1
-; RV64P670-NEXT: srli s0, s0, 1
-; RV64P670-NEXT: sb s0, 0(s1)
+; RV64P670-NEXT: add s3, s3, s4
+; RV64P670-NEXT: addi s3, s3, 1
+; RV64P670-NEXT: srli s3, s3, 1
+; RV64P670-NEXT: sb s3, 0(s1)
; RV64P670-NEXT: addi s1, s1, 1
-; RV64P670-NEXT: bne s1, s2, .LBB0_10
+; RV64P670-NEXT: bne s1, s0, .LBB0_10
; RV64P670-NEXT: j .LBB0_3
; RV64P670-NEXT: .LBB0_11:
; RV64P670-NEXT: ld s0, 40(sp) # 8-byte Folded Reload
@@ -301,38 +301,38 @@ define void @test1(ptr nocapture noundef writeonly %dst, i32 noundef signext %i_
; RV64X60-NEXT: .cfi_offset s0, -8
; RV64X60-NEXT: li t0, 0
; RV64X60-NEXT: li t1, 0
-; RV64X60-NEXT: addi s1, a7, -1
-; RV64X60-NEXT: zext.w s1, s1
-; RV64X60-NEXT: mul t3, a1, s1
-; RV64X60-NEXT: mul t5, a3, s1
-; RV64X60-NEXT: mul t4, a5, s1
-; RV64X60-NEXT: add s1, a0, a6
+; RV64X60-NEXT: addi t2, a7, -1
+; RV64X60-NEXT: zext.w t2, t2
+; RV64X60-NEXT: mul t3, a1, t2
+; RV64X60-NEXT: mul t4, a3, t2
+; RV64X60-NEXT: mul t5, a5, t2
+; RV64X60-NEXT: add t6, a0, a6
; RV64X60-NEXT: csrr t2, vlenb
; RV64X60-NEXT: add s0, a2, a6
-; RV64X60-NEXT: add s2, s1, t3
+; RV64X60-NEXT: add t6, t6, t3
; RV64X60-NEXT: add t3, a4, a6
-; RV64X60-NEXT: add t5, t5, s0
-; RV64X60-NEXT: or t6, a1, a3
-; RV64X60-NEXT: add t4, t4, t3
-; RV64X60-NEXT: sltu s0, a0, t5
-; RV64X60-NEXT: sltu s1, a2, s2
-; RV64X60-NEXT: and t5, s0, s1
+; RV64X60-NEXT: add t4, t4, s0
+; RV64X60-NEXT: or s0, a1, a3
+; RV64X60-NEXT: add t5, t5, t3
+; RV64X60-NEXT: sltu t3, a0, t4
+; RV64X60-NEXT: sltu t4, a2, t6
+; RV64X60-NEXT: and t4, t3, t4
; RV64X60-NEXT: slli t3, t2, 1
-; RV64X60-NEXT: sltu t4, a0, t4
-; RV64X60-NEXT: sltu s0, a4, s2
-; RV64X60-NEXT: srli s1, t6, 63
-; RV64X60-NEXT: and s0, t4, s0
-; RV64X60-NEXT: or t4, t5, s1
-; RV64X60-NEXT: or s1, a1, a5
-; RV64X60-NEXT: li t5, 32
-; RV64X60-NEXT: srli s1, s1, 63
-; RV64X60-NEXT: or s0, s0, s1
-; RV64X60-NEXT: maxu s1, t3, t5
-; RV64X60-NEXT: or s0, t4, s0
-; RV64X60-NEXT: sltu s1, a6, s1
-; RV64X60-NEXT: or s0, s0, s1
+; RV64X60-NEXT: sltu t5, a0, t5
+; RV64X60-NEXT: sltu t6, a4, t6
+; RV64X60-NEXT: srli s0, s0, 63
+; RV64X60-NEXT: and t5, t5, t6
+; RV64X60-NEXT: or t4, t4, s0
+; RV64X60-NEXT: or t6, a1, a5
+; RV64X60-NEXT: li s0, 32
+; RV64X60-NEXT: srli t6, t6, 63
+; RV64X60-NEXT: or t5, t5, t6
+; RV64X60-NEXT: maxu t6, t3, s0
+; RV64X60-NEXT: or t4, t4, t5
+; RV64X60-NEXT: sltu t5, a6, t6
+; RV64X60-NEXT: or t5, t5, t4
; RV64X60-NEXT: add t4, a0, a6
-; RV64X60-NEXT: andi t5, s0, 1
+; RV64X60-NEXT: andi t5, t5, 1
; RV64X60-NEXT: j .LBB0_4
; RV64X60-NEXT: .LBB0_3: # %for.cond1.for.cond.cleanup3_crit_edge.us
; RV64X60-NEXT: # in Loop: Header=BB0_4 Depth=1
@@ -352,49 +352,49 @@ define void @test1(ptr nocapture noundef writeonly %dst, i32 noundef signext %i_
; RV64X60-NEXT: j .LBB0_9
; RV64X60-NEXT: .LBB0_6: # %vector.ph
; RV64X60-NEXT: # in Loop: Header=BB0_4 Depth=1
-; RV64X60-NEXT: slli s1, t2, 28
-; RV64X60-NEXT: sub s1, s1, t3
-; RV64X60-NEXT: and t6, s1, a6
-; RV64X60-NEXT: mv s2, a2
-; RV64X60-NEXT: mv s3, a4
-; RV64X60-NEXT: mv s4, a0
-; RV64X60-NEXT: mv s1, t6
-; RV64X60-NEXT: vsetvli s0, zero, e8, m2, ta, ma
+; RV64X60-NEXT: slli t6, t2, 28
+; RV64X60-NEXT: sub t6, t6, t3
+; RV64X60-NEXT: and t6, t6, a6
+; RV64X60-NEXT: mv s0, a2
+; RV64X60-NEXT: mv s1, a4
+; RV64X60-NEXT: mv s2, a0
+; RV64X60-NEXT: mv s3, t6
+; RV64X60-NEXT: vsetvli s4, zero, e8, m2, ta, ma
; RV64X60-NEXT: .LBB0_7: # %vector.body
; RV64X60-NEXT: # Parent Loop BB0_4 Depth=1
; RV64X60-NEXT: # => This Inner Loop Header: Depth=2
-; RV64X60-NEXT: vl2r.v v8, (s2)
-; RV64X60-NEXT: vl2r.v v10, (s3)
+; RV64X60-NEXT: vl2r.v v8, (s0)
+; RV64X60-NEXT: vl2r.v v10, (s1)
; RV64X60-NEXT: vaaddu.vv v8, v8, v10
-; RV64X60-NEXT: sub s1, s1, t3
-; RV64X60-NEXT: vs2r.v v8, (s4)
-; RV64X60-NEXT: add s4, s4, t3
-; RV64X60-NEXT: add s3, s3, t3
+; RV64X60-NEXT: sub s3, s3, t3
+; RV64X60-NEXT: vs2r.v v8, (s2)
; RV64X60-NEXT: add s2, s2, t3
-; RV64X60-NEXT: bnez s1, .LBB0_7
+; RV64X60-NEXT: add s1, s1, t3
+; RV64X60-NEXT: add s0, s0, t3
+; RV64X60-NEXT: bnez s3, .LBB0_7
; RV64X60-NEXT: # %bb.8: # %middle.block
; RV64X60-NEXT: # in Loop: Header=BB0_4 Depth=1
; RV64X60-NEXT: beq t6, a6, .LBB0_3
; RV64X60-NEXT: .LBB0_9: # %for.body4.us.preheader
; RV64X60-NEXT: # in Loop: Header=BB0_4 Depth=1
-; RV64X60-NEXT: mul s2, a1, t0
+; RV64X60-NEXT: mul s1, a1, t0
; RV64X60-NEXT: add s0, a0, t6
-; RV64X60-NEXT: add s2, s2, t4
-; RV64X60-NEXT: add s4, a4, t6
+; RV64X60-NEXT: add s1, s1, t4
+; RV64X60-NEXT: add s2, a4, t6
; RV64X60-NEXT: add t6, t6, a2
; RV64X60-NEXT: .LBB0_10: # %for.body4.us
; RV64X60-NEXT: # Parent Loop BB0_4 Depth=1
; RV64X60-NEXT: # => This Inner Loop Header: Depth=2
; RV64X60-NEXT: lbu s3, 0(t6)
-; RV64X60-NEXT: lbu s1, 0(s4)
-; RV64X60-NEXT: add s1, s1, s3
-; RV64X60-NEXT: addi s1, s1, 1
-; RV64X60-NEXT: srli s1, s1, 1
-; RV64X60-NEXT: sb s1, 0(s0)
+; RV64X60-NEXT: lbu s4, 0(s2)
+; RV64X60-NEXT: add s3, s3, s4
+; RV64X60-NEXT: addi s3, s3, 1
+; RV64X60-NEXT: srli s3, s3, 1
+; RV64X60-NEXT: sb s3, 0(s0)
; RV64X60-NEXT: addi s0, s0, 1
-; RV64X60-NEXT: addi s4, s4, 1
+; RV64X60-NEXT: addi s2, s2, 1
; RV64X60-NEXT: addi t6, t6, 1
-; RV64X60-NEXT: bne s0, s2, .LBB0_10
+; RV64X60-NEXT: bne s0, s1, .LBB0_10
; RV64X60-NEXT: j .LBB0_3
; RV64X60-NEXT: .LBB0_11:
; RV64X60-NEXT: ld s4, 8(sp) # 8-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/select-cc.ll b/llvm/test/CodeGen/RISCV/select-cc.ll
index a373e08e75c55..220329fd94083 100644
--- a/llvm/test/CodeGen/RISCV/select-cc.ll
+++ b/llvm/test/CodeGen/RISCV/select-cc.ll
@@ -469,11 +469,11 @@ define i64 @select_sge_int32min(i64 %x, i64 %y, i64 %z) {
; RV32IXQCI-LABEL: select_sge_int32min:
; RV32IXQCI: # %bb.0:
; RV32IXQCI-NEXT: srli a6, a1, 31
-; RV32IXQCI-NEXT: srli a7, a0, 31
-; RV32IXQCI-NEXT: xori a0, a6, 1
-; RV32IXQCI-NEXT: qc.mveqi a0, a1, -1, a7
-; RV32IXQCI-NEXT: qc.mveqi a2, a0, 0, a4
-; RV32IXQCI-NEXT: qc.mveqi a3, a0, 0, a5
+; RV32IXQCI-NEXT: srli a0, a0, 31
+; RV32IXQCI-NEXT: xori a6, a6, 1
+; RV32IXQCI-NEXT: qc.mveqi a6, a1, -1, a0
+; RV32IXQCI-NEXT: qc.mveqi a2, a6, 0, a4
+; RV32IXQCI-NEXT: qc.mveqi a3, a6, 0, a5
; RV32IXQCI-NEXT: mv a0, a2
; RV32IXQCI-NEXT: mv a1, a3
; RV32IXQCI-NEXT: ret
diff --git a/llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll b/llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
index b2c20cb946f6f..dba75f9192a30 100644
--- a/llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
+++ b/llvm/test/CodeGen/RISCV/xqccmp-callee-saved-gprs.ll
@@ -43,60 +43,60 @@ define void @callee() {
; RV32IXQCCMP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IXQCCMP-NEXT: lw a1, 16(a0)
; RV32IXQCCMP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-NEXT: lw t0, 112(a0)
-; RV32IXQCCMP-NEXT: lw s0, 116(a0)
-; RV32IXQCCMP-NEXT: lw s1, 120(a0)
-; RV32IXQCCMP-NEXT: lw a5, 124(a0)
-; RV32IXQCCMP-NEXT: lw t1, 96(a0)
-; RV32IXQCCMP-NEXT: lw a6, 100(a0)
-; RV32IXQCCMP-NEXT: lw a3, 104(a0)
+; RV32IXQCCMP-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-NEXT: lw s0, 56(a0)
+; RV32IXQCCMP-NEXT: lw s1, 60(a0)
+; RV32IXQCCMP-NEXT: lw s2, 64(a0)
+; RV32IXQCCMP-NEXT: lw s3, 68(a0)
+; RV32IXQCCMP-NEXT: lw s4, 72(a0)
+; RV32IXQCCMP-NEXT: lw s5, 76(a0)
+; RV32IXQCCMP-NEXT: lw s6, 112(a0)
+; RV32IXQCCMP-NEXT: lw s7, 116(a0)
+; RV32IXQCCMP-NEXT: lw s8, 120(a0)
+; RV32IXQCCMP-NEXT: lw s9, 124(a0)
+; RV32IXQCCMP-NEXT: lw s10, 96(a0)
+; RV32IXQCCMP-NEXT: lw s11, 100(a0)
+; RV32IXQCCMP-NEXT: lw ra, 104(a0)
; RV32IXQCCMP-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-NEXT: lw a4, 88(a0)
+; RV32IXQCCMP-NEXT: lw a5, 80(a0)
+; RV32IXQCCMP-NEXT: lw a4, 84(a0)
+; RV32IXQCCMP-NEXT: lw a3, 88(a0)
; RV32IXQCCMP-NEXT: lw a2, 92(a0)
-; RV32IXQCCMP-NEXT: sw a5, 124(a0)
-; RV32IXQCCMP-NEXT: sw s1, 120(a0)
-; RV32IXQCCMP-NEXT: sw s0, 116(a0)
-; RV32IXQCCMP-NEXT: sw t0, 112(a0)
+; RV32IXQCCMP-NEXT: sw s9, 124(a0)
+; RV32IXQCCMP-NEXT: sw s8, 120(a0)
+; RV32IXQCCMP-NEXT: sw s7, 116(a0)
+; RV32IXQCCMP-NEXT: sw s6, 112(a0)
; RV32IXQCCMP-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-NEXT: sw a3, 104(a0)
-; RV32IXQCCMP-NEXT: sw a6, 100(a0)
-; RV32IXQCCMP-NEXT: sw t1, 96(a0)
+; RV32IXQCCMP-NEXT: sw ra, 104(a0)
+; RV32IXQCCMP-NEXT: sw s11, 100(a0)
+; RV32IXQCCMP-NEXT: sw s10, 96(a0)
; RV32IXQCCMP-NEXT: sw a2, 92(a0)
-; RV32IXQCCMP-NEXT: sw a4, 88(a0)
-; RV32IXQCCMP-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-NEXT: sw t3, 20(a0)
+; RV32IXQCCMP-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-NEXT: sw a4, 84(a0)
+; RV32IXQCCMP-NEXT: sw a5, 80(a0)
+; RV32IXQCCMP-NEXT: sw s5, 76(a0)
+; RV32IXQCCMP-NEXT: sw s4, 72(a0)
+; RV32IXQCCMP-NEXT: sw s3, 68(a0)
+; RV32IXQCCMP-NEXT: sw s2, 64(a0)
+; RV32IXQCCMP-NEXT: sw s1, 60(a0)
+; RV32IXQCCMP-NEXT: sw s0, 56(a0)
+; RV32IXQCCMP-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-NEXT: sw a6, 20(a0)
; RV32IXQCCMP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IXQCCMP-NEXT: sw a1, 16(a0)
; RV32IXQCCMP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -141,58 +141,58 @@ define void @callee() {
; RV32IXQCCMP-WITH-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
; RV32IXQCCMP-WITH-FP-NEXT: lw a1, 20(a0)
; RV32IXQCCMP-WITH-FP-NEXT: sw a1, 8(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-WITH-FP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw s1, 112(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw t0, 116(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw a4, 120(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw a2, 124(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw t3, 96(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw t1, 100(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw a6, 104(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s1, 56(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s2, 60(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s3, 64(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s4, 68(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s5, 72(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s6, 76(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s7, 112(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s8, 116(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s9, 120(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s10, 124(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw s11, 96(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw ra, 100(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw a4, 104(a0)
; RV32IXQCCMP-WITH-FP-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw a5, 88(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: lw a3, 92(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw a2, 124(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw a4, 120(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t0, 116(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s1, 112(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw a6, 80(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw a5, 84(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw a3, 88(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: lw a2, 92(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s10, 124(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s9, 120(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s8, 116(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s7, 112(a0)
; RV32IXQCCMP-WITH-FP-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw a6, 104(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t1, 100(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t3, 96(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw a3, 92(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw a5, 88(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-WITH-FP-NEXT: sw t4, 24(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw a4, 104(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw ra, 100(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s11, 96(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw a2, 92(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw a5, 84(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw a6, 80(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s6, 76(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s5, 72(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s4, 68(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s3, 64(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s2, 60(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw s1, 56(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-WITH-FP-NEXT: sw a7, 24(a0)
; RV32IXQCCMP-WITH-FP-NEXT: lw a1, 8(sp) # 4-byte Folded Reload
; RV32IXQCCMP-WITH-FP-NEXT: sw a1, 20(a0)
; RV32IXQCCMP-WITH-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
@@ -237,60 +237,60 @@ define void @callee() {
; RV64IXQCCMP-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IXQCCMP-NEXT: lw a1, 16(a0)
; RV64IXQCCMP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-NEXT: lw t0, 112(a0)
-; RV64IXQCCMP-NEXT: lw s0, 116(a0)
-; RV64IXQCCMP-NEXT: lw s1, 120(a0)
-; RV64IXQCCMP-NEXT: lw a5, 124(a0)
-; RV64IXQCCMP-NEXT: lw t1, 96(a0)
-; RV64IXQCCMP-NEXT: lw a6, 100(a0)
-; RV64IXQCCMP-NEXT: lw a3, 104(a0)
+; RV64IXQCCMP-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-NEXT: lw s0, 56(a0)
+; RV64IXQCCMP-NEXT: lw s1, 60(a0)
+; RV64IXQCCMP-NEXT: lw s2, 64(a0)
+; RV64IXQCCMP-NEXT: lw s3, 68(a0)
+; RV64IXQCCMP-NEXT: lw s4, 72(a0)
+; RV64IXQCCMP-NEXT: lw s5, 76(a0)
+; RV64IXQCCMP-NEXT: lw s6, 112(a0)
+; RV64IXQCCMP-NEXT: lw s7, 116(a0)
+; RV64IXQCCMP-NEXT: lw s8, 120(a0)
+; RV64IXQCCMP-NEXT: lw s9, 124(a0)
+; RV64IXQCCMP-NEXT: lw s10, 96(a0)
+; RV64IXQCCMP-NEXT: lw s11, 100(a0)
+; RV64IXQCCMP-NEXT: lw ra, 104(a0)
; RV64IXQCCMP-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-NEXT: lw a4, 88(a0)
+; RV64IXQCCMP-NEXT: lw a5, 80(a0)
+; RV64IXQCCMP-NEXT: lw a4, 84(a0)
+; RV64IXQCCMP-NEXT: lw a3, 88(a0)
; RV64IXQCCMP-NEXT: lw a2, 92(a0)
-; RV64IXQCCMP-NEXT: sw a5, 124(a0)
-; RV64IXQCCMP-NEXT: sw s1, 120(a0)
-; RV64IXQCCMP-NEXT: sw s0, 116(a0)
-; RV64IXQCCMP-NEXT: sw t0, 112(a0)
+; RV64IXQCCMP-NEXT: sw s9, 124(a0)
+; RV64IXQCCMP-NEXT: sw s8, 120(a0)
+; RV64IXQCCMP-NEXT: sw s7, 116(a0)
+; RV64IXQCCMP-NEXT: sw s6, 112(a0)
; RV64IXQCCMP-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-NEXT: sw a3, 104(a0)
-; RV64IXQCCMP-NEXT: sw a6, 100(a0)
-; RV64IXQCCMP-NEXT: sw t1, 96(a0)
+; RV64IXQCCMP-NEXT: sw ra, 104(a0)
+; RV64IXQCCMP-NEXT: sw s11, 100(a0)
+; RV64IXQCCMP-NEXT: sw s10, 96(a0)
; RV64IXQCCMP-NEXT: sw a2, 92(a0)
-; RV64IXQCCMP-NEXT: sw a4, 88(a0)
-; RV64IXQCCMP-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-NEXT: sw t3, 20(a0)
+; RV64IXQCCMP-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-NEXT: sw a4, 84(a0)
+; RV64IXQCCMP-NEXT: sw a5, 80(a0)
+; RV64IXQCCMP-NEXT: sw s5, 76(a0)
+; RV64IXQCCMP-NEXT: sw s4, 72(a0)
+; RV64IXQCCMP-NEXT: sw s3, 68(a0)
+; RV64IXQCCMP-NEXT: sw s2, 64(a0)
+; RV64IXQCCMP-NEXT: sw s1, 60(a0)
+; RV64IXQCCMP-NEXT: sw s0, 56(a0)
+; RV64IXQCCMP-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-NEXT: sw a6, 20(a0)
; RV64IXQCCMP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IXQCCMP-NEXT: sw a1, 16(a0)
; RV64IXQCCMP-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
@@ -335,58 +335,58 @@ define void @callee() {
; RV64IXQCCMP-WITH-FP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
; RV64IXQCCMP-WITH-FP-NEXT: lw a1, 20(a0)
; RV64IXQCCMP-WITH-FP-NEXT: sd a1, 0(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-WITH-FP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw s1, 112(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw t0, 116(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw a4, 120(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw a2, 124(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw t3, 96(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw t1, 100(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw a6, 104(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s1, 56(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s2, 60(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s3, 64(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s4, 68(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s5, 72(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s6, 76(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s7, 112(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s8, 116(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s9, 120(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s10, 124(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw s11, 96(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw ra, 100(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw a4, 104(a0)
; RV64IXQCCMP-WITH-FP-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw a5, 88(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: lw a3, 92(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw a2, 124(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw a4, 120(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t0, 116(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s1, 112(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw a6, 80(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw a5, 84(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw a3, 88(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: lw a2, 92(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s10, 124(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s9, 120(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s8, 116(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s7, 112(a0)
; RV64IXQCCMP-WITH-FP-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw a6, 104(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t1, 100(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t3, 96(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw a3, 92(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw a5, 88(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-WITH-FP-NEXT: sw t4, 24(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw a4, 104(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw ra, 100(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s11, 96(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw a2, 92(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw a5, 84(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw a6, 80(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s6, 76(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s5, 72(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s4, 68(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s3, 64(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s2, 60(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw s1, 56(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-WITH-FP-NEXT: sw a7, 24(a0)
; RV64IXQCCMP-WITH-FP-NEXT: ld a1, 0(sp) # 8-byte Folded Reload
; RV64IXQCCMP-WITH-FP-NEXT: sw a1, 20(a0)
; RV64IXQCCMP-WITH-FP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
@@ -473,29 +473,29 @@ define void @caller() {
; RV32IXQCCMP-NEXT: sw a0, 16(sp) # 4-byte Folded Spill
; RV32IXQCCMP-NEXT: lw a0, 80(s0)
; RV32IXQCCMP-NEXT: sw a0, 12(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-NEXT: lw s1, 84(s0)
-; RV32IXQCCMP-NEXT: lw s2, 88(s0)
-; RV32IXQCCMP-NEXT: lw s3, 92(s0)
-; RV32IXQCCMP-NEXT: lw s4, 96(s0)
-; RV32IXQCCMP-NEXT: lw s5, 100(s0)
-; RV32IXQCCMP-NEXT: lw s6, 104(s0)
-; RV32IXQCCMP-NEXT: lw s7, 108(s0)
-; RV32IXQCCMP-NEXT: lw s8, 112(s0)
-; RV32IXQCCMP-NEXT: lw s9, 116(s0)
-; RV32IXQCCMP-NEXT: lw s10, 120(s0)
-; RV32IXQCCMP-NEXT: lw s11, 124(s0)
+; RV32IXQCCMP-NEXT: lw s11, 84(s0)
+; RV32IXQCCMP-NEXT: lw s1, 88(s0)
+; RV32IXQCCMP-NEXT: lw s2, 92(s0)
+; RV32IXQCCMP-NEXT: lw s3, 96(s0)
+; RV32IXQCCMP-NEXT: lw s4, 100(s0)
+; RV32IXQCCMP-NEXT: lw s5, 104(s0)
+; RV32IXQCCMP-NEXT: lw s6, 108(s0)
+; RV32IXQCCMP-NEXT: lw s7, 112(s0)
+; RV32IXQCCMP-NEXT: lw s8, 116(s0)
+; RV32IXQCCMP-NEXT: lw s9, 120(s0)
+; RV32IXQCCMP-NEXT: lw s10, 124(s0)
; RV32IXQCCMP-NEXT: call callee
-; RV32IXQCCMP-NEXT: sw s11, 124(s0)
-; RV32IXQCCMP-NEXT: sw s10, 120(s0)
-; RV32IXQCCMP-NEXT: sw s9, 116(s0)
-; RV32IXQCCMP-NEXT: sw s8, 112(s0)
-; RV32IXQCCMP-NEXT: sw s7, 108(s0)
-; RV32IXQCCMP-NEXT: sw s6, 104(s0)
-; RV32IXQCCMP-NEXT: sw s5, 100(s0)
-; RV32IXQCCMP-NEXT: sw s4, 96(s0)
-; RV32IXQCCMP-NEXT: sw s3, 92(s0)
-; RV32IXQCCMP-NEXT: sw s2, 88(s0)
-; RV32IXQCCMP-NEXT: sw s1, 84(s0)
+; RV32IXQCCMP-NEXT: sw s10, 124(s0)
+; RV32IXQCCMP-NEXT: sw s9, 120(s0)
+; RV32IXQCCMP-NEXT: sw s8, 116(s0)
+; RV32IXQCCMP-NEXT: sw s7, 112(s0)
+; RV32IXQCCMP-NEXT: sw s6, 108(s0)
+; RV32IXQCCMP-NEXT: sw s5, 104(s0)
+; RV32IXQCCMP-NEXT: sw s4, 100(s0)
+; RV32IXQCCMP-NEXT: sw s3, 96(s0)
+; RV32IXQCCMP-NEXT: sw s2, 92(s0)
+; RV32IXQCCMP-NEXT: sw s1, 88(s0)
+; RV32IXQCCMP-NEXT: sw s11, 84(s0)
; RV32IXQCCMP-NEXT: lw a0, 12(sp) # 4-byte Folded Reload
; RV32IXQCCMP-NEXT: sw a0, 80(s0)
; RV32IXQCCMP-NEXT: lw a0, 16(sp) # 4-byte Folded Reload
@@ -741,29 +741,29 @@ define void @caller() {
; RV64IXQCCMP-NEXT: sd a0, 16(sp) # 8-byte Folded Spill
; RV64IXQCCMP-NEXT: lw a0, 80(s0)
; RV64IXQCCMP-NEXT: sd a0, 8(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-NEXT: lw s1, 84(s0)
-; RV64IXQCCMP-NEXT: lw s2, 88(s0)
-; RV64IXQCCMP-NEXT: lw s3, 92(s0)
-; RV64IXQCCMP-NEXT: lw s4, 96(s0)
-; RV64IXQCCMP-NEXT: lw s5, 100(s0)
-; RV64IXQCCMP-NEXT: lw s6, 104(s0)
-; RV64IXQCCMP-NEXT: lw s7, 108(s0)
-; RV64IXQCCMP-NEXT: lw s8, 112(s0)
-; RV64IXQCCMP-NEXT: lw s9, 116(s0)
-; RV64IXQCCMP-NEXT: lw s10, 120(s0)
-; RV64IXQCCMP-NEXT: lw s11, 124(s0)
+; RV64IXQCCMP-NEXT: lw s11, 84(s0)
+; RV64IXQCCMP-NEXT: lw s1, 88(s0)
+; RV64IXQCCMP-NEXT: lw s2, 92(s0)
+; RV64IXQCCMP-NEXT: lw s3, 96(s0)
+; RV64IXQCCMP-NEXT: lw s4, 100(s0)
+; RV64IXQCCMP-NEXT: lw s5, 104(s0)
+; RV64IXQCCMP-NEXT: lw s6, 108(s0)
+; RV64IXQCCMP-NEXT: lw s7, 112(s0)
+; RV64IXQCCMP-NEXT: lw s8, 116(s0)
+; RV64IXQCCMP-NEXT: lw s9, 120(s0)
+; RV64IXQCCMP-NEXT: lw s10, 124(s0)
; RV64IXQCCMP-NEXT: call callee
-; RV64IXQCCMP-NEXT: sw s11, 124(s0)
-; RV64IXQCCMP-NEXT: sw s10, 120(s0)
-; RV64IXQCCMP-NEXT: sw s9, 116(s0)
-; RV64IXQCCMP-NEXT: sw s8, 112(s0)
-; RV64IXQCCMP-NEXT: sw s7, 108(s0)
-; RV64IXQCCMP-NEXT: sw s6, 104(s0)
-; RV64IXQCCMP-NEXT: sw s5, 100(s0)
-; RV64IXQCCMP-NEXT: sw s4, 96(s0)
-; RV64IXQCCMP-NEXT: sw s3, 92(s0)
-; RV64IXQCCMP-NEXT: sw s2, 88(s0)
-; RV64IXQCCMP-NEXT: sw s1, 84(s0)
+; RV64IXQCCMP-NEXT: sw s10, 124(s0)
+; RV64IXQCCMP-NEXT: sw s9, 120(s0)
+; RV64IXQCCMP-NEXT: sw s8, 116(s0)
+; RV64IXQCCMP-NEXT: sw s7, 112(s0)
+; RV64IXQCCMP-NEXT: sw s6, 108(s0)
+; RV64IXQCCMP-NEXT: sw s5, 104(s0)
+; RV64IXQCCMP-NEXT: sw s4, 100(s0)
+; RV64IXQCCMP-NEXT: sw s3, 96(s0)
+; RV64IXQCCMP-NEXT: sw s2, 92(s0)
+; RV64IXQCCMP-NEXT: sw s1, 88(s0)
+; RV64IXQCCMP-NEXT: sw s11, 84(s0)
; RV64IXQCCMP-NEXT: ld a0, 8(sp) # 8-byte Folded Reload
; RV64IXQCCMP-NEXT: sw a0, 80(s0)
; RV64IXQCCMP-NEXT: ld a0, 16(sp) # 8-byte Folded Reload
diff --git a/llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll b/llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
index 6d31ea43898b8..a4b846d684e58 100644
--- a/llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
+++ b/llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
@@ -700,23 +700,23 @@ define i32 @nocompress(i32 signext %size) {
; RV32IXQCCMP-NEXT: .cfi_def_cfa s0, 0
; RV32IXQCCMP-NEXT: addi a0, a0, 15
; RV32IXQCCMP-NEXT: andi a0, a0, -16
-; RV32IXQCCMP-NEXT: sub s2, sp, a0
-; RV32IXQCCMP-NEXT: mv sp, s2
-; RV32IXQCCMP-NEXT: lui s1, %hi(var)
-; RV32IXQCCMP-NEXT: addi s1, s1, %lo(var)
-; RV32IXQCCMP-NEXT: lw s3, 0(s1)
-; RV32IXQCCMP-NEXT: lw s4, 4(s1)
-; RV32IXQCCMP-NEXT: lw s5, 8(s1)
-; RV32IXQCCMP-NEXT: lw s6, 12(s1)
-; RV32IXQCCMP-NEXT: lw s7, 16(s1)
-; RV32IXQCCMP-NEXT: mv a0, s2
+; RV32IXQCCMP-NEXT: sub s1, sp, a0
+; RV32IXQCCMP-NEXT: mv sp, s1
+; RV32IXQCCMP-NEXT: lui s2, %hi(var)
+; RV32IXQCCMP-NEXT: addi s2, s2, %lo(var)
+; RV32IXQCCMP-NEXT: lw s3, 0(s2)
+; RV32IXQCCMP-NEXT: lw s4, 4(s2)
+; RV32IXQCCMP-NEXT: lw s5, 8(s2)
+; RV32IXQCCMP-NEXT: lw s6, 12(s2)
+; RV32IXQCCMP-NEXT: lw s7, 16(s2)
+; RV32IXQCCMP-NEXT: mv a0, s1
; RV32IXQCCMP-NEXT: call callee_void
-; RV32IXQCCMP-NEXT: sw s7, 16(s1)
-; RV32IXQCCMP-NEXT: sw s6, 12(s1)
-; RV32IXQCCMP-NEXT: sw s5, 8(s1)
-; RV32IXQCCMP-NEXT: mv a0, s2
-; RV32IXQCCMP-NEXT: sw s4, 4(s1)
-; RV32IXQCCMP-NEXT: sw s3, 0(s1)
+; RV32IXQCCMP-NEXT: sw s7, 16(s2)
+; RV32IXQCCMP-NEXT: sw s6, 12(s2)
+; RV32IXQCCMP-NEXT: sw s5, 8(s2)
+; RV32IXQCCMP-NEXT: mv a0, s1
+; RV32IXQCCMP-NEXT: sw s4, 4(s2)
+; RV32IXQCCMP-NEXT: sw s3, 0(s2)
; RV32IXQCCMP-NEXT: addi sp, s0, -48
; RV32IXQCCMP-NEXT: .cfi_def_cfa sp, 48
; RV32IXQCCMP-NEXT: qc.cm.pop {ra, s0-s7}, 48
@@ -750,23 +750,23 @@ define i32 @nocompress(i32 signext %size) {
; RV64IXQCCMP-NEXT: srli a0, a0, 32
; RV64IXQCCMP-NEXT: addi a0, a0, 15
; RV64IXQCCMP-NEXT: andi a0, a0, -16
-; RV64IXQCCMP-NEXT: sub s2, sp, a0
-; RV64IXQCCMP-NEXT: mv sp, s2
-; RV64IXQCCMP-NEXT: lui s1, %hi(var)
-; RV64IXQCCMP-NEXT: addi s1, s1, %lo(var)
-; RV64IXQCCMP-NEXT: lw s3, 0(s1)
-; RV64IXQCCMP-NEXT: lw s4, 4(s1)
-; RV64IXQCCMP-NEXT: lw s5, 8(s1)
-; RV64IXQCCMP-NEXT: lw s6, 12(s1)
-; RV64IXQCCMP-NEXT: lw s7, 16(s1)
-; RV64IXQCCMP-NEXT: mv a0, s2
+; RV64IXQCCMP-NEXT: sub s1, sp, a0
+; RV64IXQCCMP-NEXT: mv sp, s1
+; RV64IXQCCMP-NEXT: lui s2, %hi(var)
+; RV64IXQCCMP-NEXT: addi s2, s2, %lo(var)
+; RV64IXQCCMP-NEXT: lw s3, 0(s2)
+; RV64IXQCCMP-NEXT: lw s4, 4(s2)
+; RV64IXQCCMP-NEXT: lw s5, 8(s2)
+; RV64IXQCCMP-NEXT: lw s6, 12(s2)
+; RV64IXQCCMP-NEXT: lw s7, 16(s2)
+; RV64IXQCCMP-NEXT: mv a0, s1
; RV64IXQCCMP-NEXT: call callee_void
-; RV64IXQCCMP-NEXT: sw s7, 16(s1)
-; RV64IXQCCMP-NEXT: sw s6, 12(s1)
-; RV64IXQCCMP-NEXT: sw s5, 8(s1)
-; RV64IXQCCMP-NEXT: mv a0, s2
-; RV64IXQCCMP-NEXT: sw s4, 4(s1)
-; RV64IXQCCMP-NEXT: sw s3, 0(s1)
+; RV64IXQCCMP-NEXT: sw s7, 16(s2)
+; RV64IXQCCMP-NEXT: sw s6, 12(s2)
+; RV64IXQCCMP-NEXT: sw s5, 8(s2)
+; RV64IXQCCMP-NEXT: mv a0, s1
+; RV64IXQCCMP-NEXT: sw s4, 4(s2)
+; RV64IXQCCMP-NEXT: sw s3, 0(s2)
; RV64IXQCCMP-NEXT: addi sp, s0, -80
; RV64IXQCCMP-NEXT: .cfi_def_cfa sp, 80
; RV64IXQCCMP-NEXT: qc.cm.pop {ra, s0-s7}, 80
@@ -798,23 +798,23 @@ define i32 @nocompress(i32 signext %size) {
; RV32IXQCCMP-FP-NEXT: .cfi_def_cfa s0, 0
; RV32IXQCCMP-FP-NEXT: addi a0, a0, 15
; RV32IXQCCMP-FP-NEXT: andi a0, a0, -16
-; RV32IXQCCMP-FP-NEXT: sub s2, sp, a0
-; RV32IXQCCMP-FP-NEXT: mv sp, s2
-; RV32IXQCCMP-FP-NEXT: lui s1, %hi(var)
-; RV32IXQCCMP-FP-NEXT: addi s1, s1, %lo(var)
-; RV32IXQCCMP-FP-NEXT: lw s3, 0(s1)
-; RV32IXQCCMP-FP-NEXT: lw s4, 4(s1)
-; RV32IXQCCMP-FP-NEXT: lw s5, 8(s1)
-; RV32IXQCCMP-FP-NEXT: lw s6, 12(s1)
-; RV32IXQCCMP-FP-NEXT: lw s7, 16(s1)
-; RV32IXQCCMP-FP-NEXT: mv a0, s2
+; RV32IXQCCMP-FP-NEXT: sub s1, sp, a0
+; RV32IXQCCMP-FP-NEXT: mv sp, s1
+; RV32IXQCCMP-FP-NEXT: lui s2, %hi(var)
+; RV32IXQCCMP-FP-NEXT: addi s2, s2, %lo(var)
+; RV32IXQCCMP-FP-NEXT: lw s3, 0(s2)
+; RV32IXQCCMP-FP-NEXT: lw s4, 4(s2)
+; RV32IXQCCMP-FP-NEXT: lw s5, 8(s2)
+; RV32IXQCCMP-FP-NEXT: lw s6, 12(s2)
+; RV32IXQCCMP-FP-NEXT: lw s7, 16(s2)
+; RV32IXQCCMP-FP-NEXT: mv a0, s1
; RV32IXQCCMP-FP-NEXT: call callee_void
-; RV32IXQCCMP-FP-NEXT: sw s7, 16(s1)
-; RV32IXQCCMP-FP-NEXT: sw s6, 12(s1)
-; RV32IXQCCMP-FP-NEXT: sw s5, 8(s1)
-; RV32IXQCCMP-FP-NEXT: mv a0, s2
-; RV32IXQCCMP-FP-NEXT: sw s4, 4(s1)
-; RV32IXQCCMP-FP-NEXT: sw s3, 0(s1)
+; RV32IXQCCMP-FP-NEXT: sw s7, 16(s2)
+; RV32IXQCCMP-FP-NEXT: sw s6, 12(s2)
+; RV32IXQCCMP-FP-NEXT: sw s5, 8(s2)
+; RV32IXQCCMP-FP-NEXT: mv a0, s1
+; RV32IXQCCMP-FP-NEXT: sw s4, 4(s2)
+; RV32IXQCCMP-FP-NEXT: sw s3, 0(s2)
; RV32IXQCCMP-FP-NEXT: addi sp, s0, -48
; RV32IXQCCMP-FP-NEXT: .cfi_def_cfa sp, 48
; RV32IXQCCMP-FP-NEXT: qc.cm.pop {ra, s0-s7}, 48
@@ -848,23 +848,23 @@ define i32 @nocompress(i32 signext %size) {
; RV64IXQCCMP-FP-NEXT: srli a0, a0, 32
; RV64IXQCCMP-FP-NEXT: addi a0, a0, 15
; RV64IXQCCMP-FP-NEXT: andi a0, a0, -16
-; RV64IXQCCMP-FP-NEXT: sub s2, sp, a0
-; RV64IXQCCMP-FP-NEXT: mv sp, s2
-; RV64IXQCCMP-FP-NEXT: lui s1, %hi(var)
-; RV64IXQCCMP-FP-NEXT: addi s1, s1, %lo(var)
-; RV64IXQCCMP-FP-NEXT: lw s3, 0(s1)
-; RV64IXQCCMP-FP-NEXT: lw s4, 4(s1)
-; RV64IXQCCMP-FP-NEXT: lw s5, 8(s1)
-; RV64IXQCCMP-FP-NEXT: lw s6, 12(s1)
-; RV64IXQCCMP-FP-NEXT: lw s7, 16(s1)
-; RV64IXQCCMP-FP-NEXT: mv a0, s2
+; RV64IXQCCMP-FP-NEXT: sub s1, sp, a0
+; RV64IXQCCMP-FP-NEXT: mv sp, s1
+; RV64IXQCCMP-FP-NEXT: lui s2, %hi(var)
+; RV64IXQCCMP-FP-NEXT: addi s2, s2, %lo(var)
+; RV64IXQCCMP-FP-NEXT: lw s3, 0(s2)
+; RV64IXQCCMP-FP-NEXT: lw s4, 4(s2)
+; RV64IXQCCMP-FP-NEXT: lw s5, 8(s2)
+; RV64IXQCCMP-FP-NEXT: lw s6, 12(s2)
+; RV64IXQCCMP-FP-NEXT: lw s7, 16(s2)
+; RV64IXQCCMP-FP-NEXT: mv a0, s1
; RV64IXQCCMP-FP-NEXT: call callee_void
-; RV64IXQCCMP-FP-NEXT: sw s7, 16(s1)
-; RV64IXQCCMP-FP-NEXT: sw s6, 12(s1)
-; RV64IXQCCMP-FP-NEXT: sw s5, 8(s1)
-; RV64IXQCCMP-FP-NEXT: mv a0, s2
-; RV64IXQCCMP-FP-NEXT: sw s4, 4(s1)
-; RV64IXQCCMP-FP-NEXT: sw s3, 0(s1)
+; RV64IXQCCMP-FP-NEXT: sw s7, 16(s2)
+; RV64IXQCCMP-FP-NEXT: sw s6, 12(s2)
+; RV64IXQCCMP-FP-NEXT: sw s5, 8(s2)
+; RV64IXQCCMP-FP-NEXT: mv a0, s1
+; RV64IXQCCMP-FP-NEXT: sw s4, 4(s2)
+; RV64IXQCCMP-FP-NEXT: sw s3, 0(s2)
; RV64IXQCCMP-FP-NEXT: addi sp, s0, -80
; RV64IXQCCMP-FP-NEXT: .cfi_def_cfa sp, 80
; RV64IXQCCMP-FP-NEXT: qc.cm.pop {ra, s0-s7}, 80
@@ -896,23 +896,23 @@ define i32 @nocompress(i32 signext %size) {
; RV32IXQCCMP-SR-NEXT: .cfi_def_cfa s0, 0
; RV32IXQCCMP-SR-NEXT: addi a0, a0, 15
; RV32IXQCCMP-SR-NEXT: andi a0, a0, -16
-; RV32IXQCCMP-SR-NEXT: sub s2, sp, a0
-; RV32IXQCCMP-SR-NEXT: mv sp, s2
-; RV32IXQCCMP-SR-NEXT: lui s1, %hi(var)
-; RV32IXQCCMP-SR-NEXT: addi s1, s1, %lo(var)
-; RV32IXQCCMP-SR-NEXT: lw s3, 0(s1)
-; RV32IXQCCMP-SR-NEXT: lw s4, 4(s1)
-; RV32IXQCCMP-SR-NEXT: lw s5, 8(s1)
-; RV32IXQCCMP-SR-NEXT: lw s6, 12(s1)
-; RV32IXQCCMP-SR-NEXT: lw s7, 16(s1)
-; RV32IXQCCMP-SR-NEXT: mv a0, s2
+; RV32IXQCCMP-SR-NEXT: sub s1, sp, a0
+; RV32IXQCCMP-SR-NEXT: mv sp, s1
+; RV32IXQCCMP-SR-NEXT: lui s2, %hi(var)
+; RV32IXQCCMP-SR-NEXT: addi s2, s2, %lo(var)
+; RV32IXQCCMP-SR-NEXT: lw s3, 0(s2)
+; RV32IXQCCMP-SR-NEXT: lw s4, 4(s2)
+; RV32IXQCCMP-SR-NEXT: lw s5, 8(s2)
+; RV32IXQCCMP-SR-NEXT: lw s6, 12(s2)
+; RV32IXQCCMP-SR-NEXT: lw s7, 16(s2)
+; RV32IXQCCMP-SR-NEXT: mv a0, s1
; RV32IXQCCMP-SR-NEXT: call callee_void
-; RV32IXQCCMP-SR-NEXT: sw s7, 16(s1)
-; RV32IXQCCMP-SR-NEXT: sw s6, 12(s1)
-; RV32IXQCCMP-SR-NEXT: sw s5, 8(s1)
-; RV32IXQCCMP-SR-NEXT: mv a0, s2
-; RV32IXQCCMP-SR-NEXT: sw s4, 4(s1)
-; RV32IXQCCMP-SR-NEXT: sw s3, 0(s1)
+; RV32IXQCCMP-SR-NEXT: sw s7, 16(s2)
+; RV32IXQCCMP-SR-NEXT: sw s6, 12(s2)
+; RV32IXQCCMP-SR-NEXT: sw s5, 8(s2)
+; RV32IXQCCMP-SR-NEXT: mv a0, s1
+; RV32IXQCCMP-SR-NEXT: sw s4, 4(s2)
+; RV32IXQCCMP-SR-NEXT: sw s3, 0(s2)
; RV32IXQCCMP-SR-NEXT: addi sp, s0, -48
; RV32IXQCCMP-SR-NEXT: .cfi_def_cfa sp, 48
; RV32IXQCCMP-SR-NEXT: qc.cm.pop {ra, s0-s7}, 48
@@ -946,23 +946,23 @@ define i32 @nocompress(i32 signext %size) {
; RV64IXQCCMP-SR-NEXT: srli a0, a0, 32
; RV64IXQCCMP-SR-NEXT: addi a0, a0, 15
; RV64IXQCCMP-SR-NEXT: andi a0, a0, -16
-; RV64IXQCCMP-SR-NEXT: sub s2, sp, a0
-; RV64IXQCCMP-SR-NEXT: mv sp, s2
-; RV64IXQCCMP-SR-NEXT: lui s1, %hi(var)
-; RV64IXQCCMP-SR-NEXT: addi s1, s1, %lo(var)
-; RV64IXQCCMP-SR-NEXT: lw s3, 0(s1)
-; RV64IXQCCMP-SR-NEXT: lw s4, 4(s1)
-; RV64IXQCCMP-SR-NEXT: lw s5, 8(s1)
-; RV64IXQCCMP-SR-NEXT: lw s6, 12(s1)
-; RV64IXQCCMP-SR-NEXT: lw s7, 16(s1)
-; RV64IXQCCMP-SR-NEXT: mv a0, s2
+; RV64IXQCCMP-SR-NEXT: sub s1, sp, a0
+; RV64IXQCCMP-SR-NEXT: mv sp, s1
+; RV64IXQCCMP-SR-NEXT: lui s2, %hi(var)
+; RV64IXQCCMP-SR-NEXT: addi s2, s2, %lo(var)
+; RV64IXQCCMP-SR-NEXT: lw s3, 0(s2)
+; RV64IXQCCMP-SR-NEXT: lw s4, 4(s2)
+; RV64IXQCCMP-SR-NEXT: lw s5, 8(s2)
+; RV64IXQCCMP-SR-NEXT: lw s6, 12(s2)
+; RV64IXQCCMP-SR-NEXT: lw s7, 16(s2)
+; RV64IXQCCMP-SR-NEXT: mv a0, s1
; RV64IXQCCMP-SR-NEXT: call callee_void
-; RV64IXQCCMP-SR-NEXT: sw s7, 16(s1)
-; RV64IXQCCMP-SR-NEXT: sw s6, 12(s1)
-; RV64IXQCCMP-SR-NEXT: sw s5, 8(s1)
-; RV64IXQCCMP-SR-NEXT: mv a0, s2
-; RV64IXQCCMP-SR-NEXT: sw s4, 4(s1)
-; RV64IXQCCMP-SR-NEXT: sw s3, 0(s1)
+; RV64IXQCCMP-SR-NEXT: sw s7, 16(s2)
+; RV64IXQCCMP-SR-NEXT: sw s6, 12(s2)
+; RV64IXQCCMP-SR-NEXT: sw s5, 8(s2)
+; RV64IXQCCMP-SR-NEXT: mv a0, s1
+; RV64IXQCCMP-SR-NEXT: sw s4, 4(s2)
+; RV64IXQCCMP-SR-NEXT: sw s3, 0(s2)
; RV64IXQCCMP-SR-NEXT: addi sp, s0, -80
; RV64IXQCCMP-SR-NEXT: .cfi_def_cfa sp, 80
; RV64IXQCCMP-SR-NEXT: qc.cm.pop {ra, s0-s7}, 80
@@ -1141,42 +1141,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV32IXQCCMP-NEXT: .cfi_offset s3, -20
; RV32IXQCCMP-NEXT: lui a0, %hi(var0)
; RV32IXQCCMP-NEXT: addi a0, a0, %lo(var0)
-; RV32IXQCCMP-NEXT: lw a6, 0(a0)
-; RV32IXQCCMP-NEXT: lw a7, 4(a0)
-; RV32IXQCCMP-NEXT: lw t0, 8(a0)
-; RV32IXQCCMP-NEXT: lw t1, 12(a0)
-; RV32IXQCCMP-NEXT: lw t2, 16(a0)
-; RV32IXQCCMP-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-NEXT: lw a4, 64(a0)
-; RV32IXQCCMP-NEXT: lw a5, 68(a0)
-; RV32IXQCCMP-NEXT: lw t6, 48(a0)
-; RV32IXQCCMP-NEXT: lw s3, 52(a0)
-; RV32IXQCCMP-NEXT: lw a3, 56(a0)
-; RV32IXQCCMP-NEXT: lw a1, 60(a0)
-; RV32IXQCCMP-NEXT: lw s2, 32(a0)
+; RV32IXQCCMP-NEXT: lw a1, 0(a0)
+; RV32IXQCCMP-NEXT: lw a2, 4(a0)
+; RV32IXQCCMP-NEXT: lw a3, 8(a0)
+; RV32IXQCCMP-NEXT: lw a4, 12(a0)
+; RV32IXQCCMP-NEXT: lw a5, 16(a0)
+; RV32IXQCCMP-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-NEXT: lw t1, 64(a0)
+; RV32IXQCCMP-NEXT: lw t2, 68(a0)
+; RV32IXQCCMP-NEXT: lw t3, 48(a0)
+; RV32IXQCCMP-NEXT: lw t4, 52(a0)
+; RV32IXQCCMP-NEXT: lw t5, 56(a0)
+; RV32IXQCCMP-NEXT: lw t6, 60(a0)
+; RV32IXQCCMP-NEXT: lw s0, 32(a0)
; RV32IXQCCMP-NEXT: lw s1, 36(a0)
-; RV32IXQCCMP-NEXT: lw s0, 40(a0)
-; RV32IXQCCMP-NEXT: lw a2, 44(a0)
-; RV32IXQCCMP-NEXT: sw a5, 68(a0)
-; RV32IXQCCMP-NEXT: sw a4, 64(a0)
-; RV32IXQCCMP-NEXT: sw a1, 60(a0)
-; RV32IXQCCMP-NEXT: sw a3, 56(a0)
-; RV32IXQCCMP-NEXT: sw s3, 52(a0)
-; RV32IXQCCMP-NEXT: sw t6, 48(a0)
-; RV32IXQCCMP-NEXT: sw a2, 44(a0)
-; RV32IXQCCMP-NEXT: sw s0, 40(a0)
+; RV32IXQCCMP-NEXT: lw s2, 40(a0)
+; RV32IXQCCMP-NEXT: lw s3, 44(a0)
+; RV32IXQCCMP-NEXT: sw t2, 68(a0)
+; RV32IXQCCMP-NEXT: sw t1, 64(a0)
+; RV32IXQCCMP-NEXT: sw t6, 60(a0)
+; RV32IXQCCMP-NEXT: sw t5, 56(a0)
+; RV32IXQCCMP-NEXT: sw t4, 52(a0)
+; RV32IXQCCMP-NEXT: sw t3, 48(a0)
+; RV32IXQCCMP-NEXT: sw s3, 44(a0)
+; RV32IXQCCMP-NEXT: sw s2, 40(a0)
; RV32IXQCCMP-NEXT: sw s1, 36(a0)
-; RV32IXQCCMP-NEXT: sw s2, 32(a0)
-; RV32IXQCCMP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-NEXT: sw t3, 20(a0)
-; RV32IXQCCMP-NEXT: sw t2, 16(a0)
-; RV32IXQCCMP-NEXT: sw t1, 12(a0)
-; RV32IXQCCMP-NEXT: sw t0, 8(a0)
-; RV32IXQCCMP-NEXT: sw a7, 4(a0)
-; RV32IXQCCMP-NEXT: sw a6, 0(a0)
+; RV32IXQCCMP-NEXT: sw s0, 32(a0)
+; RV32IXQCCMP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-NEXT: sw a6, 20(a0)
+; RV32IXQCCMP-NEXT: sw a5, 16(a0)
+; RV32IXQCCMP-NEXT: sw a4, 12(a0)
+; RV32IXQCCMP-NEXT: sw a3, 8(a0)
+; RV32IXQCCMP-NEXT: sw a2, 4(a0)
+; RV32IXQCCMP-NEXT: sw a1, 0(a0)
; RV32IXQCCMP-NEXT: qc.cm.popret {ra, s0-s3}, 32
;
; RV64IXQCCMP-LABEL: many_args:
@@ -1189,42 +1189,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV64IXQCCMP-NEXT: .cfi_offset s3, -40
; RV64IXQCCMP-NEXT: lui a0, %hi(var0)
; RV64IXQCCMP-NEXT: addi a0, a0, %lo(var0)
-; RV64IXQCCMP-NEXT: lw a6, 0(a0)
-; RV64IXQCCMP-NEXT: lw a7, 4(a0)
-; RV64IXQCCMP-NEXT: lw t0, 8(a0)
-; RV64IXQCCMP-NEXT: lw t1, 12(a0)
-; RV64IXQCCMP-NEXT: lw t2, 16(a0)
-; RV64IXQCCMP-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-NEXT: lw a4, 64(a0)
-; RV64IXQCCMP-NEXT: lw a5, 68(a0)
-; RV64IXQCCMP-NEXT: lw t6, 48(a0)
-; RV64IXQCCMP-NEXT: lw s3, 52(a0)
-; RV64IXQCCMP-NEXT: lw a3, 56(a0)
-; RV64IXQCCMP-NEXT: lw a1, 60(a0)
-; RV64IXQCCMP-NEXT: lw s2, 32(a0)
+; RV64IXQCCMP-NEXT: lw a1, 0(a0)
+; RV64IXQCCMP-NEXT: lw a2, 4(a0)
+; RV64IXQCCMP-NEXT: lw a3, 8(a0)
+; RV64IXQCCMP-NEXT: lw a4, 12(a0)
+; RV64IXQCCMP-NEXT: lw a5, 16(a0)
+; RV64IXQCCMP-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-NEXT: lw t1, 64(a0)
+; RV64IXQCCMP-NEXT: lw t2, 68(a0)
+; RV64IXQCCMP-NEXT: lw t3, 48(a0)
+; RV64IXQCCMP-NEXT: lw t4, 52(a0)
+; RV64IXQCCMP-NEXT: lw t5, 56(a0)
+; RV64IXQCCMP-NEXT: lw t6, 60(a0)
+; RV64IXQCCMP-NEXT: lw s0, 32(a0)
; RV64IXQCCMP-NEXT: lw s1, 36(a0)
-; RV64IXQCCMP-NEXT: lw s0, 40(a0)
-; RV64IXQCCMP-NEXT: lw a2, 44(a0)
-; RV64IXQCCMP-NEXT: sw a5, 68(a0)
-; RV64IXQCCMP-NEXT: sw a4, 64(a0)
-; RV64IXQCCMP-NEXT: sw a1, 60(a0)
-; RV64IXQCCMP-NEXT: sw a3, 56(a0)
-; RV64IXQCCMP-NEXT: sw s3, 52(a0)
-; RV64IXQCCMP-NEXT: sw t6, 48(a0)
-; RV64IXQCCMP-NEXT: sw a2, 44(a0)
-; RV64IXQCCMP-NEXT: sw s0, 40(a0)
+; RV64IXQCCMP-NEXT: lw s2, 40(a0)
+; RV64IXQCCMP-NEXT: lw s3, 44(a0)
+; RV64IXQCCMP-NEXT: sw t2, 68(a0)
+; RV64IXQCCMP-NEXT: sw t1, 64(a0)
+; RV64IXQCCMP-NEXT: sw t6, 60(a0)
+; RV64IXQCCMP-NEXT: sw t5, 56(a0)
+; RV64IXQCCMP-NEXT: sw t4, 52(a0)
+; RV64IXQCCMP-NEXT: sw t3, 48(a0)
+; RV64IXQCCMP-NEXT: sw s3, 44(a0)
+; RV64IXQCCMP-NEXT: sw s2, 40(a0)
; RV64IXQCCMP-NEXT: sw s1, 36(a0)
-; RV64IXQCCMP-NEXT: sw s2, 32(a0)
-; RV64IXQCCMP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-NEXT: sw t3, 20(a0)
-; RV64IXQCCMP-NEXT: sw t2, 16(a0)
-; RV64IXQCCMP-NEXT: sw t1, 12(a0)
-; RV64IXQCCMP-NEXT: sw t0, 8(a0)
-; RV64IXQCCMP-NEXT: sw a7, 4(a0)
-; RV64IXQCCMP-NEXT: sw a6, 0(a0)
+; RV64IXQCCMP-NEXT: sw s0, 32(a0)
+; RV64IXQCCMP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-NEXT: sw a6, 20(a0)
+; RV64IXQCCMP-NEXT: sw a5, 16(a0)
+; RV64IXQCCMP-NEXT: sw a4, 12(a0)
+; RV64IXQCCMP-NEXT: sw a3, 8(a0)
+; RV64IXQCCMP-NEXT: sw a2, 4(a0)
+; RV64IXQCCMP-NEXT: sw a1, 0(a0)
; RV64IXQCCMP-NEXT: qc.cm.popret {ra, s0-s3}, 48
;
; RV32IXQCCMP-FP-LABEL: many_args:
@@ -1240,42 +1240,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV32IXQCCMP-FP-NEXT: .cfi_def_cfa s0, 0
; RV32IXQCCMP-FP-NEXT: lui a0, %hi(var0)
; RV32IXQCCMP-FP-NEXT: addi a0, a0, %lo(var0)
-; RV32IXQCCMP-FP-NEXT: lw a6, 0(a0)
-; RV32IXQCCMP-FP-NEXT: lw a7, 4(a0)
-; RV32IXQCCMP-FP-NEXT: lw t0, 8(a0)
-; RV32IXQCCMP-FP-NEXT: lw t1, 12(a0)
-; RV32IXQCCMP-FP-NEXT: lw t2, 16(a0)
-; RV32IXQCCMP-FP-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-FP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-FP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-FP-NEXT: lw s4, 64(a0)
-; RV32IXQCCMP-FP-NEXT: lw a5, 68(a0)
-; RV32IXQCCMP-FP-NEXT: lw t6, 48(a0)
-; RV32IXQCCMP-FP-NEXT: lw s3, 52(a0)
-; RV32IXQCCMP-FP-NEXT: lw a3, 56(a0)
-; RV32IXQCCMP-FP-NEXT: lw a1, 60(a0)
-; RV32IXQCCMP-FP-NEXT: lw s2, 32(a0)
-; RV32IXQCCMP-FP-NEXT: lw s1, 36(a0)
-; RV32IXQCCMP-FP-NEXT: lw a2, 40(a0)
-; RV32IXQCCMP-FP-NEXT: lw a4, 44(a0)
-; RV32IXQCCMP-FP-NEXT: sw a5, 68(a0)
-; RV32IXQCCMP-FP-NEXT: sw s4, 64(a0)
-; RV32IXQCCMP-FP-NEXT: sw a1, 60(a0)
-; RV32IXQCCMP-FP-NEXT: sw a3, 56(a0)
-; RV32IXQCCMP-FP-NEXT: sw s3, 52(a0)
-; RV32IXQCCMP-FP-NEXT: sw t6, 48(a0)
-; RV32IXQCCMP-FP-NEXT: sw a4, 44(a0)
-; RV32IXQCCMP-FP-NEXT: sw a2, 40(a0)
-; RV32IXQCCMP-FP-NEXT: sw s1, 36(a0)
-; RV32IXQCCMP-FP-NEXT: sw s2, 32(a0)
-; RV32IXQCCMP-FP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-FP-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-FP-NEXT: sw t3, 20(a0)
-; RV32IXQCCMP-FP-NEXT: sw t2, 16(a0)
-; RV32IXQCCMP-FP-NEXT: sw t1, 12(a0)
-; RV32IXQCCMP-FP-NEXT: sw t0, 8(a0)
-; RV32IXQCCMP-FP-NEXT: sw a7, 4(a0)
-; RV32IXQCCMP-FP-NEXT: sw a6, 0(a0)
+; RV32IXQCCMP-FP-NEXT: lw a1, 0(a0)
+; RV32IXQCCMP-FP-NEXT: lw a2, 4(a0)
+; RV32IXQCCMP-FP-NEXT: lw a3, 8(a0)
+; RV32IXQCCMP-FP-NEXT: lw a4, 12(a0)
+; RV32IXQCCMP-FP-NEXT: lw a5, 16(a0)
+; RV32IXQCCMP-FP-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-FP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-FP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-FP-NEXT: lw t1, 64(a0)
+; RV32IXQCCMP-FP-NEXT: lw t2, 68(a0)
+; RV32IXQCCMP-FP-NEXT: lw t3, 48(a0)
+; RV32IXQCCMP-FP-NEXT: lw t4, 52(a0)
+; RV32IXQCCMP-FP-NEXT: lw t5, 56(a0)
+; RV32IXQCCMP-FP-NEXT: lw t6, 60(a0)
+; RV32IXQCCMP-FP-NEXT: lw s1, 32(a0)
+; RV32IXQCCMP-FP-NEXT: lw s2, 36(a0)
+; RV32IXQCCMP-FP-NEXT: lw s3, 40(a0)
+; RV32IXQCCMP-FP-NEXT: lw s4, 44(a0)
+; RV32IXQCCMP-FP-NEXT: sw t2, 68(a0)
+; RV32IXQCCMP-FP-NEXT: sw t1, 64(a0)
+; RV32IXQCCMP-FP-NEXT: sw t6, 60(a0)
+; RV32IXQCCMP-FP-NEXT: sw t5, 56(a0)
+; RV32IXQCCMP-FP-NEXT: sw t4, 52(a0)
+; RV32IXQCCMP-FP-NEXT: sw t3, 48(a0)
+; RV32IXQCCMP-FP-NEXT: sw s4, 44(a0)
+; RV32IXQCCMP-FP-NEXT: sw s3, 40(a0)
+; RV32IXQCCMP-FP-NEXT: sw s2, 36(a0)
+; RV32IXQCCMP-FP-NEXT: sw s1, 32(a0)
+; RV32IXQCCMP-FP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-FP-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-FP-NEXT: sw a6, 20(a0)
+; RV32IXQCCMP-FP-NEXT: sw a5, 16(a0)
+; RV32IXQCCMP-FP-NEXT: sw a4, 12(a0)
+; RV32IXQCCMP-FP-NEXT: sw a3, 8(a0)
+; RV32IXQCCMP-FP-NEXT: sw a2, 4(a0)
+; RV32IXQCCMP-FP-NEXT: sw a1, 0(a0)
; RV32IXQCCMP-FP-NEXT: .cfi_def_cfa sp, 32
; RV32IXQCCMP-FP-NEXT: qc.cm.popret {ra, s0-s4}, 32
;
@@ -1292,42 +1292,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV64IXQCCMP-FP-NEXT: .cfi_def_cfa s0, 0
; RV64IXQCCMP-FP-NEXT: lui a0, %hi(var0)
; RV64IXQCCMP-FP-NEXT: addi a0, a0, %lo(var0)
-; RV64IXQCCMP-FP-NEXT: lw a6, 0(a0)
-; RV64IXQCCMP-FP-NEXT: lw a7, 4(a0)
-; RV64IXQCCMP-FP-NEXT: lw t0, 8(a0)
-; RV64IXQCCMP-FP-NEXT: lw t1, 12(a0)
-; RV64IXQCCMP-FP-NEXT: lw t2, 16(a0)
-; RV64IXQCCMP-FP-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-FP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-FP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-FP-NEXT: lw s4, 64(a0)
-; RV64IXQCCMP-FP-NEXT: lw a5, 68(a0)
-; RV64IXQCCMP-FP-NEXT: lw t6, 48(a0)
-; RV64IXQCCMP-FP-NEXT: lw s3, 52(a0)
-; RV64IXQCCMP-FP-NEXT: lw a3, 56(a0)
-; RV64IXQCCMP-FP-NEXT: lw a1, 60(a0)
-; RV64IXQCCMP-FP-NEXT: lw s2, 32(a0)
-; RV64IXQCCMP-FP-NEXT: lw s1, 36(a0)
-; RV64IXQCCMP-FP-NEXT: lw a2, 40(a0)
-; RV64IXQCCMP-FP-NEXT: lw a4, 44(a0)
-; RV64IXQCCMP-FP-NEXT: sw a5, 68(a0)
-; RV64IXQCCMP-FP-NEXT: sw s4, 64(a0)
-; RV64IXQCCMP-FP-NEXT: sw a1, 60(a0)
-; RV64IXQCCMP-FP-NEXT: sw a3, 56(a0)
-; RV64IXQCCMP-FP-NEXT: sw s3, 52(a0)
-; RV64IXQCCMP-FP-NEXT: sw t6, 48(a0)
-; RV64IXQCCMP-FP-NEXT: sw a4, 44(a0)
-; RV64IXQCCMP-FP-NEXT: sw a2, 40(a0)
-; RV64IXQCCMP-FP-NEXT: sw s1, 36(a0)
-; RV64IXQCCMP-FP-NEXT: sw s2, 32(a0)
-; RV64IXQCCMP-FP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-FP-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-FP-NEXT: sw t3, 20(a0)
-; RV64IXQCCMP-FP-NEXT: sw t2, 16(a0)
-; RV64IXQCCMP-FP-NEXT: sw t1, 12(a0)
-; RV64IXQCCMP-FP-NEXT: sw t0, 8(a0)
-; RV64IXQCCMP-FP-NEXT: sw a7, 4(a0)
-; RV64IXQCCMP-FP-NEXT: sw a6, 0(a0)
+; RV64IXQCCMP-FP-NEXT: lw a1, 0(a0)
+; RV64IXQCCMP-FP-NEXT: lw a2, 4(a0)
+; RV64IXQCCMP-FP-NEXT: lw a3, 8(a0)
+; RV64IXQCCMP-FP-NEXT: lw a4, 12(a0)
+; RV64IXQCCMP-FP-NEXT: lw a5, 16(a0)
+; RV64IXQCCMP-FP-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-FP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-FP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-FP-NEXT: lw t1, 64(a0)
+; RV64IXQCCMP-FP-NEXT: lw t2, 68(a0)
+; RV64IXQCCMP-FP-NEXT: lw t3, 48(a0)
+; RV64IXQCCMP-FP-NEXT: lw t4, 52(a0)
+; RV64IXQCCMP-FP-NEXT: lw t5, 56(a0)
+; RV64IXQCCMP-FP-NEXT: lw t6, 60(a0)
+; RV64IXQCCMP-FP-NEXT: lw s1, 32(a0)
+; RV64IXQCCMP-FP-NEXT: lw s2, 36(a0)
+; RV64IXQCCMP-FP-NEXT: lw s3, 40(a0)
+; RV64IXQCCMP-FP-NEXT: lw s4, 44(a0)
+; RV64IXQCCMP-FP-NEXT: sw t2, 68(a0)
+; RV64IXQCCMP-FP-NEXT: sw t1, 64(a0)
+; RV64IXQCCMP-FP-NEXT: sw t6, 60(a0)
+; RV64IXQCCMP-FP-NEXT: sw t5, 56(a0)
+; RV64IXQCCMP-FP-NEXT: sw t4, 52(a0)
+; RV64IXQCCMP-FP-NEXT: sw t3, 48(a0)
+; RV64IXQCCMP-FP-NEXT: sw s4, 44(a0)
+; RV64IXQCCMP-FP-NEXT: sw s3, 40(a0)
+; RV64IXQCCMP-FP-NEXT: sw s2, 36(a0)
+; RV64IXQCCMP-FP-NEXT: sw s1, 32(a0)
+; RV64IXQCCMP-FP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-FP-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-FP-NEXT: sw a6, 20(a0)
+; RV64IXQCCMP-FP-NEXT: sw a5, 16(a0)
+; RV64IXQCCMP-FP-NEXT: sw a4, 12(a0)
+; RV64IXQCCMP-FP-NEXT: sw a3, 8(a0)
+; RV64IXQCCMP-FP-NEXT: sw a2, 4(a0)
+; RV64IXQCCMP-FP-NEXT: sw a1, 0(a0)
; RV64IXQCCMP-FP-NEXT: .cfi_def_cfa sp, 48
; RV64IXQCCMP-FP-NEXT: qc.cm.popret {ra, s0-s4}, 48
;
@@ -1341,42 +1341,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV32IXQCCMP-SR-NEXT: .cfi_offset s3, -20
; RV32IXQCCMP-SR-NEXT: lui a0, %hi(var0)
; RV32IXQCCMP-SR-NEXT: addi a0, a0, %lo(var0)
-; RV32IXQCCMP-SR-NEXT: lw a6, 0(a0)
-; RV32IXQCCMP-SR-NEXT: lw a7, 4(a0)
-; RV32IXQCCMP-SR-NEXT: lw t0, 8(a0)
-; RV32IXQCCMP-SR-NEXT: lw t1, 12(a0)
-; RV32IXQCCMP-SR-NEXT: lw t2, 16(a0)
-; RV32IXQCCMP-SR-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-SR-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-SR-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-SR-NEXT: lw a4, 64(a0)
-; RV32IXQCCMP-SR-NEXT: lw a5, 68(a0)
-; RV32IXQCCMP-SR-NEXT: lw t6, 48(a0)
-; RV32IXQCCMP-SR-NEXT: lw s3, 52(a0)
-; RV32IXQCCMP-SR-NEXT: lw a3, 56(a0)
-; RV32IXQCCMP-SR-NEXT: lw a1, 60(a0)
-; RV32IXQCCMP-SR-NEXT: lw s2, 32(a0)
+; RV32IXQCCMP-SR-NEXT: lw a1, 0(a0)
+; RV32IXQCCMP-SR-NEXT: lw a2, 4(a0)
+; RV32IXQCCMP-SR-NEXT: lw a3, 8(a0)
+; RV32IXQCCMP-SR-NEXT: lw a4, 12(a0)
+; RV32IXQCCMP-SR-NEXT: lw a5, 16(a0)
+; RV32IXQCCMP-SR-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-SR-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-SR-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-SR-NEXT: lw t1, 64(a0)
+; RV32IXQCCMP-SR-NEXT: lw t2, 68(a0)
+; RV32IXQCCMP-SR-NEXT: lw t3, 48(a0)
+; RV32IXQCCMP-SR-NEXT: lw t4, 52(a0)
+; RV32IXQCCMP-SR-NEXT: lw t5, 56(a0)
+; RV32IXQCCMP-SR-NEXT: lw t6, 60(a0)
+; RV32IXQCCMP-SR-NEXT: lw s0, 32(a0)
; RV32IXQCCMP-SR-NEXT: lw s1, 36(a0)
-; RV32IXQCCMP-SR-NEXT: lw s0, 40(a0)
-; RV32IXQCCMP-SR-NEXT: lw a2, 44(a0)
-; RV32IXQCCMP-SR-NEXT: sw a5, 68(a0)
-; RV32IXQCCMP-SR-NEXT: sw a4, 64(a0)
-; RV32IXQCCMP-SR-NEXT: sw a1, 60(a0)
-; RV32IXQCCMP-SR-NEXT: sw a3, 56(a0)
-; RV32IXQCCMP-SR-NEXT: sw s3, 52(a0)
-; RV32IXQCCMP-SR-NEXT: sw t6, 48(a0)
-; RV32IXQCCMP-SR-NEXT: sw a2, 44(a0)
-; RV32IXQCCMP-SR-NEXT: sw s0, 40(a0)
+; RV32IXQCCMP-SR-NEXT: lw s2, 40(a0)
+; RV32IXQCCMP-SR-NEXT: lw s3, 44(a0)
+; RV32IXQCCMP-SR-NEXT: sw t2, 68(a0)
+; RV32IXQCCMP-SR-NEXT: sw t1, 64(a0)
+; RV32IXQCCMP-SR-NEXT: sw t6, 60(a0)
+; RV32IXQCCMP-SR-NEXT: sw t5, 56(a0)
+; RV32IXQCCMP-SR-NEXT: sw t4, 52(a0)
+; RV32IXQCCMP-SR-NEXT: sw t3, 48(a0)
+; RV32IXQCCMP-SR-NEXT: sw s3, 44(a0)
+; RV32IXQCCMP-SR-NEXT: sw s2, 40(a0)
; RV32IXQCCMP-SR-NEXT: sw s1, 36(a0)
-; RV32IXQCCMP-SR-NEXT: sw s2, 32(a0)
-; RV32IXQCCMP-SR-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-SR-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-SR-NEXT: sw t3, 20(a0)
-; RV32IXQCCMP-SR-NEXT: sw t2, 16(a0)
-; RV32IXQCCMP-SR-NEXT: sw t1, 12(a0)
-; RV32IXQCCMP-SR-NEXT: sw t0, 8(a0)
-; RV32IXQCCMP-SR-NEXT: sw a7, 4(a0)
-; RV32IXQCCMP-SR-NEXT: sw a6, 0(a0)
+; RV32IXQCCMP-SR-NEXT: sw s0, 32(a0)
+; RV32IXQCCMP-SR-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-SR-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-SR-NEXT: sw a6, 20(a0)
+; RV32IXQCCMP-SR-NEXT: sw a5, 16(a0)
+; RV32IXQCCMP-SR-NEXT: sw a4, 12(a0)
+; RV32IXQCCMP-SR-NEXT: sw a3, 8(a0)
+; RV32IXQCCMP-SR-NEXT: sw a2, 4(a0)
+; RV32IXQCCMP-SR-NEXT: sw a1, 0(a0)
; RV32IXQCCMP-SR-NEXT: qc.cm.popret {ra, s0-s3}, 32
;
; RV64IXQCCMP-SR-LABEL: many_args:
@@ -1389,42 +1389,42 @@ define void @many_args(i32, i32, i32, i32, i32, i32, i32, i32, i32) {
; RV64IXQCCMP-SR-NEXT: .cfi_offset s3, -40
; RV64IXQCCMP-SR-NEXT: lui a0, %hi(var0)
; RV64IXQCCMP-SR-NEXT: addi a0, a0, %lo(var0)
-; RV64IXQCCMP-SR-NEXT: lw a6, 0(a0)
-; RV64IXQCCMP-SR-NEXT: lw a7, 4(a0)
-; RV64IXQCCMP-SR-NEXT: lw t0, 8(a0)
-; RV64IXQCCMP-SR-NEXT: lw t1, 12(a0)
-; RV64IXQCCMP-SR-NEXT: lw t2, 16(a0)
-; RV64IXQCCMP-SR-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-SR-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-SR-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-SR-NEXT: lw a4, 64(a0)
-; RV64IXQCCMP-SR-NEXT: lw a5, 68(a0)
-; RV64IXQCCMP-SR-NEXT: lw t6, 48(a0)
-; RV64IXQCCMP-SR-NEXT: lw s3, 52(a0)
-; RV64IXQCCMP-SR-NEXT: lw a3, 56(a0)
-; RV64IXQCCMP-SR-NEXT: lw a1, 60(a0)
-; RV64IXQCCMP-SR-NEXT: lw s2, 32(a0)
+; RV64IXQCCMP-SR-NEXT: lw a1, 0(a0)
+; RV64IXQCCMP-SR-NEXT: lw a2, 4(a0)
+; RV64IXQCCMP-SR-NEXT: lw a3, 8(a0)
+; RV64IXQCCMP-SR-NEXT: lw a4, 12(a0)
+; RV64IXQCCMP-SR-NEXT: lw a5, 16(a0)
+; RV64IXQCCMP-SR-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-SR-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-SR-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-SR-NEXT: lw t1, 64(a0)
+; RV64IXQCCMP-SR-NEXT: lw t2, 68(a0)
+; RV64IXQCCMP-SR-NEXT: lw t3, 48(a0)
+; RV64IXQCCMP-SR-NEXT: lw t4, 52(a0)
+; RV64IXQCCMP-SR-NEXT: lw t5, 56(a0)
+; RV64IXQCCMP-SR-NEXT: lw t6, 60(a0)
+; RV64IXQCCMP-SR-NEXT: lw s0, 32(a0)
; RV64IXQCCMP-SR-NEXT: lw s1, 36(a0)
-; RV64IXQCCMP-SR-NEXT: lw s0, 40(a0)
-; RV64IXQCCMP-SR-NEXT: lw a2, 44(a0)
-; RV64IXQCCMP-SR-NEXT: sw a5, 68(a0)
-; RV64IXQCCMP-SR-NEXT: sw a4, 64(a0)
-; RV64IXQCCMP-SR-NEXT: sw a1, 60(a0)
-; RV64IXQCCMP-SR-NEXT: sw a3, 56(a0)
-; RV64IXQCCMP-SR-NEXT: sw s3, 52(a0)
-; RV64IXQCCMP-SR-NEXT: sw t6, 48(a0)
-; RV64IXQCCMP-SR-NEXT: sw a2, 44(a0)
-; RV64IXQCCMP-SR-NEXT: sw s0, 40(a0)
+; RV64IXQCCMP-SR-NEXT: lw s2, 40(a0)
+; RV64IXQCCMP-SR-NEXT: lw s3, 44(a0)
+; RV64IXQCCMP-SR-NEXT: sw t2, 68(a0)
+; RV64IXQCCMP-SR-NEXT: sw t1, 64(a0)
+; RV64IXQCCMP-SR-NEXT: sw t6, 60(a0)
+; RV64IXQCCMP-SR-NEXT: sw t5, 56(a0)
+; RV64IXQCCMP-SR-NEXT: sw t4, 52(a0)
+; RV64IXQCCMP-SR-NEXT: sw t3, 48(a0)
+; RV64IXQCCMP-SR-NEXT: sw s3, 44(a0)
+; RV64IXQCCMP-SR-NEXT: sw s2, 40(a0)
; RV64IXQCCMP-SR-NEXT: sw s1, 36(a0)
-; RV64IXQCCMP-SR-NEXT: sw s2, 32(a0)
-; RV64IXQCCMP-SR-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-SR-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-SR-NEXT: sw t3, 20(a0)
-; RV64IXQCCMP-SR-NEXT: sw t2, 16(a0)
-; RV64IXQCCMP-SR-NEXT: sw t1, 12(a0)
-; RV64IXQCCMP-SR-NEXT: sw t0, 8(a0)
-; RV64IXQCCMP-SR-NEXT: sw a7, 4(a0)
-; RV64IXQCCMP-SR-NEXT: sw a6, 0(a0)
+; RV64IXQCCMP-SR-NEXT: sw s0, 32(a0)
+; RV64IXQCCMP-SR-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-SR-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-SR-NEXT: sw a6, 20(a0)
+; RV64IXQCCMP-SR-NEXT: sw a5, 16(a0)
+; RV64IXQCCMP-SR-NEXT: sw a4, 12(a0)
+; RV64IXQCCMP-SR-NEXT: sw a3, 8(a0)
+; RV64IXQCCMP-SR-NEXT: sw a2, 4(a0)
+; RV64IXQCCMP-SR-NEXT: sw a1, 0(a0)
; RV64IXQCCMP-SR-NEXT: qc.cm.popret {ra, s0-s3}, 48
entry:
%val = load [18 x i32], ptr @var0
@@ -2148,60 +2148,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV32IXQCCMP-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; RV32IXQCCMP-NEXT: lw a1, 16(a0)
; RV32IXQCCMP-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-NEXT: lw t0, 112(a0)
-; RV32IXQCCMP-NEXT: lw s0, 116(a0)
-; RV32IXQCCMP-NEXT: lw s1, 120(a0)
-; RV32IXQCCMP-NEXT: lw a5, 124(a0)
-; RV32IXQCCMP-NEXT: lw t1, 96(a0)
-; RV32IXQCCMP-NEXT: lw a6, 100(a0)
-; RV32IXQCCMP-NEXT: lw a3, 104(a0)
+; RV32IXQCCMP-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-NEXT: lw s0, 56(a0)
+; RV32IXQCCMP-NEXT: lw s1, 60(a0)
+; RV32IXQCCMP-NEXT: lw s2, 64(a0)
+; RV32IXQCCMP-NEXT: lw s3, 68(a0)
+; RV32IXQCCMP-NEXT: lw s4, 72(a0)
+; RV32IXQCCMP-NEXT: lw s5, 76(a0)
+; RV32IXQCCMP-NEXT: lw s6, 112(a0)
+; RV32IXQCCMP-NEXT: lw s7, 116(a0)
+; RV32IXQCCMP-NEXT: lw s8, 120(a0)
+; RV32IXQCCMP-NEXT: lw s9, 124(a0)
+; RV32IXQCCMP-NEXT: lw s10, 96(a0)
+; RV32IXQCCMP-NEXT: lw s11, 100(a0)
+; RV32IXQCCMP-NEXT: lw ra, 104(a0)
; RV32IXQCCMP-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-NEXT: lw a4, 88(a0)
+; RV32IXQCCMP-NEXT: lw a5, 80(a0)
+; RV32IXQCCMP-NEXT: lw a4, 84(a0)
+; RV32IXQCCMP-NEXT: lw a3, 88(a0)
; RV32IXQCCMP-NEXT: lw a2, 92(a0)
-; RV32IXQCCMP-NEXT: sw a5, 124(a0)
-; RV32IXQCCMP-NEXT: sw s1, 120(a0)
-; RV32IXQCCMP-NEXT: sw s0, 116(a0)
-; RV32IXQCCMP-NEXT: sw t0, 112(a0)
+; RV32IXQCCMP-NEXT: sw s9, 124(a0)
+; RV32IXQCCMP-NEXT: sw s8, 120(a0)
+; RV32IXQCCMP-NEXT: sw s7, 116(a0)
+; RV32IXQCCMP-NEXT: sw s6, 112(a0)
; RV32IXQCCMP-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-NEXT: sw a3, 104(a0)
-; RV32IXQCCMP-NEXT: sw a6, 100(a0)
-; RV32IXQCCMP-NEXT: sw t1, 96(a0)
+; RV32IXQCCMP-NEXT: sw ra, 104(a0)
+; RV32IXQCCMP-NEXT: sw s11, 100(a0)
+; RV32IXQCCMP-NEXT: sw s10, 96(a0)
; RV32IXQCCMP-NEXT: sw a2, 92(a0)
-; RV32IXQCCMP-NEXT: sw a4, 88(a0)
-; RV32IXQCCMP-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-NEXT: sw t3, 20(a0)
+; RV32IXQCCMP-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-NEXT: sw a4, 84(a0)
+; RV32IXQCCMP-NEXT: sw a5, 80(a0)
+; RV32IXQCCMP-NEXT: sw s5, 76(a0)
+; RV32IXQCCMP-NEXT: sw s4, 72(a0)
+; RV32IXQCCMP-NEXT: sw s3, 68(a0)
+; RV32IXQCCMP-NEXT: sw s2, 64(a0)
+; RV32IXQCCMP-NEXT: sw s1, 60(a0)
+; RV32IXQCCMP-NEXT: sw s0, 56(a0)
+; RV32IXQCCMP-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-NEXT: sw a6, 20(a0)
; RV32IXQCCMP-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; RV32IXQCCMP-NEXT: sw a1, 16(a0)
; RV32IXQCCMP-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -2322,60 +2322,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV64IXQCCMP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
; RV64IXQCCMP-NEXT: lw a1, 16(a0)
; RV64IXQCCMP-NEXT: sd a1, 0(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-NEXT: lw t0, 112(a0)
-; RV64IXQCCMP-NEXT: lw s0, 116(a0)
-; RV64IXQCCMP-NEXT: lw s1, 120(a0)
-; RV64IXQCCMP-NEXT: lw a5, 124(a0)
-; RV64IXQCCMP-NEXT: lw t1, 96(a0)
-; RV64IXQCCMP-NEXT: lw a6, 100(a0)
-; RV64IXQCCMP-NEXT: lw a3, 104(a0)
+; RV64IXQCCMP-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-NEXT: lw s0, 56(a0)
+; RV64IXQCCMP-NEXT: lw s1, 60(a0)
+; RV64IXQCCMP-NEXT: lw s2, 64(a0)
+; RV64IXQCCMP-NEXT: lw s3, 68(a0)
+; RV64IXQCCMP-NEXT: lw s4, 72(a0)
+; RV64IXQCCMP-NEXT: lw s5, 76(a0)
+; RV64IXQCCMP-NEXT: lw s6, 112(a0)
+; RV64IXQCCMP-NEXT: lw s7, 116(a0)
+; RV64IXQCCMP-NEXT: lw s8, 120(a0)
+; RV64IXQCCMP-NEXT: lw s9, 124(a0)
+; RV64IXQCCMP-NEXT: lw s10, 96(a0)
+; RV64IXQCCMP-NEXT: lw s11, 100(a0)
+; RV64IXQCCMP-NEXT: lw ra, 104(a0)
; RV64IXQCCMP-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-NEXT: lw a4, 88(a0)
+; RV64IXQCCMP-NEXT: lw a5, 80(a0)
+; RV64IXQCCMP-NEXT: lw a4, 84(a0)
+; RV64IXQCCMP-NEXT: lw a3, 88(a0)
; RV64IXQCCMP-NEXT: lw a2, 92(a0)
-; RV64IXQCCMP-NEXT: sw a5, 124(a0)
-; RV64IXQCCMP-NEXT: sw s1, 120(a0)
-; RV64IXQCCMP-NEXT: sw s0, 116(a0)
-; RV64IXQCCMP-NEXT: sw t0, 112(a0)
+; RV64IXQCCMP-NEXT: sw s9, 124(a0)
+; RV64IXQCCMP-NEXT: sw s8, 120(a0)
+; RV64IXQCCMP-NEXT: sw s7, 116(a0)
+; RV64IXQCCMP-NEXT: sw s6, 112(a0)
; RV64IXQCCMP-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-NEXT: sw a3, 104(a0)
-; RV64IXQCCMP-NEXT: sw a6, 100(a0)
-; RV64IXQCCMP-NEXT: sw t1, 96(a0)
+; RV64IXQCCMP-NEXT: sw ra, 104(a0)
+; RV64IXQCCMP-NEXT: sw s11, 100(a0)
+; RV64IXQCCMP-NEXT: sw s10, 96(a0)
; RV64IXQCCMP-NEXT: sw a2, 92(a0)
-; RV64IXQCCMP-NEXT: sw a4, 88(a0)
-; RV64IXQCCMP-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-NEXT: sw t3, 20(a0)
+; RV64IXQCCMP-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-NEXT: sw a4, 84(a0)
+; RV64IXQCCMP-NEXT: sw a5, 80(a0)
+; RV64IXQCCMP-NEXT: sw s5, 76(a0)
+; RV64IXQCCMP-NEXT: sw s4, 72(a0)
+; RV64IXQCCMP-NEXT: sw s3, 68(a0)
+; RV64IXQCCMP-NEXT: sw s2, 64(a0)
+; RV64IXQCCMP-NEXT: sw s1, 60(a0)
+; RV64IXQCCMP-NEXT: sw s0, 56(a0)
+; RV64IXQCCMP-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-NEXT: sw a6, 20(a0)
; RV64IXQCCMP-NEXT: ld a1, 0(sp) # 8-byte Folded Reload
; RV64IXQCCMP-NEXT: sw a1, 16(a0)
; RV64IXQCCMP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
@@ -2499,58 +2499,58 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV32IXQCCMP-FP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IXQCCMP-FP-NEXT: lw a1, 20(a0)
; RV32IXQCCMP-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-FP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-FP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-FP-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-FP-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-FP-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-FP-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-FP-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-FP-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-FP-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-FP-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-FP-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-FP-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-FP-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-FP-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-FP-NEXT: lw s1, 112(a0)
-; RV32IXQCCMP-FP-NEXT: lw t0, 116(a0)
-; RV32IXQCCMP-FP-NEXT: lw a4, 120(a0)
-; RV32IXQCCMP-FP-NEXT: lw a2, 124(a0)
-; RV32IXQCCMP-FP-NEXT: lw t3, 96(a0)
-; RV32IXQCCMP-FP-NEXT: lw t1, 100(a0)
-; RV32IXQCCMP-FP-NEXT: lw a6, 104(a0)
+; RV32IXQCCMP-FP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-FP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-FP-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-FP-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-FP-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-FP-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-FP-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-FP-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-FP-NEXT: lw s1, 56(a0)
+; RV32IXQCCMP-FP-NEXT: lw s2, 60(a0)
+; RV32IXQCCMP-FP-NEXT: lw s3, 64(a0)
+; RV32IXQCCMP-FP-NEXT: lw s4, 68(a0)
+; RV32IXQCCMP-FP-NEXT: lw s5, 72(a0)
+; RV32IXQCCMP-FP-NEXT: lw s6, 76(a0)
+; RV32IXQCCMP-FP-NEXT: lw s7, 112(a0)
+; RV32IXQCCMP-FP-NEXT: lw s8, 116(a0)
+; RV32IXQCCMP-FP-NEXT: lw s9, 120(a0)
+; RV32IXQCCMP-FP-NEXT: lw s10, 124(a0)
+; RV32IXQCCMP-FP-NEXT: lw s11, 96(a0)
+; RV32IXQCCMP-FP-NEXT: lw ra, 100(a0)
+; RV32IXQCCMP-FP-NEXT: lw a4, 104(a0)
; RV32IXQCCMP-FP-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-FP-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-FP-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-FP-NEXT: lw a5, 88(a0)
-; RV32IXQCCMP-FP-NEXT: lw a3, 92(a0)
-; RV32IXQCCMP-FP-NEXT: sw a2, 124(a0)
-; RV32IXQCCMP-FP-NEXT: sw a4, 120(a0)
-; RV32IXQCCMP-FP-NEXT: sw t0, 116(a0)
-; RV32IXQCCMP-FP-NEXT: sw s1, 112(a0)
+; RV32IXQCCMP-FP-NEXT: lw a6, 80(a0)
+; RV32IXQCCMP-FP-NEXT: lw a5, 84(a0)
+; RV32IXQCCMP-FP-NEXT: lw a3, 88(a0)
+; RV32IXQCCMP-FP-NEXT: lw a2, 92(a0)
+; RV32IXQCCMP-FP-NEXT: sw s10, 124(a0)
+; RV32IXQCCMP-FP-NEXT: sw s9, 120(a0)
+; RV32IXQCCMP-FP-NEXT: sw s8, 116(a0)
+; RV32IXQCCMP-FP-NEXT: sw s7, 112(a0)
; RV32IXQCCMP-FP-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-FP-NEXT: sw a6, 104(a0)
-; RV32IXQCCMP-FP-NEXT: sw t1, 100(a0)
-; RV32IXQCCMP-FP-NEXT: sw t3, 96(a0)
-; RV32IXQCCMP-FP-NEXT: sw a3, 92(a0)
-; RV32IXQCCMP-FP-NEXT: sw a5, 88(a0)
-; RV32IXQCCMP-FP-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-FP-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-FP-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-FP-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-FP-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-FP-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-FP-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-FP-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-FP-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-FP-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-FP-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-FP-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-FP-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-FP-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-FP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-FP-NEXT: sw t4, 24(a0)
+; RV32IXQCCMP-FP-NEXT: sw a4, 104(a0)
+; RV32IXQCCMP-FP-NEXT: sw ra, 100(a0)
+; RV32IXQCCMP-FP-NEXT: sw s11, 96(a0)
+; RV32IXQCCMP-FP-NEXT: sw a2, 92(a0)
+; RV32IXQCCMP-FP-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-FP-NEXT: sw a5, 84(a0)
+; RV32IXQCCMP-FP-NEXT: sw a6, 80(a0)
+; RV32IXQCCMP-FP-NEXT: sw s6, 76(a0)
+; RV32IXQCCMP-FP-NEXT: sw s5, 72(a0)
+; RV32IXQCCMP-FP-NEXT: sw s4, 68(a0)
+; RV32IXQCCMP-FP-NEXT: sw s3, 64(a0)
+; RV32IXQCCMP-FP-NEXT: sw s2, 60(a0)
+; RV32IXQCCMP-FP-NEXT: sw s1, 56(a0)
+; RV32IXQCCMP-FP-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-FP-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-FP-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-FP-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-FP-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-FP-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-FP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-FP-NEXT: sw a7, 24(a0)
; RV32IXQCCMP-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IXQCCMP-FP-NEXT: sw a1, 20(a0)
; RV32IXQCCMP-FP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -2677,58 +2677,58 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV64IXQCCMP-FP-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IXQCCMP-FP-NEXT: lw a1, 20(a0)
; RV64IXQCCMP-FP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-FP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-FP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-FP-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-FP-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-FP-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-FP-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-FP-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-FP-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-FP-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-FP-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-FP-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-FP-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-FP-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-FP-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-FP-NEXT: lw s1, 112(a0)
-; RV64IXQCCMP-FP-NEXT: lw t0, 116(a0)
-; RV64IXQCCMP-FP-NEXT: lw a4, 120(a0)
-; RV64IXQCCMP-FP-NEXT: lw a2, 124(a0)
-; RV64IXQCCMP-FP-NEXT: lw t3, 96(a0)
-; RV64IXQCCMP-FP-NEXT: lw t1, 100(a0)
-; RV64IXQCCMP-FP-NEXT: lw a6, 104(a0)
+; RV64IXQCCMP-FP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-FP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-FP-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-FP-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-FP-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-FP-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-FP-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-FP-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-FP-NEXT: lw s1, 56(a0)
+; RV64IXQCCMP-FP-NEXT: lw s2, 60(a0)
+; RV64IXQCCMP-FP-NEXT: lw s3, 64(a0)
+; RV64IXQCCMP-FP-NEXT: lw s4, 68(a0)
+; RV64IXQCCMP-FP-NEXT: lw s5, 72(a0)
+; RV64IXQCCMP-FP-NEXT: lw s6, 76(a0)
+; RV64IXQCCMP-FP-NEXT: lw s7, 112(a0)
+; RV64IXQCCMP-FP-NEXT: lw s8, 116(a0)
+; RV64IXQCCMP-FP-NEXT: lw s9, 120(a0)
+; RV64IXQCCMP-FP-NEXT: lw s10, 124(a0)
+; RV64IXQCCMP-FP-NEXT: lw s11, 96(a0)
+; RV64IXQCCMP-FP-NEXT: lw ra, 100(a0)
+; RV64IXQCCMP-FP-NEXT: lw a4, 104(a0)
; RV64IXQCCMP-FP-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-FP-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-FP-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-FP-NEXT: lw a5, 88(a0)
-; RV64IXQCCMP-FP-NEXT: lw a3, 92(a0)
-; RV64IXQCCMP-FP-NEXT: sw a2, 124(a0)
-; RV64IXQCCMP-FP-NEXT: sw a4, 120(a0)
-; RV64IXQCCMP-FP-NEXT: sw t0, 116(a0)
-; RV64IXQCCMP-FP-NEXT: sw s1, 112(a0)
+; RV64IXQCCMP-FP-NEXT: lw a6, 80(a0)
+; RV64IXQCCMP-FP-NEXT: lw a5, 84(a0)
+; RV64IXQCCMP-FP-NEXT: lw a3, 88(a0)
+; RV64IXQCCMP-FP-NEXT: lw a2, 92(a0)
+; RV64IXQCCMP-FP-NEXT: sw s10, 124(a0)
+; RV64IXQCCMP-FP-NEXT: sw s9, 120(a0)
+; RV64IXQCCMP-FP-NEXT: sw s8, 116(a0)
+; RV64IXQCCMP-FP-NEXT: sw s7, 112(a0)
; RV64IXQCCMP-FP-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-FP-NEXT: sw a6, 104(a0)
-; RV64IXQCCMP-FP-NEXT: sw t1, 100(a0)
-; RV64IXQCCMP-FP-NEXT: sw t3, 96(a0)
-; RV64IXQCCMP-FP-NEXT: sw a3, 92(a0)
-; RV64IXQCCMP-FP-NEXT: sw a5, 88(a0)
-; RV64IXQCCMP-FP-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-FP-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-FP-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-FP-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-FP-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-FP-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-FP-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-FP-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-FP-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-FP-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-FP-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-FP-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-FP-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-FP-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-FP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-FP-NEXT: sw t4, 24(a0)
+; RV64IXQCCMP-FP-NEXT: sw a4, 104(a0)
+; RV64IXQCCMP-FP-NEXT: sw ra, 100(a0)
+; RV64IXQCCMP-FP-NEXT: sw s11, 96(a0)
+; RV64IXQCCMP-FP-NEXT: sw a2, 92(a0)
+; RV64IXQCCMP-FP-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-FP-NEXT: sw a5, 84(a0)
+; RV64IXQCCMP-FP-NEXT: sw a6, 80(a0)
+; RV64IXQCCMP-FP-NEXT: sw s6, 76(a0)
+; RV64IXQCCMP-FP-NEXT: sw s5, 72(a0)
+; RV64IXQCCMP-FP-NEXT: sw s4, 68(a0)
+; RV64IXQCCMP-FP-NEXT: sw s3, 64(a0)
+; RV64IXQCCMP-FP-NEXT: sw s2, 60(a0)
+; RV64IXQCCMP-FP-NEXT: sw s1, 56(a0)
+; RV64IXQCCMP-FP-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-FP-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-FP-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-FP-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-FP-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-FP-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-FP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-FP-NEXT: sw a7, 24(a0)
; RV64IXQCCMP-FP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IXQCCMP-FP-NEXT: sw a1, 20(a0)
; RV64IXQCCMP-FP-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
@@ -2852,60 +2852,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV32IXQCCMP-SR-NEXT: sw a1, 4(sp) # 4-byte Folded Spill
; RV32IXQCCMP-SR-NEXT: lw a1, 16(a0)
; RV32IXQCCMP-SR-NEXT: sw a1, 0(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-SR-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-SR-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-SR-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-SR-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-SR-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-SR-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-SR-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-SR-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-SR-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-SR-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-SR-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-SR-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-SR-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-SR-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-SR-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-SR-NEXT: lw t0, 112(a0)
-; RV32IXQCCMP-SR-NEXT: lw s0, 116(a0)
-; RV32IXQCCMP-SR-NEXT: lw s1, 120(a0)
-; RV32IXQCCMP-SR-NEXT: lw a5, 124(a0)
-; RV32IXQCCMP-SR-NEXT: lw t1, 96(a0)
-; RV32IXQCCMP-SR-NEXT: lw a6, 100(a0)
-; RV32IXQCCMP-SR-NEXT: lw a3, 104(a0)
+; RV32IXQCCMP-SR-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-SR-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-SR-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-SR-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-SR-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-SR-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-SR-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-SR-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-SR-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-SR-NEXT: lw s0, 56(a0)
+; RV32IXQCCMP-SR-NEXT: lw s1, 60(a0)
+; RV32IXQCCMP-SR-NEXT: lw s2, 64(a0)
+; RV32IXQCCMP-SR-NEXT: lw s3, 68(a0)
+; RV32IXQCCMP-SR-NEXT: lw s4, 72(a0)
+; RV32IXQCCMP-SR-NEXT: lw s5, 76(a0)
+; RV32IXQCCMP-SR-NEXT: lw s6, 112(a0)
+; RV32IXQCCMP-SR-NEXT: lw s7, 116(a0)
+; RV32IXQCCMP-SR-NEXT: lw s8, 120(a0)
+; RV32IXQCCMP-SR-NEXT: lw s9, 124(a0)
+; RV32IXQCCMP-SR-NEXT: lw s10, 96(a0)
+; RV32IXQCCMP-SR-NEXT: lw s11, 100(a0)
+; RV32IXQCCMP-SR-NEXT: lw ra, 104(a0)
; RV32IXQCCMP-SR-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-SR-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-SR-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-SR-NEXT: lw a4, 88(a0)
+; RV32IXQCCMP-SR-NEXT: lw a5, 80(a0)
+; RV32IXQCCMP-SR-NEXT: lw a4, 84(a0)
+; RV32IXQCCMP-SR-NEXT: lw a3, 88(a0)
; RV32IXQCCMP-SR-NEXT: lw a2, 92(a0)
-; RV32IXQCCMP-SR-NEXT: sw a5, 124(a0)
-; RV32IXQCCMP-SR-NEXT: sw s1, 120(a0)
-; RV32IXQCCMP-SR-NEXT: sw s0, 116(a0)
-; RV32IXQCCMP-SR-NEXT: sw t0, 112(a0)
+; RV32IXQCCMP-SR-NEXT: sw s9, 124(a0)
+; RV32IXQCCMP-SR-NEXT: sw s8, 120(a0)
+; RV32IXQCCMP-SR-NEXT: sw s7, 116(a0)
+; RV32IXQCCMP-SR-NEXT: sw s6, 112(a0)
; RV32IXQCCMP-SR-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-SR-NEXT: sw a3, 104(a0)
-; RV32IXQCCMP-SR-NEXT: sw a6, 100(a0)
-; RV32IXQCCMP-SR-NEXT: sw t1, 96(a0)
+; RV32IXQCCMP-SR-NEXT: sw ra, 104(a0)
+; RV32IXQCCMP-SR-NEXT: sw s11, 100(a0)
+; RV32IXQCCMP-SR-NEXT: sw s10, 96(a0)
; RV32IXQCCMP-SR-NEXT: sw a2, 92(a0)
-; RV32IXQCCMP-SR-NEXT: sw a4, 88(a0)
-; RV32IXQCCMP-SR-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-SR-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-SR-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-SR-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-SR-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-SR-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-SR-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-SR-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-SR-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-SR-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-SR-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-SR-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-SR-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-SR-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-SR-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-SR-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-SR-NEXT: sw t3, 20(a0)
+; RV32IXQCCMP-SR-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-SR-NEXT: sw a4, 84(a0)
+; RV32IXQCCMP-SR-NEXT: sw a5, 80(a0)
+; RV32IXQCCMP-SR-NEXT: sw s5, 76(a0)
+; RV32IXQCCMP-SR-NEXT: sw s4, 72(a0)
+; RV32IXQCCMP-SR-NEXT: sw s3, 68(a0)
+; RV32IXQCCMP-SR-NEXT: sw s2, 64(a0)
+; RV32IXQCCMP-SR-NEXT: sw s1, 60(a0)
+; RV32IXQCCMP-SR-NEXT: sw s0, 56(a0)
+; RV32IXQCCMP-SR-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-SR-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-SR-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-SR-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-SR-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-SR-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-SR-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-SR-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-SR-NEXT: sw a6, 20(a0)
; RV32IXQCCMP-SR-NEXT: lw a1, 0(sp) # 4-byte Folded Reload
; RV32IXQCCMP-SR-NEXT: sw a1, 16(a0)
; RV32IXQCCMP-SR-NEXT: lw a1, 4(sp) # 4-byte Folded Reload
@@ -3026,60 +3026,60 @@ define void @callee_with_irq() "interrupt"="machine" {
; RV64IXQCCMP-SR-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
; RV64IXQCCMP-SR-NEXT: lw a1, 16(a0)
; RV64IXQCCMP-SR-NEXT: sd a1, 0(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-SR-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-SR-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-SR-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-SR-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-SR-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-SR-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-SR-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-SR-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-SR-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-SR-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-SR-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-SR-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-SR-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-SR-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-SR-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-SR-NEXT: lw t0, 112(a0)
-; RV64IXQCCMP-SR-NEXT: lw s0, 116(a0)
-; RV64IXQCCMP-SR-NEXT: lw s1, 120(a0)
-; RV64IXQCCMP-SR-NEXT: lw a5, 124(a0)
-; RV64IXQCCMP-SR-NEXT: lw t1, 96(a0)
-; RV64IXQCCMP-SR-NEXT: lw a6, 100(a0)
-; RV64IXQCCMP-SR-NEXT: lw a3, 104(a0)
+; RV64IXQCCMP-SR-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-SR-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-SR-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-SR-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-SR-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-SR-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-SR-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-SR-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-SR-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-SR-NEXT: lw s0, 56(a0)
+; RV64IXQCCMP-SR-NEXT: lw s1, 60(a0)
+; RV64IXQCCMP-SR-NEXT: lw s2, 64(a0)
+; RV64IXQCCMP-SR-NEXT: lw s3, 68(a0)
+; RV64IXQCCMP-SR-NEXT: lw s4, 72(a0)
+; RV64IXQCCMP-SR-NEXT: lw s5, 76(a0)
+; RV64IXQCCMP-SR-NEXT: lw s6, 112(a0)
+; RV64IXQCCMP-SR-NEXT: lw s7, 116(a0)
+; RV64IXQCCMP-SR-NEXT: lw s8, 120(a0)
+; RV64IXQCCMP-SR-NEXT: lw s9, 124(a0)
+; RV64IXQCCMP-SR-NEXT: lw s10, 96(a0)
+; RV64IXQCCMP-SR-NEXT: lw s11, 100(a0)
+; RV64IXQCCMP-SR-NEXT: lw ra, 104(a0)
; RV64IXQCCMP-SR-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-SR-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-SR-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-SR-NEXT: lw a4, 88(a0)
+; RV64IXQCCMP-SR-NEXT: lw a5, 80(a0)
+; RV64IXQCCMP-SR-NEXT: lw a4, 84(a0)
+; RV64IXQCCMP-SR-NEXT: lw a3, 88(a0)
; RV64IXQCCMP-SR-NEXT: lw a2, 92(a0)
-; RV64IXQCCMP-SR-NEXT: sw a5, 124(a0)
-; RV64IXQCCMP-SR-NEXT: sw s1, 120(a0)
-; RV64IXQCCMP-SR-NEXT: sw s0, 116(a0)
-; RV64IXQCCMP-SR-NEXT: sw t0, 112(a0)
+; RV64IXQCCMP-SR-NEXT: sw s9, 124(a0)
+; RV64IXQCCMP-SR-NEXT: sw s8, 120(a0)
+; RV64IXQCCMP-SR-NEXT: sw s7, 116(a0)
+; RV64IXQCCMP-SR-NEXT: sw s6, 112(a0)
; RV64IXQCCMP-SR-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-SR-NEXT: sw a3, 104(a0)
-; RV64IXQCCMP-SR-NEXT: sw a6, 100(a0)
-; RV64IXQCCMP-SR-NEXT: sw t1, 96(a0)
+; RV64IXQCCMP-SR-NEXT: sw ra, 104(a0)
+; RV64IXQCCMP-SR-NEXT: sw s11, 100(a0)
+; RV64IXQCCMP-SR-NEXT: sw s10, 96(a0)
; RV64IXQCCMP-SR-NEXT: sw a2, 92(a0)
-; RV64IXQCCMP-SR-NEXT: sw a4, 88(a0)
-; RV64IXQCCMP-SR-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-SR-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-SR-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-SR-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-SR-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-SR-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-SR-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-SR-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-SR-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-SR-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-SR-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-SR-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-SR-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-SR-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-SR-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-SR-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-SR-NEXT: sw t3, 20(a0)
+; RV64IXQCCMP-SR-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-SR-NEXT: sw a4, 84(a0)
+; RV64IXQCCMP-SR-NEXT: sw a5, 80(a0)
+; RV64IXQCCMP-SR-NEXT: sw s5, 76(a0)
+; RV64IXQCCMP-SR-NEXT: sw s4, 72(a0)
+; RV64IXQCCMP-SR-NEXT: sw s3, 68(a0)
+; RV64IXQCCMP-SR-NEXT: sw s2, 64(a0)
+; RV64IXQCCMP-SR-NEXT: sw s1, 60(a0)
+; RV64IXQCCMP-SR-NEXT: sw s0, 56(a0)
+; RV64IXQCCMP-SR-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-SR-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-SR-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-SR-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-SR-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-SR-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-SR-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-SR-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-SR-NEXT: sw a6, 20(a0)
; RV64IXQCCMP-SR-NEXT: ld a1, 0(sp) # 8-byte Folded Reload
; RV64IXQCCMP-SR-NEXT: sw a1, 16(a0)
; RV64IXQCCMP-SR-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
@@ -3173,60 +3173,60 @@ define void @callee_no_irq() {
; RV32IXQCCMP-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IXQCCMP-NEXT: lw a1, 16(a0)
; RV32IXQCCMP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-NEXT: lw t0, 112(a0)
-; RV32IXQCCMP-NEXT: lw s0, 116(a0)
-; RV32IXQCCMP-NEXT: lw s1, 120(a0)
-; RV32IXQCCMP-NEXT: lw a5, 124(a0)
-; RV32IXQCCMP-NEXT: lw t1, 96(a0)
-; RV32IXQCCMP-NEXT: lw a6, 100(a0)
-; RV32IXQCCMP-NEXT: lw a3, 104(a0)
+; RV32IXQCCMP-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-NEXT: lw s0, 56(a0)
+; RV32IXQCCMP-NEXT: lw s1, 60(a0)
+; RV32IXQCCMP-NEXT: lw s2, 64(a0)
+; RV32IXQCCMP-NEXT: lw s3, 68(a0)
+; RV32IXQCCMP-NEXT: lw s4, 72(a0)
+; RV32IXQCCMP-NEXT: lw s5, 76(a0)
+; RV32IXQCCMP-NEXT: lw s6, 112(a0)
+; RV32IXQCCMP-NEXT: lw s7, 116(a0)
+; RV32IXQCCMP-NEXT: lw s8, 120(a0)
+; RV32IXQCCMP-NEXT: lw s9, 124(a0)
+; RV32IXQCCMP-NEXT: lw s10, 96(a0)
+; RV32IXQCCMP-NEXT: lw s11, 100(a0)
+; RV32IXQCCMP-NEXT: lw ra, 104(a0)
; RV32IXQCCMP-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-NEXT: lw a4, 88(a0)
+; RV32IXQCCMP-NEXT: lw a5, 80(a0)
+; RV32IXQCCMP-NEXT: lw a4, 84(a0)
+; RV32IXQCCMP-NEXT: lw a3, 88(a0)
; RV32IXQCCMP-NEXT: lw a2, 92(a0)
-; RV32IXQCCMP-NEXT: sw a5, 124(a0)
-; RV32IXQCCMP-NEXT: sw s1, 120(a0)
-; RV32IXQCCMP-NEXT: sw s0, 116(a0)
-; RV32IXQCCMP-NEXT: sw t0, 112(a0)
+; RV32IXQCCMP-NEXT: sw s9, 124(a0)
+; RV32IXQCCMP-NEXT: sw s8, 120(a0)
+; RV32IXQCCMP-NEXT: sw s7, 116(a0)
+; RV32IXQCCMP-NEXT: sw s6, 112(a0)
; RV32IXQCCMP-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-NEXT: sw a3, 104(a0)
-; RV32IXQCCMP-NEXT: sw a6, 100(a0)
-; RV32IXQCCMP-NEXT: sw t1, 96(a0)
+; RV32IXQCCMP-NEXT: sw ra, 104(a0)
+; RV32IXQCCMP-NEXT: sw s11, 100(a0)
+; RV32IXQCCMP-NEXT: sw s10, 96(a0)
; RV32IXQCCMP-NEXT: sw a2, 92(a0)
-; RV32IXQCCMP-NEXT: sw a4, 88(a0)
-; RV32IXQCCMP-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-NEXT: sw t3, 20(a0)
+; RV32IXQCCMP-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-NEXT: sw a4, 84(a0)
+; RV32IXQCCMP-NEXT: sw a5, 80(a0)
+; RV32IXQCCMP-NEXT: sw s5, 76(a0)
+; RV32IXQCCMP-NEXT: sw s4, 72(a0)
+; RV32IXQCCMP-NEXT: sw s3, 68(a0)
+; RV32IXQCCMP-NEXT: sw s2, 64(a0)
+; RV32IXQCCMP-NEXT: sw s1, 60(a0)
+; RV32IXQCCMP-NEXT: sw s0, 56(a0)
+; RV32IXQCCMP-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-NEXT: sw a6, 20(a0)
; RV32IXQCCMP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IXQCCMP-NEXT: sw a1, 16(a0)
; RV32IXQCCMP-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -3268,60 +3268,60 @@ define void @callee_no_irq() {
; RV64IXQCCMP-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IXQCCMP-NEXT: lw a1, 16(a0)
; RV64IXQCCMP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-NEXT: lw t0, 112(a0)
-; RV64IXQCCMP-NEXT: lw s0, 116(a0)
-; RV64IXQCCMP-NEXT: lw s1, 120(a0)
-; RV64IXQCCMP-NEXT: lw a5, 124(a0)
-; RV64IXQCCMP-NEXT: lw t1, 96(a0)
-; RV64IXQCCMP-NEXT: lw a6, 100(a0)
-; RV64IXQCCMP-NEXT: lw a3, 104(a0)
+; RV64IXQCCMP-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-NEXT: lw s0, 56(a0)
+; RV64IXQCCMP-NEXT: lw s1, 60(a0)
+; RV64IXQCCMP-NEXT: lw s2, 64(a0)
+; RV64IXQCCMP-NEXT: lw s3, 68(a0)
+; RV64IXQCCMP-NEXT: lw s4, 72(a0)
+; RV64IXQCCMP-NEXT: lw s5, 76(a0)
+; RV64IXQCCMP-NEXT: lw s6, 112(a0)
+; RV64IXQCCMP-NEXT: lw s7, 116(a0)
+; RV64IXQCCMP-NEXT: lw s8, 120(a0)
+; RV64IXQCCMP-NEXT: lw s9, 124(a0)
+; RV64IXQCCMP-NEXT: lw s10, 96(a0)
+; RV64IXQCCMP-NEXT: lw s11, 100(a0)
+; RV64IXQCCMP-NEXT: lw ra, 104(a0)
; RV64IXQCCMP-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-NEXT: lw a4, 88(a0)
+; RV64IXQCCMP-NEXT: lw a5, 80(a0)
+; RV64IXQCCMP-NEXT: lw a4, 84(a0)
+; RV64IXQCCMP-NEXT: lw a3, 88(a0)
; RV64IXQCCMP-NEXT: lw a2, 92(a0)
-; RV64IXQCCMP-NEXT: sw a5, 124(a0)
-; RV64IXQCCMP-NEXT: sw s1, 120(a0)
-; RV64IXQCCMP-NEXT: sw s0, 116(a0)
-; RV64IXQCCMP-NEXT: sw t0, 112(a0)
+; RV64IXQCCMP-NEXT: sw s9, 124(a0)
+; RV64IXQCCMP-NEXT: sw s8, 120(a0)
+; RV64IXQCCMP-NEXT: sw s7, 116(a0)
+; RV64IXQCCMP-NEXT: sw s6, 112(a0)
; RV64IXQCCMP-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-NEXT: sw a3, 104(a0)
-; RV64IXQCCMP-NEXT: sw a6, 100(a0)
-; RV64IXQCCMP-NEXT: sw t1, 96(a0)
+; RV64IXQCCMP-NEXT: sw ra, 104(a0)
+; RV64IXQCCMP-NEXT: sw s11, 100(a0)
+; RV64IXQCCMP-NEXT: sw s10, 96(a0)
; RV64IXQCCMP-NEXT: sw a2, 92(a0)
-; RV64IXQCCMP-NEXT: sw a4, 88(a0)
-; RV64IXQCCMP-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-NEXT: sw t3, 20(a0)
+; RV64IXQCCMP-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-NEXT: sw a4, 84(a0)
+; RV64IXQCCMP-NEXT: sw a5, 80(a0)
+; RV64IXQCCMP-NEXT: sw s5, 76(a0)
+; RV64IXQCCMP-NEXT: sw s4, 72(a0)
+; RV64IXQCCMP-NEXT: sw s3, 68(a0)
+; RV64IXQCCMP-NEXT: sw s2, 64(a0)
+; RV64IXQCCMP-NEXT: sw s1, 60(a0)
+; RV64IXQCCMP-NEXT: sw s0, 56(a0)
+; RV64IXQCCMP-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-NEXT: sw a6, 20(a0)
; RV64IXQCCMP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IXQCCMP-NEXT: sw a1, 16(a0)
; RV64IXQCCMP-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
@@ -3366,58 +3366,58 @@ define void @callee_no_irq() {
; RV32IXQCCMP-FP-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
; RV32IXQCCMP-FP-NEXT: lw a1, 20(a0)
; RV32IXQCCMP-FP-NEXT: sw a1, 8(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-FP-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-FP-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-FP-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-FP-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-FP-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-FP-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-FP-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-FP-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-FP-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-FP-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-FP-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-FP-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-FP-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-FP-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-FP-NEXT: lw s1, 112(a0)
-; RV32IXQCCMP-FP-NEXT: lw t0, 116(a0)
-; RV32IXQCCMP-FP-NEXT: lw a4, 120(a0)
-; RV32IXQCCMP-FP-NEXT: lw a2, 124(a0)
-; RV32IXQCCMP-FP-NEXT: lw t3, 96(a0)
-; RV32IXQCCMP-FP-NEXT: lw t1, 100(a0)
-; RV32IXQCCMP-FP-NEXT: lw a6, 104(a0)
+; RV32IXQCCMP-FP-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-FP-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-FP-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-FP-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-FP-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-FP-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-FP-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-FP-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-FP-NEXT: lw s1, 56(a0)
+; RV32IXQCCMP-FP-NEXT: lw s2, 60(a0)
+; RV32IXQCCMP-FP-NEXT: lw s3, 64(a0)
+; RV32IXQCCMP-FP-NEXT: lw s4, 68(a0)
+; RV32IXQCCMP-FP-NEXT: lw s5, 72(a0)
+; RV32IXQCCMP-FP-NEXT: lw s6, 76(a0)
+; RV32IXQCCMP-FP-NEXT: lw s7, 112(a0)
+; RV32IXQCCMP-FP-NEXT: lw s8, 116(a0)
+; RV32IXQCCMP-FP-NEXT: lw s9, 120(a0)
+; RV32IXQCCMP-FP-NEXT: lw s10, 124(a0)
+; RV32IXQCCMP-FP-NEXT: lw s11, 96(a0)
+; RV32IXQCCMP-FP-NEXT: lw ra, 100(a0)
+; RV32IXQCCMP-FP-NEXT: lw a4, 104(a0)
; RV32IXQCCMP-FP-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-FP-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-FP-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-FP-NEXT: lw a5, 88(a0)
-; RV32IXQCCMP-FP-NEXT: lw a3, 92(a0)
-; RV32IXQCCMP-FP-NEXT: sw a2, 124(a0)
-; RV32IXQCCMP-FP-NEXT: sw a4, 120(a0)
-; RV32IXQCCMP-FP-NEXT: sw t0, 116(a0)
-; RV32IXQCCMP-FP-NEXT: sw s1, 112(a0)
+; RV32IXQCCMP-FP-NEXT: lw a6, 80(a0)
+; RV32IXQCCMP-FP-NEXT: lw a5, 84(a0)
+; RV32IXQCCMP-FP-NEXT: lw a3, 88(a0)
+; RV32IXQCCMP-FP-NEXT: lw a2, 92(a0)
+; RV32IXQCCMP-FP-NEXT: sw s10, 124(a0)
+; RV32IXQCCMP-FP-NEXT: sw s9, 120(a0)
+; RV32IXQCCMP-FP-NEXT: sw s8, 116(a0)
+; RV32IXQCCMP-FP-NEXT: sw s7, 112(a0)
; RV32IXQCCMP-FP-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-FP-NEXT: sw a6, 104(a0)
-; RV32IXQCCMP-FP-NEXT: sw t1, 100(a0)
-; RV32IXQCCMP-FP-NEXT: sw t3, 96(a0)
-; RV32IXQCCMP-FP-NEXT: sw a3, 92(a0)
-; RV32IXQCCMP-FP-NEXT: sw a5, 88(a0)
-; RV32IXQCCMP-FP-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-FP-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-FP-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-FP-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-FP-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-FP-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-FP-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-FP-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-FP-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-FP-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-FP-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-FP-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-FP-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-FP-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-FP-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-FP-NEXT: sw t4, 24(a0)
+; RV32IXQCCMP-FP-NEXT: sw a4, 104(a0)
+; RV32IXQCCMP-FP-NEXT: sw ra, 100(a0)
+; RV32IXQCCMP-FP-NEXT: sw s11, 96(a0)
+; RV32IXQCCMP-FP-NEXT: sw a2, 92(a0)
+; RV32IXQCCMP-FP-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-FP-NEXT: sw a5, 84(a0)
+; RV32IXQCCMP-FP-NEXT: sw a6, 80(a0)
+; RV32IXQCCMP-FP-NEXT: sw s6, 76(a0)
+; RV32IXQCCMP-FP-NEXT: sw s5, 72(a0)
+; RV32IXQCCMP-FP-NEXT: sw s4, 68(a0)
+; RV32IXQCCMP-FP-NEXT: sw s3, 64(a0)
+; RV32IXQCCMP-FP-NEXT: sw s2, 60(a0)
+; RV32IXQCCMP-FP-NEXT: sw s1, 56(a0)
+; RV32IXQCCMP-FP-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-FP-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-FP-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-FP-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-FP-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-FP-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-FP-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-FP-NEXT: sw a7, 24(a0)
; RV32IXQCCMP-FP-NEXT: lw a1, 8(sp) # 4-byte Folded Reload
; RV32IXQCCMP-FP-NEXT: sw a1, 20(a0)
; RV32IXQCCMP-FP-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
@@ -3465,58 +3465,58 @@ define void @callee_no_irq() {
; RV64IXQCCMP-FP-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
; RV64IXQCCMP-FP-NEXT: lw a1, 20(a0)
; RV64IXQCCMP-FP-NEXT: sd a1, 0(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-FP-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-FP-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-FP-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-FP-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-FP-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-FP-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-FP-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-FP-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-FP-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-FP-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-FP-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-FP-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-FP-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-FP-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-FP-NEXT: lw s1, 112(a0)
-; RV64IXQCCMP-FP-NEXT: lw t0, 116(a0)
-; RV64IXQCCMP-FP-NEXT: lw a4, 120(a0)
-; RV64IXQCCMP-FP-NEXT: lw a2, 124(a0)
-; RV64IXQCCMP-FP-NEXT: lw t3, 96(a0)
-; RV64IXQCCMP-FP-NEXT: lw t1, 100(a0)
-; RV64IXQCCMP-FP-NEXT: lw a6, 104(a0)
+; RV64IXQCCMP-FP-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-FP-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-FP-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-FP-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-FP-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-FP-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-FP-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-FP-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-FP-NEXT: lw s1, 56(a0)
+; RV64IXQCCMP-FP-NEXT: lw s2, 60(a0)
+; RV64IXQCCMP-FP-NEXT: lw s3, 64(a0)
+; RV64IXQCCMP-FP-NEXT: lw s4, 68(a0)
+; RV64IXQCCMP-FP-NEXT: lw s5, 72(a0)
+; RV64IXQCCMP-FP-NEXT: lw s6, 76(a0)
+; RV64IXQCCMP-FP-NEXT: lw s7, 112(a0)
+; RV64IXQCCMP-FP-NEXT: lw s8, 116(a0)
+; RV64IXQCCMP-FP-NEXT: lw s9, 120(a0)
+; RV64IXQCCMP-FP-NEXT: lw s10, 124(a0)
+; RV64IXQCCMP-FP-NEXT: lw s11, 96(a0)
+; RV64IXQCCMP-FP-NEXT: lw ra, 100(a0)
+; RV64IXQCCMP-FP-NEXT: lw a4, 104(a0)
; RV64IXQCCMP-FP-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-FP-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-FP-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-FP-NEXT: lw a5, 88(a0)
-; RV64IXQCCMP-FP-NEXT: lw a3, 92(a0)
-; RV64IXQCCMP-FP-NEXT: sw a2, 124(a0)
-; RV64IXQCCMP-FP-NEXT: sw a4, 120(a0)
-; RV64IXQCCMP-FP-NEXT: sw t0, 116(a0)
-; RV64IXQCCMP-FP-NEXT: sw s1, 112(a0)
+; RV64IXQCCMP-FP-NEXT: lw a6, 80(a0)
+; RV64IXQCCMP-FP-NEXT: lw a5, 84(a0)
+; RV64IXQCCMP-FP-NEXT: lw a3, 88(a0)
+; RV64IXQCCMP-FP-NEXT: lw a2, 92(a0)
+; RV64IXQCCMP-FP-NEXT: sw s10, 124(a0)
+; RV64IXQCCMP-FP-NEXT: sw s9, 120(a0)
+; RV64IXQCCMP-FP-NEXT: sw s8, 116(a0)
+; RV64IXQCCMP-FP-NEXT: sw s7, 112(a0)
; RV64IXQCCMP-FP-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-FP-NEXT: sw a6, 104(a0)
-; RV64IXQCCMP-FP-NEXT: sw t1, 100(a0)
-; RV64IXQCCMP-FP-NEXT: sw t3, 96(a0)
-; RV64IXQCCMP-FP-NEXT: sw a3, 92(a0)
-; RV64IXQCCMP-FP-NEXT: sw a5, 88(a0)
-; RV64IXQCCMP-FP-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-FP-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-FP-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-FP-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-FP-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-FP-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-FP-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-FP-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-FP-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-FP-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-FP-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-FP-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-FP-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-FP-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-FP-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-FP-NEXT: sw t4, 24(a0)
+; RV64IXQCCMP-FP-NEXT: sw a4, 104(a0)
+; RV64IXQCCMP-FP-NEXT: sw ra, 100(a0)
+; RV64IXQCCMP-FP-NEXT: sw s11, 96(a0)
+; RV64IXQCCMP-FP-NEXT: sw a2, 92(a0)
+; RV64IXQCCMP-FP-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-FP-NEXT: sw a5, 84(a0)
+; RV64IXQCCMP-FP-NEXT: sw a6, 80(a0)
+; RV64IXQCCMP-FP-NEXT: sw s6, 76(a0)
+; RV64IXQCCMP-FP-NEXT: sw s5, 72(a0)
+; RV64IXQCCMP-FP-NEXT: sw s4, 68(a0)
+; RV64IXQCCMP-FP-NEXT: sw s3, 64(a0)
+; RV64IXQCCMP-FP-NEXT: sw s2, 60(a0)
+; RV64IXQCCMP-FP-NEXT: sw s1, 56(a0)
+; RV64IXQCCMP-FP-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-FP-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-FP-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-FP-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-FP-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-FP-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-FP-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-FP-NEXT: sw a7, 24(a0)
; RV64IXQCCMP-FP-NEXT: ld a1, 0(sp) # 8-byte Folded Reload
; RV64IXQCCMP-FP-NEXT: sw a1, 20(a0)
; RV64IXQCCMP-FP-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
@@ -3561,60 +3561,60 @@ define void @callee_no_irq() {
; RV32IXQCCMP-SR-NEXT: sw a1, 16(sp) # 4-byte Folded Spill
; RV32IXQCCMP-SR-NEXT: lw a1, 16(a0)
; RV32IXQCCMP-SR-NEXT: sw a1, 12(sp) # 4-byte Folded Spill
-; RV32IXQCCMP-SR-NEXT: lw t3, 20(a0)
-; RV32IXQCCMP-SR-NEXT: lw t4, 24(a0)
-; RV32IXQCCMP-SR-NEXT: lw t5, 28(a0)
-; RV32IXQCCMP-SR-NEXT: lw t6, 32(a0)
-; RV32IXQCCMP-SR-NEXT: lw s2, 36(a0)
-; RV32IXQCCMP-SR-NEXT: lw s3, 40(a0)
-; RV32IXQCCMP-SR-NEXT: lw s4, 44(a0)
-; RV32IXQCCMP-SR-NEXT: lw s5, 48(a0)
-; RV32IXQCCMP-SR-NEXT: lw s6, 52(a0)
-; RV32IXQCCMP-SR-NEXT: lw s7, 56(a0)
-; RV32IXQCCMP-SR-NEXT: lw s8, 60(a0)
-; RV32IXQCCMP-SR-NEXT: lw s9, 64(a0)
-; RV32IXQCCMP-SR-NEXT: lw s10, 68(a0)
-; RV32IXQCCMP-SR-NEXT: lw s11, 72(a0)
-; RV32IXQCCMP-SR-NEXT: lw ra, 76(a0)
-; RV32IXQCCMP-SR-NEXT: lw t0, 112(a0)
-; RV32IXQCCMP-SR-NEXT: lw s0, 116(a0)
-; RV32IXQCCMP-SR-NEXT: lw s1, 120(a0)
-; RV32IXQCCMP-SR-NEXT: lw a5, 124(a0)
-; RV32IXQCCMP-SR-NEXT: lw t1, 96(a0)
-; RV32IXQCCMP-SR-NEXT: lw a6, 100(a0)
-; RV32IXQCCMP-SR-NEXT: lw a3, 104(a0)
+; RV32IXQCCMP-SR-NEXT: lw a6, 20(a0)
+; RV32IXQCCMP-SR-NEXT: lw a7, 24(a0)
+; RV32IXQCCMP-SR-NEXT: lw t0, 28(a0)
+; RV32IXQCCMP-SR-NEXT: lw t1, 32(a0)
+; RV32IXQCCMP-SR-NEXT: lw t2, 36(a0)
+; RV32IXQCCMP-SR-NEXT: lw t3, 40(a0)
+; RV32IXQCCMP-SR-NEXT: lw t4, 44(a0)
+; RV32IXQCCMP-SR-NEXT: lw t5, 48(a0)
+; RV32IXQCCMP-SR-NEXT: lw t6, 52(a0)
+; RV32IXQCCMP-SR-NEXT: lw s0, 56(a0)
+; RV32IXQCCMP-SR-NEXT: lw s1, 60(a0)
+; RV32IXQCCMP-SR-NEXT: lw s2, 64(a0)
+; RV32IXQCCMP-SR-NEXT: lw s3, 68(a0)
+; RV32IXQCCMP-SR-NEXT: lw s4, 72(a0)
+; RV32IXQCCMP-SR-NEXT: lw s5, 76(a0)
+; RV32IXQCCMP-SR-NEXT: lw s6, 112(a0)
+; RV32IXQCCMP-SR-NEXT: lw s7, 116(a0)
+; RV32IXQCCMP-SR-NEXT: lw s8, 120(a0)
+; RV32IXQCCMP-SR-NEXT: lw s9, 124(a0)
+; RV32IXQCCMP-SR-NEXT: lw s10, 96(a0)
+; RV32IXQCCMP-SR-NEXT: lw s11, 100(a0)
+; RV32IXQCCMP-SR-NEXT: lw ra, 104(a0)
; RV32IXQCCMP-SR-NEXT: lw a1, 108(a0)
-; RV32IXQCCMP-SR-NEXT: lw t2, 80(a0)
-; RV32IXQCCMP-SR-NEXT: lw a7, 84(a0)
-; RV32IXQCCMP-SR-NEXT: lw a4, 88(a0)
+; RV32IXQCCMP-SR-NEXT: lw a5, 80(a0)
+; RV32IXQCCMP-SR-NEXT: lw a4, 84(a0)
+; RV32IXQCCMP-SR-NEXT: lw a3, 88(a0)
; RV32IXQCCMP-SR-NEXT: lw a2, 92(a0)
-; RV32IXQCCMP-SR-NEXT: sw a5, 124(a0)
-; RV32IXQCCMP-SR-NEXT: sw s1, 120(a0)
-; RV32IXQCCMP-SR-NEXT: sw s0, 116(a0)
-; RV32IXQCCMP-SR-NEXT: sw t0, 112(a0)
+; RV32IXQCCMP-SR-NEXT: sw s9, 124(a0)
+; RV32IXQCCMP-SR-NEXT: sw s8, 120(a0)
+; RV32IXQCCMP-SR-NEXT: sw s7, 116(a0)
+; RV32IXQCCMP-SR-NEXT: sw s6, 112(a0)
; RV32IXQCCMP-SR-NEXT: sw a1, 108(a0)
-; RV32IXQCCMP-SR-NEXT: sw a3, 104(a0)
-; RV32IXQCCMP-SR-NEXT: sw a6, 100(a0)
-; RV32IXQCCMP-SR-NEXT: sw t1, 96(a0)
+; RV32IXQCCMP-SR-NEXT: sw ra, 104(a0)
+; RV32IXQCCMP-SR-NEXT: sw s11, 100(a0)
+; RV32IXQCCMP-SR-NEXT: sw s10, 96(a0)
; RV32IXQCCMP-SR-NEXT: sw a2, 92(a0)
-; RV32IXQCCMP-SR-NEXT: sw a4, 88(a0)
-; RV32IXQCCMP-SR-NEXT: sw a7, 84(a0)
-; RV32IXQCCMP-SR-NEXT: sw t2, 80(a0)
-; RV32IXQCCMP-SR-NEXT: sw ra, 76(a0)
-; RV32IXQCCMP-SR-NEXT: sw s11, 72(a0)
-; RV32IXQCCMP-SR-NEXT: sw s10, 68(a0)
-; RV32IXQCCMP-SR-NEXT: sw s9, 64(a0)
-; RV32IXQCCMP-SR-NEXT: sw s8, 60(a0)
-; RV32IXQCCMP-SR-NEXT: sw s7, 56(a0)
-; RV32IXQCCMP-SR-NEXT: sw s6, 52(a0)
-; RV32IXQCCMP-SR-NEXT: sw s5, 48(a0)
-; RV32IXQCCMP-SR-NEXT: sw s4, 44(a0)
-; RV32IXQCCMP-SR-NEXT: sw s3, 40(a0)
-; RV32IXQCCMP-SR-NEXT: sw s2, 36(a0)
-; RV32IXQCCMP-SR-NEXT: sw t6, 32(a0)
-; RV32IXQCCMP-SR-NEXT: sw t5, 28(a0)
-; RV32IXQCCMP-SR-NEXT: sw t4, 24(a0)
-; RV32IXQCCMP-SR-NEXT: sw t3, 20(a0)
+; RV32IXQCCMP-SR-NEXT: sw a3, 88(a0)
+; RV32IXQCCMP-SR-NEXT: sw a4, 84(a0)
+; RV32IXQCCMP-SR-NEXT: sw a5, 80(a0)
+; RV32IXQCCMP-SR-NEXT: sw s5, 76(a0)
+; RV32IXQCCMP-SR-NEXT: sw s4, 72(a0)
+; RV32IXQCCMP-SR-NEXT: sw s3, 68(a0)
+; RV32IXQCCMP-SR-NEXT: sw s2, 64(a0)
+; RV32IXQCCMP-SR-NEXT: sw s1, 60(a0)
+; RV32IXQCCMP-SR-NEXT: sw s0, 56(a0)
+; RV32IXQCCMP-SR-NEXT: sw t6, 52(a0)
+; RV32IXQCCMP-SR-NEXT: sw t5, 48(a0)
+; RV32IXQCCMP-SR-NEXT: sw t4, 44(a0)
+; RV32IXQCCMP-SR-NEXT: sw t3, 40(a0)
+; RV32IXQCCMP-SR-NEXT: sw t2, 36(a0)
+; RV32IXQCCMP-SR-NEXT: sw t1, 32(a0)
+; RV32IXQCCMP-SR-NEXT: sw t0, 28(a0)
+; RV32IXQCCMP-SR-NEXT: sw a7, 24(a0)
+; RV32IXQCCMP-SR-NEXT: sw a6, 20(a0)
; RV32IXQCCMP-SR-NEXT: lw a1, 12(sp) # 4-byte Folded Reload
; RV32IXQCCMP-SR-NEXT: sw a1, 16(a0)
; RV32IXQCCMP-SR-NEXT: lw a1, 16(sp) # 4-byte Folded Reload
@@ -3656,60 +3656,60 @@ define void @callee_no_irq() {
; RV64IXQCCMP-SR-NEXT: sd a1, 16(sp) # 8-byte Folded Spill
; RV64IXQCCMP-SR-NEXT: lw a1, 16(a0)
; RV64IXQCCMP-SR-NEXT: sd a1, 8(sp) # 8-byte Folded Spill
-; RV64IXQCCMP-SR-NEXT: lw t3, 20(a0)
-; RV64IXQCCMP-SR-NEXT: lw t4, 24(a0)
-; RV64IXQCCMP-SR-NEXT: lw t5, 28(a0)
-; RV64IXQCCMP-SR-NEXT: lw t6, 32(a0)
-; RV64IXQCCMP-SR-NEXT: lw s2, 36(a0)
-; RV64IXQCCMP-SR-NEXT: lw s3, 40(a0)
-; RV64IXQCCMP-SR-NEXT: lw s4, 44(a0)
-; RV64IXQCCMP-SR-NEXT: lw s5, 48(a0)
-; RV64IXQCCMP-SR-NEXT: lw s6, 52(a0)
-; RV64IXQCCMP-SR-NEXT: lw s7, 56(a0)
-; RV64IXQCCMP-SR-NEXT: lw s8, 60(a0)
-; RV64IXQCCMP-SR-NEXT: lw s9, 64(a0)
-; RV64IXQCCMP-SR-NEXT: lw s10, 68(a0)
-; RV64IXQCCMP-SR-NEXT: lw s11, 72(a0)
-; RV64IXQCCMP-SR-NEXT: lw ra, 76(a0)
-; RV64IXQCCMP-SR-NEXT: lw t0, 112(a0)
-; RV64IXQCCMP-SR-NEXT: lw s0, 116(a0)
-; RV64IXQCCMP-SR-NEXT: lw s1, 120(a0)
-; RV64IXQCCMP-SR-NEXT: lw a5, 124(a0)
-; RV64IXQCCMP-SR-NEXT: lw t1, 96(a0)
-; RV64IXQCCMP-SR-NEXT: lw a6, 100(a0)
-; RV64IXQCCMP-SR-NEXT: lw a3, 104(a0)
+; RV64IXQCCMP-SR-NEXT: lw a6, 20(a0)
+; RV64IXQCCMP-SR-NEXT: lw a7, 24(a0)
+; RV64IXQCCMP-SR-NEXT: lw t0, 28(a0)
+; RV64IXQCCMP-SR-NEXT: lw t1, 32(a0)
+; RV64IXQCCMP-SR-NEXT: lw t2, 36(a0)
+; RV64IXQCCMP-SR-NEXT: lw t3, 40(a0)
+; RV64IXQCCMP-SR-NEXT: lw t4, 44(a0)
+; RV64IXQCCMP-SR-NEXT: lw t5, 48(a0)
+; RV64IXQCCMP-SR-NEXT: lw t6, 52(a0)
+; RV64IXQCCMP-SR-NEXT: lw s0, 56(a0)
+; RV64IXQCCMP-SR-NEXT: lw s1, 60(a0)
+; RV64IXQCCMP-SR-NEXT: lw s2, 64(a0)
+; RV64IXQCCMP-SR-NEXT: lw s3, 68(a0)
+; RV64IXQCCMP-SR-NEXT: lw s4, 72(a0)
+; RV64IXQCCMP-SR-NEXT: lw s5, 76(a0)
+; RV64IXQCCMP-SR-NEXT: lw s6, 112(a0)
+; RV64IXQCCMP-SR-NEXT: lw s7, 116(a0)
+; RV64IXQCCMP-SR-NEXT: lw s8, 120(a0)
+; RV64IXQCCMP-SR-NEXT: lw s9, 124(a0)
+; RV64IXQCCMP-SR-NEXT: lw s10, 96(a0)
+; RV64IXQCCMP-SR-NEXT: lw s11, 100(a0)
+; RV64IXQCCMP-SR-NEXT: lw ra, 104(a0)
; RV64IXQCCMP-SR-NEXT: lw a1, 108(a0)
-; RV64IXQCCMP-SR-NEXT: lw t2, 80(a0)
-; RV64IXQCCMP-SR-NEXT: lw a7, 84(a0)
-; RV64IXQCCMP-SR-NEXT: lw a4, 88(a0)
+; RV64IXQCCMP-SR-NEXT: lw a5, 80(a0)
+; RV64IXQCCMP-SR-NEXT: lw a4, 84(a0)
+; RV64IXQCCMP-SR-NEXT: lw a3, 88(a0)
; RV64IXQCCMP-SR-NEXT: lw a2, 92(a0)
-; RV64IXQCCMP-SR-NEXT: sw a5, 124(a0)
-; RV64IXQCCMP-SR-NEXT: sw s1, 120(a0)
-; RV64IXQCCMP-SR-NEXT: sw s0, 116(a0)
-; RV64IXQCCMP-SR-NEXT: sw t0, 112(a0)
+; RV64IXQCCMP-SR-NEXT: sw s9, 124(a0)
+; RV64IXQCCMP-SR-NEXT: sw s8, 120(a0)
+; RV64IXQCCMP-SR-NEXT: sw s7, 116(a0)
+; RV64IXQCCMP-SR-NEXT: sw s6, 112(a0)
; RV64IXQCCMP-SR-NEXT: sw a1, 108(a0)
-; RV64IXQCCMP-SR-NEXT: sw a3, 104(a0)
-; RV64IXQCCMP-SR-NEXT: sw a6, 100(a0)
-; RV64IXQCCMP-SR-NEXT: sw t1, 96(a0)
+; RV64IXQCCMP-SR-NEXT: sw ra, 104(a0)
+; RV64IXQCCMP-SR-NEXT: sw s11, 100(a0)
+; RV64IXQCCMP-SR-NEXT: sw s10, 96(a0)
; RV64IXQCCMP-SR-NEXT: sw a2, 92(a0)
-; RV64IXQCCMP-SR-NEXT: sw a4, 88(a0)
-; RV64IXQCCMP-SR-NEXT: sw a7, 84(a0)
-; RV64IXQCCMP-SR-NEXT: sw t2, 80(a0)
-; RV64IXQCCMP-SR-NEXT: sw ra, 76(a0)
-; RV64IXQCCMP-SR-NEXT: sw s11, 72(a0)
-; RV64IXQCCMP-SR-NEXT: sw s10, 68(a0)
-; RV64IXQCCMP-SR-NEXT: sw s9, 64(a0)
-; RV64IXQCCMP-SR-NEXT: sw s8, 60(a0)
-; RV64IXQCCMP-SR-NEXT: sw s7, 56(a0)
-; RV64IXQCCMP-SR-NEXT: sw s6, 52(a0)
-; RV64IXQCCMP-SR-NEXT: sw s5, 48(a0)
-; RV64IXQCCMP-SR-NEXT: sw s4, 44(a0)
-; RV64IXQCCMP-SR-NEXT: sw s3, 40(a0)
-; RV64IXQCCMP-SR-NEXT: sw s2, 36(a0)
-; RV64IXQCCMP-SR-NEXT: sw t6, 32(a0)
-; RV64IXQCCMP-SR-NEXT: sw t5, 28(a0)
-; RV64IXQCCMP-SR-NEXT: sw t4, 24(a0)
-; RV64IXQCCMP-SR-NEXT: sw t3, 20(a0)
+; RV64IXQCCMP-SR-NEXT: sw a3, 88(a0)
+; RV64IXQCCMP-SR-NEXT: sw a4, 84(a0)
+; RV64IXQCCMP-SR-NEXT: sw a5, 80(a0)
+; RV64IXQCCMP-SR-NEXT: sw s5, 76(a0)
+; RV64IXQCCMP-SR-NEXT: sw s4, 72(a0)
+; RV64IXQCCMP-SR-NEXT: sw s3, 68(a0)
+; RV64IXQCCMP-SR-NEXT: sw s2, 64(a0)
+; RV64IXQCCMP-SR-NEXT: sw s1, 60(a0)
+; RV64IXQCCMP-SR-NEXT: sw s0, 56(a0)
+; RV64IXQCCMP-SR-NEXT: sw t6, 52(a0)
+; RV64IXQCCMP-SR-NEXT: sw t5, 48(a0)
+; RV64IXQCCMP-SR-NEXT: sw t4, 44(a0)
+; RV64IXQCCMP-SR-NEXT: sw t3, 40(a0)
+; RV64IXQCCMP-SR-NEXT: sw t2, 36(a0)
+; RV64IXQCCMP-SR-NEXT: sw t1, 32(a0)
+; RV64IXQCCMP-SR-NEXT: sw t0, 28(a0)
+; RV64IXQCCMP-SR-NEXT: sw a7, 24(a0)
+; RV64IXQCCMP-SR-NEXT: sw a6, 20(a0)
; RV64IXQCCMP-SR-NEXT: ld a1, 8(sp) # 8-byte Folded Reload
; RV64IXQCCMP-SR-NEXT: sw a1, 16(a0)
; RV64IXQCCMP-SR-NEXT: ld a1, 16(sp) # 8-byte Folded Reload
More information about the llvm-commits
mailing list