[Bug target/39423] [4.6/4.7/4.8 Regression] [SH] performance regression: lost mov @(disp,Rn)

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 6 22:04:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39423

--- Comment #15 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-07-06 22:04:15 UTC ---
Created attachment 27754
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27754
combine pass based patch

A possible combine pass based solution for the problem.
It fixes the case mentioned in the original description.

I've also briefly checked some CSiBE code size results with this
patch applied to rev 189338 for '-m4-single -ml -O2 -mpretend-cmove'.
It hits only a few spots, but if those are buried inside loops, it might
be a win.

I'm not sure what's the best thing to do if the mov.l displacement
goes out of range...

Chris, I know it's been a while but any old memories? :)



More information about the Gcc-bugs mailing list