https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95960
Bug ID: 95960 Summary: GCC should re-vectorize vector code with larger VF Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- For the following simple case GCC should vectorize it using AVX: typedef double __attribute__((vector_size(16))) v2df; double a[4]; double b[4]; void f() { *(v2df *)&b[0] += *(v2df *)&a[0]; *(v2df *)&b[2] += *(v2df *)&a[2]; } Similar opportunities may exist for loops where also Neon -> SVE transforms may be profitable. Starting with BB vectorization might be easier since you only need to consider SLP.