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: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]
    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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to