man pages for icc

NAME
     icc - Intel(R) C++ Compiler

SYNOPSIS
       icc [options] file1 [file2 ...]

       where 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         Control inline expansion:

                      n=0 -- Disables inlining

                      n=1 -- Inline functions declared with __inline, and per-
                      form 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

       -nolib_inline  Disable inline expansion of intrinsic functions

       -mp            Maintain  floating  point precision (disables some opti-
                      mizations)

       -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 Pentium(R) processor

       -tpp6          Optimize for Pentium(R)  Pro,  Pentium(R)  II  and  Pen-
                      tium(R) III processors

       -tpp7          Optimize for Pentium(R) 4 processor

       -ax     Generate code specialized for processor extensions spec-
                      ified by  while  also  generating  generic  IA-32
                      code.    includes  one  or  more of the following
                      characters:

                      i -- Pentium Pro and Pentium II processor instructions

                      M -- MMX(TM) instructions

                      K -- Streaming SIMD Extensions

                      W -- Pentium(R) 4 New Instructions

       -x      Generate specialized code to run exclusively on  proces-
                      sors  supporting  the extensions indicated by  as
                      described above.

       -march=   Generate code excusively for a given 

                      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=    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   Specify  directory for profiling output files (*.dyn and
                      *.dpi)

       -prof_file  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, -pg   Compile  and  link for function profiling with UNIX prof
                      tool

       -vec           Enable(DEFAULT) the vectorizer

       -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 pro-
                      hibiting 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
                      Specify the filename for the generated report

       -opt_report_level[level]
                      Specify the level of report verbosity (min|med|max)

       -opt_report_phase
                      Specify the phase that reports are generated against

       -opt_report_routine
                      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_stubs  Enables  the  user to compile OpenMP programs in sequen-
                      tial 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_ansi[-]  Enable(DEFAULT)[disable]  stating ANSI compliance of the
                      compiled program and that optimizations can be based  on
                      the ANSI rules

   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 assem-
                      bly in MASM format

       -o       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[(val)]
                      Create an assertion ’name’ having value ’val’

       -A-            Remove all predefined macros

       -C             Don’t strip comments

       -D[{=|#}]
                      Define macro

       -E             Preprocess to stdout

       -EP            Preprocess to stdout omitting #line directives

       -P, -F         Preprocess to file

       -I        Add directory to include file search path

       -U       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 exten-
                      sion) containing dependency information.

       -MF      Generate makefile dependency information in . Must
                      specify -M or -MM.

       -MG            Similar to -M, but treats missing header files as gener-
                      ated 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.

       -MM            Similar to -M, but do not include system header files

       -MG            Similar  to -M, but treat missing header files as gener-
                      ated files

       -MD            Preprocess and compile, generating output file  contain-
                      ing dependency information ending with extension .d

       -MMD           Similar to -MD, but do not include system header files

       -MF      Generate  makefile  dependency information in file (must
                      specify -M or -MM)

       -MX            Generate dependency file ending  with  extension  .o.dep
                      containing information used for the Intel wb tool

       -dM            Output  macro  definitions in effect after preprocessing
                      (use with -E)

       -idirafter
                      Add directory (dir) to the second  include  file  search
                      path (after -I)

   Component Control
       -Qoption,,
                      Pass options  to tool specified by 

       -Qlocation,,
                      Set  as the location of tool specified by 

       -Qinstall 
                      Set  as root of compiler installation

   Language
       -ansi          Enable(DEFAULT) assumption of ANSI conformance

       -restrict      Enable  the ’restrict’ keyword for disambiguating point-
                      ers

       -Xa            Select extended ANSI C dialect

       -Xc            Select strict ANSI conformance dialect

       -c99[-]        Enable(DEFAULT) [disable] C99 support for C programs

       -std=c99       Enable C99 support for C programs.

       -XU            C++ compilation follows ARM and cfront with anachronisms

       -Timplinc      Enable  implicit  inclusion  of source files for finding
                      template defs

       -Tnoauto       Disable automatic instantiation of templates

       -Tused         Instantiate template functions used in this compilation

       -Tlocal        Instantiate template functions used in this compilation,
                      make local

       -Knovtab       Suppress definition of vftables for classes without non-
                      inline vfns

       -Kc++          Compile all source or unrecognized  file  types  as  C++
                      source files

       -Krtti         Enable C++ RTTI (DEFAULT)

       -Zp[n]         Specify     alignment    constraint    for    structures
                      (n=1,2,4,8,16)

       -syntax        Perform syntax check only

       -fno-rtti      Disable RTTI support

       -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          Control diagnostics:

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

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

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

       -wn         Print a maximum of n errors

       -wd[,,...]
                      Disable diagnostics L1 through LN

       -we[,,...]
                      Change severity of diagnostics L1 through LN to error

       -ww[,,...]
                      Change severity of diagnostics L1 through LN to warning

       -wr[,,...]
                      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

       -sox[-]        Enable(DEFAULT) [disable] saving of compiler options and
                      version in the executable

       -Kpic, -KPIC   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

       -v             Show driver tool commands and execute tools

   Linking/Linker
       -L        Instruct linker to search  for libraries

       -i_dynamic     Link Intel provided libraries dynamically

       -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     Pretend the  is undefined

       -Xlinker  Pass  directly to the linker for processing

       -Wl,[,,...]
                      Pass options o1, o2, etc. to the linker for processing

       -dynamic-linker
                      Selects  a  dynamic  linker  (filename)  other  than the
                      default