Disable alignment, but enable vectorization
The logic in ConfigureVectorization.h
is not correct. It makes impossible to allow vectorization but disable alignment. In documentation it says that EIGEN_MAX_ALIGN_BYTES=0
should force no alignment, but this is not true.
If ideal alignment is larger, this will be used as default alignment. So with -mavx
flags there will be EIGEN_DEFAULT_ALIGN_BYTES=32
regardless of EIGEN_DONT_ALIGN
or EIGEN_MAX_ALIGN_BYTES=0
.
See https://godbolt.org/z/W5xbda (all arrays are aligned despite the setting)