[Bug c++/58772] __attribute__((aligned(16))) and nested classes cause -ftree-vectorize to generate segfaulting code

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Oct 18 08:30:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58772

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-10-18
                 CC|                            |paolo.carlini at oracle dot com
     Ever confirmed|0                           |1
           Severity|normal                      |enhancement

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  The vectorizer thinks that 'subs' is 16-byte aligned and uses
movaps for the vectorized store.  Actor is layed out correctly (alignment
16 and Sub at a 16 byte alignment boundary), but 'new' returns an 8-byte
aligned pointer.  ISTR it is a known issue that using 'new' with custom
aligned classes doesn't work reliably - the same is true for C code where
using malloc to allocate the class would be wrong, you'd have to use
posix_memalign or a similar function.

Thus, this is an invalid report (but I suppose we should be easily able
to warn in case new is applied to a type with user-specified alignment?).

Keeping as diagnostic enhancement.



More information about the Gcc-bugs mailing list