about summary refs log tree commit diff stats
path: root/src/emu
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-14 18:30:40 +0100
committerptitSeb <sebastien.chev@gmail.com>2023-03-14 18:30:50 +0100
commit2fdf52afb83b2b09f152758e9ff84131bdaf6322 (patch)
treee372c336c790787f01ac6c5e0b907611a891cbeb /src/emu
parenta651cf33f4345dfda3a4e6071f5fcab978d5b6fb (diff)
downloadbox64-2fdf52afb83b2b09f152758e9ff84131bdaf6322.tar.gz
box64-2fdf52afb83b2b09f152758e9ff84131bdaf6322.zip
Added 66 0F 38 29 PCMPEQQ opcde ([ARM64_DYNAREC] too) (for #558)
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/x64run660f.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c
index 91f54814..8bed5cbf 100644
--- a/src/emu/x64run660f.c
+++ b/src/emu/x64run660f.c
@@ -445,6 +445,14 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr)
                     GX->sq[i] = EX->sd[i];

                 break;

             

+            case 0x29:  /* PCMPEQQ Gx, Ex */

+                nextop = F8;

+                GETEX(0);

+                GETGX;

+                for(int i=1; i>=0; --i)

+                    GX->sq[i] = (GX->sq[i]==EX->sq[i])?-1LL:0LL;

+                break;

+

             case 0x2B:  /* PACKUSDW Gx, Ex */

                 nextop = F8;

                 GETEX(0);