mirror of
https://github.com/hedge-dev/XenonRecomp.git
synced 2025-07-22 04:47:13 +00:00
make store instructions check for mmio
This commit is contained in:
@@ -1606,7 +1606,7 @@ bool Recompiler::Recompile(
|
|||||||
|
|
||||||
case PPC_INST_STBU:
|
case PPC_INST_STBU:
|
||||||
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U8({}, {}.u8);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u8);", mmioStore() ? "PPC_MM_STORE_U8(" : "PPC_STORE_U8(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1619,7 +1619,7 @@ bool Recompiler::Recompile(
|
|||||||
|
|
||||||
case PPC_INST_STBUX:
|
case PPC_INST_STBUX:
|
||||||
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U8({}, {}.u8);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u8);", mmioStore() ? "PPC_MM_STORE_U8(" : "PPC_STORE_U8(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1642,7 +1642,7 @@ bool Recompiler::Recompile(
|
|||||||
|
|
||||||
case PPC_INST_STDU:
|
case PPC_INST_STDU:
|
||||||
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U64({}, {}.u64);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u64);", mmioStore() ? "PPC_MM_STORE_U64(" : "PPC_STORE_U64(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1655,7 +1655,7 @@ bool Recompiler::Recompile(
|
|||||||
|
|
||||||
case PPC_INST_STDUX:
|
case PPC_INST_STDUX:
|
||||||
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U64({}, {}.u64);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u64);", mmioStore() ? "PPC_MM_STORE_U64(" : "PPC_STORE_U64(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1670,7 +1670,7 @@ bool Recompiler::Recompile(
|
|||||||
case PPC_INST_STFDU:
|
case PPC_INST_STFDU:
|
||||||
printSetFlushMode(false);
|
printSetFlushMode(false);
|
||||||
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U64({}, {}.u64);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u64);", mmioStore() ? "PPC_MM_STORE_U64(" : "PPC_STORE_U64(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1703,7 +1703,7 @@ bool Recompiler::Recompile(
|
|||||||
printSetFlushMode(false);
|
printSetFlushMode(false);
|
||||||
println("\t{}.f32 = float({}.f64);", temp(), f(insn.operands[0]));
|
println("\t{}.f32 = float({}.f64);", temp(), f(insn.operands[0]));
|
||||||
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U32({}, {}.u32);", ea(), temp());
|
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), temp());
|
||||||
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1720,7 +1720,7 @@ bool Recompiler::Recompile(
|
|||||||
printSetFlushMode(false);
|
printSetFlushMode(false);
|
||||||
println("\t{}.f32 = float({}.f64);", temp(), f(insn.operands[0]));
|
println("\t{}.f32 = float({}.f64);", temp(), f(insn.operands[0]));
|
||||||
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U32({}, {}.u32);", ea(), temp());
|
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), temp());
|
||||||
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1733,13 +1733,13 @@ bool Recompiler::Recompile(
|
|||||||
|
|
||||||
case PPC_INST_STHU:
|
case PPC_INST_STHU:
|
||||||
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U16({}, {}.u16);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u16);", mmioStore() ? "PPC_MM_STORE_U16(" : "PPC_STORE_U16(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPC_INST_STHUX:
|
case PPC_INST_STHUX:
|
||||||
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U16({}, {}.u16);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u16);", mmioStore() ? "PPC_MM_STORE_U16(" : "PPC_STORE_U16(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1838,13 +1838,13 @@ bool Recompiler::Recompile(
|
|||||||
|
|
||||||
case PPC_INST_STWU:
|
case PPC_INST_STWU:
|
||||||
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U32({}, {}.u32);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPC_INST_STWUX:
|
case PPC_INST_STWUX:
|
||||||
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
|
||||||
println("\tPPC_STORE_U32({}, {}.u32);", ea(), r(insn.operands[0]));
|
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), r(insn.operands[0]));
|
||||||
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user