[Bug rtl-optimization/35404] ra-conflict does not handle subregs optimally
steven at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Mar 10 21:49:00 GMT 2008
------- Comment #3 from steven at gcc dot gnu dot org 2008-03-10 21:48 -------
IRA does not handle this either with -fno-split-wide-types. Left is IRA as-is
with -O2 -fomit-frame-pointer. Right is same options + -fno-split-wide-types.
.file "t.c" .file "t.c"
.text .text
.p2align 4,,15 .p2align 4,,15
.globl _foo .globl _foo
.def _foo; .scl 2; .def _foo; .scl 2;
_foo: _foo:
subl $12, %esp subl $12, %esp
movl %ebx, 4(%esp) | movl %ebx, (%esp)
movl %esi, 8(%esp) | movl %esi, 4(%esp)
> movl %edi, 8(%esp)
> call _bar
> movl %eax, %esi
> movl %edx, %edi
call _bar call _bar
movl %eax, %ebx movl %eax, %ebx
> orl %esi, %ebx
movl %edx, %esi movl %edx, %esi
call _bar | orl %edi, %esi
orl %ebx, %eax | movl %ebx, %eax
orl %esi, %edx | movl 8(%esp), %edi
movl 4(%esp), %ebx | movl %esi, %edx
movl 8(%esp), %esi | movl (%esp), %ebx
> movl 4(%esp), %esi
addl $12, %esp addl $12, %esp
ret ret
.def _bar; .scl 2; .def _bar; .scl 2;
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-03-10 21:48:33
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35404
More information about the Gcc-bugs
mailing list