This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/35404] ra-conflict does not handle subregs optimally
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Mar 2008 21:48:33 -0000
- Subject: [Bug rtl-optimization/35404] ra-conflict does not handle subregs optimally
- References: <bug-35404-1313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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