Hi! Thanks for fixing it, just testsuite nits.
On Wed, Jan 10, 2024 at 03:22:53PM +0100, Richard Biener wrote: > > --- /dev/null > > +++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_100-pr113287.c > > @@ -0,0 +1,35 @@ > > +/* { dg-add-options vect_early_break } */ > > +/* { dg-require-effective-target vect_early_break } */ > > +/* { dg-require-effective-target vect_int } */ > > +/* { dg-require-effective-target bitint } */ This test doesn't need bitint effective target. But relies on long being 64-bit, otherwise e.g. 0x50000000000UL doesn't need to fit or shifting it by 60 is invalid. So, maybe use lp64 effective target instead. > > + > > +__attribute__((noipa)) void > > +bar (unsigned long *p) > > +{ > > + __builtin_memset (p, 0, 142 * sizeof (unsigned long)); > > + p[17] = 0x50000000000UL; > > +} > > + > > + if ((unsigned long) (((long) (w << 60)) >> 60) != v) > > --- /dev/null > > +++ b/gcc/testsuite/gcc.dg/vect/vect-early-break_99-pr113287.c > > @@ -0,0 +1,32 @@ > > +/* { dg-add-options vect_early_break } */ > > +/* { dg-require-effective-target vect_early_break } */ > > +/* { dg-require-effective-target vect_int } */ > > +/* { dg-require-effective-target bitint } */ bitint effective target just ensures there is some _BitInt support, but not necessarily 998 or 9020 bit ones. There are some specific precision bitint effective targets (e.g. bitint575), what I generally use though is just guard the stuff on __BITINT_MAXWIDTH__ >= NNN. Perhaps for this testcase you could #if __BITINT_MAXWIDTH__ >= 998 typedef _BitInt(998) B998; #else typedef long long B998; #endif #if __BITINT_MAXWIDTH__ >= 9020 typedef _BitInt(9020) B9020; #else typedef long long B9020; #endif and use the new typedefs in the rest of the test. Jakub