1 /* Test that the correct data prefetch instructions are generated for i386
2 variants that use 3DNow! prefetchw or SSE prefetch instructions with
5 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
6 /* { dg-require-effective-target ilp32 } */
8 extern void exit (int);
10 char *msg
= "howdy there";
14 __builtin_prefetch (p
, 0, 0);
15 __builtin_prefetch (p
, 0, 1);
16 __builtin_prefetch (p
, 0, 2);
17 __builtin_prefetch (p
, 0, 3);
18 __builtin_prefetch (p
, 1, 0);
19 __builtin_prefetch (p
, 1, 1);
20 __builtin_prefetch (p
, 1, 2);
21 __builtin_prefetch (p
, 1, 3);
30 /* { dg-final { scan-assembler "prefetchw" } } */
31 /* { dg-final { scan-assembler "prefetchnta" } } */
32 /* { dg-final { scan-assembler "prefetcht" } } */