yield
Yield
YIELD
Hints that the current thread is performing a spin-wait loop.
Details
Provides a hint to the processor that the current thread is executing a spin-wait loop and suggests yielding execution time to other threads. This is a performance hint with no architectural side effects. No condition flags are affected. Execution state: AArch64-only.
Pseudocode Operation
# Hint: current thread is spin-waiting
HINT_YIELD_EXECUTION_TIME
PC ← PC + 4
Example
YIELD
Encoding
Binary Layout
11010101000000110010
0000
001
11111
Operands
Reference (Arm A64 ISA)
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xD503203F | YIELD | A64 | 11010101000000110010 | 0000 | 001 | 11111 |
Description
YIELD is a hint instruction. Software with a multithreading capability can use a YIELD instruction to indicate to the PE that it is performing a task, for example a spin-lock, that could be swapped out to improve overall system performance. The PE can use this hint to suspend and resume multiple software threads if it supports the capability.
For more information about the recommended use of this instruction, see The YIELD instruction.
Operation
Hint_Yield();