[Bug rtl-optimization/44249] [4.6/4.7 Regression] IRA generates extra register move
steven at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Oct 9 21:01:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44249
Steven Bosscher <steven at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.6/4.7/4.8 Regression] |[4.6/4.7 Regression] IRA
|IRA generates extra |generates extra register
|register move |move
--- Comment #5 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-09 21:01:08 UTC ---
No extra move with trunk today:
$ cat t.c
extern unsigned long table[];
unsigned long foo(unsigned char *p) {
unsigned long tag = *p;
return table[tag >> 4] + table[tag & 0xf];
}
$ cat t.s
.file "t.c"
.text
.p2align 4,,15
.globl foo
.type foo, @function
foo:
.LFB0:
.cfi_startproc
movzbl (%rdi), %edx
movq %rdx, %rax
shrq $4, %rdx
andl $15, %eax
movq table(,%rax,8), %rax
addq table(,%rdx,8), %rax
ret
.cfi_endproc
.LFE0:
.size foo, .-foo
.ident "GCC: (GNU) 4.8.0 20121008 (experimental) \
[trunk revision 192219]"
.section .note.GNU-stack,"",@progbits
More information about the Gcc-bugs
mailing list