On 10/30/2013 12:07 PM, Sebastian Macke wrote:
>>>       case JUMP_BRANCH:
>>>           {
>>>               int l1 = gen_new_label();
>>> -            tcg_gen_brcondi_tl(TCG_COND_NE, dc->btaken, 0, l1);
>>> +            tcg_gen_brcondi_tl(TCG_COND_NE, jmp_pc, 0, l1);
>>>               gen_goto_tb(dc, 1, dc->pc);
>>>               gen_set_label(l1);
>>> -            tcg_temp_free(dc->btaken);
>>>               gen_goto_tb(dc, 0, dc->j_target);
>>>               break;
>> ... here.
> 
> But j_target is not known when the delayed slot is translated separately. 
> (E.g.
> if the delayed slot is at a page boundary.)

Hmm.  This was just guesswork on my part since I don't have a tree
with your previous patch set applied; j_target of course doesn't
exist in master.

Do you have a publicly accessible tree with all your patches applied?
I'd like to re-read the logic in the proper context.


r~

Reply via email to