Итак, мы продолжаем рассмотрение возможностей современного оптимизирующего компилятора. В этой статье мы коснемся "продвинутых" возможностей icl по автоматической векторизации, то есть, автоматическому применению SIMD инструкций SSE и SSE2, и автоматической и полуавтоматической параллелизации, когда компилятор самостоятельно или почти самостоятельно создаёт в программе несколько параллельно работающих потоков. Напомню, что в прошлой части статьи мы рассматривали оптимизацию с использованием "скалярных" инструкций из расширений SSE и SSE2, сейчас же речь пойдёт о применении векторных действительно SIMD команд. >>> |