mirror of
https://github.com/libretro/ppsspp.git
synced 2025-02-10 02:53:06 +00:00
Symbian buildfix, fix for fpu test
This commit is contained in:
parent
b612806ee4
commit
0541fe36df
@ -376,8 +376,6 @@ void IRFrontend::Comp_JumpReg(MIPSOpcode op) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void IRFrontend::Comp_Syscall(MIPSOpcode op) {
|
void IRFrontend::Comp_Syscall(MIPSOpcode op) {
|
||||||
RestoreRoundingMode();
|
|
||||||
|
|
||||||
// Note: If we're in a delay slot, this is off by one compared to the interpreter.
|
// Note: If we're in a delay slot, this is off by one compared to the interpreter.
|
||||||
int dcAmount = js.downcountAmount;
|
int dcAmount = js.downcountAmount;
|
||||||
ir.Write(IROp::Downcount, 0, dcAmount & 0xFF, dcAmount >> 8);
|
ir.Write(IROp::Downcount, 0, dcAmount & 0xFF, dcAmount >> 8);
|
||||||
@ -385,6 +383,7 @@ void IRFrontend::Comp_Syscall(MIPSOpcode op) {
|
|||||||
|
|
||||||
FlushAll();
|
FlushAll();
|
||||||
|
|
||||||
|
RestoreRoundingMode();
|
||||||
ir.Write(IROp::Syscall, 0, ir.AddConstant(op.encoding));
|
ir.Write(IROp::Syscall, 0, ir.AddConstant(op.encoding));
|
||||||
ApplyRoundingMode();
|
ApplyRoundingMode();
|
||||||
ir.Write(IROp::ExitToPC);
|
ir.Write(IROp::ExitToPC);
|
||||||
|
@ -92,6 +92,7 @@ static const IRMeta irMeta[] = {
|
|||||||
{ IROp::FSatMinus1_1, "FSat(-1 - 1)", "FF" },
|
{ IROp::FSatMinus1_1, "FSat(-1 - 1)", "FF" },
|
||||||
{ IROp::FMovFromGPR, "FMovFromGPR", "FG" },
|
{ IROp::FMovFromGPR, "FMovFromGPR", "FG" },
|
||||||
{ IROp::FMovToGPR, "FMovToGPR", "GF" },
|
{ IROp::FMovToGPR, "FMovToGPR", "GF" },
|
||||||
|
{ IROp::ZeroFpCond, "ZeroFpCond", "" },
|
||||||
{ IROp::FpCondToReg, "FpCondToReg", "G" },
|
{ IROp::FpCondToReg, "FpCondToReg", "G" },
|
||||||
{ IROp::VfpuCtrlToReg, "VfpuCtrlToReg", "GI" },
|
{ IROp::VfpuCtrlToReg, "VfpuCtrlToReg", "GI" },
|
||||||
{ IROp::SetCtrlVFPU, "SetCtrlVFPU", "TC" },
|
{ IROp::SetCtrlVFPU, "SetCtrlVFPU", "TC" },
|
||||||
|
@ -117,7 +117,7 @@ bool IRApplyPasses(const IRPassFunc *passes, size_t c, const IRWriter &in, IRWri
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool OptimizeFPMoves(const IRWriter &in, IRWriter &out) {
|
bool OptimizeFPMoves(const IRWriter &in, IRWriter &out) {
|
||||||
const u32 *constants = in.GetConstants().data();
|
const u32 *constants = !in.GetConstants().empty() ? &in.GetConstants()[0] : nullptr;
|
||||||
bool logBlocks = false;
|
bool logBlocks = false;
|
||||||
IRInst prev;
|
IRInst prev;
|
||||||
prev.op = IROp::Nop;
|
prev.op = IROp::Nop;
|
||||||
@ -215,7 +215,7 @@ bool ThreeOpToTwoOp(const IRWriter &in, IRWriter &out) {
|
|||||||
bool PropagateConstants(const IRWriter &in, IRWriter &out) {
|
bool PropagateConstants(const IRWriter &in, IRWriter &out) {
|
||||||
IRRegCache gpr(&out);
|
IRRegCache gpr(&out);
|
||||||
|
|
||||||
const u32 *constants = &in.GetConstants()[0];
|
const u32 *constants = !in.GetConstants().empty() ? &in.GetConstants()[0] : nullptr;
|
||||||
bool logBlocks = false;
|
bool logBlocks = false;
|
||||||
for (int i = 0; i < (int)in.GetInstructions().size(); i++) {
|
for (int i = 0; i < (int)in.GetInstructions().size(); i++) {
|
||||||
IRInst inst = in.GetInstructions()[i];
|
IRInst inst = in.GetInstructions()[i];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user