popfq

Pop rflags

Consumes an 8-byte stack value to restore writable flags, subject to privilege restrictions.

x86-64 and later

CFPFAFZFSFTFIFDFOF ●●●●●●●●●
  • ● set from the result
  • CF Loaded from the stack.
  • PF Loaded from the stack.
  • AF Loaded from the stack.
  • ZF Loaded from the stack.
  • SF Loaded from the stack.
  • TF Loaded from the stack.
  • IF Loaded from the stack only with the privilege to change it, which a Linux program lacks.
  • DF Loaded from the stack.
  • OF Loaded from the stack.

Forms

  • popfq

In 64-bit mode, popf / popfq consume 8 bytes using rsp; popfw consumes 2 and supplies the low 16 bits. popfd is unavailable in this mode.

Privilege and architectural rules limit which flags can change. In particular, ordinary user code cannot use this instruction to freely change IOPL or IF, and some flags retain their old values. Do not treat the operation as an unrestricted assignment to rflags.