From 9b40854d27fd10c9c541d87a4f547c4de90c5e22 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 8 Apr 2023 10:55:05 +0200 Subject: [PATCH] Added 66 0F 38 06 opcode --- src/emu/x64run660f.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 448cdf65..2c5e503b 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -343,6 +343,19 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) GX->sw[4+i] = EX->sw[i*2+0] - EX->sw[i*2+1]; } break; + case 0x06: /* PHSUBD Gx, Ex */ + nextop = F8; + GETEX(0); + GETGX; + for (int i=0; i<2; ++i) + GX->sd[i] = GX->sd[i*2+0] - GX->sd[i*2+1]; + if(GX == EX) { + GX->q[1] = GX->q[0]; + } else { + for (int i=0; i<2; ++i) + GX->sd[2+i] = EX->sd[i*2+0] - EX->sd[i*2+1]; + } + break; case 0x08: /* PSIGNB Gx, Ex */ nextop = F8;