https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102058
Bug ID: 102058 Summary: 450.soplex regressed on x86_64 with -Ofast -march=generic (by 8-15%) Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org CC: rguenth at gcc dot gnu.org Blocks: 26163 Target Milestone: --- All three LNT x86_64 testers have experienced a regression when running SPECFP 2006 benchmark 450.soplex compiled with -Ofast -march=generic (as opposed to -march=native builds which seem not to be affected). A znver2 machine regressed by 15%: https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=414.150.0&plot.1=300.150.0& A znver1 machine regressed by 8%: https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=451.150.0&plot.1=27.150.0& An Intel Kabylake machine regressed by 9%: https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=429.150.0&plot.1=25.150.0& I have bisected the regression (on another znver2 machine) to revision r12-2733-g31855ba6b16: 31855ba6b16cd138d7484076a08cd40d609654b8 is the first bad commit commit 31855ba6b16cd138d7484076a08cd40d609654b8 Author: Richard Biener <rguent...@suse.de> Date: Thu Jul 29 14:14:48 2021 +0200 Add emulated gather capability to the vectorizer This adds a gather vectorization capability to the vectorizer without target support by decomposing the offset vector, doing sclar loads and then building a vector from the result. This is aimed mainly at cases where vectorizing the rest of the loop offsets the cost of vectorizing the gather. [...] Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163 [Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)