CLRBHB

Clear Branch History clears the branch history for the current context to the extent that branch history information created before the CLRBHB instruction cannot be used by code before the CLRBHB instruction to exploitatively control the execution of any indirect branches in code in the current context that appear in program order after the instruction.

It has encodings from the following instruction sets: A32 ( A1 ) and T32 ( T1 ) .

A1
(FEAT_CLRBHB)

313029282726252423222120191817161514131211109876543210
!= 1111001100100000(1)(1)(1)(1)(0)(0)(0)(0)00010110
cond

A1

CLRBHB{<c>}{<q>}

if !IsFeatureImplemented(FEAT_CLRBHB) then EndOfInstruction(); // Instruction executes as NOP

T1
(FEAT_CLRBHB)

15141312111098765432101514131211109876543210
111100111010(1)(1)(1)(1)10(0)0(0)00000010110

T1

CLRBHB{<c>}{<q>}

if !IsFeatureImplemented(FEAT_CLRBHB) then EndOfInstruction(); // Instruction executes as NOP

Assembler Symbols

<c>

See Standard assembler syntax fields.

<q>

See Standard assembler syntax fields.

Operation

if ConditionPassed() then EncodingSpecificOperations(); Hint_CLRBHB();


Internal version only: isa v01_31, pseudocode v2024-03_rel ; Build timestamp: 2024-03-25T10:05

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