Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Safe CFLAGS - Opciones especificas de la CPU
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Fitap
Guru
Guru


Joined: 13 Mar 2011
Posts: 438
Location: Rosario, Argentina

PostPosted: Fri Jul 08, 2016 4:09 pm    Post subject: Safe CFLAGS - Opciones especificas de la CPU Reply with quote

Hola foro,

siguiendo la wiki Safe CFLAGS, me dispuse a buscar los flags especificos para mi CPU, y como no me dio "empty" diff march.s native.s, hay que sacar las flags que no se repiten, en mi caso es el flag -mpclmul, pero al volver a procesar
Code:
gcc -fverbose-asm -march=westmere -mpclmul march.cc -S
sed -i 1,/options\ enabled/d march.s
diff march.s native.s


Sigue apareciendo ese flag.

Ahora, mi procesador tengo entendido que es un westmere (Intel Core i3 CPU M 370 @ 2.40GHz), y en la wiki si utilizo el -march para westmere, que es corei7, obtengo "empty" en diff march.s native.s.

Porque siguiendo enteonces la wiki no puedo sacar el flag mpclmul usando westmere en vez de corei7? o quizas no tenga importancia, no lo se.

Saludos.
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1522

PostPosted: Sat Jul 09, 2016 12:58 am    Post subject: Reply with quote

Fitap wrote:
...
hay que sacar las flags que no se repiten.
..

No exactamente. Hay que buscar las opciones que usa gcc cuando pones -march=westmere y que no aparecen cuando usas -march=native. Y probar a desactivarlas.. En tu caso debería ser:
Code:
gcc -fverbose-asm -march=westmere -mno-pclmul march.cc -S
sed -i 1,/options\ enabled/d march.s
diff march.s native.s
Back to top
View user's profile Send private message
Fitap
Guru
Guru


Joined: 13 Mar 2011
Posts: 438
Location: Rosario, Argentina

PostPosted: Sat Jul 09, 2016 2:26 am    Post subject: Reply with quote

Gracias quilosaq por responder, me falto agregar lo siguiente cuando ejecuto con westmere:

Code:

# options passed:  -D_GNU_SOURCE native.cc -march=westmere -mmmx -mno-3dnow

18c18
< # -m128bit-long-double -m64 -m80387 -maes -malign-stringops
---
> # -m128bit-long-double -m64 -m80387 -malign-stringops
21,23c21,22
< # -mlong-double-80 -mmmx -mpclmul -mpopcnt -mpush-args -mred-zone -msahf
< # -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -mssse3
< # -mtls-direct-seg-refs
---
> # -mlong-double-80 -mmmx -mpopcnt -mpush-args -mred-zone -msahf -msse
> # -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -mssse3 -mtls-direct-seg-refs


Entonces hay que sacar lo que esta en westmere para acercarse a lo que esta en native ?

Y esto que me arroja la primer prueba para detectar el CPU, osea, -mmmx -mno-3dnow , no habria que agregarlo en CFLAGS?

Siguiendo tu recomendacion de sacar -mno-pclmul obtengo lo siguiente:

Code:

18c18
< # -m128bit-long-double -m64 -m80387 -maes -malign-stringops
---
> # -m128bit-long-double -m64 -m80387 -malign-stringops



Tendria que sacar -maes? pero me lo sigue largando.


Saludos.
Back to top
View user's profile Send private message
Fitap
Guru
Guru


Joined: 13 Mar 2011
Posts: 438
Location: Rosario, Argentina

PostPosted: Sat Jul 09, 2016 2:50 am    Post subject: Reply with quote

Fitap wrote:
Gracias quilosaq por responder, me falto agregar lo siguiente cuando ejecuto con westmere:

Code:

# options passed:  -D_GNU_SOURCE native.cc -march=westmere -mmmx -mno-3dnow

18c18
< # -m128bit-long-double -m64 -m80387 -maes -malign-stringops
---
> # -m128bit-long-double -m64 -m80387 -malign-stringops
21,23c21,22
< # -mlong-double-80 -mmmx -mpclmul -mpopcnt -mpush-args -mred-zone -msahf
< # -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -mssse3
< # -mtls-direct-seg-refs
---
> # -mlong-double-80 -mmmx -mpopcnt -mpush-args -mred-zone -msahf -msse
> # -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -mssse3 -mtls-direct-seg-refs


Entonces hay que sacar lo que esta en westmere para acercarse a lo que esta en native ?

Y esto que me arroja la primer prueba para detectar el CPU, osea, -mmmx -mno-3dnow , no habria que agregarlo en CFLAGS?

Siguiendo tu recomendacion de sacar -mno-pclmul obtengo lo siguiente:

Code:

18c18
< # -m128bit-long-double -m64 -m80387 -maes -malign-stringops
---
> # -m128bit-long-double -m64 -m80387 -malign-stringops



Tendria que sacar -maes? pero me lo sigue largando.


Saludos.


Me respondo a mi mismo, como es de suponer soy un NB en esto,
En vez de sacar -maes saque -mno-aes y ahora obtengo cero diff.

Saludos.
Back to top
View user's profile Send private message
cameta
Veteran
Veteran


Joined: 04 Aug 2004
Posts: 1321

PostPosted: Sat Jul 09, 2016 8:54 am    Post subject: Reply with quote

Hola,
mi consejo como cflags es que si usas un procesador Intel pongas esto
CFLAGS="-O2 -march=native -pipe"
En el caso de las cflags normalmente menos es mejor.
_________________
Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual.
Back to top
View user's profile Send private message
Fitap
Guru
Guru


Joined: 13 Mar 2011
Posts: 438
Location: Rosario, Argentina

PostPosted: Sat Jul 09, 2016 12:01 pm    Post subject: Reply with quote

Gracias por el consejo cameta, asi viene por default en el handbook, has tenido algun problema con los procesadores Intel ?
En la desktop tambien es un Intel i7 4790 (Haswell), en CFLAGS reemplazo solamente native por haswell.

Saludos.
Back to top
View user's profile Send private message
cameta
Veteran
Veteran


Joined: 04 Aug 2004
Posts: 1321

PostPosted: Tue Jul 12, 2016 1:56 pm    Post subject: Reply with quote

No he tenido problemas con los intel.
Si pones un procesador un poco más especifico mientras sea el correcto también te irá bien.
_________________
Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum