[X86][SSE] Use bitmasks instead of shuffles where possible.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 28 Jul 2015 08:54:41 +0000 (08:54 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 28 Jul 2015 08:54:41 +0000 (08:54 +0000)
commitdf984f58adb03397fec171cc6c6ee8e4158dec0f
tree5eb7d9f564f11c0af2ea6a64ffb59b9ce7729616
parent74da38706e17d0ae2d31dae5e25958e5464e041f
[X86][SSE] Use bitmasks instead of shuffles where possible.

VPAND is a lot faster than VPSHUFB and VPBLENDVB - this patch ensures we attempt to lower to a basic bitmask before lowering to the slower byte shuffle/blend instructions.

Split off from D11518.

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

llvm-svn: 243395
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
llvm/test/CodeGen/X86/vector-zext.ll