# Dubbio cflags athlon64

## 102376

stavo dando un occhiata al mio sistema e mi è venuto un dubbio.

ho un installazione a 32 di gentoo

e le mie cflags sono

```
CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"

CHOST="i686-pc-linux-gnu"

```

ed la mia cpu è:

```

processor       : 0

vendor_id       : AuthenticAMD

cpu family      : 15

model           : 95

model name      : AMD Athlon(tm) 64 Processor 3800+

stepping        : 2

cpu MHz         : 2411.108

cache size      : 512 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 vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clfl

ush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm svm

 extapic cr8_legacy ts fid vid ttp tm stc

bogomips        : 4824.91

clflush size    : 64

```

secondo voi vanno bene?

leggevo nel wiki le safe clags che danno per amd64 sono: queste dovrebbero essere del 32 bit

```
CHOST="i686-pc-linux-gnu"

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

CXXFLAGS="${CFLAGS}"
```

mentre queste 64 bit

```

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=k8 -O2 -pipe"

CXXFLAGS="${CFLAGS}"
```

mi sa che ho fatto una GRAN porcata.........

che dite aggiorno l'intero sistema?

emerge -e .........

DEVO AVER FATTO UN merge fra le due cflags.......... come si fa ........ e me ne sono accorto solo ora dopo quasi 2 anni!!!!!

ASSURDO

----------

## djinnZ

k8 a 32 bit è l'equivalente di athlon-xp mi pare. Se non hai problemi lascia così, se vuoi essere sicuro usa athlon xp mi pare sciocco disabilitare l'ottimizzazione per sse2/3 etc.

----------

## Danilo

 *djinnZ wrote:*   

> k8 a 32 bit è l'equivalente di athlon-xp mi pare. Se non hai problemi lascia così, se vuoi essere sicuro usa athlon xp mi pare sciocco disabilitare l'ottimizzazione per sse2/3 etc.

 

Appunto

zocram mi aveva fatto venire un dubbio anche a me:

```

cat /etc/make.conf|grep FLAG

#CFLAGS="-O2 -pipe"

CFLAGS="-O2 -march=athlon64 -pipe "

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-O1"

```

mentre dal man del gcc:

```

          athlon, athlon-tbird

               AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE

               prefetch instructions support.

           athlon-4, athlon-xp, athlon-mp

               Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and

               full SSE instruction set support.

           k8, opteron, athlon64, athlon-fx

               AMD K8 core based CPUs with x86-64 instruction set support.

               (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and

               64-bit instruction set extensions.)

```

----------

## Laux

Personalmente ho impostato le cose in quersto modo:

```
CFLAGS="-march=athlon64 -O2 -pipe"

CXXFLAGS="${CFLAGS}"

CHOST="x86_64-pc-linux-gnu"
```

su un AMD64 3200+ (laptop), e AMD64x2 6000+ (desktop) ed ho i sistemi a 64bit,  spero sia utile

----------

## 102376

ma se hai un cpu a 64 bit athlon, ma usi un sistema a 32 bit, io non ho ancora mica capito che ci va!!

----------

## djinnZ

uff... -march=k8 se hai solo cpu 64 indipendentemente dal sistema a 32 od a 64 va benissimo.

Se come me hai cpu athlon ed un solo amd64 usi -march=athlon-xp visto che non comporta praticamente nessuna differenza di rilievo e le prestazioni dovrebbero essere perfettamente identiche.

Chiaro?

Quindi se non hai intenzione di portare i tuoi binari su una cpu k7 va benissimo così.

----------

