blob: 3da440fb78c8a1d837f287e717bcbfdc2ac9da5d [file] [log] [blame]
/* { dg-do run } */
/* { dg-require-effective-target avx } */
/* { dg-options "-O3 -mavx" } */
#include "avx-check.h"
#include "rotate-4.c"
static void
__attribute__((noinline))
avx_test (void)
{
int i;
for (i = 0; i < 1024; i++)
a[i] = i * 1073741789U;
foo (3);
for (i = 0; i < 1024; i++)
{
unsigned int x = i * 1073741789U;
if (a[i] != ((x << 3) | (x >> ((-3) & 31))))
abort ();
}
foo (0);
for (i = 0; i < 1024; i++)
{
unsigned int x = i * 1073741789U;
if (a[i] != ((x << 3) | (x >> ((-3) & 31))))
abort ();
}
foo (29);
for (i = 0; i < 1024; i++)
if (a[i] != i * 1073741789U)
abort ();
}