Как развернуть определенный цикл с определенными параметрами, такими как max-unroll-times в GCC
Как мне написать свой код, если я хочу, чтобы GCC развернул один из циклов в моем коде с определенными параметрами, такими как max-unroll-times в GCC?
1 ответ
Попробуй это:
#pragma GCC push_options
#pragma GCC optimize ("O3", "unroll-loops")
void func()
{
#pragma GCC unroll 4
for (...)
{
}
}
#pragma GCC pop_options
Параметры как max-unroll-times
не кажется управляемым через #pragma
; если вам действительно нужны разные значения для разных циклов, переместите каждый цикл в функцию в отдельном файле и скомпилируйте именно те параметры, которые вам нужны.