Skip to content
Permalink
Browse files

interp: Handle invalid swizzle for vmin/vmax.

  • Loading branch information...
unknownbrackets committed Mar 27, 2019
1 parent e8c060b commit 58573cd4b4d7b95f675dbbde559f9708311b82e5
Showing with 3 additions and 3 deletions.
  1. +3 −3 Core/MIPS/MIPSIntVFPU.cpp
@@ -1767,16 +1767,14 @@ namespace MIPSInt
}

void Int_Vminmax(MIPSOpcode op) {
FloatBits s, t, d;
int vt = _VT;
int vs = _VS;
int vd = _VD;
int cond = op&15;
VectorSize sz = GetVecSize(op);
int numElements = GetNumVectorElements(sz);

FloatBits s;
FloatBits t;
FloatBits d;
ReadVector(s.f, sz, vs);
ApplySwizzleS(s.f, sz);
ReadVector(t.f, sz, vt);
@@ -1822,6 +1820,7 @@ namespace MIPSInt
EatPrefixes();
return;
}
RetainInvalidSwizzleST(d.f, sz);
ApplyPrefixD(d.f, sz);
WriteVector(d.f, sz, vd);
PC += 4;
@@ -2004,6 +2003,7 @@ namespace MIPSInt
currentMIPS->vfpuCtrl[VFPU_CTRL_DPREFIX] = lastmask | lastsat;
ApplyPrefixD(d, sz);
} else {
RetainInvalidSwizzleST(d, sz);
ApplyPrefixD(d, sz);
}
WriteVector(d, sz, vd);

0 comments on commit 58573cd

Please sign in to comment.
You can’t perform that action at this time.