re PR middle-end/10557 ([m68k] ICE in subreg_offset_representable_p)
authorRichard Henderson <rth@redhat.com>
Fri, 13 Jun 2003 05:30:33 +0000 (22:30 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 13 Jun 2003 05:30:33 +0000 (22:30 -0700)
        PR middle-end/10557
        * rtlanal.c (subreg_offset_representable_p): Relax subreg check.

From-SVN: r67878

gcc/ChangeLog
gcc/rtlanal.c

index 1689d6c5124bdd81dc197c180efc779bb5d90f10..83f42b5ed846836bd851621ee0a9e008cf3f3418 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-12  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/10557
+       * rtlanal.c (subreg_offset_representable_p): Relax subreg check.
+
 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/m32r/m32r.md: Fix a comment typo.
index b7fbe4a05ce7075126e3fb30ee111a276e38e4e9..2ce25956331fe1580fa4a060ff705aca6d9ad54e 100644 (file)
@@ -3427,16 +3427,10 @@ subreg_offset_representable_p (xregno, xmode, offset, ymode)
 
 #ifdef ENABLE_CHECKING
   /* This should always pass, otherwise we don't know how to verify the
-     constraint. 
-
-     These conditions may be relaxed but subreg_offset would need to be
-     redesigned.  */
+     constraint.  These conditions may be relaxed but subreg_offset would
+     need to be redesigned.  */
   if (GET_MODE_SIZE (xmode) % GET_MODE_SIZE (ymode)
       || GET_MODE_SIZE (ymode) % nregs_ymode
-      || (GET_MODE_BITSIZE (mode_for_size (GET_MODE_BITSIZE (xmode)
-                                          / nregs_xmode,
-                                          MODE_INT, 0))
-         != GET_MODE_BITSIZE (xmode) / nregs_xmode)
       || nregs_xmode % nregs_ymode)
     abort ();
 #endif