From: kvigor Date: Mon, 7 May 2001 17:26:32 +0000 (+0000) Subject: fix for broken better shift in ad26.c line 207 X-Git-Url: https://git.gag.com/?p=fw%2Fsdcc;a=commitdiff_plain;h=1db5b304958c8cf096ae0492ab66f8e6d1ba8e1c fix for broken better shift in ad26.c line 207 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@792 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/ds390/gen.c b/src/ds390/gen.c index dc63df81..5f66520f 100644 --- a/src/ds390/gen.c +++ b/src/ds390/gen.c @@ -6665,22 +6665,25 @@ genlshTwo (operand * result, operand * left, int shCount) shCount -= 8; _startLazyDPSEvaluation(); - aopPut (AOP (result), zero, LSB); + if (size > 1) { if (shCount) { _endLazyDPSEvaluation(); shiftL1Left2Result (left, LSB, result, MSB16, shCount); + aopPut (AOP (result), zero, LSB); } else { movLeft2Result (left, LSB, result, MSB16, 0); + aopPut (AOP (result), zero, LSB); _endLazyDPSEvaluation(); } } else { + aopPut (AOP (result), zero, LSB); _endLazyDPSEvaluation(); } }