print floating pt using xmm0

Peter Johnson peter at tortall.net
Fri Oct 27 13:55:43 PDT 2006


It's not just printf, it's any function accepting a variable number of 
arguments--C declaration of the form func(x, y, z, ...).

Peter

On Fri, 27 Oct 2006, Vikas N Kumar wrote:

> Thanks Peter. the ABI document did not mention that printf required
> all 8byte doubles all the time.
>
> On 10/27/06, Peter Johnson <peter at tortall.net> wrote:
>> It appears the AMD64 ABI for varargs functions requires all 8-byte double
>> values.  The printf function is varargs, so all floats are passed as
>> doubles.  A "normal" function call that has float in the arguments list
>> takes it as a 4-byte value.


More information about the yasm-devel mailing list