On Mon, 4 Nov 2024, Christophe Lyon wrote:

> Hi Richard,
> 
> On Fri, 18 Oct 2024 at 13:44, Richard Biener <rguent...@suse.de> 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 <rguent...@suse.de>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)

Reply via email to