This patch make __float128/long double(128bits) passed on the stack with 16-byte alignment, according to i386 System V ABI.
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/lib/CodeGen/TargetInfo.cpp | ||
---|---|---|
1603 | I don't think this should be restricted to just Linux. It's a fix for all OSes that support __float128, i.e. Haiku, Linux, OpenBSD, and Solaris. It would be better to check the floating-point semantics rather than relying on the type size, since the type size could easily be rounded up to 128 for alignment reasons. Should this also apply to structs containing __float128, the same way that SIMD does below? |
clang-format: please reformat the code
3 diff lines are omitted. See full path.