https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84902
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- Assembly diff in between the revisions is: --- /tmp/good.txt 2018-03-16 15:31:17.391278644 +0100 +++ /tmp/bad.txt 2018-03-16 15:23:44.678197462 +0100 @@ -279,20 +279,10 @@ 4015ae: 66 90 xchg %ax,%ax 00000000004015b0 <set_fast_math>: - return; - - if (edx & bit_SSE) - set_fast_math_sse (edx); -#else - unsigned int mxcsr = __builtin_ia32_stmxcsr (); 4015b0: 0f ae 5c 24 fc stmxcsr -0x4(%rsp) - mxcsr |= MXCSR_DAZ | MXCSR_FTZ; - __builtin_ia32_ldmxcsr (mxcsr); 4015b5: 81 4c 24 fc 40 80 00 orl $0x8040,-0x4(%rsp) 4015bc: 00 4015bd: 0f ae 54 24 fc ldmxcsr -0x4(%rsp) -#endif -} 4015c2: c3 retq 4015c3: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 4015ca: 00 00 00