1 /* Test prefetch support.  */
2 /* { dg-do run } */
3 extern void abort (void);
4 extern void exit (int);
5 
6 unsigned char global[64];
7 
8 void
foo(unsigned int * x,int n)9 foo (unsigned int *x, int n)
10 {
11   unsigned short local[16];
12 
13   __data_prefetch0 (x);
14   __data_prefetch0 (&x[8]);
15   __data_prefetch0 (&x[n]);
16   __data_prefetch0 (local);
17   __data_prefetch0 (&local[16]);
18   __data_prefetch0 (&local[n]);
19   __data_prefetch0 (global);
20   __data_prefetch0 (&global[32]);
21   __data_prefetch0 (&global[n]);
22 
23 #if __FRV_VLIW__ > 1
24   __data_prefetch (x);
25   __data_prefetch (&x[8]);
26   __data_prefetch (&x[n]);
27   __data_prefetch (local);
28   __data_prefetch (&local[16]);
29   __data_prefetch (&local[n]);
30   __data_prefetch (global);
31   __data_prefetch (&global[32]);
32   __data_prefetch (&global[n]);
33 #endif
34 }
35 
main()36 int main ()
37 {
38   unsigned int i[16];
39 
40   foo (i, 2);
41   exit (0);
42 }
43