* i386.c (dimode_scalar_chain::compute_convert_gain): Use
commitd2d928cf6a3c32f79ced3e4f643737cd24196550
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Oct 2017 15:10:09 +0000 (23 15:10 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 23 Oct 2017 15:10:09 +0000 (23 15:10 +0000)
tree231d0369100a82c6aaacef580a138587db0e8b3d
parente3f64b6a6c1dbc7cf86c6927b25d3357cb6c1556
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254012 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/x86-tune-costs.h