https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110013
--- Comment #2 from Devin Hussey <husseydevin at gmail dot com> --- Scratch that. There is a somewhat easy way to fix this following psABI AND using MMX with SSE. Upon calling a function, we can have the following sequence func: movdq2q mm0, xmm0 movq mm1, [esp + n] call mmx_func movq2dq xmm0, mm0 emms Then, this prologue: mmx_func: movq2dq xmm0, mm0 movq2dq xmm1, mm1 emms ... movdq2q mm0, xmm0 ret