The PREFETCH and NOPREFTCH directives assert that the data prefetches be generated or not generated for some memory references. This affects the heuristics used in the compiler.
The syntax for this directive is:
CDIR$ PREFETCH or !DIR$ PREFETCH
CDIR$ NOPRFETCH or !DIR$ NOPREFETCH
CDIR$ PREFETCH a,b or !DIR$ PREFETCH a,b
CDIR$ NOPREFETCH a,b or !DIR$ NOPREFETCH a,b
If loop includes expression a(j), placing PREFETCH a in front of the loop, instructs the compiler to insert prefetches for a(j + d) within the loop. d is determined by the compiler. This directive is supported when option -O3 is on.
PREFETCH |
CDIR$ NOPREFETCH c |