about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorYang Liu <liuyang22@iscas.ac.cn>2025-02-18 00:38:11 +0800
committerGitHub <noreply@github.com>2025-02-17 17:38:11 +0100
commit8b5b5aa3a7690746688496d9cbbeae729290f2b2 (patch)
tree31269bb73804e9ff9831cfa73b376535af13f678 /src
parentf85b9ac664fedafe2fba8d40a01456bf197b5228 (diff)
downloadbox64-8b5b5aa3a7690746688496d9cbbeae729290f2b2.tar.gz
box64-8b5b5aa3a7690746688496d9cbbeae729290f2b2.zip
[INTERP] Added more nops ([DYNAREC] too) (#2378)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_660f.c1
-rw-r--r--src/dynarec/la64/dynarec_la64_660f.c1
-rw-r--r--src/dynarec/rv64/dynarec_rv64_660f.c1
-rw-r--r--src/dynarec/rv64/dynarec_rv64_660f_vector.c1
-rw-r--r--src/emu/x64run660f.c1
5 files changed, 5 insertions, 0 deletions
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;