public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
@ 2023-05-31  7:29 clyon at gcc dot gnu.org
  2023-05-31 10:30 ` [Bug libstdc++/110050] " mkretz at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: clyon at gcc dot gnu.org @ 2023-05-31  7:29 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 110050
           Summary: experimental/simd/pr109822_cast_functions.cc fails on
                    arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: clyon at gcc dot gnu.org
  Target Milestone: ---

After commit g:668d43502f465d48adbc1fe2956b979f36657e5f, I've noticed that
experimental/simd/pr109822_cast_functions.cc is now failing on arm targets:


FAIL: experimental/simd/pr109822_cast_functions.cc -ffast-math -O2 -Wno-psabi
(test for excess errors)
Excess errors:
/libstdc++-v3/include/experimental/bits/simd.h:2418: error: static assertion
failed: should use explicit specialization above
/libstdc++-v3/include/experimental/bits/simd.h:2421: error: invalid use of
incomplete type 'struct
std::experimental::parallelism_v2::__intrinsic_type<long double, 16, void>'
/libstdc++-v3/include/experimental/bits/simd_builtin.h:827: error: invalid
application of '__alignof__' to incomplete type
'std::experimental::parallelism_v2::_GnuTraits<long double, long long int,
std::experimental::parallelism_v2::simd_abi::_VecBuiltin<16>, 2>::_SimdMember'
{aka 'std::experimental::parallelism_v2::_SimdWrapper<long double, 2, void>'}
/libstdc++-v3/include/experimental/bits/simd.h:5492: error: requested alignment
is not an integer constant
/libstdc++-v3/include/experimental/bits/simd.h:5492: error:
'std::experimental::parallelism_v2::simd<_Tp, _Abi>::_M_data' has incomplete
type
/libstdc++-v3/include/experimental/bits/simd.h:4529:   [ skipping 2
instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
[...]

I noticed this on trunk, I didn't check all the releases branches, but I
noticed that this commit was backported to gcc 11, 12 and 13.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
@ 2023-05-31 10:30 ` mkretz at gcc dot gnu.org
  2023-05-31 15:15 ` clyon at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mkretz at gcc dot gnu.org @ 2023-05-31 10:30 UTC (permalink / raw)
  To: gcc-bugs

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

Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-05-31
           Assignee|unassigned at gcc dot gnu.org      |mkretz at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1

--- Comment #1 from Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> ---
That looks like a bug in the test, using a type that isn't available on ARM.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
  2023-05-31 10:30 ` [Bug libstdc++/110050] " mkretz at gcc dot gnu.org
@ 2023-05-31 15:15 ` clyon at gcc dot gnu.org
  2023-05-31 15:25 ` clyon at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: clyon at gcc dot gnu.org @ 2023-05-31 15:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Just noticed that the test passes if GCC is configured --with-arch=armv7-a, but
fails when forcing -march=armv8-a

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
  2023-05-31 10:30 ` [Bug libstdc++/110050] " mkretz at gcc dot gnu.org
  2023-05-31 15:15 ` clyon at gcc dot gnu.org
@ 2023-05-31 15:25 ` clyon at gcc dot gnu.org
  2023-06-01  8:49 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: clyon at gcc dot gnu.org @ 2023-05-31 15:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Christophe Lyon <clyon at gcc dot gnu.org> ---
So we have a different behavior in
libstdc++-v3/include/experimental/bits/simd_detail.h:
#if defined __ARM_NEON && (__ARM_ARCH >= 8 || defined __aarch64__)
#define _GLIBCXX_SIMD_HAVE_NEON_A32 1
#else
#define _GLIBCXX_SIMD_HAVE_NEON_A32 0
#endif

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-05-31 15:25 ` clyon at gcc dot gnu.org
@ 2023-06-01  8:49 ` cvs-commit at gcc dot gnu.org
  2023-06-01  8:51 ` mkretz at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-01  8:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 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:2fbbaa77c8468ed2bdf2cfa1a5890991e4e98eef

commit r14-1463-g2fbbaa77c8468ed2bdf2cfa1a5890991e4e98eef
Author: Matthias Kretz <m.kretz@gsi.de>
Date:   Thu Jun 1 10:40:14 2023 +0200

    libstdc++: Fix condition for supported SIMD types on ARMv8

    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>

    libstdc++-v3/ChangeLog:

            PR libstdc++/110050
            * include/experimental/bits/simd.h (__vectorized_sizeof): With
            __have_neon_a32 only single-precision float works (in addition
            to integers).

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2023-06-01  8:49 ` cvs-commit at gcc dot gnu.org
@ 2023-06-01  8:51 ` mkretz at gcc dot gnu.org
  2023-06-02  7:03 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mkretz at gcc dot gnu.org @ 2023-06-01  8:51 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> ---
The issue was an incorrect condition for SIMD support, which wanted to say only
single-precision float SIMD is available. It did that by excluding double,
failing to also exclude long double.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2023-06-01  8:51 ` mkretz at gcc dot gnu.org
@ 2023-06-02  7:03 ` rguenth at gcc dot gnu.org
  2023-06-02  7:08 ` mkretz at gcc dot gnu.org
  2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-06-02  7:03 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed I suppose.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2023-06-02  7:03 ` rguenth at gcc dot gnu.org
@ 2023-06-02  7:08 ` mkretz at gcc dot gnu.org
  2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: mkretz at gcc dot gnu.org @ 2023-06-02  7:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Matthias Kretz (Vir) <mkretz at gcc dot gnu.org> ---
Yes, I still need to backport because the new test is also present on the
branches.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug libstdc++/110050] experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f
  2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2023-06-02  7:08 ` mkretz at gcc dot gnu.org
@ 2024-05-07 16:19 ` cvs-commit at gcc dot gnu.org
  7 siblings, 0 replies; 9+ 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=110050

--- Comment #8 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:e6b19675fb3397992a8f88ef031d57c4dcd73cd6

commit r13-8703-ge6b19675fb3397992a8f88ef031d57c4dcd73cd6
Author: Matthias Kretz <m.kretz@gsi.de>
Date:   Thu Jun 1 10:40:14 2023 +0200

    libstdc++: Fix condition for supported SIMD types on ARMv8

    Signed-off-by: Matthias Kretz <m.kretz@gsi.de>

    libstdc++-v3/ChangeLog:

            PR libstdc++/110050
            * include/experimental/bits/simd.h (__vectorized_sizeof): With
            __have_neon_a32 only single-precision float works (in addition
            to integers).

    (cherry picked from commit 2fbbaa77c8468ed2bdf2cfa1a5890991e4e98eef)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-05-07 16:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-31  7:29 [Bug libstdc++/110050] New: experimental/simd/pr109822_cast_functions.cc fails on arm after g:668d43502f465d48adbc1fe2956b979f36657e5f clyon at gcc dot gnu.org
2023-05-31 10:30 ` [Bug libstdc++/110050] " mkretz at gcc dot gnu.org
2023-05-31 15:15 ` clyon at gcc dot gnu.org
2023-05-31 15:25 ` clyon at gcc dot gnu.org
2023-06-01  8:49 ` cvs-commit at gcc dot gnu.org
2023-06-01  8:51 ` mkretz at gcc dot gnu.org
2023-06-02  7:03 ` rguenth at gcc dot gnu.org
2023-06-02  7:08 ` mkretz at gcc dot gnu.org
2024-05-07 16:19 ` cvs-commit 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).