https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83292
Andrew Church <achurch+gcc at achurch dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|__builtin_apply() triggers |__builtin_apply(), |x87 stack exception on |__builtin_return() trigger |32-bit x86 |x87 stack exception on | |32-bit x86 --- Comment #1 from Andrew Church <achurch+gcc at achurch dot org> --- For the record, __builtin_return() has the same problem of mixing x87 and MMX instructions, so this doesn't work around the problem when using __builtin_return(): void *retval = __builtin_apply(...); __asm__ volatile("finit"); // reset x87 state __builtin_return(retval); // corrupts x87 state again