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