Wait For Event with Timeout is a hint instruction that indicates that the PE can enter a low-power state and remain there until either a local timeout event or a wakeup event occurs. Wakeup events include the event signaled as a result of executing the SEV instruction on any PE in the multiprocessor system. For more information, see Wait For Event mechanism and Send event.

As described in Wait For Event mechanism and Send event, the execution of a WFET instruction that would otherwise cause entry to a low-power state can be trapped to a higher Exception level. See:




if !HaveFeatWFxT() then UNDEFINED; integer d = UInt(Rd); SystemHintOp op; case op2 of when '000' op = SystemHintOp_WFET; when '001' op = SystemHintOp_WFIT; otherwise // Do nothing

Assembler Symbols


Is the 64-bit name of the general-purpose source register, encoded in the "Rd" field.


bits(64) operand = X[d]; integer localtimeout = UInt(operand); if Halted() && ConstrainUnpredictableBool(Unpredictable_WFxTDEBUG) then EndOfInstruction(); case op of when SystemHintOp_WFET Hint_WFE(localtimeout, WFxType_WFET); when SystemHintOp_WFIT Hint_WFI(localtimeout, WFxType_WFIT); otherwise // Instruction executes as NOP

Internal version only: isa v33.11seprel, AdvSIMD v29.05, pseudocode v2021-09_rel, sve v2021-09_rc3d ; Build timestamp: 2021-10-06T11:41

Copyright © 2010-2021 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.