OSDN Git Service

[X86][SSE] Add support for combining PINSRW into a target shuffle.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 31 Jan 2017 13:51:10 +0000 (13:51 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 31 Jan 2017 13:51:10 +0000 (13:51 +0000)
commite8b72983257c60e7e53a970ad13d65c76098c954
tree7420baa4c4725395e89ffae4a94c9501010aad86
parent9ca0f8737c315f66a12fa160ccd26afb696a4ddf
[X86][SSE] Add support for combining PINSRW into a target shuffle.

Also add the ability to recognise PINSR(Vex, 0, Idx).

Targets shuffle combines won't replace multiple insertions with a bit mask until a depth of 3 or more, so we avoid codesize bloat.

The unnecessary vpblendw in clearupper8xi16a will be fixed in an upcoming patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293627 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/clear_upper_vector_element_bits.ll