[clang] [llvm] [MIPS] LLVM data layout give i128 an alignment of 16 for mips64 (PR #112084)

via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 15 16:50:55 PDT 2024


beetrees wrote:

Clang currently always gives `__int128` and `__uint128` an alignment of 16 bytes (128 bits), except on SystemZ where they have an alignment of 8 bytes (64 bits).

I'm not aware of any MIPS ABI specification that includes 128-bit integers, but an alignment of 16 bytes is used by both Clang and GCC, so it appears to be the de facto standard. (While the Linux Foundation has [a copy of the o32 System V ABI](https://refspecs.linuxfoundation.org/elf/mipsabi.pdf), the closest thing I could find for n32 and n64 are various copies of ["MIPSpro™ N32 ABI Handbook"](https://irix7.com/techpubs/007-2816-005.pdf) and ["MIPSpro™ 64-Bit Porting and Transition Guide"](https://irix7.com/techpubs/007-2391-006.pdf).)

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


More information about the cfe-commits mailing list