]> git.ipfire.org Git - thirdparty/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, 22 Dec 2022 01:16:24 +0000 (02:16 +0100)
commitbbe04bade0cc3b17e62c2af3d89b899367e7d2d1
treeb51f81927c88afeafd58c432bc618ec4c3b4257b
parentde282a2012049ea7d1236f8cb6f946385057c20f
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.
gcc/config/i386/x86-tune-costs.h