march=native en las CFLAGS

Por leprosys en 6/19/2010 ,
Mucho tiempo me había planteado de la pregunta si utilizar native era buena idea, luego de ver varios threads en el foro de gentoo parece que si es buena idea aunque no es del todo recomendable por aquello que de alguna forma se podría perder dichos parámetros de native y tomar otros equivocados.

De todas formas existe una forma de conocer los parámetros que gcc le da a native con este comando:
gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'
Nota: los valores cambian dependiendo de la versión de gcc

Y con esto ya puede colocarlo en las banderas :) este es el mio:
CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer -mcx16 -msahf -msse4.1 -mtune=core2 -D_FORTIFY_SOURCE=2 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072"
CXXFLAGS="${CFLAGS}"

Y pues con esto si, ya los programas estarán optimizados para su procesador y no es recomendable utilizarlos en otro PC a menos que tengan el mismo procesador.

Back Top