Changed sqrt.s to use x86 asm version of sqrt
This commit is contained in:
parent
cf1ea3484e
commit
6e8b92d8bc
|
@ -2036,7 +2036,18 @@ void R4300iOp::COP1_S_DIV (void) {
|
|||
void R4300iOp::COP1_S_SQRT (void) {
|
||||
TEST_COP1_USABLE_EXCEPTION
|
||||
_controlfp(*_RoundingModel,_MCW_RC);
|
||||
*(float *)_FPR_S[m_Opcode.fd] = (float)sqrt(*(float *)_FPR_S[m_Opcode.fs]);
|
||||
|
||||
float * Dest = (float *)_FPR_S[m_Opcode.fd];
|
||||
float * Source = (float *)_FPR_S[m_Opcode.fs];
|
||||
_asm {
|
||||
push esi
|
||||
mov esi, dword ptr [Source]
|
||||
fld dword ptr [esi]
|
||||
fsqrt
|
||||
mov esi, dword ptr [Dest]
|
||||
fstp dword ptr [esi]
|
||||
pop esi
|
||||
}
|
||||
}
|
||||
|
||||
void R4300iOp::COP1_S_ABS (void) {
|
||||
|
|
Loading…
Reference in New Issue