diff --git a/gcc/config/sh/predicates.md b/gcc/config/sh/predicates.md index ff6a1a2..2789e51 100644 --- a/gcc/config/sh/predicates.md +++ b/gcc/config/sh/predicates.md @@ -112,13 +112,14 @@ || satisfies_constraint_Css (op)) return 1; else if (GET_CODE (op) == TRUNCATE + && register_operand (XEXP (op, 0), VOIDmode) && ! system_reg_operand (XEXP (op, 0), VOIDmode) && (mode == VOIDmode || mode == GET_MODE (op)) && (GET_MODE_SIZE (GET_MODE (op)) < GET_MODE_SIZE (GET_MODE (XEXP (op, 0)))) && (! FP_REGISTER_P (REGNO (XEXP (op, 0))) || GET_MODE_SIZE (GET_MODE (op)) == 4)) - return register_operand (XEXP (op, 0), VOIDmode); + return 1; else return 0; }