ループのアンロール

ループのアンロールの利点は次のとおりです。

-unroll[n] オプション (Linux* および Mac OS*) または /Qunroll:[n] (Windows*) オプションは、インテル(R) コンパイラーのループのアンロール処理方法を制御します。

詳細は、「最適化手法の適用」を参照してください。

Linux および Mac OS

Windows

説明

-unrolln

/Qunroll:n

ループのアンロール回数の上限を指定します。次の例では、ループを 4 回アンロールします。

icpc -unroll4 a.cpp (Linux および Mac OS)

icl /Qunroll:4 a.cpp (Windows)

IA-64 アーキテクチャー向けのコンパイラーは n = 0 のみを認識します。他の値は無視されます。

n の値を省略すると、アンロールを実行するかどうかをコンパイラーが判断します。これはデフォルト設定です。コンパイラーは、デフォルトのヒューリスティックを使用するか、または n を定義します。

n に 0 を渡すと、ループのアンロールを無効にします。次の例は、ループのアンロールを無効にします。

icpc -unroll0 a.cpp (Linux および Mac OS)

icl /Qunroll:0 a.cpp (Windows)

上記のオプションの動作に関する詳細は、次のトピックを参照してください。

  • -unroll コンパイラー・オプション

-funroll-all-loops

相当するオプションなし

ループに入った時に反復の回数がわからない場合でも、コンパイラーにすべてのループをアンロールするように指示します。

このオプションについての詳細は、次のトピックを参照してください。