This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/36539] [4.4 regression] IRA doesn't allocate asm output being returned to eax
- From: "astrange at ithinksw dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Sep 2008 04:02:51 -0000
- Subject: [Bug target/36539] [4.4 regression] IRA doesn't allocate asm output being returned to eax
- References: <bug-36539-10175@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from astrange at ithinksw dot com 2008-09-04 04:02 -------
It is fixed for me on x86-64. For i386 it's still suboptimal:
_get_cabac:
subl $28, %esp
movl %esi, 16(%esp)
movl %edi, 20(%esp)
movl %ebx, 12(%esp)
movl %ebp, 24(%esp)
movl 32(%esp), %esi
movl 36(%esp), %edi
movl (%esi), %eax
movl 4(%esi), %ebx
# 16 "../cabac-ret.i" 1
#%ebp %ebx %ax 16(%esi) %edi
# 0 "" 2
movl %eax, (%esi)
movl %ebx, 4(%esi)
movl %ebp, %eax
movl 12(%esp), %ebx
andl $1, %eax
movl 16(%esp), %esi
movl 20(%esp), %edi
movl 24(%esp), %ebp
addl $28, %esp
ret
but not a regression (code is worse without IRA).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36539