[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <40101cc30911081013n6ec8c450r1f7980e93ba053da@mail.gmail.com>
Date: Sun, 8 Nov 2009 19:13:06 +0100
From: Matteo Croce <technoboy85@...il.com>
To: Pavel Machek <pavel@....cz>
Cc: "H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org
Subject: Re: i686 quirk for AMD Geode
On Sun, Nov 8, 2009 at 7:10 PM, Pavel Machek <pavel@....cz> wrote:
> On Sun 2009-11-08 18:40:06, Matteo Croce wrote:
>> On Sun, Nov 8, 2009 at 6:37 PM, Pavel Machek <pavel@....cz> wrote:
>> > On Fri 2009-11-06 23:18:06, Matteo Croce wrote:
>> >> On Fri, Nov 6, 2009 at 5:44 PM, H. Peter Anvin <hpa@...or.com> wrote:
>> >> > On 11/06/2009 06:59 AM, Matteo Croce wrote:
>> >> >> indeed it has MMX, MMXEXT and CMOV, just lacks the long NOP instruction (NOPL).
>> >> >
>> >> > MMX and MMXEXT are hardly hallmarks of i686, which leaves only cmov.
>> >> > I'm somewhat wondering about the general value of this patch; is i686
>> >> > code really that much faster on Geode that it's worth it?
>> >> >
>> >> > ? ? ? ?-hpa
>> >> >
>> >> > --
>> >> > H. Peter Anvin, Intel Open Source Technology Center
>> >> > I work for Intel. ?I don't speak on their behalf.
>> >> >
>> >> >
>> >>
>> >> yes, I did some test like gzip, bzip2, lame etc and they give more or less
>> >> the same results of dhrystone
>> >>
>> >> root@...x:/usr/src# CFLAGS='-march=i586' ./dry.c
>> >> Microseconds for one run through Dhrystone: 1.4
>> >> Dhrystones per Second: 740741
>> > ...
>> >> root@...x:/usr/src# CFLAGS='-march=i686' ./dry.c
>> >> Trying 5000000 runs through Dhrystone:
>> >> Microseconds for one run through Dhrystone: 1.2
>> >> Dhrystones per Second: 841751
>> >
>> > Teach gcc that geodelx exists? No need to break kernel for that... and
>> > you probably can gain even bigger gains.
>>
>> Gcc 4.4 already knows about it, just sucks at optimizing:
>
> Good. So there's really no point in breaking kernel.
>
>> # CFLAGS='-march=geode' ./dry.c
>> gcc -c -O3 -march=geode ./dry.c -o dry1.o
>> gcc -DPASS2 -O3 -march=geode ./dry.c dry1.o -o dry2
>>
>> Dhrystone Benchmark, Version C, Version 2.2
>> Program compiled without 'register' attribute
>> Using times(), HZ=100
>>
>> Trying 5000000 runs through Dhrystone:
>> Microseconds for one run through Dhrystone: 1.4
>> Dhrystones per Second: 719424
>
> ...fix gcc to genereta code at least as good as for i686 and you are
> done...?
>
> Pavel
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
>
This is on my TODO list, but better to discuss it in the GCC mailing list,
the kernel should use -march=geode and GCC should generate the best code
for the AMD Geode, actually the i686 one
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists