ARCH オプションは、実行可能プログラムの命令が生成される アーキテクチャーを指定します。 このオプションにより、最適化プログラムは特定のハードウェア命令セットの 利点を利用できます。 型式 (モデル) 番号が属するグループを指定するサブパラメーターがあります。
.-5-. >>-ARCH--(--+-n-+--)-------------------------------------------><
ARCH レベルで指定できる現行値は、次のとおりです。
具体的には、これらの ARCH(5) マシンおよび後継品には、NILL、NILH、 OILL、OILH、LLILL、および LLILH などの命令が組み込まれています。
特に、これらの ARCH(6) マシンと後継マシンについては、コンパイラーは長変位命令セットを活用する場合があります。 長変位機能により、既存の 69 の命令と新規の 44 の命令で、20 ビット符号付き変位フィールドを使用できます (前者の場合は既存の命令で未使用のバイトを使用)。 20 ビット符号付き変位を使用することにより、基底レジスターまたは基底と指標のレジスター・ペアによって指定されるロケーションを超えて最大 524,287 バイトまでの相対アドレッシングが可能になります。そのロケーションの前では、最大 524,288 バイトまでの相対アドレッシングが可能です。 拡張される既存の命令は通常、64 ビット 2 進整数を扱う命令です。 新規命令は概して、32 ビット 2 進整数用の新バージョンの命令です。 新規命令には、以下の命令も含まれます。
長変位機能を使用すると、基底レジスターの必要性が低くなるのでレジスター制約が軽減される、使用される命令数が少なくなるのでコード・サイズが小さくなる、アドレス生成インターロックの可能性がなくなるのでパフォーマンスが向上する、という効果があります。
特に、これらの ARCH(7) マシンと後継マシンには、拡張即値機能や拡張変換機能などの機能がサポートする命令が追加されており、コンパイラーがこれらの機能を活用する場合があります。 これらの機能の詳細については、「z/Architecture Principles of Operation」を参照してください。
ARCH(7) マシンは、DFP 命令もサポートします。
特に、これらの ARCH(8) マシンと後継マシンには、コンパイラーで使用可能な、一般命令拡張機能によってサポートされる命令が追加されています。 また、これらのマシンでは、10 進浮動小数点機能によってサポートされる命令が追加されています。これらの命令は、 DFP コンパイラー・オプションが指定されていて、ソース・コードに 10 進浮動小数点のデータ・タイプが存在している場合に生成されます。 これらの機能の詳細については、「z/Architecture Principles of Operation」を参照してください。
5 より小さい ARCH 値を指定すると、コンパイラーがその値を 5 に再設定します。