Content-type: text/html Manpage of ICC

ICC

Section: Intel(R) Compiler Options (1)
Updated: Intel Corporation
Index Return to Main Contents
 

NAME

Intel(R) C++ Compiler 7.1  

SYNOPSIS

icc [options] file1 [file2 ...] where:
options represents zero or more compiler options
fileN is a C/C++ source (.C .c .cc .cpp .cxx .i), assembly (.s), object (.o), static library (.a), or other linkable file
NOTE:
Commonly used options may be placed in the icc.cfg file.
 

DESCRIPTION

Intel(R) C++ Compiler Options. This compiler is designed to preprocess, compile, assemble, and link C and C++ programs on IA-32 systems.  

Compiler Option List  

Performance

-O1
Enable optimizations
-O2
Same as -O1 (DEFAULT)
-O3
Enable -O2 plus more aggressive optimizations that may not improve performance for all programs
-O0
Disable optimizations
-O
Same as -O1
-Ob<n>
Control inline expansion:

n=0 -- Disables inlining

n=1 -- Inline functions declared with __inline, and perform C++ inlining

n=2 -- Inline any function, at the compiler's discretion (same as -ip)

-falias
Assume aliasing in program (DEFAULT)
-fno-alias
Assume no aliasing in program
-ffnalias
Assume aliasing within functions (DEFAULT)
-fno-fnalias
Assume no aliasing within functions, but assume aliasing across calls
-nolib_inline
Disable inline expansion of intrinsic functions
-mp
Maintain floating point precision (disables some optimizations)
-mp1
Improve floating-point precision (speed impact is less than -mp)
-fp
Disable using EBP as general purpose register
-prec_div
Improve precision of floating-point divides (some speed impact)
-fp_port
Round fp results at assignments & casts (some speed impact)
-pc32
Set internal FPU precision to 24 bit significand
-pc64
Set internal FPU precision to 53 bit significand (DEFAULT)
-pc80
Set internal FPU precision to 64 bit significand
-rcd
Enable fast float-to-int conversions
-tpp5
Optimize for Intel(R) Pentium(R) processor
-tpp6
Optimize for Intel Pentium Pro, Intel Pentium II and Intel Pentium III processors
-tpp7
Optimize for Intel Pentium 4 processors
-ax<codes>
Generate code specialized for processor extensions specified by <codes> while also generating generic IA-32 code. <codes> includes one or more of the following characters:

M -- Intel Pentium processor with MMX(TM) technology

i -- Intel Pentium Pro and Pentium II processors

K -- Intel Pentium III processors

W -- Intel Pentium 4 processors, Intel(R) Xeon(TM) processors, and Intel(R) Pentium M processors

-x<codes>
Generate specialized code to run exclusively on processors supporting the extensions indicated by <codes> as described above. <codes> includes one or more of the following characters:

M -- Intel Pentium processor with MMX(TM) technology

i -- Intel Pentium Pro and Pentium II processors

K -- Intel Pentium III processors

W -- Intel Pentium 4 processors, Intel(R) Xeon(TM) processors, and Intel(R) Pentium M processors

-march=<cpu>
Generate code excusively for a given <cpu>

pentiumpro -- Pentium(R) Pro and Pentium(R) II processor instructions

pentiumii -- MMX(TM)instructions

pentiumiii -- Streaming SIMD Extensions

pentium4 -- Pentium(R) 4 New Instructions

-mcpu=<cpu>
Optimize for a specific cpu

pentium -- Optimize for Pentium(R) processor

pentiumpro -- Optimize for Pentium(R) Pro, Pentium(R) II and Pentium(R) III processors

pentium4 -- Optimize for Pentium(R) 4 processor

 

Advanced Performance

