Message ID | 20220702060228.420454-2-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | target/s390x: Exit tb after executing ex_value | expand |
On 02.07.22 08:02, Richard Henderson wrote: > There is nothing to distinguish this from DISAS_NORETURN. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/s390x/tcg/translate.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c > index fd2433d625..e38ae9ce09 100644 > --- a/target/s390x/tcg/translate.c > +++ b/target/s390x/tcg/translate.c > @@ -1123,9 +1123,6 @@ typedef struct { > exiting the TB. */ > #define DISAS_PC_UPDATED DISAS_TARGET_0 > > -/* We have emitted one or more goto_tb. No fixup required. */ > -#define DISAS_GOTO_TB DISAS_TARGET_1 > - > /* We have updated the PC and CC values. */ > #define DISAS_PC_CC_UPDATED DISAS_TARGET_2 > > @@ -1189,7 +1186,7 @@ static DisasJumpType help_goto_direct(DisasContext *s, uint64_t dest) > tcg_gen_goto_tb(0); > tcg_gen_movi_i64(psw_addr, dest); > tcg_gen_exit_tb(s->base.tb, 0); > - return DISAS_GOTO_TB; > + return DISAS_NORETURN; > } else { > tcg_gen_movi_i64(psw_addr, dest); > per_branch(s, false); > @@ -1258,7 +1255,7 @@ static DisasJumpType help_branch(DisasContext *s, DisasCompare *c, > tcg_gen_movi_i64(psw_addr, dest); > tcg_gen_exit_tb(s->base.tb, 1); > > - ret = DISAS_GOTO_TB; > + ret = DISAS_NORETURN; > } else { > /* Fallthru can use goto_tb, but taken branch cannot. */ > /* Store taken branch destination before the brcond. This > @@ -6634,7 +6631,6 @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) > DisasContext *dc = container_of(dcbase, DisasContext, base); > > switch (dc->base.is_jmp) { > - case DISAS_GOTO_TB: > case DISAS_NORETURN: > break; > case DISAS_TOO_MANY: Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c index fd2433d625..e38ae9ce09 100644 --- a/target/s390x/tcg/translate.c +++ b/target/s390x/tcg/translate.c @@ -1123,9 +1123,6 @@ typedef struct { exiting the TB. */ #define DISAS_PC_UPDATED DISAS_TARGET_0 -/* We have emitted one or more goto_tb. No fixup required. */ -#define DISAS_GOTO_TB DISAS_TARGET_1 - /* We have updated the PC and CC values. */ #define DISAS_PC_CC_UPDATED DISAS_TARGET_2 @@ -1189,7 +1186,7 @@ static DisasJumpType help_goto_direct(DisasContext *s, uint64_t dest) tcg_gen_goto_tb(0); tcg_gen_movi_i64(psw_addr, dest); tcg_gen_exit_tb(s->base.tb, 0); - return DISAS_GOTO_TB; + return DISAS_NORETURN; } else { tcg_gen_movi_i64(psw_addr, dest); per_branch(s, false); @@ -1258,7 +1255,7 @@ static DisasJumpType help_branch(DisasContext *s, DisasCompare *c, tcg_gen_movi_i64(psw_addr, dest); tcg_gen_exit_tb(s->base.tb, 1); - ret = DISAS_GOTO_TB; + ret = DISAS_NORETURN; } else { /* Fallthru can use goto_tb, but taken branch cannot. */ /* Store taken branch destination before the brcond. This @@ -6634,7 +6631,6 @@ static void s390x_tr_tb_stop(DisasContextBase *dcbase, CPUState *cs) DisasContext *dc = container_of(dcbase, DisasContext, base); switch (dc->base.is_jmp) { - case DISAS_GOTO_TB: case DISAS_NORETURN: break; case DISAS_TOO_MANY:
There is nothing to distinguish this from DISAS_NORETURN. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/s390x/tcg/translate.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-)