mirror of
https://github.com/hedge-dev/XenonRecomp.git
synced 2025-10-30 07:11:38 +00:00
Implement frsqrte - Needs to be optimized but it should work for now
This commit is contained in:
parent
c81d7f82a8
commit
0bf4d36532
1 changed files with 6 additions and 0 deletions
|
|
@ -1020,6 +1020,12 @@ bool Recompiler::Recompile(
|
||||||
println("\t{}.f64 = {}.f64 >= 0.0 ? {}.f64 : {}.f64;", f(insn.operands[0]), f(insn.operands[1]), f(insn.operands[2]), f(insn.operands[3]));
|
println("\t{}.f64 = {}.f64 >= 0.0 ? {}.f64 : {}.f64;", f(insn.operands[0]), f(insn.operands[1]), f(insn.operands[2]), f(insn.operands[3]));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PPC_INST_FRSQRTE:
|
||||||
|
// TODO(crack): I sure hope the c++ optimizer can optimize this. Fixme with some simd magic later
|
||||||
|
printSetFlushMode(false);
|
||||||
|
println("\t{}.f64 = double(1.0f / sqrtf(float({}.f64)));", f(insn.operands[0]), f(insn.operands[1]));
|
||||||
|
break;
|
||||||
|
|
||||||
case PPC_INST_FSQRT:
|
case PPC_INST_FSQRT:
|
||||||
printSetFlushMode(false);
|
printSetFlushMode(false);
|
||||||
println("\t{}.f64 = sqrt({}.f64);", f(insn.operands[0]), f(insn.operands[1]));
|
println("\t{}.f64 = sqrt({}.f64);", f(insn.operands[0]), f(insn.operands[1]));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue