[LLVMbugs] [Bug 4059] New: ARM: double arguments may be split between registers and stack with AAPCS ABI
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Apr 24 17:43:29 PDT 2009
http://llvm.org/bugs/show_bug.cgi?id=4059
Summary: ARM: double arguments may be split between registers and
stack with AAPCS ABI
Product: libraries
Version: trunk
Platform: Macintosh
OS/Version: MacOS X
Status: NEW
Severity: normal
Priority: P2
Component: Backend: ARM
AssignedTo: unassignedbugs at nondot.org
ReportedBy: bob.wilson at apple.com
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=2871)
--> (http://llvm.org/bugs/attachment.cgi?id=2871)
testcase
This is similar to pr4058, which involves ia64 arguments. Double
floating-point arguments (f64) work correctly if the target architecture
includes the VFP floating-point registers. Otherwise, f64 arguments get split
up into i32/i32 pairs and the tests for f64 in ARMCallingConv.td fail. The
base AAPCS ABI requires f64 arguments to be passed in even/odd register pairs
or on the stack, and the ABI applies whether you have VFP support or not.
(There is an optional hard-float variant of AAPCS but LLVM does not support
that yet.) f64 arguments cannot be split between r3 and the stack when using
AAPCS. The attached testcase demonstrates the problem.
--
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