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<int, _VecBuiltin<16>>) 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 <experimental/
simd> 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 <m.kr...@gsi.de>
>   | 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
──────────────────────────────────────────────────────────────────────────

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to