[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated"
From: |
Peter Maydell |
Subject: |
Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated" |
Date: |
Fri, 10 Sep 2021 10:30:31 +0100 |
On Fri, 10 Sept 2021 at 07:46, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> 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).
And what about gen_lookup_tb() ? As far as I can tell the semantics of
this are the same as setting is_jmp to DISAS_UPDATE_EXIT: the "set PC
to s->base.pc_next" happens immediately rather than being done later in
arm_tr_tb_stop(), but I don't think that should make a difference.
Or is there a case where it matters?
If gen_lookup_tb() and DISAS_UPDATE_EXIT are the same, maybe we
should get rid of gen_lookup_tb() entirely ?
-- PMM
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", (continued)
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/03
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Peter Maydell, 2021/09/03
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/03
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Peter Maydell, 2021/09/03
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/07
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/07
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Peter Maydell, 2021/09/10
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/12
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Peter Maydell, 2021/09/09
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/10
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated",
Peter Maydell <=
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Richard Henderson, 2021/09/10
- Re: [PATCH 1/4] target/arm: Add TB flag for "MVE insns not predicated", Peter Maydell, 2021/09/09
[PATCH 3/4] target/arm: Optimize MVE arithmetic ops, Peter Maydell, 2021/09/02
[PATCH 4/4] target/arm: Optimize MVE VNEG, VABS, Peter Maydell, 2021/09/02
[PATCH 2/4] target/arm: Optimize MVE logic ops, Peter Maydell, 2021/09/02