PATCH: Don't allocate space for SSE reg in reg save area if SSE is disabled

H.J. Lu hjl.tools@gmail.com
Sun Aug 31 16:39:00 GMT 2008


On Fri, Aug 29, 2008 at 12:25 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> On Fri, Aug 29, 2008 at 08:07:48AM -0700, H.J. Lu wrote:
>> It turns out that ix86_varargs_gpr_size can't be 0 since va_arg
>> is processed before setup_incoming_varargs_64 is called. But
>
> va_arg is expanded at gimplification time, then pass_stdarg determines
> if and how many gprs and fprs need to be saved, then at expand time
> setup_incoming_varargs_64 is called.  Of course cfun->va_list_gpr_size
> can be 0 at that point (e.g. for the testcase I posted).
> Your solution to allocate the GPR save area even when no gprs, but some
> fprs need to be saved of course will work, but is not optimal.
>

By `ix86_varargs_gpr_size can't be 0', I meant if I set it 0 in
setup_incoming_varargs_64, va_arg may be incorrect. One of
new amd64-abi-?.c will fail.

-- 
H.J.



More information about the Gcc-patches mailing list