From 3242fbd83f70de261f466e95ae900a8d0d997725 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 26 Sep 2005 20:16:07 +0200 Subject: re PR middle-end/23831 (ICE in immed_double_const with vectorized multipication) PR middle-end/23831 * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT. From-SVN: r104650 --- gcc/ChangeLog | 6 ++++++ gcc/simplify-rtx.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5654d3df2bf..2d94072f915 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-09-26 Uros Bizjak + + PR middle-end/23831 + * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip + simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT. + 2005-09-26 Fariborz Jahanian * combine.c (make_extraction): Check for valid use of subreg. diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 1b99677fdb5..44a1660e688 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -3743,8 +3743,10 @@ simplify_immed_subreg (enum machine_mode outermode, rtx op, know why. */ if (elem_bitsize <= HOST_BITS_PER_WIDE_INT) elems[elem] = gen_int_mode (lo, outer_submode); - else + else if (elem_bitsize <= 2 * HOST_BITS_PER_WIDE_INT) elems[elem] = immed_double_const (lo, hi, outer_submode); + else + return NULL_RTX; } break; -- cgit v1.2.1