Issue 102783
Summary LLVM data layout for `i128` doesn't match Clang's alignment of `__int128_t` on 64-bit PowerPC, 64-bit SPARC and 64-bit MIPS
Labels clang
Assignees
Reporter beetrees
    On 64-bit PowerPC, 64-bit SPARC and 64-bit MIPS, Clang gives `__int128_t` an alignment of 16 whereas the LLVM data layout (implicitly) gives `i128` an alignment of 8. This means that LLVM-based compilers that use the LLVM data layout alignment directly (such as `rustc`) are ABI incompatible with Clang itself. This is the same as a previous bug on x86-64 that was fixed in [https://reviews.llvm.org/D86310](D86310), just on different targets.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to