https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98212
Hongtao.liu <crazylht at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |crazylht at gmail dot com --- Comment #1 from Hongtao.liu <crazylht at gmail dot com> --- It seems a regression in GCC10. GCC9 is ok, https://godbolt.org/ GCC 9: f1(float, float): ucomiss xmm0, xmm1 jp .L4 jne .L4 ret .L4: jmp f() f2(float, float): ucomiss xmm0, xmm1 jnp .L11 .L7: ret .L11: jne .L7 jmp f() GCC10: f1(float, float): ucomiss %xmm1, %xmm0 jp .L4 comiss %xmm1, %xmm0 jne .L4 ret .L4: jmp f() f2(float, float): ucomiss %xmm1, %xmm0 jnp .L11 .L7: ret .L11: jne .L7 jmp f()