[llvm] [Codegen] Spill/Restore FP/BP under option (PR #114791)

via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 5 23:36:20 PST 2024


mahesh-attarde wrote:

> @mahesh-attarde the problem is even without the patch #81048, https://godbolt.org/z/s16MxPME3 still generates wrong code. Could you paste your code here?
> 
> @rnk compile time error sounds reasonable for these difficult cases.

Here is simplified version with godbolt llc.
https://godbolt.org/z/TPMr7jcxn
```
bar:                                    # @bar
        push    rbp
        mov     rbp, rsp
        and     rsp, -64
        sub     rsp, 192
        movaps  xmmword ptr [rsp + 160], xmm3   # 16-byte Spill
        movaps  xmmword ptr [rsp + 144], xmm2   # 16-byte Spill
        movaps  xmmword ptr [rsp + 128], xmm1   # 16-byte Spill
>>> Problem
        movaps  xmmword ptr [rsp + 112], xmm0   # 16-byte Spill
<<<<
        movaps  xmm0, xmmword ptr [rsp]
...
```
For Aligned Mov Memory operand has to be 16/32/64 byte align.


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


More information about the llvm-commits mailing list