llvm-project
765392a6 - [CIR] Pass x87 long double vectors on x86_64 (#230302)

Commit
13 days ago
[CIR] Pass x87 long double vectors on x86_64 (#230302) Vectors of x87 long double now go through x86_64 calling-convention lowering instead of hitting NYI. The ABI library sizes their elements at 128 bits like clang does, so the signatures match classic codegen. Unions are still moved as a value of their storage type, and a long double stores only 10 of its 16 bytes. So a union holding an x87 value next to another member stays NYI unless it's a plain long double and the other members fit in those 10 bytes. That also stops a silent miscompile of unions like `union { long double ld; char c[16]; }`. Assisted-by: Cursor / Claude Opus 5.5
Author
Parents
Loading