ループのアンロール

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

考えられる制限として、過度なアンロール、または非常に大きなループのアンロールにより、コードサイズが大きくなる可能性があります。-unroll[n] オプション (Linux*) または /Qunroll[n] オプション (Windows*) を使用した最適化方法の詳細は、『インテル(R) Pentium(R) 4 プロセッサーおよびインテル(R) Xeon(R) プロセッサー最適化リファレンス・マニュアル』 を参照してください。

-unroll[n] オプション (Linux) または /Qunroll[n] オプション (Windows) は、インテル(R) コンパイラーのループのアンロール処理方法を制御します。次の表に、このオプションの使用方法を要約します。

Windows

Linux

説明

/Qunrolln

シノニム:
/unroll[:
n]

-unrolln

ループのアンロール回数の上限を指定します。ループのアンロール回数を最大 4 回にするには、次のようにします。

icpc -unroll4 a.cpp (Linux)

icl /Qunroll4 a.cpp (Windows)

Itanium(R) コンパイラーは、現在、(n = 0) のみを認識します。他の値は無視されます。

/Qunroll

-unroll

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

/Qunroll0

-unroll0

ループのアンロールを無効にします。ループのアンロールを無効にするには、n を 0 に指定します。次の例では、ループのアンロールが無効になります。

icpc -unroll0 a.cpp (Linux)

icl /Qunroll0 a.cpp (Windows)

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