------- 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