llvm-project
b7c0452a - [PowerPC][AIX] Specify correct ABI alignment for double (#144673)

Commit
2 days ago
[PowerPC][AIX] Specify correct ABI alignment for double (#144673) Add `f64:32:64` to the data layout for AIX, to indicate that doubles have a 32-bit ABI alignment and 64-bit preferred alignment. Clang was already taking this into account, but it was not reflected in LLVM's data layout. A notable effect of this change is that `double` loads/stores with 4 byte alignment are no longer considered "unaligned" and avoid the corresponding unaligned access legalization. I assume that this is correct/desired for AIX. (The codegen previously already relied on this in some places related to the call ABI simply by dint of assuming certain stack locations were 8 byte aligned, even though they were only actually 4 byte aligned.) Fixes https://github.com/llvm/llvm-project/issues/133599.
Author
Parents
Loading