Handling of -fpic in ASM_OUTPUT_MI_THUNK in sparc

Richard Henderson rth@cygnus.com
Thu Nov 20 20:55:00 GMT 1997


On Thu, Nov 20, 1997 at 07:55:29PM -0500, John Carr wrote:
> On SPARC processors other than UltraSPARC call is at least as fast as
> jmpl.

True, but the issue in the case of the thunk is not jmpl vs call
per se, but eliminating the two runtime relocations needed when
the sethi+jmpl references a symbol in a shared library.

> On UltraSPARC using a call without a matching return confuses
> the return prediction stack.  It takes an extra 2-4 cycles to fetch
> the correct set of instructions.  (For this reason, I think the recent
> change to use call instead of rd %pc for V9 PIC was wrong even though
> rd takes longer to execute.)

But rd %pc not only has 5 ticks latency, it inserts 4 bubbles as
well, so nothing else gets done.  I'll leave it to the experts,
but trading off 2-4 cycles of branch mispredict is a close thing.


r~



More information about the Gcc mailing list