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]
Other format: [Raw text]

Re: [committed] PA long branch support


On Sun, 2006-04-09 at 13:40 -0400, John David Anglin wrote:
> The enclosed patch adds long-branch support to all the PA conditional
> branch patterns.  Conditional branch distances can now be larger than
> that available using the 17-bit pc-relative 'b' instruction.
> 
> The patch has been tested on hppa-unknown-linux-gnu with no regressions
> and testcase for PR 26743.  However, the patch is hard to test as a GCC
> build doesn't trigger the use of long branches.  Thus, I've probably
> made a few mistakes ;)
> 
> Thanks to Randolph Chung who provided some code for the output_movb
> case and a testcase.  This showed that I'd somewhat botched the handling
> of nullification in my previous attempt at fixing output_cbranch.
> 
> Once the technique of handling long branches was worked out, the rest
> of the changes were more or less mechanical.
> 
> Committed to trunk.
One of the ways I used to test this this kind of stuff was to 
drastically reduce the maximum displacement for the short branches.

ie, for a simple conditional I might claim the maximum displacement
was +- 8 bytes to force it to use a longer version. 

You could probably do something similar to stress test this.

jeff



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