diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/predicates.md | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 581689b..7fba65d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/sh/predicates.md b/gcc/config/sh/predicates.md index f800db7..da9962c 100644 --- a/gcc/config/sh/predicates.md +++ b/gcc/config/sh/predicates.md @@ -112,6 +112,7 @@ || 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)) |