Commit 60ffa0e5 by Richard Henderson Committed by Richard Henderson

* config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.

From-SVN: r49259
parent 51584787
2002-01-26 Richard Henderson <rth@redhat.com> 2002-01-26 Richard Henderson <rth@redhat.com>
* config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
2002-01-26 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too. * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
(alpha_sa_size): Use alpha_sa_mask to compute size of saved regs. (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
......
...@@ -1363,8 +1363,11 @@ cris_print_operand (file, x, code) ...@@ -1363,8 +1363,11 @@ cris_print_operand (file, x, code)
switch (GET_CODE (operand)) switch (GET_CODE (operand))
{ {
case CONST_INT: case CONST_INT:
/* Sign-extension from a normal int to a long long. */ if (HOST_BITS_PER_WIDE_INT == 32)
fprintf (file, INTVAL (operand) < 0 ? "-1" : "0"); /* Sign-extension from a normal int to a long long. */
fprintf (file, INTVAL (operand) < 0 ? "-1" : "0");
else
fprintf (file, "0x%x", (unsigned int)(INTVAL (x) >> 31 >> 1));
return; return;
case CONST_DOUBLE: case CONST_DOUBLE:
...@@ -1447,8 +1450,13 @@ cris_print_operand (file, x, code) ...@@ -1447,8 +1450,13 @@ cris_print_operand (file, x, code)
fprintf (file, "0x%x", CONST_DOUBLE_LOW (x)); fprintf (file, "0x%x", CONST_DOUBLE_LOW (x));
return; return;
} }
/* If not a CONST_DOUBLE, the least significant part equals the else if (HOST_BITS_PER_WIDE_INT > 32 && GET_CODE (operand) == CONST_INT)
normal part, so handle it normally. */ {
fprintf (file, "0x%x", (unsigned int)(INTVAL (x) & 0xffffffff));
return;
}
/* Otherwise the least significant part equals the normal part,
so handle it normally. */
break; break;
case 'A': case 'A':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment