diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-05-27 09:11:50 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-05-27 09:11:50 +0200 |
| commit | ec3c3b7eed1fee14ef6a9c938edacfa8ac97b221 (patch) | |
| tree | 93a7e1b966c20feae8b07f6a9443c45aa95e04bb /src | |
| parent | c67632722b6e3c586681989bafa11a35cdaa7817 (diff) | |
| download | box64-ec3c3b7eed1fee14ef6a9c938edacfa8ac97b221.tar.gz box64-ec3c3b7eed1fee14ef6a9c938edacfa8ac97b221.zip | |
[INTERPRETER] Added avx (66 0F) 6F ocpode
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64runavx660f.c | 16 |
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); |