OSDN Git Service

PR middle-end/23831
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Sep 2005 18:16:07 +0000 (18:16 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 26 Sep 2005 18:16:07 +0000 (18:16 +0000)
* simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104650 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/simplify-rtx.c

index 5654d3d..2d94072 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 1b99677..44a1660 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;