]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR target/38991 (SH: ICE in extract_insn at recog.c:1990)
authorKaz Kojima <kkojima@gcc.gnu.org>
Sun, 8 Feb 2009 00:53:30 +0000 (00:53 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Sun, 8 Feb 2009 00:53:30 +0000 (00:53 +0000)
Backport from mainline:
2009-02-05  Kaz Kojima  <kkojima@gcc.gnu.org>

PR target/38991
* config/sh/predicates.md (general_movsrc_operand): Don't check
the subreg of system registers here.

From-SVN: r144013

gcc/ChangeLog
gcc/config/sh/predicates.md

index c7f4ba384988d747bb75c09cc52e9a03eea6346e..84af05a3cc524baff525b0c70d726c056f755d95 100644 (file)
@@ -1,3 +1,12 @@
+2009-02-07  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       Backport from mainline:
+       2009-02-05  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/38991
+       * config/sh/predicates.md (general_movsrc_operand): Don't check
+       the subreg of system registers here.
+
 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
 
        PR c/35435
index c04235cd1ff17757a86dad8b29cb98a430d19d10..ef6586c146d38aaff3308ea29c3b59a11e02188d 100644 (file)
@@ -1,5 +1,5 @@
 ;; Predicate definitions for Renesas / SuperH SH.
-;; Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GCC.
 ;;
        return 0;
     }
 
-  if ((mode == QImode || mode == HImode)
-      && (GET_CODE (op) == SUBREG
-         && GET_CODE (XEXP (op, 0)) == REG
-         && system_reg_operand (XEXP (op, 0), mode)))
-    return 0;
-
   if (TARGET_SHMEDIA
       && (GET_CODE (op) == PARALLEL || GET_CODE (op) == CONST_VECTOR)
       && sh_rep_vec (op, mode))