On Mon, 4 Nov 2024, Christophe Lyon wrote:
> Hi Richard,
>
> On Fri, 18 Oct 2024 at 13:44, Richard Biener <[email protected]> wrote:
> >
> > The following makes -fwrapv explicit.
> >
> > * gcc.dg/vect/vect.exp: Remove special-casing of tests
> > named wrapv-*
>
> It looks like this does a bit more than that.
> As can be seen in
> https://gcc.gnu.org/pipermail/gcc-regression/2024-November/081152.html
> on arm (not aarch64), this introduces a few compilation failures:
> spawn -ignore SIGHUP
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/bin/arm-linux-gnueabihf-gcc
> --sysroot=/home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-linux-gnueabihf/libc
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/snapshots/gcc.git~master/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c
> -fdiagnostics-plain-output -flto -ffat-lto-objects -mfpu=neon
> -ffast-math -ftree-vectorize -fno-tree-loop-distribute-patterns
> -fno-vect-cost-model -fno-common -O2 -fdump-tree-slp-details
> -ffast-math -fno-tree-loop-vectorize -mfloat-abi=softfp -mfpu=auto
> -march=armv8.3-a+fp16 -S -o fast-math-bb-slp-complex-add-half-float.s
> In file included from
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-linux-gnueabihf/libc/usr/include/features.h:535,
> from
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-linux-gnueabihf/libc/usr/include/bits/libc-header-start.h:33,
> from
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-linux-gnueabihf/libc/usr/include/complex.h:26,
> from
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/snapshots/gcc.git~master/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c:1,
> from
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/snapshots/gcc.git~master/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c:9:
> /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-linux-gnueabihf/libc/usr/include/gnu/stubs.h:7:11:
> fatal error: gnu/stubs-soft.h: No such file or directory
>
> In that specific configuration the target is arm-linux-gnueabihf
> (where 'hf' means hard-float), and the toolchain does not support
> -mfloat-abi=softfp.
>
> The test used to pass, so I guess your patch somehow adds -mfloat-abi=softfp.
I don't see how, what it adds is an LTO variant via
if { [check_effective_target_lto] } {
lappend VECT_ADDITIONAL_FLAGS "-flto -ffat-lto-objects"
}
the above shows that, does the non-LTO variant also show the issue?
The regression mail is as usual truncated.
Note the complex.exp file just includes the vect.exp one.
I don't know how I can be of help to track this down.
Richard.
> Thanks,
>
> Christophe
>
>
> > * gcc.dg/vect/wrapv-vect-7.c: Add dg-additional-options -fwrapv.
> > * gcc.dg/vect/wrapv-vect-reduc-2char.c: Likewise.
> > * gcc.dg/vect/wrapv-vect-reduc-2short.c: Likewise.
> > * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise.
> > * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Likewise.
> > ---
> > gcc/testsuite/gcc.dg/vect/vect.exp | 21 +++++++------------
> > gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c | 1 +
> > .../gcc.dg/vect/wrapv-vect-reduc-2char.c | 1 +
> > .../gcc.dg/vect/wrapv-vect-reduc-2short.c | 1 +
> > .../gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c | 1 +
> > .../gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c | 1 +
> > 6 files changed, 12 insertions(+), 14 deletions(-)
> >
> > diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp
> > b/gcc/testsuite/gcc.dg/vect/vect.exp
> > index eddebf53c7f..14c6168f6ee 100644
> > --- a/gcc/testsuite/gcc.dg/vect/vect.exp
> > +++ b/gcc/testsuite/gcc.dg/vect/vect.exp
> > @@ -112,6 +112,13 @@ foreach flags $VECT_ADDITIONAL_FLAGS {
> > et-dg-runtest dg-runtest [lsort \
> > [glob -nocomplain $srcdir/$subdir/fast-math-\[ipsvc\]*.\[cS\]]] \
> > $flags $DEFAULT_VECTCFLAGS
> > + et-dg-runtest dg-runtest [lsort \
> > + [glob -nocomplain $srcdir/$subdir/wrapv-*.\[cS\]]] \
> > + $flags $DEFAULT_VECTCFLAGS
> > +
> > + et-dg-runtest dg-runtest [lsort \
> > + [glob -nocomplain $srcdir/$subdir/fast-math-bb-slp-*.\[cS\]]] \
> > + $flags $VECT_SLP_CFLAGS
> > et-dg-runtest dg-runtest [lsort \
> > [glob -nocomplain $srcdir/$subdir/bb-slp*.\[cS\]]] \
> > $flags $VECT_SLP_CFLAGS
> > @@ -122,20 +129,6 @@ global SAVED_DEFAULT_VECTCFLAGS
> > set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VECTCFLAGS
> > set SAVED_VECT_SLP_CFLAGS $VECT_SLP_CFLAGS
> >
> > -# -ffast-math SLP tests
> > -set VECT_SLP_CFLAGS $SAVED_VECT_SLP_CFLAGS
> > -lappend VECT_SLP_CFLAGS "-ffast-math"
> > -et-dg-runtest dg-runtest [lsort \
> > - [glob -nocomplain $srcdir/$subdir/fast-math-bb-slp-*.\[cS\]]] \
> > - "" $VECT_SLP_CFLAGS
> > -
> > -# -fwrapv tests
> > -set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
> > -lappend DEFAULT_VECTCFLAGS "-fwrapv"
> > -et-dg-runtest dg-runtest [lsort \
> > - [glob -nocomplain $srcdir/$subdir/wrapv-*.\[cS\]]] \
> > - "" $DEFAULT_VECTCFLAGS
> > -
> > # -ftrapv tests
> > set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
> > lappend DEFAULT_VECTCFLAGS "-ftrapv"
> > diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c
> > b/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c
> > index 414bd9d3e12..2a557f697e1 100644
> > --- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c
> > +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-7.c
> > @@ -1,3 +1,4 @@
> > +/* { dg-additional-options "-fwrapv" } */
> > /* { dg-require-effective-target vect_int } */
> > /* { dg-add-options bind_pic_locally } */
> >
> > diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2char.c
> > b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2char.c
> > index 556c2a06dc5..0ee9178025e 100644
> > --- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2char.c
> > +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2char.c
> > @@ -1,3 +1,4 @@
> > +/* { dg-additional-options "-fwrapv" } */
> > /* { dg-require-effective-target vect_int } */
> >
> > #include <stdarg.h>
> > diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2short.c
> > b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2short.c
> > index f9142173b25..aadc9c37da3 100644
> > --- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2short.c
> > +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-2short.c
> > @@ -1,3 +1,4 @@
> > +/* { dg-additional-options "-fwrapv" } */
> > /* { dg-require-effective-target vect_int } */
> >
> > #include <stdarg.h>
> > diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
> > b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
> > index 72080af5923..920374d4263 100644
> > --- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
> > +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
> > @@ -1,3 +1,4 @@
> > +/* { dg-additional-options "-fwrapv" } */
> > /* Disabling epilogues until we find a better way to deal with scans. */
> > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
> > /* { dg-require-effective-target vect_int } */
> > diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c
> > b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c
> > index e3c33cff7e1..be0447c7b10 100644
> > --- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c
> > +++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c
> > @@ -1,3 +1,4 @@
> > +/* { dg-additional-options "-fwrapv" } */
> > /* { dg-require-effective-target vect_int } */
> >
> > #include <stdarg.h>
> > --
> > 2.43.0
>
--
Richard Biener <[email protected]>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)