mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-26 15:55:31 +01:00
Change fres/frsqrte jumps
This commit is contained in:
parent
0b6ec44e42
commit
29cca5c84f
@ -96,19 +96,17 @@ void CommonAsmRoutines::GenFrsqrte()
|
|||||||
SetJumpTarget(zero);
|
SetJumpTarget(zero);
|
||||||
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
||||||
FixupBranch skip_set_fx1 = J_CC(CC_NZ);
|
FixupBranch skip_set_fx1 = J_CC(CC_NZ);
|
||||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX));
|
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX | FPSCR_ZX));
|
||||||
SetJumpTarget(skip_set_fx1);
|
|
||||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
|
||||||
FixupBranch complex3 = J();
|
FixupBranch complex3 = J();
|
||||||
|
|
||||||
// Exception flags for negative input.
|
// Exception flags for negative input.
|
||||||
SetJumpTarget(negative);
|
SetJumpTarget(negative);
|
||||||
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_VXSQRT));
|
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_VXSQRT));
|
||||||
FixupBranch skip_set_fx2 = J_CC(CC_NZ);
|
FixupBranch skip_set_fx2 = J_CC(CC_NZ);
|
||||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX));
|
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX | FPSCR_VXSQRT));
|
||||||
SetJumpTarget(skip_set_fx2);
|
|
||||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_VXSQRT));
|
|
||||||
|
|
||||||
|
SetJumpTarget(skip_set_fx1);
|
||||||
|
SetJumpTarget(skip_set_fx2);
|
||||||
SetJumpTarget(complex1);
|
SetJumpTarget(complex1);
|
||||||
SetJumpTarget(complex2);
|
SetJumpTarget(complex2);
|
||||||
SetJumpTarget(complex3);
|
SetJumpTarget(complex3);
|
||||||
@ -165,9 +163,8 @@ void CommonAsmRoutines::GenFres()
|
|||||||
SetJumpTarget(zero);
|
SetJumpTarget(zero);
|
||||||
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
||||||
FixupBranch skip_set_fx1 = J_CC(CC_NZ);
|
FixupBranch skip_set_fx1 = J_CC(CC_NZ);
|
||||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX));
|
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX | FPSCR_ZX));
|
||||||
SetJumpTarget(skip_set_fx1);
|
SetJumpTarget(skip_set_fx1);
|
||||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
|
||||||
|
|
||||||
SetJumpTarget(complex1);
|
SetJumpTarget(complex1);
|
||||||
SetJumpTarget(complex2);
|
SetJumpTarget(complex2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user