aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2004-01-12 16:01:18 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2004-01-12 16:01:18 +0000
commit8064d930e80f245b379f51072b4b85746b8e4ccf (patch)
treed2d187c5236a718fef9ef1c9c16d56b0ca1d73a8
parent0786ca878437acd1ec713b86b94b02526ea5dcc4 (diff)
downloadgcc-8064d930e80f245b379f51072b4b85746b8e4ccf.zip
gcc-8064d930e80f245b379f51072b4b85746b8e4ccf.tar.gz
gcc-8064d930e80f245b379f51072b4b85746b8e4ccf.tar.bz2
simplify-rtx.c (simplify_immed_subreg): Correctly extract the high word of an integral CONST_DOUBLE.
* simplify-rtx.c (simplify_immed_subreg): Correctly extract the high word of an integral CONST_DOUBLE. From-SVN: r75725
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/simplify-rtx.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 724ede3..a3970ca 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-12 Richard Earnshaw <rearnsha@arm.com>
+
+ * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
+ high word of an integral CONST_DOUBLE.
+
2004-01-09 Paul Brook <paul@codesourcery.com>
* simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index 615e09f..5664bca 100644
--- a/gcc/simplify-rtx.c
+++ b/gcc/simplify-rtx.c
@@ -3041,7 +3041,8 @@ simplify_immed_subreg (enum machine_mode outermode, rtx op,
*vp++ = CONST_DOUBLE_LOW (el) >> i;
while (i < HOST_BITS_PER_WIDE_INT * 2 && i < elem_bitsize)
{
- *vp++ = CONST_DOUBLE_HIGH (el) >> i;
+ *vp++
+ = CONST_DOUBLE_HIGH (el) >> (i - HOST_BITS_PER_WIDE_INT);
i += value_bit;
}
/* It shouldn't matter what's done here, so fill it with