mirror of
https://github.com/holub/mame
synced 2025-06-06 12:53:46 +03:00
Merge branch 'master' of https://github.com/mamedev/mame
This commit is contained in:
commit
ec7276af73
@ -4417,36 +4417,36 @@ void i386_device::sse_predicate_compare_double(UINT8 imm8, XMM_REG d, XMM_REG s)
|
||||
switch (imm8 & 7)
|
||||
{
|
||||
case 0:
|
||||
d.q[0]=d.f64[0] == s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[1]=d.f64[1] == s.f64[1] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] == s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
d.q[1]=d.f64[1] == s.f64[1] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 1:
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[1]=d.f64[1] < s.f64[1] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
d.q[1]=d.f64[1] < s.f64[1] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 2:
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[1]=d.f64[1] <= s.f64[1] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
d.q[1]=d.f64[1] <= s.f64[1] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 3:
|
||||
d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0;
|
||||
d.q[1]=sse_isdoubleunordered(d.f64[1], s.f64[1]) ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0;
|
||||
d.q[1]=sse_isdoubleunordered(d.f64[1], s.f64[1]) ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 4:
|
||||
d.q[0]=d.f64[0] != s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[1]=d.f64[1] != s.f64[1] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] != s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
d.q[1]=d.f64[1] != s.f64[1] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 5:
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? 0 : 0xffffffffffffffff;
|
||||
d.q[1]=d.f64[1] < s.f64[1] ? 0 : 0xffffffffffffffff;
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? 0 : U64(0xffffffffffffffff);
|
||||
d.q[1]=d.f64[1] < s.f64[1] ? 0 : U64(0xffffffffffffffff);
|
||||
break;
|
||||
case 6:
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? 0 : 0xffffffffffffffff;
|
||||
d.q[1]=d.f64[1] <= s.f64[1] ? 0 : 0xffffffffffffffff;
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? 0 : U64(0xffffffffffffffff);
|
||||
d.q[1]=d.f64[1] <= s.f64[1] ? 0 : U64(0xffffffffffffffff);
|
||||
break;
|
||||
case 7:
|
||||
d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0;
|
||||
d.q[1]=sse_isdoubleordered(d.f64[1], s.f64[1]) ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0;
|
||||
d.q[1]=sse_isdoubleordered(d.f64[1], s.f64[1]) ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -4487,28 +4487,28 @@ void i386_device::sse_predicate_compare_double_scalar(UINT8 imm8, XMM_REG d, XMM
|
||||
switch (imm8 & 7)
|
||||
{
|
||||
case 0:
|
||||
d.q[0]=d.f64[0] == s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] == s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 1:
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 2:
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 3:
|
||||
d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=sse_isdoubleunordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 4:
|
||||
d.q[0]=d.f64[0] != s.f64[0] ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=d.f64[0] != s.f64[0] ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
case 5:
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? 0 : 0xffffffffffffffff;
|
||||
d.q[0]=d.f64[0] < s.f64[0] ? 0 : U64(0xffffffffffffffff);
|
||||
break;
|
||||
case 6:
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? 0 : 0xffffffffffffffff;
|
||||
d.q[0]=d.f64[0] <= s.f64[0] ? 0 : U64(0xffffffffffffffff);
|
||||
break;
|
||||
case 7:
|
||||
d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? 0xffffffffffffffff : 0;
|
||||
d.q[0]=sse_isdoubleordered(d.f64[0], s.f64[0]) ? U64(0xffffffffffffffff) : 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user