Enable and specify the scope of Interprocedural (IP) Optimizations:
-ip
Enable single-file IP optimizations (within files)
-ipo
Enable multi-file IP optimizations (between files)
-ipo_c
Generate a multi-file object file (ipo_out.o)
-ipo_S
Generate a multi-file assembly file (ipo_out.s)
Modify the behavior of IP:
-ip_no_inlining
Disable full and partial inlining (requires -ip or -ipo)
-ip_no_pinlining
Disable partial inlining (requires -ip or -ipo)
-ipo_obj
Force generation of real object files (requires -ipo)
Other Advanced Performance Options:
-unroll[n]
Set maximum number of times to unroll loops. Omit n to use default heuristics. Use n=0 to disable loop unroller.
-prof_dir <d>
Specify directory for profiling output files (*.dyn and *.dpi)
-prof_file <f>
Specify file name for profiling summary file
-prof_gen[x]
Instrument program for profiling; with the x qualifier, extra information is gathered
-prof_use
Enable use of profiling information during optimization
-qp, -p
Compile and link for function profiling with UNIX prof tool
-vec_report[n]
Control amount of vectorizer diagnostic information:

n=0 -- No diagnostic information

n=1 -- Indicate vectorized loops (DEFAULT)

n=2 -- Indicate vectorized/non-vectorized loops

n=3 -- Indicate vectorized/non-vectorized loops and prohibiting data dependence information

n=4 -- Indicate non-vectorized loops

n=5 -- Indicate non-vectorized loops and prohibiting data dependence information

-opt_report
Generate an optimization report to stderr
-opt_report_file<file>
Specify the filename for the generated report
-opt_report_level[level]
Specify the level of report verbosity (min|med|max)
-opt_report_phase<name>
Specify the phase that reports are generated against
-opt_report_routine<name>
Reports on routines containing the given name
-opt_report_help
Display the optimization phases available for reporting
-openmp
Enable the compiler to generate multi-threaded code based on the OpenMP* directives
-openmp_profile
Link with instrumented OpenMP runtime library to generate OpenMP profiling information for use with the OpenMP component of the VTune(TM) Performance Analyzer
-openmp_stubs
Enables the user to compile OpenMP programs in sequential mode. The openmp directives are ignored and a stub OpenMP library is linked (sequential)
-openmp_report{0|1|2}
Control the OpenMP parallelizer diagnostic level
-parallel
Enable the auto-parallelizer to generate multi-threaded code for loops that can be safely executed in parallel
-par_report{0|1|2|3}
Control the auto-parallelizer diagnostic level
-par_threshold[n]
Set threshold for the auto-parallelization of loops where n is an integer from 0 to 100
-ansi_alias[-]
Enable(DEFAULT)[disable] stating ANSI compliance of the compiled program and that optimizations can be based on the ANSI rules
-complex_limited_range
This option causes the compiler to use the highest performance formulations of complex arithmetic operations, which may not produce acceptable results for input values near the top or bottom of the legal range. Without this option, the compiler users a better formulation of complex arithmetic operations which produces acceptable results for the full range of input values, at some loss in performance.
 

Output, Debug

-c
Compile to object (.o) only, do not link
-S
Compile to assembly (.s) only, do not link (*I)
-use_asm
Produce objects through assembler
-use_msasm
Support Microsoft style assembly language insertion using MASM style syntax and, if requested, output assembly in MASM format
-fcode-asm
Produce assembly file with optional code annotations
-fsource-asm
Produce assembly file with optional code annotations
-f[no]verbose-asm
Produce assembly file with compiler comments (DEFAULT)
-o<file>
Name output file
-g
Produce symbolic debug information in object file
-inline_debug_info
Preserve the source position of inlined code instead of assigning the call-site source position to inlined code
 

C Preprocessor

-A<name>[(val)]
Create an assertion 'name' having value 'val'
-A-
Remove all predefined macros
-C
Don't strip comments
-D<name>[=text]
Define macro
-E
Preprocess to stdout
-EP
Preprocess to stdout omitting #line directives
-P, -F
Preprocess to file
-I<dir>
Add directory to include file search path
-idirafter<dir>
Add directory (dir) to the second include file search path (after -I)
-U<name>
Remove predefined macro
-X
Remove standard directories from include file search path
-H
Print "include" file order and continue compilation.
-M
Generate makefile dependency information
-MD
Preprocess and compile. Generate output file (.d extension) containing dependency information.
-MF<file>
Generate makefile dependency information in <file>. Must specify -M or -MM.
-MG
Similar to -M, but treats missing header files as generated files.
-MM
Similar to -M, but does not include system header files.
-MMD
Similar to -MD, but does not include system header files.
-MX
Generate dependency file (.o.dep extension) containing information used for the Intel wb tool.
-dM
Output macro definitions in effect after preprocessing (use with -E)
 

