[llvm] [DAGCombiner][AMDGPU] Track signedness in ByteProviders (PR #65995)

Jeffrey Byrnes via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 12 08:25:06 PDT 2023


jrbyrnes wrote:

> > Thanks for swift responses. In general, I would think the unsigned type "wins"
> 
> Signed or unsigned types do not exist. There are only operations which you may associate with signed or unsigned behavior

This is the intention of the `IsSigned` flag -- to indicate whether or not we can associate the newly created instruction with signed behavior.

Subsequent iterations will try harder to reason about atomics / intrinsics, but we cannot combine into v_dot4 when we have mixed (signed/unsigned) behavior. In such cases, to preserve semantics of IR, the combine fails.

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


More information about the llvm-commits mailing list