From 52a9443f5316bd6484206ea81c4f4c7b7436ca50 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Tue, 18 Feb 2025 22:46:32 +0800 Subject: [RV64_DYNAREC] Fixed a regression introduced recently ([LA64_DYNAREC] too) (#2384) --- src/dynarec/la64/dynarec_la64_00.c | 4 ++-- src/dynarec/rv64/dynarec_rv64_00_3.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/dynarec/la64/dynarec_la64_00.c b/src/dynarec/la64/dynarec_la64_00.c index 95e9b805..6b8ddf30 100644 --- a/src/dynarec/la64/dynarec_la64_00.c +++ b/src/dynarec/la64/dynarec_la64_00.c @@ -2191,7 +2191,7 @@ uintptr_t dynarec64_00(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni SETFLAGS(X_ALL, SF_SET_PENDING, NAT_FLAGS_FUSION); // some flags are left undefined if (!dyn->insts[ninst].x64.gen_flags) { GETED(0); - SLL_D(ed, ed, xRCX); + SLLxw(ed, ed, xRCX); if (dyn->insts[ninst].nat_flags_fusion) { if (!rex.w) ZEROUP(ed); NAT_FLAGS_OPS(ed, xZR); @@ -2213,7 +2213,7 @@ uintptr_t dynarec64_00(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int ni SETFLAGS(X_ALL, SF_SET_PENDING, NAT_FLAGS_FUSION); // some flags are left undefined if (!dyn->insts[ninst].x64.gen_flags) { GETED(0); - SRL_D(ed, ed, xRCX); + SRLxw(ed, ed, xRCX); if (dyn->insts[ninst].nat_flags_fusion) { if (!rex.w) ZEROUP(ed); NAT_FLAGS_OPS(ed, xZR); diff --git a/src/dynarec/rv64/dynarec_rv64_00_3.c b/src/dynarec/rv64/dynarec_rv64_00_3.c index b5181488..c4ba2e1d 100644 --- a/src/dynarec/rv64/dynarec_rv64_00_3.c +++ b/src/dynarec/rv64/dynarec_rv64_00_3.c @@ -796,7 +796,7 @@ uintptr_t dynarec64_00_3(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int SETFLAGS(X_ALL, SF_SET_PENDING, NAT_FLAGS_FUSION); // some flags are left undefined if (!dyn->insts[ninst].x64.gen_flags) { GETED(0); - SLL(ed, ed, xRCX); + SLLxw(ed, ed, xRCX); if (dyn->insts[ninst].nat_flags_fusion) { if (!rex.w) ZEROUP(ed); NAT_FLAGS_OPS(ed, xZR); @@ -818,7 +818,7 @@ uintptr_t dynarec64_00_3(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int SETFLAGS(X_ALL, SF_SET_PENDING, NAT_FLAGS_FUSION); // some flags are left undefined if (!dyn->insts[ninst].x64.gen_flags) { GETED(0); - SRL(ed, ed, xRCX); + SRLxw(ed, ed, xRCX); if (dyn->insts[ninst].nat_flags_fusion) { if (!rex.w) ZEROUP(ed); NAT_FLAGS_OPS(ed, xZR); -- cgit 1.4.1