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

--- Comment #2 from Avi Kivity <avi at scylladb dot com> ---
I expect something like this:


f(int*, int*):
        cmp     rdi, rsi
        je      .L10
.L4:
        cmp     DWORD PTR [rsi], 0
        jne     .L14
.L3
        add     rsi, 4
        cmp     rsi, rdi
        jne     .L4
.L10
        ret

.section .text.cold

.L14:
        push    rsi
        push    rdi
        mov     rax, DWORD PTR [rsi]
        call    g(int)
        pop     rdi
        pop     rsi
        mov     DWORD PTR [rsi], eax
        jmp     .L3

Reply via email to