about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-02-09 21:24:12 +0800
committerGitHub <noreply@github.com>2025-02-09 14:24:12 +0100
commit751582df057cb4b2453c4ec4f81e25e34aee200e (patch)
tree383383c55a4f6a0e68f042cb13f4bee3e9ddc97e /src
parent5212de0d6677a50a53333fdb54bb9de460d11f10 (diff)
downloadbox64-751582df057cb4b2453c4ec4f81e25e34aee200e.tar.gz
box64-751582df057cb4b2453c4ec4f81e25e34aee200e.zip
[LA64_DYNAREC] Fixed newly added 66 0F BA /4 BT opcode (#2336)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/la64/dynarec_la64_660f.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dynarec/la64/dynarec_la64_660f.c b/src/dynarec/la64/dynarec_la64_660f.c
index 861de379..0094e20c 100644
--- a/src/dynarec/la64/dynarec_la64_660f.c
+++ b/src/dynarec/la64/dynarec_la64_660f.c
@@ -1464,7 +1464,11 @@ uintptr_t dynarec64_660F(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int
                     u8 &= rex.w ? 0x3f : 15;
                     IFX (X_CF) {
                         BSTRPICK_D(x3, ed, u8, u8);
-                        BSTRINS_D(xFlags, x3, 0, 0);
+                        if (la64_lbt) {
+                            X64_SET_EFLAGS(x3, X_CF);
+                        } else {
+                            BSTRINS_D(xFlags, x3, F_CF, F_CF);
+                        }
                     }
                     break;
                 default: