about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2024-12-23 18:32:35 +0800
committerGitHub <noreply@github.com>2024-12-23 11:32:35 +0100
commit946da430388786a8237e2e7d17c7c2535246963f (patch)
tree6a7d20e47af8797c4a5a93dea6b26b6cc6191f4f /src
parentcad9450e16a0c145d49a66b275b091db4e8d1308 (diff)
downloadbox64-946da430388786a8237e2e7d17c7c2535246963f.tar.gz
box64-946da430388786a8237e2e7d17c7c2535246963f.zip
[LA64_DYNAREC] Fixed some LBT path issues (#2193)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_emit_math.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dynarec/la64/dynarec_la64_emit_math.c b/src/dynarec/la64/dynarec_la64_emit_math.c
index 56c38b8d..bcee5e81 100644
--- a/src/dynarec/la64/dynarec_la64_emit_math.c
+++ b/src/dynarec/la64/dynarec_la64_emit_math.c
@@ -853,7 +853,7 @@ void emit_sbb32(dynarec_la64_t* dyn, int ninst, rex_t rex, int s1, int s2, int s
                 X64_SBC_W(s1, s2);
         }
         MVxw(s1, s3);
-
+        if (!rex.w) ZEROUP(s1);
         IFX (X_PEND)
             SDxw(s1, xEmu, offsetof(x64emu_t, res));
         return;
@@ -1212,6 +1212,7 @@ void emit_adc32(dynarec_la64_t* dyn, int ninst, rex_t rex, int s1, int s2, int s
                 X64_ADC_W(s1, s2);
         }
         MV(s1, s3);
+        if (!rex.w) ZEROUP(s1);
         IFX (X_PEND) {
             SDxw(s1, xEmu, offsetof(x64emu_t, res));
         }