+++ /dev/null
-/* Test that __builtin_prefetch does no harm.
-
- Prefetch using all valid combinations of rw and locality values.
- These must be compile-time constants. */
-
-#define NO_TEMPORAL_LOCALITY 0
-#define LOW_TEMPORAL_LOCALITY 1
-#define MODERATE_TEMPORAL_LOCALITY 1
-#define HIGH_TEMPORAL_LOCALITY 3
-
-#define WRITE_ACCESS 1
-#define READ_ACCESS 0
-
-enum locality { none, low, moderate, high };
-enum rw { read, write };
-
-int arr[10];
-
-void
-good_const (const int *p)
-{
- __builtin_prefetch (p, 0, 0);
- __builtin_prefetch (p, 0, 1);
- __builtin_prefetch (p, 0, 2);
- __builtin_prefetch (p, READ_ACCESS, 3);
- __builtin_prefetch (p, 1, NO_TEMPORAL_LOCALITY);
- __builtin_prefetch (p, 1, LOW_TEMPORAL_LOCALITY);
- __builtin_prefetch (p, 1, MODERATE_TEMPORAL_LOCALITY);
- __builtin_prefetch (p, WRITE_ACCESS, HIGH_TEMPORAL_LOCALITY);
-}
-
-void
-good_enum (const int *p)
-{
- __builtin_prefetch (p, read, none);
- __builtin_prefetch (p, read, low);
- __builtin_prefetch (p, read, moderate);
- __builtin_prefetch (p, read, high);
- __builtin_prefetch (p, write, none);
- __builtin_prefetch (p, write, low);
- __builtin_prefetch (p, write, moderate);
- __builtin_prefetch (p, write, high);
-}
-
-void
-good_expr (const int *p)
-{
- __builtin_prefetch (p, 1 - 1, 6 - (2 * 3));
- __builtin_prefetch (p, 1 + 0, 1 + 2);
-}
-
-void
-good_vararg (const int *p)
-{
- __builtin_prefetch (p, 0, 3);
- __builtin_prefetch (p, 0);
- __builtin_prefetch (p, 1);
- __builtin_prefetch (p);
-}
-
-int
-main ()
-{
- good_const (arr);
- good_enum (arr);
- good_expr (arr);
- good_vararg (arr);
- exit (0);
-}