public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error
@ 2023-05-12 7:36 jens.maurer at gmx dot net
2023-05-12 8:06 ` [Bug libstdc++/109822] " mkretz at gcc dot gnu.org
` (12 more replies)
0 siblings, 13 replies; 14+ messages in thread
From: jens.maurer at gmx dot net @ 2023-05-12 7:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
Bug ID: 109822
Summary: Converting std::experimental::simd masks yields an
error
Product: gcc
Version: 12.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: jens.maurer at gmx dot net
Target Milestone: ---
Reproducer:
#include <experimental/simd>
auto x =
to_native(to_fixed_size(std::experimental::native_simd<int>::mask_type()));
This converts a native SIMD mask type to fixed-size and back. I believe this
should work, but gcc disagrees:
/usr/include/c++/12/experimental/bits/simd.h:3224:3: note: template argument
deduction/substitution failed:
x.cc:4:19: note: mismatched types ‘long unsigned int’ and ‘int’
(Also reproducible with gcc 13.1.)
The issue is that the SIMD implementation of libstdc++ uses a mixture of "int"
and "size_t" for the type of non-type template parameters for "number of
elements in this SIMD vector", causing deduction failures when gcc tries to
match template arguments with template parameters.
It seems the Technical Specification uses "int" throughout.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
@ 2023-05-12 8:06 ` mkretz at gcc dot gnu.org
2023-05-29 10:08 ` jakub at gcc dot gnu.org
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: mkretz at gcc dot gnu.org @ 2023-05-12 8:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |mkretz at gcc dot gnu.org
Status|UNCONFIRMED |ASSIGNED
Target Milestone|--- |11.4
Last reconfirmed| |2023-05-12
Ever confirmed|0 |1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
2023-05-12 8:06 ` [Bug libstdc++/109822] " mkretz at gcc dot gnu.org
@ 2023-05-29 10:08 ` jakub at gcc dot gnu.org
2023-05-30 14:21 ` cvs-commit at gcc dot gnu.org
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: jakub at gcc dot gnu.org @ 2023-05-29 10:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|11.4 |11.5
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 11.4 is being released, retargeting bugs to GCC 11.5.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
2023-05-12 8:06 ` [Bug libstdc++/109822] " mkretz at gcc dot gnu.org
2023-05-29 10:08 ` jakub at gcc dot gnu.org
@ 2023-05-30 14:21 ` cvs-commit at gcc dot gnu.org
2023-05-30 15:09 ` cvs-commit at gcc dot gnu.org
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-30 14:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Matthias Kretz <mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:668d43502f465d48adbc1fe2956b979f36657e5f
commit r14-1409-g668d43502f465d48adbc1fe2956b979f36657e5f
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri May 26 12:23:44 2023 +0200
libstdc++: Correct NTTP and simd_mask ctor call
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd.h (to_native): Use int NTTP
as specified in PTS2.
(to_compatible): Likewise. Add missing tag to call mask
generator ctor.
* testsuite/experimental/simd/pr109822_cast_functions.cc: New
test.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (2 preceding siblings ...)
2023-05-30 14:21 ` cvs-commit at gcc dot gnu.org
@ 2023-05-30 15:09 ` cvs-commit at gcc dot gnu.org
2023-05-30 20:05 ` cvs-commit at gcc dot gnu.org
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-30 15:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Matthias Kretz
<mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:717a14e727bce409ac7e7f10c413530e704f4ca7
commit r13-7393-g717a14e727bce409ac7e7f10c413530e704f4ca7
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri May 26 12:23:44 2023 +0200
libstdc++: Correct NTTP and simd_mask ctor call
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd.h (to_native): Use int NTTP
as specified in PTS2.
(to_compatible): Likewise. Add missing tag to call mask
generator ctor.
* testsuite/experimental/simd/pr109822_cast_functions.cc: New
test.
(cherry picked from commit 668d43502f465d48adbc1fe2956b979f36657e5f)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (3 preceding siblings ...)
2023-05-30 15:09 ` cvs-commit at gcc dot gnu.org
@ 2023-05-30 20:05 ` cvs-commit at gcc dot gnu.org
2023-05-30 20:06 ` cvs-commit at gcc dot gnu.org
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-30 20:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Matthias Kretz
<mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:467887d5750d03d438ab704437b2c5e5da78497e
commit r12-9666-g467887d5750d03d438ab704437b2c5e5da78497e
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri May 26 12:23:44 2023 +0200
libstdc++: Correct NTTP and simd_mask ctor call
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd.h (to_native): Use int NTTP
as specified in PTS2.
(to_compatible): Likewise. Add missing tag to call mask
generator ctor.
* testsuite/experimental/simd/pr109822_cast_functions.cc: New
test.
(cherry picked from commit 668d43502f465d48adbc1fe2956b979f36657e5f)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (4 preceding siblings ...)
2023-05-30 20:05 ` cvs-commit at gcc dot gnu.org
@ 2023-05-30 20:06 ` cvs-commit at gcc dot gnu.org
2023-05-30 20:08 ` mkretz at gcc dot gnu.org
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-30 20:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Matthias Kretz
<mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:39a60f2d5f7bf6806a4c4d7d1f52f139e157e01a
commit r11-10835-g39a60f2d5f7bf6806a4c4d7d1f52f139e157e01a
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri May 26 12:23:44 2023 +0200
libstdc++: Correct NTTP and simd_mask ctor call
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd.h (to_native): Use int NTTP
as specified in PTS2.
(to_compatible): Likewise. Add missing tag to call mask
generator ctor.
* testsuite/experimental/simd/pr109822_cast_functions.cc: New
test.
(cherry picked from commit 668d43502f465d48adbc1fe2956b979f36657e5f)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (5 preceding siblings ...)
2023-05-30 20:06 ` cvs-commit at gcc dot gnu.org
@ 2023-05-30 20:08 ` mkretz at gcc dot gnu.org
2023-06-02 6:40 ` aoliva at gcc dot gnu.org
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: mkretz at gcc dot gnu.org @ 2023-05-30 20:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #6 from Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> ---
Resolved on all branches.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (6 preceding siblings ...)
2023-05-30 20:08 ` mkretz at gcc dot gnu.org
@ 2023-06-02 6:40 ` aoliva at gcc dot gnu.org
2023-06-06 13:45 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: aoliva at gcc dot gnu.org @ 2023-06-02 6:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |aoliva at gcc dot gnu.org
--- Comment #7 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
This test fails on powerpc targets when VSX support is unavailable.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (7 preceding siblings ...)
2023-06-02 6:40 ` aoliva at gcc dot gnu.org
@ 2023-06-06 13:45 ` cvs-commit at gcc dot gnu.org
2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-06 13:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Matthias Kretz <mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:9165ede56ababd6471e7a2ce4eab30f3d5129e14
commit r14-1578-g9165ede56ababd6471e7a2ce4eab30f3d5129e14
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri Jun 2 21:33:04 2023 +0200
libstdc++: Avoid vector casts while still avoiding PR90424
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
to avoid casts to other vector types. Implement store as
succession of power-of-2 sized memcpy to avoid PR90424.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (8 preceding siblings ...)
2023-06-06 13:45 ` cvs-commit at gcc dot gnu.org
@ 2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
2024-05-08 16:14 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-07 16:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Matthias Kretz
<mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:4d7a770f2d1dc9d7e7b79788c201ba22bd52cf06
commit r13-8706-g4d7a770f2d1dc9d7e7b79788c201ba22bd52cf06
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri Jun 2 21:33:04 2023 +0200
libstdc++: Avoid vector casts while still avoiding PR90424
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
to avoid casts to other vector types. Implement store as
succession of power-of-2 sized memcpy to avoid PR90424.
(cherry picked from commit 9165ede56ababd6471e7a2ce4eab30f3d5129e14)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (9 preceding siblings ...)
2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
@ 2024-05-08 16:14 ` cvs-commit at gcc dot gnu.org
2024-05-10 14:07 ` cvs-commit at gcc dot gnu.org
2024-05-10 14:27 ` mkretz at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-08 16:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #10 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Matthias Kretz
<mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:44df51e5826747d089a08fa1a1378454a8d2d0de
commit r12-10423-g44df51e5826747d089a08fa1a1378454a8d2d0de
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri Jun 2 21:33:04 2023 +0200
libstdc++: Avoid vector casts while still avoiding PR90424
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
to avoid casts to other vector types. Implement store as
succession of power-of-2 sized memcpy to avoid PR90424.
(cherry picked from commit 9165ede56ababd6471e7a2ce4eab30f3d5129e14)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (10 preceding siblings ...)
2024-05-08 16:14 ` cvs-commit at gcc dot gnu.org
@ 2024-05-10 14:07 ` cvs-commit at gcc dot gnu.org
2024-05-10 14:27 ` mkretz at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-10 14:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Matthias Kretz
<mkretz@gcc.gnu.org>:
https://gcc.gnu.org/g:4190a95cb837c5d221d9c5677f49f3c7d4d5576f
commit r11-11428-g4190a95cb837c5d221d9c5677f49f3c7d4d5576f
Author: Matthias Kretz <m.kretz@gsi.de>
Date: Fri Jun 2 21:33:04 2023 +0200
libstdc++: Avoid vector casts while still avoiding PR90424
Signed-off-by: Matthias Kretz <m.kretz@gsi.de>
libstdc++-v3/ChangeLog:
PR libstdc++/109822
* include/experimental/bits/simd_builtin.h (_S_store): Rewrite
to avoid casts to other vector types. Implement store as
succession of power-of-2 sized memcpy to avoid PR90424.
(cherry picked from commit 9165ede56ababd6471e7a2ce4eab30f3d5129e14)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/109822] Converting std::experimental::simd masks yields an error
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
` (11 preceding siblings ...)
2024-05-10 14:07 ` cvs-commit at gcc dot gnu.org
@ 2024-05-10 14:27 ` mkretz at gcc dot gnu.org
12 siblings, 0 replies; 14+ messages in thread
From: mkretz at gcc dot gnu.org @ 2024-05-10 14:27 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109822
--- Comment #12 from Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> ---
Fixed powerpc test failure on all branches.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-05-10 14:27 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-12 7:36 [Bug libstdc++/109822] New: Converting std::experimental::simd masks yields an error jens.maurer at gmx dot net
2023-05-12 8:06 ` [Bug libstdc++/109822] " mkretz at gcc dot gnu.org
2023-05-29 10:08 ` jakub at gcc dot gnu.org
2023-05-30 14:21 ` cvs-commit at gcc dot gnu.org
2023-05-30 15:09 ` cvs-commit at gcc dot gnu.org
2023-05-30 20:05 ` cvs-commit at gcc dot gnu.org
2023-05-30 20:06 ` cvs-commit at gcc dot gnu.org
2023-05-30 20:08 ` mkretz at gcc dot gnu.org
2023-06-02 6:40 ` aoliva at gcc dot gnu.org
2023-06-06 13:45 ` cvs-commit at gcc dot gnu.org
2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
2024-05-08 16:14 ` cvs-commit at gcc dot gnu.org
2024-05-10 14:07 ` cvs-commit at gcc dot gnu.org
2024-05-10 14:27 ` mkretz at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).