Component Control

-Qoption,<str>,<opts>
Pass options <opts> to tool specified by <str>
-Qlocation,<str>,<dir>
Set <dir> as the location of tool specified by <str>
-Qinstall <dir>
Set <dir> as root of compiler installation
 

Language

-[no]restrict
Enable [disable] the 'restrict' keyword for disambiguating pointers
-Xa
Select extended ANSI C/C++ dialect (default)
-Xc, -ansi
Select strict ANSI C/C++ conformance dialect
-c99[-]
Enable(DEFAULT) [disable] C99 support for C programs
-std=c99
Enable C99 support for C programs.
-Kc++
Compile all source or unrecognized file types as C++ source files
-fno-rtti
Disable RTTI support
-[no]align
Analyze and reorder memory layout for variables and arrays
-Zp[n]
Specify alignment constraint for structures (n=1,2,4,8,16)
-syntax
Perform syntax check only
-fshort-enums
Allocate as many bytes as needed for enumerated types
-fsyntax-only
Same as -syntax
-funsigned-char
Change default char type to unsigned
-funsigned-bitfields
Change default bitfield type to unsigned
 

Compiler Diagnostics

-w
Disable all warnings
-w<n>
Control diagnostics:

n=0 -- Display errors (same as -w)

n=1 -- Display warnings and errors (DEFAULT)

n=2 -- Display remarks, warnings, and errors

-wn<n>
Print a maximum of n errors
-wd<L1>[,<L2>,...]
Disable diagnostics L1 through LN
-we<L1>[,<L2>,...]
Change severity of diagnostics L1 through LN to error
-ww<L1>[,<L2>,...]
Change severity of diagnostics L1 through LN to warning
-wr<L1>[,<L2>,...]
Change severity of diagnostics L1 through LN to remark
-Wall
Enable all warnings
-Werror
Force warnings to be reported as errors
 

Miscellaneous

-help
Prints list of compiler options
-V
Display compiler version information
-dryrun
Show driver tool commands but do not execute tools
-v
Show driver tool commands and execute tools
-x <type>
All source files found subsequent to -x <type> will be recognized as one of the following types

c -- C source file

c++ -- C++ source file

c-header -- C header file

cpp-output -- C pre-processed file

assembler -- asembly file

assebler-with-cpp -- assembly file that needs to be preprocessed

none -- disable recognition, and revert to file extension

-sox[-]
Enable(DEFAULT) [disable] saving of compiler options and version in the executable
-Kpic, -KPIC
Generate position independent code
-fpic, -FPIC
Generate position independent code
-long_double
Enable 80-bit 'long double'
-nobss_init
Disable placement of zero-initialized variables in BSS (use DATA)
-0f_check
Enable the patch for the Pentium 0f erratum
 

Linking/Linker

-L<dir>
Instruct linker to search <dir> for libraries
-i_dynamic
Link Intel provided libraries dynamically
-dynamic-linker<filename>
Selects a dynamic linker (filename) other than the default
-no_cpprt
Do not link in C++ runtime libraries
-nodefaultlibs
Do not use standard libraries when linking
-nostartfiles
Do not use standard startup files when linking
-nostdlib
Do not use standard libraries and startup files when linking
-static
Prevents linking with shared libraries
-shared
Produce a shared object
-u <symbol>
Pretend the <symbol> is undefined
-Xlinker <val>
Pass <val> directly to the linker for processing
-Wl,<o1>[,<o2>,...]
Pass options o1, o2, etc. to the linker for processing
 

Copyright Information

Copyright (C) 1985-2003, Intel Corporation. All rights reserved.
* Other brands and names are the property of their respective owners.


 

Index

NAME
SYNOPSIS
DESCRIPTION
Performance
Advanced Performance
Output, Debug
C Preprocessor
Component Control
Language
Compiler Diagnostics
Miscellaneous
Linking/Linker
Copyright Information

This document was created by man2html, using the manual pages.
Time: 18:51:19 GMT, July 31, 2003