linux-mips
[Top] [All Lists]

Re: [PATCH] mm/pg-r4k.c: Dump the generated code

To: Thiemo Seufer <ths@networkno.de>
Subject: Re: [PATCH] mm/pg-r4k.c: Dump the generated code
From: Nigel Stephens <nigel@mips.com>
Date: Wed, 17 Oct 2007 14:25:05 +0100
Cc: Franck Bui-Huu <vagabon.xyz@gmail.com>, "Maciej W. Rozycki" <macro@linux-mips.org>, Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
In-reply-to: <20071017123046.GY3379@networkno.de>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.LNX.4.64N.0710081611460.8873@blysk.ds.pg.gda.pl> <470BE1F4.3070800@gmail.com> <Pine.LNX.4.64N.0710101231290.9821@blysk.ds.pg.gda.pl> <47126EDC.1060305@gmail.com> <20071014195324.GT3379@networkno.de> <4713C11F.3010903@gmail.com> <4713C958.8080805@mips.com> <47147551.1010004@gmail.com> <4714B58E.8020005@mips.com> <4715C039.7090603@gmail.com> <20071017123046.GY3379@networkno.de>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)


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


<Prev in Thread] Current Thread [Next in Thread>