[LLVMbugs] [Bug 8200] New: MMX unpack instructions no longer get selected

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Sep 21 22:04:41 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=8200

           Summary: MMX unpack instructions no longer get selected
           Product: new-bugs
           Version: 2.8
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nicolas at capens.net
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5514)
 --> (http://llvm.org/bugs/attachment.cgi?id=5514)
Potential fix

The changes in revision 112804 and 112806 prevent the 64-bit UNPCKLBW and
UNPCKHBW instructions from getting selected (and potentially other varieties as
well). Test case:

shufflevector <8 x i8> %v1, <8 x i8> %v1, <8 x i32> <i32 0, i32 8, i32 1, i32
9, i32 2, i32 10, i32 3, i32 11>

Instead of generating an MMX instruction this becomes an unoptimized bunch of
byte moves. The attached patch should fix the problem.

The bug originates from the assumption around line 5305 in X86ISelLowering.cpp
that when OptForSize is false the PSHUFD is available. This is only true for
v4i32 and v4f32 formats, so not for MMX in particular.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list