cosp

Call Out Speculation

COSP <Xt>

Prevents speculation from determining that the instruction is executed.

Details

Call Out Speculation: prevents speculation from reaching instructions beyond this point until the operand register is committed. This instruction is part of the CSV3 speculation control feature and executes in AArch64 state only. It does not affect any condition flags and requires the source register value to be resolved before execution can proceed speculatively.

Pseudocode Operation

if FEAT_CSV3 == '0' then
  UNDEFINED
else
  CommitSpeculation(X[t])

Example

COSP x3

Encoding

Binary Layout
1101010100
0
01
011
0111
0011
110
Rt
 
Format System
Opcode 0xD50B73C0
Extension FEAT_CSV3 (Speculation)

Operands

  • Xt
    Reg

Reference (Arm A64 ISA)

Instruction Forms

Encoding Instruction ISA Bit pattern
0xD50B73C0 COSP RCTX, <Xt> A64 1101010100 | 0 | 01 | 011 | 0111 | 0011 | 110 | Rt

Description

Clear Other Speculative Prediction Restriction by Context prevents predictions, other than Cache prefetch, Control flow, and Data Value predictions, that predict execution addresses based on information gathered from earlier execution within a particular execution context. Predictions, other than Cache prefetch, Control flow, and Data Value predictions, determined by the actions of code in the target execution context or contexts appearing in program order before the instruction cannot exploitatively control any speculative access occurring after the instruction is complete and synchronized.