diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-02-06 00:29:03 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2009-02-06 00:29:03 +0000 |
commit | 6d39673dce04f511bc7e764a6773c2c5da6b0178 (patch) | |
tree | 4860039d5d3ae30262d476aafa56a955ff12f7c5 | |
parent | e25e4088b968c9d738986e1d4896a9eab6d2b9ae (diff) | |
download | gcc-6d39673dce04f511bc7e764a6773c2c5da6b0178.zip gcc-6d39673dce04f511bc7e764a6773c2c5da6b0178.tar.gz gcc-6d39673dce04f511bc7e764a6773c2c5da6b0178.tar.bz2 |
re PR target/38991 (SH: ICE in extract_insn at recog.c:1990)
PR target/38991
* config/sh/predicates.md (general_movsrc_operand): Don't check
the subreg of system registers here.
From-SVN: r143978
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/predicates.md | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 92bb49c..f0822dc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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 Jakub Jelinek <jakub@redhat.com> PR c++/39106 diff --git a/gcc/config/sh/predicates.md b/gcc/config/sh/predicates.md index ff6a1a28..bbd5fd4 100644 --- a/gcc/config/sh/predicates.md +++ b/gcc/config/sh/predicates.md @@ -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. ;; @@ -392,12 +392,6 @@ 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)) |