mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-07 03:40:07 +00:00
commit
7258ddc318
@ -1600,7 +1600,10 @@ private:
|
||||
default: DisAsm_IMM_R1("mtspr", spr, rs); break;
|
||||
}
|
||||
}
|
||||
/*0x1d6*///DCBI
|
||||
void DCBI(u32 ra, u32 rb)
|
||||
{
|
||||
DisAsm_R2("dcbi", ra, rb);
|
||||
}
|
||||
void NAND(u32 ra, u32 rs, u32 rb, bool rc)
|
||||
{
|
||||
DisAsm_R3_RC("nand", ra, rs, rb, rc);
|
||||
|
@ -527,7 +527,7 @@ namespace PPU_instr
|
||||
/*0x1c9*/bind_instr(g1f_list, DIVDU, RD, RA, RB, OE, RC);
|
||||
/*0x1cb*/bind_instr(g1f_list, DIVWU, RD, RA, RB, OE, RC);
|
||||
/*0x1d3*/bind_instr(g1f_list, MTSPR, SPR, RS);
|
||||
/*0x1d6*///DCBI
|
||||
/*0x1d6*/bind_instr(g1f_list, DCBI, RA, RB);
|
||||
/*0x1dc*/bind_instr(g1f_list, NAND, RA, RS, RB, RC);
|
||||
/*0x1e7*/bind_instr(g1f_list, STVXL, VS, RA, RB);
|
||||
/*0x1e9*/bind_instr(g1f_list, DIVD, RD, RA, RB, OE, RC);
|
||||
@ -629,4 +629,4 @@ namespace PPU_instr
|
||||
static auto BLR = std::bind(BCLR, 0x10 | 0x04, 0, 0, 0);
|
||||
|
||||
#undef bind_instr
|
||||
};
|
||||
};
|
||||
|
@ -2858,7 +2858,9 @@ private:
|
||||
{
|
||||
GetRegBySPR(spr) = CPU.GPR[rs];
|
||||
}
|
||||
/*0x1d6*///DCBI
|
||||
void DCBI(u32 ra, u32 rb)
|
||||
{
|
||||
}
|
||||
void NAND(u32 ra, u32 rs, u32 rb, bool rc)
|
||||
{
|
||||
CPU.GPR[ra] = ~(CPU.GPR[rs] & CPU.GPR[rb]);
|
||||
|
@ -1592,6 +1592,10 @@ void PPULLVMRecompiler::CRXOR(u32 crbd, u32 crba, u32 crbb) {
|
||||
//InterpreterCall("CRXOR", &PPUInterpreter::CRXOR, crbd, crba, crbb);
|
||||
}
|
||||
|
||||
void PPULLVMRecompiler::DCBI(u32 ra, u32 rb) {
|
||||
InterpreterCall("DCBI", &PPUInterpreter::DCBI, ra, rb);
|
||||
}
|
||||
|
||||
void PPULLVMRecompiler::CRNAND(u32 crbd, u32 crba, u32 crbb) {
|
||||
auto cr_i32 = GetCr();
|
||||
auto ba_i32 = GetBit(cr_i32, crba);
|
||||
|
@ -330,7 +330,7 @@ protected:
|
||||
void DIVDU(u32 rd, u32 ra, u32 rb, u32 oe, bool rc) override;
|
||||
void DIVWU(u32 rd, u32 ra, u32 rb, u32 oe, bool rc) override;
|
||||
void MTSPR(u32 spr, u32 rs) override;
|
||||
//DCBI
|
||||
void DCBI(u32 ra, u32 rb) override;
|
||||
void NAND(u32 ra, u32 rs, u32 rb, bool rc) override;
|
||||
void STVXL(u32 vs, u32 ra, u32 rb) override;
|
||||
void DIVD(u32 rd, u32 ra, u32 rb, u32 oe, bool rc) override;
|
||||
|
@ -276,7 +276,7 @@ namespace PPU_opcodes
|
||||
LVEHX = 0x027, //Load Vector Element Halfword Indexed
|
||||
SUBF = 0x028,
|
||||
LDUX = 0x035, //Load Doubleword with Update Indexed
|
||||
DCBST = 0x036,
|
||||
DCBST = 0x036, //Data Cache Block Store
|
||||
LWZUX = 0x037,
|
||||
CNTLZD = 0x03a,
|
||||
ANDC = 0x03c,
|
||||
@ -285,7 +285,7 @@ namespace PPU_opcodes
|
||||
MULHD = 0x049,
|
||||
MULHW = 0x04b,
|
||||
LDARX = 0x054,
|
||||
DCBF = 0x056,
|
||||
DCBF = 0x056, //Data Cache Block Flush
|
||||
LBZX = 0x057,
|
||||
LVX = 0x067, //Load Vector Indexed
|
||||
NEG = 0x068,
|
||||
@ -311,11 +311,11 @@ namespace PPU_opcodes
|
||||
MULLD = 0x0e9,
|
||||
ADDME = 0x0ea,
|
||||
MULLW = 0x0eb,
|
||||
DCBTST = 0x0f6,
|
||||
DCBTST = 0x0f6, //Data Cache Block Touch for Store
|
||||
STBUX = 0x0f7,
|
||||
DOZ = 0x108,
|
||||
ADD = 0x10a,
|
||||
DCBT = 0x116,
|
||||
DCBT = 0x116, //Data Cache Block Touch
|
||||
LHZX = 0x117,
|
||||
EQV = 0x11c,
|
||||
ECIWX = 0x136,
|
||||
@ -338,7 +338,7 @@ namespace PPU_opcodes
|
||||
DIVDU = 0x1c9,
|
||||
DIVWU = 0x1cb,
|
||||
MTSPR = 0x1d3,
|
||||
DCBI = 0x1d6,
|
||||
DCBI = 0x1d6, //Data Cache Block Invalidate
|
||||
NAND = 0x1dc,
|
||||
STVXL = 0x1e7, //Store Vector Indexed Last
|
||||
DIVD = 0x1e9,
|
||||
@ -382,8 +382,8 @@ namespace PPU_opcodes
|
||||
EXTSB = 0x3ba,
|
||||
STFIWX = 0x3d7,
|
||||
EXTSW = 0x3da,
|
||||
ICBI = 0x3d6,
|
||||
DCBZ = 0x3f6,
|
||||
ICBI = 0x3d6, //Instruction Cache Block Invalidate
|
||||
DCBZ = 0x3f6, //Data Cache Block Set to Zero
|
||||
};
|
||||
|
||||
enum G_3aOpcodes //Field 30 - 31
|
||||
@ -738,7 +738,7 @@ public:
|
||||
virtual void DIVDU(u32 rd, u32 ra, u32 rb, u32 oe, bool rc) = 0;
|
||||
virtual void DIVWU(u32 rd, u32 ra, u32 rb, u32 oe, bool rc) = 0;
|
||||
virtual void MTSPR(u32 spr, u32 rs) = 0;
|
||||
//DCBI
|
||||
virtual void DCBI(u32 ra, u32 rb) = 0;
|
||||
virtual void NAND(u32 ra, u32 rs, u32 rb, bool rc) = 0;
|
||||
virtual void STVXL(u32 vs, u32 ra, u32 rb) = 0;
|
||||
virtual void DIVD(u32 rd, u32 ra, u32 rb, u32 oe, bool rc) = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user