blob: 156bb018241fe7f72f26a87817f92a5c0ca8406d [file] [log] [blame]
/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
/* { dg-add-options bind_pic_locally } */
int a[2048];
void
f1 (int x, int y)
{
int i;
x &= -256;
y &= -256;
for (i = x + 256; i < y; i++)
a[i]++;
}
void
f2 (int x, int y)
{
int i;
if (x & 31)
__builtin_unreachable ();
if (y & 31)
__builtin_unreachable ();
for (i = x + 256; i < x + y; i++)
a[i]++;
}
void
f3 (int x, int y)
{
int i;
if (x % 256)
__builtin_unreachable ();
if (y % 256)
__builtin_unreachable ();
for (i = x + 256; i < x + y; i++)
a[i]++;
}
void
f4 (int x, int y)
{
int i;
if ((x % 256) != 0)
__builtin_unreachable ();
if ((y % 256) != 0)
__builtin_unreachable ();
for (i = x + 256; i < x + y; i++)
a[i]++;
}
/* { dg-final { scan-tree-dump-not "vect_do_peeling_for_loop_bound" "vect" } } */
/* { dg-final { scan-tree-dump-not "loop peeled for vectorization" "vect" } } */