i386.c (dimode_scalar_chain::compute_convert_gain): Use xmm_move instead of sse_move.
authorJan Hubicka <hubicka@ucw.cz>
Mon, 23 Oct 2017 15:10:09 +0000 (17:10 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 23 Oct 2017 15:10:09 +0000 (15:10 +0000)
commitdf41dbaf7eae8dcb0841b62647f7504ed13a1d64
tree231d0369100a82c6aaacef580a138587db0e8b3d
parent47a6cc4e2932003063c2b56021f4b31bdeb5f746
i386.c (dimode_scalar_chain::compute_convert_gain): Use xmm_move instead of sse_move.

* i386.c (dimode_scalar_chain::compute_convert_gain): Use
xmm_move instead of sse_move.
(sse_store_index): New function.
(ix86_register_move_cost): Be more sensible about mismatch stall;
model AVX moves correctly; make difference between sse->integer and
integer->sse.
(ix86_builtin_vectorization_cost): Model correctly aligned and unaligned
moves; make difference between SSE and AVX.
* i386.h (processor_costs): Remove sse_move; add xmm_move, ymm_move
and zmm_move. Increase size of sse load and store tables;
add unaligned load and store tables; add ssemmx_to_integer.
* x86-tune-costs.h: Update all entries according to real
move latencies from Agner Fog's manual and chip documentation.

From-SVN: r254012
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/x86-tune-costs.h