# make.conf CFLAGS für Intel Coire i7 - Sandy Bridge

## SarahS93

Hallo Forum,

in dem Artikel -> https://wiki.gentoo.org/wiki/Safe_CFLAGS#SandyBridge steht das in der Datei "/etc/portage/make.conf"

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

  CFLAGS="-march=corei7-avx -O2 -pipe"

CXXFLAGS="${CFLAGS}"
```

 stehen sollte.

Habe und hatte bei mir bisher immer: 

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

  CFLAGS="-march=core2 -O2 -pipe"

CXXFLAGS="${CFLAGS}"
```

stehen gehabt.

Habe einen Intel Core i7 2600 Prozessor (Sandy Bridge)

```
cat /proc/cpuinfo

model name      : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
```

```
gcc -v

gcc-Version 4.8.3 (Gentoo 4.8.3 p1.1, pie-0.5.9)
```

Was würde mir die Option "-march=corei7-avx -O2 -pipe" bringen?

Sollte ich sie anwenden?Last edited by SarahS93 on Sun Apr 12, 2015 4:45 pm; edited 1 time in total

----------

## Fijoldar

Hallo,

ich würde an dieser Stelle eher 

```
--march=native
```

empfehlen. Dann werden automatisch die passenden Optionen gewählt. Habe damit bisher auch nur gute Erfahrungen gemacht. Wobei ich ziemlich sicher bin, dass man bei einer so schnellen CPU wie dem i7 keinen Unterschied merken wird.

----------

## Christian99

der unterschied zwischen den beiden march flags besteht in der verwendung von unterschiedlichen mashcinenbefehlen, die der kompiler verwendet.

Ein core2 hat nicht so viele Maschinenbefehle wie ein corei7 (siehe hier im vergleich zu hier (die maschinenbefehle sind die liste mit mmx, sse...))

für den normalen user dürfte der hauptunterschied in den avx(2) und aes befehlssätzen liegen. Im alltäglichen betrieb (z.b. wenn du eine webseite besuchst oder eine mail verschlüsselst) wirst du wohl keinen unterschied merken, aber durchaus in speziellen benchmarks.

was dein konkreter prozessor kann findest du in /proc/cpuinfo unter flags.

Würde mich aber Fljodars empfehlung anschließen und einfach march=native verwenden, dann musst du dir nich so viele gedanken machen  :Smile: 

----------

## SarahS93

Danke für euren Tip.

Werde ab nun an 

```
--march=native
```

 verwenden.

Gehe ich richtig in der Annahme das ich durch diese Änderung nicht alle auf dem System sich befindenen Pakete neu bauen muss?

----------

## toralf

 *Fijoldar wrote:*   

> ich würde an dieser Stelle eher 
> 
> ```
> --march=native
> ```
> ...

 Ich frage mich, ob man das WIKI nicht auch diesbezüglich anpassen sollte

----------

## Christian99

 *SarahS93 wrote:*   

> Gehe ich richtig in der Annahme das ich durch diese Änderung nicht alle auf dem System sich befindenen Pakete neu bauen muss?

 

Nicht unbedingt, es wird keine inkombatibilitäten geben wenn du es nicht machst, aber die programme die nicht mit den neuen flags gebaut hast, werden auch nicht davon profitieren. Eine Möglichkeit wäre auch, einfach jetzt 2-3 Monate reguläre updates zu machen, da wird dann nach und nach ein guter teil deiner pakete neu gebaut. und danach alles was noch nicht geupdated wurde neu zu bauen.

----------

## Josef.95

 *SarahS93 wrote:*   

> Danke für euren Tip.
> 
> Werde ab nun an 
> 
> ```
> ...

 Passt so nicht ganz, nimm besser

-march=native

----------

## misterjack

 *toralf wrote:*   

> Ich frage mich, ob man das WIKI nicht auch diesbezüglich anpassen sollte

 

Nein, da diese Flags gesetzt werden sollten, wenn man z.B. distccd verwendet. march=native ist dann fehl am Platz  :Wink: 

----------

