diff options
author | Richard Biener <rguenther@suse.de> | 2024-11-25 13:32:15 +0100 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-11-25 14:24:30 +0100 |
commit | cd8db107b9bef73fd822ffb420f96ed2bc622a19 (patch) | |
tree | a951d973e88f067189e6c460b419d58ed15baf2f /gcc/config.gcc | |
parent | d9c908b75039653f2b7717b4b7cdffdc4f0fcc7d (diff) | |
download | gcc-cd8db107b9bef73fd822ffb420f96ed2bc622a19.zip gcc-cd8db107b9bef73fd822ffb420f96ed2bc622a19.tar.gz gcc-cd8db107b9bef73fd822ffb420f96ed2bc622a19.tar.bz2 |
target/116760 - 416.gamess slowdown with SLP
For the TWOTFF loop vectorization the backend scales constructor
and vector extract cost to make higher VFs less profitable. This
heuristic currently fails to consider VMAT_STRIDED_SLP which we
now get with single-lane SLP, causing a huge regression in SPEC 2k6
416.gamess for the respective loop nest.
The following fixes this, matching behavior to that of GCC 14 by
treating single-lane VMAT_STRIDED_SLP the same as VMAT_ELEMENTWISE.
PR target/116760
* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
Scale vec_construct for single-lane VMAT_STRIDED_SLP the
same as VMAT_ELEMENTWISE.
* tree-vect-stmts.cc (vectorizable_store): Pass SLP node
down to costing for vec_to_scalar for VMAT_STRIDED_SLP.
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions