# Which CFLAGS for AMD Geode LX 800 ?

## ConiKost

Hi There!

I got here an PC with AMD Geode LX 800 CPU ...

Which CFLAGS should I use? Is this CPU i486, i586, i686 ?

----------

## think4urs11

according to the Oracle best shot would be 486 as the Geodes don't perform to well with 586 optimizations

----------

## Dr. Strangelove

Hi!

It is very sure the AMD Geode LX 800 CPU is in the i686 family, supporting the MMX and 3Dnow! extensions.

You can read more about here: http://en.wikipedia.org/wiki/Geode_%28processor%29,

for our german readers: http://de.wikipedia.org/wiki/Geode_%28Prozessor%29

So, basically your make.conf should look like this:

```

CHOST="i686-pc-linux-gnu"

CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer -mmmx -m3dnow"

```

If you would like to optimize for size, just change the "-O2" to "-Os".

Otherwise I'm not sure if you could just use 

```

CFLAGS="-O2 -march=k6-3 -pipe -fomit-frame-pointer"

or

CFLAGS="-O2 -march=c3 -pipe -fomit-frame-pointer"

or

CFLAGS="-O2 -march=c3-2 -pipe -fomit-frame-pointer"

```

as these chips supports those extensions too and the Geode LX is likely based on them.

(please read: 'man gcc' / around line 6780)

Be sure then to set "mmx" and "3dnow" to your current USE-Flags to let some packages take advantage of the extensions.

To get more proper information I also would want you to post the output of

```
cat /proc/cpuinfo
```

Bye,

Greetings from Dresden [where is AMD Fab30/36]

----------

## ConiKost

So, what to do now? i486 oder better i686?

----------

## Dr. Strangelove

To be really really sure first you could grab one of the i686 based LiveCD's, like Arch Linux,

and try to boot them.

----------

## think4urs11

 *labor_ratte wrote:*   

> Hi!
> 
> It is very sure the AMD Geode LX 800 CPU is in the i686 family, supporting the MMX and 3Dnow! extensions.
> 
> You can read more about here: http://en.wikipedia.org/wiki/Geode_%28processor%29,
> ...

 

well and then we find statements like this:

 *Quote:*   

> Let me underscore my colleague's statement.  Do not use the 586 target.
> 
> In testing we've found that the 586 "optimized" version can be up to 3x
> 
> slower vs. the 386/486 versions on the Geode LX.
> ...

 

reference: http://geode.insideo.net/info-linux_archives/msg00172.html

No idea, maybe hes right, maybe not

----------

## Dr. Strangelove

 *Think4UrS11 wrote:*   

> 
> 
> reference: http://geode.insideo.net/info-linux_archives/msg00172.html
> 
> No idea, maybe hes right, maybe not

 

Think4UrS11, you must have some superior search skills!

After reading the thread in the mail list now I'am not quite sure what the best settings are.

If you go for the suggested i486, they say you'll miss out the ability to use the multimedia extensions.

AMD theirself only says Geode LX is full x86 compatible.

So maybe my suggestions could be not the right ones, and had those thoughts too so I was suggesting to try to boot off from an i686 optimized LIveCD. Then just compare with an x86 based system.

----------

## think4urs11

 *labor_ratte wrote:*   

> Think4UrS11, you must have some superior search skills!

 

nono, just a brain compatible with the most used search algos   :Wink: 

----------

## ConiKost

Are not there any specs from AMD ?

 :Sad: 

Is that right?

If i boot an i686 Live CD, and the cpu won't load it, it doesn't support i686?

----------

## think4urs11

 *ConiKost wrote:*   

> Are not there any specs from AMD ?

 

Mhh searching for yourself isn't a thing you do with pleasure, is it?  :Wink: 

http://www.amd.com/files/connectivitysolutions/geode/geode_lx/33234d_lx_ds.pdf

http://www.amd.com/us-en/assets/content_type/DownloadableAssets/33358d_geodelx_pb.pdf

----------

## ConiKost

Oh Shit  :Very Happy:  Sry for posting it again in the german forums ^^

Forget about this thread  :Wink: 

What about i486? Use it or not? Can I use here MMX and 3DNow! ?

Are there any disatvantages between i486 oder i586 CHOST? I want to use it as an Server!

----------

## think4urs11

AMD states (first link from the two above; page 15)

 *Quote:*   

> The instruction set supported by the core is a combination of Intels Pentium®, the AMD-K6® microprocessor and the Athlon FPU, and the AMD Geode LX processor specific instructions. Specifically, it supports the Pentium, Pentium Pro, 3DNow! technology for the AMD-K6 and Athlon processors, and MMX® instructions for the Athlon processor.
> 
> It supports a subset of the specialized 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 supportthe MMX instructions for the Athlon processor, which are a subset of the Pentium 3 KNI instructions.

 

----------

## ConiKost

 *Think4UrS11 wrote:*   

> AMD states (first link from the two above; page 15)
> 
>  *Quote:*   The instruction set supported by the core is a combination of Intels Pentium®, the AMD-K6® microprocessor and the Athlon FPU, and the AMD Geode LX processor specific instructions. Specifically, it supports the Pentium, Pentium Pro, 3DNow! technology for the AMD-K6 and Athlon processors, and MMX® instructions for the Athlon processor.
> 
> It supports a subset of the specialized 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 supportthe MMX instructions for the Athlon processor, which are a subset of the Pentium 3 KNI instructions. 

 

Hi!

I know this. I know, that i586 is the max. as CHOST. BUT one of your links said, that i486 can be up tp 3x faster than i586!

So what to do now? Its only the one Site i found about CHOST. But is on an i486 CHOST WLAN with WPA2 possible? What about MMX and 3DNow!?

----------

## ConiKost

Ok, i am going to use 586.

Should I use -O2 oder -O3 ?

----------

## think4urs11

either -O2 or -Os

the Geode has a pretty small L1/L2 cache so -Os might be a good idea (same as for e.g. the Via C3)

----------

## ConiKost

 *Think4UrS11 wrote:*   

> either -O2 or -Os
> 
> the Geode has a pretty small L1/L2 cache so -Os might be a good idea (same as for e.g. the Via C3)

 

Well, the Geode has 64KB/64KB L1 and 128KB L2 ...

So Os would not be a good idea, or ?

Well, I got those CFLAGS from the amd geode mailinglist:

What do you think about them?

```

CFLAGS="-march=k6-2 -mmmx -m3dnow -O3 -fomit-frame-pointer -pipe -fno-align-functions -fno-align-loops -fno-align-jumps -fno-align-labels -finline-functions"

```

----------

## think4urs11

 *ConiKost wrote:*   

>  *Think4UrS11 wrote:*   either -O2 or -Os
> 
> the Geode has a pretty small L1/L2 cache so -Os might be a good idea (same as for e.g. the Via C3) 
> 
> Well, the Geode has 64KB/64KB L1 and 128KB L2 ...
> ...

 

actually that _is_ what i call small (btw. Via do have 64/64+64)

Basically the LX is an GX with (a bit) more cache + AES engine

i'd not use any too special flags but stay pretty much on default (see also gentoo-wiki safe cflags for the GX)

```
CFLAGS="-march=k6-2 -Os -fomit-frame-pointer -pipe"
```

 *GCC 3.4.6 manual wrote:*   

> k6-2, k6-3     Improved versions of AMD K6 CPU with MMX and 3dNOW! instruction set support. 

 

----------

## ConiKost

Hi!

Should I really use -Os ?

Does this give more performance?

My posted CFLAGS are from an AMD Linux Engnieer....

----------

