Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
Document Table of Contents

auto-ilp32, Qauto-ilp32

Instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk into 32-bit pointers and if there are 64-bit longs (on Linux* systems) that can be safely shrunk into 32-bit longs.

Architecture Restrictions

Only available on Intel® 64 architecture

Syntax

Linux and macOS:

-auto-ilp32

Windows:

/Qauto-ilp32

Arguments

None

Default

OFF

The optimization is not attempted.

Description

This option instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk into 32-bit pointers and if there are 64-bit longs (on Linux* systems) that can be safely shrunk into 32-bit longs.

On macOS systems, you must also specify option -no-pie for the optimization to occur.

For this option to be effective, the compiler must be able to optimize using the [Q]ipo option and must be able to analyze all library calls or external calls the program makes. This option has no effect on Linux* systems unless you specify setting SSE3 or higher for option -x.

This option requires that the size of the program executable never exceeds 232 bytes and all data values can be represented within 32 bits. If the program can run correctly in a 32-bit system, these requirements are implicitly satisfied. If the program violates these size restrictions, unpredictable behavior may occur.

IDE Equivalent

None

Alternate Options

None

See Also