Mike Stump <mikest...@comcast.net> writes: > On Feb 6, 2015, at 4:23 AM, Maciej W. Rozycki <ma...@linux-mips.org> > wrote: > > This consideration made me realise I've had a patch outstanding for > > some > > 10 years to convert all the `BAL x' instructions there to `BLTZAL $0, > x'. > > This has always been a good idea in case implementations recognised > > the special case and avoided involving branch prediction, and I > > believe it has become even more apparent with r6 calling it NAL. > > Ick, no.
What part of this are you referring to? NAL (bizarre name or not) is the least intrusive way to obtain the PC on MIPS <= R5. The use of BAL for this, albeit common, has a high risk of affecting hardware optimisations like return predictors by introducing a call that will never return. This is a change that I am also planning to propagate to as many projects as possible. If you can see a problem with using BLTZAL for this purpose please could you explain as it may have been overlooked? Thanks, Matthew