1 /* Test that __builtin_prefetch does no harm.
3 Data prefetch should not fault if used with an invalid address. */
8 int *bad_addr
[ARRSIZE
];
11 /* Fill bad_addr with a range of values in the hopes that on any target
12 some will be invalid addresses. */
17 int bits_per_ptr
= sizeof (void *) * 8;
18 for (i
= 0; i
< bits_per_ptr
; i
++)
19 bad_addr
[i
] = (void *)(1UL << i
);
20 arr_used
= bits_per_ptr
+ 1; /* The last element used is zero. */
24 prefetch_for_read (void)
27 for (i
= 0; i
< ARRSIZE
; i
++)
28 __builtin_prefetch (bad_addr
[i
], 0, 0);
32 prefetch_for_write (void)
35 for (i
= 0; i
< ARRSIZE
; i
++)
36 __builtin_prefetch (bad_addr
[i
], 1, 0);
44 prefetch_for_write ();