+++ /dev/null
-/* Test that __builtin_prefetch does no harm.
-
- Data prefetch should not fault if used with an invalid address. */
-
-#include <limits.h>
-
-#define ARRSIZE 65
-int *bad_addr[ARRSIZE];
-int arr_used;
-
-/* Fill bad_addr with a range of values in the hopes that on any target
- some will be invalid addresses. */
-void
-init_addrs (void)
-{
- int i;
- int bits_per_ptr = sizeof (void *) * 8;
- for (i = 0; i < bits_per_ptr; i++)
- bad_addr[i] = (void *)(1UL << i);
- arr_used = bits_per_ptr + 1; /* The last element used is zero. */
-}
-
-void
-prefetch_for_read (void)
-{
- int i;
- for (i = 0; i < ARRSIZE; i++)
- __builtin_prefetch (bad_addr[i], 0, 0);
-}
-
-void
-prefetch_for_write (void)
-{
- int i;
- for (i = 0; i < ARRSIZE; i++)
- __builtin_prefetch (bad_addr[i], 1, 0);
-}
-
-int
-main ()
-{
- init_addrs ();
- prefetch_for_read ();
- prefetch_for_write ();
- exit (0);
-}