Page 1 of 1

gcc czituje z -march=core2

Posted: Fri Oct 23, 2009 6:03 pm
by SlashBeast
Prosty test:

Code: Select all

slashbeast@ragnarok ~ % gcc -Q -c -v -march=core2 --help=target -mssse3 > core2
slashbeast@ragnarok ~ % grep sse core2
  -mno-sse4                   		[enabled]
  -msse                       		[enabled]
  -msse2                      		[enabled]
  -msse2avx                   		[disabled]
  -msse3                      		[enabled]
  -msse4                      		[disabled]
  -msse4.1                    		[disabled]
  -msse4.2                    		[disabled]
  -msse4a                     		[disabled]
  -msse5                      		[disabled]
  -msseregparm                		[disabled]
  -mssse3                     		[enabled]
Z -mssse3 dodaje od sse do sse3 i ssse3, bez -mssse3 test:

Code: Select all

slashbeast@ragnarok ~ % gcc -Q -c -v -march=core2 --help=target > core2
slashbeast@ragnarok ~ % grep sse core2
  -mno-sse4                   		[enabled]
  -msse                       		[disabled]
  -msse2                      		[disabled]
  -msse2avx                   		[disabled]
  -msse3                      		[disabled]
  -msse4                      		[disabled]
  -msse4.1                    		[disabled]
  -msse4.2                    		[disabled]
  -msse4a                     		[disabled]
  -msse5                      		[disabled]
  -msseregparm                		[disabled]
  -mssse3                     		[disabled]
Cos tutaj bardzo nie halo jest.

Posted: Sat Oct 24, 2009 5:42 pm
by lazy_bum
Jako ciekawostkę dodam:

Code: Select all

tmp (: gcc -Q -c -v -march=native --help=target > native
tmp (: grep sse native 
  -mno-sse4                   		[enabled]
  -msse                       		[disabled]
  -msse2                      		[disabled]
  -msse3                      		[disabled]
  -msse4                      		[disabled]
  -msse4.1                    		[disabled]
  -msse4.2                    		[disabled]
  -msse4a                     		[disabled]
  -msse5                      		[disabled]
  -msseregparm                		[disabled]
  -mssse3                     		[disabled]
tmp (: grep model\ name /proc/cpuinfo 
model name	: Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
model name	: Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz

Posted: Sat Oct 24, 2009 8:36 pm
by Bialy
I za przeproszeniem kończą się głupie komentarz nt. dlaczego w CFLAGS masz dodane zestawy instrukcji :wink:

Posted: Sun Dec 12, 2010 11:24 pm
by gentoousr
dobrze dodaje flagi przy kompilacji mozna zobaczyc, te wasze sprawdzanie zle pokazuje poprostu;

Code: Select all

echo | gcc -dM -E - -march=core2
i porownac, u mnie ok

ale jak ktos sie obawia mozna dodac statycznie w cflags.

//edit troche stary ten temat - nie zauwazylem

Posted: Mon Dec 13, 2010 9:48 am
by SlashBeast
Dobrze, ze odpisales. Temat stary ale wiadomosci w nim zawarte zawsze beda na czasie.

Posted: Mon Dec 13, 2010 11:26 am
by lsdudi
gdzieś czytałem że wymusznie sse dla programów nienapisanych pod tą optymalizacje powoduje efekt odwrotny od zamierzonego czyli spadek wydajności więc być może chodzi właśnie o to.