[PATCH] D13851: [X86][XOP] Add support for lowering vector rotations

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 18 07:04:57 PDT 2015


RKSimon created this revision.
RKSimon added reviewers: qcolombet, delena, andreadb, spatel.
RKSimon added a subscriber: llvm-commits.
RKSimon set the repository for this revision to rL LLVM.

This patch adds support for lowering to the XOP VPROT / VPROTI vector bit rotation instructions.

This has required changes to the DAGCombiner rotation pattern matching to support vector types - so far I've only changed it to support splat vectors, but generalising this further is feasible in the future. I can commit this separately if people require but there is no way to add tests to just this part - I was surprised to find that other targets (PPC ALTIVEC?) didn't already have vector rotate support.

Elena - I've tried to set up the X86 lowering to make it straightforward to add AVX512 rotations in the future.

Repository:
  rL LLVM

http://reviews.llvm.org/D13851

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/vector-rotate-128.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13851.37708.patch
Type: text/x-patch
Size: 20834 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151018/0b09d987/attachment.bin>


More information about the llvm-commits mailing list