git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5426
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
+
+ * src/z80/ralloc.c:
+ Enabled use of hl as inter-i-code temporary.
+
2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
* src/z80/peeph-z80.def:
2009-04-03 Philipp Klaus Krause <pkk AT spth.de>
* src/z80/peeph-z80.def:
DISABLE_PACK_ACC = 0,
DISABLE_PACK_ASSIGN = 0,
DISABLE_PACK_ONE_USE = 0,
DISABLE_PACK_ACC = 0,
DISABLE_PACK_ASSIGN = 0,
DISABLE_PACK_ONE_USE = 0,
if (ic->op == LEFT_OP && isOperandLiteral (IC_RIGHT (ic)))
continue;
if (ic->op == LEFT_OP && isOperandLiteral (IC_RIGHT (ic)))
continue;
+ if (ic->op == '+' &&
+ (isOperandEqual (op, IC_LEFT (ic)) || isOperandEqual (op, IC_RIGHT (ic))))
+ continue;
+
if ((ic->op == '=' && !POINTER_SET(ic)) ||
ic->op == UNARYMINUS ||
if ((ic->op == '=' && !POINTER_SET(ic)) ||
ic->op == UNARYMINUS ||
ic->op == '-' ||
ic->op == '>' ||
ic->op == '<' ||
ic->op == EQ_OP ||
ic->op == '-' ||
ic->op == '>' ||
ic->op == '<' ||
ic->op == EQ_OP ||
+ (ic->op == '+' && getSize (operandType (IC_RESULT (ic))) == 1))
+ /* 16 bit addition uses add hl, rr */
continue;
if (ic->op == '*' && isOperandEqual (op, IC_LEFT (ic)))
continue;
if (ic->op == '*' && isOperandEqual (op, IC_LEFT (ic)))