]> git.ipfire.org Git - thirdparty/gcc.git/commit
Zen5 tuning part 4: update reassocation width
authorJan Hubicka <jh@suse.cz>
Tue, 3 Sep 2024 16:20:34 +0000 (18:20 +0200)
committerJan Hubicka <jh@suse.cz>
Tue, 3 Sep 2024 16:20:55 +0000 (18:20 +0200)
commitf0ab3de6ec0e3540f2e57f3f5628005f0a4e3fa5
treec4e60e9e3cde89c03baa1d0699dd39de43688a97
parent36f63000c6f869f4f5550780d77b381b1a8b1700
Zen5 tuning part 4: update reassocation width

Zen5 has 6 instead of 4 ALUs and the integer multiplication can now execute in
3 of them.  FP units can do 2 additions and 2 multiplications with latency 2
and 3.  This patch updates reassociation width accordingly.  This has potential
of increasing register pressure but unlike while benchmarking znver1 tuning
I did not noticed this actually causing problem on spec, so this patch bumps
up reassociation width to 6 for everything except for integer vectors, where
there are 4 units with typical latency of 1.

Bootstrapped/regtested x86_64-linux, comitted.

gcc/ChangeLog:

* config/i386/i386.cc (ix86_reassociation_width): Update for Znver5.
* config/i386/x86-tune-costs.h (znver5_costs): Update reassociation
widths.
gcc/config/i386/i386.cc
gcc/config/i386/x86-tune-costs.h