The following topics provide you with an understanding of the NEON™ unit and explain how to take advantage of automatic vectorizing features:
NEON technology
The NEON unit
Methods of writing code for NEON
Generating NEON instructions from C or C++ code
NEON C extensions
Automatic vectorization
Data references within a vectorizable loop
Stride patterns and data accesses
Factors affecting NEON vectorization performance
NEON vectorization performance goals
Recommended loop structure for vectorization
Data dependency conflicts when vectorizing code
Carry-around scalar variables and vectorization
Reduction of a vector to a scalar
Vectorization on loops containing pointers
Nonvectorization on loops containing pointers and indirect addressing
Nonvectorization on conditional loop exits
Vectorizable loop iteration counts
Indicating loop iteration counts to the compiler with __promise(expr)
Vectorizable and nonvectorizable use of structures
Grouping use of structures for vectorization
struct member lengths and vectorization
Nonvectorization of function calls to non-inline functions from within loops
Conditional statements and efficient vectorization
Vectorization diagnostics to tune code for improved performance
Vectorizable code example
DSP vectorizable code example
What can limit or prevent automatic vectorization.