From e140d36818e201b370d934ca250fbc5a351f9a63 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 15 May 2016 00:59:17 -0700 Subject: [PATCH] ir-jit: Oops, fix matrix scale + tranpose. --- Core/MIPS/IR/IRCompVFPU.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Core/MIPS/IR/IRCompVFPU.cpp b/Core/MIPS/IR/IRCompVFPU.cpp index 5f890f862..0736045f1 100644 --- a/Core/MIPS/IR/IRCompVFPU.cpp +++ b/Core/MIPS/IR/IRCompVFPU.cpp @@ -1039,12 +1039,13 @@ namespace MIPSComp { int n = GetMatrixSide(sz); // The entire matrix is scaled equally, so transpose doesn't matter. Let's normalize. - if (IsMatrixTransposed(vs)) { + if (IsMatrixTransposed(vs) && IsMatrixTransposed(vd)) { vs = TransposeMatrixReg(vs); - } - if (IsMatrixTransposed(vd)) { vd = TransposeMatrixReg(vd); } + if (IsMatrixTransposed(vs) || IsMatrixTransposed(vd)) { + DISABLE; + } u8 sregs[16], dregs[16], tregs[1]; GetMatrixRegs(sregs, sz, vs);