|
From: | Richard Henderson |
Subject: | Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated" |
Date: | Fri, 10 Sep 2021 08:46:39 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 |
On 9/9/21 3:46 PM, Peter Maydell wrote:
On Fri, 3 Sept 2021 at 14:58, Richard Henderson <richard.henderson@linaro.org> wrote:I think you need to go ahead and end the TB and resync immediately. Just set dc->base.is_jmp = DISAS_UPDATE_NOCHAIN instead.Is there a rule for when we should set is_jmp to DISAS_UPDATE_NOCHAIN, when we should set it to DISAS_UPDATE_EXIT, and when we should call gen_lookup_tb() ? We seem to use all three methods at various points for "I changed some CPU state and want to end the TB"...
UPDATE_EXIT is for when you need to return to the main loop; UPDATE_NOCHAIN merely avoids goto_tb. Direct use of gen_goto_ptr should be reserved for branches (which I think is already the case).
r~
[Prev in Thread] | Current Thread | [Next in Thread] |