OSDN Git Service

[x86] Teach the X86 backend to print shuffle comments for PSHUFB
authorChandler Carruth <chandlerc@gmail.com>
Fri, 25 Jul 2014 23:47:11 +0000 (23:47 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 25 Jul 2014 23:47:11 +0000 (23:47 +0000)
commit30e89dd88295f710f1cd3880cb721f6e9c0ed8b7
tree9176dc7598ac1bc6eadb414abdfb5f78d5db8aed
parentee17bf3fd4189d1981a6e908b4519e600ec7b002
[x86] Teach the X86 backend to print shuffle comments for PSHUFB
instructions which happen to have a constant mask.

Currently, this only handles a very narrow set of cases, but those
happen to be the cases that I care about for testing shuffles sanely.
This is a bit trickier than other shuffle instructions because we're
decoding constants out of the constant pool. The current MC layer makes
it completely impossible to inspect a constant pool entry, so we have to
do it at the MI level and attach the comment to the streamer on its way
out. So no joy for disassembling, but it does make test cases and asm
dumps *much* nicer.

Sorry for no test cases, but it didn't really seem that valuable to go
trolling through existing old test cases and updating them. I'll have
lots of testing of this in the upcoming patch for SSSE3 emission in the
new vector shuffle lowering code paths.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213986 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/Utils/X86ShuffleDecode.cpp
lib/Target/X86/Utils/X86ShuffleDecode.h
lib/Target/X86/X86MCInstLower.cpp