]> gcc.gnu.org Git - gcc.git/commit
Update znver4 costs
authorJan Hubicka <jh@suse.cz>
Thu, 22 Dec 2022 01:16:24 +0000 (02:16 +0100)
committerJan Hubicka <jh@suse.cz>
Thu, 18 Jan 2024 14:37:41 +0000 (15:37 +0100)
commite9238dac5842246ec00a65fc8d744f2fd6714daf
tree5924f8eb57c12510f2c0f8da44d2f8603722f6b7
parentc9e9681a344b81308f746490cc6b9be242cfaa43
Update znver4 costs

Update cost of znver4 mostly based on data measued by Agner Fog.
Compared to previous generations x87 became bit slower which is probably not
big deal (and we have minimal benchmarking coverage for it).  One interesting
improvement is reducation of FMA cost.  I also updated costs of AVX256
loads/stores  based on latencies (not throughput which is twice of avx256).
Overall AVX512 vectorization seems to improve noticeably some of TSVC
benchmarks but since internally 512 vectors are split to 256 vectors it is
somewhat risky and does not win in SPEC scores (mostly by regressing benchmarks
with loop that have small trip count like x264 and exchange), so for now I am
going to set AVX256_OPTIMAL tune but I am still playing with it.  We improved
since ZNVER1 on choosing vectorization size and also have vectorized
prologues/epilogues so it may be possible to make avx512 small win overall.

2022-12-22  Jan Hubicka  <hubicka@ucw.cz>

* config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
moves, division multiplication, gathers, L2 cache size, and more
complex FP instrutions.

(cherry picked from commit bbe04bade0cc3b17e62c2af3d89b899367e7d2d1)
gcc/config/i386/x86-tune-costs.h
This page took 0.059284 seconds and 6 git commands to generate.