Свободная таблица качества оптимизации
компилятор
действие | Microsoft Visual C++ 6 | IntelC++ 8.0 | GCC 3.3.4 | ||||
выравнивание циклов | не выравнивает | не выравнивает | выравнивает по границе степени двойки | ||||
разворот циклов | не разворачивает | разворачивает циклы без ветвлений с переменным и постоянным кол-вом итераций | разворачивает циклы с постоянным кол-вом итераций | ||||
шелушение циклов | не шелушит | шелушит | шелушит | ||||
векторизация циклов | не векторизует | векторизует | векторизует начиная с версии 3.4.3 | ||||
авто-параллелизм | не поддерживает | поддерживает | не поддерживает | ||||
программная конвейеризация | не поддерживает | не поддерживает | частично поддерживает | ||||
предвычисление индуктивных циклов | предвычисляет простые циклы | не предвычисляет | не предвычисляет | ||||
разбивка длинных цепочек зависимостей | не разбивает | не разбивает | разбивает, начиная с версии 4.0.0 | ||||
устранение хвостовой рекурсии | устраняет | не устраняет | устраняет | ||||
объединение циклов | не объединяет | не объединяет | не объединяет | ||||
трепание циклов | не поддерживает | не поддерживает | не поддерживает | ||||
расщепление циклов | не расщепляет | расщепляет | не расщепляет | ||||
нормализация циклов | нормализует некоторые циклы | нормализует некоторые циклы | нормализует некоторые циклы | ||||
масштабирование циклов | масштабирует некоторые циклы | масштабирует некоторые циклы | масштабирует некоторые циклы | ||||
замена циклов с предусловием на циклы с постусловием | заменяет | заменяет | заменяет | ||||
стремление циклов к нулю | всегда стремит циклы к нулю | никогда не стремит циклы к нулю | стремит некоторые циклы к нулю | ||||
branch-count-reg | не использует | не использует | не использует | ||||
вынос инвариантных ветвлений | не выносит | не выносит | выносит, начиная с версии 3.4.3 | ||||
ротация ветвлений | выполняет | не выполняет | не выполняет | ||||
упорядочивание обращение к памяти | частично упорядочивает обращения к памяти | частично упорядочивает обращения к памяти | частично упорядочивает обращения к памяти |