On Wednesday 27 Jul 2011 21:24:33 Mark Knecht wrote: > On Wed, Jul 27, 2011 at 11:32 AM, 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-us > >> ing -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 > > Just curious if that's consistent with /proc/cpuinfo in the flags > section? MAybe gcc is wrong in it's enable/disable choices, or maybe > they know something specific. > > This is from an i7-980 Extreme from about 1 year ago: > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge > mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe > syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts > rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 > monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt > aes lahf_lm ida arat dts tpr_shadow vnmi flexpriority ept vpid Same here: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dts tpr_shadow vnmi flexpriority ept vpid -- Regards, Mick