I'm trying to replace some MIPS II instructions using MIPS I - namely the branch likely instructions. I'm having difficulty deciding how to do this. Assume that the branch delay slot is implemented.
First off, a branch likely is an instruction that when taken, executes the delay slot instruction whereas when it is not taken, the delay slot instruction is skipped. So..
[U]Taken[/U] [U]Not Taken[/U]
blezl->mult blezl blezl
add add sub
sub mult ...
... ...
mult
...
I might be able emulate this if I could place another conditional branch in the delay slot and toss a nop in front of it. Is it possible to place a conditional branch into the delay slot artificially without having architectural issues?
How else can I do this?