Jit_FloatingPoint: Use MConst for constants
This commit is contained in:
parent
ff441efc26
commit
0fe234ec9b
|
@ -108,7 +108,7 @@ void Jit64::HandleNaNs(UGeckoInstruction inst, X64Reg xmm_out, X64Reg xmm, X64Re
|
|||
UCOMISD(xmm, R(xmm));
|
||||
fixups.push_back(J_CC(CC_P));
|
||||
}
|
||||
MOVDDUP(xmm, M(psGeneratedQNaN));
|
||||
MOVDDUP(xmm, MConst(psGeneratedQNaN));
|
||||
for (FixupBranch fixup : fixups)
|
||||
SetJumpTarget(fixup);
|
||||
FixupBranch done = J(true);
|
||||
|
@ -127,7 +127,7 @@ void Jit64::HandleNaNs(UGeckoInstruction inst, X64Reg xmm_out, X64Reg xmm, X64Re
|
|||
SwitchToFarCode();
|
||||
SetJumpTarget(handle_nan);
|
||||
_assert_msg_(DYNA_REC, clobber == XMM0, "BLENDVPD implicitly uses XMM0");
|
||||
BLENDVPD(xmm, M(psGeneratedQNaN));
|
||||
BLENDVPD(xmm, MConst(psGeneratedQNaN));
|
||||
for (u32 x : inputs)
|
||||
{
|
||||
avx_op(&XEmitter::VCMPPD, &XEmitter::CMPPD, clobber, fpr.R(x), fpr.R(x), CMP_UNORD);
|
||||
|
@ -151,7 +151,7 @@ void Jit64::HandleNaNs(UGeckoInstruction inst, X64Reg xmm_out, X64Reg xmm, X64Re
|
|||
SetJumpTarget(handle_nan);
|
||||
MOVAPD(tmp, R(clobber));
|
||||
ANDNPD(clobber, R(xmm));
|
||||
ANDPD(tmp, M(psGeneratedQNaN));
|
||||
ANDPD(tmp, MConst(psGeneratedQNaN));
|
||||
ORPD(tmp, R(clobber));
|
||||
MOVAPD(xmm, R(tmp));
|
||||
for (u32 x : inputs)
|
||||
|
@ -350,7 +350,7 @@ void Jit64::fmaddXX(UGeckoInstruction inst)
|
|||
ADDSD(XMM1, fpr.R(b));
|
||||
}
|
||||
if (inst.SUBOP5 == 31) // nmadd
|
||||
XORPD(XMM1, M(packed ? psSignBits2 : psSignBits));
|
||||
XORPD(XMM1, MConst(packed ? psSignBits2 : psSignBits));
|
||||
}
|
||||
fpr.BindToRegister(d, !single);
|
||||
if (single)
|
||||
|
@ -385,15 +385,15 @@ void Jit64::fsign(UGeckoInstruction inst)
|
|||
{
|
||||
case 40: // neg
|
||||
avx_op(&XEmitter::VXORPD, &XEmitter::XORPD, fpr.RX(d), src,
|
||||
M(packed ? psSignBits2 : psSignBits), packed);
|
||||
MConst(packed ? psSignBits2 : psSignBits), packed);
|
||||
break;
|
||||
case 136: // nabs
|
||||
avx_op(&XEmitter::VORPD, &XEmitter::ORPD, fpr.RX(d), src, M(packed ? psSignBits2 : psSignBits),
|
||||
packed);
|
||||
avx_op(&XEmitter::VORPD, &XEmitter::ORPD, fpr.RX(d), src,
|
||||
MConst(packed ? psSignBits2 : psSignBits), packed);
|
||||
break;
|
||||
case 264: // abs
|
||||
avx_op(&XEmitter::VANDPD, &XEmitter::ANDPD, fpr.RX(d), src, M(packed ? psAbsMask2 : psAbsMask),
|
||||
packed);
|
||||
avx_op(&XEmitter::VANDPD, &XEmitter::ANDPD, fpr.RX(d), src,
|
||||
MConst(packed ? psAbsMask2 : psAbsMask), packed);
|
||||
break;
|
||||
default:
|
||||
PanicAlert("fsign bleh");
|
||||
|
@ -608,7 +608,7 @@ void Jit64::fctiwx(UGeckoInstruction inst)
|
|||
// The upper 32 bits of the result are set to 0xfff80000,
|
||||
// except for -0.0 where they are set to 0xfff80001 (TODO).
|
||||
|
||||
MOVAPD(XMM0, M(half_qnan_and_s32_max));
|
||||
MOVAPD(XMM0, MConst(half_qnan_and_s32_max));
|
||||
MINSD(XMM0, fpr.R(b));
|
||||
switch (inst.SUBOP10)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue