Developer Guide and Reference

Contents

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

Determines whether calls to routines are optimized by passing
parameters
in registers instead of on the stack.
Architecture Restrictions
Only available on IA-32 architecture

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
parameters
are passed in registers. They are put on the stack.
seen
Causes
parameters
to be passed in registers when they are passed to routines whose definition can be seen in the same compilation unit.
all
Causes
parameters
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
Parameters
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
parameters
in registers instead of on the stack. It also indicates the conditions when the optimization will be performed.
This option can improve performance for Application Binary Interfaces (ABIs) that require
parameters
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
parameters
are placed back on the stack where the callee expects them.
Alternate Options
None

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