[clang] [clang] Lower _BitInt(129+) to a different type in LLVM IR (PR #91364)
John McCall via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 10 12:52:55 PDT 2024
https://github.com/rjmccall commented:
This is generally looking great, and I think it's ready to go as soon as you can finish the tests. (You said you weren't able to update all the tests — did you have questions about the remaining tests?)
I did have a thought, though. Are we confident that the in-memory layout that LLVM is using for these large integer types matches the layout specified by the ABI? I know this patch makes the overall sizes match, but there's also an "endianness" question. When LLVM stores an i96 on a 32-bit machine, I assume it does three 32-bit stores, and those stores probably match the overall endianness of the target; for example, on a little-endian architecture, it stores the low 32 bits at offset 0, the middle 32 bits at offset 4, and the high 32 bits at offset 8. I just want to make sure that the ABI specification for _BitInt actually matches that.
https://github.com/llvm/llvm-project/pull/91364
More information about the cfe-commits
mailing list