Skip to content

Commit 4613188

Browse files
committed
make store instructions check for mmio
1 parent 5443c08 commit 4613188

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

PowerRecomp/recompiler.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1501,7 +1501,7 @@ bool Recompiler::Recompile(
15011501

15021502
case PPC_INST_STBU:
15031503
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
1504-
println("\tPPC_STORE_U8({}, {}.u8);", ea(), r(insn.operands[0]));
1504+
println("\t{}{}, {}.u8);", mmioStore() ? "PPC_MM_STORE_U8(" : "PPC_STORE_U8(", ea(), r(insn.operands[0]));
15051505
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
15061506
break;
15071507

@@ -1514,7 +1514,7 @@ bool Recompiler::Recompile(
15141514

15151515
case PPC_INST_STBUX:
15161516
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
1517-
println("\tPPC_STORE_U8({}, {}.u8);", ea(), r(insn.operands[0]));
1517+
println("\t{}{}, {}.u8);", mmioStore() ? "PPC_MM_STORE_U8(" : "PPC_STORE_U8(", ea(), r(insn.operands[0]));
15181518
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
15191519
break;
15201520

@@ -1537,7 +1537,7 @@ bool Recompiler::Recompile(
15371537

15381538
case PPC_INST_STDU:
15391539
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
1540-
println("\tPPC_STORE_U64({}, {}.u64);", ea(), r(insn.operands[0]));
1540+
println("\t{}{}, {}.u64);", mmioStore() ? "PPC_MM_STORE_U64(" : "PPC_STORE_U64(", ea(), r(insn.operands[0]));
15411541
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
15421542
break;
15431543

@@ -1550,7 +1550,7 @@ bool Recompiler::Recompile(
15501550

15511551
case PPC_INST_STDUX:
15521552
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
1553-
println("\tPPC_STORE_U64({}, {}.u64);", ea(), r(insn.operands[0]));
1553+
println("\t{}{}, {}.u64);", mmioStore() ? "PPC_MM_STORE_U64(" : "PPC_STORE_U64(", ea(), r(insn.operands[0]));
15541554
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
15551555
break;
15561556

@@ -1565,7 +1565,7 @@ bool Recompiler::Recompile(
15651565
case PPC_INST_STFDU:
15661566
printSetFlushMode(false);
15671567
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
1568-
println("\tPPC_STORE_U64({}, {}.u64);", ea(), r(insn.operands[0]));
1568+
println("\t{}{}, {}.u64);", mmioStore() ? "PPC_MM_STORE_U64(" : "PPC_STORE_U64(", ea(), r(insn.operands[0]));
15691569
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
15701570
break;
15711571

@@ -1598,7 +1598,7 @@ bool Recompiler::Recompile(
15981598
printSetFlushMode(false);
15991599
println("\t{}.f32 = float({}.f64);", temp(), f(insn.operands[0]));
16001600
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
1601-
println("\tPPC_STORE_U32({}, {}.u32);", ea(), temp());
1601+
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), temp());
16021602
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
16031603
break;
16041604

@@ -1615,7 +1615,7 @@ bool Recompiler::Recompile(
16151615
printSetFlushMode(false);
16161616
println("\t{}.f32 = float({}.f64);", temp(), f(insn.operands[0]));
16171617
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
1618-
println("\tPPC_STORE_U32({}, {}.u32);", ea(), temp());
1618+
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), temp());
16191619
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
16201620
break;
16211621

@@ -1628,13 +1628,13 @@ bool Recompiler::Recompile(
16281628

16291629
case PPC_INST_STHU:
16301630
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
1631-
println("\tPPC_STORE_U16({}, {}.u16);", ea(), r(insn.operands[0]));
1631+
println("\t{}{}, {}.u16);", mmioStore() ? "PPC_MM_STORE_U16(" : "PPC_STORE_U16(", ea(), r(insn.operands[0]));
16321632
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
16331633
break;
16341634

16351635
case PPC_INST_STHUX:
16361636
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
1637-
println("\tPPC_STORE_U16({}, {}.u16);", ea(), r(insn.operands[0]));
1637+
println("\t{}{}, {}.u16);", mmioStore() ? "PPC_MM_STORE_U16(" : "PPC_STORE_U16(", ea(), r(insn.operands[0]));
16381638
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
16391639
break;
16401640

@@ -1733,13 +1733,13 @@ bool Recompiler::Recompile(
17331733

17341734
case PPC_INST_STWU:
17351735
println("\t{} = {} + {}.u32;", ea(), int32_t(insn.operands[1]), r(insn.operands[2]));
1736-
println("\tPPC_STORE_U32({}, {}.u32);", ea(), r(insn.operands[0]));
1736+
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), r(insn.operands[0]));
17371737
println("\t{}.u32 = {};", r(insn.operands[2]), ea());
17381738
break;
17391739

17401740
case PPC_INST_STWUX:
17411741
println("\t{} = {}.u32 + {}.u32;", ea(), r(insn.operands[1]), r(insn.operands[2]));
1742-
println("\tPPC_STORE_U32({}, {}.u32);", ea(), r(insn.operands[0]));
1742+
println("\t{}{}, {}.u32);", mmioStore() ? "PPC_MM_STORE_U32(" : "PPC_STORE_U32(", ea(), r(insn.operands[0]));
17431743
println("\t{}.u32 = {};", r(insn.operands[1]), ea());
17441744
break;
17451745

0 commit comments

Comments
 (0)