]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/23831 (ICE in immed_double_const with vectorized multipication)
authorUros Bizjak <uros@kss-loka.si>
Mon, 26 Sep 2005 18:16:07 +0000 (20:16 +0200)
committerIan Lance Taylor <ian@gcc.gnu.org>
Mon, 26 Sep 2005 18:16:07 +0000 (18:16 +0000)
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
gcc/simplify-rtx.c

index 5654d3df2bff58e4386a2bf3344b35e94cf6bd60..2d94072f915d70c6498bead0de31244a57927829 100644 (file)
@@ -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.
index 1b99677fdb5fa6aef34d9e9cf33d695c4528d06a..44a1660e6882477101a18beb76058ed2924f20b1 100644 (file)
@@ -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;