[Bug libstdc++/90611] Generating a bad sse instruction for 32 bit

2019-05-24 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90611 --- Comment #6 from Jonathan Wakely --- Oh, I forgot that I already implemented another option in __gnu_cxx::malloc_allocator, which is to check the alignment of the returned memory and only fail if it isn't suitably aligned: pointer

[Bug libstdc++/90611] Generating a bad sse instruction for 32 bit

2019-05-24 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90611 --- Comment #5 from Jonathan Wakely --- We could do this in std::allocator: --- a/libstdc++-v3/include/ext/new_allocator.h +++ b/libstdc++-v3/include/ext/new_allocator.h @@ -110,6 +110,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION std::align

[Bug libstdc++/90611] Generating a bad sse instruction for 32 bit

2019-05-24 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90611 --- Comment #4 from Jonathan Wakely --- (In reply to Aaron Greig from comment #1) > actually it seems that vector_size(16) creates a type that is over aligned, > the following assert fails: > > static_assert(std::alignment_of::value <= alignof(m

[Bug libstdc++/90611] Generating a bad sse instruction for 32 bit

2019-05-24 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90611 --- Comment #3 from Jonathan Wakely --- (In reply to Aaron Greig from comment #0) > Created attachment 46403 [details] > cpp file that triggers the bug > > I am finding that when I compile the attached file, with the following > command: > g++-8

[Bug libstdc++/90611] Generating a bad sse instruction for 32 bit

2019-05-24 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90611 Richard Biener changed: What|Removed |Added Target||i?86-*-* Status|UNCONFIRMED