[PATCH] D81076: [PowerPC] Custom lower rotl v1i128 to vector_shuffle.

EsmeYi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 3 03:48:19 PDT 2020


Esme created this revision.
Esme added reviewers: steven.zhang, jsji, nemanjai, PowerPC.
Herald added subscribers: llvm-commits, shchenz, kbarton, hiraditya.
Herald added a project: LLVM.

A bug is reported by bug-45628, where the swap_with_shift case can't be matched to a single HW instruction xxswapd as expected. Tests at master have been added in this NFC patch <https://reviews.llvm.org/D81073>.
We have MatchRotate to handle an 'or' of two operands and generate a rot[lr] if the case matches the idiom of rotate. While PPC doesn't support ROTL v1i128. We can custom lower ROTL v1i128 to the vector_shuffle. The vector_shuffle will be matched to a single HW instruction during the phase of instruction selection.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D81076

Files:
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/lib/Target/PowerPC/PPCISelLowering.h
  llvm/test/CodeGen/PowerPC/pr45628.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81076.268114.patch
Type: text/x-patch
Size: 10782 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200603/1e2e3f59/attachment.bin>


More information about the llvm-commits mailing list