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

Reply via email to