https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85669

--- Comment #57 from Segher Boessenkool <segher at gcc dot gnu.org> ---
The blrl thing ("skip a return") doesn't kill the return stack; all CPUs
with a return stack can recover it here afaik.  Recovery of course takes
a little time still.  Newer CPUs predict BL+4 as not-taken (but finish it
as if the prediction was correct); older CPUs do not create a link stack
entry if BI=31.  So we emit "bcl 20,31,$+4" for this, which works optimally
in all cases.

Reply via email to