GCC 8 получил новую прагму, которая позволяет вам контролировать, как происходит развертывание цикла:
#pragma GCC unroll n
Цитирование из руководства:
Вы можете использовать эту прагму, чтобы контролировать, сколько раз цикл должен быть развернут.Он должен быть помещен непосредственно перед циклом for, while или do или #pragma GCC ivdep и применяется только к следующему циклу.n является целочисленным константным выражением, определяющим коэффициент развертывания.Значения 0 и 1 блокируют любое развертывание цикла.