Vif: Don't use non-volatile register in simple unpack

The Vif normally reserves Xmm3-Xmm6 for the columns and row.
However, code emitted for simple unpacks never used them.
Instead, lets use Xmm3 to avoid clobbering a non-volatile register.
This commit is contained in:
TheLastRar 2025-01-25 02:37:46 +00:00 committed by Ty
parent bd4a6a10f9
commit 6334082e6f
1 changed files with 3 additions and 3 deletions

View File

@ -328,12 +328,12 @@ VifUnpackSSE_Simple::VifUnpackSSE_Simple(bool usn_, bool domask_, int curCycle_)
void VifUnpackSSE_Simple::doMaskWrite(const xRegisterSSE& regX) const
{
xMOVAPS(xmm7, ptr[dstIndirect]);
xMOVAPS(xmm3, ptr[dstIndirect]);
const int offX = std::min(curCycle, 3);
xPAND(regX, ptr32[nVifMask[0][offX]]);
xPAND(xmm7, ptr32[nVifMask[1][offX]]);
xPAND(xmm3, ptr32[nVifMask[1][offX]]);
xPOR (regX, ptr32[nVifMask[2][offX]]);
xPOR (regX, xmm7);
xPOR (regX, xmm3);
xMOVAPS(ptr[dstIndirect], regX);
}