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

--- Comment #12 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-08-11 
20:25:45 UTC ---
(In reply to comment #9)
> (In reply to comment #8)
> > #define SH_DYNAMIC_SHIFT_COST (TARGET_DYNSHIFT ? 1 : 20)
> 
> Sounds reasonable.  Perhaps some historical reason for the original
> one, though I don't know why.  Could you run SCiBE tests with it?

I've checked result-size for -m2a-single -mb -O2 ...
In total there's a decrease of 1728 bytes, with a few cases where there are
increases.  I've briefly checked out why code gets bigger in those cases.  As
far as I can see at the moment, one reason is because right shifts are
dynamicalized (converted to dynamic shift insns) although it's not really
beneficial.

I think I'll try to brush up the right shifts patterns first, then try again.

Reply via email to