On Wed, Feb 06, 2002 at 11:32:59AM +0100, Ralf Baechle wrote: > > > > There is an extra "nop" in the delay slot. I don't think gas is smart > > enough to fill the delay slot. I will put back those ".set noredor". > > The solution is to move the move instruction in front of the branch > instruction. The assembler will then move it into the delay slot: > I found out why it didn't work for me. The problem is -g turns off filling the delay slot. The mips as has case 'g': if (arg == NULL) mips_debug = 2; else mips_debug = atoi (arg); /* When the MIPS assembler sees -g or -g2, it does not do optimizations which limit full symbolic debugging. We take that to be equivalent to -O0. */ if (mips_debug == 2) mips_optimize = 1; break; It doesn't matter of you pass -O to as or not. I'd like to override it if -O is seen. H.J.