This is still relying on the manual code for splitting 64-bit
constants, and handling pointers.
Details
Diff Detail
Event Timeline
Looks OK to me, but I don't know this stuff well enough to approve it.
llvm/lib/Target/AMDGPU/AMDGPUGISel.td | ||
---|---|---|
365–369 | Can't you call renderBitcastFPImm directly and avoid the 32/64 wrapper functions? | |
llvm/lib/Target/AMDGPU/SIInstrInfo.td | ||
864 | Why is this needed? Perhaps add a comment? In other cases where you've done this it's because there's a PredicateCode that might return false, but I don't see that here. |
llvm/lib/Target/AMDGPU/AMDGPUGISel.td | ||
---|---|---|
365–369 | No, the emitter doesn't handle reusing the same function | |
llvm/lib/Target/AMDGPU/SIInstrInfo.td | ||
864 | Because patterns with custom predicate code that don't have the gisel equivalent aren't imported. We need an IgnoreCodePredicate field or something to avoid this. I'm also pretty sure we don't need this specific predicate in SelectionDAG either and don't remember why we have it |
Can't you call renderBitcastFPImm directly and avoid the 32/64 wrapper functions?