Index: llvm/lib/Target/RISCV/RISCVTargetMachine.cpp =================================================================== --- llvm/lib/Target/RISCV/RISCVTargetMachine.cpp +++ llvm/lib/Target/RISCV/RISCVTargetMachine.cpp @@ -286,10 +286,6 @@ void RISCVPassConfig::addPostRegAlloc() { if (TM->getOptLevel() != CodeGenOpt::None && EnableRedundantCopyElimination) addPass(createRISCVRedundantCopyEliminationPass()); - - // Temporarily disabled until post-RA pseudo expansion problem is fixed, - // see D123394 and D139169. - disablePass(&MachineLateInstrsCleanupID); } yaml::MachineFunctionInfo * Index: llvm/test/CodeGen/RISCV/O3-pipeline.ll =================================================================== --- llvm/test/CodeGen/RISCV/O3-pipeline.ll +++ llvm/test/CodeGen/RISCV/O3-pipeline.ll @@ -144,6 +144,7 @@ ; CHECK-NEXT: Machine Optimization Remark Emitter ; CHECK-NEXT: Shrink Wrapping analysis ; CHECK-NEXT: Prologue/Epilogue Insertion & Frame Finalization +; CHECK-NEXT: Machine Late Instructions Cleanup Pass ; CHECK-NEXT: Control Flow Optimizer ; CHECK-NEXT: Lazy Machine Block Frequency Analysis ; CHECK-NEXT: Tail Duplication Index: llvm/test/CodeGen/RISCV/branch-relaxation.ll =================================================================== --- llvm/test/CodeGen/RISCV/branch-relaxation.ll +++ llvm/test/CodeGen/RISCV/branch-relaxation.ll @@ -826,7 +826,6 @@ ; CHECK-RV32-NEXT: #NO_APP ; CHECK-RV32-NEXT: lui a0, 2 ; CHECK-RV32-NEXT: sub sp, s0, a0 -; CHECK-RV32-NEXT: lui a0, 2 ; CHECK-RV32-NEXT: addi a0, a0, -2032 ; CHECK-RV32-NEXT: add sp, sp, a0 ; CHECK-RV32-NEXT: lw ra, 2028(sp) # 4-byte Folded Reload @@ -1076,7 +1075,6 @@ ; CHECK-RV64-NEXT: #NO_APP ; CHECK-RV64-NEXT: lui a0, 2 ; CHECK-RV64-NEXT: sub sp, s0, a0 -; CHECK-RV64-NEXT: lui a0, 2 ; CHECK-RV64-NEXT: addiw a0, a0, -2032 ; CHECK-RV64-NEXT: add sp, sp, a0 ; CHECK-RV64-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload @@ -2323,7 +2321,6 @@ ; CHECK-RV32-NEXT: #NO_APP ; CHECK-RV32-NEXT: lui a0, 2 ; CHECK-RV32-NEXT: sub sp, s0, a0 -; CHECK-RV32-NEXT: lui a0, 2 ; CHECK-RV32-NEXT: addi a0, a0, -2032 ; CHECK-RV32-NEXT: add sp, sp, a0 ; CHECK-RV32-NEXT: lw ra, 2028(sp) # 4-byte Folded Reload @@ -2561,7 +2558,6 @@ ; CHECK-RV64-NEXT: #NO_APP ; CHECK-RV64-NEXT: lui a0, 2 ; CHECK-RV64-NEXT: sub sp, s0, a0 -; CHECK-RV64-NEXT: lui a0, 2 ; CHECK-RV64-NEXT: addiw a0, a0, -2032 ; CHECK-RV64-NEXT: add sp, sp, a0 ; CHECK-RV64-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload Index: llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir =================================================================== --- llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir +++ llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir @@ -43,7 +43,6 @@ ; CHECK-NEXT: call foo@plt ; CHECK-NEXT: lui a0, 2 ; CHECK-NEXT: sub sp, s0, a0 - ; CHECK-NEXT: lui a0, 2 ; CHECK-NEXT: addiw a0, a0, -2032 ; CHECK-NEXT: add sp, sp, a0 ; CHECK-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload Index: llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll +++ llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll @@ -1393,7 +1393,6 @@ ; RV32-NEXT: addi a5, sp, 16 ; RV32-NEXT: vl8re8.v v0, (a5) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v16, v16, v0 -; RV32-NEXT: addi a5, sp, 16 ; RV32-NEXT: vs8r.v v16, (a5) # Unknown-size Folded Spill ; RV32-NEXT: vand.vx v0, v8, a2 ; RV32-NEXT: vsll.vx v0, v0, a1 Index: llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll +++ llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll @@ -529,7 +529,6 @@ ; RV32-NEXT: addi a4, sp, 16 ; RV32-NEXT: vl8re8.v v0, (a4) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v16, v16, v0 -; RV32-NEXT: addi a4, sp, 16 ; RV32-NEXT: vs8r.v v16, (a4) # Unknown-size Folded Spill ; RV32-NEXT: vand.vx v0, v8, a2 ; RV32-NEXT: vsll.vx v0, v0, a1 Index: llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll @@ -1151,7 +1151,6 @@ ; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vl8re8.v v24, (a5) # Unknown-size Folded Reload ; RV64-NEXT: vor.vv v16, v16, v24, v0.t -; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vs8r.v v16, (a5) # Unknown-size Folded Spill ; RV64-NEXT: vsrl.vx v24, v8, a2, v0.t ; RV64-NEXT: vsrl.vx v16, v8, a4, v0.t @@ -1210,7 +1209,6 @@ ; RV32-NEXT: addi a0, sp, 16 ; RV32-NEXT: vl8re8.v v0, (a0) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v24, v0, v24 -; RV32-NEXT: addi a0, sp, 16 ; RV32-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; RV32-NEXT: vsrl.vx v0, v8, a3 ; RV32-NEXT: vand.vx v0, v0, a2 @@ -1222,7 +1220,6 @@ ; RV32-NEXT: vand.vx v8, v8, a4 ; RV32-NEXT: vor.vv v8, v16, v8 ; RV32-NEXT: vor.vv v8, v8, v24 -; RV32-NEXT: addi a0, sp, 16 ; RV32-NEXT: vl8re8.v v16, (a0) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v8, v16, v8 ; RV32-NEXT: csrr a0, vlenb @@ -1388,7 +1385,6 @@ ; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vl8re8.v v24, (a5) # Unknown-size Folded Reload ; RV64-NEXT: vor.vv v16, v16, v24, v0.t -; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vs8r.v v16, (a5) # Unknown-size Folded Spill ; RV64-NEXT: vsrl.vx v24, v8, a2, v0.t ; RV64-NEXT: vsrl.vx v16, v8, a4, v0.t @@ -1447,7 +1443,6 @@ ; RV32-NEXT: addi a0, sp, 16 ; RV32-NEXT: vl8re8.v v0, (a0) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v24, v0, v24 -; RV32-NEXT: addi a0, sp, 16 ; RV32-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; RV32-NEXT: vsrl.vx v0, v8, a3 ; RV32-NEXT: vand.vx v0, v0, a2 @@ -1459,7 +1454,6 @@ ; RV32-NEXT: vand.vx v8, v8, a4 ; RV32-NEXT: vor.vv v8, v16, v8 ; RV32-NEXT: vor.vv v8, v8, v24 -; RV32-NEXT: addi a0, sp, 16 ; RV32-NEXT: vl8re8.v v16, (a0) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v8, v16, v8 ; RV32-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll @@ -764,10 +764,8 @@ ; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a2) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v16, v24, v16, v0.t -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v16, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: bltu a0, a1, .LBB32_2 ; CHECK-NEXT: # %bb.1: Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll @@ -1042,7 +1042,6 @@ ; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vl8re8.v v24, (a5) # Unknown-size Folded Reload ; RV64-NEXT: vor.vv v16, v16, v24, v0.t -; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vs8r.v v16, (a5) # Unknown-size Folded Spill ; RV64-NEXT: vsrl.vx v24, v8, a2, v0.t ; RV64-NEXT: vsrl.vx v16, v8, a4, v0.t @@ -1104,7 +1103,6 @@ ; RV32-NEXT: addi a4, sp, 16 ; RV32-NEXT: vl8re8.v v0, (a4) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v24, v24, v0 -; RV32-NEXT: addi a4, sp, 16 ; RV32-NEXT: vs8r.v v24, (a4) # Unknown-size Folded Spill ; RV32-NEXT: vand.vx v0, v8, a3 ; RV32-NEXT: vsll.vx v0, v0, a2 @@ -1309,7 +1307,6 @@ ; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vl8re8.v v24, (a5) # Unknown-size Folded Reload ; RV64-NEXT: vor.vv v16, v16, v24, v0.t -; RV64-NEXT: addi a5, sp, 16 ; RV64-NEXT: vs8r.v v16, (a5) # Unknown-size Folded Spill ; RV64-NEXT: vsrl.vx v24, v8, a2, v0.t ; RV64-NEXT: vsrl.vx v16, v8, a4, v0.t @@ -1371,7 +1368,6 @@ ; RV32-NEXT: addi a4, sp, 16 ; RV32-NEXT: vl8re8.v v0, (a4) # Unknown-size Folded Reload ; RV32-NEXT: vor.vv v24, v24, v0 -; RV32-NEXT: addi a4, sp, 16 ; RV32-NEXT: vs8r.v v24, (a4) # Unknown-size Folded Spill ; RV32-NEXT: vand.vx v0, v8, a3 ; RV32-NEXT: vsll.vx v0, v0, a2 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll @@ -711,7 +711,6 @@ ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu ; CHECK-NEXT: vmv1r.v v0, v1 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vmflt.vf v1, v24, ft0, v0.t ; CHECK-NEXT: fsrmi a0, 3 @@ -764,7 +763,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll @@ -711,7 +711,6 @@ ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu ; CHECK-NEXT: vmv1r.v v0, v1 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vmflt.vf v1, v24, ft0, v0.t ; CHECK-NEXT: fsrmi a0, 2 @@ -764,7 +763,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll @@ -637,7 +637,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 @@ -695,7 +694,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll @@ -711,7 +711,6 @@ ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu ; CHECK-NEXT: vmv1r.v v0, v1 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vmflt.vf v1, v24, ft0, v0.t ; CHECK-NEXT: fsrmi a0, 4 @@ -764,7 +763,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll @@ -711,7 +711,6 @@ ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu ; CHECK-NEXT: vmv1r.v v0, v1 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vmflt.vf v1, v24, ft0, v0.t ; CHECK-NEXT: fsrmi a0, 0 @@ -764,7 +763,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll @@ -711,7 +711,6 @@ ; CHECK-NEXT: vs8r.v v24, (a0) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu ; CHECK-NEXT: vmv1r.v v0, v1 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vmflt.vf v1, v24, ft0, v0.t ; CHECK-NEXT: fsrmi a0, 1 @@ -764,7 +763,6 @@ ; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a1) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a1, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a1) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v8, v24, v8, v0.t ; CHECK-NEXT: addi a1, a0, -16 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll @@ -204,7 +204,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vfwadd.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vfwadd.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll @@ -204,7 +204,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vfwmul.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vfwmul.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll @@ -204,7 +204,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vfwsub.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vfwsub.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll @@ -2404,7 +2404,6 @@ ; RV64-NEXT: vsext.vf2 v24, v8 ; RV64-NEXT: vsll.vi v16, v0, 3 ; RV64-NEXT: vsll.vi v8, v24, 3 -; RV64-NEXT: addi a2, sp, 16 ; RV64-NEXT: vl1r.v v24, (a2) # Unknown-size Folded Reload ; RV64-NEXT: addi a2, a1, -16 ; RV64-NEXT: sltu a3, a1, a2 @@ -2476,7 +2475,6 @@ ; RV64-NEXT: vzext.vf2 v24, v8 ; RV64-NEXT: vsll.vi v16, v0, 3 ; RV64-NEXT: vsll.vi v8, v24, 3 -; RV64-NEXT: addi a2, sp, 16 ; RV64-NEXT: vl1r.v v24, (a2) # Unknown-size Folded Reload ; RV64-NEXT: addi a2, a1, -16 ; RV64-NEXT: sltu a3, a1, a2 Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll @@ -333,7 +333,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwadd.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwadd.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll @@ -333,7 +333,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwaddu.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwaddu.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll @@ -360,7 +360,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwmul.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwmul.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll @@ -352,7 +352,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwmulsu.vv v8, v24, v16 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwmulsu.vv v16, v0, v24 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll @@ -336,7 +336,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwmulu.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwmulu.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll @@ -333,7 +333,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwsub.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwsub.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll +++ llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll @@ -333,7 +333,6 @@ ; CHECK-NEXT: vslidedown.vi v0, v24, 16 ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, ma ; CHECK-NEXT: vwsubu.vv v8, v16, v24 -; CHECK-NEXT: addi a0, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a0) # Unknown-size Folded Reload ; CHECK-NEXT: vwsubu.vv v16, v24, v0 ; CHECK-NEXT: csrr a0, vlenb Index: llvm/test/CodeGen/RISCV/rvv/floor-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/floor-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/floor-vp.ll @@ -764,10 +764,8 @@ ; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a2) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v16, v24, v16, v0.t -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v16, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: bltu a0, a1, .LBB32_2 ; CHECK-NEXT: # %bb.1: Index: llvm/test/CodeGen/RISCV/rvv/rint-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/rint-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/rint-vp.ll @@ -698,7 +698,6 @@ ; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a2) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v16, v24, v16, v0.t ; CHECK-NEXT: bltu a0, a1, .LBB32_2 Index: llvm/test/CodeGen/RISCV/rvv/round-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/round-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/round-vp.ll @@ -764,10 +764,8 @@ ; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a2) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v16, v24, v16, v0.t -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v16, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: bltu a0, a1, .LBB32_2 ; CHECK-NEXT: # %bb.1: Index: llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll @@ -764,10 +764,8 @@ ; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a2) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v16, v24, v16, v0.t -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v16, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: bltu a0, a1, .LBB32_2 ; CHECK-NEXT: # %bb.1: Index: llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll +++ llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll @@ -764,10 +764,8 @@ ; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v24, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: vsetvli zero, zero, e64, m8, ta, mu -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vl8re8.v v24, (a2) # Unknown-size Folded Reload ; CHECK-NEXT: vfsgnj.vv v16, v24, v16, v0.t -; CHECK-NEXT: addi a2, sp, 16 ; CHECK-NEXT: vs8r.v v16, (a2) # Unknown-size Folded Spill ; CHECK-NEXT: bltu a0, a1, .LBB32_2 ; CHECK-NEXT: # %bb.1: Index: llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll +++ llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll @@ -33,7 +33,6 @@ ; SPILL-O2-NEXT: vs1r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 1 @@ -76,7 +75,6 @@ ; SPILL-O2-NEXT: vs1r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 1 @@ -119,7 +117,6 @@ ; SPILL-O2-NEXT: vs2r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl2re8.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 1 @@ -162,7 +159,6 @@ ; SPILL-O2-NEXT: vs4r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl4re8.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 2 @@ -205,7 +201,6 @@ ; SPILL-O2-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl8re8.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 3 Index: llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll +++ llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll @@ -41,8 +41,6 @@ ; SPILL-O2-NEXT: vs1r.v v9, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 -; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: vl1r.v v7, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: add a0, a0, a1 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload @@ -97,8 +95,6 @@ ; SPILL-O2-NEXT: vs1r.v v9, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 -; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: vl1r.v v7, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: add a0, a0, a1 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload @@ -154,7 +150,6 @@ ; SPILL-O2-NEXT: vs2r.v v10, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: slli a1, a1, 1 ; SPILL-O2-NEXT: vl2r.v v6, (a0) # Unknown-size Folded Reload @@ -212,7 +207,6 @@ ; SPILL-O2-NEXT: vs4r.v v12, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: slli a1, a1, 2 ; SPILL-O2-NEXT: vl4r.v v4, (a0) # Unknown-size Folded Reload @@ -273,7 +267,6 @@ ; SPILL-O2-NEXT: vs2r.v v12, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: slli a1, a1, 1 ; SPILL-O2-NEXT: vl2r.v v6, (a0) # Unknown-size Folded Reload Index: llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll +++ llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll @@ -33,7 +33,6 @@ ; SPILL-O2-NEXT: vs1r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 1 @@ -76,7 +75,6 @@ ; SPILL-O2-NEXT: vs2r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl2re8.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 1 @@ -119,7 +117,6 @@ ; SPILL-O2-NEXT: vs4r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl4re8.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 2 @@ -162,7 +159,6 @@ ; SPILL-O2-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: vl8re8.v v8, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: csrr a0, vlenb ; SPILL-O2-NEXT: slli a0, a0, 3 Index: llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll =================================================================== --- llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll +++ llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll @@ -41,8 +41,6 @@ ; SPILL-O2-NEXT: vs1r.v v9, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 -; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: vl1r.v v7, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: add a0, a0, a1 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload @@ -97,8 +95,6 @@ ; SPILL-O2-NEXT: vs1r.v v9, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 -; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: vl1r.v v7, (a0) # Unknown-size Folded Reload ; SPILL-O2-NEXT: add a0, a0, a1 ; SPILL-O2-NEXT: vl1r.v v8, (a0) # Unknown-size Folded Reload @@ -154,7 +150,6 @@ ; SPILL-O2-NEXT: vs2r.v v10, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: slli a1, a1, 1 ; SPILL-O2-NEXT: vl2r.v v6, (a0) # Unknown-size Folded Reload @@ -212,7 +207,6 @@ ; SPILL-O2-NEXT: vs4r.v v12, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: slli a1, a1, 2 ; SPILL-O2-NEXT: vl4r.v v4, (a0) # Unknown-size Folded Reload @@ -273,7 +267,6 @@ ; SPILL-O2-NEXT: vs2r.v v12, (a0) # Unknown-size Folded Spill ; SPILL-O2-NEXT: #APP ; SPILL-O2-NEXT: #NO_APP -; SPILL-O2-NEXT: addi a0, sp, 16 ; SPILL-O2-NEXT: csrr a1, vlenb ; SPILL-O2-NEXT: slli a1, a1, 1 ; SPILL-O2-NEXT: vl2r.v v6, (a0) # Unknown-size Folded Reload Index: llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir =================================================================== --- llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir +++ llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir @@ -1,5 +1,5 @@ # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py -# RUN: llc -march=riscv64 -mattr=+v -stop-after=prologepilog %s -o - 2>&1 | FileCheck %s +# RUN: llc -march=riscv64 -mattr=+v -stop-after=machine-latecleanup %s -o - 2>&1 | FileCheck %s --- | target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n64-S128" @@ -30,9 +30,7 @@ ; CHECK-NEXT: $v0_v1_v2_v3_v4_v5_v6 = PseudoVLSEG7E64_V_M1 renamable $x10, $noreg, 6 /* e64 */, implicit $vl, implicit $vtype ; CHECK-NEXT: $x11 = ADDI $x2, 16 ; CHECK-NEXT: $x12 = PseudoReadVLENB - ; CHECK-NEXT: PseudoVSPILL7_M1 killed renamable $v0_v1_v2_v3_v4_v5_v6, killed $x11, killed $x12 - ; CHECK-NEXT: $x11 = ADDI $x2, 16 - ; CHECK-NEXT: $x12 = PseudoReadVLENB + ; CHECK-NEXT: PseudoVSPILL7_M1 killed renamable $v0_v1_v2_v3_v4_v5_v6, $x11, $x12 ; CHECK-NEXT: dead renamable $v7_v8_v9_v10_v11_v12_v13 = PseudoVRELOAD7_M1 killed $x11, killed $x12, implicit-def $v8 ; CHECK-NEXT: VS1R_V killed $v8, killed renamable $x10 ; CHECK-NEXT: $x10 = frame-destroy PseudoReadVLENB Index: llvm/test/CodeGen/RISCV/stack-realignment.ll =================================================================== --- llvm/test/CodeGen/RISCV/stack-realignment.ll +++ llvm/test/CodeGen/RISCV/stack-realignment.ll @@ -547,7 +547,6 @@ ; RV32I-NEXT: call callee@plt ; RV32I-NEXT: lui a0, 2 ; RV32I-NEXT: sub sp, s0, a0 -; RV32I-NEXT: lui a0, 2 ; RV32I-NEXT: addi a0, a0, -2032 ; RV32I-NEXT: add sp, sp, a0 ; RV32I-NEXT: lw ra, 2028(sp) # 4-byte Folded Reload @@ -575,7 +574,6 @@ ; RV64I-NEXT: call callee@plt ; RV64I-NEXT: lui a0, 2 ; RV64I-NEXT: sub sp, s0, a0 -; RV64I-NEXT: lui a0, 2 ; RV64I-NEXT: addiw a0, a0, -2032 ; RV64I-NEXT: add sp, sp, a0 ; RV64I-NEXT: ld ra, 2024(sp) # 8-byte Folded Reload