pdp11.c (output_addr_const_pdp11): Output negative values with sign rather than as unsigned.

* config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
values with sign rather than as unsigned.

From-SVN: r167566
This commit is contained in:
Paul Koning 2010-12-07 14:55:07 -05:00
parent 0e29f7e5af
commit 6b208988ad
1 changed files with 13 additions and 12 deletions

View File

@ -1881,7 +1881,8 @@ void
output_addr_const_pdp11 (FILE *file, rtx x)
{
char buf[256];
int i;
restart:
switch (GET_CODE (x))
{
@ -1905,7 +1906,13 @@ output_addr_const_pdp11 (FILE *file, rtx x)
break;
case CONST_INT:
fprintf (file, "%#o", (int) INTVAL (x) & 0xffff);
i = INTVAL (x);
if (i < 0)
{
i = -i;
fprintf (file, "-");
}
fprintf (file, "%#o", i & 0xffff);
break;
case CONST:
@ -1953,16 +1960,10 @@ output_addr_const_pdp11 (FILE *file, rtx x)
goto restart;
output_addr_const_pdp11 (file, XEXP (x, 0));
fprintf (file, "-");
if (GET_CODE (XEXP (x, 1)) == CONST_INT
&& INTVAL (XEXP (x, 1)) < 0)
{
fprintf (file, targetm.asm_out.open_paren);
output_addr_const_pdp11 (file, XEXP (x, 1));
fprintf (file, targetm.asm_out.close_paren);
}
else
output_addr_const_pdp11 (file, XEXP (x, 1));
if (GET_CODE (XEXP (x, 1)) != CONST_INT
|| INTVAL (XEXP (x, 1)) >= 0)
fprintf (file, "-");
output_addr_const_pdp11 (file, XEXP (x, 1));
break;
case ZERO_EXTEND: