パスワードを忘れた? アカウント作成
573807 journal

ttの日記: lame4.0+gcc4.0 (ベクトル化編)

日記 by tt
-ftree-vectorize -ftree-vectorizer-verbose=5 なんてオプションをつけてコンパイルしてみる。

予想通り全然ベクトル化されてない(w

stmtって、ループでの合計とかだと思うんだけど、こいつが未サポートというのは辛い。

sum = 0;
for (i=0;i<100;i++)
  sum += array[i];

なんてのにベクトル化が利かない。うーん。

あと、

for (band = -16; band < 0; band++)
  samp[band] *= (FLOAT)-1.0;

ってのでも依存性が不明だとかいわれてベクトル化されない。in-placeの時の依存性解析が不足しているらしい。

for (band = -16; band < 0; band++)
  out[band] = in[band]*(FLOAT)-1.0;

だとうまくいくんだけど(もちろんin,outがaliasingしてないとコンパイラが分かるように書く必要はある)。

うーむ。iccのベクトル化もまだまだだけど、gccはもっとまだまだか^^;;つらいのお。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

にわかな奴ほど語りたがる -- あるハッカー

読み込み中...