XL Fortran バージョン 9.1 では、次の新しい機能と変更された機能を提供します。
新しいまたは変更されたコンパイラー・オプションおよびサブオプションは、
以下のとおりです。
- -qcr オプションを使用すると、コンパイラーが CR (復帰) 文字をどのように解釈するのかを制御することができます。
- -qflttrap=nanq サブオプションは、無効演算によって作成されなかったものを含め、浮動小数点命令によって処理または生成されたすべての NaN 値を検出します。
- -qport=nullarg サブオプションは、
左括弧とコンマ、2 つのコンマ、またはコンマと右括弧によって区切られた空の引き数をヌル引き数として扱います。
- -qmodule=mangle81 オプションは、非組み込みモジュールに対するバージョン 8.1 モジュールの命名規則との互換性を提供します。
- -qsaveopt オプションは、ソース・
ファイルのコンパイルに使用するコマンド行オプションを、該当するオブジェクト・
ファイルに保管します。
- -qversion オプションは、呼び出しコンパイラーの
バージョンとリリースを示します。
- -qhot=vector サブオプションは、
連続する配列エレメントに対してループで実行される特定の操作を、ベクトル・
ライブラリー・ルーチンに対する呼び出しに変換します。
以下の XL Fortran 拡張が Fortran 2003 のドラフト標準から変更されました。
- 2003std 実行時オプションは、ドラフト標準に合致しているか
どうかについてのコードの規格合致検査を提供します。
- ISO_C_BINDING 組み込みモジュール、BIND 属性
およびステートメント、モジュール変数、共通ブロック、サブルーチン/関数、および
-qalign=bindc コンパイラー・サブオプションは、C との相互運用についての
サポートを提供します。
- 派生型コンポーネントの PUBLIC/PRIVATE 属性。
- ASSOCIATE 構文は、エンティティーを変数または式の値に関連付けます。
- 以下のコマンド行引き数組み込み機能。
- FLUSH ステートメントは、他のプロセスで使用可能な外部ファイルからデータを作成します。
- データ転送操作の IOMSG= 指定子、ファイル位置指定、FLUSH、およびファイル照会ステートメント。
- ISO_FORTRAN_ENV 組み込みモジュールは、Fortran 環境に関連するパブリック・エンティティーを提供します。
- NEW_LINE 組み込み機能は、改行文字を返します。
- IMPORT ステートメントは、ホスト関連付けによって、インターフェース本体でアクセス可能なホスト有効範囲単位から名前付きエンティティーを作成します。
- PROCEDURE ステートメントは、ダミー・プロシージャーまたは外部プロシージャーを宣言します。
以下のパフォーマンス関連ディレクティブおよびコンパイラー・
オプション/サブオプションが追加されました。
- POWER5 および PowerPC 970 アーキテクチャ (ppc64gr、ppc64grsq、pwr5、および ppc970) に対するサポートを提供する -qarch および -qtune コンパイラー・サブオプション。
- -qenablevmx オプションは、コンパイラーに対して、これらの PowerPC 970 プロセッサーが処理できるように Vector Multimedia eXtension (VMX)
命令を生成するように指示します。
- -qhot=simd サブオプションは、Altivec 命令を使用してループを自動的に SIMD ベクトル化します。
- -qshowpdf オプションは、-qpdf1
とともに使用して、追加の呼び出しとブロック・ カウント・プロファイル情報を
実行可能ファイルに提供します。
- 最適化ユーティリティーである
showpdf および
mergepdf は、PDF 指示コンパイルに関する詳細情報を提供します。
- -qdirectstorage オプションは、
指定のコンパイル単位がライトスルー使用可能またはキャッシュ使用禁止の
ストレージを参照できることをコンパイラーに通知します。
- ディレクティブ NOVECTOR、NOSIMD、および ALIGNX 組み込みサブルーチンは、自動
ベクトル化機能と自動 SIMD ベクトル化機能の非常に細かい制御をコンパイラーで提供します。
- LOOPID ディレクティブは、ループに有効範囲固有の
ID を付けます。ID は、BLOCK_LOOP および他のディレクティブで、ループ特有の変換を制御するために使用できます。
ループ変換に関する情報は、オプションの -qreport コンパイラーを使用して表示することができます。
- EIEIO ディレクティブは、キャッシュおよびメモリー管理に役立ちます。
- PROTECTED STREAM ディレクティブを使用すると、保護ストリームを管理できるため、これらのストリームがハードウェア検出ストリームによって置き換えられることはありません。
- SWDIV およびSWDIV_NOCHK 組み込み機能は、ソフトウェアに浮動小数点除算アルゴリズムを提供します。
その他の機能:
- FRE および FRSQRTES PowerPC 浮動小数点組み込み関数。
- POPCNT、および POPCNTB 組み込み機能はデータ・オブジェクトのレジスターの設定ビットのカウントを提供し、
POPPAR 組み込み機能はデータ・オブジェクトのパリティーを判断します。
- 32 ビットおよび 64 ビット・モジュールは、現在は 1 つのファイルに組み込まれています。
- 複数のインクルード・パスの許可を許可します。
- ベクトル化アプリケーションで使用するための MASS ベクター・ライブラリーが利用可能です。
- コンパイラー呼び出しコマンドおよび各コマンド行ユーティリティーの
man ページが提供されています。以前のバージョンで提供されていた
ヘルプ・ファイルは、コンパイラー呼び出しの man ページに置き換えられました。
