From 1ee4d5aaf45ad9ecc590fcf7d6841f0089c12e75 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sun, 30 Jun 2024 15:50:16 +0200 Subject: [ARM64_DYNAREC] Added 64/65 70-7F/EB opcodes --- src/dynarec/arm64/dynarec_arm64_64.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/dynarec/arm64/dynarec_arm64_64.c b/src/dynarec/arm64/dynarec_arm64_64.c index 8fb4cc56..046c08d3 100644 --- a/src/dynarec/arm64/dynarec_arm64_64.c +++ b/src/dynarec/arm64/dynarec_arm64_64.c @@ -428,6 +428,24 @@ uintptr_t dynarec64_64(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin } break; + case 0x70: + case 0x71: + case 0x72: + case 0x73: + case 0x74: + case 0x75: + case 0x76: + case 0x77: + case 0x78: + case 0x79: + case 0x7A: + case 0x7B: + case 0x7C: + case 0x7D: + case 0x7E: + case 0x7F: + // just use regular conditional jump + return dynarec64_00(dyn, addr-1, ip, ninst, rex, rep, ok, need_epilog); case 0x80: nextop = F8; switch((nextop>>3)&7) { @@ -969,6 +987,10 @@ uintptr_t dynarec64_64(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin } break; + case 0xEB: + // just use regular inconditional jump + return dynarec64_00(dyn, addr-1, ip, ninst, rex, rep, ok, need_epilog); + case 0xF7: nextop = F8; grab_segdata(dyn, addr, ninst, x6, seg); -- cgit 1.4.1