------- Comment #9 from ian at airs dot com 2006-02-07 08:23 ------- I now have a reasonably simple reload patch which eliminates the unnecessary move. For the test case in comment #4, I get this code with -O2 -momit-leaf-frame-pointer:
foo: movl 12(%esp), %eax movl 16(%esp), %edx addl 4(%esp), %eax adcl 8(%esp), %edx orl %eax, %edx jne .L7 rep ; ret .p2align 4,,7 .L7: jmp gh -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15792