From: Richard Henderson Date: Sun, 27 Jan 2002 03:42:07 +0000 (-0800) Subject: * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=60ffa0e5ba727cd58d9ed2df93a9bdd71465999b;p=gcc.git * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT. From-SVN: r49259 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6a374cdf9e..57fd4b96403 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-01-26 Richard Henderson + + * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT. + 2002-01-26 Richard Henderson * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too. diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index 8d2afa82d06..480b59cb563 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -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':