https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116974
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:9df0772d50d8f8a75389d319949632e5d111cc6c commit r15-4196-g9df0772d50d8f8a75389d319949632e5d111cc6c Author: Richard Biener <rguent...@suse.de> Date: Wed Mar 13 14:59:27 2024 +0100 tree-optimization/116974 - Handle single-lane SLP for OMP scan store The following massages the GIMPLE matching way of handling scan stores to work with single-lane SLP. I do not fully understand all the cases that can happen and the stmt matching at vectorizable_store time is less than ideal - but the following gets me all the testcases to pass with and without forced SLP. Long term we want to perform the matching at SLP discovery time, properly chaining the various SLP instances the current state ends up with. PR tree-optimization/116974 * tree-vect-stmts.cc (check_scan_store): Pass in the SLP node instead of just a flag. Allow single-lane scan stores. (vectorizable_store): Adjust. * tree-vect-loop.cc (vect_analyze_loop_2): Empty scan_map before re-trying.