.set arch=mips32r6
	
        .text

good_then_bad:
        jic   $25, 0        # Good.
        bc    foo           # Good.
        beqzc $3, foo       # Wrong: delay slot.
        beqzc $3, foo       # No delay slot here because of the next instruction.
        addiu $5, $5, 1

bad:
        bnezc $3, foo
        bltzc $3, foo
        bgtzc $3, foo
        blezc $3, foo
        bgezc $3, foo
	
# Surrounding the misbehaving instruction I want to generate without
# a delay-slot nop with  .set noreorder ... .set reorder is not enough,
# when the instruction is the only one before .set reorder, or the last
# one.  After .set reorder the delay-slot nop may get added anyway,
# depending on the following instruction.
#
# Example (NO delay-slot nop):
workaround_good:
.set noreorder
        beqzc $3, foo
.set reorder
        addiu $5, $5, 42  # NO delay-slot nop added to the previous instruction,
                          # in this case.  But of course the hardware would
                          # not execute an instruction in this position anyway
	                  # after a taken branch, indepdendently from what it
                          # might be.
# Example (DELAY-slot nop):
workaround_bad:
.set noreorder
        beqzc $3, foo
.set reorder
        bc    foo           # DELAY-slot nop added to the previous instruction.
	
        bnezc $3, foo       # Wrong: delay-slot nop.
        bltzc $3, foo       # Wrong: delay-slot nop.
        bltc  $3, $4, foo   # Wrong: delay-slot nop.
        bltzc $3, foo
        bltzc $3, foo
        bltz  $3, foo       # Not compact: a nop after this is correct.
        bltzc $3, foo
