about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2022-05-30 21:42:17 +0200
committerptitSeb <sebastien.chev@gmail.com>2022-05-30 21:42:17 +0200
commit11aca3f0aaefc3ad5a8be10a7c818a3a85776009 (patch)
tree3c92f36898c2c243ea1f6ccd54ac7a11b6a4b4cf /src
parentc312ca45bd3aceab3b352cb95004e6bd1d367f50 (diff)
downloadbox64-11aca3f0aaefc3ad5a8be10a7c818a3a85776009.tar.gz
box64-11aca3f0aaefc3ad5a8be10a7c818a3a85776009.zip
Better version of F2/F3 0F 1E opcode
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64runf20f.c5
-rw-r--r--src/emu/x64runf30f.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/src/emu/x64runf20f.c b/src/emu/x64runf20f.c
index aebf434d..1225e07d 100644
--- a/src/emu/x64runf20f.c
+++ b/src/emu/x64runf20f.c
@@ -63,6 +63,11 @@ int RunF20F(x64emu_t *emu, rex_t rex)
         GX->q[1] = GX->q[0] = EX->q[0];

         break;

 

+    case 0x1E:  /* NOP */

+        nextop = F8;

+        GETED(0);

+        break;

+

     case 0x2A:  /* CVTSI2SD Gx, Ed */

         nextop = F8;

         GETED(0);

diff --git a/src/emu/x64runf30f.c b/src/emu/x64runf30f.c
index 7cc7add5..0d9dbba7 100644
--- a/src/emu/x64runf30f.c
+++ b/src/emu/x64runf30f.c
@@ -70,6 +70,11 @@ int RunF30F(x64emu_t *emu, rex_t rex)
         GX->ud[3] = GX->ud[2] = EX->ud[3];

         break;

 

+    case 0x1E:  /* ENDBR64 */

+        nextop = F8;

+        GETED(0);

+        break;

+

     case 0x2A:  /* CVTSI2SS Gx, Ed */

         nextop = F8;

         GETED(0);

@@ -345,11 +350,6 @@ int RunF30F(x64emu_t *emu, rex_t rex)
         GX->d[0] = EX->sd[0];

         break;

 

-    case 0x1E:  /* NOP (multi-byte), endbr64 */

-		nextop = F8;

-		GETED(0);

-        break;            

-            

     default:

         return 1;

     }