インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

falign-loops、Qalign-loops

2 の累乗のバイト境界でループをアライメントします。

構文

Linux* および macOS*:

-falign-loops[=n]

-fno-align-loops

Windows*:

/Qalign-loops[:n]

/Qalign-loops-

引数

n

最小アライメント境界のバイト数 (オプション)。1 から 4096 の範囲内の 2 の累乗の値でなければなりません (例: 1、2、4、8、16、32、64、128 など)。

n を 1 に設定するとアライメントされません。これは、オプションの否定形を指定するのと同じです。

n を指定しない場合、デフォルトのアライメントは 16 バイトです。

デフォルト

-fno-align-loops または /Qalign-loops-

ループはアライメントされません。

説明

このオプションは、2 の累乗のバイト境界でループをアライメントします。このアライメントにより、パフォーマンスが向上する可能性があります。

このオプションは、CODE_ALIGN および ATTRIBUTES CODE_ALIGN ディレクティブにより影響を受けます。

-falign-loops=m (Linux* および macOS*) または /Qalign-loops:m (Windows*) オプションを指定してコンパイルすると、ループの前に CODE_ALIGN:n ディレクティブがある場合、そのループは max (m, n) バイト境界でアライメントされます。プロシージャーに CODE_ALIGN:k 属性が含まれ、ループの前に CODE_ALIGN:n ディレクティブがある場合、プロシージャーとループはともに MAX (k, n) バイト境界でアライメントされます。

IDE オプション

なし

代替オプション

なし

test_align_loops.f90 ファイルの次のコードについて考えてみます。

DO J = 1, N
…
END DO

-falign-loops (Linux* および macOS*) または /Qalign-loops (Windows*) オプションを指定して test_align_loops.f90 をコンパイルすると、DO J ループのコードは (デフォルトの) 16 バイト境界でアライメントされます。このオプションを指定しない場合、ループのアライメントは実装依存で、コンパイルのたびに異なる可能性があります。

関連情報