m68k.md (adddi3, subdi3): Properly negate the DImode constant.

* config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
	constant.

From-SVN: r19607
This commit is contained in:
Andreas Schwab 1998-05-07 01:59:07 +00:00 committed by Andreas Schwab
parent a59bfd78eb
commit 436bf9fb5b
2 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,8 @@
Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
constant.
Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com>
* Makefile.in (dwarfout.o) Add toplev.h dependency.

View File

@ -2166,6 +2166,10 @@
else
operands[1] = adj_offsettable_operand (operands[2], 4);
xoperands[0] = operands[3];
if (GET_CODE (operands[1]) == CONST_INT
&& INTVAL (operands[1]) >= -8 && INTVAL (operands[1]) < 0)
xoperands[1] = GEN_INT (-INTVAL (operands[2]) - 1);
else
xoperands[1] = operands[2];
output_asm_insn (output_move_simode (xoperands), xoperands);
if (GET_CODE (operands[1]) == CONST_INT)
@ -2182,9 +2186,9 @@
{
operands[1] = GEN_INT (-INTVAL (operands[1]));
#ifdef NO_ADDSUB_Q
return \"sub%.l %1,%R0\;addx%.l %3,%0\";
return \"sub%.l %1,%R0\;subx%.l %3,%0\";
#else
return \"subq%.l %1,%R0\;addx%.l %3,%0\";
return \"subq%.l %1,%R0\;subx%.l %3,%0\";
#endif
}
}
@ -2719,6 +2723,10 @@
else
operands[1] = adj_offsettable_operand (operands[2], 4);
xoperands[0] = operands[3];
if (GET_CODE (operands[1]) == CONST_INT
&& INTVAL (operands[1]) >= -8 && INTVAL (operands[1]) < 0)
xoperands[1] = GEN_INT (-INTVAL (operands[2]) - 1);
else
xoperands[1] = operands[2];
output_asm_insn (output_move_simode (xoperands), xoperands);
if (GET_CODE (operands[1]) == CONST_INT)
@ -2735,9 +2743,9 @@
{
operands[1] = GEN_INT (-INTVAL (operands[1]));
#ifdef NO_ADDSUB_Q
return \"add%.l %1,%R0\;subx%.l %3,%0\";
return \"add%.l %1,%R0\;addx%.l %3,%0\";
#else
return \"addq%.l %1,%R0\;subx%.l %3,%0\";
return \"addq%.l %1,%R0\;addx%.l %3,%0\";
#endif
}
}