iCore: Fix negative array index warning.

Codacy.
This commit is contained in:
lightningterror 2022-07-15 14:19:08 +02:00
parent e1e7791dff
commit 1594b46f68
1 changed files with 43 additions and 19 deletions

View File

@ -236,11 +236,19 @@ int _allocTempXMMreg(XMMSSEType type, int xmmreg)
else
_freeXMMreg(xmmreg);
xmmregs[xmmreg].inuse = 1;
xmmregs[xmmreg].type = XMMTYPE_TEMP;
xmmregs[xmmreg].needed = 1;
xmmregs[xmmreg].counter = g_xmmAllocCounter++;
g_xmmtypes[xmmreg] = type;
if (xmmreg == -1)
{
pxFailDev("*PCSX2*: XMM Reg Allocation Error in _allocTempXMMreg()!");
throw Exception::FailedToAllocateRegister();
}
else
{
xmmregs[xmmreg].inuse = 1;
xmmregs[xmmreg].type = XMMTYPE_TEMP;
xmmregs[xmmreg].needed = 1;
xmmregs[xmmreg].counter = g_xmmAllocCounter++;
g_xmmtypes[xmmreg] = type;
}
return xmmreg;
}
@ -317,13 +325,21 @@ int _allocFPtoXMMreg(int xmmreg, int fpreg, int mode)
if (xmmreg == -1)
xmmreg = _getFreeXMMreg();
g_xmmtypes[xmmreg] = XMMT_FPS;
xmmregs[xmmreg].inuse = 1;
xmmregs[xmmreg].type = XMMTYPE_FPREG;
xmmregs[xmmreg].reg = fpreg;
xmmregs[xmmreg].mode = mode;
xmmregs[xmmreg].needed = 1;
xmmregs[xmmreg].counter = g_xmmAllocCounter++;
if (xmmreg == -1)
{
pxFailDev("*PCSX2*: XMM Reg Allocation Error in _allocFPtoXMMreg()!");
throw Exception::FailedToAllocateRegister();
}
else
{
g_xmmtypes[xmmreg] = XMMT_FPS;
xmmregs[xmmreg].inuse = 1;
xmmregs[xmmreg].type = XMMTYPE_FPREG;
xmmregs[xmmreg].reg = fpreg;
xmmregs[xmmreg].mode = mode;
xmmregs[xmmreg].needed = 1;
xmmregs[xmmreg].counter = g_xmmAllocCounter++;
}
if (mode & MODE_READ)
xMOVSSZX(xRegisterSSE(xmmreg), ptr[&fpuRegs.fpr[fpreg].f]);
@ -438,13 +454,21 @@ int _allocFPACCtoXMMreg(int xmmreg, int mode)
if (xmmreg == -1)
xmmreg = _getFreeXMMreg();
g_xmmtypes[xmmreg] = XMMT_FPS;
xmmregs[xmmreg].inuse = 1;
xmmregs[xmmreg].type = XMMTYPE_FPACC;
xmmregs[xmmreg].mode = mode;
xmmregs[xmmreg].needed = 1;
xmmregs[xmmreg].reg = 0;
xmmregs[xmmreg].counter = g_xmmAllocCounter++;
if (xmmreg == -1)
{
pxFailDev("*PCSX2*: XMM Reg Allocation Error in _allocFPACCtoXMMreg()!");
throw Exception::FailedToAllocateRegister();
}
else
{
g_xmmtypes[xmmreg] = XMMT_FPS;
xmmregs[xmmreg].inuse = 1;
xmmregs[xmmreg].type = XMMTYPE_FPACC;
xmmregs[xmmreg].mode = mode;
xmmregs[xmmreg].needed = 1;
xmmregs[xmmreg].reg = 0;
xmmregs[xmmreg].counter = g_xmmAllocCounter++;
}
if (mode & MODE_READ)
{