http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58269

--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> ---
Created attachment 30736
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30736&action=edit
initial fix

AFAICT, the problem here is that 
"TARGET_SSE && SSE_REGNO_P (regno)" now produces a different answer from
pre-201915.

So, the patch attached is a necessary (but not proven to be sufficient) fix.

We need to audit all uses of SSE_REGNO_P () for darwin (at least).

AFAIU, the x86_64 Darwin ABI is the same as the linux/system V - so we should
be able to remove special-casing in some places (providing the SSE_REGPARM_MAX
values are the Right Fix and correctly specified).

I checked the Darwin x86_32 ABI info (briefly) and ISTM that the values for max
call arg usage of MMX and SSE regs in i386.h are right, so perhaps we can
remove more special-casing there too (not touched so far).

Will try some additional tests later - and I'd welcome Mike's PoV here on how
we prove "sufficient".

Reply via email to