Preload Data and Preload Instruction. The processor can signal the memory system that a data or instruction load from an address is likely in the near future.
can be one of:
Data address with intention to write
DWif the syntax specifies
is an optional condition code.
is permitted only in Thumb code, using a preceding
ITinstruction. This is an unconditional instruction in ARM code and you must not use
is the register on which the memory address is based.
is an immediate offset. If offset is omitted, the address is the value in
is a register containing a value to be used as the offset.
is an optional shift.
is a PC-relative expression.
The offset is applied to the value in
the preload takes place. The result is used as the memory address
for the preload. The range of offsets permitted is:
-4095 to +4095 for ARM instructions
-255 to +4095 for Thumb instructions, when
is not PC.
-4095 to +4095 for Thumb instructions, when
The assembler calculates the offset from the PC for you. The
assembler generates an error if
out of range.
In ARM code, the value in
added to or subtracted from the value in
In Thumb code, the value in
only be added to the value in
The result is used as the memory address for the preload.
The range of shifts permitted is:
LSL#0 to #3 for Thumb instructions
Any one of the following for ARM instructions:
LSL#0 to #31
LSR#1 to #32
ASR#1 to #32
ROR#1 to #31
PLD is available in ARMv5TE and above.
The 32-bit Thumb encoding of
PLD is available
in ARMv6T2 and above.
PLDW is available only in ARMv7 and above that
implement the Multiprocessing Extensions.
PLI is available only in ARMv7 and above.
There are no 16-bit encodings of
PLI in Thumb.
These are hint instructions, and their implementation is optional.
If they are not implemented, they execute as