------- Comment #4 from bonzini at gnu dot org 2006-01-05 16:59 ------- Combine does not try to combine across a call. But it does not invalidate equivalences and, in this case, it tries to replace v (the result of a function call) with the return value register... even though in the meanwhile a different function call has clobbered it.
H-P can you please run an assembly language comparison on this patch, to check that it does not pessimize anything? I think the bug is latent in other branches as well. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25677