[X86][SSE] Improved support for decoding target shuffle masks through bitcasts
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 24 Apr 2016 14:53:54 +0000 (14:53 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 24 Apr 2016 14:53:54 +0000 (14:53 +0000)
commit9f5697ef6803acededad77a51b40a3fbec905c81
treedd422f7e0b7a2a3764dbedb7e25bb0a6e24cf054
parenta425bbbfb871e44d515a59543eb5b226a689d20c
[X86][SSE] Improved support for decoding target shuffle masks through bitcasts

Reused the ability to split constants of a type wider than the shuffle mask to work with masks generated from scalar constants transfered to xmm.

This fixes an issue preventing PSHUFB target shuffle masks decoding rematerialized scalar constants and also exposes the XOP VPPERM bug described in PR27472.

llvm-svn: 267343
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll