Commit rG934d5fa2b8672695c335deed0e19d0e777c98403 changed the vperm codegen
for cases that vperm is not replaced by xxperm, this patch is to revert that.
Details
- Reviewers
stefanp nemanjai - Commits
- rG7614ba0a5db8: [PowerPC] Fix vperm codegen
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Thank you for fixing this.
I do have a couple of comments related to the fix.
llvm/lib/Target/PowerPC/PPCISelLowering.cpp | ||
---|---|---|
10204 | I don't think you need to bother with this extra ternary operator. | |
10261 | Is it possible to have a swap on both sides? | |
10271 | For this section how about: if (Opcode == PPCISD::XXPERM && (V1HasXXSWAPD || V2HasXXSWAPD)) { /// Same code as above but you don't need to check that (V1HasXXSWAPD || V2HasXXSWAPD) } You don't need to go into the if statement at all if there isn't at least one XXSWAPD. |
llvm/lib/Target/PowerPC/PPCISelLowering.cpp | ||
---|---|---|
10261 | I have not see such a case. |
@maryammo Please can you take a look at https://github.com/llvm/llvm-project/issues/61315 - it looks related to this patch (and D133700)