Drop the sign in vsqrt, but not vrsq.

This commit is contained in:
Unknown W. Brackets 2013-02-18 21:46:33 -08:00
parent 2e6f0006fd
commit 40b2a8dec1
2 changed files with 2 additions and 1 deletions

View File

@ -494,7 +494,7 @@ namespace MIPSInt
case 19: d[i] = cosf((float)M_PI_2 * s[i]); break; //vcos
case 20: d[i] = powf(2.0f, s[i]); break; //vexp2
case 21: d[i] = logf(s[i])/log(2.0f); break; //vlog2
case 22: d[i] = sqrtf(s[i]); break; //vsqrt
case 22: d[i] = fabsf(sqrtf(s[i])); break; //vsqrt
case 23: d[i] = asinf(s[i] * (float)M_2_PI); break; //vasin
case 24: d[i] = -1.0f / s[i]; break; // vnrcp
case 26: d[i] = -sinf((float)M_PI_2 * s[i]); break; // vnsin

View File

@ -553,6 +553,7 @@ void Jit::Comp_VV2Op(u32 op) {
break;
case 22: // d[i] = sqrtf(s[i]); break; //vsqrt
SQRTSS(tempxregs[i], fpr.V(sregs[i]));
ANDPS(tempxregs[i], M((void *)&noSignMask));
break;
case 23: // d[i] = asinf(s[i] * (float)M_2_PI); break; //vasin
DISABLE;