GCC4.3.4 downside against GCC3.4.4 on mips?
Andrew Haley
aph@redhat.com
Tue May 25 09:10:00 GMT 2010
On 05/25/2010 09:28 AM, Amker.Cheng wrote:
> Hi all,
> I compared assembly files of a function compiled by GCC4.3.4 and GCC3.4.4.
> The function focuses on array computation and has no branch, or any
> loop structure,
> The command line is like "-march=mips32r2 -O3", and here is the
> instruction statics:
>
> total : 1879 : 1534
> addiu : 6 : 6
> addu : 216 : 129
> jr : 1 : 1
> lui : 5 : 5
> lw : 396 : 353
> madd : 41 : 0
> mfhi : 80 : 80
> mflo : 121 : 86
> move : 0 : 21
> mtlo : 39 : 0
> mul : 85 : 0
> mult : 18 : 80
> multu : 64 : 0
> or : 80 : 80
> sll : 80 : 80
> sra : 79 : 47
> srl : 80 : 80
> subu : 80 : 80
> sw : 408 : 406
>
> Considering there is no any branch or loop structure ,It seems result
> of GCC3.4.4
> is much better, since generating much less instructions.
>
> secondly, GCC4.3.4 does consume less stack slots(1224 bytes against 1408).
>
> So, any comments? Thanks in advance.
You're using -O3, which means "optimize as much as possible, don't worry
about code size".
Andrew.
More information about the Gcc-help
mailing list