1
0
mirror of https://gitlab.com/qemu-project/qemu synced 2024-07-03 08:19:15 +00:00

target/s390x: Adjust check of noreturn in translate_one

If help_op is not set, ret == DISAS_NEXT.
Shift the test up from surrounding help_wout, help_cout
to skipping to out, as we do elsewhere in the function.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240502054417.234340-14-richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Richard Henderson 2024-05-01 22:44:16 -07:00 committed by Thomas Huth
parent a47d08ee0d
commit be0fcbc462

View File

@ -6341,14 +6341,15 @@ static DisasJumpType translate_one(CPUS390XState *env, DisasContext *s)
}
if (insn->help_op) {
ret = insn->help_op(s, &o);
if (ret == DISAS_NORETURN) {
goto out;
}
}
if (ret != DISAS_NORETURN) {
if (insn->help_wout) {
insn->help_wout(s, &o);
}
if (insn->help_cout) {
insn->help_cout(s, &o);
}
if (insn->help_wout) {
insn->help_wout(s, &o);
}
if (insn->help_cout) {
insn->help_cout(s, &o);
}
/* io should be the last instruction in tb when icount is enabled */