From d35217d39d66db328dae513ca7257d47b5d2c32d Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Thu, 1 Apr 2021 16:11:53 +0200 Subject: [DYNAREC] Small Fix for 67 8D opcode --- src/dynarec/dynarec_arm64_helper.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynarec/dynarec_arm64_helper.c b/src/dynarec/dynarec_arm64_helper.c index 7b0cdc90..20512247 100755 --- a/src/dynarec/dynarec_arm64_helper.c +++ b/src/dynarec/dynarec_arm64_helper.c @@ -182,6 +182,9 @@ uintptr_t geted32(dynarec_arm_t* dyn, uintptr_t addr, int ninst, uint8_t nextop, ADDw_REG(ret, ret, xRIP); } else { ret = xRAX+(nextop&7)+(rex.b<<3); + if(ret==hint) { + MOVw_REG(hint, ret); //to clear upper part + } } } else { int64_t i64; @@ -203,8 +206,9 @@ uintptr_t geted32(dynarec_arm_t* dyn, uintptr_t addr, int ninst, uint8_t nextop, } else { ret = xRAX+(sib&0x07)+(rex.b<<3); } - } else + } else { ret = xRAX+(nextop&0x07)+(rex.b<<3); + } } else { int64_t sub = (i64<0)?1:0; if(sub) i64 = -i64; -- cgit 1.4.1