Thiemo Seufer wrote:
Franck Bui-Huu wrote:
Nigel Stephens wrote:
Could you run that gcc command manually, adding the options "-v
--save-temps", and post the resulting output messages, and the user.s file.
Ok, I did it except I used init/do_mounts.c file since it has at least
one nop load delay slot (cf label $L50 in do_mount.s)
I only see a nop after the final LW, this is alignment for the next label.
Aha, that probably explains it. Franck is using the "SDE for Linux
v6.05" toolchain, and in that version of GCC -march=mips32r2 implies a
default of -mtune=24k. Tuning for 24K implies -falign-loops=8
-falign-jumps=8 and -falign-functions=8. This is undoubtedly why code
compiled with "-march=mips32r2 -msmartmips" contains more nops than
"-march=4ksd".nIn theory the extra nops should also disappear if you
compile with -Os instead of -O2.
Nigel