This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Don't allocate space for SSE reg in reg save area if SSE is disabled
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.