https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81739
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-02-02 CC| |msebor at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed. Clang 5.0 emits semi-optimal code. For x86_64: cmp1(unsigned long long, unsigned long long): # @cmp1(unsigned long long, unsigned long long) mov qword ptr [rsp - 8], rdi mov qword ptr [rsp - 16], rsi bswap rdi bswap rsi xor ecx, ecx cmp rdi, rsi mov edx, -1 mov eax, 1 cmovb eax, edx cmove eax, ecx ret