Split off from D11518.
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.
| Paths 
 |  Differential  D11541  
[X86][SSE] Use bitmasks instead of shuffles where possible. ClosedPublic Authored by RKSimon on Jul 27 2015, 2:29 PM. 
Details Summary Split off from D11518. 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. 
Diff Detail 
 Event TimelineRKSimon updated this object. This revision is now accepted and ready to land.Jul 27 2015, 4:10 PM Closed by commit rL243395: [X86][SSE] Use bitmasks instead of shuffles where possible. (authored by RKSimon).  ·  Explain WhyJul 28 2015, 1:55 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 30793 llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
 
 llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v16.ll
 llvm/trunk/test/CodeGen/X86/vector-shuffle-256-v32.ll
 llvm/trunk/test/CodeGen/X86/vector-zext.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||