|
R1
in the branch condition prevents the add
instruction from being moved into the branch delay slot.
To make this optimization legal for (b) or (c), it must be OK to execute the sub
instruction when the branch goes in the unexpected direction.
For example, if R4
were an unused temporary register when the branch goes in the unexpected direction.