Merge pull request #9818 from JosJuice/jits-cdts-double

Jits: Don't use fast double-to-single when input is double precision
This commit is contained in:
JMC47 2021-08-17 05:21:08 -04:00 committed by GitHub
commit a36855c983
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View File

@ -104,7 +104,7 @@ void Jit64::stfXXX(UGeckoInstruction inst)
if (single)
{
if (js.fpr_is_store_safe[s])
if (js.fpr_is_store_safe[s] && js.op->fprIsSingle[s])
{
RCOpArg Rs = fpr.Use(s, RCMode::Read);
RegCache::Realize(Rs);

View File

@ -606,7 +606,7 @@ void JitArm64::frsqrtex(UGeckoInstruction inst)
void JitArm64::ConvertDoubleToSingleLower(size_t guest_reg, ARM64Reg dest_reg, ARM64Reg src_reg)
{
if (js.fpr_is_store_safe[guest_reg])
if (js.fpr_is_store_safe[guest_reg] && js.op->fprIsSingle[guest_reg])
{
m_float_emit.FCVT(32, 64, EncodeRegToDouble(dest_reg), EncodeRegToDouble(src_reg));
return;
@ -626,7 +626,7 @@ void JitArm64::ConvertDoubleToSingleLower(size_t guest_reg, ARM64Reg dest_reg, A
void JitArm64::ConvertDoubleToSinglePair(size_t guest_reg, ARM64Reg dest_reg, ARM64Reg src_reg)
{
if (js.fpr_is_store_safe[guest_reg])
if (js.fpr_is_store_safe[guest_reg] && js.op->fprIsSingle[guest_reg])
{
m_float_emit.FCVTN(32, EncodeRegToDouble(dest_reg), EncodeRegToDouble(src_reg));
return;