Messages in this thread |  | | | From | Matteo Croce <> | | Date | Sun, 8 Nov 2009 18:40:06 +0100 | | Subject | Re: i686 quirk for AMD Geode |
On Sun, Nov 8, 2009 at 6:37 PM, Pavel Machek <pavel@ucw.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@zytor.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@alix:/usr/src# CFLAGS='-march=i586' ./dry.c >> Microseconds for one run through Dhrystone: 1.4 >> Dhrystones per Second: 740741 > ... >> root@alix:/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. > Pavel
Gcc 4.4 already knows about it, just sucks at optimizing:
# 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |