# CFLAGS genéricos para x86_64

## Stolz

Tengo que hacer una instalación base para ordenadores con distintas familias de procesador, todos de 64 bits. Concretamente los procesadores son Intel Xeon, Dual-core y Quad-core, y AMD Sempron.

El CHOST está claro, CHOST="x86_64-pc-linux-gnu", pero me surge la duda con qué poner como valor de -march en la variable CFLAGS. No necesito nada exótico ni optimización extrema, solo algo que me sirva para los distintos tipos de procesadores y si es posible ayude a sacar algo más de ellos pero manteniendo al compatibilidad entre todos.

Gracias.

----------

## pelelademadera

desde mi experiencia, anda igual si optimizas de mas, o sea, he levantado gentoo compilado para un E7400 con sse4.1 y esa misma instalacion levanta en un E1600 que no tiene esas instrucciones.

te recomiendo que no uses march, sino que uses las instrucciones que todos tengan, supongo que seran ninguna mas que x86_64, ya que esto incluye si no me confundo hasta sse2. de ese modo lo vas a poder usar hasta en un Athlon/sempron 64 de los socket 754 incluso.

recorda que o compilas varios kernel para cada micro, o solo 1 con soporte para cpu generico.

----------

## Stolz

Estoy de acuerdo contigo, las mejoras por optimización son casi imperceptibles. Mi duda está más orientada al tema de compatibilidad, no se si existe un valor de  -march que me sirva para todas las arquitecturas que he mencionado o si debería usar -mtune para asegurarme.

----------

## edgar_uriel84

Pues con el tipo exacto de procesador, podrías ver que cflags tienen en común, puedes empezar con:

CFLAGS="-O2 -march=native -mtune=generic -pipe"

Casi seguro que pega.

----------

## gringo

 *Quote:*   

>  no se si existe un valor de -march que me sirva para todas las arquitecturas que he mencionado

 

creo que si buscas algo genérico para 64bits simplemente omite -march, el código que se generará será algo genérico para 64bits si se combina con -mtune=generic.

saluetes

----------

