Re: i686 quirk for AMD Geode

Matteo Croce
2009-11-09T21:03:55Z

On Mon, Nov 9, 2009 at 9:16 PM, Lennart Sorensen
<lsorense@csclub.uwaterloo.ca> wrote:
> On Sun, Nov 08, 2009 at 07:42:48PM +0100, Matteo Croce wrote:
>> There is a small advantage, but considering that GCC isn't much geode aware yet
>> there is stil room for improvement IMHO:
>
> Perhaps gcc considers geode to mean geode GX[m12] not geode LX (which is
> newer and the one in question here).
>
> The Geode GX line prefers i486 code to i586 code (which appears to be
> what -march=geode is for).  I am using i486 at the moment when I build
> for this one.
>
> The Geode LX is what is being discussed which is in fact mostly a K6 as
> far as I understand things.  It seems to like i686 code, other than
> apparently those NOP instructions.  I wonder if the K6 has those noop
> instructions and if not, perhaps gcc 4.4's -march=k6-3 would be the
> right choice.  I have always suspected the LX was really a K6-3 based
> design (the cache sizes are a bit different, but clock speeds and
> instruction sets seem to match).
>
> The Geode NX (which no one has mentioned yet) is an Athlon derived chip.
>
>> root@alix:/usr/src/dist# ll
>> totale 257M
>> -rwxr-xr-x 1 1000 src  93K  8 nov  2009 bzip2-i586
>> -rwxr-xr-x 1 1000 src  93K  8 nov  2009 bzip2-i686
>> -rwxr-xr-x 1 1000 src  60K  8 nov  2009 gzip-i586
>> -rwxr-xr-x 1 1000 src  60K  8 nov  2009 gzip-i686
>> -rw-r--r-- 1 1000 src 256M  8 nov  2009 linux-2.6.31.5.tar
>> -rwxr-xr-x 1 1000 src  90K  8 nov  2009 lzma-i586
>> -rwxr-xr-x 1 1000 src  94K  8 nov  2009 lzma-i686
>> root@alix:/usr/src/dist# time cat linux-2.6.31.5.tar >/dev/null
>>
>> real    0m10.168s
>> user    0m0.030s
>> sys     0m1.390s
>> root@alix:/usr/src/dist# time ./gzip-i586 -9 < linux-2.6.31.5.tar >/dev/null
>>
>> real    5m22.331s
>> user    5m10.820s
>> sys     0m11.170s
>> root@alix:/usr/src/dist# time ./gzip-i686 -9 < linux-2.6.31.5.tar >/dev/null
>>
>> real    5m3.737s
>> user    4m51.880s
>> sys     0m11.510s
>> root@alix:/usr/src/dist# time ./bzip2-i586 -9 < linux-2.6.31.5.tar >/dev/null
>>
>> real    9m16.539s
>> user    9m4.410s
>> sys     0m11.760s
>> root@alix:/usr/src/dist# time ./bzip2-i686 -9 < linux-2.6.31.5.tar >/dev/null
>>
>> real    8m48.682s
>> user    8m34.950s
>> sys     0m13.260s
>
> --
> Len Sorensen
>

You're right, indeed this is being discussed here: