3.22 Nonvectorization of function calls to non-inline functions from within loops

Calls to non-inline functions from within a loop inhibit vectorization.

Splitting complex operations into several functions to aid clarity is common practice. However, if such functions are to be considered for vectorization, they must be marked with the __inline or __forceinline keywords if they are called from within any loops. These functions are then expanded inline for vectorization to take place.

Related concepts
3.6 Automatic vectorization
Related reference
8.189 --vectorize, --no_vectorize
10.8 __inline
10.6 __forceinline
Non-ConfidentialPDF file icon PDF versionARM DUI0472J
Copyright © 2010-2013 ARM. All rights reserved.