From: Richard Henderson Date: Sun, 17 Sep 2023 05:25:30 +0000 (-0700) Subject: target/hppa: Decode ADDB double-word X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=f25d316098dd52ac74adf9416713cfe68c72f66e;p=qmiga%2Fqemu.git target/hppa: Decode ADDB double-word Signed-off-by: Richard Henderson --- diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 7f767fea64..1b4fa401ba 100644 --- a/target/hppa/translate.c +++ b/target/hppa/translate.c @@ -3143,6 +3143,17 @@ static bool do_addb(DisasContext *ctx, unsigned r, TCGv_reg in1, DisasCond cond; bool d = false; + /* + * For hppa64, the ADDB conditions change with PSW.W, + * dropping ZNV, SV, OD in favor of double-word EQ, LT, LE. + */ + if (ctx->tb_flags & PSW_W) { + d = c >= 5; + if (d) { + c &= 3; + } + } + in2 = load_gpr(ctx, r); dest = tcg_temp_new(); sv = NULL;