summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-23 00:33:44 +0000
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>2005-04-23 00:33:44 +0000
commit8347c5244b2c42ba47716e42b04275f63b73a23b (patch)
tree0aa351a7e45ad3658288d88b8bca8122c6002626
parentf2322544c5880403400fa5d479b637fc10e17d84 (diff)
downloadgcc-8347c5244b2c42ba47716e42b04275f63b73a23b.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@98596 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/sparc/sparc.c18
-rw-r--r--gcc/sched-vis.c2
3 files changed, 18 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f29d6a2fa1c..65268c14cca 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 8e2893d4cd3..1349cc79432 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 aa228317ba0..8920fb6a320 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: