On Thu, 30 Oct 2008, David Daney wrote: > @@ -260,16 +260,15 @@ bad_alignment: > END(sys_sysmips) > > LEAF(sys_syscall) > + .set noreorder Please indent branch delay slot instructions by one space if using this mode. > subu t0, a0, __NR_O32_Linux # check syscall number > - sltiu v0, t0, __NR_O32_Linux_syscalls + 1 > + beqz t0, einval # do not recurse > + sltu v0, t0, __NR_O32_Linux_syscalls + 1 Why not sltiu? You do want to fit in the delay slot here. Besides you should not need .set noreorder here -- GAS should be smart enough to swap sltiu with beqz here (and then you can actually use sltu quite safely). The rule of thumb is not to use .set noreorder unless absolutely necessary (such as modifying one of the registers used by a branch instruction immediately afterwards in its delay slot) as you have to take all the pesky details of instruction scheduling into account, including but not limited to the MIPS I load delay slots not everybody seems to be aware of. Adjust for the other hunk accordingly. Maciej