Я использую GCC7.2.0
и у меня есть следующая функция:
auto sadd = [](auto & out, const auto & in, const double factor=1.)
{
for (auto i=0u;i<in.size();++i) out[i]+=factor*in[i];
};
, которую я использую повсюду в моем коде, в основном с std::array
типами.
Я бы хотелзнать, какие вызовы для этой лямбды были векторизованы, а какие нет.
Поскольку лямбда-указатель встроен, отчет о векторизации не дает мне информации о дереве вызовов, поэтому я не знаю, где векторизация прошла успешнои где это терпит неудачу.
Я использую флаги -std=c++1z -Ofast -ftree-vectorizer-verbose=9 -fopt-info-all=vec.info
.
Есть ли способ получить отчет о векторизации с читаемым деревом вызовов, или я должен просто попытаться прочитатьсборка