Closed PetrusZ closed 6 years ago
Why do you want a long string? distccflags
is intended give you the shortest string necessary. So yes, you can use what distccflags has given you.
By the way, would you be so kind as to post your /proc/cpuinfo
or tell me exactly which processor you are using? Your case of the flags -mno-aes -mno-pclmul
has only been presumed to exist, and your case proves that it does. This is good because it means that the previous mechanism of filtering out all -mno-* flags is indeed bad and we have been arguing about this quite a lot. Thanks!
EDIT: Can you also please give me the full output from these commands?
$ gcc -dumpversion
$ gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1
This will be VERY helpful!
Thank you for your reply. I don't care about long or short, but the contrast just confuse me.
My cpuinfo is:
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i5 CPU M 430 @ 2.27GHz
stepping : 2
microcode : 0x9
cpu MHz : 2380.073
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
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 cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm pti tpr_shadow vnmi flexpriority ept vpid dtherm ida arat
bugs : cpu_meltdown spectre_v1 spectre_v2
bogomips : 4521.92
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
gcc -dumpversion
's output is 7.3.0
gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1
's output is:
/usr/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/cc1 -E -quiet -v - -march=westmere -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -mno-aes -mno-sha -mno-pclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mno-xsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=westmere
Hopefully it's useful.
Yes, this is very helpful. Thank you!!
On my machine,using command:
$ gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1 | perl -pe 's/^.* - //g;' | perl -pe 's/-mno-.*? //g;''
got a long sting,-march=westmere -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -mpopcnt -msse4.2 -msse4.1 -mfxsr --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=westmere
But, distccflags script only show me a very short result:
CFLAGS="-march=westmere -mno-aes -mno-pclmul"
Can distccflag's result replace the above long result? Or just add the missing part?