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".