mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-09 17:11:20 +08:00
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:
parent
c10a94358f
commit
c9c033f0c9
@ -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.
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user