From a2aa5fc650f7e2d4e9400f76832b80689366f4af Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 5 Jul 2021 23:01:09 +0200 Subject: Added 66 0F 38 08/09/0A opcodes ([DYNAREC] too) (for #32 / Zoom) --- src/emu/x64run660f.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/emu') diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index f3679015..00a684e3 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -248,6 +248,27 @@ int Run660F(x64emu_t *emu, rex_t rex) } break; + case 0x08: /* PSIGNB Gx, Ex */ + nextop = F8; + GETEX(0); + GETGX; + for (int i=0; i<16; ++i) + GX->sb[i] *= (EX->sb[i]<0)?-1:((EX->sb[i]>0)?1:0); + break; + case 0x09: /* PSIGNW Gx, Ex */ + nextop = F8; + GETEX(0); + GETGX; + for (int i=0; i<8; ++i) + GX->sw[i] *= (EX->sw[i]<0)?-1:((EX->sw[i]>0)?1:0); + break; + case 0x0A: /* PSIGND Gx, Ex */ + nextop = F8; + GETEX(0); + GETGX; + for (int i=0; i<4; ++i) + GX->sd[i] *= (EX->sd[i]<0)?-1:((EX->sd[i]>0)?1:0); + break; case 0x0B: /* PMULHRSW Gx, Ex */ nextop = F8; GETEX(0); -- cgit 1.4.1