Я заметил, что флаг gcc -ftree-vectorize
очень полезен для оптимизации кода.векторная графика: gcc-флаг оптимизации
Я пытаюсь лучше понять, как это работает, но документ является довольно кратким:
Выполните векторизации на деревьях. Этот флаг позволяет использовать -vector-vectorize и -ftree-slp-vectorize, если явно не указано.
Кто-нибудь знает внутреннюю работу этого флага?
Эта ссылка может быть полезной: [Векторизация в gcc] (https://monoinfinito.wordpress.com/series/vectorization-in-gcc/) – mindriot
Как отмечено в связанном документе, дополнительное понимание внутренней работы оптимизатора можно получить, играя с опцией '-ftree-vectorizer-verbose = N'. – nucleon
«SLP» - это параллелизм уровня Superword. Не все повторяющиеся инструкции вызваны разворачиванием цикла; некоторые из них связаны с тем, что основной код является естественным повторением. – MSalters