https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70441
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- C++ does not support dynamic allocation of over-aligned types (usually SIMD vectors, but also __float128 on x86 for instance). C++17 will partially support it (operator new), but still not fix the std::vector case, which has to wait until C++20 (assuming someone actually does the work of writing and pushing a proposal) :-( Well, actually, you can always write your own allocator which provides properly aligned memory.