Most transforms should now be performed on llvm.is.fpclass. Unlike the
generic intrinsic, this supports variable test masks.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | ||
---|---|---|
438 | I'm not convinced this is sound. E.g. if Src1 is dynamically zero (resp. all-ones) then the result should be false (resp. true) even if Src0 is undef. But that's a pre-existing problem. |
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | ||
---|---|---|
438 | In fact in the wake of Poison replacing Undef I am not sure that isa<UndefValue> is a test to go anymore. |
llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp | ||
---|---|---|
438 | I thought I fixed this before (maybe that’s what I implemented for the generic intrinsic). I can fix this separately |
I'm not convinced this is sound. E.g. if Src1 is dynamically zero (resp. all-ones) then the result should be false (resp. true) even if Src0 is undef. But that's a pre-existing problem.