diff options
author | Uros Bizjak <uros@kss-loka.si> | 2005-09-26 20:16:07 +0200 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2005-09-26 18:16:07 +0000 |
commit | 3242fbd83f70de261f466e95ae900a8d0d997725 (patch) | |
tree | f46ffbf1008d2db1f2d07e034c20b79d5b893b79 /gcc | |
parent | b166bfd2241797cb20f6c830b7350ab42b850ad6 (diff) | |
download | gcc-3242fbd83f70de261f466e95ae900a8d0d997725.tar.gz |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/simplify-rtx.c | 4 |
2 files changed, 9 insertions, 1 deletions
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 <uros@kss-loka.si> + + 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 <fjahanian@apple.com> * 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; |