ループのアンロールのサポート

UNROLL[n] ディレクティブは、カウントされたループをアンロールする回数をコンパイラに伝えます。

n は 0 から 255 までの整数定数です。

UNROLL ディレクティブは、各 DO ループが動作する DO 文の前になければなりません。

n が指定されると、最適化機構はループを n 回アンロールします。n が省略されるか、n が有効範囲外の場合、最適化機構はループをアンロールする回数を割り当てます。

UNROLL ディレクティブは、コマンドラインから行われるループ・アンロールの設定を変更します。

現在、ディレクティブは最も内側のループのネストにのみ適用されます。外側のループのネストに適用された場合、無視されます。コンパイラは、n とループカウンタを比較することによって、正しいコードを生成します。

DEC$ UNROLL(4)
do i = 1, m
b(i) = a(i) + 1
d(i) = c(i) + 1
enddo

ディレクティブの詳細は、『Intel® Fortran Language Reference』(英語) の「General Directives」にある「Directive Enhanced Compilation」を参照してください。