Purpose
Indicates 64-bit compilation bit mode and,
together with the -qarch option, determines
the target machines on which the 64-bit executable will run.
The object module is created in 64-bit object format and
that the 64-bit instruction set is generated. Note
that you may compile in a 32-bit environment to create 64-bit objects,
but you must link them in a 64-bit environment with the -q64 option.
Syntax
>>- -q--64-----------------------------------------------------><
Rules
- The default -qarch setting for -q64 is pwr5.
- 64-bit object modules are created when targeting 64-bit mode.
- -q32 may override -q64.
- The default tune setting for -q64 is -qtune=balanced:balanced.
- The default integer and default real size is 4 bytes in 64-bit
mode.
- The default integer pointer size is 8 bytes in 64-bit mode.
- The maximum array size increases to approximately 2**40 bytes
(in static storage) or 2**60 bytes (in dynamic allocation on the heap).
The maximum dimension bound range is extended to -2**63, 2**63-1. The theoretical maximum array size is 2**60 bytes,
but this is subject to the limitations imposed by the operating system. The
maximum array size for array constants has not been extended and will
remain the same as the maximum in 32-bit mode. The maximum array size
that you can initialize is 2**28 bytes.
- The maximum iteration count for array constructor implied DO loops
increases to 2**63-1.
- The maximum character variable length extends to approximately
2**40 bytes. The maximum length of character constants and subobjects
of constants remains the same as in 32-bit mode, which is 32767 bytes
(32 KB).
- The LOC intrinsic returns an INTEGER(8) value.
- If you must use -qautodbl=dblpad in
64-bit mode, you should use -qintsize=8 to
promote INTEGER(4) to INTEGER(8) for
8 byte integer arithmetic.
Examples
This example targets the
POWER5 in
64-bit mode:
-q32 -qarch=pwr5 -q64