[LLVMbugs] [Bug 11184] New: SSE: incorrect code generated for i8 vector shuffles

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Oct 19 16:40:02 PDT 2011


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

           Summary: SSE: incorrect code generated for i8 vector shuffles
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=7482)
 --> (http://llvm.org/bugs/attachment.cgi?id=7482)
bitcode

The attached test case generates an <8xi8> vector with values <1 2 3 4 5 6 7 8>
using a shuffle of 2 <4xi8> vectors and stores it to memory.  With top-of-tree,
it seems that incorrect values are being stored; the attached test program
should print out "1 2 3 4 5 6 7 8" but instead prints the last 4 values,
repeated twice:

% llc -filetype=obj bug.ll -o bug.o && clang bug.cpp bug.o && ./a.out
5  6  7  8  5  6  7  8  
%

Some archaeology in the checkins indicates that the enabling of element
promotion type legalization broke this.  If I check out the version immediately
before that one, I get the expected result:

% llc -filetype=obj bug.ll -o bug.o && clang bug.cpp bug.o && ./a.out
1  2  3  4  5  6  7  8  
%


Author: Nadav Rotem <nadav.rotem at intel.com>
Date:   Sun Oct 16 20:31:33 2011 +0000

    Enable element promotion type legalization by deafault.
    Changed tests which assumed that vectors are legalized by widening them.



    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142152
91177308-0d34-0410-b5e6-96231b3b80d8

-- 
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