https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79185

--- Comment #17 from Raphael C <drraph at gmail dot com> ---
Tested in gcc 11.1 with -O2

ai(__int128, __int128):
        mov     r9, rdi
        mov     rax, rdx
        mov     r8, rsi
        mov     rdx, rcx
        add     rax, r9
        adc     rdx, r8
        ret


This looks like two more mov's than needed but I may be wrong.

By contrast clang gives

ai(__int128, __int128):                              
        mov     rax, rdi
        add     rax, rdx
        adc     rsi, rcx
        mov     rdx, rsi
        ret

Reply via email to