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