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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits