blob: f591f4b03b6181b6e58d952248b43972ebaae448 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O -ftree-vectorize -mavx512f" } */
extern void abort (void);
typedef struct {
unsigned int a;
unsigned int b;
} ii;
void foo (unsigned short *arr, ii *iarr)
{
ii *iptr = iarr;
unsigned short res[128];
ii ires[128];
int i;
for (i = 0; i < 128; i++)
{
ires[i].a = iptr->b - iptr->a;
ires[i].b = iptr->b + iptr->a;
iptr++;
}
for (i = 0; i < 128; i++)
{
if (res[i] != arr[i]
|| ires[i].a != iarr[i].b - iarr[i].a
|| ires[i].b != iarr[i].b + iarr[i].a)
abort ();
}
}