If your code does the comparison and adds the result of the comparison to something, then adc usually emitted by gcc 5 (by the way, gcc 4.8 does not highlight adc ). For instance,
unsigned foo(unsigned a, unsigned b, unsigned c, unsigned d) { return (a + b + (c < d)); }
going to
foo: cmpl %ecx, %edx movl %edi, %eax adcl %esi, %eax ret
However, it is a bit difficult to get gcc to really emit adc .
source share