diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-09 17:21:30 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-09 17:21:30 +0200 |
| commit | 741b03761abf3688893abb3bca279f039e4062c7 (patch) | |
| tree | 1f805cb306af233acb976c6390f013461c7293a9 /src | |
| parent | 8ccde3ed4afc29e5187315b0a74b632b8acb0676 (diff) | |
| download | box64-741b03761abf3688893abb3bca279f039e4062c7.tar.gz box64-741b03761abf3688893abb3bca279f039e4062c7.zip | |
Added 66 0F 3A 21 opcode (for #33)
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64run660f.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/emu/x64run660f.c b/src/emu/x64run660f.c index 2ac797a2..08f23f7d 100644 --- a/src/emu/x64run660f.c +++ b/src/emu/x64run660f.c @@ -396,6 +396,18 @@ int Run660F(x64emu_t *emu, rex_t rex) } break; + case 0x21: // INSERTPS GX, EX, u8 + nextop = F8; + GETEX(1); + GETGX; + tmp8u = F8; + if(MODREG) tmp8s = (tmp8u>>6)&3; else tmp8s = 0; + GX->ud[(tmp8u>>4)&3] = EX->ud[tmp8s]; + for(int i=0; i<4; ++i) + if(tmp8u&(1<<i)) + GX->ud[i] = 0; + break; + default: return 1; } |