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

--- Comment #32 from David C. Partridge <david.partridge at perdrix dot co.uk> 
---
I believe that you are choosing not to understand what I am saying here.

It is totally WRONG to set different alignments for this data type depending on
compiler options - the alignment requirement for __m512 is 64 bytes and always
has been.   Setting the alignment to anything else is just a plain old
fashioned BUG.   

If you generate code to align this differently for cpp files compiled with
different options, then when these files are linked they won't agree on the
alignment.

Other compilers manage to get this right.

I think that you have boxed yourselves into a corner such that this is hard to
do it in a way that just works.

>can't be an ABI change any time a wider hardware vector type is added for the 
>former ISAs.

Why would this require an ABI change - if you had set the alignment correctly
in the first place adding a new type would be a non-event.  If Intel were to
introduce a new type called say __m1024 with a 128 byte alignment requirement
there's no reason that it couldn't be used immediately with that alignment from
any code regardless of what compiler options are set, all that would be needed
would be to add the relevant lines to the header.

Reply via email to