On Tue, Jun 10, 2008 at 4:32 AM, Jan Hubicka <[EMAIL PROTECTED]> wrote:
>>
>> I don't understand why you want to pass __m256 and 256-bit vector values
>> to anonymous arguments in registers.  The only thing the vararg functions
>> would do with it would be save it somewhere on the stack.
>> Given the x86_64 ABI, you can't expect calling an implicitly
>> prototyped or non-vararg prototyped function which is actually
>> defined as vararg function (as %rax wouldn't be properly initialized),
>
> Unprototyped functions calls all get rax set. If calle is variadic,
> things still work.  Sure, for __m256 we can also declare prototypes for
> variadic functions mandatory and simply pass things on stack.
>

Do unprototyped functions calls work with __m128 and vararg on ia32?
I don't think it works since the first 3 __m128 were passed in registers,
but everything is passed on stack for vararg. If we require prototypes
for ia32, we should do the same for x86-64.

-- 
H.J.

Reply via email to