https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65952
Bug ID: 65952 Summary: [AArch64] Will not vectorize copying pointers Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: alalaw01 at gcc dot gnu.org Target Milestone: --- Target: aarch64 typedef struct { int a, b, c, d; } my_struct; my_struct *array; my_struct *ptrs[4]; void loop () { for (int i = 0; i < 4; i++) ptrs[i] = &array[i]; } Vectorizes on x86, but not on AArch64. From -fdump-tree-vect-details: test.c:13:3: note: vectorization factor = 4 ... test.c:13:3: note: not vectorized: relevant stmt not supported: _6 = _5 * 16; test.c:13:3: note: bad operation or unsupported loop bound. test.c:13:3: note: ***** Re-trying analysis with vector size 8 ... test.c:13:3: note: not vectorized: no vectype for stmt: ptrs[i_12] = _7; scalar_type: struct my_struct * test.c:13:3: note: bad data references. test.c:11:1: note: vectorized 0 loops in function.