OSDN Git Service

[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)
commit76e20279a337e5cdd7bfccc18a5855d9fb2063c2
tree1096e6e005784c4d475cc0c27c6b2aece3b42ecb
parent311d89d774c304cb3ab80fb3513c376b83a3b71a
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267343 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
test/CodeGen/X86/vector-shuffle-combining-xop.ll