Developer Guide and Reference

Contents

qopt-subscript-in-range, Qopt-subscript-in-range

Determines whether the compiler assumes that there are no "large" integers being used or being computed inside loops.

Syntax

Linux and macOS:
-qopt-subscript-in-range
-qno-opt-subscript-in-range
Windows:
/Qopt-subscript-in-range
/Qopt-subscript-in-range-
Arguments
None
Default
-qno-opt-subscript-in-range
or
/Qopt-subscript-in-range-
The compiler assumes there are "large" integers being used or being computed within loops.
Description
This option determines whether the compiler assumes that there are no "large" integers being used or being computed inside loops.
If you specify
[q or Q]opt-subscript-in-range
, the compiler assumes that there are no "large" integers being used or being computed inside loops. A "large" integer is typically > 2
31
.
This feature can enable more loop transformations.
Alternate Options
None
The following example shows how these options can be useful. Variable m is declared as type
long
(64-bits) and all other variables inside the subscript are declared as type
int
(32-bits):
A[ i + j + ( n + k) * m ]

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804