On Wed, Jul 27, 2011 at 9:32 PM, Mick wrote: > On Wednesday 27 Jul 2011 17:13:21 Kfir Lavi wrote: > > On Wed, Jul 27, 2011 at 5:34 PM, Kfir Lavi wrote: > > > On Wed, Jul 27, 2011 at 5:09 PM, Andy Wilkinson > > >> > > >> Another good trick I've found on the forums is to run: > > >> $ gcc -### -e -v -march=native /usr/include/stdlib.h > > >> > > >> The last line of output will include the various CFLAGS that > > >> -march=native > > >> > > >> picks. In my case (Phenom II 955): > > >> "/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.5/cc1" "-quiet" > > >> > > >> "/usr/include/stdlib.h" "-D_FORTIFY_SOURCE=2" *"-march=amdfam10" > > >> "-mcx16" "-msahf" "-mpopcnt"* "--param" "l1-cache-size=64" "--param" > > >> "l1-cache-line-size=64" "--param" "l2-cache-size=512" > "-mtune=amdfam10" > > >> "-quiet" "-dumpbase" "stdlib.h" "-auxbase" "stdlib" "-o" > > >> "/tmp/ccR1PlNZ.s" "--output-pch=/usr/include/stdlib.h.gch" > > >> > > >> I typically use -march=native when I don't need to worry about distcc, > > >> or the options from that output that start with "-m". > > > Just shared this trick in my blog. > > > http://gentoo-what-did-you-say.blogspot.com/2011/07/finding-cpu-flags-using > > -gcc.html I added a link to this thread in the post. > > It seems that on my early i7, the -march=core2 does not have all the -msse* > flags enabled, while native does: > > $ diff -y --suppress-common-lines core2.txt native.txt > -mcx16 [disabled] | -mcx16 [enabled] > -mno-sse4 [enabled] | -mno-sse4 [disabled] > -mpopcnt [disabled] | -mpopcnt [enabled] > -msahf [disabled] | -msahf [enabled] > -msse [disabled] | -msse [enabled] > -msse2 [disabled] | -msse2 [enabled] > -msse3 [disabled] | -msse3 [enabled] > -msse4 [disabled] | -msse4 [enabled] > -msse4.1 [disabled] | -msse4.1 [enabled] > -msse4.2 [disabled] | -msse4.2 [enabled] > -mssse3 [disabled] | -mssse3 [enabled] > -mtune= | -mtune= core2 > > > I wonder if I should just set it to "-march=native -O2 -pipe" and forget > about > it ... native it seems to have more stuff switched on and it would probably > be > a-good-thingĀ® (although my understanding of what each flag does is rather > cursory). > -- > Regards, > Mick > My guess is that -msse4.2 imply also -msse1..4.1 Can someone confirm this? Regards, Kfir