[X86][XOP] Add support for lowering vector rotations
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 24 Oct 2015 13:17:26 +0000 (13:17 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 24 Oct 2015 13:17:26 +0000 (13:17 +0000)
commitd0ca754540694c1e4a08b6033eb2e9899fafe281
tree22837cea1be094d7a12a293884b89eb2223496ee
parent109f9e6f715dc178adf1f39e301e919e33733081
[X86][XOP] Add support for lowering vector rotations

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.

Differential Revision: http://reviews.llvm.org/D13851

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251188 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-rotate-128.ll
test/CodeGen/X86/vector-rotate-256.ll