Хотелось бы узнать MinGW все таки поддерживает разворачивание циклов или нет? Бинарник меняется в зависимости от ключа, но дизассемблером еще не копал. При этом на скорость работы ни -funroll-loops, ни -funroll-all-loops не влияет. Даже хоть самый простой пример:
for (int i = 0; i < 10e6; i++)
for (int j = 0; j < 3; j++)
do_something();
Хотя если руками развернуть цикл, то ускорение существенно.