From 8064d930e80f245b379f51072b4b85746b8e4ccf Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Mon, 12 Jan 2004 16:01:18 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/simplify-rtx.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 724ede3a50b..a3970ca76be 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-01-12 Richard Earnshaw + + * simplify-rtx.c (simplify_immed_subreg): Correctly extract the + high word of an integral CONST_DOUBLE. + 2004-01-09 Paul Brook * simplify-rtx.c (simplify_plus_minus): Always generate canonical form. diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 615e09f8452..5664bca9081 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 -- 2.30.2