mirror of
https://github.com/ptitSeb/box86.git
synced 2024-12-02 12:07:10 +00:00
Added 66 0F 38 39/3D and 66 0F 3A 0E opcodes
This commit is contained in:
parent
1e6037019e
commit
e4ed4ad3a8
@ -479,6 +479,22 @@ void Run660F(x86emu_t *emu)
|
||||
GX.q[i] = EX->ud[i];
|
||||
break;
|
||||
|
||||
case 0x39: /* PMINSD Gx, Ex */
|
||||
nextop = F8;
|
||||
GET_EX;
|
||||
for(int i=0; i<4; ++i)
|
||||
if(GX.sd[i]>EX->sd[i])
|
||||
GX.sd[i] = EX->sd[i];
|
||||
break;
|
||||
|
||||
case 0x3D: /* PMAXSD Gx, Ex */
|
||||
nextop = F8;
|
||||
GET_EX;
|
||||
for(int i=0; i<4; ++i)
|
||||
if(GX.sd[i]<EX->sd[i])
|
||||
GX.sd[i] = EX->sd[i];
|
||||
break;
|
||||
|
||||
default:
|
||||
ip = R_EIP;
|
||||
UnimpOpcode(emu);
|
||||
@ -488,6 +504,15 @@ void Run660F(x86emu_t *emu)
|
||||
case 0x3A: // these are some SSE3 opcodes
|
||||
opcode = F8;
|
||||
switch(opcode) {
|
||||
case 0x0E: /* PBLENDW Gx, Ex, Ib */
|
||||
nextop = F8;
|
||||
GET_EX;
|
||||
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;
|
||||
GET_EX;
|
||||
|
Loading…
Reference in New Issue
Block a user