These patterns should have a True16 version and a non-true16 version.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | ||
|---|---|---|
| 4 | Can replace -march with -mtriple | |
| llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | ||
|---|---|---|
| 7 | Shouldn't this be v_cmp_eq_u16_t16_e64 on gfx11? | |
| llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | ||
|---|---|---|
| 7 | The assembly mnemonics do not include references to true16, only the MachineInstr/MCInst names do. I checked that the True16 version of the instruction was used via print-after-all before asm emission in this case. | |
| llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | ||
|---|---|---|
| 7 | Excellent. Thanks 👍 | |
| llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | ||
|---|---|---|
| 16 | Is ballot well defined for 16 bit destinations? I think ballot should work over the waveSize, so only 32 or 64 bit returns are valid. declare i16 @llvm.amdgcn.ballot.i16(i1) I would expect a problem here if (Size != STI.getWavefrontSize()) return false; | |
| llvm/test/CodeGen/AMDGPU/v_cmp_gfx11.ll | ||
|---|---|---|
| 16 | On second thought, I think you probably meant a test of a 16 bit compare feeding into ballot. See test https://reviews.llvm.org/D135782 | |
Can replace -march with -mtriple