Пытаюсь посмотреть, какие флаги будут активированы в случае -march=native и -march=amdfam10. Почему флаги native и amdfam10 дают настолько разные результаты на одном и том же процессоре?
http://stackoverflow.com/questions/5470257/how-to-see-which-flags-march-nativ...
# gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p' -march=amdfam10 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -mno-sse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mno-xsave -mno-xsaveopt --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=1024 -mtune=amdfam10 -fno-strict-overflow -fPIE -fstack-protector-all -fstack-check=specific
Видно, что первый вариант уже включает в себя march=amdfam10. Тогда почему следующий вывод такой куцый?
# gcc -march=amdfam10 -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p' -fno-strict-overflow -march=amdfam10 -fPIE -fstack-protector-all -fstack-check=specific
Дело в том, что мне надо указывать конкретную архитектуру в -march для distcc, и native не подойдет.