diff options
| author | Sintendo <bram.speeckaert@gmail.com> | 2014-09-20 16:25:02 +0200 |
|---|---|---|
| committer | Sintendo <bram.speeckaert@gmail.com> | 2014-09-24 21:58:01 +0200 |
| commit | 29cca5c84fc44302aaf44805fa475dddb91ffa2c (patch) | |
| tree | 1b2f867d1594dbf301e1cd10fb25b6b2fe22f24a /Source | |
| parent | 0b6ec44e42c3320db46d79784c92af50afb114be (diff) | |
Change fres/frsqrte jumps
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp b/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp index 24f59e2701..cfb92bd466 100644 --- a/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp +++ b/Source/Core/Core/PowerPC/JitCommon/JitAsmCommon.cpp @@ -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); |
