From: sandeep Date: Sat, 14 Oct 2000 20:08:39 +0000 (+0000) Subject: Fixed a loop invariant bug & a casting bug X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=3ffd2f60b596ba0a39044404b77a8fb853ab4543;p=fw%2Fsdcc Fixed a loop invariant bug & a casting bug git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@462 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/avr/ralloc.c b/src/avr/ralloc.c index dc2404f7..c0392675 100644 --- a/src/avr/ralloc.c +++ b/src/avr/ralloc.c @@ -2141,7 +2141,8 @@ static void packRegisters (eBBlock *ebp) link *toType = operandType(IC_LEFT(ic)); if (IS_INTEGRAL(fromType) && IS_INTEGRAL(toType) && - getSize(fromType) != getSize(toType) ) { + getSize(fromType) != getSize(toType) && + SPEC_USIGN(fromType) == SPEC_USIGN(toType)) { iCode *dic = packRegsForOneuse(ic,IC_RIGHT(ic),ebp); if (dic) { diff --git a/src/ds390/ralloc.c b/src/ds390/ralloc.c index 7555de4e..9d12c973 100644 --- a/src/ds390/ralloc.c +++ b/src/ds390/ralloc.c @@ -2191,7 +2191,8 @@ static void packRegisters (eBBlock *ebp) link *toType = operandType(IC_LEFT(ic)); if (IS_INTEGRAL(fromType) && IS_INTEGRAL(toType) && - getSize(fromType) != getSize(toType) ) { + getSize(fromType) != getSize(toType) && + SPEC_USIGN(fromType) == SPEC_USIGN(toType)) { iCode *dic = packRegsForOneuse(ic,IC_RIGHT(ic),ebp); if (dic) { diff --git a/src/mcs51/ralloc.c b/src/mcs51/ralloc.c index 2a3726c3..cf088764 100644 --- a/src/mcs51/ralloc.c +++ b/src/mcs51/ralloc.c @@ -2190,7 +2190,8 @@ static void packRegisters (eBBlock *ebp) link *toType = operandType(IC_LEFT(ic)); if (IS_INTEGRAL(fromType) && IS_INTEGRAL(toType) && - getSize(fromType) != getSize(toType) ) { + getSize(fromType) != getSize(toType) && + SPEC_USIGN(fromType) == SPEC_USIGN(toType)) { iCode *dic = packRegsForOneuse(ic,IC_RIGHT(ic),ebp); if (dic) {