https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82580
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #6) > i.e. for the flags we first clear %eax and then setX %al, but for f2 > cmpq %rdi, %rdx > sbbq %rsi, %rcx > setb %al > movzbl %al, %eax > Seems this is done in > ;; Convert setcc + movzbl to xor + setcc if operands don't overlap. > peephole2s, do we need a peephole for this as well, or some more general > peephole2 or other means of optimizing this? No, this would break carry flag propagation from cmp to sbb.