[llvm] [X86] Align f128 to 16 bytes when passing on x86-32 (PR #138092)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu May 1 10:00:05 PDT 2025


arsenm wrote:

> How does stack alignment get handled for non-legal types, or where does this need to get fixed up? I’m surprised passing doesn’t use the type’s natural alignment.

The type is broken up into legal pieces according to getRegisterTypeForCallingConv + getNumRegistersForCallingConv, and those pieces are processed by the call lowering. This code is entirely disconnected from the decision of where to pass the value, in a register or at some stack offset 

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


More information about the llvm-commits mailing list