https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91043
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- I can reproduce the aligned stores with -O3 -march=core-avx2 with GCC 7/8/9. note that when I check alignof(CCPortLatency) I do get 64 byte alignment because it has a private member of type CTimeHistogram which has a member uint64_t m_hcnt[HISTOGRAM_SIZE_LOG][HISTOGRAM_SIZE] __attribute__((__aligned__(64))) ; This kind of overaligned type doesn't play well with "old" C++ new but you need support for overaligned types which is only in newer C++ standards or resort to posix_memalign or friends to allocate memory. Or simply drop the aligned attribute from above.