[LLVMbugs] [Bug 13626] New: powerpc64 quadword int return value does not match "de facto" PPC ELF ABI

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Aug 17 08:18:34 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13626

             Bug #: 13626
           Summary: powerpc64 quadword int return value does not match "de
                    facto" PPC ELF ABI
           Product: new-bugs
           Version: trunk
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: wschmidt at linux.vnet.ibm.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


On powerpc64-unknown-linux-gnu, the method of returning quadword integer values
(__int128_t, __uint128_t) differs from that used by GCC.  The 64-bit PowerPC
ELF Application Binary Interface Supplement
(see http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html) is
unfortunately silent on the matter (apparently an oversight in version 1.9 when
the quadword integer types were added).

GCC returns quadword integers in the pair GPR3/GPR4, which is analogous to
quadword floating-point being returned in FPR1/FPR2 and is most natural and
efficient.  LLVM currently returns such values via the hidden pointer to the
caller's storage in GPR3.  In my view, this should be changed to use GPR3/GPR4
for compatibility with the de facto standard, and the ABI needs to be updated
to correct this missing information.

-- 
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