[PATCH] D59592: [RISCV] support ilp32e Calling Convention
Daliang Xu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 2 02:57:18 PDT 2019
xudaliang.pku added a comment.
In D59592#1445996 <https://reviews.llvm.org/D59592#1445996>, @asb wrote:
> Hi Daliang., thanks for the submission. One problem I think you'll find once you extend the tests is that support for realigning the stack is going to be required - e.g. if passing a double (8-byte aligned) on the stack (4-byte aligned).
I have made a new test for passing a double (8-byte aligned) on the stack (4-byte aligned) in calling-conv-ilp32e.ll for func: caller_double_on_stack and callee_double_on_stack.
It seems the realigning the stack is done.
In this example . the i32 %d and double %e are passed by the stack. And the test shows that the the stack is align at 8 bytes. The %d is in 0(sp) using only 4 bytes and %e is in 8(sp) using 8 bytes. The pos 4(sp) is not used. So ,is that means the stack is realigned or just aligned for 8 bytes. Is that right?
Did I understand clearly that when passing the double variable, the stack should align at 8 bytes rather than 4 bytes ?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59592/new/
https://reviews.llvm.org/D59592
More information about the llvm-commits
mailing list