aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c4
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d74c1a9..109566e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (inline_memory_move_cost): Correctly
+ compute number of TFmode GPR moves.
+
2018-12-02 Jakub Jelinek <jakub@redhat.com>
PR target/88278
@@ -5,7 +10,7 @@
2018-12-02 Jeff Law <law@redhat.com>
- * config/h8300/h8300.md (call, call_value): Drop mode from
+ * config/h8300/h8300.md (call, call_value): Drop mode from
operand containing number of bytes pushed.
(call_insn, call_value_insn): Use mode iterator for number
of bytes pushed operand. Make pattern name vary appropriately.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 653d720..3e2fdfa 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -39598,15 +39598,13 @@ inline_memory_move_cost (machine_mode mode, enum reg_class regclass, int in)
return MAX (ix86_cost->int_load[1], ix86_cost->int_store[1]);
return in ? ix86_cost->int_load[1] : ix86_cost->int_store[1];
default:
- /* Compute number of 32bit moves needed. TFmode is moved as XFmode. */
- if (mode == TFmode)
- mode = XFmode;
if (in == 2)
cost = MAX (ix86_cost->int_load[2], ix86_cost->int_store[2]);
else if (in)
cost = ix86_cost->int_load[2];
else
cost = ix86_cost->int_store[2];
+ /* Multiply with the number of GPR moves needed. */
return cost * CEIL ((int) GET_MODE_SIZE (mode), UNITS_PER_WORD);
}
}