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
 
Format System Alias
Opcode 0xD503203F
Extension Base

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();