This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [Patch] SH wasn't able to handle far cond branches


> It happend that SH didn't have support for far cond branches. Our customer
> reproduced that on function 7000 lines long.

After machine_dependent_reorg, conditional branches should in general fit
into the -252..+254 range.  eager delay branch shortening is known to mess
things up, but no more than by a factor of two.  If you see anything outside
the +-4096 range, that is a problem that needs looking into.

> So here it comes the patch.
> 
> ======================================
> ChangeLog:
> 
> 2001-05-03  Igor Shevlyakov <igor@windriver.com>
> 	* sh.c: (output_branch): support for insn with lenght attr
> 	12 & 16 which represents cond branches outside +-4096 range.

You shouldn't do this, since it just papers over the problem.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]