[LLVMbugs] [Bug 11193] New: x86/SSE: incorrect code generated for simple program

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Oct 20 09:41:02 PDT 2011


           Summary: x86/SSE: incorrect code generated for simple program
           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=7490)
 --> (http://llvm.org/bugs/attachment.cgi?id=7490)
test driver

The attached test case is a 5-line bitcode program that compares a vector <8 x
float> to a constant vector of 3s and converts the <8 x i1> result to <8 x
float> with uitofp.  With the attached test program, which passes it the vector
<1, 2, 3, 4, 5, 6, 7, 8>, it should print the values "1.0 1.0 0.0 0.0 0.0 0.0
0.0 0.0".  With top-of-tree (r142579) it prints "32768.0" in place of the 1.0

% llc  -filetype=obj bug.ll -o bug.o && clang bug.cpp bug.o && ./a.out          
32768.0 32768.0 0.0 0.0 0.0 0.0 0.0 0.0 

Before the element type promotion legalization, this test case did indeed print
the expected result:

% llc  -filetype=obj bug.ll -o bug.o && clang bug.cpp bug.o && ./a.out          
1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 

(It also prints the expected result with TOT if compiled with the AVX backend.)
 Immediately following r142152, it printed 0.0 values for the first two.  At
some point between then and r142579, those became 32768.0s.

commit 8fb06b3e8f7fc92e472e17fecf5ee3ba44fbb6ab
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

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