diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-11 18:21:38 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-11 18:21:38 +0200 |
| commit | 813ed6f9a166faa85cf4e27cbb76a780be487cea (patch) | |
| tree | 2d017b7d2aadbd452df3b64f8d662355f1e52ef0 /src/emu | |
| parent | 85dba348a7ad232f05041f7d22ce769332df8258 (diff) | |
| download | box64-813ed6f9a166faa85cf4e27cbb76a780be487cea.tar.gz box64-813ed6f9a166faa85cf4e27cbb76a780be487cea.zip | |
Fixed 66 0F 3A 0E opcode (for #33)
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64run660f.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 5439ff5f..3cee8e65 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -279,17 +279,6 @@ int Run660F(x64emu_t *emu, rex_t rex) } break; - case 0x0E: /* PBLENDW Gx, Ex, Ib */ - nextop = F8; - GETEX(1); - GETGX; - tmp8u = F8; - for (int i=0; i<8; ++i) { - if(tmp8u&(1<<i)) - GX->uw[i] = EX->uw[i]; - } - break; - case 0x17: // PTEST GX, EX nextop = F8; GETEX(0); @@ -371,7 +360,7 @@ int Run660F(x64emu_t *emu, rex_t rex) } break; - case 0x3A: // these are some SSE3 opcodes + case 0x3A: // these are some SSE3 & SSE4.x opcodes opcode = F8; switch(opcode) { case 0x0B: // ROUNDSD Gx, Ex, u8 @@ -399,6 +388,16 @@ int Run660F(x64emu_t *emu, rex_t rex) } break; + case 0x0E: /* PBLENDW Gx, Ex, Ib */ + nextop = F8; + GETEX(1); + GETGX; + tmp8u = F8; + for (int i=0; i<8; ++i) { + if(tmp8u&(1<<i)) + GX->uw[i] = EX->uw[i]; + } + break; case 0x0F: // PALIGNR GX, EX, u8 nextop = F8; GETEX(1); |