blob: 59c1e102870d6cf36c76b8ef6f7eccc07f86a068 [file] [log] [blame]
/* { dg-add-options vect_early_break } */
/* { dg-require-effective-target vect_early_break } */
/* { dg-require-effective-target vect_long_long } */
/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
#include "tree-vect.h"
__attribute__((noipa)) void
bar (unsigned long long *p)
{
__builtin_memset (p, 0, 142 * sizeof (unsigned long long));
p[17] = 0x50000000000ULL;
}
__attribute__((noipa)) int
foo (void)
{
unsigned long long r[142];
bar (r);
unsigned long long v = ((long long) r[0] >> 31);
if (v + 1 > 1)
return 1;
for (unsigned long long i = 1; i <= 140; ++i)
if (r[i] != v)
return 1;
unsigned long long w = r[141];
if ((unsigned long long) (((long long) (w << 60)) >> 60) != v)
return 1;
return 0;
}
int
main ()
{
check_vect ();
if (foo () != 1)
__builtin_abort ();
}