------- Comment #42 from paolo dot bonzini at lu dot unisi dot ch 2006-08-07 18:19 ------- Subject: Re: [4.0/4.1 Regression] gcc 4 produces worse x87 code on all platforms than gcc 3
> We should get some idea by comparing gcc3 vs. your > patched compiler on the various platforms, though other gcc3/4 changes will > cloud the picture somewhat . . . > That's why you should compare 4.2 before and after my patch, instead. > If this kind of machine difference in optimality holds true for x87 as well, I > assume a new peephole phase that looks for the scratch register could be > called > if the appropriate -march were thrown? > Or you can disable the fmul[sl] instructions altogether. > Speaking of -march issues, when I get a compiler build that gens your new > code, > I will pull the assembly trick to try it on the CoreDuo as well. If the new > code is worse, you can probably not call your present peephole if that -march > is thrown? > I'd find it very strange. It is more likely that the Core Duo has a more powerful scheduler (maybe the micro-op fusion thing?) that does not dislike fmul[sl]. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27827