Modify the code that lowers shuffles to blends from using blendvXX to vblendXX.
authorNadav Rotem <nadav.rotem@intel.com>
Tue, 10 Apr 2012 14:33:13 +0000 (14:33 +0000)
committerNadav Rotem <nadav.rotem@intel.com>
Tue, 10 Apr 2012 14:33:13 +0000 (14:33 +0000)
commit50e64cfe6e250dbe2528fc5bda75c68b04a8bc49
tree11f8711c3c0c8a1418507063bde7ac8b81a7826f
parent45fb79bc54159330979bf24e4bfbdbb64bee1e2c
Modify the code that lowers shuffles to blends from using blendvXX to vblendXX.
blendv uses a register for the selection while vblend uses an immediate.
On sandybridge they still have the same latency and execute on the same execution ports.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154396 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx-shuffle.ll
test/CodeGen/X86/vec_shuffle-20.ll