This barely matters since 99% are converted to the generic intrinsic now,
and the only real difference is the target intrinsic supports a variable
test mask. Start propagating poison. Prefer folding to a defined result (false)
for an undef test mask. Propagate undef for the first operand.
Details
Details
Diff Detail
Diff Detail
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | ||
---|---|---|
471 | I don't think this is sound, e.g if the RHS is 0 (but not a ConstantInt) then the result should be 0, not undef. Perhaps you could fold it to RHS != 0? |
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | ||
---|---|---|
471 | icmp ne x, undef folds to undef, so that would be the same thing |
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | ||
---|---|---|
471 | No we're talking about the case where LHS is undef. |
I don't think this is sound, e.g if the RHS is 0 (but not a ConstantInt) then the result should be 0, not undef.
Perhaps you could fold it to RHS != 0?