From db477c131d78c24391f86b26f72bcf84aaeb9414 Mon Sep 17 00:00:00 2001 From: DeaTh-G <55578911+DeaTh-G@users.noreply.github.com> Date: Sun, 13 Oct 2024 19:29:33 +0200 Subject: [PATCH] Fix indexing on certain instructions --- PowerRecomp/recompiler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PowerRecomp/recompiler.cpp b/PowerRecomp/recompiler.cpp index 94379f2..56ffd6a 100644 --- a/PowerRecomp/recompiler.cpp +++ b/PowerRecomp/recompiler.cpp @@ -2211,13 +2211,13 @@ bool Recompiler::Recompile( case PPC_INST_VSRAB: // TODO: vectorize, ensure endianness is correct for (size_t i = 0; i < 16; i++) - println("\t{}.s8[{}] = {}.s8[{}] >> ({}.u8[{}] & 0x7);", v(insn.operands[0]), i, v(insn.operands[1]), i, v(insn.operands[2]), i * 4); + println("\t{}.s8[{}] = {}.s8[{}] >> ({}.u8[{}] & 0x7);", v(insn.operands[0]), i, v(insn.operands[1]), i, v(insn.operands[2]), i); break; case PPC_INST_VSRAH: // TODO: vectorize, ensure endianness is correct for (size_t i = 0; i < 8; i++) - println("\t{}.s16[{}] = {}.s16[{}] >> ({}.u8[{}] & 0xF);", v(insn.operands[0]), i, v(insn.operands[1]), i, v(insn.operands[2]), i * 4); + println("\t{}.s16[{}] = {}.s16[{}] >> ({}.u8[{}] & 0xF);", v(insn.operands[0]), i, v(insn.operands[1]), i, v(insn.operands[2]), i * 2); break; case PPC_INST_VSRAW: @@ -2230,7 +2230,7 @@ bool Recompiler::Recompile( case PPC_INST_VSRH: // TODO: vectorize, ensure endianness is correct for (size_t i = 0; i < 8; i++) - println("\t{}.u16[{}] = {}.u16[{}] >> ({}.u8[{}] & 0xF);", v(insn.operands[0]), i, v(insn.operands[1]), i, v(insn.operands[2]), i * 4); + println("\t{}.u16[{}] = {}.u16[{}] >> ({}.u8[{}] & 0xF);", v(insn.operands[0]), i, v(insn.operands[1]), i, v(insn.operands[2]), i * 2); break; case PPC_INST_VSRW: