These are hint instructions. It is optional whether they are
implemented or not. If any one of them is not implemented, it executes
as a NOP. The assembler produces a diagnostic message
if the instruction executes as a NOP on the target.
SEV, WFE, WFI, and YIELD execute
as NOP instructions in ARMv6T2.
SEV causes an event to be signaled to all cores
within a multiprocessor system. If SEV is implemented, WFE must
also be implemented.
If the Event Register is not set, WFE suspends
execution until one of the following events occurs:
an IRQ interrupt, unless
masked by the CPSR I-bit
an FIQ interrupt, unless masked by the CPSR F-bit
an Imprecise Data abort, unless masked by the CPSR
A-bit
a Debug Entry request, if Debug is enabled
an Event signaled by another processor using the SEV instruction.
If the Event Register is set, WFE clears it and
returns immediately.
If WFE is implemented, SEV must
also be implemented.
WFI suspends execution until one of the following
events occurs:
an
IRQ interrupt, regardless of the CPSR I-bit
an FIQ interrupt, regardless of the CPSR F-bit
an Imprecise Data abort, unless masked by the CPSR
A-bit
a Debug Entry request, regardless of whether Debug
is enabled.
YIELD indicates to the hardware that the current
thread is performing a task, for example a spinlock, that can be
swapped out. Hardware can use this hint to suspend and resume threads
in a multithreading system.