[Bug tree-optimization/33291] a+=2; a+=2 not simplified to a+=4; with -O3 (ok with gcc-4.2.1)
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Sep 3 12:05:00 GMT 2007
------- Comment #3 from rguenth at gcc dot gnu dot org 2007-09-03 12:04 -------
That is, rtl level DSE removes the dead store:
_ZN3CPU7executeEv:
.LFB5:
pushq %rbx
.LCFI0:
movq %rdi, %rbx
leaq 8(%rdi), %rdi
call _ZN5Clock1fEv
.p2align 4,,10
.p2align 3
.L6:
movl 2064(%rbx), %eax
shrl $8, %eax
mov %eax, %eax
movq 16(%rbx,%rax,8), %rdx
testq %rdx, %rdx
je .L2
movzbl 2064(%rbx), %eax
addl $4, 8(%rbx)
movzbl (%rdx,%rax), %eax
.L3:
movzbl %al, %eax
addl $2, 8(%rbx)
salq $4, %rax
movq _ZN3CPU3tabE(%rax), %rdx
testb $1, %dl
jne .L4
movq %rbx, %rdi
addq _ZN3CPU3tabE+8(%rax), %rdi
call *%rdx
jmp .L6
.p2align 4,,10
.p2align 3
.L4:
movq %rbx, %rdi
addq _ZN3CPU3tabE+8(%rax), %rdi
movq (%rdi), %rax
movq -1(%rdx,%rax), %rdx
call *%rdx
jmp .L6
.L2:
movq %rbx, %rdi
call _ZN3CPU8readSlowEv
.p2align 4,,6
.p2align 3
jmp .L3
.LFE5:
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |TREE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33291
More information about the Gcc-bugs
mailing list