https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120895

--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Ah, so you're clearly using __m512 without -mavx512f.  Self-inflicted pain.
It is correct that __alignof__ (__m512) is in that case just 64 and alignof
(__m512) is 16, the latter is min_align_of_type, minimum alignment of the type
while the former is TYPE_ALIGN_UNIT.  When neither AVX nor AVX512F is enabled,
the maximum supported type has 128-bit alignment (16-byte vectors), all larger
vectors are emulated.
libstdc++ clearly uses alignof rather than __alignof__ for the check which new
to use.

Reply via email to