mirror of
				https://github.com/hedge-dev/XenonRecomp.git
				synced 2025-11-04 06:47:09 +00:00 
			
		
		
		
	make store instructions check for mmio
This commit is contained in:
		@@ -1501,7 +1501,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1514,7 +1514,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1537,7 +1537,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1550,7 +1550,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1565,7 +1565,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1598,7 +1598,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1615,7 +1615,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1628,13 +1628,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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1733,13 +1733,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