
3-26
G2 PowerPC Core Reference Manual
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
Instruction Set Summary
Some branch instructions can redirect instruction execution conditionally based on the
value of bits in the CR. When the branch processor encounters one of these instructions, it
scans the execution pipelines to determine whether an instruction in progress may affect the
particular CR bit. If no interlock is found, the branch can be resolved immediately by
checking the bit in the CR and taking the action defined for the branch instruction.
If an interlock is detected, the branch is considered unresolved and the direction of the
branch is predicted using static branch prediction as described in “Conditional Branch
Control” in Chapter 4, “Addressing Modes and Instruction Set Summary,” in the
Programming Environments Manual
. The interlock is monitored while instructions are
fetched for the predicted branch. When the interlock is cleared, the branch processor
determines whether the prediction was correct, based on the value of the CR bit. If the
prediction is correct, the branch is considered completed and instruction fetching continues.
If the prediction is incorrect, the fetched instructions are purged, and instruction fetching
continues along the alternate path. See Chapter 8, “Instruction Timing,” in the
Programming Environments Manual
, for more information about how branches are
executed.
3.2.4.4.1
Branch Instruction Address Calculation
Branch instructions can change the instruction sequence. Instruction addresses are always
assumed to be word aligned; the processor ignores the two low-order bits of the generated
branch target address.
Branch instructions compute the effective address (EA) of the next instruction address
using the following addressing modes:
Branch relative
Branch conditional to relative address
Branch to absolute address
Branch conditional to absolute address
Branch conditional to link register
Branch conditional to count register
3.2.4.4.2
Branch Instructions
Table 3-21 lists the branch instructions provided by the processors that implement the
PowerPC architecture. To simplify assembly language programming, a set of simplified
mnemonics and symbols is provided for the most frequently used forms of branch
conditional, compare, trap, rotate and shift, and certain other instructions. See Appendix F,
“Simplified Mnemonics,” in the
Programming Environments Manual
,
for a list of
simplified mnemonic examples.
F
Freescale Semiconductor, Inc.
n
.