On 9/3/21 4:17 PM, Peter Maydell wrote:
I don't really understand what you mean here. What's the difference
between ending the TB now and translating a few more insns in
this TB before we end it?
VCMP (pred now on or off)
B label
The code we emit for B uses goto_tb.
When goto_tb is unlinked (e.g. first execute), we exit with a code that causes the current
cpu state to be evaluated, the new TB created, and the link filled in. This makes
permanent the cpu state we evaluated, and thus the state change across goto_tb must be
constant. This is fine for B, since only the PC changes and to a known destination.
So we have two choices: end the TB immediately after the VCMP, or set another flag to
cause gen_goto_tb to fall back to goto_ptr.
But I sorta think that it's just easier to end after VCMP.
r~