------- Comment #2 from abel at gcc dot gnu dot org  2010-06-30 08:49 -------
The below patch fixes the problem for me.

diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 8590b8a..15c4e51 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -837,7 +837,8 @@ count_occurrences_1 (rtx *cur_rtx, void *arg)

   if (GET_CODE (*cur_rtx) == SUBREG
       && REG_P (p->x)
-      && REGNO (SUBREG_REG (*cur_rtx)) == REGNO (p->x))
+      && (!REG_P (SUBREG_REG (*cur_rtx))
+         || REGNO (SUBREG_REG (*cur_rtx)) == REGNO (p->x)))
     {
       /* ??? Do not support substituting regs inside subregs.  In that case,
          simplify_subreg will be called by validate_replace_rtx, and


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44691

Reply via email to