Я интересуюсь знанием, как GCC отличается от ICC Intel с точки зрения уровней оптимизации и угождения определенной архитектуре процессора. Я использую GCC 4.1.2 20070626 и ICC v11.1 для Linux.
Как делает уровни оптимизации ICC (O1 к O3) отличаются от GCC, если они отличаются вообще?
ICC может обслужить конкретно на различную архитектуру (IA-32, intel64 и IA-64). Я считал, что GCC имеет -march
параметр компилятора, который я думаю, подобен, но я не могу найти список опций использовать. Я использую Intel Xeon X5570, который является 64-разрядным. Есть ли какие-либо другие параметры компилятора GCC, которые я мог использовать, который обслужит мои приложения 64-разрядный Intel CPUs?
Полный список и описание всех параметров см. В разделе 3.17.15 руководства GCC, ie386 и x86-64 Options . применимо к этим архитектурам (IA-64 - Itanium, и маловероятно, что у вас есть одна из них).
Наиболее важные параметры в этом контексте:
-m64
Сгенерировать 64-битный код; -march =
Сгенерировать инструкции для конкретного типа ЦП; и -mtune =
Настроить код для конкретного типа процессора.