[LLVMbugs] [Bug 8381] New: Incorrect x86/SSE code generation involving <<8 x i16>> vector
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Oct 14 15:47:53 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8381
Summary: Incorrect x86/SSE code generation involving <<8 x
i16>> vector
Product: new-bugs
Version: 2.8
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: brian.e.paul at gmail.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=5618)
--> (http://llvm.org/bugs/attachment.cgi?id=5618)
bytecode which generates incorrect code
We found this issue with the Mesa/Gallium LLVMpipe driver.
At one point we're constructing a <<8 x i16>> vector. All elements should have
the same value. The value comes from a scalar floating point calculation. The
float is converted to i32 and that's trunc'd to i16 before we build the vector.
This worked with LLVM 2.7 but fails with LLVM 2.8. We can work around the bug
by inserting a special no-op shuffle which replicates the [0] and [2] elements
to the other elements in the vector. This shouldn't be necessary, of course.
I'm attaching the defective bytecode file and a bytecode file with our
work-around.
--
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