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