From 8b5b5aa3a7690746688496d9cbbeae729290f2b2 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Tue, 18 Feb 2025 00:38:11 +0800 Subject: [INTERP] Added more nops ([DYNAREC] too) (#2378) --- src/dynarec/arm64/dynarec_arm64_660f.c | 1 + src/dynarec/la64/dynarec_la64_660f.c | 1 + src/dynarec/rv64/dynarec_rv64_660f.c | 1 + src/dynarec/rv64/dynarec_rv64_660f_vector.c | 1 + src/emu/x64run660f.c | 1 + 5 files changed, 5 insertions(+) (limited to 'src') diff --git a/src/dynarec/arm64/dynarec_arm64_660f.c b/src/dynarec/arm64/dynarec_arm64_660f.c index d43a2be8..3c673a36 100644 --- a/src/dynarec/arm64/dynarec_arm64_660f.c +++ b/src/dynarec/arm64/dynarec_arm64_660f.c @@ -168,6 +168,7 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n SMWRITE2(); break; + case 0x18: case 0x19: case 0x1F: INST_NAME("NOP (multibyte)"); diff --git a/src/dynarec/la64/dynarec_la64_660f.c b/src/dynarec/la64/dynarec_la64_660f.c index abe0a4fb..4eee7a02 100644 --- a/src/dynarec/la64/dynarec_la64_660f.c +++ b/src/dynarec/la64/dynarec_la64_660f.c @@ -172,6 +172,7 @@ uintptr_t dynarec64_660F(dynarec_la64_t* dyn, uintptr_t addr, uintptr_t ip, int VSTELM_D(v0, ed, 0, 1); SMWRITE2(); break; + case 0x18: case 0x19: case 0x1F: INST_NAME("NOP (multibyte)"); diff --git a/src/dynarec/rv64/dynarec_rv64_660f.c b/src/dynarec/rv64/dynarec_rv64_660f.c index 14aca05f..bcc59c8a 100644 --- a/src/dynarec/rv64/dynarec_rv64_660f.c +++ b/src/dynarec/rv64/dynarec_rv64_660f.c @@ -146,6 +146,7 @@ uintptr_t dynarec64_660F(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t ip, int LD(x3, gback, gdoffset + 8); SD(x3, wback, fixedaddress); break; + case 0x18: case 0x19: case 0x1F: INST_NAME("NOP (multibyte)"); diff --git a/src/dynarec/rv64/dynarec_rv64_660f_vector.c b/src/dynarec/rv64/dynarec_rv64_660f_vector.c index 038f6f3f..a339ccf2 100644 --- a/src/dynarec/rv64/dynarec_rv64_660f_vector.c +++ b/src/dynarec/rv64/dynarec_rv64_660f_vector.c @@ -190,6 +190,7 @@ uintptr_t dynarec64_660F_vector(dynarec_rv64_t* dyn, uintptr_t addr, uintptr_t i SD(x5, ed, fixedaddress); SMWRITE2(); break; + case 0x18: case 0x19: case 0x1F: return 0; diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 7d4a36a0..44d63bdb 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -174,6 +174,7 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) ED->q[0] = GX->q[1]; break; + case 0x18: case 0x19: case 0x1F: /* NOP (multi-byte) */ nextop = F8; -- cgit 1.4.1