Re: [r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64

2024-05-15 Thread Matthias Kretz
On Mittwoch, 15. Mai 2024 09:06:57 MESZ Matthias Kretz wrote:
> On Mittwoch, 15. Mai 2024 04:20:51 MESZ Jiang, Haochen wrote:
> > I am little concerned about the file size, but let me give a try if you
> > can
> > see the attachment.
>
> [...] 
> But now that I established a theory of why this fails for you, I still need
> to figure out why I can't reproduce it.

Sorry, I somehow messed up my source tree and my last patch was not actually 
applied yet 臘. I can reproduce it now. Will fix.

- Matthias

-- 
──
 Dr. Matthias Kretz   https://mattkretz.github.io
 GSI Helmholtz Center for Heavy Ion Research   https://gsi.de
 std::simd
──


Re: [r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64

2024-05-15 Thread Matthias Kretz
On Mittwoch, 15. Mai 2024 04:20:51 MESZ Jiang, Haochen wrote:
> I am little concerned about the file size, but let me give a try if you can
> see the attachment.

Thank you. Since you only executed one test it's not that bad (it's hard to 
read without a few abbreviation substitutions).

Anyway, it's a clear pattern: all __vector(2) T where T is a 32-bit integral 
type conversions to _SimdWrapper don't compile. x86 -m32 needs some special 
care for these, because GCC happily starts emitting MMX instructions without 
cleaning up with EMMS. So these vector types are poison and need never be 
uttered. That's why the conversion is actually not well-formed with -m32.

But now that I established a theory of why this fails for you, I still need to 
figure out why I can't reproduce it. It's going to be hard to reliably fix 
this and to not repeat the issue if I can't get this to fail. I've tested 
x86_64 multilib with -m32 and even -mx32 locally and cannot find any issue. 

- Matthias

-- 
──
 Dr. Matthias Kretz   https://mattkretz.github.io
 GSI Helmholtz Center for Heavy Ion Research   https://gsi.de
 std::simd
──


Re: [r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64

2024-05-14 Thread Matthias Kretz
On Dienstag, 14. Mai 2024 17:42:09 MESZ Jiang, Haochen wrote:
> Hi Matthias,
> 
> From my side, I get several error like this:
> 
> /export/users/haochenj/src/gcc-bisect/master/master/r15-429/bld/x86_64-linux
> /32/libstdc++-v3/include/experimental/bits/simd_builtin.h:131: error: could
> not convert 'std::experimental::parallelism_v2::__vec_shuffle<__vector(4)
> wchar_t, __extract_part<2, 3, 2, wchar_t, 3>(_SimdWrapper void>)::, std::integer_sequence
> >(std::experimental::parallelism_v2::__as_vector<_SimdWrapper void> >(__x), (std::make_index_sequence<2>(),
> std::make_index_sequence<2>()), ( object>std::experimental::parallelism_v2::__extract_part<2, 3, 2, wchar_t,
> 3>(_SimdWrapper)::(),
> std::experimental::parallelism_v2::__extract_part<2, 3, 2, wchar_t,
> 3>(_SimdWrapper)::()))' from
> '__vector(2) wchar_t' to 'std::conditional_t std::experimental::parallelism_v2::_SimdWrapper >' {aka
> 'std::conditional std::experimental::parallelism_v2::_SimdWrapper
> >::type'}
 
> See if this helps.

That confuses me even more. This wall of text says:

> could not convert '__vector(2) wchar_t' to '_SimdWrapper'

And _SimdWrapper has an implicit constructor taking one 
__vector(2) wchar_t argument. So I potentially need all of the context to make 
sense of it.

- Matthias

-- 
──
 Dr. Matthias Kretz   https://mattkretz.github.io
 GSI Helmholtz Center for Heavy Ion Research   https://gsi.de
 std::simd
──


RE: [r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64

2024-05-14 Thread Jiang, Haochen
Hi Matthias,

From my side, I get several error like this:

/export/users/haochenj/src/gcc-bisect/master/master/r15-429/bld/x86_64-linux/32/libstdc++-v3/include/experimental/bits/simd_builtin.h:131:
 error: could not convert 
'std::experimental::parallelism_v2::__vec_shuffle<__vector(4) wchar_t, 
__extract_part<2, 3, 2, wchar_t, 3>(_SimdWrapper)::, std::integer_sequence 
>(std::experimental::parallelism_v2::__as_vector<_SimdWrapper 
>(__x), (std::make_index_sequence<2>(), std::make_index_sequence<2>()), 
(std::experimental::parallelism_v2::__extract_part<2, 3, 
2, wchar_t, 3>(_SimdWrapper)::(), 
std::experimental::parallelism_v2::__extract_part<2, 3, 2, wchar_t, 
3>(_SimdWrapper)::()))' from 
'__vector(2) wchar_t' to 'std::conditional_t >' {aka 
'std::conditional >::type'}

See if this helps.

Thx,
Haochen

> -Original Message-
> From: Matthias Kretz 
> Sent: Tuesday, May 14, 2024 9:26 PM
> To: Jiang, Haochen 
> Cc: gcc-regress...@gcc.gnu.org; gcc-patches@gcc.gnu.org
> Subject: Re: [r15-429 Regression] FAIL:
> experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test
> for excess errors) on Linux/x86_64
> 
> Thanks for the report. But I'm unable to reproduce the issue. I'm testing on a
> Skylake-AVX512 system. I even did a clean rebuild of all of GCC using your
> configuration (minus your prefix) and still no failure.
> 
> Could you please send me your libstdc++.log after failing the test?
> 
> Best,
>   Matthias
> 
> On Montag, 13. Mai 2024 18:55:13 MESZ haochen. jiang wrote:
> > On Linux/x86_64,
> >
> > fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9 is the first bad commit
> > commit fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9
> > Author: Matthias Kretz 
> > Date:   Mon May 6 12:13:55 2024 +0200
> >
> > libstdc++: Use __builtin_shufflevector for simd split and concat
> >
> > caused
> >
> > FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi
> > (test for excess errors)
> >
> > with GCC configured with
> >
> > ../../gcc/configure
> > --prefix=/export/users/haochenj/src/gcc-bisect/master/master/r15-429/usr
> > --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld
> > --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet
> > --without-isl --enable-libmpx x86_64-linux --disable-bootstrap
> >
> > To reproduce:
> >
> > $ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check
> >
> RUNTESTFLAGS="conformance.exp=experimental/simd/pr109261_constexpr_si
> md.cc
> > --target_board='unix{-m32}'"
> >
> > (Please do not reply to this email, for question about this report, contact
> > me at haochen dot jiang at intel.com.) (If you met problems with
> > cascadelake related, disabling AVX512F in command line might save that.)
> > (However, please make sure that there is no potential problems with
> > AVX512.)
> 
> 
> --
> ─
> ─
>  Dr. Matthias Kretz   https://mattkretz.github.io
>  GSI Helmholtz Center for Heavy Ion Research   https://gsi.de
>  std::simd
> ─
> ─


Re: [r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64

2024-05-14 Thread Matthias Kretz
Thanks for the report. But I'm unable to reproduce the issue. I'm testing on a 
Skylake-AVX512 system. I even did a clean rebuild of all of GCC using your 
configuration (minus your prefix) and still no failure.

Could you please send me your libstdc++.log after failing the test?

Best,
  Matthias

On Montag, 13. Mai 2024 18:55:13 MESZ haochen. jiang wrote:
> On Linux/x86_64,
> 
> fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9 is the first bad commit
> commit fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9
> Author: Matthias Kretz 
> Date:   Mon May 6 12:13:55 2024 +0200
> 
> libstdc++: Use __builtin_shufflevector for simd split and concat
> 
> caused
> 
> FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi
> (test for excess errors)
> 
> with GCC configured with
> 
> ../../gcc/configure
> --prefix=/export/users/haochenj/src/gcc-bisect/master/master/r15-429/usr
> --enable-clocale=gnu --with-system-zlib --with-demangler-in-ld
> --with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet
> --without-isl --enable-libmpx x86_64-linux --disable-bootstrap
> 
> To reproduce:
> 
> $ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check
> RUNTESTFLAGS="conformance.exp=experimental/simd/pr109261_constexpr_simd.cc
> --target_board='unix{-m32}'"
> 
> (Please do not reply to this email, for question about this report, contact
> me at haochen dot jiang at intel.com.) (If you met problems with
> cascadelake related, disabling AVX512F in command line might save that.)
> (However, please make sure that there is no potential problems with
> AVX512.)


-- 
──
 Dr. Matthias Kretz   https://mattkretz.github.io
 GSI Helmholtz Center for Heavy Ion Research   https://gsi.de
 std::simd
──


[r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64

2024-05-13 Thread haochen.jiang
On Linux/x86_64,

fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9 is the first bad commit
commit fb1649f8b4ad5043dd0e65e4e3a643a0ced018a9
Author: Matthias Kretz 
Date:   Mon May 6 12:13:55 2024 +0200

libstdc++: Use __builtin_shufflevector for simd split and concat

caused

FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test 
for excess errors)

with GCC configured with

../../gcc/configure 
--prefix=/export/users/haochenj/src/gcc-bisect/master/master/r15-429/usr 
--enable-clocale=gnu --with-system-zlib --with-demangler-in-ld 
--with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl 
--enable-libmpx x86_64-linux --disable-bootstrap

To reproduce:

$ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check 
RUNTESTFLAGS="conformance.exp=experimental/simd/pr109261_constexpr_simd.cc 
--target_board='unix{-m32}'"

(Please do not reply to this email, for question about this report, contact me 
at haochen dot jiang at intel.com.)
(If you met problems with cascadelake related, disabling AVX512F in command 
line might save that.)
(However, please make sure that there is no potential problems with AVX512.)