]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR other/8451 (altivec ice in gcc 3.2)
authorAldy Hernandez <aldyh@redhat.com>
Mon, 4 Nov 2002 18:39:45 +0000 (18:39 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 4 Nov 2002 18:39:45 +0000 (18:39 +0000)
2002-11-04  Aldy Hernandez  <aldyh@redhat.com>

        Backport patch to fix PR c/8451.

        2002-04-25  Richard Henderson  <rth@redhat.com>

        * expmed.c (extract_bit_field): Fall through to generic code rather
        than aborting on subreg special case.

From-SVN: r58796

gcc/ChangeLog
gcc/expmed.c

index 324a0dbc37eea75311d2afa2ad6c8ca12529e076..b1b7fa4a385fd859970efc2a0e638a41df3291d3 100644 (file)
@@ -1,3 +1,12 @@
+2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+        Backport patch to fix PR c/8451.
+
+        2002-04-25  Richard Henderson  <rth@redhat.com>
+
+        * expmed.c (extract_bit_field): Fall through to generic code rather
+        than aborting on subreg special case.
+
 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/8391
index ab127ec6043cafcee16c6f02919445b3924690e8..ce893353aa0465fb100c2ac1227e010ddef73c74 100644 (file)
@@ -1144,7 +1144,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
                /* Else we've got some float mode source being extracted into
                   a different float mode destination -- this combination of
                   subregs results in Severe Tire Damage.  */
-               abort ();
+               goto no_subreg_mode_swap;
            }
          if (GET_CODE (op0) == REG)
            op0 = gen_rtx_SUBREG (mode1, op0, byte_offset);
@@ -1155,6 +1155,7 @@ extract_bit_field (str_rtx, bitsize, bitnum, unsignedp,
        return convert_to_mode (tmode, op0, unsignedp);
       return op0;
     }
+ no_subreg_mode_swap:
 
   /* Handle fields bigger than a word.  */