https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92168
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- [hjl@gnu-cfl-1 gcc]$ cat c.c #include <x86intrin.h> unsigned char foo (unsigned long long HxL0, unsigned long long LxH0, unsigned long long HxL1, unsigned long long LxH1) { unsigned char carry; carry = _addcarry_u64(0, HxL0, LxH0, &HxL0); carry = _addcarry_u64(carry, HxL1, LxH1, &HxL1); return carry; } [hjl@gnu-cfl-1 gcc]$ gcc -S -O2 c.c [hjl@gnu-cfl-1 gcc]$ cat c.s .file "c.c" .text .p2align 4 .globl foo .type foo, @function foo: .LFB5519: .cfi_startproc addq %rsi, %rdi setc %al addb $-1, %al adcq %rdx, %rcx setc %al ret .cfi_endproc .LFE5519: .size foo, .-foo .ident "GCC: (GNU) 9.2.1 20190827 (Red Hat 9.2.1-1)" .section .note.GNU-stack,"",@progbits [hjl@gnu-cfl-1 gcc]$ clang -S -O2 c.c [hjl@gnu-cfl-1 gcc]$ cat c.s .text .file "c.c" .globl foo # -- Begin function foo .p2align 4, 0x90 .type foo,@function foo: # @foo .cfi_startproc # %bb.0: addq %rsi, %rdi adcq %rcx, %rdx setb %al retq .Lfunc_end0: .size foo, .Lfunc_end0-foo .cfi_endproc # -- End function .ident "clang version 8.0.0 (Fedora 8.0.0-1.fc30)" .section ".note.GNU-stack","",@progbits .addrsig [hjl@gnu-cfl-1 gcc]$