public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
@ 2009-11-08 18:51 ` rootkit85 at yahoo dot it
  2009-11-08 18:55 ` [Bug target/41989] " pinskia at gcc dot gnu dot org
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-08 18:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rootkit85 at yahoo dot it  2009-11-08 18:51 -------
Created an attachment (id=18994)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18994&action=view)
the dhrystone benchmark


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug c/41989]  New: Code optimized for AMD Geode is slower than generic
@ 2009-11-08 18:51 rootkit85 at yahoo dot it
  2009-11-08 18:51 ` [Bug c/41989] " rootkit85 at yahoo dot it
                   ` (26 more replies)
  0 siblings, 27 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-08 18:51 UTC (permalink / raw)
  To: gcc-bugs

I noticed that when compiling with -march=geode the code is actually slower
than the one generated with generic options (i386 or i686).
This happens with any program, not just with dhrystone

# CFLAGS='-march=i386' ./dry.c
Dhrystones per Second:                          643501 

# CFLAGS='-march=i486' ./dry.c
Dhrystones per Second:                          712251 

# CFLAGS='-march=i586' ./dry.c
Dhrystones per Second:                          711238

# CFLAGS='-march=i686' ./dry.c
Dhrystones per Second:                          878735

# CFLAGS='-march=geode' ./dry.c
Dhrystones per Second:                          684932


-- 
           Summary: Code optimized for AMD Geode is slower than generic
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rootkit85 at yahoo dot it


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
  2009-11-08 18:51 ` [Bug c/41989] " rootkit85 at yahoo dot it
@ 2009-11-08 18:55 ` pinskia at gcc dot gnu dot org
  2009-11-08 19:00 ` rguenth at gcc dot gnu dot org
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-11-08 18:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from pinskia at gcc dot gnu dot org  2009-11-08 18:55 -------
On which Geode is this on?  Is this with the first generation Geode or the one
AMD made?  Because if it is the latter, it is not really a Geode but a k6/k7
based processor.  


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
  2009-11-08 18:51 ` [Bug c/41989] " rootkit85 at yahoo dot it
  2009-11-08 18:55 ` [Bug target/41989] " pinskia at gcc dot gnu dot org
@ 2009-11-08 19:00 ` rguenth at gcc dot gnu dot org
  2009-11-08 19:53 ` rootkit85 at yahoo dot it
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-11-08 19:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2009-11-08 19:00 -------
Try -march=native instead.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (2 preceding siblings ...)
  2009-11-08 19:00 ` rguenth at gcc dot gnu dot org
@ 2009-11-08 19:53 ` rootkit85 at yahoo dot it
  2009-11-08 19:57   ` Andrew Pinski
  2009-11-08 19:57 ` pinskia at gmail dot com
                   ` (22 subsequent siblings)
  26 siblings, 1 reply; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-08 19:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rootkit85 at yahoo dot it  2009-11-08 19:52 -------
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 10
model name      : Geode(TM) Integrated Processor by AMD PCS
stepping        : 2
cpu MHz         : 498.060
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext
3dnowext 3dnow
bogomips        : 996.12
clflush size    : 32
cache_alignment : 32
address sizes   : 32 bits physical, 32 bits virtual
power management:

# CFLAGS='-march=native' ./dry.c
Dhrystones per Second:                          715308


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 19:53 ` rootkit85 at yahoo dot it
@ 2009-11-08 19:57   ` Andrew Pinski
  0 siblings, 0 replies; 30+ messages in thread
From: Andrew Pinski @ 2009-11-08 19:57 UTC (permalink / raw)
  To: gcc-bugzilla; +Cc: gcc-bugs



Sent from my iPhone

On Nov 8, 2009, at 11:52 AM, "rootkit85 at yahoo dot it" <gcc-bugzilla@gcc.gnu.org 
 > wrote:

>
>
> ------- Comment #4 from rootkit85 at yahoo dot it  2009-11-08 19:52  
> -------
> # cat /proc/cpuinfo
> processor       : 0
> vendor_id       : AuthenticAMD
> cpu family      : 5
> model           : 10
> model name      : Geode(TM) Integrated Processor by AMD PCS
> stepping        : 2
> cpu MHz         : 498.060
> cache size      : 128 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 1
> wp              : yes
> flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx  
> mmxext
> 3dnowext 3dnow

Since it has cmov this is not a real geode :).


> bogomips        : 996.12
> clflush size    : 32
> cache_alignment : 32
> address sizes   : 32 bits physical, 32 bits virtual
> power management:
>
> # CFLAGS='-march=native' ./dry.c
> Dhrystones per Second:                          715308
>
>
> -- 
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989
>


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (3 preceding siblings ...)
  2009-11-08 19:53 ` rootkit85 at yahoo dot it
@ 2009-11-08 19:57 ` pinskia at gmail dot com
  2009-11-08 22:34 ` rootkit85 at yahoo dot it
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: pinskia at gmail dot com @ 2009-11-08 19:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from pinskia at gmail dot com  2009-11-08 19:57 -------
Subject: Re:  Code optimized for AMD Geode is slower than generic



Sent from my iPhone

On Nov 8, 2009, at 11:52 AM, "rootkit85 at yahoo dot it"
<gcc-bugzilla@gcc.gnu.org 
 > wrote:

>
>
> ------- Comment #4 from rootkit85 at yahoo dot it  2009-11-08 19:52  
> -------
> # cat /proc/cpuinfo
> processor       : 0
> vendor_id       : AuthenticAMD
> cpu family      : 5
> model           : 10
> model name      : Geode(TM) Integrated Processor by AMD PCS
> stepping        : 2
> cpu MHz         : 498.060
> cache size      : 128 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 1
> wp              : yes
> flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx  
> mmxext
> 3dnowext 3dnow

Since it has cmov this is not a real geode :).


> bogomips        : 996.12
> clflush size    : 32
> cache_alignment : 32
> address sizes   : 32 bits physical, 32 bits virtual
> power management:
>
> # CFLAGS='-march=native' ./dry.c
> Dhrystones per Second:                          715308
>
>
> -- 
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989
>


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (4 preceding siblings ...)
  2009-11-08 19:57 ` pinskia at gmail dot com
@ 2009-11-08 22:34 ` rootkit85 at yahoo dot it
  2009-11-09  3:31 ` pinskia at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-08 22:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from rootkit85 at yahoo dot it  2009-11-08 22:34 -------
(In reply to comment #5)
> Subject: Re:  Code optimized for AMD Geode is slower than generic
> 
> 
> 
> Sent from my iPhone
> 
> On Nov 8, 2009, at 11:52 AM, "rootkit85 at yahoo dot it"
> <gcc-bugzilla@gcc.gnu.org 
>  > wrote:
> 
> >
> >
> > ------- Comment #4 from rootkit85 at yahoo dot it  2009-11-08 19:52  
> > -------
> > # cat /proc/cpuinfo
> > processor       : 0
> > vendor_id       : AuthenticAMD
> > cpu family      : 5
> > model           : 10
> > model name      : Geode(TM) Integrated Processor by AMD PCS
> > stepping        : 2
> > cpu MHz         : 498.060
> > cache size      : 128 KB
> > fdiv_bug        : no
> > hlt_bug         : no
> > f00f_bug        : no
> > coma_bug        : no
> > fpu             : yes
> > fpu_exception   : yes
> > cpuid level     : 1
> > wp              : yes
> > flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx  
> > mmxext
> > 3dnowext 3dnow
> 
> Since it has cmov this is not a real geode :).

What has to do CMOV with Geode? It isn't an Athlon:

# CFLAGS='-march=k6' ./dry.c
Dhrystones per Second:                          757576

# CFLAGS='-march=athlon' ./dry.c
Dhrystones per Second:                          764526

# CFLAGS='-march=athlon-xp' ./dry.c
Dhrystones per Second:                          758725


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (5 preceding siblings ...)
  2009-11-08 22:34 ` rootkit85 at yahoo dot it
@ 2009-11-09  3:31 ` pinskia at gcc dot gnu dot org
  2009-11-09  8:55 ` rootkit85 at yahoo dot it
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-11-09  3:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from pinskia at gcc dot gnu dot org  2009-11-09 03:31 -------
-march=geode disables cmov because the real geode does not have cmov :).

This is why it is much slower.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (6 preceding siblings ...)
  2009-11-09  3:31 ` pinskia at gcc dot gnu dot org
@ 2009-11-09  8:55 ` rootkit85 at yahoo dot it
  2009-11-09  9:02 ` rootkit85 at yahoo dot it
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-09  8:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from rootkit85 at yahoo dot it  2009-11-09 08:55 -------
1) define "real geode"
2) what CPU do I have?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (7 preceding siblings ...)
  2009-11-09  8:55 ` rootkit85 at yahoo dot it
@ 2009-11-09  9:02 ` rootkit85 at yahoo dot it
  2009-11-09  9:34 ` ubizjak at gmail dot com
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-09  9:02 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 878 bytes --]



------- Comment #9 from rootkit85 at yahoo dot it  2009-11-09 09:01 -------
Read here pag. 15:
http://www.amd.com/files/connectivitysolutions/geode/geode_lx/33234F_LX_databook.pdf

"The instruction set supported by the core is a combination
of Intel Pentium® processor, AMD Athlon™ processor, and
AMD Geode LX processor specific instructions. Specifi-
cally, it supports the Pentium, Pentium Pro, AMD 3DNow!™
technology and MMX™ instructions for the AMD Athlon
processor. It supports a subset of the specialized
AMD Geode LX processor instructions including special
SMM instructions. The CPU Core does not support the
entire Katmai New Instruction (KNI) set as implemented in
the Pentium 3. It does support the MMX instructions for the
AMD Athlon processor, which are a subset of the
Pentium 3 KNI instructions."


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (8 preceding siblings ...)
  2009-11-09  9:02 ` rootkit85 at yahoo dot it
@ 2009-11-09  9:34 ` ubizjak at gmail dot com
  2009-11-09 10:28 ` ubizjak at gmail dot com
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09  9:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from ubizjak at gmail dot com  2009-11-09 09:34 -------
(In reply to comment #8)
> 1) define "real geode"
> 2) what CPU do I have?

http://en.wikipedia.org/wiki/Geode_%28processor%29#AMD_Geode


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (9 preceding siblings ...)
  2009-11-09  9:34 ` ubizjak at gmail dot com
@ 2009-11-09 10:28 ` ubizjak at gmail dot com
  2009-11-09 10:29 ` ubizjak at gmail dot com
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 10:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from ubizjak at gmail dot com  2009-11-09 10:28 -------
OK, according to your benchmarks and documentation qoute, it looks we have to
split "geode-lx" out of generic "geode" option.

So, can you confirm, that the difference between generic geode and geode-lx is
presence of CMOV bit? According to your documentation quote, it should use i686
pipeline with 3dNow! features.

There is also geode NX, IIRC it represents itself as Athlon, but someone should
confirm this.

See also PR37179, geode LX does not implrement ffreep, so it is not Athlon.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|0000-00-00 00:00:00         |2009-11-09 10:28:03
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (10 preceding siblings ...)
  2009-11-09 10:28 ` ubizjak at gmail dot com
@ 2009-11-09 10:29 ` ubizjak at gmail dot com
  2009-11-09 10:34 ` ubizjak at gmail dot com
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 10:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from ubizjak at gmail dot com  2009-11-09 10:28 -------
Reopened to clear this geode mess.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (11 preceding siblings ...)
  2009-11-09 10:29 ` ubizjak at gmail dot com
@ 2009-11-09 10:34 ` ubizjak at gmail dot com
  2009-11-09 10:48 ` ubizjak at gmail dot com
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 10:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from ubizjak at gmail dot com  2009-11-09 10:34 -------
Created an attachment (id=18997)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18997&action=view)
Patch that introduces geode-lx CPU option

Can you patch the compiler with attached patch?

"gcc -march=native -### hello.c" should return -march=geode-lx somewhere for
your target. Passing "-march=geode-lx" should generate fastest code.


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (12 preceding siblings ...)
  2009-11-09 10:34 ` ubizjak at gmail dot com
@ 2009-11-09 10:48 ` ubizjak at gmail dot com
  2009-11-09 11:48 ` ubizjak at gmail dot com
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 10:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from ubizjak at gmail dot com  2009-11-09 10:47 -------
(In reply to comment #11)

> There is also geode NX, IIRC it represents itself as Athlon, but someone should
> confirm this.

According to [1], cpuid for Geode NX returns "AMD Geode NX 1750", and this
string doesn't trigger our current detection logic for Geode architecture.

[1] http://en.gentoo-wiki.com/wiki/Safe_Cflags/AMD#Athlon_XP.2FGeode_NX


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |37179


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (13 preceding siblings ...)
  2009-11-09 10:48 ` ubizjak at gmail dot com
@ 2009-11-09 11:48 ` ubizjak at gmail dot com
  2009-11-09 13:17 ` rootkit85 at yahoo dot it
                   ` (11 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 11:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from ubizjak at gmail dot com  2009-11-09 11:48 -------
(In reply to comment #7)
> -march=geode disables cmov because the real geode does not have cmov :).

No, all geodes have cmov.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (14 preceding siblings ...)
  2009-11-09 11:48 ` ubizjak at gmail dot com
@ 2009-11-09 13:17 ` rootkit85 at yahoo dot it
  2009-11-09 15:11 ` ubizjak at gmail dot com
                   ` (10 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-09 13:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from rootkit85 at yahoo dot it  2009-11-09 13:17 -------
Yes, it seems that even old Geode has such instructions:

# cat /proc/cpuinfo 
processor       : 0
vendor_id       : Geode by NSC
cpu family      : 5
model           : 9
model name      : Unknown
stepping        : 1
cpu MHz         : 266.688
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu tsc msr cx8 cmov mmx cxmmx
bogomips        : 534.07


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (15 preceding siblings ...)
  2009-11-09 13:17 ` rootkit85 at yahoo dot it
@ 2009-11-09 15:11 ` ubizjak at gmail dot com
  2009-11-09 15:26 ` rootkit85 at yahoo dot it
                   ` (9 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 15:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #17 from ubizjak at gmail dot com  2009-11-09 15:10 -------
(In reply to comment #16)
> Yes, it seems that even old Geode has such instructions:

So, I guess they should be listed under <config X86_CMOV> in
linux-2.6/arch/x86/Kconfig.cpu.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (16 preceding siblings ...)
  2009-11-09 15:11 ` ubizjak at gmail dot com
@ 2009-11-09 15:26 ` rootkit85 at yahoo dot it
  2009-11-09 18:16 ` ubizjak at gmail dot com
                   ` (8 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-09 15:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #18 from rootkit85 at yahoo dot it  2009-11-09 15:26 -------
As I did here?

http://patchwork.kernel.org/patch/51410/


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (17 preceding siblings ...)
  2009-11-09 15:26 ` rootkit85 at yahoo dot it
@ 2009-11-09 18:16 ` ubizjak at gmail dot com
  2009-11-09 20:26 ` rootkit85 at yahoo dot it
                   ` (7 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-09 18:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #19 from ubizjak at gmail dot com  2009-11-09 18:16 -------
(In reply to comment #18)
> As I did here?
> 
> http://patchwork.kernel.org/patch/51410/

Yes, but I don't know if perhaps -march=k6-2 should be used as a fallback, as
suggested in [1].

BTW: You can change optimization bitmasks and cost tables in gcc/config/i386.c
to find out what effects runtime performace, but without access to a target
processor, there is no way to resolve runtime regressions.

[1] http://en.gentoo-wiki.com/wiki/Safe_Cflags/AMD#Geode_LX


-- 

ubizjak at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|ubizjak at gmail dot com    |unassigned at gcc dot gnu
                   |                            |dot org
             Status|ASSIGNED                    |UNCONFIRMED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (18 preceding siblings ...)
  2009-11-09 18:16 ` ubizjak at gmail dot com
@ 2009-11-09 20:26 ` rootkit85 at yahoo dot it
  2009-11-09 21:59 ` rootkit85 at yahoo dot it
                   ` (6 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-09 20:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #20 from rootkit85 at yahoo dot it  2009-11-09 20:25 -------
Yes K6 is the best fallback for geode-lx, while pentium-mmx is the best one for
geode.
I need to know if this new -march argument will be added so I edit the kernel
patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (19 preceding siblings ...)
  2009-11-09 20:26 ` rootkit85 at yahoo dot it
@ 2009-11-09 21:59 ` rootkit85 at yahoo dot it
  2009-11-10  7:45 ` ubizjak at gmail dot com
                   ` (5 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-09 21:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #21 from rootkit85 at yahoo dot it  2009-11-09 21:59 -------
Created an attachment (id=19001)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19001&action=view)
A patch which adds Geode LX support to GCC


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (20 preceding siblings ...)
  2009-11-09 21:59 ` rootkit85 at yahoo dot it
@ 2009-11-10  7:45 ` ubizjak at gmail dot com
  2009-11-16 10:03 ` rootkit85 at yahoo dot it
                   ` (4 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: ubizjak at gmail dot com @ 2009-11-10  7:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #22 from ubizjak at gmail dot com  2009-11-10 07:45 -------
(In reply to comment #20)
> Yes K6 is the best fallback for geode-lx, while pentium-mmx is the best one for
> geode.

BTW, recommended fallback is K6-2.

> I need to know if this new -march argument will be added so I edit the kernel
> patch.

Actually, according to gcc documentation, "-march=geode" is intended
specifically for geode-lx and switches on features and tuning options for
geode-lx.

If you want to play with tuning options, you can check differences between
m_PPRO and m_GEODE in i386.c, ix86_tune_features. By changing these settings,
you can narrow down which flag causes a regression. I would suggest to start
with flags that mention partial register stalls.

OTOH, you can also play with "-march=geode, -mtune=i686" to switch on various
tuning flags.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (21 preceding siblings ...)
  2009-11-10  7:45 ` ubizjak at gmail dot com
@ 2009-11-16 10:03 ` rootkit85 at yahoo dot it
  2010-08-19  9:14 ` eren at pardus dot org dot tr
                   ` (3 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2009-11-16 10:03 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #23 from rootkit85 at yahoo dot it  2009-11-16 10:02 -------
Despite its name Geode GX, LX and NX are very different, I guess that we should
split them to geode-gx and geode-lx, and alias geode-nx to k7


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (22 preceding siblings ...)
  2009-11-16 10:03 ` rootkit85 at yahoo dot it
@ 2010-08-19  9:14 ` eren at pardus dot org dot tr
  2010-08-22 13:34 ` rootkit85 at yahoo dot it
                   ` (2 subsequent siblings)
  26 siblings, 0 replies; 30+ messages in thread
From: eren at pardus dot org dot tr @ 2010-08-19  9:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #24 from eren at pardus dot org dot tr  2010-08-19 09:13 -------
What's the situation right now, is there any progress?

I have Geode LX 800MHz, and the code compiled for generic x86 architectures
runs really slow . I'm thinking of producing optimized packages for Geode LX,
however I'm confused as to which CFLAGS I should use. Is there any
clarifications for this?

I'm using gcc 4.3.5, btw.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (23 preceding siblings ...)
  2010-08-19  9:14 ` eren at pardus dot org dot tr
@ 2010-08-22 13:34 ` rootkit85 at yahoo dot it
  2010-08-31 17:14 ` andrew at atrens dot ca
  2010-08-31 18:02 ` rootkit85 at yahoo dot it
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2010-08-22 13:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #25 from rootkit85 at yahoo dot it  2010-08-22 13:34 -------
try -march=i686 it should be the best


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (24 preceding siblings ...)
  2010-08-22 13:34 ` rootkit85 at yahoo dot it
@ 2010-08-31 17:14 ` andrew at atrens dot ca
  2010-08-31 18:02 ` rootkit85 at yahoo dot it
  26 siblings, 0 replies; 30+ messages in thread
From: andrew at atrens dot ca @ 2010-08-31 17:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #26 from andrew at atrens dot ca  2010-08-31 17:14 -------
(In reply to comment #25)
> try -march=i686 it should be the best
> 

What about the fact that Geode LX does not have a NOPL instruction, while i686
does. Couldn't that result in binaries that crash?

--Andrew


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
  2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
                   ` (25 preceding siblings ...)
  2010-08-31 17:14 ` andrew at atrens dot ca
@ 2010-08-31 18:02 ` rootkit85 at yahoo dot it
  26 siblings, 0 replies; 30+ messages in thread
From: rootkit85 at yahoo dot it @ 2010-08-31 18:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #27 from rootkit85 at yahoo dot it  2010-08-31 18:02 -------
you could try but i'm not sure that NOPL is mandatory for the i686 arch


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989


^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Bug target/41989] Code optimized for AMD Geode is slower than generic
       [not found] <bug-41989-4@http.gcc.gnu.org/bugzilla/>
@ 2023-01-09 20:04 ` pokox38850 at tohup dot com
  0 siblings, 0 replies; 30+ messages in thread
From: pokox38850 at tohup dot com @ 2023-01-09 20:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41989

Samantha Keen <pokox38850 at tohup dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pokox38850 at tohup dot com

--- Comment #28 from Samantha Keen <pokox38850 at tohup dot com> ---
Did this issue gets resolved in the newer version of AMD Geode?
https://paradipport.gov.in/en/hotmail-login/

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2023-01-09 20:04 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-08 18:51 [Bug c/41989] New: Code optimized for AMD Geode is slower than generic rootkit85 at yahoo dot it
2009-11-08 18:51 ` [Bug c/41989] " rootkit85 at yahoo dot it
2009-11-08 18:55 ` [Bug target/41989] " pinskia at gcc dot gnu dot org
2009-11-08 19:00 ` rguenth at gcc dot gnu dot org
2009-11-08 19:53 ` rootkit85 at yahoo dot it
2009-11-08 19:57   ` Andrew Pinski
2009-11-08 19:57 ` pinskia at gmail dot com
2009-11-08 22:34 ` rootkit85 at yahoo dot it
2009-11-09  3:31 ` pinskia at gcc dot gnu dot org
2009-11-09  8:55 ` rootkit85 at yahoo dot it
2009-11-09  9:02 ` rootkit85 at yahoo dot it
2009-11-09  9:34 ` ubizjak at gmail dot com
2009-11-09 10:28 ` ubizjak at gmail dot com
2009-11-09 10:29 ` ubizjak at gmail dot com
2009-11-09 10:34 ` ubizjak at gmail dot com
2009-11-09 10:48 ` ubizjak at gmail dot com
2009-11-09 11:48 ` ubizjak at gmail dot com
2009-11-09 13:17 ` rootkit85 at yahoo dot it
2009-11-09 15:11 ` ubizjak at gmail dot com
2009-11-09 15:26 ` rootkit85 at yahoo dot it
2009-11-09 18:16 ` ubizjak at gmail dot com
2009-11-09 20:26 ` rootkit85 at yahoo dot it
2009-11-09 21:59 ` rootkit85 at yahoo dot it
2009-11-10  7:45 ` ubizjak at gmail dot com
2009-11-16 10:03 ` rootkit85 at yahoo dot it
2010-08-19  9:14 ` eren at pardus dot org dot tr
2010-08-22 13:34 ` rootkit85 at yahoo dot it
2010-08-31 17:14 ` andrew at atrens dot ca
2010-08-31 18:02 ` rootkit85 at yahoo dot it
     [not found] <bug-41989-4@http.gcc.gnu.org/bugzilla/>
2023-01-09 20:04 ` pokox38850 at tohup dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).