rendered paste bodydiff --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;
}