endbr32
End Branch 32-bit
ENDBR32
Marker instruction for Indirect Branch Tracking (IBT).
Pseudocode Operation
// Marker instruction for Indirect Branch Tracking (IBT)
Encoding
Binary Layout
F3
+0
0F
+1
1E
+2
FB
+3
Operands
Related
More in CET-IBT
Reference
Instruction Forms
| Opcode | Instruction | Op/En | 64/32-bit Mode | CPUID | Description |
|---|---|---|---|---|---|
| F3 0F 1E FB | ENDBR32 | ZO | V/V | CET_IBT | Terminate indirect branch in 32-bit and compatibility mode. |
Description
Terminate an indirect branch in 32 bit and compatibility mode. This opcode is a NOP when CET indirect branch tracking is not enabled and on processors that do not support CET.
Operation
IF EndbranchEnabled(CPL) & (IA32_EFER.LMA = 0 | (IA32_EFER.LMA=1 & CS.L = 0) IF CPL = 3 THEN IA32_U_CET.TRACKER = IDLE IA32_U_CET.SUPPRESS = 0 ELSE IA32_S_CET.TRACKER = IDLE IA32_S_CET.SUPPRESS = 0 FI; FI;
Flags Affected
None.
Exceptions
#UD If the LOCK prefix is used.
ENDBR32-Terminate an Indirect Branch in 32-bit and Compatibility Mode Vol. 2A 3-287