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 pwr4.
- 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
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