Diagnostic 15126: vectorization support: unaligned access used inside loop body


The loop contains one or more memory accesses for which the vectorizer could not safely use aligned load or store instructions, either because the data are not aligned to an n-byte boundary in memory, or because the compiler does not know the alignment. The value of n depends on the targeted instruction set and corresponds to the width of the vector instructions: 16 for Intel® SSE, 32 for Intel® AVX and 64 for Intel® AVX-512 instructions. In these cases, the vectorizer must use unaligned memory accesses, which may be less efficient. The vectorizer typically generates diagnostic 15134, "vectorization support: reference xxxx has unaligned access", for each individual unaligned memory access. The switch -vec-report6 must be set in order to obtain vectorizer diagnostics relating to data alignment.


See the example provided for Diagnostic 15134: vectorization support: reference xxxx has unaligned access (Fortran)


Ensure that data are aligned where possible, and that the compiler is informed of the alignment, as explained in the article Diagnostic 15134: vectorization support: reference xxxx has unaligned access (Fortran)

For more complete information about compiler optimizations, see our Optimization Notice.