i386.c (inline_memory_move_cost): Correctly compute number of TFmode GPR moves.

* config/i386/i386.c (inline_memory_move_cost): Correctly
	compute number of TFmode GPR moves.

From-SVN: r266729
This commit is contained in:
Uros Bizjak 2018-12-02 23:21:37 +01:00
parent c10a94358f
commit c9c033f0c9
2 changed files with 7 additions and 4 deletions

View File

@ -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.

View File

@ -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);
}
}