1 /* Test that __builtin_prefetch does no harm.
3 Prefetch using some invalid rw and locality values. These must be
4 compile-time constants. */
8 extern void exit (int);
10 enum locality
{ none
, low
, moderate
, high
, bogus
};
11 enum rw
{ read
, write
};
18 __builtin_prefetch (p
, 0, 0);
19 __builtin_prefetch (p
, 0, 1);
20 __builtin_prefetch (p
, 0, 2);
21 __builtin_prefetch (p
, 0, 3);
22 __builtin_prefetch (p
, 1, 0);
23 __builtin_prefetch (p
, 1, 1);
24 __builtin_prefetch (p
, 1, 2);
25 __builtin_prefetch (p
, 1, 3);
31 __builtin_prefetch (p
, -1, 0); /* { dg-warning "invalid second argument to '__builtin_prefetch'; using zero" } */
32 __builtin_prefetch (p
, 2, 0); /* { dg-warning "invalid second argument to '__builtin_prefetch'; using zero" } */
33 __builtin_prefetch (p
, bogus
, 0); /* { dg-warning "invalid second argument to '__builtin_prefetch'; using zero" } */
34 __builtin_prefetch (p
, 0, -1); /* { dg-warning "invalid third argument to '__builtin_prefetch'; using zero" } */
35 __builtin_prefetch (p
, 0, 4); /* { dg-warning "invalid third argument to '__builtin_prefetch'; using zero" } */
36 __builtin_prefetch (p
, 0, bogus
); /* { dg-warning "invalid third argument to '__builtin_prefetch'; using zero" } */