B
Branch Using a Register
3-42
Syntax
B (.unit)
src2
.unit = .S2
Opcode map field used...
For operand type...
Unit
src2
xuint
.S2
Opcode
31
29 28 27
23 22
18 17
creg
z
dst
13 12
5
4
3
2
1
0
0 0 1 1 0 1
0
0
0
s
p
3
5
5
5
6
6
1
11
x
0 0 0 0 0
src2
Description
src2 is placed in the PFC.
If two branches are in the same execute packet and are both taken, behavior
is undefined.
Two conditional branches can be in the same execute packet if one branch
uses a displacement and the other uses a register, IRP, or NRP. As long as
onlly one branch has a true condition, the code executes in a well-defined way.
Execution
if (cond)
src2
→
PFC
else
nop
Notes:
1) This instruction executes on .S2 only. PFC is program fetch counter.
2) The execute packets in the delay slots of a branch cannot be interrupted.
This is true regardless of whether the branch is taken.
Target Instruction
Pipeline
Stage
E1
PS
PW
PR
DP
DC
E1
Read
src2
Written
Branch
Taken
n
Unit in use
.S2
Instruction Type
Branch
Delay Slots
5
Pipeline