ARCH
The ARCH
option specifies the machine
architecture for which the executable program instructions are to
be generated.
If you specify a higher ARCH
level,
the compiler generates code that uses newer and faster instructions.
Your application might abend if it runs on a processor with an architecture
level lower than what you specify with the ARCH
option.
Use the ARCH
level that matches the lowest machine
architecture where your application runs.
- Default
ARCH=7
- 7
- Produces code that uses instructions available on the 2094-xxx
(IBM® System z9® EC) and 2096-xxx (IBM System
z9 BC) models in z/Architecture® mode. Specifically, these
ARCH(7)
machines and their follow-ons add instructions supported by the following facilities:- Extended-immediate facility
- Decimal floating point facility. These instructions might be generated if decimal data is used in numeric operations.
- 8
- Produces code that uses instructions available on the 2097-xxx
(IBM System z10® EC) and 2098-xxx
(IBM System z10 BC) models in z/Architecture mode.
Specifically, these
ARCH(8)
machines and their follow-ons add instructions supported by the general instruction extensions facility. - 9
- Produces code that uses instructions available on 2817-xxx (IBM zEnterprise® 196) and 2818-xxx (IBM zEnterprise 114) models in z/Architecture mode. Specifically, these
ARCH=9
machines and their follow-ons add instructions supported by the following facilities:- High-word facility
- Interlocked access facility
- Load/store-on-condition facility
- Distinct-operands facility
- Population-count facility
- 10
- Produces code that uses instructions available on the 2827-xxx
(IBM zEnterprise EC12) and
2828-xxx (IBM zEnterprise BC12) models in z/Architecture mode. Specifically, these
ARCH(10)
machines and their follow-ons add instructions supported by the following facilities:- Execution-hint facility
- Load-and-trap facility
- Miscellaneous-instructions-extension facility
- Transactional-execution facility
- Enhanced decimal floating point facility that enables more efficient conversions between zoned decimal data items and decimal floating point data items. Instead of converting zoned decimal data items to packed decimal data items to perform arithmetic, the compiler converts zoned decimal data items directly to decimal floating point data items, and then back again to zoned decimal data items after the computations are complete.
- 11
- Produces code that uses instructions available on 2964-xxx (IBM z13®) and 2965-xxx (IBM z13s®) models
in z/Architecture mode. Specifically, these
ARCH(11)
machines and their follow-ons add instructions with support of the following facilities:- Enhanced decimal floating point facility that enables more efficient conversions between packed-decimal data items and decimal floating point intermediate result data items.
- Exploitation of the vector extension facility (SIMD) instructions
for some
INSPECT REPLACING
andINSPECT TALLYING
statements.To use the vector extension facility (SIMD) instructions, the code must be executed on a machine running on z/OS® V2.2, or z/OS V2.1 with the PTFs for APARs OA43803 and PI12412 installed.
12
Produces code that uses instructions available on 3906-xxx (IBM z14) and 3907-xxx (IBM z14 ZR1) models in z/Architecture mode.
Specifically, these
ARCH(12)
machines and their follow-ons add instructions that support the vector packed decimal facility, which accelerates packed and zoned decimal computation by storing intermediate results in vector registers instead of in memory.
ARCH
level
includes the facilities of the lower ARCH
level.
For example,
ARCH=12
includes all the
facilities of the lower ARCH
levels.For more information about these facilities, see z/Architecture Principles of Operation.