[X86][SSE41] Combine insertion of zero scalars into vector blends with zero
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 24 Feb 2016 14:53:27 +0000 (14:53 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 24 Feb 2016 14:53:27 +0000 (14:53 +0000)
commitdd01f700850f5615f0ac6b3e37c738db0ed19411
tree491e87566aaf0716c99d2158590ee77c46fd5e5f
parent4f073ca7faba0ae155ca2d33be53928203bf3f34
[X86][SSE41] Combine insertion of zero scalars into vector blends with zero

Part 1 of 2
This patch attempts to replace the insertion of zero scalars with a vector blend with zero, avoiding the use of the integer insertion instructions (which are particularly slow on many targets).
(Part 2 will add support for combining multiple blends-with-zero).

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

llvm-svn: 261743
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/insertelement-zero.ll
llvm/test/CodeGen/X86/vec_insert-7.ll