#include "tree-vect.h" | |
extern void abort (void); | |
typedef struct { | |
int a[3]; | |
int num; | |
} t1; | |
t1 B[100]; | |
int A[300]; | |
void __attribute__((noinline,noclone)) | |
bar (int *A, t1 *B, int n) | |
{ | |
int i; | |
int *a = A; | |
for (i=0; i<n; i++, a+=3) | |
{ | |
a[0] = B[i].a[0]; | |
a[1] = B[i].a[1]; | |
a[2] = B[i].a[2]; | |
} | |
} | |
int main() | |
{ | |
int i; | |
check_vect (); | |
for (i=0; i<100; i++) | |
{ | |
B[i].num = i; | |
B[i].a[0] = i * 3; | |
B[i].a[1] = i * 3 + 1; | |
B[i].a[2] = i * 3 + 2; | |
__asm__ volatile (""); | |
} | |
bar (&A[0], &B[0], 100); | |
for (i=0; i<300; i++) | |
if (A[i] != i) | |
abort (); | |
return 0; | |
} | |