[llvm] [RISCV] Allocate the varargs GPR save area as a single object. (PR #74354)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 4 10:33:32 PST 2023


================
@@ -560,12 +560,12 @@ define i64 @va2(ptr %fmt, ...) nounwind {
 ; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a6, 64(sp)
 ; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a5, 56(sp)
 ; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a4, 48(sp)
-; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a3, 40(sp)
-; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a2, 32(sp)
-; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a1, 24(sp)
 ; LP64-LP64F-LP64D-FPELIM-NEXT:    addi a0, sp, 24
 ; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a0, 8(sp)
 ; LP64-LP64F-LP64D-FPELIM-NEXT:    lw a0, 8(sp)
+; LP64-LP64F-LP64D-FPELIM-NEXT:    sd a3, 40(sp)
----------------
topperc wrote:

This tests is also weird. vastart stores a value that is supposed to be a pointer, but the test loads it as an i32 insead of iXLen.

https://github.com/llvm/llvm-project/pull/74354


More information about the llvm-commits mailing list