https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116896
--- Comment #18 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Uroš Bizjak from comment #17)
> e.g.:
>
> float case:
> xorl %eax,%eax
> comiss %xmm1, %xmm0
> jp .L2
> seta %al
> sbbl $0, %eax
> ret
> .L2:
> movl $2, %eax
> ret
>
> This is *really* good sequence!
And if we don't want to burden non-jp path (but IIRC, XORLs are "free"):
float case:
comiss %xmm1, %xmm0
jp .L2
mov $0, %eax
seta %al
sbbl $0, %eax
ret
.L2:
movl $2, %eax
ret