https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55952
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
Latest trunk gcc generates:
flds 4(%esp)
fldz
fucomip %st(1), %st
fstp %st(0)
fld1
fchs
fld1
fcmovnbe %st(1), %st
fstp %st(1)
ret