Could you come up with a proper SSE2 version ?... Because, by default, and unless users build the viewer themselves with the AVX optimizations on (or the --tune option for the Linux build script), only SSE2 is used in the official builds...
Yes, I could test AVX builds with _mm256_storeu_ps() and it works fine then.
The crash actually happened with clang builds (I have been using clang for devel builds for a while now, because clang builds much faster than gcc, so I loose less time waiting for the build to complete), so clang and gcc seem to behave exactly the same way in this respect, under Linux... Maybe clang for MSVC would also behave the same.
You should not rely
at all on default C/C++ compilers automatic alignments: depending on the compiler version and "brand" you can get differently aligned variables, and must
always explicitly align() them in the source code to avoid issues, where alignment does matter.