ループのアンロール

ループはアンロールができます。また、コンパイラに最大何回までアンロールさせるかの指定もできます。

ループのアンロールを有効にする方法

ループをアンロールするには、-unroll[n]オプションを使用します。変数nは、アンロールを実行する最大回数です。これを適用するのは、アンロールしたほうがよいとコンパイラが判断したループに対してのみです。アンロールするかしないかをコンパイラに判断させるには、n変数を省略してください。

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

IA-32 システム: prompt>icc -unroll4 a.c

ループをアンロール回数に大きな値を指定する場合、アプリケーションがレジスタなどの特定のリソースを消耗することがあるので注意してください。これは、プログラムのパフォーマンスの低下を引き起こします。ループをアンロール回数に大きな値を指定する場合は、アプリケーションを時間測定することを推奨します。(「アプリケーションの時間測定」を参照してください)

ループのアンロールを無効にする方法

ループのアンロールを無効にするには、変数nを0に設定します。ループのアンロールを無効にするには、次のようにします。

IA-32 システム: prompt>icc -unroll0 a.c