http://llvm.org/bugs/show_bug.cgi?id=11193
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: [email protected]
ReportedBy: [email protected]
CC: [email protected]
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
values.
% 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 <[email protected]>
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs