diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.c | 18 | ||||
-rw-r--r-- | gcc/sched-vis.c | 2 |
3 files changed, 18 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f29d6a2..65268c1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2005-04-22 David S. Miller <davem@davemloft.net> + + * sched-vis.c (print_value): Use CONST_DOUBLE_LOW and + CONST_DOUBLE_HIGH. + * config/sparc/sparc.c (sparc_rtx_costs): Likewise, and + fix check on CONST_DOUBLE mode. It should be VOIDmode + when it is representing an integer. + 2005-04-22 Nathan Sidwell <nathan@codesourcery.com> * builtins.c (gimplify_va_arg_expr): Reword comments to avoid diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 8e2893d..1349cc7 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -7897,12 +7897,12 @@ sparc_rtx_costs (rtx x, int code, int outer_code, int *total) return true; case CONST_DOUBLE: - if (GET_MODE (x) == DImode - && ((XINT (x, 3) == 0 - && (unsigned HOST_WIDE_INT) XINT (x, 2) < 0x1000) - || (XINT (x, 3) == -1 - && XINT (x, 2) < 0 - && XINT (x, 2) >= -0x1000))) + if (GET_MODE (x) == VOIDmode + && ((CONST_DOUBLE_HIGH (x) == 0 + && CONST_DOUBLE_LOW (x) < 0x1000) + || (CONST_DOUBLE_HIGH (x) == -1 + && CONST_DOUBLE_LOW (x) < 0 + && CONST_DOUBLE_LOW (x) >= -0x1000))) *total = 0; else *total = 8; @@ -7960,11 +7960,11 @@ sparc_rtx_costs (rtx x, int code, int outer_code, int *total) nbits++; } else if (GET_CODE (XEXP (x, 1)) == CONST_DOUBLE - && GET_MODE (XEXP (x, 1)) == DImode) + && GET_MODE (XEXP (x, 1)) == VOIDmode) { rtx x1 = XEXP (x, 1); - unsigned HOST_WIDE_INT value1 = XINT (x1, 2); - unsigned HOST_WIDE_INT value2 = XINT (x1, 3); + unsigned HOST_WIDE_INT value1 = CONST_DOUBLE_LOW (x1); + unsigned HOST_WIDE_INT value2 = CONST_DOUBLE_HIGH (x1); for (nbits = 0; value1 != 0; value1 &= value1 - 1) nbits++; diff --git a/gcc/sched-vis.c b/gcc/sched-vis.c index aa22831..8920fb6 100644 --- a/gcc/sched-vis.c +++ b/gcc/sched-vis.c @@ -435,7 +435,7 @@ print_value (char *buf, rtx x, int verbose) if (FLOAT_MODE_P (GET_MODE (x))) real_to_decimal (t, CONST_DOUBLE_REAL_VALUE (x), sizeof (t), 0, 1); else - sprintf (t, "<0x%lx,0x%lx>", (long) XWINT (x, 2), (long) XWINT (x, 3)); + sprintf (t, "<0x%lx,0x%lx>", (long) CONST_DOUBLE_LOW (x), (long) CONST_DOUBLE_HIGH (x)); cur = safe_concat (buf, cur, t); break; case CONST_STRING: |