aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/frv/fr550-builtins-1.c
diff options
context:
space:
mode:
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.c42
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);
+}