diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/frv/fr550-builtins-1.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/frv/fr550-builtins-1.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/frv/fr550-builtins-1.c b/gcc-4.9/gcc/testsuite/gcc.target/frv/fr550-builtins-1.c new file mode 100644 index 000000000..d728f12a4 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/frv/fr550-builtins-1.c @@ -0,0 +1,42 @@ +/* Test prefetch support. */ +/* { dg-do run } */ +extern void abort (void); +extern void exit (int); + +unsigned char global[64]; + +void +foo (unsigned int *x, int n) +{ + unsigned short local[16]; + + __data_prefetch0 (x); + __data_prefetch0 (&x[8]); + __data_prefetch0 (&x[n]); + __data_prefetch0 (local); + __data_prefetch0 (&local[16]); + __data_prefetch0 (&local[n]); + __data_prefetch0 (global); + __data_prefetch0 (&global[32]); + __data_prefetch0 (&global[n]); + +#if __FRV_VLIW__ > 1 + __data_prefetch (x); + __data_prefetch (&x[8]); + __data_prefetch (&x[n]); + __data_prefetch (local); + __data_prefetch (&local[16]); + __data_prefetch (&local[n]); + __data_prefetch (global); + __data_prefetch (&global[32]); + __data_prefetch (&global[n]); +#endif +} + +int main () +{ + unsigned int i[16]; + + foo (i, 2); + exit (0); +} |