OSDN Git Service

[X86][XOP] Fix VPERMIL2 non-constant pool shuffle decoding (PR31296)
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 7 Dec 2016 11:19:00 +0000 (11:19 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 7 Dec 2016 11:19:00 +0000 (11:19 +0000)
commit714162bb4f96cff3959a08a2a9a8c9ad583fde02
tree2e061008102233e4a34f21162838d1e4e5e56a83
parent0007d140573b504c7eb103b6fcb2e87ef847abf8
[X86][XOP] Fix VPERMIL2 non-constant pool shuffle decoding (PR31296)

The non-constant pool version of DecodeVPERMIL2PMask was not offsetting correctly for the second input. I've updated the code to match the implementation in the constant-pool version.

Annoyingly this bug was hidden for so long as it's tricky to combine to useful variable shuffle masks that don't become constant-pool entries.

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