4.7.24.  __pld

This intrinsic inserts a data prefetch, for example PLD, into the instruction stream generated by the compiler. It enables you to signal to the memory system from your C or C++ program that a data load from an address is likely in the near future.

Syntax

void __pld(...)

Where:

...

denotes any number of pointer or integer arguments specifying addresses of memory to prefetch.

Restrictions

If the target architecture does not support data prefetching, this intrinsic has no effect.

Example

extern int data1;
extern int data2;

volatile int* interrupt = (volatile int *)0x8000;
volatile int* uart = (volatile int *)0x9000;

void get(void)
{
    __pld(data1, data2);

    while (!*interrupt);

    *uart = data1;        // trigger uart as soon as interrupt occurs
    *(uart+1) = data2;
}

See also

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential