[LLVMbugs] [Bug 8900] New: Shufflevector of doubles generates incorrect code (using float shuff)
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Jan 4 06:11:44 PST 2011
http://llvm.org/bugs/show_bug.cgi?id=8900
Summary: Shufflevector of doubles generates incorrect code
(using float shuff)
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: nadav256 at gmail.com
CC: llvmbugs at cs.uiuc.edu
In the code below, the shuffle instruction is first selected to be unpckld,
which is correct. However, during the ISel pattern matching phase, it is
replaced with the unpackls instruction (which is incorrect).
define <2 x double> @test_even_double4(<4 x double>* %srcA, <2 x double>*
%dst){
%i5 = getelementptr inbounds <4 x double> * %srcA, i32 3
%i6 = load <4 x double>* %i5, align 32
%m387 = shufflevector <4 x double> %i6, <4 x double> undef, <2 x i32> <i32 0,
i32 2>
ret <2 x double> %m387
}
movaps XMM0, XMMWORD PTR [RDI + 96]
unpcklps XMM0, XMMWORD PTR [RDI + 112] # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
ret
--
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