diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-04-08 13:41:29 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-04-08 13:41:29 +0200 |
| commit | d1426e85b32557cbd609f0f2bfd5721787b84de1 (patch) | |
| tree | 1f36ccb3daa67278a217b4582fc1cd60710d1a49 /src | |
| parent | efdd052674cd50a96da33077760a40c0508506cd (diff) | |
| download | box64-d1426e85b32557cbd609f0f2bfd5721787b84de1.tar.gz box64-d1426e85b32557cbd609f0f2bfd5721787b84de1.zip | |
Added 66 0F 38 41 opcode
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; |