6.6.3 : Manual vectorization (by Intrinsic functions)

The idea is to force the compiler to do what you want and how you want it.

The Intel intrinsics documentation : https://software.intel.com/en-us/node/523351



  • Some changes (for AVX2) :
    • Include : immintrin.h
    • float : __m256 (= 8 float)
    • Data loading : _mm256_load_ps
    • Data Storage : _mm256_store_ps
    • Multiply : _mm256_mul_ps


Only on aligned data of course.


Let's create a main_intrinsics.cpp file.