Delete some unnecessary loads. These loads are done properly inside trigCallHelper.

This commit is contained in:
Henrik Rydgård committed 2017-07-07 14:15:10 +02:00
1 parent d312086a61
commit dad5ca45f2
1 file changed
+3 -7
+3 -7
View File
@@ -2174,9 +2174,9 @@ void Jit::Comp_VV2Op(MIPSOpcode op) {
MOVSS(XMM0, fpr.V(sreg));
// TODO: This reg might be different on Linux...
#ifdef _WIN32
LEA(64, RDX, MIPSSTATE_VAR(sincostemp));
LEA(64, RDX, MIPSSTATE_VAR(sincostemp[0]));
#else
LEA(64, RSI, MIPSSTATE_VAR(sincostemp));
LEA(64, RSI, MIPSSTATE_VAR(sincostemp[0]));
#endif
ABI_CallFunction(thunks.ProtectFunction((const void *)sinCosFunc, 0));
#else
@@ -2186,7 +2186,7 @@ void Jit::Comp_VV2Op(MIPSOpcode op) {
} else {
MOV(32, R(EAX), fpr.V(sreg));
}
CallProtectedFunction((const void *)sinCosFunc, R(EAX), Imm32((uint32_t)(uintptr_t)mips_->sincostemp));
CallProtectedFunction((const void *)sinCosFunc, R(EAX), Imm32((uint32_t)(uintptr_t)&mips_->sincostemp[0]));
#endif
};
@@ -2352,12 +2352,10 @@ void Jit::Comp_VV2Op(MIPSOpcode op) {
DIVSS(tempxregs[i], R(XMM0));
break;
case 18: // d[i] = sinf((float)M_PI_2 * s[i]); break; //vsin
LEA(PTRBITS, RDX, MIPSSTATE_VAR(sincostemp[0]));
trigCallHelper(&SinOnly, sregs[i]);
MOVSS(tempxregs[i], MIPSSTATE_VAR(sincostemp[0]));
break;
case 19: // d[i] = cosf((float)M_PI_2 * s[i]); break; //vcos
LEA(PTRBITS, RDX, MIPSSTATE_VAR(sincostemp[0]));
trigCallHelper(&CosOnly, sregs[i]);
MOVSS(tempxregs[i], MIPSSTATE_VAR(sincostemp[1]));
break;
@@ -2373,7 +2371,6 @@ void Jit::Comp_VV2Op(MIPSOpcode op) {
ANDPS(tempxregs[i], MatR(TEMPREG));
break;
case 23: // d[i] = asinf(s[i]) / M_PI_2; break; //vasin
LEA(PTRBITS, RDX, MIPSSTATE_VAR(sincostemp[0]));
trigCallHelper(&ASinScaled, sregs[i]);
MOVSS(tempxregs[i], MIPSSTATE_VAR(sincostemp[0]));
break;
@@ -2385,7 +2382,6 @@ void Jit::Comp_VV2Op(MIPSOpcode op) {
MOVSS(tempxregs[i], R(XMM0));
break;
case 26: // d[i] = -sinf((float)M_PI_2 * s[i]); break; // vnsin
LEA(PTRBITS, RDX, MIPSSTATE_VAR(sincostemp[0]));
trigCallHelper(&NegSinOnly, sregs[i]);
MOVSS(tempxregs[i], MIPSSTATE_VAR(sincostemp[0]));
break;