# qopt-args-in-regs, Qopt-args-in-regs

Determines whether calls to routines are optimized by passing arguments in registers instead of on the stack. This is a deprecated option that may be removed in a future release. This feature is only available for ifort.

## Architecture Restrictions

Only available on IA-32 architecture. IA-32 support has been deprecated, and will be removed in a future release.

## Syntax

Linux: | -qopt-args-in-regs[=keyword]

macOS: | None

Windows: | /Qopt-args-in-regs[:keyword]

## Arguments

keyword | Specifies whether the optimization should be performed and under what conditions. Possible values are:
none | The optimization is not performed. No arguments are passed in registers. They are put on the stack.
seen | Causes arguments to be passed in registers when they are passed to routines whose definition can be seen in the same compilation unit.
all | Causes arguments to be passed in registers, whether they are passed to routines whose definition can be seen in the same compilation unit, or not. This value is only available on Linux* systems.

## Default

-qopt-args-in-regs=seen or /Qopt-args-in-regs:seen | Arguments are passed in registers when they are passed to routines whose definition is seen in the same compilation unit.

## Description

This option determines whether calls to routines are optimized by passing arguments in registers instead of on the stack. It also indicates the conditions when the optimization will be performed.

This is a deprecated option that may be removed in a future release. There is no replacement option.

This option can improve performance for Application Binary Interfaces (ABIs) that require arguments to be passed in memory and compiled without interprocedural optimization (IPO).

Note that on Linux* systems, if all is specified, a small overhead may be paid when calling "unseen" routines that have not been compiled with the same option. This is because the call will need to go through a "thunk" to ensure that arguments are placed back on the stack where the callee expects them.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Advanced Optimization Options