From 05c7596acb15fefe1b5010ddd07cc154aa8a0b78 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Fri, 12 Apr 2024 00:55:35 +0800 Subject: [LA64_DYNAREC] Small fix on emit_or32c LBT path (#1436) --- src/dynarec/la64/dynarec_la64_emit_logic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynarec/la64/dynarec_la64_emit_logic.c b/src/dynarec/la64/dynarec_la64_emit_logic.c index b8f3e8be..d3affee6 100644 --- a/src/dynarec/la64/dynarec_la64_emit_logic.c +++ b/src/dynarec/la64/dynarec_la64_emit_logic.c @@ -412,7 +412,10 @@ void emit_or32c(dynarec_la64_t* dyn, int ninst, rex_t rex, int s1, int64_t c, in SDxw(s1, xEmu, offsetof(x64emu_t, res)); } - if (la64_lbt) return; + if (la64_lbt) { + if (!rex.w) ZEROUP(s1); + return; + } CLEAR_FLAGS(s3); // test sign bit before zeroup. -- cgit 1.4.1