+Fri Apr 2 17:36:10 1999 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/arm.c (arm_print_operand): Print large constants in
+ hex rather than decimal.
+
Fri Apr 2 17:23:58 1999 Nick Clifton <nickc@cygnus.com>
* print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
case 'B':
if (GET_CODE (x) == CONST_INT)
- fprintf (stream,
-#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
- "%d",
-#else
- "%ld",
-#endif
- ARM_SIGN_EXTEND (~ INTVAL (x)));
+ {
+ HOST_WIDE_INT val;
+ val = ARM_SIGN_EXTEND (~ INTVAL (x));
+
+ if (val < -1000 || val > 1000)
+ fprintf (stream, HOST_WIDE_INT_PRINT_HEX, val);
+ else
+ fprintf (stream, HOST_WIDE_INT_PRINT_DEC, val);
+ }
else
{
putc ('~', stream);
case 'S':
{
HOST_WIDE_INT val;
- char *shift = shift_op (x, &val);
+ char * shift = shift_op (x, & val);
if (shift)
{
- fprintf (stream, ", %s ", shift_op (x, &val));
+ fprintf (stream, ", %s ", shift_op (x, & val));
if (val == -1)
arm_print_operand (stream, XEXP (x, 1), 0);
else
- fprintf (stream,
-#if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_INT
- "#%d",
-#else
- "#%ld",
-#endif
- val);
+ {
+ fputc ('#', stream);
+ if (val < -1000 || val > 1000)
+ fprintf (stream, HOST_WIDE_INT_PRINT_HEX (val));
+ else
+ fprintf (stream, HOST_WIDE_INT_PRINT_DEC (val));
+ }
}
}
return;