https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88402
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I don't think you can use it in that case, you get it with: unsigned long bar (unsigned int a, unsigned int b) { return a < b ? -1ul : 0; } which does something different: cmpl %esi, %edi sbbq %rax, %rax ret at -O2 as well as -O.