Don't use floats as num counter replacement

This commit is contained in:
drmortalwombat 2024-09-30 20:33:08 +02:00
parent 756fe9354a
commit fb477b33f7

View File

@ -16066,7 +16066,7 @@ void InterCodeBasicBlock::EliminateDoubleLoopCounter(void)
lc.mCmp = nullptr; lc.mCmp = nullptr;
lc.mReferenced = false; lc.mReferenced = false;
if (ins->mCode == IC_BINARY_OPERATOR && ins->mOperator == IA_ADD) if (ins->mCode == IC_BINARY_OPERATOR && ins->mOperator == IA_ADD && IsIntegerType(ins->mDst.mType))
{ {
if (ins->mDst.mTemp == ins->mSrc[0].mTemp && ins->mSrc[1].mTemp < 0 || if (ins->mDst.mTemp == ins->mSrc[0].mTemp && ins->mSrc[1].mTemp < 0 ||
ins->mDst.mTemp == ins->mSrc[1].mTemp && ins->mSrc[0].mTemp < 0) ins->mDst.mTemp == ins->mSrc[1].mTemp && ins->mSrc[0].mTemp < 0)
@ -16075,7 +16075,7 @@ void InterCodeBasicBlock::EliminateDoubleLoopCounter(void)
} }
} }
#if 1 #if 1
else if (ins->mCode == IC_BINARY_OPERATOR && ins->mOperator == IA_SUB) else if (ins->mCode == IC_BINARY_OPERATOR && ins->mOperator == IA_SUB && IsIntegerType(ins->mDst.mType))
{ {
if (ins->mDst.mTemp == ins->mSrc[1].mTemp && ins->mSrc[0].mTemp < 0) if (ins->mDst.mTemp == ins->mSrc[1].mTemp && ins->mSrc[0].mTemp < 0)
{ {