+2016-09-27 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/sh.c (sh_rtx_costs): Fix return value of SET of movt and
+ movrt patterns. Match them before anything else in the SET case.
+
2016-09-27 Martin Liska <mliska@suse.cz>
PR gcov-profile/7970
vector-move, so we have to provide the correct cost in the number
of move insns to load/store the reg of the mode in question. */
case SET:
+ if (sh_movt_set_dest (x) != NULL || sh_movrt_set_dest (x) != NULL)
+ {
+ *total = COSTS_N_INSNS (1);
+ return true;
+ }
+
if (register_operand (SET_DEST (x), VOIDmode)
&& (register_operand (SET_SRC (x), VOIDmode)
|| satisfies_constraint_Z (SET_SRC (x))))
/ mov_insn_size (mode, TARGET_SH2A));
return true;
}
-
- if (sh_movt_set_dest (x) != NULL || sh_movrt_set_dest (x) != NULL)
- return COSTS_N_INSNS (1);
-
return false;
/* The cost of a mem access is mainly the cost of the address mode. */