diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2004-01-12 16:01:18 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2004-01-12 16:01:18 +0000 |
commit | 8064d930e80f245b379f51072b4b85746b8e4ccf (patch) | |
tree | d2d187c5236a718fef9ef1c9c16d56b0ca1d73a8 /gcc/simplify-rtx.c | |
parent | 0786ca878437acd1ec713b86b94b02526ea5dcc4 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 3 |
1 files changed, 2 insertions, 1 deletions
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 |