diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run660f.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 005de14b..7011ab6f 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -641,6 +641,23 @@ uintptr_t Run660F(x64emu_t *emu, rex_t rex, uintptr_t addr) for(int i=0; i<4; ++i) GX->ud[i] *= EX->ud[i]; break; + case 0x41: /* PHMINPOSUW Gx, Ex */ + nextop = F8; + GETEX(0); + GETGX; + tmp16u = EX->uw[0]; + tmp16s = 0; + for(int i=1; i<8; ++i) { + if(EX->uw[i]<tmp16u) { + tmp16u = EX->uw[i]; + tmp16s = i; + } + } + GX->q[1] = 0; + GX->uw[0] = tmp16u; + GX->uw[1] = tmp16s; + GX->ud[1] = 0; + break; case 0xDB: /* AESIMC Gx, Ex */ nextop = F8; |