aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bce140b..3e11cb9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-06-04 Oleg Endo <olegendo@gcc.gnu.org>
+ PR tree-optimization/52171
+ * config/sh/sh.c (sh_use_by_pieces_infrastructure_p): Use
+ by_pieces_ninsns instead of move_by_pieces_ninsns.
+
+2016-06-04 Oleg Endo <olegendo@gcc.gnu.org>
+
* config/sh/sh.c (sh_print_operand_address): Don't use hardcoded 'r0'
for reg+reg addressing mode.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 74327aa..0960a99 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -12506,11 +12506,11 @@ sh_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size,
switch (op)
{
case MOVE_BY_PIECES:
- return move_by_pieces_ninsns (size, align, MOVE_MAX_PIECES + 1)
+ return by_pieces_ninsns (size, align, MOVE_MAX_PIECES + 1, op)
< (!speed_p ? 2 : (align >= 32) ? 16 : 2);
case STORE_BY_PIECES:
case SET_BY_PIECES:
- return move_by_pieces_ninsns (size, align, STORE_MAX_PIECES + 1)
+ return by_pieces_ninsns (size, align, STORE_MAX_PIECES + 1, op)
< (!speed_p ? 2 : (align >= 32) ? 16 : 2);
default:
return default_use_by_pieces_infrastructure_p (size, align,