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

From-SVN: r49259
This commit is contained in:
Richard Henderson 2002-01-26 19:42:07 -08:00 committed by Richard Henderson
parent 51584787e0
commit 60ffa0e5ba
2 changed files with 16 additions and 4 deletions

View File

@ -1,3 +1,7 @@
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.

View File

@ -1363,8 +1363,11 @@ cris_print_operand (file, x, code)
switch (GET_CODE (operand))
{
case CONST_INT:
/* Sign-extension from a normal int to a long long. */
fprintf (file, INTVAL (operand) < 0 ? "-1" : "0");
if (HOST_BITS_PER_WIDE_INT == 32)
/* 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;
case CONST_DOUBLE:
@ -1447,8 +1450,13 @@ cris_print_operand (file, x, code)
fprintf (file, "0x%x", CONST_DOUBLE_LOW (x));
return;
}
/* If not a CONST_DOUBLE, the least significant part equals the
normal part, so handle it normally. */
else if (HOST_BITS_PER_WIDE_INT > 32 && GET_CODE (operand) == CONST_INT)
{
fprintf (file, "0x%x", (unsigned int)(INTVAL (x) & 0xffffffff));
return;
}
/* Otherwise the least significant part equals the normal part,
so handle it normally. */
break;
case 'A':