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

Jakub Jelinek jakub@redhat.com
Sun Aug 31 16:29:00 GMT 2008


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.

	Jakub



More information about the Gcc-patches mailing list