
MOTOROLA
Chapter 2. Programming Model
2-35
Point Store Instructions” in Appendix D, “Floating-Point Models,” in
The Programming
Environments Manual
.
Implementation Note
—The PowerPC architecture defines store with update instructions
with
r
A = 0 as an invalid form; however, the 603e treats this case as valid.
On the EC603e microprocessor, floating-point instructions are trapped by the floating-point
unavailable exception vector and can be emulated in software.
Table 2-26 provides a list of the floating-point store instructions. (Floating-point
instructions are not supported on the EC603e microprocessor.)
2.3.4.4 Branch and Flow Control Instructions
Branch instructions are executed by the branch processing unit (BPU). The BPU receives
branch instructions from the fetch unit and performs condition register (CR) look-ahead
operations on conditional branches to resolve them early, achieving the effect of a zero-
cycle branch in many cases.
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.
Table 2-26. Floating-Point Store Instructions
Name
Mnemonic
Operand Syntax
Store Floating-Point Single
stfs
fr
S
,
d(
r
A)
Store Floating-Point Single Indexed
stfsx
fr
S
,r
A
,r
B
Store Floating-Point Single with Update
stfsu
fr
S
,
d(
r
A)
Store Floating-Point Single with Update Indexed
stfsux
fr
S
,r
A
,r
B
Store Floating-Point Double
stfd
fr
S
,
d(
r
A)
Store Floating-Point Double Indexed
stfdx
fr
S
,r
A
,r
B
Store Floating-Point Double with Update
stfdu
fr
S
,
d(
r
A)
Store Floating-Point Double with Update Indexed
stfdux
fr
S
,r
A
,r
B
Store Floating-Point as Integer Word Indexed
stfiwx
fr
S
,r
A
,r
B