summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-02 17:37:22 +0000
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>1999-04-02 17:37:22 +0000
commitf13e56bb05bb7b24e61159e234e362d0076e139a (patch)
tree295b2dcaf27a40fc62354e53ea620658abf4c530
parent2be4661506eee3088b4c210533e1bc33747af9d1 (diff)
downloadgcc-f13e56bb05bb7b24e61159e234e362d0076e139a.tar.gz
print large constants in hex not dec.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26142 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c34
2 files changed, 23 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1e01799e198..21afe87981f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+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
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 0888c24521f..e8a4d4c4e7d 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -5700,13 +5700,15 @@ arm_print_operand (stream, x, code)
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);
@@ -5725,21 +5727,21 @@ arm_print_operand (stream, x, code)
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;