04/02/12 00:41
>>428
c[k]がループ不変なので外に出す。
もっと気合いがはいってるコンパイラなら、
a[i]=b[i]*(c[k]-1)
に変換したあと (c[k]-1)をループ外にくくり出すくらいはやるかな?
そしてinduction variableを消す。
ck_1 = c[k] - 1;
ap = a; bp = b;
for (i = 0; i < 100; i++) {
*ap = *bp * ck_1;
ap++; bp++;
}
あとはループunrollingとかforをdo-whileにおきかえるとか。