diff --git a/Source/Core/Common/GekkoDisassembler.cpp b/Source/Core/Common/GekkoDisassembler.cpp index 18ed219e643..6dc66a8f1e3 100644 --- a/Source/Core/Common/GekkoDisassembler.cpp +++ b/Source/Core/Common/GekkoDisassembler.cpp @@ -493,7 +493,7 @@ void GekkoDisassembler::trapi(u32 in, unsigned char dmode) if (cnd != nullptr) { - m_opcode = fmt::format("t{}{}", dmode ? 'd' : 'w', cnd); + m_opcode = fmt::format("t{}{}i", dmode ? 'd' : 'w', cnd); } else { @@ -918,16 +918,6 @@ void GekkoDisassembler::mtb(u32 in) } } -void GekkoDisassembler::sradi(u32 in) -{ - int s = (int)PPCGETD(in); - int a = (int)PPCGETA(in); - int bsh = (int)(((in & 2) << 4) + PPCGETB(in)); - - m_opcode = fmt::format("sradi{}", (in & 1) ? "." : ""); - m_operands = fmt::format("{}, {}, {}", regnames[a], regnames[s], bsh); -} - void GekkoDisassembler::ldst(u32 in, std::string_view name, char reg) { int s = (int)PPCGETD(in); @@ -1094,7 +1084,7 @@ void GekkoDisassembler::ps(u32 inst) case 23: m_opcode = "ps_sel"; - m_operands = fmt::format("p{}>=0?p{}:p{}", FD, FA, FC); + m_operands = fmt::format("p{}, p{}>=0?p{}:p{}", FD, FA, FC, FB); return; case 24: @@ -1443,30 +1433,6 @@ u32* GekkoDisassembler::DoDisassembly(bool big_endian) ori(in, "andis."); break; - case 30: - switch ((in >> 2) & 0x7) - { - case 0: - rld(in, "icl", 0); // rldicl - break; - case 1: - rld(in, "icr", 0); // rldicr - break; - case 2: - rld(in, "ic", 0); // rldic - break; - case 3: - rld(in, "imi", 0); // rldimi - break; - case 4: - rld(in, in & 2 ? "cl" : "cr", 1); // rldcl, rldcr - break; - default: - ill(in); - break; - } - break; - case 31: switch (PPCGETIDX2(in)) { @@ -1813,10 +1779,6 @@ u32* GekkoDisassembler::DoDisassembly(bool big_endian) dab(in, "orc", 7, 1, 0, -1); break; - case 413: - sradi(in); // sradi - break; - case 434: if (in & (PPCDMASK | PPCAMASK)) ill(in); @@ -2291,18 +2253,6 @@ u32* GekkoDisassembler::DoDisassembly(bool big_endian) } break; - case 814: - fdabc(in, "fctid", 9); - break; - - case 815: - fdabc(in, "fctidz", 9); - break; - - case 846: - fdabc(in, "fcfid", 9); - break; - default: ill(in); break;