http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47216

--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> 2011-01-07 21:50:30 
UTC ---
At the assembly level:

func_1:
    mov    rax, QWORD PTR g...@gotpcrel[rip]
    mov    rdx, QWORD PTR l_5_...@gotpcrel[rip]
    mov    ecx, DWORD PTR [rdx] # ecx = 4
    lea    edx, 7[rcx]          # edx = 4+7 = 11
    mov    DWORD PTR [rax], edx # g_3[0][0] = edx = 11
    cmp    edx, 7
    jg    .L4 # jump taken
.L3:
    mov    DWORD PTR [rax], edx
    jmp    .L3
.L4:
    # this instruction overwrites previously stored 11 by 4
    mov    DWORD PTR [rax], ecx # g_3[0][0] = ecx = 4
    ret

Reply via email to