https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92953
--- Comment #4 from Alexander Monakov <amonakov at gcc dot gnu.org> --- At least then GCC should try to use cmovno instead of seto-test-cmove for if-conversion: foo: movl %edi, %eax subl %esi, %eax notl %eax orl $1, %eax subl %esi, %edi cmovno %edi, %eax ret