mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-13 15:59:23 +01:00
Merge pull request #1125 from Sintendo/fresjumps
Change fres/frsqrte jumps
This commit is contained in:
commit
146725f64a
@ -96,19 +96,17 @@ void CommonAsmRoutines::GenFrsqrte()
|
||||
SetJumpTarget(zero);
|
||||
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
||||
FixupBranch skip_set_fx1 = J_CC(CC_NZ);
|
||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX));
|
||||
SetJumpTarget(skip_set_fx1);
|
||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX | FPSCR_ZX));
|
||||
FixupBranch complex3 = J();
|
||||
|
||||
// Exception flags for negative input.
|
||||
SetJumpTarget(negative);
|
||||
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_VXSQRT));
|
||||
FixupBranch skip_set_fx2 = J_CC(CC_NZ);
|
||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX));
|
||||
SetJumpTarget(skip_set_fx2);
|
||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_VXSQRT));
|
||||
OR(32, PPCSTATE(fpscr), Imm32(FPSCR_FX | FPSCR_VXSQRT));
|
||||
|
||||
SetJumpTarget(skip_set_fx1);
|
||||
SetJumpTarget(skip_set_fx2);
|
||||
SetJumpTarget(complex1);
|
||||
SetJumpTarget(complex2);
|
||||
SetJumpTarget(complex3);
|
||||
@ -165,9 +163,8 @@ void CommonAsmRoutines::GenFres()
|
||||
SetJumpTarget(zero);
|
||||
TEST(32, PPCSTATE(fpscr), Imm32(FPSCR_ZX));
|
||||
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));
|
||||
|
||||
SetJumpTarget(complex1);
|
||||
SetJumpTarget(complex2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user