[x86] Flip the sentinel values used in the target shuffle mask decoding
authorChandler Carruth <chandlerc@gmail.com>
Sat, 27 Sep 2014 04:42:39 +0000 (04:42 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sat, 27 Sep 2014 04:42:39 +0000 (04:42 +0000)
commit8470b5b81270f528676b955ee4e1ff15ff3a7a55
treebc817017a053e53ac51ffdf184d6df6997f42e27
parent00bc445d7515f3b7251261972887f5a1e3567ab9
[x86] Flip the sentinel values used in the target shuffle mask decoding
to significantly more sane sentinels. Notably, everywhere else in the
backend's representation of shuffles uses '-1' to represent undef. The
target shuffle masks really shouldn't diverge from that, especially as
in a few places they are manipulated by shared code.

This causes us to lose some undef lanes in various test masks. I want to
get these back, but technically it isn't invalid and there are a *lot*
of bugs here so I want to try to establish a saner baseline for fixing
some of the bugs by aligning the specific senitnel values used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218561 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/Utils/X86ShuffleDecode.h
test/CodeGen/X86/vector-shuffle-256-v32.ll