about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-05-27 09:11:50 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-05-27 09:11:50 +0200
commitec3c3b7eed1fee14ef6a9c938edacfa8ac97b221 (patch)
tree93a7e1b966c20feae8b07f6a9443c45aa95e04bb /src
parentc67632722b6e3c586681989bafa11a35cdaa7817 (diff)
downloadbox64-ec3c3b7eed1fee14ef6a9c938edacfa8ac97b221.tar.gz
box64-ec3c3b7eed1fee14ef6a9c938edacfa8ac97b221.zip
[INTERPRETER] Added avx (66 0F) 6F ocpode
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64runavx660f.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/emu/x64runavx660f.c b/src/emu/x64runavx660f.c
index f325d55e..ac70b520 100644
--- a/src/emu/x64runavx660f.c
+++ b/src/emu/x64runavx660f.c
@@ -140,6 +140,22 @@ uintptr_t RunAVX_660F(x64emu_t *emu, vex_t vex, uintptr_t addr, int *step)
                 GY->q[0] = GY->q[1] = 0;
             break;
 
+        case 0x6F:  // VMOVDQA
+            nextop = F8;
+            GETEX(0);
+            GETGX;
+            GX->q[0] = EX->q[0];
+            GX->q[1] = EX->q[1];
+            if(vex.l) {
+                GETGY;
+                GETEY;
+                if(MODREG) {
+                    GY->q[0] = EY->q[0];
+                    GY->q[1] = EY->q[1];
+                } else
+                    GY->q[0] = GY->q[1] = 0;
+            }
+            break;
         case 0x70:  /* VPSHUFD Gx,Ex,Ib */
             nextop = F8;
             GETEX(1);