[clang] [clang] Lower _BitInt(129+) to a different type in LLVM IR (PR #91364)
Nikita Popov via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 12 00:26:12 PDT 2024
nikic wrote:
> Okay, so x86_64 describes it in byte terms and says they're little-endian, which is consistent with the overall target. Interestingly, it does not guarantee the content of the excess bits. The code-generation in this patch is consistent with that: the extension we do is unnecessary but allowed, and then we truncate it away after load. If we ever add some way to tell the backend that a truncation is known to be reversing a sign/zero-extension, we'll need to not set it on this target.
FYI this already exists in the form of `trunc nuw` / `trunc nsw`. (Though it's not fully optimized yet.)
https://github.com/llvm/llvm-project/pull/91364
More information about the cfe-commits
mailing list