From 7860ea6460151466a37ba9471227ff59d7c95ab6 Mon Sep 17 00:00:00 2001 From: epetrich Date: Thu, 2 Sep 2004 14:24:21 +0000 Subject: [PATCH] * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for accumulator result if it needs sign extension git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3474 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- ChangeLog | 5 +++++ src/hc08/ralloc.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9e1e06ef..437444f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-09-02 Erik Petrich + + * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for + accumulator result if it needs sign extension + 2004-09-02 Maarten Brock * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug diff --git a/src/hc08/ralloc.c b/src/hc08/ralloc.c index a91e687f..fdb71ba6 100644 --- a/src/hc08/ralloc.c +++ b/src/hc08/ralloc.c @@ -2538,7 +2538,8 @@ canDefAccResult (iCode * ic) { case LEFT_OP: case RIGHT_OP: - return isOperandLiteral (IC_RIGHT (ic)); + return isOperandLiteral (IC_RIGHT (ic)) + && SPEC_USIGN (operandType (IC_RESULT (ic))); case CALL: case PCALL: case '*': -- 2.30.2