Condition Register (CR)
ConceptThe Condition Register (CR) is a processor register whose individual flag fields are read by certain instructions (and thereby affect their operation) and written by certain instructions (changing the flag values themselves). It is most prominently consumed by conditional-branch instructions such as bc, whose behavior depends on specific CR fields together with other architectural state such as the CTR.
First seen 7/9/2026
Last seen 7/9/2026
Evidence 2 chunks
Wiki v1
WIKI
Overview
The Condition Register (CR) is an architectural register composed of flag-like fields. Its flags participate in processor execution in two distinct ways:
- An instruction may read a CR flag, in which case the flag's current value influences the instruction's operation.
- An instruction may write a CR flag, in which case the instruction's execution alters the value stored in that flag.
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →RELATIONSHIPS
1 connectionsThe bc instruction's behavior is affected by the CR (Condition Register).
LINKED ENTITIES
1 linksCITATIONS
8 sources8 citations — click to expand
[1] The CR (Condition Register) holds flag-like fields whose current values can affect instruction behavior and whose values can themselves be changed by instructions. Automatic identification of information useful for generation-based ...
[2] Whether a particular flag in the condition register affects an instruction's behavior cannot be easily deduced by comparing different samples because samples are unlikely to be similar in all other input features. Automatic identification of information useful for generation-based ...
[3] A reference-model procedure with rollback and flag negation determines whether an instruction reads (and is affected by) a CR flag, and whether an instruction writes to a CR flag. Automatic identification of information useful for generation-based ...
[4] A simulated state differing between the original and flag-negated executions (beyond the flag value itself) indicates the instruction read the flag and was affected by it; a flag whose value changed in either execution indicates the instruction writes to that flag. Automatic identification of information useful for generation-based ...
[5] The bc (branch conditional) instruction is affected by the CR register, with samples recording a 'CR.Affected' boolean per sample. Automatic identification of information useful for generation-based ...
[6] A decision-tree classifier identified the bo.data operand, the bi.data operand, and (in special cases) the CTR contents as the determinants of whether a bc instruction is affected by the CR. Automatic identification of information useful for generation-based ...
[7] Classified rules for bc-CR interaction include: bc with bo.data in {0x0,0x1,0x8,0x9} and CTR != 0000000000000001 (always affected, 209/209); bc with bo.data in {0x4,0x5,0x6,0x7,0xC,0xD,0xE,0xF} (always affected, 952/952); bc with no other constraint (sometimes 47%, 1193/2486). Automatic identification of information useful for generation-based ...
[8] Learned CR-affecting rules can be used by an instruction generator, e.g., to produce sequences of an instruction writing to the CR followed by a branch affected by the CR. Automatic identification of information useful for generation-based ...