[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