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_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 ──
Re: [r15-429 Regression] FAIL: experimental/simd/pr109261_constexpr_simd.cc -msse2 -O2 -Wno-psabi (test for excess errors) on Linux/x86_64
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
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
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: [Linaro-TCWG-CI] gcc-15-1500-g1340ddea015: FAIL: 2 regressions on arm
Hi, I looked into this and still don't understand how to reproduce it. The issue as logged in libstdc++.log is a call from find_last_set(simd_mask>) to _MaskImplNeonMixin::_S_to_bits, which calls vpadd_s32 with two [[gnu::vector_size(8)]] int arguments. The CI compiler complains "error: cannot convert '__vector(2) int' to 'int32x2_t'". Why is that an error on your side and not on any compiler I have at hand? https://compiler-explorer.com/z/88WhcM7Kb not an error here. In any case, the new test only exposes an existing issue in the implementation (or its interaction with some variants of GCC?). The change did not introduce a new bug to libstdc++. Best, Matthias On Friday, 21 June 2024 17:00:23 GMT+2 ci_not...@linaro.org wrote: > Dear contributor, our automatic CI has detected problems related to your > patch(es). Please find some details below. If you have any questions, > please follow up on linaro-toolch...@lists.linaro.org mailing list, > Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain > developer on the usual project channel. > > We appreciate that it might be difficult to find the necessary logs or > reproduce the issue locally. If you can't get what you need from our CI > within minutes, let us know and we will be happy to help. > > We track this report status in https://linaro.atlassian.net/browse/GNU-1265 > , please let us know if you are looking at the problem and/or when you have > a fix. > In arm-eabi v7-a softfp after: > | commit gcc-15-1500-g1340ddea015 > | Author: Matthias Kretz > | Date: Fri Jun 14 15:11:25 2024 +0200 > | > | libstdc++: Fix find_last_set(simd_mask) to ignore padding bits > | > | With the change to the AVX512 find_last_set implementation, the > | change > | to AVX512 operator!= is unnecessary. However, the latter was not > | producing optimal code and unnecessarily set the padding bits. In > | theory, the compiler could determine that with the new != > | implementation, the bit operation for clearing the padding bits is a > | > | ... 13 lines of the commit log omitted. > > FAIL: 2 regressions > > regressions.sum: > === libstdc++ tests === > > Running libstdc++:libstdc++-dg/conformance.exp ... > FAIL: experimental/simd/pr115454_find_last_set.cc -mfpu=neon -ffast-math -O2 > -Wno-psabi (test for excess errors) UNRESOLVED: > experimental/simd/pr115454_find_last_set.cc -mfpu=neon -ffast-math -O2 > -Wno-psabi compilation failed to produce executable > > > You can find the failure logs in *.log.1.xz files in > - > https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_v7a_softfp_e > abi-build/512/artifact/artifacts/00-sumfiles/ The full lists of regressions > and progressions as well as configure and make commands are in - > https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_v7a_softfp_e > abi-build/512/artifact/artifacts/notify/ The list of [ignored] baseline and > flaky failures are in > - > https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_v7a_softfp_e > abi-build/512/artifact/artifacts/sumfiles/xfails.xfail > > The configuration of this build is: > CI config tcwg_gnu_embed_check_gcc arm-eabi -marm -march=armv7-a > -mfpu=vfpv3-d16 -mfloat-abi=softfp > > -8<--8<--8<- > - The information below can be used to reproduce a > debug environment: > > Current build : > https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_v7a_softfp_e > abi-build/512/artifact/artifacts Reference build : > https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_v7a_softfp_e > abi-build/511/artifact/artifacts > > Reproduce last good and first bad builds: > https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh > a1/1340ddea0158de3f49aeb75b4013e5fc313ff6f4/tcwg_gnu_embed_check_gcc/master- > arm_v7a_softfp_eabi/reproduction_instructions.txt > > Full commit : > https://github.com/gcc-mirror/gcc/commit/1340ddea0158de3f49aeb75b4013e5fc31 > 3ff6f4 > > List of configurations that regressed due to this commit : > * tcwg_gnu_embed_check_gcc > ** master-arm_v7a_softfp_eabi > *** FAIL: 2 regressions > *** > https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gcc/sh > a1/1340ddea0158de3f49aeb75b4013e5fc313ff6f4/tcwg_gnu_embed_check_gcc/master- > arm_v7a_softfp_eabi/details.txt *** > https://ci.linaro.org/job/tcwg_gnu_embed_check_gcc--master-arm_v7a_softfp_e > abi-build/512/artifact/artifacts -- ── Dr. Matthias Kretz https://mattkretz.github.io GSI Helmholtz Center for Heavy Ion Research https://gsi.de std::simd ── signature.asc Description: This is a digitally signed message part.