[LLVMdev] ABI for i128 on x86-32?

Chris Lattner sabre at nondot.org
Wed Feb 27 10:21:36 PST 2008


On Wed, 27 Feb 2008, Evan Cheng wrote:
> I think it's returned in 4 registers: eax, edx, esi, edi. Can someone
> confirm?

I don't think there is a standard ABI.  I'd be find with allocating a 
hidden argument and returning the values by reference.  At some point 
we'll have to start doing this: if not for i128, then for multiple return 
values.

Anton mentioned that Fortran uses i128 on 32-bit systems, Anton do you 
know if they can be returned, and if so what ABI they use?

-Chris

> On Feb 27, 2008, at 8:33 AM, gohman at apple.com wrote:
>
>> Hello,
>>
>> Does anyone know of any precedent for handling i128 in the
>> calling convention on x86-32? I'm trying to write a testcase
>> that returns an i128 value, and LLVM currently has only two
>> 32-bit GPRs designated for returning integer values on x86-32.
>>
>> Dan
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list