This is happening when building with both gcc 6.1 and Clang top of trunk, which makes it likely a bug in either the Eigen library (not sure which component) or in the benchmark itself.
I used SDE[https://software.intel.com/en-us/articles/intel-software-development-emulator] to emulate AVX512.
1. Set the following CMake option to enable AVX512:
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG -march=skylake-avx512
2. Run the benchmark under SDE:
sde64 -skx -- ./btl_eigen3_adv
size = 196 355.661 355.661 355.661 MFlops (44/100)
size = 184 294.253 294.253 294.253 MFlops (45/100)
size = 173 244.571 244.571 244.571 MFlops (46/100)
size = 162 200.823 323.401 343.087 MFlops (47/100)
size = 152 249.855 268.765 268.765 MFlops (48/100)
size = 143 223.795 223.795 223.795 MFlops (49/100)
size = 134 184.143 246.703 250.528 MFlops (50/100)
size = 126 SDE ERROR: TID: 0 executed instruction with an unaligned memory reference to address 0x7ffc06e121a0 INSTR: 0x000412a5c: IFORM: VMOVAPS_MEMf32_MASKmskw_ZMMf32_AVX512 :: vmovaps zmmword ptr [rdx-0x140], zmm0
This is likely a bug with Eigen, though it is strange that is has not been detected by the unit test. It is also strange that it shows up for size=126 only. It will take time to investigate.
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1431.