https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115374
--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The bug is mixing MMX with floating point and expecting it to work, it will never work properly, you need manual emms in between, or better yet, avoid MMX altogether, it really isn't worth it. Just use SSE and higher.