https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81914
--- Comment #10 from Marc Glisse <glisse at gcc dot gnu.org> --- For the particular case of <=> (-1, 0 or 1), I've seen code like (a>b)-(a<b), which is branchless (IIRC we don't generate optimal code for this either, we could use sbb or adc).