diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-04-11 16:35:45 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-04-11 16:35:45 +0200 |
| commit | e83232fcf6de74abb47160a470ebb9ca7450e266 (patch) | |
| tree | 9b340d07caf491a229e52474610e6ca198703701 /src | |
| parent | ece7ea36d90c77373fe966e3d67873e112c56aa9 (diff) | |
| download | box64-e83232fcf6de74abb47160a470ebb9ca7450e266.tar.gz box64-e83232fcf6de74abb47160a470ebb9ca7450e266.zip | |
Fixed 0F E3 opcode
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run0f.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/emu/x64run0f.c b/src/emu/x64run0f.c index 48abfda9..3d5712f1 100644 --- a/src/emu/x64run0f.c +++ b/src/emu/x64run0f.c @@ -1351,15 +1351,12 @@ int Run0F(x64emu_t *emu, rex_t rex) GM->sd[i] >>= tmp8u; } break; - case 0xE3: /* PSRAQ Gm, Em */ + case 0xE3: /* PAVGW Gm, Em */ nextop = F8; GETEM(0); GETGM; - if(EM->q>63) - tmp8u = 64; - else - tmp8u = EM->ub[0]; - GM->sq >>= tmp8u; + for(int i=0; i<4; ++i) + GM->uw[i] = ((uint32_t)GM->uw[i]+EM->uw[i]+1)>>1; break; case 0xE4: /* PMULHUW Gm, Em */ nextop = F8; |