Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Have you tried enabling the tablegen selector build? I’ve been avoiding commiting any of these kind of simple selectors without that
Yes, it only generates code for stand-alone patterns and instruction patterns that use specify register classes for operands rather than types.
Actually, I just discovered -warn-on-skipped-patterns on it looks like most patterns are skipped because the ComplexPatterns is not mapped to GlobalISel. It looks like the pkrtz pattern doesn't match because it uses a SDNode.
Have you tried enabling the tablegen selector build? I’ve been avoiding commiting any of these kind of simple selectors without that
lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp | ||
---|---|---|
155 ↗ | (On Diff #143405) | Separate line |
553 ↗ | (On Diff #143405) | Ditto |
test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.cvt.pkrtz.mir | ||
4–8 ↗ | (On Diff #143405) | I think you can drop the IR section, even with the intrinsic declaration |
Rewrite patch to use TableGen'd instruction selector.
test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.cvt.pkrtz.mir | ||
---|---|---|
4–8 ↗ | (On Diff #143405) | It complained about function cvt_pkrtz not being defined in the IR, but I was able to drop the intrinsic declaration. |