On Thu, Nov 13, 2025 at 7:58 PM Andrew Pinski
<[email protected]> wrote:
>
> On Thu, Nov 13, 2025 at 10:25 AM Artemiy Volkov <[email protected]>
> wrote:
> >
> > On Thu, Nov 13, 2025 at 09:23:58AM -0800, Andrew Pinski wrote:
> > > On Thu, Nov 13, 2025 at 8:56 AM Artemiy Volkov <[email protected]>
> > > wrote:
> > > >
> > > > Introduced in r16-5042-g470411f44f51d9, this testcase fails on
> > > > AdvSIMD-less AArch32 configurations, likely as well as on other targets
> > > > without vector support; thus, require it via
> > > > dg-require-effective-target.
> > > > Since this testcase includes stdint.h, require that as well.
> > > >
> > > > Regtested on arm-gnueabihf with
> > > > RUNTESTFLAGS=--target_board=unix/-mfpu=vfpv3-d16/-march=armv7-a.
> > > >
> > > > Pushing as obvious.
> > > >
> > > > gcc/testsuite/ChangeLog:
> > > >
> > > > * gcc.dg/tree-ssa/forwprop-43.c: Adjust.
> > > > ---
> > > > gcc/testsuite/gcc.dg/tree-ssa/forwprop-43.c | 2 ++
> > > > 1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-43.c
> > > > b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-43.c
> > > > index f0f6170648a..bfda376e1f7 100644
> > > > --- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-43.c
> > > > +++ b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-43.c
> > > > @@ -1,5 +1,7 @@
> > > > /* { dg-do compile } */
> > > > /* { dg-options "-O2 -fdump-tree-forwprop1" } */
> > > > +/* { dg-require-effective-target stdint_types } */
> > > > +/* { dg-require-effective-target vect_int } */
> > >
> > > The requirement of vect_int should NOT be needed as you are scanning
> > > forwprop1 and it can't be used outside of the vect/* test
> > > infrastructure see r14-8210-g484f48f03cf9a3 on why.
> >
> > I guess it wasn't that obvious after all...
> >
> > In this case I think I could just move the test to gcc.dg/vect, would that
> > be an acceptable solution?
>
> I am not sure you need vect_int here and I am not even sure vect_int
> is correct here.
> So what is happening is can_vec_perm_const_p is returning false and we
> don't "combine" into one VEC_PERM_EXPR.
> I am not even sure can_vec_perm_const_p is the correct check here for
> vector types which don't have a vector mode because we want to reduce
> it to one VEC_PER_EXPR as that is always cheaper than 2+ VEC_PERM_EXPR
> when lowering it later on.
> I think we should file a bug about what needs to be done with vector
> types which don't have a vector mode and then improve forwprop code to
> the more correct thing.
So we just crossed here but generally, for BLKmode vectors just go wild.
Otherwise if the source operations were not supported anyway, go wild.
If the source versions were supported, make sure to not make the result
unsupported.
Richard.
>
> Thanks,
> Andrew Pinski
>
> >
> > Thanks,
> > Artemiy
> >
> > >
> > > Thanks,
> > > Andrew Pinski
> > >
> > >
> > > > /* { dg-additional-options "-fgimple" } */
> > > >
> > > > #include <stdint.h>
> > > > --
> > > > 2.43.0
> > > >