gcspopm

Guarded Control Stack Pop

GCSPOPM

Pops the value from the Guarded Control Stack into LR.

Pseudocode Operation

if FEAT_GCS == '0' then
  UNDEFINED
else if PSTATE.EL == EL0 then
  UNDEFINED
else
  X[30] ← GCSPop()
  PC ← X[30]

Encoding

Binary Layout
1101010100
31:22
1
21
01
20:19
011
18:16
0111
15:12
0111
11:8
001
7:5
Rt
4:0
 
Format System
Opcode 0xD52B7720

Operands

Related

More in FEAT_GCS (Security)

Reference

Instruction Forms

Encoding Instruction ISA Bit pattern
0xD52B7720 GCSPOPM {<Xt>} A64 1101010100 | 1 | 01 | 011 | 0111 | 0111 | 001 | Rt

Description

Guarded Control Stack Pop loads the 64-bit doubleword that is pointed to by the current Guarded control stack pointer, writes it to the destination register, and increments the current Guarded control stack pointer register by the size of a Guarded control stack procedure return record.