# auto-p32

Instructs the compiler to analyze the program to determine if there are 64-bit pointers that can be safely shrunk to 32-bit pointers.

## Architecture Restrictions

Only available on Intel® 64 architecture

## Syntax

Linux and macOS: | -auto-p32

Windows: | None

## Arguments

None

## Default

OFF | The optimization is not performed.

## Description

This option instructs the compiler to analyze and transform the program so that 64-bit pointers are shrunk to 32-bit pointers, wherever it is legal and safe to do so.

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 -ipo option and it must be able to analyze all library calls or external calls the program makes. This option has no effect unless you specify setting SSE3 or higher for option -x.

The application cannot exceed a 32-bit address space; otherwise, unpredictable results can occur.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Data Options

## See Also

auto-ilp32, Qauto-ilp32 compiler option
pie compiler option
ipo, Qipo compiler option
x, Qx compiler option