/* { dg-require-effective-target vect_int } */ | |
#include <stdarg.h> | |
#include "tree-vect.h" | |
#define N 16 | |
typedef struct { | |
int a; | |
int b; | |
int c; | |
int d; | |
} s; | |
s arr[N] = {{7,0,1,5}, {7,2,3,5}, {7,4,5,5}, {7,6,7,5}, {7,8,9,5}, {7,10,11,5}, {7,12,13,5}, {7,14,15,5}, {7,16,17,5}, {7,18,19,5}, {7,20,21,5}, {7,22,23,5}, {7,24,25,5}, {7,26,27,5}, {7,28,29,5}, {7,30,31,5}}; | |
__attribute__ ((noinline)) int | |
main1 () | |
{ | |
s *p = arr, *q = arr + 1; | |
int res[N]; | |
int i; | |
for (i = 0; i < N-1; i++) | |
{ | |
res[i] = p->b + p->d + q->b; | |
p++; | |
q++; | |
} | |
/* check results: */ | |
for (i = 0; i < N-1; i++) | |
{ | |
if (res[i] != arr[i].b + arr[i].d + arr[i+1].b) | |
abort (); | |
} | |
return 0; | |
} | |
int main (void) | |
{ | |
int i; | |
check_vect (); | |
main1 (); | |
return 0; | |
} | |