[LLVMbugs] [Bug 1672] New: legalizer doesn' t scalarize illegal vector return correctly in some cases
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Sep 14 22:15:34 PDT 2007
http://llvm.org/bugs/show_bug.cgi?id=1672
Summary: legalizer doesn't scalarize illegal vector return
correctly in some cases
Product: libraries
Version: 1.0
Platform: PC
OS/Version: All
Status: NEW
Keywords: compile-fail
Severity: normal
Priority: P2
Component: Common Code Generator Code
AssignedTo: unassignedbugs at nondot.org
ReportedBy: sabre at nondot.org
CC: llvmbugs at cs.uiuc.edu
The PPC backend dies on this input:
define <4 x float> @test1110(float %a, float %b, float %c) {
entry:
ret <4 x float> zeroinitializer
}
This gets turned into a return of 4 floats. The PPC backend dies because it
only knows how to return one float value (PPCCallingConv.td):
CCIfType<[f32, f64], CCAssignToReg<[F1]>>,
It would be very easy to change this to:
CCIfType<[f32, f64], CCAssignToReg<[F1,F2,F3,F4]>>,
However, this would fix this case, but not the arbitrary case, and this is
almost certainly not abi compatible with GCC.
-Chris
--
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