https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90611
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target| |i?86-*-* Status|UNCONFIRMED |NEW Last reconfirmed| |2019-05-24 Component|c++ |libstdc++ Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. (gdb) p this $2 = (std::vector<int4, std::allocator<int4> > * const) 0xffffcf24 (gdb) p *this $3 = {<std::_Vector_base<int4, std::allocator<int4> >> = { _M_impl = {<std::allocator<int4>> = {<__gnu_cxx::new_allocator<int4>> = {<No data fields>}, <No data fields>}, _M_start = 0x804fa28, _M_finish = 0x0, _M_end_of_storage = 0x804fa38}}, <No data fields>} it looks like libstdc++ doesn't allocate aligned memory properly or eventually malloc on 32bit doesn't return 16byte aligned memory.