]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/39767 (libgcc2.c:562: internal compiler error: RTL check: expected code...
authorKaz Kojima <kkojima@gcc.gnu.org>
Thu, 16 Apr 2009 21:58:59 +0000 (21:58 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Thu, 16 Apr 2009 21:58:59 +0000 (21:58 +0000)
PR target/39767
* config/sh/predicates.md (arith_operand): Check if the operand
of TRUNCATE is a REG.

From-SVN: r146216

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

index 581689b43c209dcd05d554a009aa3f4a928bc936..7fba65d5db878e73b02118d1aacb442d6abeb417 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/39767
+       * config/sh/predicates.md (arith_operand): Check if the operand
+       of TRUNCATE is a REG.
+
 2009-04-16  Kazu Hirata  <kazu@codesourcery.com>
 
        * cfgrtl.c (delete_insn_chain_and_edges): Remove.
index f800db7b7d170b98b837749f483b3e6197c59c30..da9962c9984c0f6512680d74feabfe655bdea487 100644 (file)
          || satisfies_constraint_Css (op))
        return 1;
       else if (GET_CODE (op) == TRUNCATE
+              && GET_CODE (XEXP (op, 0)) == REG
               && ! system_reg_operand (XEXP (op, 0), VOIDmode)
               && (mode == VOIDmode || mode == GET_MODE (op))
               && (GET_MODE_SIZE (GET_MODE (op))