https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106346
--- Comment #2 from manolis.tsamis at vrull dot eu --- I bisected the changes from GCC 10.3 onwards and the first commit that results in the "worse" version of the generated code is 9fc9573f9a5e9432e53c7de93985cfbd267f0309: [2/3] [vect] Add widening add, subtract patterns Add widening add, subtract patterns to tree-vect-patterns. Update the widened code of patterns that detect PLUS_EXPR to also detect WIDEN_PLUS_EXPR. These patterns take 2 vectors with N elements of size S and perform an add/subtract on the elements, storing the results as N elements of size 2*S (in 2 result vectors). This is implemented in the aarch64 backend as addl,addl2 and subl,subl2 respectively. Add aarch64 tests for patterns.