On 4/20/10, Artyom Tarasenko <atar4q...@googlemail.com> wrote:
> /* XXX: potentially incorrect if dynamic npc */
>  static void do_branch
>
>  There are few comments like this in target-sparc/translate.c .
>  In what case is it incorrect?
>
>  Can do_branch functions be called with dynamic npc?

Maybe, if there are two branches or jumps in a row. The last time I
checked, at least for successive branches we do the correct thing.
It's pretty obscure, no compiler will generate such sequences and
nobody with asm skills either.

Another corner case that IIRC we don't handle is where a jump
instruction is at the end of the page and its delay slot instruction
is at next page. I think one commit for Microblaze added support for
this case.


Reply via email to