<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic MinGW v3.4.2 32-bit Options - in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102821#M69378</link>
    <description>&lt;STRONG&gt;MinGW v3.4.2 32-bit Options - Group 1&lt;/STRONG&gt;

The following options are language-independent:

  --help                      Display this information
  --param &lt;OBJECT&gt;&lt;PARAM /&gt;=&lt;VALUE&gt;     Set paramter &lt;PARAM /&gt; to value.  See below for a
                              complete list of parameters
  --target-help               This switch lacks documentation
  --version                   This switch lacks documentation
  -G&lt;NUMBER&gt;                  Put global and static data smaller than &lt;NUMBER&gt;
                              bytes into a special section (on some targets)
  -O&lt;NUMBER&gt;                  Set optimization level to &lt;NUMBER&gt;
  -Os                         Optimize for space rather than speed
  -W                          This switch is deprecated; use -Wextra instead
  -Waggregate-return          Warn about returning structures, unions or arrays
  -Wcast-align                Warn about pointer casts which increase alignment
  -Wdeprecated-declarations   Warn about uses of __attribute__((deprecated))
                              declarations
  -Wdisabled-optimization     Warn when an optimization pass is disabled
  -Werror                     Treat all warnings as errors
  -Wextra                     Print extra (possibly unwanted) warnings
  -Winline                    Warn when an inlined function cannot be inlined
  -Wlarger-than-&lt;NUMBER&gt;      Warn if an object is larger than &lt;NUMBER&gt; bytes
  -Wmissing-noreturn          Warn about functions which might be candidates
                              for __attribute__((noreturn))
  -Wpacked                    Warn when the packed attribute has no effect on
                              struct layout
  -Wpadded                    Warn when padding is required to align structure
                              members
  -Wshadow                    Warn when one local variable shadows another
  -Wstrict-aliasing           Warn about code which might break strict aliasing
                              rules
  -Wswitch                    Warn about enumerated switches, with no default,
                              missing a case
  -Wswitch-default            Warn about enumerated switches missing a
                              "default:" statement
  -Wswitch-enum               Warn about all enumerated switches missing a
                              specific case
  -Wsystem-headers            Do not suppress warnings from system headers
  -Wuninitialized             Warn about uninitialized automatic variables
  -Wunreachable-code          Warn about code that will never be executed
  -Wunused                    Enable all -Wunused- warnings
  -Wunused-function           Warn when a function is unused
  -Wunused-label              Warn when a label is unused
  -Wunused-parameter          Warn when a function parameter is unused
  -Wunused-value              Warn when an expression value is unused
  -Wunused-variable           Warn when a variable is unused
  -aux-info &lt;FILE&gt;            Emit declaration information into &lt;FILE&gt;
  -aux-info=                  This switch lacks documentation
  -auxbase                    This switch lacks documentation
  -auxbase-strip              This switch lacks documentation
  -d&lt;LETTERS&gt;                 Enable dumps from specific passes of the compiler
  -dumpbase &lt;FILE&gt;            Set the file basename to be used for dumps
  -fPIC                       This switch lacks documentation
  -fPIE                       This switch lacks documentation
  -fabi-version=              This switch lacks documentation
  -falign-functions           Align the start of functions
  -falign-functions=          This switch lacks documentation
  -falign-jumps               Align labels which are only reached by jumping
  -falign-jumps=              This switch lacks documentation
  -falign-labels              Align all labels
  -falign-labels=             This switch lacks documentation
  -falign-loops               Align the start of loops
  -falign-loops=              This switch lacks documentation
  -fargument-alias            Specify that arguments may alias each other and
                              globals
  -fargument-noalias          Assume arguments may alias globals but not each
                              other
  -fargument-noalias-global   Assume arguments alias neither each other nor
                              globals
  -fasynchronous-unwind-tables Generate unwind tables that are exact at each
                              instruction boundary
  -fbounds-check              Generate code to check bounds before indexing
                              arrays
  -fbranch-count-reg          Replace add, compare, branch with branch on count
                              register
  -fbranch-probabilities      Use profiling information for branch probabilities
  -fbranch-target-load-optimize Perform branch target load optimization before
                              prologue / epilogue threading
  -fbranch-target-load-optimize2 Perform branch target load optimization after
                              prologue / epilogue threading
  -fcall-saved-&lt;REGISTER&gt;     Mark &lt;REGISTER&gt; as being preserved across
                              functions
  -fcall-used-&lt;REGISTER&gt;      Mark &lt;REGISTER&gt; as being corrupted by function
                              calls
  -fcaller-saves              Save registers around function calls
  -fcommon                    Do not put uninitialized globals in the common
                              section
  -fcprop-registers           Perform a register copy-propagation optimization
                              pass
  -fcrossjumping              Perform cross-jumping optimization
  -fcse-follow-jumps          When running CSE, follow jumps to their targets
  -fcse-skip-blocks           When running CSE, follow conditional jumps
  -fdata-sections             Place data items into their own section
  -fdefer-pop                 Defer popping functions args from stack until
                              later
  -fdelayed-branch            Attempt to fill delay slots of branch instructions
  -fdelete-null-pointer-checks Delete useless null pointer checks
  -fdiagnostics-show-location=[once|every-line] How often to emit source
                              location at the beginning of line-wrapped
                              diagnostics
  -fdump-unnumbered           Suppress output of instruction numbers and line
                              number notes in debugging dumps
  -feliminate-dwarf2-dups     Perform DWARF2 duplicate elimination
  -feliminate-unused-debug-symbols Perform unused type elimination in debug info
  -feliminate-unused-debug-types Perform unused type elimination in debug info
  -fexceptions                Enable exception handling
  -fexpensive-optimizations   Perform a number of minor, expensive optimizations
  -ffast-math                 This switch lacks documentation
  -ffinite-math-only          Assume no NaNs or infinities are generated
  -ffixed-&lt;REGISTER&gt;          Mark &lt;REGISTER&gt; as being unavailable to the
                              compiler
  -ffloat-store               Do not store floats in registers
  -fforce-addr                Copy memory address constants into registers
                              before use
  -fforce-mem                 Copy memory operands into registers before use
  -ffunction-cse              Allow function addresses to be held in registers
  -ffunction-sections         Place each function into its own section
  -fgcse                      Perform global common subexpression elimination
  -fgcse-las                  Perform redundant load after store elimination in
                              global common subexpression elimination
  -fgcse-lm                   Perform enhanced load motion during global common
                              subexpression elimination
  -fgcse-sm                   Perform store motion after global common
                              subexpression elimination
  -fguess-branch-probability  Enable guessing of branch probabilities
  -fident                     Process #ident directives
  -fif-conversion             Perform conversion of conditional jumps to
                              branchless equivalents
  -fif-conversion2            Perform conversion of conditional jumps to
                              conditional execution
  -finhibit-size-directive    Do not generate .size directives
  -finline                    Pay attention to the "inline" keyword
  -finline-functions          This switch lacks documentation
  -finline-limit-             This switch lacks documentation
  -finline-limit=&lt;NUMBER&gt;     Limit the size of inlined functions to &lt;NUMBER&gt;
  -finstrument-functions      Instrument function entry and exit with profiling
                              calls
  -fkeep-inline-functions     Generate code for functions even if they are
                              fully inlined
  -fkeep-static-consts        Emit static const variables even if they are not
                              used
  -fleading-underscore        Give external symbols a leading underscore
  -floop-optimize             Perform loop optimizations
  -fmath-errno                Set errno after built-in math functions
  -fmem-report                Report on permanent memory allocation
  -fmerge-all-constants       Attempt to merge identical constants and constant
                              variables
  -fmerge-constants           Attempt to merge identical constants across
                              compilation units
  -fmessage-length=&lt;NUMBER&gt;   Limit diagnostics to &lt;NUMBER&gt; characters per
                              line.  0 suppresses line-wrapping
  -fmove-all-movables         Force all loop invariant computations out of loops
  -fnew-ra                    Use graph-coloring register allocation
  -fnon-call-exceptions       Support synchronous non-call exceptions
  -fold-unroll-all-loops      Perform loop unrolling for all loops
  -fold-unroll-loops          Perform loop unrolling when iteration count is
                              known
  -fomit-frame-pointer        When possible do not generate stack frames
  -foptimize-register-move    Do the full register move optimization pass
  -foptimize-sibling-calls    Optimize sibling and tail recursive calls
  -fpack-struct               Pack structure members together without holes
  -fpcc-struct-return         Return small aggregates in memory, not registers
  -fpeel-loops                Perform loop peeling
  -fpeephole                  Enable machine specific peephole optimizations
  -fpeephole2                 Enable an RTL peephole pass before sched2
  -fpic                       Generate position-independent code if possible
  -fpie                       Generate position-independent code for
                              executables if possible
  -fprefetch-loop-arrays      Generate prefetch instructions, if available, for
                              arrays in loops
  -fprofile                   Enable basic program profiling code
  -fprofile-arcs              Insert arc-based program profiling code
  -fprofile-generate          Enable common options for generating profile info
                              for profile feedback directed optimizations
  -fprofile-use               Enable common options for performing profile
                              feedback directed optimizations
  -fprofile-values            Insert code to profile values of expressions
  -frandom-seed               This switch lacks documentation
  -frandom-seed=&lt;STRING&gt;      Make compile reproducible using &lt;STRING&gt;
  -freduce-all-givs           Strength reduce all loop general induction
                              variables
  -freg-struct-return         Return small aggregates in registers
  -fregmove                   Enables a register move optimization
  -frename-registers          Perform a register renaming optimization pass
  -freorder-blocks            Reorder basic blocks to improve code placement
  -freorder-functions         Reorder functions to improve code placement
  -frerun-cse-after-loop      Add a common subexpression elimination pass after
                              loop optimizations
  -frerun-loop-opt            Run the loop optimizer twice
  -frounding-math             Disable optimizations that assume default FP
                              rounding behavior
  -fsched-interblock          Enable scheduling across basic blocks
  -fsched-spec                Allow speculative motion of non-loads
  -fsched-spec-load           Allow speculative motion of some loads
  -fsched-spec-load-dangerous Allow speculative motion of more loads
  -fsched-stalled-insns       Allow premature scheduling of queued insns
  -fsched-stalled-insns-dep   Set dependence distance checking in premature
                              scheduling of queued insns
  -fsched-stalled-insns-dep=  -fsched-stalled-insns-dep=&lt;NUMBER&gt;   Set
                              dependence distance checking in premature
                              scheduling of queued insns
  -fsched-stalled-insns=      -fsched-stalled-insns=&lt;NUMBER&gt;       Set number
                              of queued insns that can be prematurely scheduled
  -fsched-verbose=&lt;NUMBER&gt;    Set the verbosity level of the scheduler
  -fsched2-use-superblocks    If scheduling post reload, do superblock
                              scheduling
  -fsched2-use-traces         If scheduling post reload, do trace scheduling
  -fschedule-insns            Reschedule instructions before register allocation
  -fschedule-insns2           Reschedule instructions after register allocation
  -fshared-data               Mark data as shared rather than private
  -fsignaling-nans            Disable optimizations observable by IEEE
                              signaling NaNs
  -fsingle-precision-constant Convert floating point constants to single
                              precision constants
  -fstack-check               Insert stack checking code into the program
  -fstack-limit               This switch lacks documentation
  -fstack-limit-register=&lt;REGISTER&gt; Trap if the stack goes past &lt;REGISTER&gt;
  -fstack-limit-symbol=&lt;NAME&gt; Trap if the stack goes past symbol &lt;NAME&gt;
  -fstrength-reduce           Perform strength reduction optimizations
  -fstrict-aliasing           Assume strict aliasing rules apply
  -fsyntax-only               Check for syntax errors, then stop
  -ftest-coverage             Create data files needed by "gcov"
  -fthread-jumps              Perform jump threading optimizations
  -ftime-report               Report the time taken by each compiler pass
  -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the
                              default thread-local storage code generation model
  -ftracer                    Perform superblock formation via tail duplication
  -ftrapping-math             Assume floating-point operations can trap
  -ftrapv                     Trap for signed overflow in addition, subtraction
                              and multiplication
  -funit-at-a-time            Compile whole compilation unit at a time
  -funroll-all-loops          Perform loop unrolling for all loops
  -funroll-loops              Perform loop unrolling when iteration count is
                              known
  -funsafe-math-optimizations Allow math optimizations that may violate IEEE or
                              ISO standards
  -funswitch-loops            Perform loop unswitching
  -funwind-tables             Just generate unwind tables for exception handling
  -fverbose-asm               Add extra commentary to assembler output
  -fvpt                       Use expression value profiles in optimizations
  -fweb                       Construct webs and split unrelated uses of single
                              variable
  -fwrapv                     Assume signed arithmetic overflow wraps around
  -fwritable-strings          Store strings in writable data section
  -fzero-initialized-in-bss   Put zero initialized data in the bss section
  -g                          Generate debug information in default format
  -gcoff                      Generate debug information in COFF format
  -gdwarf-2                   Generate debug information in DWARF v2 format
  -ggdb                       Generate debug information in default extended
                              format
  -gstabs                     Generate debug information in STABS format
  -gstabs+                    Generate debug information in extended STABS
                              format
  -gvms                       Generate debug information in VMS format
  -gxcoff                     Generate debug information in XCOFF format
  -gxcoff+                    Generate debug information in extended XCOFF
                              format
  -m                          This switch lacks documentation
  -o &lt;FILE&gt;                   Place output into &lt;FILE&gt;
  -p                          Enable function profiling
  -pedantic                   Issue warnings needed for strict compliance to
                              the standard
  -pedantic-errors            Like -pedantic but issue them as errors
  -quiet                      Do not display functions compiled or elapsed time
  -version                    This switch lacks documentation
  -w                          Suppress warnings&lt;/FILE&gt;&lt;/FILE&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/REGISTER&gt;&lt;/REGISTER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/STRING&gt;&lt;/STRING&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/REGISTER&gt;&lt;/REGISTER&gt;&lt;/REGISTER&gt;&lt;/REGISTER&gt;&lt;/REGISTER&gt;&lt;/REGISTER&gt;&lt;/FILE&gt;&lt;/LETTERS&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/NUMBER&gt;&lt;/VALUE&gt;&lt;/OBJECT&gt;</description>
    <pubDate>Wed, 10 Aug 2016 17:04:11 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2016-08-10T17:04:11Z</dc:date>
    <item>
      <title>*** Evolution of Command Line options of different C++ compilers ***</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102795#M69352</link>
      <description>&lt;STRONG&gt;*** Evolution of Command Line options of different C++ compilers ***&lt;/STRONG&gt;

&lt;STRONG&gt;[  Abstract ]&lt;/STRONG&gt;

Technical details on &lt;STRONG&gt;Evolution of Command Line options&lt;/STRONG&gt; of different C++ compilers, more than 10, will be provided.</description>
      <pubDate>Fri, 05 Aug 2016 18:40:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102795#M69352</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-05T18:40:56Z</dc:date>
    </item>
    <item>
      <title>[ Abstract ]</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102796#M69353</link>
      <description>I hope that the thread will be an invaluable source for software engineers, developers, researches on command line options of different C++ compilers.</description>
      <pubDate>Mon, 08 Aug 2016 17:15:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102796#M69353</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:15:00Z</dc:date>
    </item>
    <item>
      <title>Borland C++ 5.5.1 for Win32</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102797#M69354</link>
      <description>&lt;STRONG&gt;Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland&lt;/STRONG&gt;

Syntax is: BCC32 [ options ] file&lt;S&gt;     * = default; -x- = turn switch x off

  -3    * 80386 Instructions                  -4      80486 Instructions
  -5      Pentium Instructions               -6      Pentium Pro Instructions
  -Ax     Disable extensions                -B      Compile via assembly
  -C      Allow nested comments         -Dxxx   Define macro
  -Exxx   Alternate Assembler name  -Hxxx   Use pre-compiled headers
  -Ixxx   Include files directory            -K      Default char is unsigned
  -Lxxx   Libraries directory                -M      Generate link map
  -N      Check stack overflow            -Ox     Optimizations
  -P      Force C++ compile                -R      Produce browser info
  -RT   * Generate RTTI                     -S      Produce assembly output
  -Txxx   Set assembler option          -Uxxx   Undefine macro
  -Vx     Virtual table control               -X      Suppress autodep. output
  -aN     Align on N bytes                   -b    * Treat enums as integers
  -c      Compile only                          -d      Merge duplicate strings
  -exxx   Executable file name           -fxx    Floating point options
  -gN     Stop after N warnings           -iN     Max. identifier length
  -jN     Stop after N errors                 -k    * Standard stack frame
  -lx     Set linker option                      -nxxx   Output file directory
  -oxxx   Object file name                   -p      Pascal calls
  -tWxxx  Create Windows app          -u    * Underscores on externs
  -v      Source level debugging          -wxxx   Warning control
  -xxxx   Exception handling               -y      Produce line number info
  -zxxx   Set segment names&lt;/S&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:21:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102797#M69354</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:21:51Z</dc:date>
    </item>
    <item>
      <title>Icl v07.x.x 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102798#M69355</link>
      <description>&lt;STRONG&gt;Icl v07.x.x 32-bit Options&lt;/STRONG&gt;

                      Intel(R) C++ Compiler Help
                      ==========================

usage: icl [options] file1 [file2 ...] [/link linker_options]

  where options represents zero or more compiler options

        fileN is a C/C++ source (.c .cc .cpp .cxx .i), assembly (.asm),
            object (.obj), static library (.lib), or other linkable file

        linker_options represents zero or more linker options

Notes
-----
1. Most Microsoft* Visual C++* compiler options are supported; a warning is
   printed for most unsupported options.  The precise behavior of performance
   options does not always match that of the Microsoft Visual C++ compiler.

2. Intel C++ compiler options may be placed in your icl.cfg file.

3. Most options beginning with /Q are specific to the Intel C++ compiler:
   (*I) indicates other options specific to the Intel C++ compiler
   (*M) indicates /Q options supported by the Microsoft Visual C++ compiler

                       Compiler Option List
                       --------------------
Performance
-----------
/O1    optimize for maximum speed, but disable some optimizations which
       increase code size for a small speed benefit: /Gfsy /Ob1gysi-
/O2    optimize for maximum speed (DEFAULT):         /Gfsy /Ob1gyti
/O3    optimize for maximum speed and enable high-level optimizations
/Ox    enable maximum optimizations: /Gs /Ob1gyti (same as /O2 without /Gfy)
/Od    disable optimizations; useful for selective optimizations (i.e. /Od /Og)

/Ob&lt;N&gt; 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 /Qip)
/Og    enable global optimizations
/Oi[-] enable/disable inline expansion of intrinsic functions
/Op[-] enable/disable better floating-point precision
/Os    enable speed optimizations, but disable some optimizations which
       increase code size for small speed benefit (overrides /Ot)
/Ot    enable speed optimizations (overrides /Os)
/Oy[-] enable/disable using EBP as general purpose register (no frame pointer)
/Oa[-] assume no aliasing in program
/Ow[-] assume no aliasing within functions, but assume aliasing across calls

/G5  optimize for Pentium(R) processor
/G6  optimize for Pentium(R) Pro, Pentium(R) II, and Pentium(R) III 
     processors
/G7  optimize for Pentium(R) 4 processor (DEFAULT)
/GB  same as /G6
/Qax&lt;CODES&gt; generate code specialized for processor extensions specified by
            &lt;CODES&gt; while also generating generic IA-32 code.  &lt;CODES&gt; 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
/Qx&lt;CODES&gt;  generate specialized code to run exclusively on processors
            supporting the extensions indicated by &lt;CODES&gt; as described above.
/arch:{SSE|SSE2}
     same as /QxK and /QxW respectively

/GR[-] enable/disable C++ RTTI
/GX[-] enable/disable C++ exception handling (/GX is same as /EHsc)
/EHa   enable asynchronous C++ exception handling model
/EHs   enable synchronous C++ exception handling model
/EHc   assume extern "C" functions do not throw exceptions

/Gd    make __cdecl the default calling convention
/Gr    make __fastcall the default calling convention
/Gz    make __stdcall the default calling convention

/Ge    enable stack checks for all functions
/Gs&lt;N&gt; disable stack checks for functions with less than n bytes of locals
/Gf    enable string pooling optimization
/GF    enable read-only string pooling optimization
/Gy    separate functions for the linker (COMDAT)
/GA    optimize for Windows application (assume single-threaded app)
/GS    enable overflow security checks
/GT    enable fiber-safe thread local storage

Advanced Performance
--------------------
Enable and specify the scope of Interprocedural (IP) Optimizations:
/Qip     enable single-file IP optimizations (within files, same as /Ob2)
/Qipo    enable multi-file IP optimizations (between files)
/Qipo_c  generate a multi-file object file (ipo_out.obj)
/Qipo_S  generate a multi-file assembly file (ipo_out.asm)

Modify the behavior of IP:
/Qip_no_inlining    disable full and partial inlining (requires /Qip or /Qipo)
/Qip_no_pinlining   disable partial inlining (requires /Qip or /Qipo)
/Qipo_obj           force generation of real object files (requires /Qipo)

Other Advanced Performance Options:
/Qunroll&lt;N&gt;      set maximum number of times to unroll loops.  Omit n to use
                 default heuristics.  Use n=0 to disable loop unroller.

/Qprof_dir &lt;D&gt;   specify directory for profiling output files (*.dyn and *.dpi)
/Qprof_file &lt;F&gt;  specify file name for profiling summary file
/Qprof_gen&lt;X&gt;    instrument program for profiling; with the x qualifier, extra
                 information is gathered for use with the PROFORDER tool
/Qprof_use       enable use of profiling information during optimization
/Qfnsplit[-]     enable/disable function splitting (enabled with /Qprof_use)

/Qpc32      set internal FPU precision to 24 bit significand
/Qpc64      set internal FPU precision to 53 bit significand (DEFAULT)
/Qpc80      set internal FPU precision to 64 bit significand
/QIfist[-]  enable/disable(DEFAULT) fast float-to-int conversions (*M)
/Qrcd       same as /QIfist
/Qprec      improve floating-point precision (speed impact less than /Op)
/Qprec_div  improve precision of FP divides (some speed impact)
/Qfp_port   round fp results at assignments &amp;amp; casts (some speed impact)
/Qsfalign8  may align stack for functions with 8 or 16 byte vars (DEFAULT)
/Qsfalign16 may align stack for functions with 16 byte vars
/Qsfalign   force stack alignment for all functions
/Qsfalign-  disable stack alignment for all functions
/Gh         call __penter in function prolog; for custom user profiling

/Qvec_report&lt;N&gt;  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

/Qopt_report               generate an optimization report to stderr
/Qopt_report_file&lt;FILE&gt;    specify the filename for the generated report
/Qopt_report_level[level]  specify the level of report verbosity (min|med|max)
/Qopt_report_phase&lt;NAME&gt;   specify the phase that reports are generated against
/Qopt_report_routine&lt;NAME&gt; reports on routines containing the given name
/Qopt_report_help          display the optimization phases available for 
                           reporting

/Qtcheck               generate instrumentation to detect multi-threading bugs
                       (requires Intel(R) Threading Tools; cannot be used with
                       compiler alone)
/Qopenmp               enable the compiler to generate multi-threaded code
                       based on the OpenMP directives
/Qopenmp_profile       link with instrumented OpenMP runtime library to
                       generate OpenMP profiling information for use with the
                       OpenMP component of the VTune(TM) Performance Analyzer
/Qopenmp_stubs         enables the user to compile OpenMP programs in
                       sequential mode.  The openmp directives are ignored and
                       a stub OpenMP library is linked (sequential)
/Qopenmp_report{0|1|2} control the OpenMP parallelizer diagnostic level

/Qparallel             enable the auto-parallelizer to generate multi-threaded
                       code for loops that can be safely executed in parallel
/Qpar_report{0|1|2|3}  control the auto-parallelizer diagnostic level
/Qpar_threshold&lt;N&gt;     set threshold for the auto-parallelization of loops
                       where n is an integer from 0 to 100

/Qansi_alias[-]        enable/disable(DEFAULT) use of ANSI aliasing rules in
                       optimizations; user asserts that the program adheres to
                       these rules

/Qcomplex_limited_range[-] enable/disable(DEFAULT) the use of the basic
                       algebraic expansions of some complex arithmetic
                       operations.  This can allow for some performance
                       improvement in programs which use a lot of complex
                       arithmetic at the loss of some exponent range.

Output, Debug, PCH
------------------
/c         compile to object (.obj) only, do not link
/S         compile to assembly (.asm) only, do not link (*I)
/FA[cs]    produce assembly file with optional code or source annotations
/Fa[file]  name assembly file (or directory for multiple files; i.e. /FaMYDIR\)
/Fo[file]  name object file (or directory for multiple files; i.e. /FoMYDIR2\)
/Fe&lt;FILE&gt;  name executable file or directory
/Fm[file]  name map file or directory
/Fp[file]  name precompiled header file
/Yc[hfile] create precompiled header file
/Yu[hfile] use precompiled header file
/YX        enable automatic precompiled header file creation/usage
/Y-        ignore all other precompiled header file options
/Qpchi[-]  enable(DEFAULT)/disable PCH coexistence, to reduce build time
/Qpch_compress specify compression of PCH files
/Qpch_mem&lt;N&gt; preallocate &lt;N&gt; megabytes of memory for PCH creation
/FD        generate file dependencies
/Fr[file]  name source browser file (excludes local variable info)
/FR[file]  name extended source browser file
/Quse_asm[-] enable/disable(DEFAULT) use of assembler to produce object files
/GZ        detect "release build" runtime errors in "debug build" code
/RTC1      equivalent to /GZ or /RTCsu
/RTCs      enable stack frame runtime checks
/RTCu      report use of variable that was not initialized
/Zd        produce line number information in object file
/Zi, /Z7   produce symbolic debug information in object file
/ZI        same as /Zi
/Qinline_debug_info preserve the source position of inlined code instead
           of assigning the call-site source position to inlined code

Preprocessor
------------
/C         don't strip comments
/D&lt;NAME&gt;[{=|#}&lt;TEXT&gt;]  define macro
/QA&lt;NAME&gt;[(val)]       create an assertion 'name' having value 'val'
/QA[-]     remove all predefined macros
/E         preprocess to stdout
/EP        preprocess to stdout, omitting #line directives
/EP /P     preprocess to file, omitting #line directives
/P         preprocess to file
/FI&lt;FILE&gt;  force inclusion of file
/I&lt;DIR&gt;    add directory to include file search path
/QH        print include file order
/QM        generate makefile include dependencies; don't compile
/QMM       similar to /QM, but do not include system header files
/QMG       similar to /QM, but treat missing header files as generated files
/QMD       preprocess and compile, generating output file containing
           dependency information ending with extension .d
/QMMD      similar to /QMD, but do not include system header files
/QMF&lt;FILE&gt; generate makefile dependency information in file (must specify /QM
           or /QMM)
/QMX       generate dependency file ending with extension .o.dep containing
           information used for the Intel wb tool
/QdM       output macro definitions in effect after preprocessing (use with -E)
/U&lt;NAME&gt;   remove predefined macro
/u         remove all predefined macros
/X         remove standard directories from include file search path

Component Control
-----------------
/Qoption,&lt;STR&gt;,&lt;OPTS&gt;   pass options &lt;OPTS&gt; to tool specified by &lt;STR&gt;
/Qlocation,&lt;STR&gt;,&lt;DIR&gt;  set &lt;DIR&gt; as the location of tool specified by &lt;STR&gt;

Language
--------
/J         change default char type to unsigned
/noBool    disable 'bool' keyword
/Qc99[-]   enable/disable(default) C99 support for C programs
/Qms       allow compilation of certain dubious sources
/Qmspp[-]  enable(DEFAULT)/disable Microsoft Visual C++ 6.0 Processor Pack
           binary compatibility
/Qvc5      enable Visual C++ 5.0 compatibility
/Qvc6      enable Visual C++ 6.0 compatibility (DEFAULT)
/Qvc7      enable Visual Studio .NET 2002 compatibility
/Qvc7.1    enable Visual Studio .NET 2003 compatibility
/Qrestrict[-] enable/disable the 'restrict' keyword for disambiguating pointers
/Za        disable Microsoft Visual C++ compiler language extensions
/Ze        enable Microsoft Visual C++ compiler language extensions (DEFAULT)
/Zg        enable the generation of function prototypes
/Zp&lt;N&gt;     specify alignment constraint for structures (n=1,2,4,8,16)
/Zs        check source syntax only, do not compile
/Zc:arg1[,arg2] specify standard conformance for the following arguments:
                forScope  enforce standard behavior for initializers of for
                          loops
                wchar_t   specify that wchar_t is a native data type

/vd{0|1}   disable or enable hidden vtordisp field in C++ objects
/vm&lt;X&gt;     specify representation method for C++ pointers to members

Compiler Diagnostics
--------------------
/w             disable all warnings
/W0            print only errors
/W1, /W2, /W3  print only errors and warnings (DEFAULT)
/W4, /Wall     print errors, warnings, and remarks
/WX            force warnings to be reported as errors
/Wport         issue portability diagnostics
/Qwn&lt;N&gt;        print a maximum of n errors
/Qwd&lt;L1&gt;[,&lt;L2&gt;,...] disable diagnostics L1 through LN
/Qwe&lt;L1&gt;[,&lt;L2&gt;,...] change severity of diagnostics L1 through LN to error
/Qww&lt;L1&gt;[,&lt;L2&gt;,...] change severity of diagnostics L1 through LN to warning
/Qwr&lt;L1&gt;[,&lt;L2&gt;,...] change severity of diagnostics L1 through LN to remark

Miscellaneous
-------------
/?, /help     print this help message
/H&lt;N&gt;         limit length of external symbols to n characters
/nologo       do not display compiler version information
/Tc&lt;FILE&gt;     compile file as C source
/Tp&lt;FILE&gt;     compile file as C++ source
/TC           compile all source or unrecognized file types as C source files
/TP           compile all source or unrecognized file types as C++ source files
/V&lt;TEXT&gt;      embed version text in executable
/Qsox[-]      enable/disable(DEFAULT) saving of compiler options and version
              in the executable
/Qlong_double enable 80-bit 'long double'
/Qnobss_init  disable placement of zero-initialized variables in BSS (use DATA)
/QI0f[-]      enable/disable patch for Pentium processor 0f erratum (*M)

Linking/Linker
--------------
/link      specify that all following options are for the linker
/F&lt;N&gt;      set the stack reserve amount specified to the linker
/LD, /LDd  produce a DLL instead of an EXE ('d' = debug version)
/MD, /MDd  use dynamically-loaded, multithread C runtime
/ML, /MLd  use statically-loaded, single thread C runtime (/ML is DEFAULT)
/MT, /MTd  use statically-loaded, multithread C runtime
/Zl        omit library names from object file

Copyright (C) 1985-2004, Intel Corporation.  All rights reserved.

* Other brands and names are the property of their respective owners.&lt;/N&gt;&lt;/TEXT&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/N&gt;&lt;/X&gt;&lt;/N&gt;&lt;/STR&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/STR&gt;&lt;/STR&gt;&lt;/OPTS&gt;&lt;/OPTS&gt;&lt;/STR&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/NAME&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/N&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/X&gt;&lt;/F&gt;&lt;/D&gt;&lt;/N&gt;&lt;/N&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:25:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102798#M69355</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:25:00Z</dc:date>
    </item>
    <item>
      <title>Icl v08.x.x 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102799#M69356</link>
      <description>&lt;STRONG&gt;Icl v08.x.x 32-bit Options&lt;/STRONG&gt;

                      Intel(R) C++ Compiler Help
                      ==========================

usage: icl [options] file1 [file2 ...] [/link linker_options]

  where options represents zero or more compiler options

        fileN is a C/C++ source (.c .cc .cpp .cxx .i), assembly (.asm),
            object (.obj), static library (.lib), or other linkable file

        linker_options represents zero or more linker options

Notes
-----
1. Most Microsoft* Visual C++* compiler options are supported; a warning is
   printed for most unsupported options.  The precise behavior of performance
   options does not always match that of the Microsoft Visual C++ compiler.

2. Intel C++ compiler options may be placed in your icl.cfg file.

3. Most options beginning with /Q are specific to the Intel C++ compiler:
   (*I) indicates other options specific to the Intel C++ compiler
   (*M) indicates /Q options supported by the Microsoft Visual C++ compiler

                       Compiler Option List
                       --------------------
Performance
-----------
/O1    optimize for maximum speed, but disable some optimizations which
       increase code size for a small speed benefit: /Gfsy /Ob1gysi-
/O2    optimize for maximum speed (DEFAULT):         /Gfsy /Ob1gyti
/O3    optimize for maximum speed and enable high-level optimizations
/Ox    enable maximum optimizations: /Gs /Ob1gyti (same as /O2 without /Gfy)
/Od    disable optimizations; useful for selective optimizations (i.e. /Od /Og)

/fast  enable /QxP /O3 /Qipo
/Ob&lt;N&gt; 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 /Qip)
/Og    enable global optimizations
/Oi[-] enable/disable inline expansion of intrinsic functions
/Op[-] enable/disable better floating-point precision
/Os    enable speed optimizations, but disable some optimizations which
       increase code size for small speed benefit (overrides /Ot)
/Ot    enable speed optimizations (overrides /Os)
/Oy[-] enable/disable using EBP as general purpose register (no frame pointer)
/Oa[-] assume no aliasing in program
/Ow[-] assume no aliasing within functions, but assume aliasing across calls

/G5  optimize for Pentium(R) processor
/G6  optimize for Pentium(R) Pro, Pentium(R) II, and Pentium(R) III 
     processors
/G7  optimize for Pentium(R) 4 processor (DEFAULT)
/GB  same as /G6
/Qax&lt;CODES&gt; generate code specialized for processors specified by &lt;CODES&gt;
            while also generating generic IA-32 code.  &lt;CODES&gt; includes
            one or more of the following characters:
    K  Intel Pentium III and compatible Intel processors
    W  Intel Pentium 4 and compatible Intel processors
    N  Intel Pentium 4 and compatible Intel processors
    P  Intel Pentium 4 processors with SSE3 extensions
    B  Intel Pentium M and compatible Intel processors
/Qx&lt;CODES&gt;  generate specialized code to run exclusively on processors
            indicated by &lt;CODES&gt; as described above.
/arch:{SSE|SSE2}
     same as /QxK and /QxW respectively

/GR[-] enable/disable C++ RTTI
/GX[-] enable/disable C++ exception handling (/GX is same as /EHsc)
/Qcxx_features
       enable standard C++ features (-GX -GR)
/EHa   enable asynchronous C++ exception handling model
/EHs   enable synchronous C++ exception handling model
/EHc   assume extern "C" functions do not throw exceptions

/Gd    make __cdecl the default calling convention
/Gr    make __fastcall the default calling convention
/Gz    make __stdcall the default calling convention

/Ge    enable stack checks for all functions
/Gs&lt;N&gt; disable stack checks for functions with less than n bytes of locals
/Gf    enable string pooling optimization
/GF    enable read-only string pooling optimization
/Gy    separate functions for the linker (COMDAT)
/GA    optimize for Windows application (assume .exe)
/GS[-] enable/disable(DEFAULT) overflow security checks
/GT    enable fiber-safe thread local storage

Advanced Performance
--------------------
Enable and specify the scope of Interprocedural (IP) Optimizations:
/Qip     enable single-file IP optimizations (within files, same as /Ob2)
/Qipo&lt;N&gt; enable multi-file IP optimizations (between files)
/Qipo_c  generate a multi-file object file (ipo_out.obj)
/Qipo_S  generate a multi-file assembly file (ipo_out.asm)

Modify the behavior of IP:
/Qip_no_inlining    disable full and partial inlining (requires /Qip or /Qipo)
/Qip_no_pinlining   disable partial inlining (requires /Qip or /Qipo)
/Qipo_obj           force generation of real object files (requires /Qipo)
/Qipo_separate      create one object file for every source file 
                    (overrides /Qipo&lt;N&gt;)

Other Advanced Performance Options:
/Qunroll&lt;N&gt;      set maximum number of times to unroll loops.  Omit n to use
                 default heuristics.  Use n=0 to disable loop unroller.

/Qprof_dir &lt;D&gt;   specify directory for profiling output files (*.dyn and *.dpi)
/Qprof_file &lt;F&gt;  specify file name for profiling summary file
/Qprof_gen&lt;X&gt;    instrument program for profiling; with the x qualifier, extra
                 information is gathered for use with the PROFORDER tool
/Qprof_use       enable use of profiling information during optimization
/Qfnsplit[-]     enable/disable function splitting (enabled with /Qprof_use)

/Qpc32      set internal FPU precision to 24 bit significand
/Qpc64      set internal FPU precision to 53 bit significand (DEFAULT)
/Qpc80      set internal FPU precision to 64 bit significand
/QIfist[-]  enable/disable(DEFAULT) fast float-to-int conversions (*M)
/Qrcd       same as /QIfist
/Qprec      improve floating-point precision (speed impact less than /Op)
/Qprec_div  improve precision of FP divides (some speed impact)
/Qfp_port   round fp results at assignments &amp;amp; casts (some speed impact)
/Qfpstkchk  enable fp stack checking after every function/procedure call
/Qsfalign8  may align stack for functions with 8 or 16 byte vars (DEFAULT)
/Qsfalign16 may align stack for functions with 16 byte vars
/Qsfalign   force stack alignment for all functions
/Qsfalign-  disable stack alignment for all functions
/Gh         call __penter in function prolog; for custom user profiling
/GH         call __pexit in function epilog; for custom user profiling

/Qprefetch[-]    enable(DEFAULT)/disable prefetch insertion

/Qvec_report&lt;N&gt;  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

/Qopt_report               generate an optimization report to stderr
/Qopt_report_file&lt;FILE&gt;    specify the filename for the generated report
/Qopt_report_level[level]  specify the level of report verbosity (min|med|max)
/Qopt_report_phase&lt;NAME&gt;   specify the phase that reports are generated against
/Qopt_report_routine&lt;NAME&gt; reports on routines containing the given name
/Qopt_report_help          display the optimization phases available for 
                           reporting

/Qtcheck               generate instrumentation to detect multi-threading bugs
                       (requires Intel(R) Threading Tools; cannot be used with
                       compiler alone)
/Qopenmp               enable the compiler to generate multi-threaded code
                       based on the OpenMP directives
/Qopenmp_profile       link with instrumented OpenMP runtime library to
                       generate OpenMP profiling information for use with the
                       OpenMP component of the VTune(TM) Performance Analyzer
/Qopenmp_stubs         enables the user to compile OpenMP programs in
                       sequential mode.  The openmp directives are ignored and
                       a stub OpenMP library is linked (sequential)
/Qopenmp_report{0|1|2} control the OpenMP parallelizer diagnostic level

/Qparallel             enable the auto-parallelizer to generate multi-threaded
                       code for loops that can be safely executed in parallel
/Qpar_report{0|1|2|3}  control the auto-parallelizer diagnostic level
/Qpar_threshold&lt;N&gt;     set threshold for the auto-parallelization of loops
                       where n is an integer from 0 to 100

/Qalias_args[-]        enable(DEFAULT)/disable C/C++ rule that function
                       arguments may be aliased; when disabling the rule, the
                       user asserts that this is safe
/Qansi_alias[-]        enable/disable(DEFAULT) use of ANSI aliasing rules in
                       optimizations; user asserts that the program adheres to
                       these rules

/Qcomplex_limited_range[-] enable/disable(DEFAULT) the use of the basic
                       algebraic expansions of some complex arithmetic
                       operations.  This can allow for some performance
                       improvement in programs which use a lot of complex
                       arithmetic at the loss of some exponent range.

Output, Debug, PCH
------------------
/c         compile to object (.obj) only, do not link
/S         compile to assembly (.asm) only, do not link (*I)
/FA[cs]    produce assembly file with optional code or source annotations
/Fa[file]  name assembly file (or directory for multiple files; i.e. /FaMYDIR\)
/Fo[file]  name object file (or directory for multiple files; i.e. /FoMYDIR2\)
/Fe&lt;FILE&gt;  name executable file or directory
/Fm[file]  name map file or directory
/Fp[file]  name precompiled header file
/Yc[hfile] create precompiled header file
/Yu[hfile] use precompiled header file
/YX        enable automatic precompiled header file creation/usage
/Y-        ignore all other precompiled header file options
/Qpchi[-]  enable(DEFAULT)/disable PCH coexistence, to reduce build time
/FD        generate file dependencies
/Fr[file]  name source browser file (excludes local variable info)
/FR[file]  name extended source browser file
/Quse_asm[-] enable/disable(DEFAULT) use of assembler to produce object files
/GZ        detect "release build" runtime errors in "debug build" code
/RTC1      equivalent to /GZ or /RTCsu
/RTCs      enable stack frame runtime checks
/RTCu      report use of variable that was not initialized
/Zd        produce line number information in object file
/Zi, /Z7   produce symbolic debug information in object file
/ZI        same as /Zi
/Qinline_debug_info preserve the source position of inlined code instead
           of assigning the call-site source position to inlined code

Preprocessor
------------
/C         don't strip comments
/D&lt;NAME&gt;[{=|#}&lt;TEXT&gt;]  define macro
/QA&lt;NAME&gt;[(val)]       create an assertion 'name' having value 'val'
/QA[-]     remove all predefined macros
/E         preprocess to stdout
/EP        preprocess to stdout, omitting #line directives
/EP /P     preprocess to file, omitting #line directives
/P         preprocess to file
/FI&lt;FILE&gt;  force inclusion of file
/I&lt;DIR&gt;    add directory to include file search path
/QH        print include file order
/QM        generate makefile include dependencies; don't compile
/QMM       similar to /QM, but do not include system header files
/QMG       similar to /QM, but treat missing header files as generated files
/QMD       preprocess and compile, generating output file containing
           dependency information ending with extension .d
/QMMD      similar to /QMD, but do not include system header files
/QMF&lt;FILE&gt; generate makefile dependency information in file (must specify /QM
           or /QMM)
/QMT&lt;TARGET&gt;
           change the default target rule for dependency generation
/QdM       output macro definitions in effect after preprocessing (use with -E)
/U&lt;NAME&gt;   remove predefined macro
/u         remove all predefined macros
/X         remove standard directories from include file search path

Component Control
-----------------
/Qoption,&lt;STR&gt;,&lt;OPTS&gt;   pass options &lt;OPTS&gt; to tool specified by &lt;STR&gt;
/Qlocation,&lt;STR&gt;,&lt;DIR&gt;  set &lt;DIR&gt; as the location of tool specified by &lt;STR&gt;

Language
--------
/J         change default char type to unsigned
/noBool    disable 'bool' keyword
/Qc99[-]   enable/disable(default) C99 support for C programs
/Qms&lt;N&gt;    allow compilation of certain dubious sources
           n=0  disable Microsoft compatibility bugs
           n=1  enable most Microsoft compatibilities (DEFAULT)
           n=2  full Microsoft compatibility
/Qmspp[-]  enable(DEFAULT)/disable Microsoft Visual C++ 6.0 Processor Pack
           binary compatibility
/Qvc6      enable Visual C++ 6.0 compatibility (DEFAULT)
/Qvc7      enable Visual Studio .NET 2002 compatibility
/Qvc7.1    enable Visual Studio .NET 2003 compatibility
/Qrestrict[-] enable/disable the 'restrict' keyword for disambiguating pointers
/Za        disable Microsoft Visual C++ compiler language extensions
/Ze        enable Microsoft Visual C++ compiler language extensions (DEFAULT)
/Zg        enable the generation of function prototypes
/Zp&lt;N&gt;     specify alignment constraint for structures (n=1,2,4,8,16)
/Zs        check source syntax only, do not compile
/Zc:arg1[,arg2] specify standard conformance for the following arguments:
                forScope  enforce standard behavior for initializers of for
                          loops
                wchar_t   specify that wchar_t is a native data type

/vd{0|1}   disable or enable hidden vtordisp field in C++ objects
/vm&lt;X&gt;     specify representation method for C++ pointers to members

Compiler Diagnostics
--------------------
/w             disable all warnings
/W0            print only errors
/W1, /W2, /W3  print only errors and warnings (DEFAULT)
/W4, /Wall     print errors, warnings, and remarks
/WL            print brief one-line diagnostics
/WX            force warnings to be reported as errors
/Wcheck        enable more strict diagnostics
/Wport         issue portability diagnostics
/Qwn&lt;N&gt;        print a maximum of n errors
/Qwd&lt;L1&gt;[,&lt;L2&gt;,...] disable diagnostics L1 through LN
/Qwe&lt;L1&gt;[,&lt;L2&gt;,...] change severity of diagnostics L1 through LN to error
/Qww&lt;L1&gt;[,&lt;L2&gt;,...] change severity of diagnostics L1 through LN to warning
/Qwr&lt;L1&gt;[,&lt;L2&gt;,...] change severity of diagnostics L1 through LN to remark

Miscellaneous
-------------
/?, /help     print this help message
/H&lt;N&gt;         limit length of external symbols to n characters
/nologo       do not display compiler version information
/Tc&lt;FILE&gt;     compile file as C source
/Tp&lt;FILE&gt;     compile file as C++ source
/TC           compile all source or unrecognized file types as C source files
/TP           compile all source or unrecognized file types as C++ source files
/V&lt;TEXT&gt;      embed version text in executable
/Qsox[-]      enable/disable(DEFAULT) saving of compiler options and version
              in the executable
/Qlong_double enable 80-bit 'long double'
/Qnobss_init  disable placement of zero-initialized variables in BSS (use DATA)
/Qglobal-hoist[-]
              enable(DEFAULT)/disable external globals are load safe
/showIncludes emit include file names

Linking/Linker
--------------
/link      specify that all following options are for the linker
/F&lt;N&gt;      set the stack reserve amount specified to the linker
/LD, /LDd  produce a DLL instead of an EXE ('d' = debug version)
/MD, /MDd  use dynamically-loaded, multithread C runtime
/ML, /MLd  use statically-loaded, single thread C runtime (/ML is DEFAULT)
/MT, /MTd  use statically-loaded, multithread C runtime
/Zl        omit library names from object file

Copyright (C) 1985-2005, Intel Corporation.  All rights reserved.

* Other brands and names are the property of their respective owners.&lt;/N&gt;&lt;/TEXT&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/N&gt;&lt;/X&gt;&lt;/N&gt;&lt;/N&gt;&lt;/STR&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/STR&gt;&lt;/STR&gt;&lt;/OPTS&gt;&lt;/OPTS&gt;&lt;/STR&gt;&lt;/NAME&gt;&lt;/TARGET&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/NAME&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/X&gt;&lt;/F&gt;&lt;/D&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:27:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102799#M69356</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:27:41Z</dc:date>
    </item>
    <item>
      <title>Icl v12.1.x 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102800#M69357</link>
      <description>&lt;STRONG&gt;Icl v12.1.x 32-bit Options&lt;/STRONG&gt;

                          Intel(R) C++ Compiler Help
                          ==========================

  Intel(R) Compiler includes compiler options that optimize for instruction
  sets that are available in both Intel(R) and non-Intel microprocessors, but
  may perform additional optimizations for Intel microprocessors than for
  non-Intel microprocessors.  In addition, certain compiler options for
  Intel(R) Compiler are reserved for Intel microprocessors.  For a detailed
  description of these compiler options, including the instructions they
  implicate, please refer to "Intel(R) Compiler User and Reference Guides &amp;gt;
  Compiler Options."

  usage: icl [options] file1 [file2 ...] [/link linker_options]

     where options represents zero or more compiler options

     fileN is a C/C++ source (.c .cc .cpp .cxx .i), assembly (.asm),
     object (.obj), static library (.lib), or other linkable file
     linker_options represents zero or more linker options

Notes
-----
1. Most Microsoft* Visual C++* compiler options are supported; a warning is
   printed for most unsupported options.  The precise behavior of performance
   options does not always match that of the Microsoft Visual C++ compiler.

2. Intel C++ compiler options may be placed in your icl.cfg file.

3. Most options beginning with /Q are specific to the Intel C++ compiler:
   (*I) indicates other options specific to the Intel C++ compiler
   (*M) indicates /Q options supported by the Microsoft Visual C++ compiler

                             Compiler Option List
                             --------------------

Optimization
------------

/O1       optimize for maximum speed, but disable some optimizations which
          increase code size for a small speed benefit
/O2       optimize for maximum speed (DEFAULT)
/O3       optimize for maximum speed and enable more aggressive optimizations
          that may not improve performance on some programs
/Ox       enable maximum optimizations (same as /O2)
/Os       enable speed optimizations, but disable some optimizations which
          increase code size for small speed benefit (overrides /Ot)
/Ot       enable speed optimizations (overrides /Os)
/Od       disable optimizations
/Oi[-]    enable/disable inline expansion of intrinsic functions
/Oy[-]    enable/disable using EBP as a general purpose register (no frame
          pointer) (i32 only)
/fast     enable /QxHOST /O3 /Qipo /Qprec-div-
          options set by /fast cannot be overridden with the exception of
          /QxHOST, list options separately to change behavior
/Oa[-]    assume no aliasing in program
/Ow[-]    assume no aliasing within functions, but assume aliasing across calls

Code Generation
---------------

/Qx&lt;CODE&gt;
          generate specialized code to run exclusively on processors
          indicated by &lt;CODE&gt; as described below
            SSE2    May generate Intel(R) SSE2 and SSE instructions for Intel
                    processors.  Optimizes for the Intel NetBurst(R)
                    microarchitecture.
            SSE3    May generate Intel(R) SSE3, SSE2, and SSE instructions for
                    Intel processors.  Optimizes for the enhanced Pentium(R) M 
                    processor microarchitecture and Intel NetBurst(R)
                    microarchitecture. 
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors.  Optimizes for the
                    Intel(R) Core(TM) microarchitecture.
            SSE4.1  May generate Intel(R) SSE4 Vectorizing Compiler and Media
                    Accelerator instructions for Intel processors.  May 
                    generate Intel(R) SSSE3, SSE3, SSE2, and SSE instructions
                    and it may optimize for Intel(R) 45nm Hi-k next generation
                    Intel Core(TM) microarchitecture.
            SSE4.2  May generate Intel(R) SSE4 Efficient Accelerated String
                    and Text Processing instructions supported by Intel(R)
                    Core(TM) i7 processors.  May generate Intel(R) SSE4 
                    Vectorizing Compiler and Media Accelerator, Intel(R) SSSE3,
                    SSE3, SSE2, and SSE instructions and it may optimize for
                    the Intel(R) Core(TM) processor family.
            AVX     May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
                    Optimizes for a future Intel processor.
            CORE-AVX2
                    May generate Intel(R) Advanced Vector Extensions 2
                    (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
                    Optimizes for a future Intel processor.
            CORE-AVX-I
                    May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), including instructions in Intel(R) Core 2(TM)
                    processors in process technology smaller than 32nm,
                    Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel(R) processors. Optimizes for a
                    future Intel processor. 
            SSSE3_ATOM
                    May generate MOVBE instructions for Intel processors,
                    depending on the setting of option /Qinstruction.
                    May also generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors. Optimizes for the
                    Intel(R) Atom(TM) processor and Intel(R) Centrino(R)
                    Atom(TM) Processor Technology.
/QxHost   generate instructions for the highest instruction set and processor
          available on the compilation host machine
/Qax&lt;CODE1&gt;[,&lt;CODE2&gt;,...]
          generate code specialized for processors specified by &lt;CODES&gt;
          while also generating generic IA-32 instructions.  
          &lt;CODES&gt; includes one or more of the following:
            SSE2    May generate Intel(R) SSE2 and SSE instructions for Intel
                    processors.
            SSE3    May generate Intel(R) SSE3, SSE2, and SSE instructions for
                    Intel processors. 
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors.
            SSE4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2, and SSE
                   instructions for Intel processors.
            SSE4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2,
                    and SSE instructions for Intel processors.
            AVX     May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
            CORE-AVX2
                    May generate Intel(R) Advanced Vector Extensions 2
                    (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
            CORE-AVX-I
                    May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), including instructions in Intel(R) Core 2(TM)
                    processors in process technology smaller than 32nm,
                    Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel(R) processors.
/arch:&lt;CODE&gt;
          generate specialized code to optimize for processors indicated by
          &lt;CODE&gt; as described below
            SSE2    May generate Intel(R) SSE2 and SSE instructions
            SSE3    May generate Intel(R) SSE3, SSE2 and SSE instructions
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2 and SSE
                    instructions
            SSE4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2 and SSE
                    instructions
            SSE4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 and
                    SSE instructions
            AVX     May generate Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2 and SSE instructions
            IA32    generate x86/x87 generic code that is compatible with IA-32
                    architecture.  Disables any default extended instruction
                    settings and any previously set extended instruction
                    settings.
            SSE     same as /arch:IA32
/Qinstruction:&lt;KEYWORD&gt;
          Refine instruction set output for the selected target processor

            [no]movbe  - Do/do not generate MOVBE instructions with SSSE3_ATOM
                          (requires /QxSSSE3_ATOM)
           
/GR[-]    enable/disable C++ RTTI
/Qcxx-features
          enable standard C++ features (/GX /GR)
/EHa      enable asynchronous C++ exception handling model
/EHs      enable synchronous C++ exception handling model
/EHc      assume extern "C" functions do not throw exceptions
/Qsafeseh[-]
          Registers exceptions for safe exception handling (DEFAULT)
/Gd       make __cdecl the default calling convention
/Gr       make __fastcall the default calling convention
/Gz       make __stdcall the default calling convention
/Qregcall
          make __regcall the default calling convention
/hotpatch[:n]
          generate padding bytes for function entries to enable image
          hotpatching. If specified, use 'n' as the padding.

Interprocedural Optimization (IPO)
----------------------------------

/Qip[-]   enable(DEFAULT)/disable single-file IP optimization
          within files
/Qipo&lt;N&gt;  enable multi-file IP optimization between files
/Qipo-c   generate a multi-file object file (ipo_out.obj)
/Qipo-S   generate a multi-file assembly file (ipo_out.asm)
/Qip-no-inlining
          disable full and partial inlining
/Qip-no-pinlining
          disable partial inlining
/Qipo-separate
          create one object file for every source file (overrides /Qipo&lt;N&gt;)
/Qipo-jobs&lt;N&gt;
          specify the number of jobs to be executed simultaneously during the
          IPO link phase

Advanced Optimizations
----------------------

/Qunroll&lt;N&gt;
          set maximum number of times to unroll loops.  Omit n to use default
          heuristics.  Use n=0 to disable the loop unroller
/Qunroll-aggressive[-]
          enables more aggressive unrolling heuristics
/Qopt-args-in-regs:&lt;KEYWORD&gt;
          Determines whether calls to routines are optimized by passing 
          arguments in registers instead of on the stack.
          keywords: none, seen(DEFAULT)

/Qscalar-rep[-]
          enable(DEFAULT)/disable scalar replacement (requires /O3)
/Qansi-alias[-]
          enable/disable(DEFAULT) use of ANSI aliasing rules optimizations;
          user asserts that the program adheres to these rules
/Qansi-alias-check[-]
          enable(DEFAULT)/disable ANSI alias checking when using /Qansi-alias
/Qcomplex-limited-range[-]
          enable/disable(DEFAULT) the use of the basic algebraic expansions of
          some complex arithmetic operations.  This can allow for some
          performance improvement in programs which use a lot of complex
          arithmetic at the loss of some exponent range.
/Qalias-const[-]
          enable/disable(DEFAULT) a heuristic stating that if two arguments to
          a function have pointer type, a pointer to const does not alias a
          pointer to non-const. Also known as the input/output buffer rule, it
          assumes that input and output buffer arguments do not overlap.
/Qalias-args[-]
          enable(DEFAULT)/disable C/C++ rule that function arguments may be
          aliased; when disabling the rule, the user asserts that this is safe
/Qopt-multi-version-aggressive[-]
          enables more aggressive multi-versioning to check for pointer
          aliasing and scalar replacement
/Qopt-ra-region-strategy[:&lt;KEYWORD&gt;]
          select the method that the register allocator uses to partition each
          routine into regions
            routine - one region per routine
            block   - one region per block
            trace   - one region per trace
            loop    - one region per loop
            default - compiler selects best option
/Qvec[-]  enables(DEFAULT)/disables vectorization
/Qvec-guard-write[-]
          enables cache/bandwidth optimization for stores under conditionals
          within vector loops
/Qvec-threshold&lt;N&gt;
          sets a threshold for the vectorization of loops based on the
          probability of profitable execution of the vectorized loop in
          parallel
/Qopt-malloc-options:{0|1|2|3|4}
          specify malloc configuration parameters.  Specifying a non-zero &lt;N&gt;
          value will cause alternate configuration parameters to be set for
          how malloc allocates and frees memory
/Qopt-jump-tables:&lt;ARG&gt;
          control the generation of jump tables
            default - let the compiler decide when a jump table, a series of
                      if-then-else constructs or a combination is generated
            large   - generate jump tables up to a certain pre-defined size
                      (64K entries)
            &lt;N&gt;     - generate jump tables up to &lt;N&gt; in size
          use /Qopt-jump-tables- to lower switch statements as chains of
          if-then-else constructs
/Qopt-block-factor:&lt;N&gt;
          specify blocking factor for loop blocking
/Qfreestanding
          compile in a freestanding environment where the standard library
          may not be present
/Qopt-streaming-stores:&lt;ARG&gt;
          specifies whether streaming stores are generated
            always - enables generation of streaming stores under the
            assumption that the application is memory bound
            auto   - compiler decides when streaming stores are used (DEFAULT)
            never  - disables generation of streaming stores
/Qipp[:&lt;ARG&gt;]
          link some or all of the Intel(R) Integrated Performance Primitives
          (Intel(R) IPP) libraries and bring in the associated headers
            common        - link using the main libraries set.  This is the
                            default value when /Qipp is specified 
            crypto        - link using the main libraries set and the crypto
                            library
            gen           - link using the main libraries set and the fixed 
                            size generated functions library

/Qmkl[:&lt;ARG&gt;]
          link to the Intel(R) Math Kernel Library (Intel(R) MKL) and bring
          in the associated headers
            parallel   - link using the threaded Intel(R) MKL libraries. This
                         is the default when /Qmkl is specified
            sequential - link using the non-threaded Intel(R) MKL libraries
            cluster    - link using the Intel(R) MKL Cluster libraries plus
                         the sequential Intel(R) MKL libraries
/Qtbb     link to the Intel(R) Threading Building Blocks (Intel(R) TBB) 
          libraries and bring in the associated headers
/Qopt-subscript-in-range[-]
          assumes no overflows in the intermediate computation of the
          subscripts
/Quse-intel-optimized-headers[-]
          take advantage of the optimized header files
/Qcilk-serialize
          run a Cilk program as a C/C++ serialized program
/Qvla[-]  enable/disable(DEFAULT) Variable Length Arrays (C99 feature)
/Qintel-extensions[-]
          enable(DEFAULT)/disable C/C++ language extensions such as array
          notation, Intel(R) Cilk(TM) Plus language extensions, and 
          support for decimal floating-point types.
/Qopt-matmul[-]
          replace matrix multiplication with calls to intrinsics and threading
          libraries for improved performance (DEFAULT at /O3 /Qparallel)
/Qsimd[-]
          enables(DEFAULT)/disables vectorization using simd pragma
/Qguide-opts:&lt;ARG&gt;
          tells the compiler to analyze certain code and generate 
          recommendations that may improve optimizations
/Qguide-file[:&lt;FILENAME&gt;]
          causes the results of guided auto-parallelization to be output to a
          file
/Qguide-file-append[:&lt;FILENAME&gt;]
          causes the results of guided auto-parallelization to be appended to
          a file
/Qguide[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-vectorization,
          auto-parallelization, and data transformation (DEFAULT is 4 when the
          option is specified)
/Qguide-data-trans[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for data transformation
          (DEFAULT is 4 when the option is specified)
/Qguide-par[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-parallelization
          (DEFAULT is 4 when the option is specified)
/Qguide-vec[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-vectorization
          (DEFAULT is 4 when the option is specified)
/Qopt-mem-layout-trans[:&lt;LEVEL&gt;]
          controls the level of memory layout transformations performed by the
          compiler
           0 - disable memory layout transformations (same as
               /Qopt-mem-layout-trans-)
           1 - enable basic memory layout transformations
           2 - enable more memory layout transformations  (DEFAULT when the
               option is specified)
           3 - enable aggressive memory layout transformations

Profile Guided Optimization (PGO)
---------------------------------

/Qprof-dir &lt;DIR&gt;
          specify directory for profiling output files (*.dyn and *.dpi)
/Qprof-src-root &lt;DIR&gt;
          specify project root directory for application source files to
          enable relative path resolution during profile feedback on sources
          below that directory
/Qprof-src-root-cwd
          specify the current directory as the project root directory for
          application source files to enable relative path resolution during
          profile feedback on sources below that directory
/Qprof-src-dir[-]
          specify whether directory names of sources should be 
          considered when looking up profile records within the .dpi file
/Qprof-file &lt;FILE&gt;
          specify file name for profiling summary file
/Qprof-data-order[-]
          enable/disable(DEFAULT) static data ordering with profiling
/Qprof-func-order[-]
          enable/disable(DEFAULT) function ordering with profiling
/Qprof-gen[:keyword]
          instrument program for profiling.
          Optional keyword may be srcpos or globdata
/Qprof-gen-
          disable profiling instrumentation
/Qprof-use[:&lt;ARG&gt;]
          enable use of profiling information during optimization
            weighted  - invokes profmerge with -weighted option to scale data
                        based on run durations
            [no]merge - enable(default)/disable the invocation of the profmerge
                        tool
/Qprof-use-
          disable use of profiling information during optimization
/Qcov-gen
          instrument program for profiling
/Qcov-dir &lt;DIR&gt;
          specify directory for profiling output files (*.dyn and *.dpi)
/Qcov-file &lt;FILE&gt;
          specify file name for profiling summary file
/Qfnsplit[-]
          enable/disable function splitting (enabled with /Qprof-use)
/Qopt-prefetch[:n]
          enable levels of prefetch insertion, where 0 disables.
          n may be 0 through 4 inclusive.  Default is 2.
/Qopt-prefetch-
          disable(DEFAULT) prefetch insertion.  Equivalent to /Qopt-prefetch:0
/Qinstrument-functions[-]
          determine whether function entry and exit points are instrumented
/Qprof-hotness-threshold:&lt;VAL&gt;
          set the hotness threshold for function grouping and function ordering
          val indicates percentage of functions to be placed in hot region.
          This option requires /Qprof-use 
           and /Qprof-func-order
          
/Qprof-value-profiling:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          limit value profiling
            none      - inhibit all types of value profiling
            nodivide  - inhibit value profiling of non-compile time constants
                        used in division or remainder operations
            noindcall - inhibit value profiling of function addresses at
                        indirect call sites
/Qprofile-functions
          enable instrumentation in generated code for collecting
          function execution time profiles
/Qprofile-loops:&lt;ARG&gt;
          enable instrumentation in generated code for collecting
          loop execution time profiles
             inner    - instrument inner loops
             outer    - instrument outer loops
             all      - instrument all loops
/Qprofile-loops-report:&lt;ARG&gt;
          Control the level of instrumentation inserted for reporting loop
          execution profiles
             1    - report loop times
             2    - report loop times and iteration counts

Optimization Reports
--------------------

/Qvec-report&lt;N&gt;
          control amount of vectorizer diagnostic information
            n=0    no diagnostic information
            n=1    indicate vectorized loops (DEFAULT when enabled)
            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
/Qopt-report[:n]
          generate an optimization report to stderr
            0   disable optimization report output
            1   minimum report output
            2   medium output (DEFAULT when enabled)
            3   maximum report output
/Qopt-report-file:&lt;FILE&gt;
          specify the filename for the generated report
/Qopt-report-phase:&lt;PHASE&gt;
          specify the phase that reports are generated against
/Qopt-report-routine:&lt;NAME&gt;
          reports on routines containing the given name
/Qopt-report-help
          display the optimization phases available for reporting
/Qtcheck[:mode]
          enable analysis of threaded applications (requires Intel(R) Thread
          Checker; cannot be used with compiler alone)
            tci - instruments a program to perform a thread-count-independent
                  analysis
            tcd - instruments a program to perform a thread-count-dependent
                  analysis (DEFAULT when mode is not used)
            api - instruments a program at the api-imports level
/Qtcollect[:&lt;LIB&gt;]
          inserts instrumentation probes calling the Intel(R) Trace Collector
          API.  The library &lt;LIB&gt;.lib is linked in the default being VT.lib
          (requires Intel(R) Trace Collector)
/Qtcollect-filter:file
          Enable or disable the instrumentation of specified functions. 
          (requires Intel(R) Trace Collector)

OpenMP* and Parallel Processing
------------------------------

/Qopenmp  enable the compiler to generate multi-threaded code based on the
          OpenMP* directives (same as /openmp)
/Qopenmp-stubs
          enables the user to compile OpenMP programs in sequential mode.  The
          OpenMP directives are ignored and a stub OpenMP library is linked
          (sequential)
/Qopenmp-report{0|1|2}
          control the OpenMP parallelizer diagnostic level
/Qopenmp-lib:&lt;VER&gt;
          choose which OpenMP library version to link with
            compat - use the Microsoft compatible OpenMP run-time libraries
                     (DEFAULT)
/Qopenmp-task:&lt;ARG&gt;
          choose which OpenMP tasking model to support
            omp   - support OpenMP 3.0 tasking (DEFAULT)
            intel - support Intel taskqueuing
/Qopenmp-threadprivate:&lt;VER&gt;
          choose which threadprivate implementation to use
            compat - use the Microsoft compatible thread local storage
            legacy - use the Intel compatible implementation
                     (DEFAULT)
/Qparallel
          enable the auto-parallelizer to generate multi-threaded code for
          loops that can be safely executed in parallel
/Qpar-report{0|1|2|3}
          control the auto-parallelizer diagnostic level
/Qpar-threshold&lt;N&gt;
          set threshold for the auto-parallelization of loops where n is an
          integer from 0 to 100
/Qpar-runtime-control&lt;N&gt;
          Control parallelizer to generate runtime check code for effective 
          automatic parallelization.
            n=0    no runtime check based auto-parallelization 
            n=1    generate runtime check code under conservative mode 
                   (DEFAULT when enabled)
            n=2    generate runtime check code under heuristic mode
            n=3    generate runtime check code under aggressive mode
/Qpar-schedule-static[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Divides iterations into contiguous pieces.  Size n if
          specified, equal sized pieces if not.
/Qpar-schedule-static_balanced[:n]
          Divides iterations into even-sized chunks.  Size n if
          specified, equal sized pieces if not.
/Qpar-schedule-static-steal[:n]
          Divides iterations into even-sized chunks, but allows
          threads to steal parts of chunks from neighboring threads
/Qpar-schedule-dynamic[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Assigns iterations to threads in chunks dynamically.
          Chunk size is n iterations if specified, otherwise 1.
/Qpar-schedule-guided[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Indicates a minimum number of iterations.  If specified,
          n is the minimum number, otherwise 1.
/Qpar-schedule-guided-analytical[:n]
          Divides iterations by using exponential distribution or 
          dynamic distributions.
/Qpar-schedule-runtime
          Specifies a scheduling algorithm for DO loop iteration.
          Defers the scheduling decision until runtime.
/Qpar-schedule-auto
          Lets the compiler or run-time system determine the 
          scheduling algorithm.
/Qpar-adjust-stack&lt;N&gt;
          perform fiber-based main thread stack adjustment
/Qpar-affinity=[&lt;MODIFIER&gt;,...]&lt;TYPE&gt;[,&lt;PERMUTE&gt;][,&lt;OFFSET&gt;] 
          tune application performance by setting different thread affinity
/Qpar-num-threads=&lt;N&gt;
          tune application performance by setting different number of threads 
/Qparallel-source-info[:n]
          enable(DEFAULT)/disable the emission of source location information
          for parallel code generation with OpenMP and auto-parallelization
            0 - disable (same as /Qparallel-source-info-)
            1 - emit routine name and line information (DEFAULT)
            2 - emit path, file, routine name and line information

Floating Point
--------------

/fp:&lt;NAME&gt;
          enable &lt;NAME&gt; floating point model variation
            except[-] - enable/disable floating point semantics
            fast[=1|2]  - enables more aggressive floating point optimizations
            precise     - allows value-safe optimizations
            source      - enables intermediates in source precision
            strict      - enables /fp:precise /fp:except, disables
                          contractions and enables pragma stdc fenv_access
            double      - rounds intermediates in 53-bit (double) precision
            extended    - rounds intermediates in 64-bit (extended) precision
/Qfp-speculation:&lt;MODE&gt;
          enable floating point speculations with the following &lt;MODE&gt;
          conditions:
            fast   - speculate floating point operations (DEFAULT)
            safe   - speculate only when safe
            strict - same as off
            off    - disables speculation of floating-point operations
/Qpc32    set internal FPU precision to 24 bit significand
/Qpc64    set internal FPU precision to 53 bit significand (DEFAULT) 
/Qpc80    set internal FPU precision to 64 bit significand
/Qprec    improve floating-point precision (speed impact less than /Op)
/Qprec-sqrt[-]
          determine if certain square root optimizations are enabled
/Qprec-div[-]
          improve precision of FP divides (some speed impact)
/Qfast-transcendentals[-]
          generate a faster version of the transcendental functions
/Qfp-port[-]
          round fp results at assignments and casts (some speed impact)
/Qfp-stack-check
          enable fp stack checking after every function/procedure call
/Qrcd     rounding mode to enable fast float-to-int conversions
/Qftz[-]  enable/disable flush denormal results to zero
/Qfma[-]  enable/disable the combining of floating point multiplies and
          add/subtract operations
/Qfp-trap:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          control floating point traps at program start.  &lt;ARG&gt; can be of the
          following values
            [no]divzero   - [Do not] trap on division by zero
            [no]inexact   - [Do not] trap on inexact result
            [no]invalid   - [Do not] trap on invalid operation
            [no]overflow  - [Do not] trap on overflow
            [no]underflow - [Do not] trap on underflow
            [no]denormal  - [Do not] trap on denormal
            all           - enable trap on all of the above
            none          - trap on none of the above
            common        - trap on most commonly used IEEE traps
                            (invalid, division by zero, overflow)
/Qfp-trap-all:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          control floating point traps in every routine.  &lt;ARG&gt; can be of the
          values specified in /Qfp-trap

Inlining
--------

/Ob&lt;N&gt;    control inline expansion:
            n=0  disable inlining
            n=1  inline functions declared with __inline, and perform C++
                 inlining
            n=2  inline any function, at the compiler's discretion 
/Qinline-min-size:&lt;N&gt;
          set size limit for inlining small routines
/Qinline-min-size-
          no size limit for inlining small routines
/Qinline-max-size:&lt;N&gt;
          set size limit for inlining large routines
/Qinline-max-size-
          no size limit for inlining large routines
/Qinline-max-total-size:&lt;N&gt;
          maximum increase in size for inline function expansion
/Qinline-max-total-size-
          no size limit for inline function expansion
/Qinline-max-per-routine:&lt;N&gt;
          maximum number of inline instances in any function
/Qinline-max-per-routine-
          no maximum number of inline instances in any function
/Qinline-max-per-compile:&lt;N&gt;
          maximum number of inline instances in the current compilation
/Qinline-max-per-compile-
          no maximum number of inline instances in the current compilation
/Qinline-factor:&lt;N&gt;
          set inlining upper limits by n percentage
/Qinline-factor-
          do not set set inlining upper limits
/Qinline-forceinline
          treat inline routines as forceinline
/Qinline-dllimport
          allow(DEFAULT)/disallow functions declared __declspec(dllimport) to
          be inlined
/Qinline-calloc
          directs the compiler to inline calloc() calls as malloc()/memset()

Output, Debug, PCH
------------------

/c        compile to object (.obj) only, do not link
/S        compile to assembly (.asm) only, do not link
/FAs      produce assembly file with optional source annotations 
/FAc      produce assembly file with optional code annotations 
/FA       produce assembly file
/Fa[file]
          name assembly file (or directory for multiple files; i.e. /FaMYDIR\)
/Fo[file]
          name object file (or directory for multiple files; i.e. /FoMYDIR\)
/Fe[file]
          name executable file or directory
/Fp[file]
          name precompiled header file
/Zi, /ZI, /Z7
          produce symbolic debug information in object file (implies /Od when
          another optimization option is not explicitly set)
/debug[:keyword]
          enable debug information and control output of enhanced debug
          information
            keywords:  all, full, minimal, none, [no]inline-debug-info
                       parallel
                       [no]expr-source-pos
/Qtrapuv  trap uninitialized variables
/RTCu     report use of variable that was not initialized
/RTC1     equivalent to /RTCsu
/RTCs     enable stack frame runtime checks
/RTCc     enable checks for converting to smaller types
/Qmap-opts
          enable option mapping tool
/Yc[file]
          create precompiled header file
/Yu[file]
          use precompiled header file
/Y-       ignore all other precompiled header file options
/Qpchi[-]
          enable(DEFAULT)/disable PCH coexistence, to reduce build time
/FD       generate file dependencies
/FR[file]
          name extended source browser file

Preprocessor
------------

/QA&lt;NAME&gt;[&lt;VAL&gt;]
          create an assertion &lt;NAME&gt; having value &lt;VAL&gt;
/C        do not strip comments
/D&lt;NAME&gt;[{=|#}&lt;TEXT&gt;]
          define macro
/U&lt;NAME&gt;  remove predefined macro
/E        preprocess to stdout
/EP       preprocess to stdout, omitting #line directives
/EP /P    preprocess to file, omitting #line directives
/P        preprocess to file
/u        remove all predefined macros
/FI&lt;FILE&gt;
          force inclusion of file
/I&lt;DIR&gt;   add directory to include file search path
/X        remove standard directories from include file search path
/QH       print include file order
/QM       generate makefile dependency information
/QMM      similar to /QM, but do not include system header files
/QMG      similar to /QM, but treat missing header files as generated files
/QMD      preprocess and compile, generating output file containing dependency
          information ending with extension .d
/QMMD     similar to /QMD, but do not include system header files
/QMF&lt;FILE&gt;
          generate makefile dependency information in file (must specify /QM
          or /QMM)
/QMT&lt;TARGET&gt;
          change the default target rule for dependency generation
/QdM      output macro definitions in effect after preprocessing (use with /E)
/QdD      same as /QdM, but output #define directives in preprocessed source
/QdN      same as /QdD, but #define directives contain only macro names

Component Control
-----------------

/Qoption,&lt;TOOL&gt;,&lt;OPTS&gt;
          pass options &lt;OPTS&gt; to tool specified by &lt;TOOL&gt;
/Qlocation,&lt;TOOL&gt;,&lt;DIR&gt;
          set &lt;DIR&gt; as the location of tool specified by &lt;TOOL&gt;

Language
--------

/Qstd=&lt;STD&gt;
          enable language support for &lt;STD&gt;, as described below
            c99   enable C99 support for C programs
            c++0x enable preliminary support for some C++0x features
/Za       disable Microsoft Visual C++ compiler language extensions
/Zg       enable the generation of function prototypes
/Zp&lt;N&gt;    specify alignment constraint for structures where 
          n=1,2,4,8,16. 16 is the default
/Zc:arg1[,arg2]
          specify standard conformance for the following arguments:
            forScope[-] enforce standard compliance in for loop scope
            wchar_t[-]  specify that wchar_t is a native data type
            auto[-]  enforce compliance to the new standard meaning for auto
/Zs       perform syntax and semantic checking only (no object file produced)
/vd{0|1}  disable or enable hidden vtordisp field in C++ objects
/vm&lt;X&gt;    specify representation method for C++ pointers to members
/J        change default char type to unsigned
/noBool   suppresses the C++ bool, true, and false keywords
/Qtemplate-depth&lt;N&gt;
          control the depth in which recursive templates are expanded
/Qrestrict[-]
          enable/disable the 'restrict' keyword for disambiguating pointers
/Qhelp-pragma
          output supported pragmas and their usage syntax

Compiler Diagnostics
--------------------

/w        disable all warnings
/W0       print only errors
/W1, /W2, /W3
          print only errors and warnings (DEFAULT)
/W4, /Wall
          print errors, warnings and most remarks
/W5       print all errors, warnings and remarks
/WL       print brief one-line diagnostics
/WX       force warnings to be reported as errors
/Werror-all
          force warnings and currently enabled remarks to be reported as errors
/Wcheck   enable more strict diagnostics
/Wport    issue portability diagnostics
/Qeffc++  enable effective C++ diagnostic warnings
/Qwo&lt;L1&gt;[,&lt;L2&gt;,...]
          issue diagnostics L1 through LN only once
/Wp64     print diagnostics for 64-bit porting
/noerror-limit
          set no maximum number on error-level or fatal-level error messages
/Qdiag-enable:&lt;V1&gt;[,&lt;V2&gt;,...]
          enable the specified diagnostics or diagnostic groups
/Qdiag-disable:&lt;V1&gt;[,&lt;V2&gt;,...]
          disable the specified diagnostics or diagnostic groups
          where &lt;VN&gt; may be individual diagnostic numbers or group names.
          where group names include:
              sc&lt;N&gt;      - perform source code analysis: n=1 for critical
                           errors, n=2 for all errors and n=3 for all errors
                           and warnings
              sc-include - perform source code analysis on include files
              sc-parallel&lt;N&gt; - perform analysis of parallelization in 
                               source code: n=1 for critical errors,
                               n=2 for errors, n=3 for all errors and 
                               warnings
              thread     - enable diagnostics to aid in thread-enabling source
              port-linux - enable diagnostics for Microsoft extensions that
                           may cause errors when porting to Linux/MacOS
              warn   - diagnostic messages that have "warning" severity level.
              error  - diagnostic messages that have "error" severity level.
              remark - diagnostic messages that are remarks or comments.

              vec    - diagnostic messages issued by the vectorizer.
              par    - diagnostic messages issued by the auto-parallelizer 
              openmp - diagnostic messages issued by the OpenMP* parallelizer.
              cpu-dispatch Specifies the CPU dispatch remarks. 
/Qdiag-error:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the specified diagnostics or diagnostic groups as errors
/Qdiag-warning:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the specified diagnostics or diagnostic groups as warnings
/Qdiag-remark:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the the specified diagnostics or diagnostic groups as remarks
/Qdiag-dump
          display the currently enabled diagnostic messages to stdout or to a
          specified diagnostic output file.
/Qdiag-sc-dir:&lt;DIR&gt;
          &lt;DIR&gt; directory where diagnostics from Static security analysis are 
          created, rather than current working directory.
/Qdiag-file[:&lt;FILE&gt;]
          &lt;FILE&gt; where diagnostics are emitted to.  Not specifying this causes
          messages to be output to stderr
/Qdiag-file-append[:&lt;FILE&gt;]
          &lt;FILE&gt; where diagnostics are emitted to. When &lt;FILE&gt; already exists,
          output is appended to the file
/Qdiag-id-numbers[-]
          enable(DEFAULT)/disable the diagnostic specifiers to be output in
          numeric form
/Qdiag-error-limit:&lt;NUM&gt;
          specify the maximum number of errors emitted
/Qdiag-once:&lt;V1&gt;[,&lt;V2&gt;,...]
          issue diagnostics v1 through vN only once

Miscellaneous
-------------

/nologo   do not display compiler version information
/Qsox[:&lt;KEYWORD&gt;[,keyword]]
          enable saving of compiler options, version and additional information
          in the executable.  Use /Qsox- to disable(DEFAULT)
            profile - include profiling data
            inline  - include inlining information
/Qsave-temps
          store the intermediate files in current directory and name them
          based on the source file.  Only saves files that are generated by
          default
/Tc&lt;FILE&gt;
          compile file as C source
/Tp&lt;FILE&gt;
          compile file as C++ source
/TC&lt;FILE&gt;
          compile all source or unrecognized file types as C source files
/TP&lt;FILE&gt;
          compile all source or unrecognized file types as C++ source files
/showIncludes
          emit include file names
/Qmultibyte-chars[-]
          provide support for multi-byte characters
/MP[&lt;N&gt;]  create multiple processes that can be used to compile large numbers
          of source files at the same time
/bigobj   generate objects with increased address capacity

Data
----

/Zp&lt;N&gt;    specify alignment constraint for structures (n=1,2,4,8,16
          /Zp16 DEFAULT)
/GS       enable overflow security checks.  
          /GS- disables (DEFAULT)
/GF       enable read-only string pooling optimization
/GA       optimize for Windows application (assume .exe)
/GT       enable fiber-safe thread local storage
/Qsfalign8
          may align stack for functions with 8 or 16 byte vars (DEFAULT)
/Qsfalign16
          may align stack for functions with 16 byte vars
/Qsfalign
          force stack alignment for all functions
/Qsfalign-
          disable stack alignment for all functions
/Qfnalign[-]
          align the start of functions to an optimal machine-dependent value.
          When disabled (DEFAULT) align on a 2-byte boundary
/Qfnalign:[2|16]
          align the start of functions on a 2 (DEFAULT) or 16 byte boundary
/Qglobal-hoist[-]
          enable(DEFAULT)/disable external globals are load safe
/Qkeep-static-consts[-]
          enable/disable(DEFAULT) emission of static const variables even
          when not referenced
/Qlong-double
          enable 80-bit 'long double'
/Qnobss-init
          disable placement of zero-initialized variables in BSS (use DATA)
/Qzero-initialized-in-bss[-]
          put explicitly zero initialized variables into the DATA section
          instead of the BSS section
/Qimf-absolute-error:value[:funclist]
          define the maximum allowable absolute error for math library
          function results
/Qimf-accuracy-bits:bits[:funclist]
          define the relative error, measured by the number of correct bits,
          for math library function results
/Qimf-arch-consistency:value[:funclist]
          ensures that the math library functions produce consistent results
          across different implementations of the same architecture
/Qimf-max-error:ulps[:funclist]
          defines the maximum allowable relative error, measured in ulps, for
          math library function results
/Qimf-precision:value[:funclist]
          defines the accuracy (precision) for math library functions

Compatibility
-------------

/Qms      allow compilation of certain dubious sources
            n=0  disable Microsoft compatibility bugs
            n=1  enable most Microsoft compatibilities (DEFAULT)
            n=2  full Microsoft compatibility
/Qvc&lt;ARG&gt;
          enable compatibility with a specific Microsoft Visual C++ version
            8   - Visual Studio 2005 compatibility
            9   - Visual Studio 2008 compatibility
            10  - Visual Studio 2010 compatibility

Linking/Linker
--------------

/link     specify that all options following '/link' are for the linker
/F&lt;N&gt;     set the stack reserve amount specified to the linker
/LD&lt;D&gt;    produce a DLL instead of an EXE ('d' = debug version)
/MD&lt;D&gt;    use dynamically-loaded, multithread C runtime
/MT&lt;D&gt;    use statically-linked, multithread C runtime (DEFAULT with
          Microsoft Visual Studio 2005 and later)
/ML&lt;D&gt;    use statically-linked, single thread C runtime (only valid in 
          Microsoft Visual Studio 2003 environment)
/Zl       omit library names from object file

Deprecated Options
------------------

/Qinline-debug-info      use /debug:inline-debug-info
/Gf                      use /GF
/ML&lt;D&gt;                   upgrade to /MT&lt;D&gt;
/Quse-asm                No replacement
/Qprof-genx              use /Qprof-gen:srcpos
/Qdiag-enable:sv[&lt;N&gt;]    use /Qdiag-enable:sc[&lt;N&gt;]
/Qdiag-enable:sv-include use /Qdiag-enable:sc-include
/Qdiag-sv                use /Qdiag-enable:sc[&lt;N&gt;]
/Qdiag-sv-error          use /Qdiag-disable:warning
/Qdiag-sv-include        use /Qdiag-enable:sc-include
/Qdiag-sv-level          No replacement
/Qdiag-sv-sup            use /Qdiag-disable:&lt;V1&gt;[,&lt;V2&gt;,...]
/Qopenmp-link            No replacement
/Qopenmp-profile         No replacement
/Qtprofile               No replacement
/arch:SSE                use /arch:IA32
/QxK                     upgrade to /arch:SSE2
/QaxK                    upgrade to /arch:SSE2
/QxW                     use /arch:SSE2
/QaxW                    use /arch:SSE2 
/QxN                     use /QxSSE2
/QaxN                    use /QaxSSE2
/QxP                     use /QxSSE3
/QaxP                    use /QaxSSE3
/QxT                     use /QxSSSE3
/QaxT                    use /QaxSSSE3
/QxS                     use /QxSSE4.1
/QaxS                    use /QaxSSE4.1
/QxH                     use /QxSSE4.2
/QaxH                    use /QaxSSE4.2
/QxO                     use /arch:SSE3
/Qvc7.1                  No replacement
/QIfist                  use /Qrcd
/QxSSE3_ATOM             use /QxSSSE3_ATOM
/Op                      use /fp:precise
/Fr                      use /FR
/GX                      use /EHsc
/GZ                      use /RTC1
/H                       No replacement
/QA-                     use /u
/Qc99                    use /Qstd=c99
/Qwn                     use /Qdiag-error-limit:&lt;N&gt;
/Qwd                     use /Qdiag-disable
/Qwe                     use /Qdiag-error
/Qww                     use /Qdiag-warning
/Qwr                     use /Qdiag-remark
/Qwo                     use /Qdiag-once
/Yd                      use /Zi, /ZI, /Z7
/Zd                      use /debug:minimal
/Ze                      No replacement
/Zg                      No replacement

/help, /? [category]   print full or category help message

Valid categories include
       advanced        - Advanced Optimizations
       codegen         - Code Generation
       compatibility   - Compatibility
       component       - Component Control
       data            - Data
       deprecated      - Deprecated Options
       diagnostics     - Compiler Diagnostics
       float           - Floating Point
       help            - Help
       inline          - Inlining
       ipo             - Interprocedural Optimization (IPO)
       language        - Language
       link            - Linking/Linker
       misc            - Miscellaneous
       opt             - Optimization
       output          - Output
       pgo             - Profile Guided Optimization (PGO)
       preproc         - Preprocessor
       reports         - Optimization Reports
       openmp          - OpenMP and Parallel Processing

Copyright (C) 1985-2012, Intel Corporation.  All rights reserved.
* Other names and brands may be claimed as the property of others.&lt;/N&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/KEYWORD&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/N&gt;&lt;/N&gt;&lt;/VN&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/N&gt;&lt;/X&gt;&lt;/N&gt;&lt;/STD&gt;&lt;/STD&gt;&lt;/TOOL&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/TOOL&gt;&lt;/TOOL&gt;&lt;/OPTS&gt;&lt;/OPTS&gt;&lt;/TOOL&gt;&lt;/TARGET&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/NAME&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/VAL&gt;&lt;/NAME&gt;&lt;/VAL&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/MODE&gt;&lt;/MODE&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/OFFSET&gt;&lt;/PERMUTE&gt;&lt;/TYPE&gt;&lt;/MODIFIER&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/VER&gt;&lt;/ARG&gt;&lt;/VER&gt;&lt;/LIB&gt;&lt;/LIB&gt;&lt;/NAME&gt;&lt;/PHASE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/VAL&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/ARG&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/FILENAME&gt;&lt;/FILENAME&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/KEYWORD&gt;&lt;/KEYWORD&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/KEYWORD&gt;&lt;/CODE&gt;&lt;/CODE&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODE2&gt;&lt;/CODE1&gt;&lt;/CODE&gt;&lt;/CODE&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:28:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102800#M69357</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:28:51Z</dc:date>
    </item>
    <item>
      <title>Icl v13.1.x 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102801#M69358</link>
      <description>&lt;STRONG&gt;Icl v13.1.x 32-bit Options&lt;/STRONG&gt;

                          Intel(R) C++ Compiler Help
                          ==========================

  Intel(R) Compiler includes compiler options that optimize for instruction
  sets that are available in both Intel(R) and non-Intel microprocessors, but
  may perform additional optimizations for Intel microprocessors than for
  non-Intel microprocessors.  In addition, certain compiler options for
  Intel(R) Compiler are reserved for Intel microprocessors.  For a detailed
  description of these compiler options, including the instructions they
  implicate, please refer to "Intel(R) Compiler User and Reference Guides &amp;gt;
  Compiler Options."

  usage: icl [options] file1 [file2 ...] [/link linker_options]

     where options represents zero or more compiler options

     fileN is a C/C++ source (.c .cc .cpp .cxx .i), assembly (.asm),
     object (.obj), static library (.lib), or other linkable file
     linker_options represents zero or more linker options

Notes
-----
1. Most Microsoft* Visual C++* compiler options are supported; a warning is
   printed for most unsupported options.  The precise behavior of performance
   options does not always match that of the Microsoft Visual C++ compiler.

2. Intel C++ compiler options may be placed in your icl.cfg file.

3. Most options beginning with /Q are specific to the Intel C++ compiler:
   (*I) indicates other options specific to the Intel C++ compiler
   (*M) indicates /Q options supported by the Microsoft Visual C++ compiler

   Some options listed are only available on a specific system
   i32    indicates the feature is available on systems based on IA-32
          architecture
   i64em  indicates the feature is available on systems using Intel(R) 64
          architecture

                             Compiler Option List
                             --------------------

Optimization
------------

/O1       optimize for maximum speed, but disable some optimizations which
          increase code size for a small speed benefit
/O2       optimize for maximum speed (DEFAULT)
/O3       optimize for maximum speed and enable more aggressive optimizations
          that may not improve performance on some programs
/Ox       enable maximum optimizations (same as /O2)
/Os       enable speed optimizations, but disable some optimizations which
          increase code size for small speed benefit (overrides /Ot)
/Ot       enable speed optimizations (overrides /Os)
/Od       disable optimizations
/Oi[-]    enable/disable inline expansion of intrinsic functions
/Oy[-]    enable/disable using EBP as a general purpose register (no frame
          pointer) (i32 only)
/fast     enable /QxHOST /O3 /Qipo /Qprec-div-
          options set by /fast cannot be overridden with the exception of
          /QxHOST, list options separately to change behavior
/Oa[-]    assume no aliasing in program
/Ow[-]    assume no aliasing within functions, but assume aliasing across calls

Code Generation
---------------

/Qx&lt;CODE&gt;
          generate specialized code to run exclusively on processors
          indicated by &lt;CODE&gt; as described below
            SSE2    May generate Intel(R) SSE2 and SSE instructions for Intel
                    processors.  Optimizes for the Intel NetBurst(R)
                    microarchitecture.
            SSE3    May generate Intel(R) SSE3, SSE2, and SSE instructions for
                    Intel processors.  Optimizes for the enhanced Pentium(R) M 
                    processor microarchitecture and Intel NetBurst(R)
                    microarchitecture. 
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors.  Optimizes for the
                    Intel(R) Core(TM) microarchitecture.
            SSE4.1  May generate Intel(R) SSE4 Vectorizing Compiler and Media
                    Accelerator instructions for Intel processors.  May 
                    generate Intel(R) SSSE3, SSE3, SSE2, and SSE instructions
                    and it may optimize for Intel(R) 45nm Hi-k next generation
                    Intel Core(TM) microarchitecture.
            SSE4.2  May generate Intel(R) SSE4 Efficient Accelerated String
                    and Text Processing instructions supported by Intel(R)
                    Core(TM) i7 processors.  May generate Intel(R) SSE4 
                    Vectorizing Compiler and Media Accelerator, Intel(R) SSSE3,
                    SSE3, SSE2, and SSE instructions and it may optimize for
                    the Intel(R) Core(TM) processor family.
            AVX     May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
                    Optimizes for a future Intel processor.
            CORE-AVX2
                    May generate Intel(R) Advanced Vector Extensions 2
                    (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
                    Optimizes for a future Intel processor.
            CORE-AVX-I
                    May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), including instructions in Intel(R) Core 2(TM)
                    processors in process technology smaller than 32nm,
                    Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel(R) processors. Optimizes for a
                    future Intel processor. 
            SSSE3_ATOM
                    May generate MOVBE instructions for Intel processors,
                    depending on the setting of option /Qinstruction.
                    May also generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors. Optimizes for the
                    Intel(R) Atom(TM) processor and Intel(R) Centrino(R)
                    Atom(TM) Processor Technology.
/QxHost   generate instructions for the highest instruction set and processor
          available on the compilation host machine
/Qax&lt;CODE1&gt;[,&lt;CODE2&gt;,...]
          generate code specialized for processors specified by &lt;CODES&gt;
          while also generating generic IA-32 instructions.  
          &lt;CODES&gt; includes one or more of the following:
            SSE2    May generate Intel(R) SSE2 and SSE instructions for Intel
                    processors.
            SSE3    May generate Intel(R) SSE3, SSE2, and SSE instructions for
                    Intel processors. 
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors.
            SSE4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2, and SSE
                   instructions for Intel processors.
            SSE4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2,
                    and SSE instructions for Intel processors.
            AVX     May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
            CORE-AVX2
                    May generate Intel(R) Advanced Vector Extensions 2
                    (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
            CORE-AVX-I
                    May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), including instructions in Intel(R) Core 2(TM)
                    processors in process technology smaller than 32nm,
                    Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel(R) processors.
/arch:&lt;CODE&gt;
          generate specialized code to optimize for processors indicated by
          &lt;CODE&gt; as described below
            SSE2    May generate Intel(R) SSE2 and SSE instructions
            SSE3    May generate Intel(R) SSE3, SSE2 and SSE instructions
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2 and SSE
                    instructions
            SSE4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2 and SSE
                    instructions
            SSE4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 and
                    SSE instructions
            AVX     May generate Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2 and SSE instructions
            IA32    generate x86/x87 generic code that is compatible with IA-32
                    architecture.  Disables any default extended instruction
                    settings and any previously set extended instruction
                    settings.
            SSE     same as /arch:IA32
/Qinstruction:&lt;KEYWORD&gt;
          Refine instruction set output for the selected target processor

            [no]movbe  - Do/do not generate MOVBE instructions with SSSE3_ATOM
                          (requires /QxSSSE3_ATOM)
           
/GR[-]    enable/disable C++ RTTI
/Qcxx-features
          enable standard C++ features (/GX /GR)
/EHa      enable asynchronous C++ exception handling model
/EHs      enable synchronous C++ exception handling model
/EHc      assume extern "C" functions do not throw exceptions
/Qsafeseh[-]
          Registers exceptions for safe exception handling (DEFAULT)
/Gd       make __cdecl the default calling convention
/Gr       make __fastcall the default calling convention
/Gz       make __stdcall the default calling convention
/Qregcall
          make __regcall the default calling convention
/hotpatch[:n]
          generate padding bytes for function entries to enable image
          hotpatching. If specified, use 'n' as the padding.
/Qextend-arguments:[32|64]
          By default, unprototyped scalar integer arguments are passed
          in 32-bits (sign-extended if necessary).
          On Intel(R) 64, unprototyped scalar integer arguments may be 
          extended to 64-bits.

Interprocedural Optimization (IPO)
----------------------------------

/Qip[-]   enable(DEFAULT)/disable single-file IP optimization
          within files
/Qipo&lt;N&gt;  enable multi-file IP optimization between files
/Qipo-c   generate a multi-file object file (ipo_out.obj)
/Qipo-S   generate a multi-file assembly file (ipo_out.asm)
/Qip-no-inlining
          disable full and partial inlining
/Qip-no-pinlining
          disable partial inlining
/Qipo-separate
          create one object file for every source file (overrides /Qipo&lt;N&gt;)
/Qipo-jobs&lt;N&gt;
          specify the number of jobs to be executed simultaneously during the
          IPO link phase

Advanced Optimizations
----------------------

/Qunroll&lt;N&gt;
          set maximum number of times to unroll loops.  Omit n to use default
          heuristics.  Use n=0 to disable the loop unroller
/Qunroll-aggressive[-]
          enables more aggressive unrolling heuristics
/Qopt-args-in-regs:&lt;KEYWORD&gt;
          Determines whether calls to routines are optimized by passing 
          arguments in registers instead of on the stack.
          keywords: none, seen(DEFAULT), all(Linux only)

/Qscalar-rep[-]
          enable(DEFAULT)/disable scalar replacement (requires /O3)
/Qansi-alias[-]
          enable/disable(DEFAULT) use of ANSI aliasing rules optimizations;
          user asserts that the program adheres to these rules
/Qansi-alias-check[-]
          enable(DEFAULT)/disable ANSI alias checking when using /Qansi-alias
/Qcomplex-limited-range[-]
          enable/disable(DEFAULT) the use of the basic algebraic expansions of
          some complex arithmetic operations.  This can allow for some
          performance improvement in programs which use a lot of complex
          arithmetic at the loss of some exponent range.
/Qalias-const[-]
          enable/disable(DEFAULT) a heuristic stating that if two arguments to
          a function have pointer type, a pointer to const does not alias a
          pointer to non-const. Also known as the input/output buffer rule, it
          assumes that input and output buffer arguments do not overlap.
/Qalias-args[-]
          enable(DEFAULT)/disable C/C++ rule that function arguments may be
          aliased; when disabling the rule, the user asserts that this is safe
/Qopt-multi-version-aggressive[-]
          enables more aggressive multi-versioning to check for pointer
          aliasing and scalar replacement
/Qopt-ra-region-strategy[:&lt;KEYWORD&gt;]
          select the method that the register allocator uses to partition each
          routine into regions
            routine - one region per routine
            block   - one region per block
            trace   - one region per trace
            loop    - one region per loop
            default - compiler selects best option
/Qvec[-]  enables(DEFAULT)/disables vectorization
/Qvec-guard-write[-]
          enables cache/bandwidth optimization for stores under conditionals
          within vector loops
/Qvec-threshold&lt;N&gt;
          sets a threshold for the vectorization of loops based on the
          probability of profitable execution of the vectorized loop in
          parallel
/Qopt-malloc-options:{0|1|2|3|4}
          specify malloc configuration parameters.  Specifying a non-zero &lt;N&gt;
          value will cause alternate configuration parameters to be set for
          how malloc allocates and frees memory
/Qopt-jump-tables:&lt;ARG&gt;
          control the generation of jump tables
            default - let the compiler decide when a jump table, a series of
                      if-then-else constructs or a combination is generated
            large   - generate jump tables up to a certain pre-defined size
                      (64K entries)
            &lt;N&gt;     - generate jump tables up to &lt;N&gt; in size
          use /Qopt-jump-tables- to lower switch statements as chains of
          if-then-else constructs
/Qopt-block-factor:&lt;N&gt;
          specify blocking factor for loop blocking
/Qfreestanding
          compile in a freestanding environment where the standard library
          may not be present
/Qopt-streaming-stores:&lt;ARG&gt;
          specifies whether streaming stores are generated
            always - enables generation of streaming stores under the
            assumption that the application is memory bound
            auto   - compiler decides when streaming stores are used (DEFAULT)
            never  - disables generation of streaming stores
/Qipp[:&lt;ARG&gt;]
          link some or all of the Intel(R) Integrated Performance Primitives
          (Intel(R) IPP) libraries and bring in the associated headers
            common        - link using the main libraries set.  This is the
                            default value when /Qipp is specified 
            crypto        - link using the main libraries set and the crypto
                            library
            gen           - link using the main libraries set and the fixed 
                            size generated functions library

/Qipp-link:&lt;ARG&gt;
          choose whether to link with static or dynamic libraries to support
          Intel(R) Integrated Performance Primitives (Intel(R) IPP) 
            dynamic       - link using the dynamic libraries set.  This is the
                            default value when /Qipp is specified on Windows
            static        - link using the static libraries set.  This is the 
                            default value when /Qipp is specified on Linux 
            static_thread - link using the optional threaded libraries set 
                            Note: these are provided in a separate install kit

/Qmkl[:&lt;ARG&gt;]
          link to the Intel(R) Math Kernel Library (Intel(R) MKL) and bring
          in the associated headers
            parallel   - link using the threaded Intel(R) MKL libraries. This
                         is the default when /Qmkl is specified
            sequential - link using the non-threaded Intel(R) MKL libraries
            cluster    - link using the Intel(R) MKL Cluster libraries plus
                         the sequential Intel(R) MKL libraries
/Qtbb     link to the Intel(R) Threading Building Blocks (Intel(R) TBB) 
          libraries and bring in the associated headers
/Qopt-subscript-in-range[-]
          assumes no overflows in the intermediate computation of the
          subscripts
/Quse-intel-optimized-headers[-]
          take advantage of the optimized header files
/Qcilk-serialize
          run a Cilk program as a C/C++ serialized program
/Qvla[-]  enable/disable(DEFAULT) Variable Length Arrays (C99 feature)
/Qintel-extensions[-]
          enable(DEFAULT)/disable C/C++ language extensions such as array
          notation, Intel(R) Cilk(TM) Plus language extensions, and 
          support for decimal floating-point types.
/Qopt-matmul[-]
          replace matrix multiplication with calls to intrinsics and threading
          libraries for improved performance (DEFAULT at /O3 /Qparallel)
/Qsimd[-]
          enables(DEFAULT)/disables vectorization using simd pragma
/Qguide-opts:&lt;ARG&gt;
          tells the compiler to analyze certain code and generate 
          recommendations that may improve optimizations
/Qguide-file[:&lt;FILENAME&gt;]
          causes the results of guide to be output to a file
/Qguide-file-append[:&lt;FILENAME&gt;]
          causes the results of guide to be appended to a file
/Qguide[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-vectorization,
          auto-parallelization, and data transformation (DEFAULT is 4 when the
          option is specified)
/Qguide-data-trans[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for data transformation
          (DEFAULT is 4 when the option is specified)
/Qguide-par[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-parallelization
          (DEFAULT is 4 when the option is specified)
/Qguide-vec[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-vectorization
          (DEFAULT is 4 when the option is specified)
/Qguide-profile:&amp;lt;[file|dir]&amp;gt;[,[file|dir],...]
          specify a loop profiler data file (or set of files in a directory)
          when using the /Qguide option
/Qopt-mem-layout-trans[:&lt;LEVEL&gt;]
          controls the level of memory layout transformations performed by the
          compiler
           0 - disable memory layout transformations (same as
               /Qopt-mem-layout-trans-)
           1 - enable basic memory layout transformations
           2 - enable more memory layout transformations  (DEFAULT when the
               option is specified)
           3 - enable aggressive memory layout transformations
/Qopt-prefetch[:n]
          enable levels of prefetch insertion, where 0 disables.
          n may be 0 through 4 inclusive.  Default is 2.
/Qopt-prefetch-
          disable(DEFAULT) prefetch insertion.  Equivalent to /Qopt-prefetch:0

Profile Guided Optimization (PGO)
---------------------------------

/Qprof-dir &lt;DIR&gt;
          specify directory for profiling output files (*.dyn and *.dpi)
/Qprof-src-root &lt;DIR&gt;
          specify project root directory for application source files to
          enable relative path resolution during profile feedback on sources
          below that directory
/Qprof-src-root-cwd
          specify the current directory as the project root directory for
          application source files to enable relative path resolution during
          profile feedback on sources below that directory
/Qprof-src-dir[-]
          specify whether directory names of sources should be 
          considered when looking up profile records within the .dpi file
/Qprof-file &lt;FILE&gt;
          specify file name for profiling summary file
/Qprof-data-order[-]
          enable/disable(DEFAULT) static data ordering with profiling
/Qprof-func-order[-]
          enable/disable(DEFAULT) function ordering with profiling
/Qprof-gen[:keyword]
          instrument program for profiling.
          Optional keyword may be srcpos or globdata
/Qprof-gen-
          disable profiling instrumentation
/Qprof-use[:&lt;ARG&gt;]
          enable use of profiling information during optimization
            weighted  - invokes profmerge with -weighted option to scale data
                        based on run durations
            [no]merge - enable(default)/disable the invocation of the profmerge
                        tool
/Qprof-use-
          disable use of profiling information during optimization
/Qcov-gen
          instrument program for profiling
/Qcov-dir &lt;DIR&gt;
          specify directory for profiling output files (*.dyn and *.dpi)
/Qcov-file &lt;FILE&gt;
          specify file name for profiling summary file
/Qfnsplit[-]
          enable/disable function splitting (enabled with /Qprof-use)
/Qinstrument-functions[-]
          determine whether function entry and exit points are instrumented
/Qprof-hotness-threshold:&lt;VAL&gt;
          set the hotness threshold for function grouping and function ordering
          val indicates percentage of functions to be placed in hot region.
          This option requires /Qprof-use 
           and /Qprof-func-order
          
/Qprof-value-profiling:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          limit value profiling
            none      - inhibit all types of value profiling
            nodivide  - inhibit value profiling of non-compile time constants
                        used in division or remainder operations
            noindcall - inhibit value profiling of function addresses at
                        indirect call sites
/Qprofile-functions
          enable instrumentation in generated code for collecting
          function execution time profiles
/Qprofile-loops:&lt;ARG&gt;
          enable instrumentation in generated code for collecting
          loop execution time profiles
             inner    - instrument inner loops
             outer    - instrument outer loops
             all      - instrument all loops
/Qprofile-loops-report:&lt;ARG&gt;
          Control the level of instrumentation inserted for reporting loop
          execution profiles
             1    - report loop times
             2    - report loop times and iteration counts

Optimization Reports
--------------------

/Qvec-report&lt;N&gt;
          control amount of vectorizer diagnostic information
            n=0    no diagnostic information
            n=1    indicate vectorized loops (DEFAULT when enabled)
            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
            n=6    indicate vectorized/non-vectorized loops with greater
                   details and prohibiting data dependence information
            n=7    indicate vector code quality message ids and data values
                   for vectorized loops
/Qopt-report[:n]
          generate an optimization report to stderr
            0   disable optimization report output
            1   minimum report output
            2   medium output (DEFAULT when enabled)
            3   maximum report output
/Qopt-report-file:&lt;FILE&gt;
          specify the filename for the generated report
/Qopt-report-phase:&lt;PHASE&gt;
          specify the phase that reports are generated against
/Qopt-report-routine:&lt;NAME&gt;
          reports on routines containing the given name
/Qopt-report-help
          display the optimization phases available for reporting
/Qtcheck[:mode]
          enable analysis of threaded applications (requires Intel(R) Thread
          Checker; cannot be used with compiler alone)
            tci - instruments a program to perform a thread-count-independent
                  analysis
            tcd - instruments a program to perform a thread-count-dependent
                  analysis (DEFAULT when mode is not used)
            api - instruments a program at the api-imports level
/Qtcollect[:&lt;LIB&gt;]
          inserts instrumentation probes calling the Intel(R) Trace Collector
          API.  The library &lt;LIB&gt;.lib is linked in the default being VT.lib
          (requires Intel(R) Trace Collector)
/Qtcollect-filter:file
          Enable or disable the instrumentation of specified functions. 
          (requires Intel(R) Trace Collector)

OpenMP* and Parallel Processing
------------------------------

/Qopenmp  enable the compiler to generate multi-threaded code based on the
          OpenMP* directives (same as /openmp)
/Qopenmp-stubs
          enables the user to compile OpenMP programs in sequential mode.  The
          OpenMP directives are ignored and a stub OpenMP library is linked
          (sequential)
/Qopenmp-report{0|1|2}
          control the OpenMP parallelizer diagnostic level
/Qopenmp-lib:&lt;VER&gt;
          choose which OpenMP library version to link with
            compat - use the Microsoft compatible OpenMP run-time libraries
                     (DEFAULT)
/Qopenmp-task:&lt;ARG&gt;
          choose which OpenMP tasking model to support
            omp   - support OpenMP 3.0 tasking (DEFAULT)
            intel - support Intel taskqueuing
/Qopenmp-threadprivate:&lt;VER&gt;
          choose which threadprivate implementation to use
            compat - use the Microsoft compatible thread local storage
            legacy - use the Intel compatible implementation
                     (DEFAULT)
/Qparallel
          enable the auto-parallelizer to generate multi-threaded code for
          loops that can be safely executed in parallel
/Qpar-report{0|1|2|3}
          control the auto-parallelizer diagnostic level
/Qpar-threshold&lt;N&gt;
          set threshold for the auto-parallelization of loops where n is an
          integer from 0 to 100
/Qpar-runtime-control&lt;N&gt;
          Control parallelizer to generate runtime check code for effective 
          automatic parallelization.
            n=0    no runtime check based auto-parallelization 
            n=1    generate runtime check code under conservative mode 
                   (DEFAULT when enabled)
            n=2    generate runtime check code under heuristic mode
            n=3    generate runtime check code under aggressive mode
/Qpar-schedule-static[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Divides iterations into contiguous pieces.  Size n if
          specified, equal sized pieces if not.
/Qpar-schedule-static_balanced[:n]
          Divides iterations into even-sized chunks.  Size n if
          specified, equal sized pieces if not.
/Qpar-schedule-static-steal[:n]
          Divides iterations into even-sized chunks, but allows
          threads to steal parts of chunks from neighboring threads
/Qpar-schedule-dynamic[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Assigns iterations to threads in chunks dynamically.
          Chunk size is n iterations if specified, otherwise 1.
/Qpar-schedule-guided[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Indicates a minimum number of iterations.  If specified,
          n is the minimum number, otherwise 1.
/Qpar-schedule-guided-analytical[:n]
          Divides iterations by using exponential distribution or 
          dynamic distributions.
/Qpar-schedule-runtime
          Specifies a scheduling algorithm for DO loop iteration.
          Defers the scheduling decision until runtime.
/Qpar-schedule-auto
          Lets the compiler or run-time system determine the 
          scheduling algorithm.
/Qpar-adjust-stack&lt;N&gt;
          perform fiber-based main thread stack adjustment
/Qpar-affinity=[&lt;MODIFIER&gt;,...]&lt;TYPE&gt;[,&lt;PERMUTE&gt;][,&lt;OFFSET&gt;] 
          tune application performance by setting different thread affinity
/Qpar-num-threads=&lt;N&gt;
          tune application performance by setting different number of threads 
/Qparallel-source-info[:n]
          enable(DEFAULT)/disable the emission of source location information
          for parallel code generation with OpenMP and auto-parallelization
            0 - disable (same as /Qparallel-source-info-)
            1 - emit routine name and line information (DEFAULT)
            2 - emit path, file, routine name and line information
/Qpar     same as /Qparallel

Floating Point
--------------

/fp:&lt;NAME&gt;
          enable &lt;NAME&gt; floating point model variation
            except[-] - enable/disable floating point semantics
            fast[=1|2]  - enables more aggressive floating point optimizations
            precise     - allows value-safe optimizations
            source      - enables intermediates in source precision
            strict      - enables /fp:precise /fp:except, disables
                          contractions and enables pragma stdc fenv_access
            double      - rounds intermediates in 53-bit (double) precision
            extended    - rounds intermediates in 64-bit (extended) precision
/Qfp-speculation:&lt;MODE&gt;
          enable floating point speculations with the following &lt;MODE&gt;
          conditions:
            fast   - speculate floating point operations (DEFAULT)
            safe   - speculate only when safe
            strict - same as off
            off    - disables speculation of floating-point operations
/Qpc32    set internal FPU precision to 24 bit significand
/Qpc64    set internal FPU precision to 53 bit significand (DEFAULT) 
/Qpc80    set internal FPU precision to 64 bit significand
/Qprec    improve floating-point precision (speed impact less than /Op)
/Qprec-sqrt[-]
          determine if certain square root optimizations are enabled
/Qprec-div[-]
          improve precision of FP divides (some speed impact)
/Qfast-transcendentals[-]
          generate a faster version of the transcendental functions
/Qfp-port[-]
          round fp results at assignments and casts (some speed impact)
/Qfp-stack-check
          enable fp stack checking after every function/procedure call
/Qrcd     rounding mode to enable fast float-to-int conversions
/Qftz[-]  enable/disable flush denormal results to zero
/Qfma[-]  enable/disable the combining of floating point multiplies and
          add/subtract operations
/Qfp-trap:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          control floating point traps at program start.  &lt;ARG&gt; can be of the
          following values
            [no]divzero   - [Do not] trap on division by zero
            [no]inexact   - [Do not] trap on inexact result
            [no]invalid   - [Do not] trap on invalid operation
            [no]overflow  - [Do not] trap on overflow
            [no]underflow - [Do not] trap on underflow
            [no]denormal  - [Do not] trap on denormal
            all           - enable trap on all of the above
            none          - trap on none of the above
            common        - trap on most commonly used IEEE traps
                            (invalid, division by zero, overflow)
/Qfp-trap-all:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          control floating point traps in every routine.  &lt;ARG&gt; can be of the
          values specified in /Qfp-trap

Inlining
--------

/Ob&lt;N&gt;    control inline expansion:
            n=0  disable inlining
            n=1  inline functions declared with __inline, and perform C++
                 inlining
            n=2  inline any function, at the compiler's discretion 
/Qinline-min-size:&lt;N&gt;
          set size limit for inlining small routines
/Qinline-min-size-
          no size limit for inlining small routines
/Qinline-max-size:&lt;N&gt;
          set size limit for inlining large routines
/Qinline-max-size-
          no size limit for inlining large routines
/Qinline-max-total-size:&lt;N&gt;
          maximum increase in size for inline function expansion
/Qinline-max-total-size-
          no size limit for inline function expansion
/Qinline-max-per-routine:&lt;N&gt;
          maximum number of inline instances in any function
/Qinline-max-per-routine-
          no maximum number of inline instances in any function
/Qinline-max-per-compile:&lt;N&gt;
          maximum number of inline instances in the current compilation
/Qinline-max-per-compile-
          no maximum number of inline instances in the current compilation
/Qinline-factor:&lt;N&gt;
          set inlining upper limits by n percentage
/Qinline-factor-
          do not set set inlining upper limits
/Qinline-forceinline
          treat inline routines as forceinline
/Qinline-dllimport
          allow(DEFAULT)/disallow functions declared __declspec(dllimport) to
          be inlined
/Qinline-calloc
          directs the compiler to inline calloc() calls as malloc()/memset()

Output, Debug, PCH
------------------

/c        compile to object (.obj) only, do not link
/S        compile to assembly (.asm) only, do not link
/FAs      produce assembly file with optional source annotations 
/FAc      produce assembly file with optional code annotations 
/FA       produce assembly file
/Fa[file]
          name assembly file (or directory for multiple files; i.e. /FaMYDIR\)
/Fo[file]
          name object file (or directory for multiple files; i.e. /FoMYDIR\)
/Fe[file]
          name executable file or directory
/Fp[file]
          name precompiled header file
/Zi, /ZI, /Z7
          produce symbolic debug information in object file (implies /Od when
          another optimization option is not explicitly set)
/debug[:keyword]
          enable debug information and control output of enhanced debug
          information
            keywords:  all, full, minimal, none, [no]inline-debug-info
                       [no]expr-source-pos
/Qtrapuv  trap uninitialized variables
/RTCu     report use of variable that was not initialized
/RTC1     equivalent to /RTCsu
/RTCs     enable stack frame runtime checks
/RTCc     enable checks for converting to smaller types
/Qmap-opts
          enable option mapping tool
/Yc[file]
          create precompiled header file
/Yu[file]
          use precompiled header file
/Y-       ignore all other precompiled header file options
/Qpchi[-]
          enable(DEFAULT)/disable PCH coexistence, to reduce build time
/FD       generate file dependencies
/FR[file]
          name extended source browser file
/Qcheck-pointers:&lt;ARG&gt;
          Specifies what type of bounds checking occurs. Possible values are:
            none   - Disables bounds checking. This is the default.
            rw     - Checks bounds for reads and writes through pointers.
            write  - Checks bounds for writes through pointers only.
          This switch is only valid with Intel(R) Parallel Studio XE 
/Qcheck-pointers-dangling:&lt;ARG&gt;
          Specifies what type of dangling pointer checking occurs. Possible
          values are:
            none   - Disables dangling pointer checking. This is the default.
            heap   - Check dangling references on heap.
            stack  - Check dangling references on stack.
            all    - Check dangling references on both heap and stack.
          This switch is only valid with Intel(R) Parallel Studio XE 
/Qcheck-pointers-undimensioned[-]
          Bounds checking occurs for memory access through arrays that are
          declared without dimensions. This checking occurs for both
          dimensioned and undimensioned arrays.
          This switch is only valid with Intel(R) Parallel Studio XE

Preprocessor
------------

/QA&lt;NAME&gt;[&lt;VAL&gt;]
          create an assertion &lt;NAME&gt; having value &lt;VAL&gt;
/C        do not strip comments
/D&lt;NAME&gt;[{=|#}&lt;TEXT&gt;]
          define macro
/U&lt;NAME&gt;  remove predefined macro
/E        preprocess to stdout
/EP       preprocess to stdout, omitting #line directives
/EP /P    preprocess to file, omitting #line directives
/P        preprocess to file
/u        remove all predefined macros
/FI&lt;FILE&gt;
          force inclusion of file
/I&lt;DIR&gt;   add directory to include file search path
/X        remove standard directories from include file search path
/QH       print include file order
/QM       generate makefile dependency information
/QMM      similar to /QM, but do not include system header files
/QMG      similar to /QM, but treat missing header files as generated files
/QMD      preprocess and compile, generating output file containing dependency
          information ending with extension .d
/QMMD     similar to /QMD, but do not include system header files
/QMF&lt;FILE&gt;
          generate makefile dependency information in file (must specify /QM
          or /QMM)
/QMT&lt;TARGET&gt;
          change the default target rule for dependency generation
/QdM      output macro definitions in effect after preprocessing (use with /E)
/QdD      same as /QdM, but output #define directives in preprocessed source
/QdN      same as /QdD, but #define directives contain only macro names

Component Control
-----------------

/Qoption,&lt;TOOL&gt;,&lt;OPTS&gt;
          pass options &lt;OPTS&gt; to tool specified by &lt;TOOL&gt;
/Qlocation,&lt;TOOL&gt;,&lt;DIR&gt;
          set &lt;DIR&gt; as the location of tool specified by &lt;TOOL&gt;

Language
--------

/Qstd=&lt;STD&gt;
          enable language support for &lt;STD&gt;, as described below
            c99   enable C99 support for C programs
            c++11 enable C++11 experimental support for C++ programs
            c++0x same as c++11
/Za       disable Microsoft Visual C++ compiler language extensions
/Zg       enable the generation of function prototypes
/Zp&lt;N&gt;    specify alignment constraint for structures where 
          n=1,2,4,8,16. 16 is the default
/Zc:arg1[,arg2]
          specify standard conformance for the following arguments:
            forScope[-] enforce standard compliance in for loop scope
            wchar_t[-]  specify that wchar_t is a native data type
            auto[-]  enforce compliance to the new standard meaning for auto
/Zs       perform syntax and semantic checking only (no object file produced)
/vd{0|1}  disable or enable hidden vtordisp field in C++ objects
/vm&lt;X&gt;    specify representation method for C++ pointers to members
/J        change default char type to unsigned
/noBool   suppresses the C++ bool, true, and false keywords
/Qtemplate-depth&lt;N&gt;
          control the depth in which recursive templates are expanded
/Qrestrict[-]
          enable/disable the 'restrict' keyword for disambiguating pointers
/Qhelp-pragma
          output supported pragmas and their usage syntax
/check:&lt;KEYWORD&gt;[,&lt;KEYWORD&gt;,...]
          check run-time conditions.
          keywords:  [no]conversions, [no]stack, [no]uninit

Compiler Diagnostics
--------------------

/w        disable all warnings
/W0       print only errors
/W1, /W2, /W3
          print only errors and warnings (DEFAULT)
/W4, /Wall
          print errors, warnings and most remarks
/W5       print all errors, warnings and remarks
/WL       print brief one-line diagnostics
/WX       force warnings to be reported as errors
/Werror-all
          force warnings and currently enabled remarks to be reported as errors
/Wcheck   enable more strict diagnostics
/Wport    issue portability diagnostics
/Qeffc++  enable effective C++ diagnostic warnings
/Qwo&lt;L1&gt;[,&lt;L2&gt;,...]
          issue diagnostics L1 through LN only once
/Wp64     print diagnostics for 64-bit porting
/Qdiag-enable:&lt;V1&gt;[,&lt;V2&gt;,...]
          enable the specified diagnostics or diagnostic groups
/Qdiag-disable:&lt;V1&gt;[,&lt;V2&gt;,...]
          disable the specified diagnostics or diagnostic groups
          where &lt;VN&gt; may be individual diagnostic numbers or group names.
          where group names include:
              sc&lt;N&gt;      - perform source code analysis: n=1 for critical
                           errors, n=2 for all errors and n=3 for all errors
                           and warnings
  
  sc-
  {full|concise|precise} - perform static analysis and determine the analysis
                           mode. 
                           Full mode - attempts to find all program weaknesses,
                           even at the expense of more false positives.
                           Concise mode - attempts to reduce false positives
                           somewhat more than reducing false negatives.
                           Precise mode - attempts to avoid all false positives
                           Default: full if /Qdiag-enable:sc{[1|2|3]} is 
                           present; otherwise None 
                           (static analysis diagnostics are disabled).
                           
              sc-include - perform source code analysis on include files
              
          sc-single-file - This option tells static analysis to process each
                           file individually.
                           Default: OFF

                sc-enums - This option tells static analysis to treat
                           enumeration variables as known values equal to any
                           one of the associated enumeration literals.
                           Default: OFF

              sc-parallel&lt;N&gt; - perform analysis of parallelization in 
                               source code: n=1 for critical errors,
                               n=2 for errors, n=3 for all errors and 
                               warnings
              thread     - enable diagnostics to aid in thread-enabling source
              port-linux - enable diagnostics for Microsoft extensions that
                           may cause errors when porting to Linux/MacOS
              warn   - diagnostic messages that have "warning" severity level.
              error  - diagnostic messages that have "error" severity level.
              remark - diagnostic messages that are remarks or comments.

              vec    - diagnostic messages issued by the vectorizer.
              par    - diagnostic messages issued by the auto-parallelizer 
              openmp - diagnostic messages issued by the OpenMP* parallelizer.
              cpu-dispatch Specifies the CPU dispatch remarks. 
/Qdiag-error:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the specified diagnostics or diagnostic groups as errors
/Qdiag-warning:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the specified diagnostics or diagnostic groups as warnings
/Qdiag-remark:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the the specified diagnostics or diagnostic groups as remarks
/Qdiag-dump
          display the currently enabled diagnostic messages to stdout or to a
          specified diagnostic output file.
/Qdiag-sc-dir:&lt;DIR&gt;
          &lt;DIR&gt; directory where diagnostics from static analysis are created,
          rather than current working directory.
/Qdiag-file[:&lt;FILE&gt;]
          &lt;FILE&gt; where diagnostics are emitted to.  Not specifying this causes
          messages to be output to stderr
/Qdiag-file-append[:&lt;FILE&gt;]
          &lt;FILE&gt; where diagnostics are emitted to. When &lt;FILE&gt; already exists,
          output is appended to the file
/Qdiag-id-numbers[-]
          enable(DEFAULT)/disable the diagnostic specifiers to be output in
          numeric form
/Qdiag-error-limit:&lt;NUM&gt;
          specify the maximum number of errors emitted
/Qdiag-once:&lt;V1&gt;[,&lt;V2&gt;,...]
          issue diagnostics v1 through vN only once
/Wpch-messages[-]
          enable(DEFAULT)/disable PCH information messages

Miscellaneous
-------------

/nologo   do not display compiler version information
/Qsox[:&lt;KEYWORD&gt;[,keyword]]
          enable saving of compiler options, version and additional information
          in the executable.  Use /Qsox- to disable(DEFAULT)
            profile - include profiling data
            inline  - include inlining information
/Qsave-temps
          store the intermediate files in current directory and name them
          based on the source file.  Only saves files that are generated by
          default
/watch:&lt;KEYWORD&gt;
          tells the driver to output processing information
            keywords: all, none (same as /nowatch), [no]source,
                      [no]cmd 
/nowatch  suppress processing information output (DEFAULT)
/Tc&lt;FILE&gt;
          compile file as C source
/Tp&lt;FILE&gt;
          compile file as C++ source
/TC&lt;FILE&gt;
          compile all source or unrecognized file types as C source files
/TP&lt;FILE&gt;
          compile all source or unrecognized file types as C++ source files
/showIncludes
          emit include file names
/Qmultibyte-chars[-]
          provide support for multi-byte characters
/MP[&lt;N&gt;]  create multiple processes that can be used to compile large numbers
          of source files at the same time
/bigobj   generate objects with increased address capacity

Data
----

/Zp&lt;N&gt;    specify alignment constraint for structures (n=1,2,4,8,16
          /Zp16 DEFAULT)
/GS       enable overflow security checks.  
          /GS- disables (DEFAULT)
/GF       enable read-only string pooling optimization
/GA       optimize for Windows application (assume .exe)
/GT       enable fiber-safe thread local storage
/Qsfalign8
          may align stack for functions with 8 or 16 byte vars (DEFAULT)
/Qsfalign16
          may align stack for functions with 16 byte vars
/Qsfalign
          force stack alignment for all functions
/Qsfalign-
          disable stack alignment for all functions
/Qfnalign[-]
          align the start of functions to an optimal machine-dependent value.
          When disabled (DEFAULT) align on a 2-byte boundary
/Qfnalign:[2|16]
          align the start of functions on a 2 (DEFAULT) or 16 byte boundary
/Qglobal-hoist[-]
          enable(DEFAULT)/disable external globals are load safe
/Qkeep-static-consts[-]
          enable/disable(DEFAULT) emission of static const variables even
          when not referenced
/Qlong-double
          enable 80-bit 'long double'
/Qnobss-init
          disable placement of zero-initialized variables in BSS (use DATA)
/Qzero-initialized-in-bss[-]
          put explicitly zero initialized variables into the DATA section
          instead of the BSS section
/Qimf-absolute-error:value[:funclist]
          define the maximum allowable absolute error for math library
          function results
            value    - a positive, floating-point number conforming to the
                       format [digits][.digits][{e|E}[sign]digits]
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-accuracy-bits:bits[:funclist]
          define the relative error, measured by the number of correct bits,
          for math library function results
            bits     - a positive, floating-point number
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-arch-consistency:value[:funclist]
          ensures that the math library functions produce consistent results
          across different implementations of the same architecture
            value    - true or false
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-max-error:ulps[:funclist]
          defines the maximum allowable relative error, measured in ulps, for
          math library function results
            ulps     - a positive, floating-point number conforming to the
                       format [digits][.digits][{e|E}[sign]digits]
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-precision:value[:funclist]
          defines the accuracy (precision) for math library functions
            value    - defined as one of the following values
                       high   - equivalent to max-error = 0.6
                       medium - equivalent to max-error = 4 (DEFAULT)
                       low    - equivalent to accuracy-bits = 11 (single
                                precision); accuracy-bits = 26 (double
                                precision)
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied

Compatibility
-------------

/Qms      allow compilation of certain dubious sources
            n=0  disable Microsoft compatibility bugs
            n=1  enable most Microsoft compatibilities (DEFAULT)
            n=2  full Microsoft compatibility
/Qvc&lt;ARG&gt;
          enable compatibility with a specific Microsoft* Visual Studio version
            9   - Microsoft* Visual Studio 2008 compatibility
            10  - Microsoft* Visual Studio 2010 compatibility
            11  - Microsoft* Visual Studio 2012 compatibility
/Qgcc-dialect:&lt;VERSION&gt;
          enable a limited gcc-compatible dialect on Windows. The gcc
          version may be specified as 440, 450 or 460.
            Example: /Qgcc-dialect:440 -&amp;gt; gcc 4.4 compatibility 

Linking/Linker
--------------

/link     specify that all options following '/link' are for the linker
/F&lt;N&gt;     set the stack reserve amount specified to the linker
/LD&lt;D&gt;    produce a DLL instead of an EXE ('d' = debug version)
/MD&lt;D&gt;    use dynamically-loaded, multithread C runtime
/MT&lt;D&gt;    use statically-linked, multithread C runtime (DEFAULT with
          Microsoft Visual Studio 2005 and later)
/ML&lt;D&gt;    use statically-linked, single thread C runtime (only valid in 
          Microsoft Visual Studio 2003 environment)
/Zl       omit library names from object file

Deprecated Options
------------------

/Qinline-debug-info      use /debug:inline-debug-info
/Gf                      use /GF
/ML&lt;D&gt;                   upgrade to /MT&lt;D&gt;
/Quse-asm                No replacement
/Qprof-genx              use /Qprof-gen:srcpos
/Qdiag-enable:sv[&lt;N&gt;]    use /Qdiag-enable:sc[&lt;N&gt;]
/Qdiag-enable:sv-include use /Qdiag-enable:sc-include
/Qdiag-sv                use /Qdiag-enable:sc[&lt;N&gt;]
/Qdiag-sv-error          use /Qdiag-disable:warning
/Qdiag-sv-include        use /Qdiag-enable:sc-include
/Qdiag-sv-level          No replacement
/Qdiag-sv-sup            use /Qdiag-disable:&lt;V1&gt;[,&lt;V2&gt;,...]
/Qtprofile               No replacement
/arch:SSE                use /arch:IA32
/QxK                     upgrade to /arch:SSE2
/QaxK                    upgrade to /arch:SSE2
/QxW                     use /arch:SSE2
/QaxW                    use /arch:SSE2 
/QxN                     use /QxSSE2
/QaxN                    use /QaxSSE2
/QxP                     use /QxSSE3
/QaxP                    use /QaxSSE3
/QxT                     use /QxSSSE3
/QaxT                    use /QaxSSSE3
/QxS                     use /QxSSE4.1
/QaxS                    use /QaxSSE4.1
/QxH                     use /QxSSE4.2
/QaxH                    use /QaxSSE4.2
/QxO                     use /arch:SSE3
/Qvc7.1                  No replacement
/QIfist                  use /Qrcd
/QxSSE3_ATOM             use /QxSSSE3_ATOM
/Qrct                    No replacement
/Op                      use /fp:precise
/Fr                      use /FR
/GX                      use /EHsc
/GZ                      use /RTC1
/H                       No replacement
/QA-                     use /u
/Qc99                    use /Qstd=c99
/Qwn                     use /Qdiag-error-limit:&lt;N&gt;
/Qwd                     use /Qdiag-disable
/Qwe                     use /Qdiag-error
/Qww                     use /Qdiag-warning
/Qwr                     use /Qdiag-remark
/Qwo                     use /Qdiag-once
/Yd                      use /Zi, /ZI, /Z7
/Zd                      use /debug:minimal
/Ze                      No replacement
/Zg                      No replacement

/help, /? [category]   print full or category help message

Valid categories include
       advanced        - Advanced Optimizations
       codegen         - Code Generation
       compatibility   - Compatibility
       component       - Component Control
       data            - Data
       deprecated      - Deprecated Options
       diagnostics     - Compiler Diagnostics
       float           - Floating Point
       help            - Help
       inline          - Inlining
       ipo             - Interprocedural Optimization (IPO)
       language        - Language
       link            - Linking/Linker
       misc            - Miscellaneous
       opt             - Optimization
       output          - Output
       pgo             - Profile Guided Optimization (PGO)
       preproc         - Preprocessor
       reports         - Optimization Reports
       openmp          - OpenMP and Parallel Processing

Copyright (C) 1985-2013, Intel Corporation.  All rights reserved.
* Other names and brands may be claimed as the property of others.&lt;/N&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/N&gt;&lt;/VERSION&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/KEYWORD&gt;&lt;/KEYWORD&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/N&gt;&lt;/N&gt;&lt;/VN&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/KEYWORD&gt;&lt;/KEYWORD&gt;&lt;/N&gt;&lt;/X&gt;&lt;/N&gt;&lt;/STD&gt;&lt;/STD&gt;&lt;/TOOL&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/TOOL&gt;&lt;/TOOL&gt;&lt;/OPTS&gt;&lt;/OPTS&gt;&lt;/TOOL&gt;&lt;/TARGET&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/NAME&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/VAL&gt;&lt;/NAME&gt;&lt;/VAL&gt;&lt;/NAME&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/MODE&gt;&lt;/MODE&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/OFFSET&gt;&lt;/PERMUTE&gt;&lt;/TYPE&gt;&lt;/MODIFIER&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/VER&gt;&lt;/ARG&gt;&lt;/VER&gt;&lt;/LIB&gt;&lt;/LIB&gt;&lt;/NAME&gt;&lt;/PHASE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/VAL&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/ARG&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/FILENAME&gt;&lt;/FILENAME&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/KEYWORD&gt;&lt;/KEYWORD&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/KEYWORD&gt;&lt;/CODE&gt;&lt;/CODE&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODE2&gt;&lt;/CODE1&gt;&lt;/CODE&gt;&lt;/CODE&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:29:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102801#M69358</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:29:56Z</dc:date>
    </item>
    <item>
      <title>Icl v13.1.x 64-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102802#M69359</link>
      <description>&lt;STRONG&gt;Icl v13.1.x 64-bit Options&lt;/STRONG&gt;

                          Intel(R) C++ Compiler Help
                          ==========================

  Intel(R) Compiler includes compiler options that optimize for instruction
  sets that are available in both Intel(R) and non-Intel microprocessors, but
  may perform additional optimizations for Intel microprocessors than for
  non-Intel microprocessors.  In addition, certain compiler options for
  Intel(R) Compiler are reserved for Intel microprocessors.  For a detailed
  description of these compiler options, including the instructions they
  implicate, please refer to "Intel(R) Compiler User and Reference Guides &amp;gt;
  Compiler Options."

  usage: icl [options] file1 [file2 ...] [/link linker_options]

     where options represents zero or more compiler options

     fileN is a C/C++ source (.c .cc .cpp .cxx .i), assembly (.asm),
     object (.obj), static library (.lib), or other linkable file
     linker_options represents zero or more linker options

Notes
-----
1. Most Microsoft* Visual C++* compiler options are supported; a warning is
   printed for most unsupported options.  The precise behavior of performance
   options does not always match that of the Microsoft Visual C++ compiler.

2. Intel C++ compiler options may be placed in your icl.cfg file.

3. Most options beginning with /Q are specific to the Intel C++ compiler:
   (*I) indicates other options specific to the Intel C++ compiler
   (*M) indicates /Q options supported by the Microsoft Visual C++ compiler

   Some options listed are only available on a specific system
   i32    indicates the feature is available on systems based on IA-32
          architecture
   i64em  indicates the feature is available on systems using Intel(R) 64
          architecture

                             Compiler Option List
                             --------------------

Optimization
------------

/O1       optimize for maximum speed, but disable some optimizations which
          increase code size for a small speed benefit
/O2       optimize for maximum speed (DEFAULT)
/O3       optimize for maximum speed and enable more aggressive optimizations
          that may not improve performance on some programs
/Ox       enable maximum optimizations (same as /O2)
/Os       enable speed optimizations, but disable some optimizations which
          increase code size for small speed benefit (overrides /Ot)
/Ot       enable speed optimizations (overrides /Os)
/Od       disable optimizations
/Oi[-]    enable/disable inline expansion of intrinsic functions
/Oy[-]    enable/disable using EBP as a general purpose register (no frame
          pointer) (i32 only)
/fast     enable /QxHOST /O3 /Qipo /Qprec-div-
          options set by /fast cannot be overridden with the exception of
          /QxHOST, list options separately to change behavior
/Oa[-]    assume no aliasing in program
/Ow[-]    assume no aliasing within functions, but assume aliasing across calls

Code Generation
---------------

/Qx&lt;CODE&gt;
          generate specialized code to run exclusively on processors
          indicated by &lt;CODE&gt; as described below
            SSE2    May generate Intel(R) SSE2 and SSE instructions for Intel
                    processors.  Optimizes for the Intel NetBurst(R)
                    microarchitecture.
            SSE3    May generate Intel(R) SSE3, SSE2, and SSE instructions for
                    Intel processors.  Optimizes for the enhanced Pentium(R) M 
                    processor microarchitecture and Intel NetBurst(R)
                    microarchitecture. 
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors.  Optimizes for the
                    Intel(R) Core(TM) microarchitecture.
            SSE4.1  May generate Intel(R) SSE4 Vectorizing Compiler and Media
                    Accelerator instructions for Intel processors.  May 
                    generate Intel(R) SSSE3, SSE3, SSE2, and SSE instructions
                    and it may optimize for Intel(R) 45nm Hi-k next generation
                    Intel Core(TM) microarchitecture.
            SSE4.2  May generate Intel(R) SSE4 Efficient Accelerated String
                    and Text Processing instructions supported by Intel(R)
                    Core(TM) i7 processors.  May generate Intel(R) SSE4 
                    Vectorizing Compiler and Media Accelerator, Intel(R) SSSE3,
                    SSE3, SSE2, and SSE instructions and it may optimize for
                    the Intel(R) Core(TM) processor family.
            AVX     May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
                    Optimizes for a future Intel processor.
            CORE-AVX2
                    May generate Intel(R) Advanced Vector Extensions 2
                    (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
                    Optimizes for a future Intel processor.
            CORE-AVX-I
                    May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), including instructions in Intel(R) Core 2(TM)
                    processors in process technology smaller than 32nm,
                    Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel(R) processors. Optimizes for a
                    future Intel processor. 
            SSSE3_ATOM
                    May generate MOVBE instructions for Intel processors,
                    depending on the setting of option /Qinstruction.
                    May also generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors. Optimizes for the
                    Intel(R) Atom(TM) processor and Intel(R) Centrino(R)
                    Atom(TM) Processor Technology.
/QxHost   generate instructions for the highest instruction set and processor
          available on the compilation host machine
/Qax&lt;CODE1&gt;[,&lt;CODE2&gt;,...]
          generate code specialized for processors specified by &lt;CODES&gt;
          while also generating generic IA-32 instructions.  
          &lt;CODES&gt; includes one or more of the following:
            SSE2    May generate Intel(R) SSE2 and SSE instructions for Intel
                    processors.
            SSE3    May generate Intel(R) SSE3, SSE2, and SSE instructions for
                    Intel processors. 
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors.
            SSE4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2, and SSE
                   instructions for Intel processors.
            SSE4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2,
                    and SSE instructions for Intel processors.
            AVX     May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
            CORE-AVX2
                    May generate Intel(R) Advanced Vector Extensions 2
                    (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2, and SSE instructions for Intel(R) processors.
            CORE-AVX-I
                    May generate Intel(R) Advanced Vector Extensions (Intel(R)
                    AVX), including instructions in Intel(R) Core 2(TM)
                    processors in process technology smaller than 32nm,
                    Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel(R) processors.
/arch:&lt;CODE&gt;
          generate specialized code to optimize for processors indicated by
          &lt;CODE&gt; as described below
            SSE2    May generate Intel(R) SSE2 and SSE instructions
            SSE3    May generate Intel(R) SSE3, SSE2 and SSE instructions
            SSSE3   May generate Intel(R) SSSE3, SSE3, SSE2 and SSE
                    instructions
            SSE4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2 and SSE
                    instructions
            SSE4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 and
                    SSE instructions
            AVX     May generate Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                    SSE2 and SSE instructions
/Qinstruction:&lt;KEYWORD&gt;
          Refine instruction set output for the selected target processor

            [no]movbe  - Do/do not generate MOVBE instructions with SSSE3_ATOM
                          (requires /QxSSSE3_ATOM)
           
/GR[-]    enable/disable C++ RTTI
/Qcxx-features
          enable standard C++ features (/GX /GR)
/EHa      enable asynchronous C++ exception handling model
/EHs      enable synchronous C++ exception handling model
/EHc      assume extern "C" functions do not throw exceptions
/Qsafeseh[-]
          Registers exceptions for safe exception handling (DEFAULT)
/Qregcall
          make __regcall the default calling convention
/hotpatch[:n]
          generate padding bytes for function entries to enable image
          hotpatching. If specified, use 'n' as the padding.
/Qextend-arguments:[32|64]
          By default, unprototyped scalar integer arguments are passed
          in 32-bits (sign-extended if necessary).
          On Intel(R) 64, unprototyped scalar integer arguments may be 
          extended to 64-bits.

Interprocedural Optimization (IPO)
----------------------------------

/Qip[-]   enable(DEFAULT)/disable single-file IP optimization
          within files
/Qipo&lt;N&gt;  enable multi-file IP optimization between files
/Qipo-c   generate a multi-file object file (ipo_out.obj)
/Qipo-S   generate a multi-file assembly file (ipo_out.asm)
/Qip-no-inlining
          disable full and partial inlining
/Qip-no-pinlining
          disable partial inlining
/Qipo-separate
          create one object file for every source file (overrides /Qipo&lt;N&gt;)
/Qipo-jobs&lt;N&gt;
          specify the number of jobs to be executed simultaneously during the
          IPO link phase

Advanced Optimizations
----------------------

/Qunroll&lt;N&gt;
          set maximum number of times to unroll loops.  Omit n to use default
          heuristics.  Use n=0 to disable the loop unroller
/Qunroll-aggressive[-]
          enables more aggressive unrolling heuristics
/Qscalar-rep[-]
          enable(DEFAULT)/disable scalar replacement (requires /O3)
/Qansi-alias[-]
          enable/disable(DEFAULT) use of ANSI aliasing rules optimizations;
          user asserts that the program adheres to these rules
/Qansi-alias-check[-]
          enable(DEFAULT)/disable ANSI alias checking when using /Qansi-alias
/Qcomplex-limited-range[-]
          enable/disable(DEFAULT) the use of the basic algebraic expansions of
          some complex arithmetic operations.  This can allow for some
          performance improvement in programs which use a lot of complex
          arithmetic at the loss of some exponent range.
/Qalias-const[-]
          enable/disable(DEFAULT) a heuristic stating that if two arguments to
          a function have pointer type, a pointer to const does not alias a
          pointer to non-const. Also known as the input/output buffer rule, it
          assumes that input and output buffer arguments do not overlap.
/Qalias-args[-]
          enable(DEFAULT)/disable C/C++ rule that function arguments may be
          aliased; when disabling the rule, the user asserts that this is safe
/Qopt-multi-version-aggressive[-]
          enables more aggressive multi-versioning to check for pointer
          aliasing and scalar replacement
/Qopt-ra-region-strategy[:&lt;KEYWORD&gt;]
          select the method that the register allocator uses to partition each
          routine into regions
            routine - one region per routine
            block   - one region per block
            trace   - one region per trace
            loop    - one region per loop
            default - compiler selects best option
/Qvec[-]  enables(DEFAULT)/disables vectorization
/Qvec-guard-write[-]
          enables cache/bandwidth optimization for stores under conditionals
          within vector loops
/Qvec-threshold&lt;N&gt;
          sets a threshold for the vectorization of loops based on the
          probability of profitable execution of the vectorized loop in
          parallel
/Qopt-malloc-options:{0|1|2|3|4}
          specify malloc configuration parameters.  Specifying a non-zero &lt;N&gt;
          value will cause alternate configuration parameters to be set for
          how malloc allocates and frees memory
/Qopt-jump-tables:&lt;ARG&gt;
          control the generation of jump tables
            default - let the compiler decide when a jump table, a series of
                      if-then-else constructs or a combination is generated
            large   - generate jump tables up to a certain pre-defined size
                      (64K entries)
            &lt;N&gt;     - generate jump tables up to &lt;N&gt; in size
          use /Qopt-jump-tables- to lower switch statements as chains of
          if-then-else constructs
/Qopt-block-factor:&lt;N&gt;
          specify blocking factor for loop blocking
/Qfreestanding
          compile in a freestanding environment where the standard library
          may not be present
/Qopt-streaming-stores:&lt;ARG&gt;
          specifies whether streaming stores are generated
            always - enables generation of streaming stores under the
            assumption that the application is memory bound
            auto   - compiler decides when streaming stores are used (DEFAULT)
            never  - disables generation of streaming stores
/Qipp[:&lt;ARG&gt;]
          link some or all of the Intel(R) Integrated Performance Primitives
          (Intel(R) IPP) libraries and bring in the associated headers
            common        - link using the main libraries set.  This is the
                            default value when /Qipp is specified 
            crypto        - link using the main libraries set and the crypto
                            library
            gen           - link using the main libraries set and the fixed 
                            size generated functions library

/Qipp-link:&lt;ARG&gt;
          choose whether to link with static or dynamic libraries to support
          Intel(R) Integrated Performance Primitives (Intel(R) IPP) 
            dynamic       - link using the dynamic libraries set.  This is the
                            default value when /Qipp is specified on Windows
            static        - link using the static libraries set.  This is the 
                            default value when /Qipp is specified on Linux 
            static_thread - link using the optional threaded libraries set 
                            Note: these are provided in a separate install kit

/Qmkl[:&lt;ARG&gt;]
          link to the Intel(R) Math Kernel Library (Intel(R) MKL) and bring
          in the associated headers
            parallel   - link using the threaded Intel(R) MKL libraries. This
                         is the default when /Qmkl is specified
            sequential - link using the non-threaded Intel(R) MKL libraries
            cluster    - link using the Intel(R) MKL Cluster libraries plus
                         the sequential Intel(R) MKL libraries
/Qtbb     link to the Intel(R) Threading Building Blocks (Intel(R) TBB) 
          libraries and bring in the associated headers
/Qopt-subscript-in-range[-]
          assumes no overflows in the intermediate computation of the
          subscripts
/Quse-intel-optimized-headers[-]
          take advantage of the optimized header files
/Qcilk-serialize
          run a Cilk program as a C/C++ serialized program
/Qvla[-]  enable/disable(DEFAULT) Variable Length Arrays (C99 feature)
/Qintel-extensions[-]
          enable(DEFAULT)/disable C/C++ language extensions such as array
          notation, Intel(R) Cilk(TM) Plus language extensions, and 
          support for decimal floating-point types.
/Qopt-matmul[-]
          replace matrix multiplication with calls to intrinsics and threading
          libraries for improved performance (DEFAULT at /O3 /Qparallel)
/Qsimd[-]
          enables(DEFAULT)/disables vectorization using simd pragma
/Qguide-opts:&lt;ARG&gt;
          tells the compiler to analyze certain code and generate 
          recommendations that may improve optimizations
/Qguide-file[:&lt;FILENAME&gt;]
          causes the results of guide to be output to a file
/Qguide-file-append[:&lt;FILENAME&gt;]
          causes the results of guide to be appended to a file
/Qguide[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-vectorization,
          auto-parallelization, and data transformation (DEFAULT is 4 when the
          option is specified)
/Qguide-data-trans[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for data transformation
          (DEFAULT is 4 when the option is specified)
/Qguide-par[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-parallelization
          (DEFAULT is 4 when the option is specified)
/Qguide-vec[:&lt;LEVEL&gt;]
          lets you set a level (1 - 4) of guidance for auto-vectorization
          (DEFAULT is 4 when the option is specified)
/Qguide-profile:&amp;lt;[file|dir]&amp;gt;[,[file|dir],...]
          specify a loop profiler data file (or set of files in a directory)
          when using the /Qguide option
/Qopt-mem-layout-trans[:&lt;LEVEL&gt;]
          controls the level of memory layout transformations performed by the
          compiler
           0 - disable memory layout transformations (same as
               /Qopt-mem-layout-trans-)
           1 - enable basic memory layout transformations
           2 - enable more memory layout transformations  (DEFAULT when the
               option is specified)
           3 - enable aggressive memory layout transformations
/Qopt-prefetch[:n]
          enable levels of prefetch insertion, where 0 disables.
          n may be 0 through 4 inclusive.  Default is 2.
/Qopt-prefetch-
          disable(DEFAULT) prefetch insertion.  Equivalent to /Qopt-prefetch:0

Profile Guided Optimization (PGO)
---------------------------------

/Qprof-dir &lt;DIR&gt;
          specify directory for profiling output files (*.dyn and *.dpi)
/Qprof-src-root &lt;DIR&gt;
          specify project root directory for application source files to
          enable relative path resolution during profile feedback on sources
          below that directory
/Qprof-src-root-cwd
          specify the current directory as the project root directory for
          application source files to enable relative path resolution during
          profile feedback on sources below that directory
/Qprof-src-dir[-]
          specify whether directory names of sources should be 
          considered when looking up profile records within the .dpi file
/Qprof-file &lt;FILE&gt;
          specify file name for profiling summary file
/Qprof-data-order[-]
          enable/disable(DEFAULT) static data ordering with profiling
/Qprof-func-order[-]
          enable/disable(DEFAULT) function ordering with profiling
/Qprof-gen[:keyword]
          instrument program for profiling.
          Optional keyword may be srcpos or globdata
/Qprof-gen-
          disable profiling instrumentation
/Qprof-use[:&lt;ARG&gt;]
          enable use of profiling information during optimization
            weighted  - invokes profmerge with -weighted option to scale data
                        based on run durations
            [no]merge - enable(default)/disable the invocation of the profmerge
                        tool
/Qprof-use-
          disable use of profiling information during optimization
/Qcov-gen
          instrument program for profiling
/Qcov-dir &lt;DIR&gt;
          specify directory for profiling output files (*.dyn and *.dpi)
/Qcov-file &lt;FILE&gt;
          specify file name for profiling summary file
/Qinstrument-functions[-]
          determine whether function entry and exit points are instrumented
/Qprof-hotness-threshold:&lt;VAL&gt;
          set the hotness threshold for function grouping and function ordering
          val indicates percentage of functions to be placed in hot region.
          This option requires /Qprof-use 
           and /Qprof-func-order
          
/Qprof-value-profiling:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          limit value profiling
            none      - inhibit all types of value profiling
            nodivide  - inhibit value profiling of non-compile time constants
                        used in division or remainder operations
            noindcall - inhibit value profiling of function addresses at
                        indirect call sites
/Qprofile-functions
          enable instrumentation in generated code for collecting
          function execution time profiles
/Qprofile-loops:&lt;ARG&gt;
          enable instrumentation in generated code for collecting
          loop execution time profiles
             inner    - instrument inner loops
             outer    - instrument outer loops
             all      - instrument all loops
/Qprofile-loops-report:&lt;ARG&gt;
          Control the level of instrumentation inserted for reporting loop
          execution profiles
             1    - report loop times
             2    - report loop times and iteration counts

Optimization Reports
--------------------

/Qvec-report&lt;N&gt;
          control amount of vectorizer diagnostic information
            n=0    no diagnostic information
            n=1    indicate vectorized loops (DEFAULT when enabled)
            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
            n=6    indicate vectorized/non-vectorized loops with greater
                   details and prohibiting data dependence information
            n=7    indicate vector code quality message ids and data values
                   for vectorized loops
/Qopt-report[:n]
          generate an optimization report to stderr
            0   disable optimization report output
            1   minimum report output
            2   medium output (DEFAULT when enabled)
            3   maximum report output
/Qopt-report-file:&lt;FILE&gt;
          specify the filename for the generated report
/Qopt-report-phase:&lt;PHASE&gt;
          specify the phase that reports are generated against
/Qopt-report-routine:&lt;NAME&gt;
          reports on routines containing the given name
/Qopt-report-help
          display the optimization phases available for reporting
/Qtcheck[:mode]
          enable analysis of threaded applications (requires Intel(R) Thread
          Checker; cannot be used with compiler alone)
            tci - instruments a program to perform a thread-count-independent
                  analysis
            tcd - instruments a program to perform a thread-count-dependent
                  analysis (DEFAULT when mode is not used)
            api - instruments a program at the api-imports level
/Qtcollect[:&lt;LIB&gt;]
          inserts instrumentation probes calling the Intel(R) Trace Collector
          API.  The library &lt;LIB&gt;.lib is linked in the default being VT.lib
          (requires Intel(R) Trace Collector)
/Qtcollect-filter:file
          Enable or disable the instrumentation of specified functions. 
          (requires Intel(R) Trace Collector)

OpenMP* and Parallel Processing
------------------------------

/Qopenmp  enable the compiler to generate multi-threaded code based on the
          OpenMP* directives (same as /openmp)
/Qopenmp-stubs
          enables the user to compile OpenMP programs in sequential mode.  The
          OpenMP directives are ignored and a stub OpenMP library is linked
          (sequential)
/Qopenmp-report{0|1|2}
          control the OpenMP parallelizer diagnostic level
/Qopenmp-lib:&lt;VER&gt;
          choose which OpenMP library version to link with
            compat - use the Microsoft compatible OpenMP run-time libraries
                     (DEFAULT)
/Qopenmp-task:&lt;ARG&gt;
          choose which OpenMP tasking model to support
            omp   - support OpenMP 3.0 tasking (DEFAULT)
            intel - support Intel taskqueuing
/Qopenmp-threadprivate:&lt;VER&gt;
          choose which threadprivate implementation to use
            compat - use the Microsoft compatible thread local storage
            legacy - use the Intel compatible implementation
                     (DEFAULT)
/Qparallel
          enable the auto-parallelizer to generate multi-threaded code for
          loops that can be safely executed in parallel
/Qpar-report{0|1|2|3}
          control the auto-parallelizer diagnostic level
/Qpar-threshold&lt;N&gt;
          set threshold for the auto-parallelization of loops where n is an
          integer from 0 to 100
/Qpar-runtime-control&lt;N&gt;
          Control parallelizer to generate runtime check code for effective 
          automatic parallelization.
            n=0    no runtime check based auto-parallelization 
            n=1    generate runtime check code under conservative mode 
                   (DEFAULT when enabled)
            n=2    generate runtime check code under heuristic mode
            n=3    generate runtime check code under aggressive mode
/Qpar-schedule-static[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Divides iterations into contiguous pieces.  Size n if
          specified, equal sized pieces if not.
/Qpar-schedule-static_balanced[:n]
          Divides iterations into even-sized chunks.  Size n if
          specified, equal sized pieces if not.
/Qpar-schedule-static-steal[:n]
          Divides iterations into even-sized chunks, but allows
          threads to steal parts of chunks from neighboring threads
/Qpar-schedule-dynamic[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Assigns iterations to threads in chunks dynamically.
          Chunk size is n iterations if specified, otherwise 1.
/Qpar-schedule-guided[:n]
          Specifies a scheduling algorithm for DO loop iteration.
          Indicates a minimum number of iterations.  If specified,
          n is the minimum number, otherwise 1.
/Qpar-schedule-guided-analytical[:n]
          Divides iterations by using exponential distribution or 
          dynamic distributions.
/Qpar-schedule-runtime
          Specifies a scheduling algorithm for DO loop iteration.
          Defers the scheduling decision until runtime.
/Qpar-schedule-auto
          Lets the compiler or run-time system determine the 
          scheduling algorithm.
/Qpar-adjust-stack&lt;N&gt;
          perform fiber-based main thread stack adjustment
/Qpar-affinity=[&lt;MODIFIER&gt;,...]&lt;TYPE&gt;[,&lt;PERMUTE&gt;][,&lt;OFFSET&gt;] 
          tune application performance by setting different thread affinity
/Qpar-num-threads=&lt;N&gt;
          tune application performance by setting different number of threads 
/Qparallel-source-info[:n]
          enable(DEFAULT)/disable the emission of source location information
          for parallel code generation with OpenMP and auto-parallelization
            0 - disable (same as /Qparallel-source-info-)
            1 - emit routine name and line information (DEFAULT)
            2 - emit path, file, routine name and line information
/Qpar     same as /Qparallel

Floating Point
--------------

/fp:&lt;NAME&gt;
          enable &lt;NAME&gt; floating point model variation
            except[-] - enable/disable floating point semantics
            fast[=1|2]  - enables more aggressive floating point optimizations
            precise     - allows value-safe optimizations
            source      - enables intermediates in source precision
            strict      - enables /fp:precise /fp:except, disables
                          contractions and enables pragma stdc fenv_access
            double      - rounds intermediates in 53-bit (double) precision
            extended    - rounds intermediates in 64-bit (extended) precision
/Qfp-speculation:&lt;MODE&gt;
          enable floating point speculations with the following &lt;MODE&gt;
          conditions:
            fast   - speculate floating point operations (DEFAULT)
            safe   - speculate only when safe
            strict - same as off
            off    - disables speculation of floating-point operations
/Qpc32    set internal FPU precision to 24 bit significand
/Qprec    improve floating-point precision (speed impact less than /Op)
/Qprec-sqrt[-]
          determine if certain square root optimizations are enabled
/Qprec-div[-]
          improve precision of FP divides (some speed impact)
/Qfast-transcendentals[-]
          generate a faster version of the transcendental functions
/Qfp-port[-]
          round fp results at assignments and casts (some speed impact)
/Qfp-stack-check
          enable fp stack checking after every function/procedure call
/Qrcd     rounding mode to enable fast float-to-int conversions
/Qftz[-]  enable/disable flush denormal results to zero
/Qfma[-]  enable/disable the combining of floating point multiplies and
          add/subtract operations
/Qfp-trap:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          control floating point traps at program start.  &lt;ARG&gt; can be of the
          following values
            [no]divzero   - [Do not] trap on division by zero
            [no]inexact   - [Do not] trap on inexact result
            [no]invalid   - [Do not] trap on invalid operation
            [no]overflow  - [Do not] trap on overflow
            [no]underflow - [Do not] trap on underflow
            [no]denormal  - [Do not] trap on denormal
            all           - enable trap on all of the above
            none          - trap on none of the above
            common        - trap on most commonly used IEEE traps
                            (invalid, division by zero, overflow)
/Qfp-trap-all:&lt;ARG&gt;[,&lt;ARG&gt;,...]
          control floating point traps in every routine.  &lt;ARG&gt; can be of the
          values specified in /Qfp-trap

Inlining
--------

/Ob&lt;N&gt;    control inline expansion:
            n=0  disable inlining
            n=1  inline functions declared with __inline, and perform C++
                 inlining
            n=2  inline any function, at the compiler's discretion 
/Qinline-min-size:&lt;N&gt;
          set size limit for inlining small routines
/Qinline-min-size-
          no size limit for inlining small routines
/Qinline-max-size:&lt;N&gt;
          set size limit for inlining large routines
/Qinline-max-size-
          no size limit for inlining large routines
/Qinline-max-total-size:&lt;N&gt;
          maximum increase in size for inline function expansion
/Qinline-max-total-size-
          no size limit for inline function expansion
/Qinline-max-per-routine:&lt;N&gt;
          maximum number of inline instances in any function
/Qinline-max-per-routine-
          no maximum number of inline instances in any function
/Qinline-max-per-compile:&lt;N&gt;
          maximum number of inline instances in the current compilation
/Qinline-max-per-compile-
          no maximum number of inline instances in the current compilation
/Qinline-factor:&lt;N&gt;
          set inlining upper limits by n percentage
/Qinline-factor-
          do not set set inlining upper limits
/Qinline-forceinline
          treat inline routines as forceinline
/Qinline-dllimport
          allow(DEFAULT)/disallow functions declared __declspec(dllimport) to
          be inlined
/Qinline-calloc
          directs the compiler to inline calloc() calls as malloc()/memset()

Output, Debug, PCH
------------------

/c        compile to object (.obj) only, do not link
/S        compile to assembly (.asm) only, do not link
/FAs      produce assembly file with optional source annotations 
/FAc      produce assembly file with optional code annotations 
/FA       produce assembly file
/Fa[file]
          name assembly file (or directory for multiple files; i.e. /FaMYDIR\)
/Fo[file]
          name object file (or directory for multiple files; i.e. /FoMYDIR\)
/Fe[file]
          name executable file or directory
/Fp[file]
          name precompiled header file
/Zi, /ZI, /Z7
          produce symbolic debug information in object file (implies /Od when
          another optimization option is not explicitly set)
/debug[:keyword]
          enable debug information and control output of enhanced debug
          information
            keywords:  all, full, minimal, none, [no]inline-debug-info
                       [no]expr-source-pos
/Qtrapuv  trap uninitialized variables
/RTCu     report use of variable that was not initialized
/RTC1     equivalent to /RTCsu
/RTCs     enable stack frame runtime checks
/RTCc     enable checks for converting to smaller types
/Qmap-opts
          enable option mapping tool
/Yc[file]
          create precompiled header file
/Yu[file]
          use precompiled header file
/Y-       ignore all other precompiled header file options
/Qpchi[-]
          enable(DEFAULT)/disable PCH coexistence, to reduce build time
/FD       generate file dependencies
/FR[file]
          name extended source browser file
/Qcheck-pointers:&lt;ARG&gt;
          Specifies what type of bounds checking occurs. Possible values are:
            none   - Disables bounds checking. This is the default.
            rw     - Checks bounds for reads and writes through pointers.
            write  - Checks bounds for writes through pointers only.
          This switch is only valid with Intel(R) Parallel Studio XE 
/Qcheck-pointers-dangling:&lt;ARG&gt;
          Specifies what type of dangling pointer checking occurs. Possible
          values are:
            none   - Disables dangling pointer checking. This is the default.
            heap   - Check dangling references on heap.
            stack  - Check dangling references on stack.
            all    - Check dangling references on both heap and stack.
          This switch is only valid with Intel(R) Parallel Studio XE 
/Qcheck-pointers-undimensioned[-]
          Bounds checking occurs for memory access through arrays that are
          declared without dimensions. This checking occurs for both
          dimensioned and undimensioned arrays.
          This switch is only valid with Intel(R) Parallel Studio XE

Preprocessor
------------

/QA&lt;NAME&gt;[&lt;VAL&gt;]
          create an assertion &lt;NAME&gt; having value &lt;VAL&gt;
/C        do not strip comments
/D&lt;NAME&gt;[{=|#}&lt;TEXT&gt;]
          define macro
/U&lt;NAME&gt;  remove predefined macro
/E        preprocess to stdout
/EP       preprocess to stdout, omitting #line directives
/EP /P    preprocess to file, omitting #line directives
/P        preprocess to file
/u        remove all predefined macros
/FI&lt;FILE&gt;
          force inclusion of file
/I&lt;DIR&gt;   add directory to include file search path
/X        remove standard directories from include file search path
/QH       print include file order
/QM       generate makefile dependency information
/QMM      similar to /QM, but do not include system header files
/QMG      similar to /QM, but treat missing header files as generated files
/QMD      preprocess and compile, generating output file containing dependency
          information ending with extension .d
/QMMD     similar to /QMD, but do not include system header files
/QMF&lt;FILE&gt;
          generate makefile dependency information in file (must specify /QM
          or /QMM)
/QMT&lt;TARGET&gt;
          change the default target rule for dependency generation
/QdM      output macro definitions in effect after preprocessing (use with /E)
/QdD      same as /QdM, but output #define directives in preprocessed source
/QdN      same as /QdD, but #define directives contain only macro names

Component Control
-----------------

/Qoption,&lt;TOOL&gt;,&lt;OPTS&gt;
          pass options &lt;OPTS&gt; to tool specified by &lt;TOOL&gt;
/Qlocation,&lt;TOOL&gt;,&lt;DIR&gt;
          set &lt;DIR&gt; as the location of tool specified by &lt;TOOL&gt;

Language
--------

/Qstd=&lt;STD&gt;
          enable language support for &lt;STD&gt;, as described below
            c99   enable C99 support for C programs
            c++11 enable C++11 experimental support for C++ programs
            c++0x same as c++11
/Za       disable Microsoft Visual C++ compiler language extensions
/Zg       enable the generation of function prototypes
/Zp&lt;N&gt;    specify alignment constraint for structures where 
          n=1,2,4,8,16. 16 is the default
/Zc:arg1[,arg2]
          specify standard conformance for the following arguments:
            forScope[-] enforce standard compliance in for loop scope
            wchar_t[-]  specify that wchar_t is a native data type
            auto[-]  enforce compliance to the new standard meaning for auto
/Zs       perform syntax and semantic checking only (no object file produced)
/vd{0|1}  disable or enable hidden vtordisp field in C++ objects
/vm&lt;X&gt;    specify representation method for C++ pointers to members
/J        change default char type to unsigned
/noBool   suppresses the C++ bool, true, and false keywords
/Qtemplate-depth&lt;N&gt;
          control the depth in which recursive templates are expanded
/Qrestrict[-]
          enable/disable the 'restrict' keyword for disambiguating pointers
/Qhelp-pragma
          output supported pragmas and their usage syntax
/check:&lt;KEYWORD&gt;[,&lt;KEYWORD&gt;,...]
          check run-time conditions.
          keywords:  [no]conversions, [no]stack, [no]uninit

Compiler Diagnostics
--------------------

/w        disable all warnings
/W0       print only errors
/W1, /W2, /W3
          print only errors and warnings (DEFAULT)
/W4, /Wall
          print errors, warnings and most remarks
/W5       print all errors, warnings and remarks
/WL       print brief one-line diagnostics
/WX       force warnings to be reported as errors
/Werror-all
          force warnings and currently enabled remarks to be reported as errors
/Wcheck   enable more strict diagnostics
/Wport    issue portability diagnostics
/Qeffc++  enable effective C++ diagnostic warnings
/Qwo&lt;L1&gt;[,&lt;L2&gt;,...]
          issue diagnostics L1 through LN only once
/Wp64     print diagnostics for 64-bit porting
/Qdiag-enable:&lt;V1&gt;[,&lt;V2&gt;,...]
          enable the specified diagnostics or diagnostic groups
/Qdiag-disable:&lt;V1&gt;[,&lt;V2&gt;,...]
          disable the specified diagnostics or diagnostic groups
          where &lt;VN&gt; may be individual diagnostic numbers or group names.
          where group names include:
              sc&lt;N&gt;      - perform source code analysis: n=1 for critical
                           errors, n=2 for all errors and n=3 for all errors
                           and warnings
  
  sc-
  {full|concise|precise} - perform static analysis and determine the analysis
                           mode. 
                           Full mode - attempts to find all program weaknesses,
                           even at the expense of more false positives.
                           Concise mode - attempts to reduce false positives
                           somewhat more than reducing false negatives.
                           Precise mode - attempts to avoid all false positives
                           Default: full if /Qdiag-enable:sc{[1|2|3]} is 
                           present; otherwise None 
                           (static analysis diagnostics are disabled).
                           
              sc-include - perform source code analysis on include files
              
          sc-single-file - This option tells static analysis to process each
                           file individually.
                           Default: OFF

                sc-enums - This option tells static analysis to treat
                           enumeration variables as known values equal to any
                           one of the associated enumeration literals.
                           Default: OFF

              sc-parallel&lt;N&gt; - perform analysis of parallelization in 
                               source code: n=1 for critical errors,
                               n=2 for errors, n=3 for all errors and 
                               warnings
              thread     - enable diagnostics to aid in thread-enabling source
              port-linux - enable diagnostics for Microsoft extensions that
                           may cause errors when porting to Linux/MacOS
              warn   - diagnostic messages that have "warning" severity level.
              error  - diagnostic messages that have "error" severity level.
              remark - diagnostic messages that are remarks or comments.

              vec    - diagnostic messages issued by the vectorizer.
              par    - diagnostic messages issued by the auto-parallelizer 
              openmp - diagnostic messages issued by the OpenMP* parallelizer.
              cpu-dispatch Specifies the CPU dispatch remarks. 
/Qdiag-error:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the specified diagnostics or diagnostic groups as errors
/Qdiag-warning:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the specified diagnostics or diagnostic groups as warnings
/Qdiag-remark:&lt;V1&gt;[,&lt;V2&gt;,...]
          output the the specified diagnostics or diagnostic groups as remarks
/Qdiag-dump
          display the currently enabled diagnostic messages to stdout or to a
          specified diagnostic output file.
/Qdiag-sc-dir:&lt;DIR&gt;
          &lt;DIR&gt; directory where diagnostics from static analysis are created,
          rather than current working directory.
/Qdiag-file[:&lt;FILE&gt;]
          &lt;FILE&gt; where diagnostics are emitted to.  Not specifying this causes
          messages to be output to stderr
/Qdiag-file-append[:&lt;FILE&gt;]
          &lt;FILE&gt; where diagnostics are emitted to. When &lt;FILE&gt; already exists,
          output is appended to the file
/Qdiag-id-numbers[-]
          enable(DEFAULT)/disable the diagnostic specifiers to be output in
          numeric form
/Qdiag-error-limit:&lt;NUM&gt;
          specify the maximum number of errors emitted
/Qdiag-once:&lt;V1&gt;[,&lt;V2&gt;,...]
          issue diagnostics v1 through vN only once
/Wpch-messages[-]
          enable(DEFAULT)/disable PCH information messages

Miscellaneous
-------------

/nologo   do not display compiler version information
/Qsox[:&lt;KEYWORD&gt;[,keyword]]
          enable saving of compiler options, version and additional information
          in the executable.  Use /Qsox- to disable(DEFAULT)
            profile - include profiling data
            inline  - include inlining information
/Qsave-temps
          store the intermediate files in current directory and name them
          based on the source file.  Only saves files that are generated by
          default
/watch:&lt;KEYWORD&gt;
          tells the driver to output processing information
            keywords: all, none (same as /nowatch), [no]source,
                      [no]cmd 
                      [no]mic-cmd
/nowatch  suppress processing information output (DEFAULT)
/Tc&lt;FILE&gt;
          compile file as C source
/Tp&lt;FILE&gt;
          compile file as C++ source
/TC&lt;FILE&gt;
          compile all source or unrecognized file types as C source files
/TP&lt;FILE&gt;
          compile all source or unrecognized file types as C++ source files
/showIncludes
          emit include file names
/Qmultibyte-chars[-]
          provide support for multi-byte characters
/MP[&lt;N&gt;]  create multiple processes that can be used to compile large numbers
          of source files at the same time
/bigobj   generate objects with increased address capacity

Data
----

/Zp&lt;N&gt;    specify alignment constraint for structures (n=1,2,4,8,16
          /Zp16 DEFAULT)
/GS       enable overflow security checks.  
          /GS- disables (DEFAULT)
/GF       enable read-only string pooling optimization
/GA       optimize for Windows application (assume .exe)
/GT       enable fiber-safe thread local storage
/Qauto-ilp32
           specify that the application cannot exceed a 32-bit address space
           (/Qipo&lt;N&gt; required)
/Qpatchable-addresses
           generate code such that references to statically assigned addresses 
           can be patched with arbitrary 64-bit addresses.
/Qsfalign8
          may align stack for functions with 8 or 16 byte vars (DEFAULT)
/Qsfalign16
          may align stack for functions with 16 byte vars
/Qsfalign
          force stack alignment for all functions
/Qsfalign-
          disable stack alignment for all functions
/Qfnalign[-]
          align the start of functions to an optimal machine-dependent value.
          When disabled (DEFAULT) align on a 2-byte boundary
/Qfnalign:[2|16]
          align the start of functions on a 2 (DEFAULT) or 16 byte boundary
/homeparams
          force to store parameters passed in registers to the stack
/Qglobal-hoist[-]
          enable(DEFAULT)/disable external globals are load safe
/Qkeep-static-consts[-]
          enable/disable(DEFAULT) emission of static const variables even
          when not referenced
/Qlong-double
          enable 80-bit 'long double'
/Qnobss-init
          disable placement of zero-initialized variables in BSS (use DATA)
/Qzero-initialized-in-bss[-]
          put explicitly zero initialized variables into the DATA section
          instead of the BSS section
/Qimf-absolute-error:value[:funclist]
          define the maximum allowable absolute error for math library
          function results
            value    - a positive, floating-point number conforming to the
                       format [digits][.digits][{e|E}[sign]digits]
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-accuracy-bits:bits[:funclist]
          define the relative error, measured by the number of correct bits,
          for math library function results
            bits     - a positive, floating-point number
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-arch-consistency:value[:funclist]
          ensures that the math library functions produce consistent results
          across different implementations of the same architecture
            value    - true or false
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-max-error:ulps[:funclist]
          defines the maximum allowable relative error, measured in ulps, for
          math library function results
            ulps     - a positive, floating-point number conforming to the
                       format [digits][.digits][{e|E}[sign]digits]
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
/Qimf-precision:value[:funclist]
          defines the accuracy (precision) for math library functions
            value    - defined as one of the following values
                       high   - equivalent to max-error = 0.6
                       medium - equivalent to max-error = 4 (DEFAULT)
                       low    - equivalent to accuracy-bits = 11 (single
                                precision); accuracy-bits = 26 (double
                                precision)
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied

Compatibility
-------------

/Qms      allow compilation of certain dubious sources
            n=0  disable Microsoft compatibility bugs
            n=1  enable most Microsoft compatibilities (DEFAULT)
            n=2  full Microsoft compatibility
/Qvc&lt;ARG&gt;
          enable compatibility with a specific Microsoft* Visual Studio version
            9   - Microsoft* Visual Studio 2008 compatibility
            10  - Microsoft* Visual Studio 2010 compatibility
            11  - Microsoft* Visual Studio 2012 compatibility
/Qgcc-dialect:&lt;VERSION&gt;
          enable a limited gcc-compatible dialect on Windows. The gcc
          version may be specified as 440, 450 or 460.
            Example: /Qgcc-dialect:440 -&amp;gt; gcc 4.4 compatibility 

Linking/Linker
--------------

/link     specify that all options following '/link' are for the linker
/F&lt;N&gt;     set the stack reserve amount specified to the linker
/LD&lt;D&gt;    produce a DLL instead of an EXE ('d' = debug version)
/MD&lt;D&gt;    use dynamically-loaded, multithread C runtime
/MT&lt;D&gt;    use statically-linked, multithread C runtime (DEFAULT with
          Microsoft Visual Studio 2005 and later)
/ML&lt;D&gt;    use statically-linked, single thread C runtime (only valid in 
          Microsoft Visual Studio 2003 environment)
/Zl       omit library names from object file

Deprecated Options
------------------

/Qinline-debug-info      use /debug:inline-debug-info
/Gf                      use /GF
/ML&lt;D&gt;                   upgrade to /MT&lt;D&gt;
/Quse-asm                No replacement
/Qprof-genx              use /Qprof-gen:srcpos
/Qdiag-enable:sv[&lt;N&gt;]    use /Qdiag-enable:sc[&lt;N&gt;]
/Qdiag-enable:sv-include use /Qdiag-enable:sc-include
/Qdiag-sv                use /Qdiag-enable:sc[&lt;N&gt;]
/Qdiag-sv-error          use /Qdiag-disable:warning
/Qdiag-sv-include        use /Qdiag-enable:sc-include
/Qdiag-sv-level          No replacement
/Qdiag-sv-sup            use /Qdiag-disable:&lt;V1&gt;[,&lt;V2&gt;,...]
/Qtprofile               No replacement
/arch:SSE                use /arch:IA32
/QxK                     upgrade to /arch:SSE2
/QaxK                    upgrade to /arch:SSE2
/QxW                     use /arch:SSE2
/QaxW                    use /arch:SSE2 
/QxN                     use /QxSSE2
/QaxN                    use /QaxSSE2
/QxP                     use /QxSSE3
/QaxP                    use /QaxSSE3
/QxT                     use /QxSSSE3
/QaxT                    use /QaxSSSE3
/QxS                     use /QxSSE4.1
/QaxS                    use /QaxSSE4.1
/QxH                     use /QxSSE4.2
/QaxH                    use /QaxSSE4.2
/QxO                     use /arch:SSE3
/Qvc7.1                  No replacement
/QIfist                  use /Qrcd
/QxSSE3_ATOM             use /QxSSSE3_ATOM
/Qrct                    No replacement
/Op                      use /fp:precise
/Fr                      use /FR
/GX                      use /EHsc
/GZ                      use /RTC1
/H                       No replacement
/QA-                     use /u
/Qc99                    use /Qstd=c99
/Qwn                     use /Qdiag-error-limit:&lt;N&gt;
/Qwd                     use /Qdiag-disable
/Qwe                     use /Qdiag-error
/Qww                     use /Qdiag-warning
/Qwr                     use /Qdiag-remark
/Qwo                     use /Qdiag-once
/Yd                      use /Zi, /ZI, /Z7
/Zd                      use /debug:minimal
/Ze                      No replacement
/Zg                      No replacement

/help, /? [category]   print full or category help message

Valid categories include
       advanced        - Advanced Optimizations
       codegen         - Code Generation
       compatibility   - Compatibility
       component       - Component Control
       data            - Data
       deprecated      - Deprecated Options
       diagnostics     - Compiler Diagnostics
       float           - Floating Point
       help            - Help
       inline          - Inlining
       ipo             - Interprocedural Optimization (IPO)
       language        - Language
       link            - Linking/Linker
       misc            - Miscellaneous
       opt             - Optimization
       output          - Output
       pgo             - Profile Guided Optimization (PGO)
       preproc         - Preprocessor
       reports         - Optimization Reports
       openmp          - OpenMP and Parallel Processing

Copyright (C) 1985-2013, Intel Corporation.  All rights reserved.
* Other names and brands may be claimed as the property of others.&lt;/N&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/D&gt;&lt;/N&gt;&lt;/VERSION&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/KEYWORD&gt;&lt;/KEYWORD&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/N&gt;&lt;/N&gt;&lt;/VN&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/V2&gt;&lt;/V1&gt;&lt;/L2&gt;&lt;/L1&gt;&lt;/KEYWORD&gt;&lt;/KEYWORD&gt;&lt;/N&gt;&lt;/X&gt;&lt;/N&gt;&lt;/STD&gt;&lt;/STD&gt;&lt;/TOOL&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/TOOL&gt;&lt;/TOOL&gt;&lt;/OPTS&gt;&lt;/OPTS&gt;&lt;/TOOL&gt;&lt;/TARGET&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/NAME&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/VAL&gt;&lt;/NAME&gt;&lt;/VAL&gt;&lt;/NAME&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/MODE&gt;&lt;/MODE&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/OFFSET&gt;&lt;/PERMUTE&gt;&lt;/TYPE&gt;&lt;/MODIFIER&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/VER&gt;&lt;/ARG&gt;&lt;/VER&gt;&lt;/LIB&gt;&lt;/LIB&gt;&lt;/NAME&gt;&lt;/PHASE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/VAL&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/ARG&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/DIR&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/LEVEL&gt;&lt;/FILENAME&gt;&lt;/FILENAME&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/ARG&gt;&lt;/N&gt;&lt;/N&gt;&lt;/KEYWORD&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/KEYWORD&gt;&lt;/CODE&gt;&lt;/CODE&gt;&lt;/CODES&gt;&lt;/CODES&gt;&lt;/CODE2&gt;&lt;/CODE1&gt;&lt;/CODE&gt;&lt;/CODE&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:30:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102802#M69359</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:30:53Z</dc:date>
    </item>
    <item>
      <title>Tcc v1.0.1 16-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102803#M69360</link>
      <description>&lt;STRONG&gt;Tcc v1.0.1 16-bit Options&lt;/STRONG&gt;

Turbo C++  Version 1.01 Copyright (c) 1990 Borland International

Syntax is: TCC [ options ] file&lt;S&gt;     * = default; -x- = turn switch x off

  -1      80186/286 Instructions    -2      80286 Protected Mode Inst.
  -Ax     Disable extensions        -B      Compile via assembly
  -C      Allow nested comments     -Dxxx   Define macro
  -Exxx   Alternate Assembler name  -G      Generate for speed
  -Ixxx   Include files directory   -K      Default char is unsigned
  -Lxxx   Libraries directory       -M      Generate link map
  -N      Check stack overflow      -O      Optimize jumps
  -P      Force C++ compile         -Qxxx   Memory usage control
  -S      Produce assembly output   -Txxx   Set assembler option
  -Uxxx   Undefine macro            -Vx     Virtual table control
  -X      Suppress autodep. output  -Yx     Overlay control
  -Z      Optimize register usage   -a      Generate word alignment
  -b    * Treat enums as integers   -c      Compile only
  -d      Merge duplicate strings   -exxx   Executable file name
  -fxx    Floating point options    -gN     Stop after N warnings
  -iN     Max. identifier length    -jN     Stop after N errors
  -k      Standard stack frame      -lx     Set linker option
  -mx     Set Memory Model          -nxxx   Output file directory
  -oxxx   Object file name          -p      Pascal calls
  -r    * Register variables        -u    * Underscores on externs
  -v      Source level debugging    -wxxx   Warning control
  -y      Produce line number info  -zxxx   Set segment names&lt;/S&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:32:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102803#M69360</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:32:23Z</dc:date>
    </item>
    <item>
      <title>Tcc v3.0.0 16-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102804#M69361</link>
      <description>&lt;STRONG&gt;Tcc v3.0.0 16-bit Options&lt;/STRONG&gt;

Turbo C++ Version 3.00 Copyright (c) 1992 Borland International

Syntax is: TCC [ options ] file&lt;S&gt;     * = default; -x- = turn switch x off

  -1      80186/286 Instructions    -2      80286 Protected Mode Inst.
  -Ax     Disable extensions        -B      Compile via assembly
  -C      Allow nested comments     -Dxxx   Define macro
  -Exxx   Alternate Assembler name  -G      Generate for speed
  -Ixxx   Include files directory   -K      Default char is unsigned
  -Lxxx   Libraries directory       -M      Generate link map
  -N      Check stack overflow      -O      Optimize jumps
  -P      Force C++ compile         -Qxxx   Memory usage control
  -S      Produce assembly output   -Txxx   Set assembler option
  -Uxxx   Undefine macro            -Vx     Virtual table control
  -X      Suppress autodep. output  -Yx     Overlay control
  -Z      Suppress register reloads -a      Generate word alignment
  -b    * Treat enums as integers   -c      Compile only
  -d      Merge duplicate strings   -exxx   Executable file name
  -fxx    Floating point options    -gN     Stop after N warnings
  -iN     Max. identifier length    -jN     Stop after N errors
  -k      Standard stack frame      -lx     Set linker option
  -mx     Set Memory Model          -nxxx   Output file directory
  -oxxx   Object file name          -p      Pascal calls
  -r    * Register variables        -u    * Underscores on externs
  -v      Source level debugging    -wxxx   Warning control
  -y      Produce line number info  -zxxx   Set segment names&lt;/S&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:33:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102804#M69361</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:33:16Z</dc:date>
    </item>
    <item>
      <title>Open Watcom v1.9.0 32-bit</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102805#M69362</link>
      <description>&lt;STRONG&gt;Open Watcom v1.9.0 32-bit Options&lt;/STRONG&gt;

Open Watcom C/C++32 Compile and Link Utility Version 1.9
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See &lt;A href="http://www.openwatcom.org/" target="_blank"&gt;http://www.openwatcom.org/&lt;/A&gt; for details.

Usage:  wcl386 [options] file(s)

Options:  ( /option is also accepted )
-c    compile only, no link
-cc   treat source files as C code
-cc++ treat source files as C++ code
-y    ignore the WCL386 environment variable

                             [ Processor options ]

-3r 386 register calling conventions   -5r Pentium register calling conv.
-3s 386 stack calling conventions      -5s Pentium stack calling conventions
-4r 486 register calling conventions   -6r Pentium Pro register call conven.
-4s 486 stack calling conventions      -6s Pentium Pro stack call conven.

                     [ Floating-point processor options ]

-fpc calls to floating-point library   -fp2 generate 287 floating-point code
-fpd enable Pentium FDIV check         -fp3 generate 387 floating-point code
-fpi   inline 80x87 with emulation     -fp5 optimize f-p for Pentium
-fpi87 inline 80x87                    -fp6 optimize f-p for Pentium Pro
-fpr use old floating-point conventions

                             [ Compiler options ]

-bcl=&lt;OS&gt; compile and link for OS.     -nm=&lt;MODULE_NAME&gt; set module name
-bt=&lt;OS&gt; compile for target OS.        -nt=&lt;NAME&gt;  set text segment name
-db generate browsing information      -q  operate quietly
-e=&lt;N&gt; set error limit number          -r  save/restore segregs across calls
-ecc set calling conv. to __cdecl      -ri promote function args/rets to int
-ecd set calling conv. to __stdcall    -s  remove stack overflow checks
-ecf set calling conv. to __fastcall   -sg generate calls to grow the stack
-ecp set calling conv. to __pascal     -st touch stack through SS first
-ecr set calling conv. to __fortran    -v  output func declarations to .def
-ecs set calling conv. to __syscall    -vcap VC++ compat: alloca in arg lists
-ecw set calling conv. to __watcall    -w=&lt;N&gt;  set warning level number
-ee call epilogue hook routine         -wcd=&lt;N&gt; disable warning message &lt;N&gt;
-ef full paths in messages             -wce=&lt;N&gt; enable warning message &lt;N&gt;
-ei force enums to be type int         -we treat all warnings as errors
-em minimum base type for enum is int  -wx set warning level to max
-en emit routine names in the code     -xr (C++) enable RTTI
-ep[=&lt;N&gt;] call prologue hook routine   -z{a,e} disable/enable extensions
-eq do not display error messages      -zc place strings in CODE segment
-et P5 profiling                       -zd{f,p} DS floats vs DS pegged to DGROUP
-ez generate PharLap EZ-OMF object     -zdl load DS directly from DGROUP
-fh=&lt;FILE&gt; pre-compiled headers        -zf{f,p} FS floats vs FS pegged to seg
-fhq[=&lt;FILE&gt;] fh without warnings      -zg{f,p} GS floats vs GS pegged to seg
-fhr  (C++) only read PCH              -zg function prototype using base type
-fhw  (C++) only write PCH             -zk{0,0u,1,2,3,l} double-byte support
-fhwe (C++) don't count PCH warnings   -zku=&lt;CODEPAGE&gt; UNICODE support
-fi=&lt;FILE&gt; force include of file       -zl  remove default library information
-fo=&lt;FILE&gt; set object file name        -zld remove file dependency information
-fr=&lt;FILE&gt; set error file name         -zm  place functions in separate segments
-ft (C++) check for 8.3 file names     -zmf (C++) zm with near calls allowed
-fx (C++) no check for 8.3 file names  -zp{1,2,4,8,16} struct packing align.
-g=&lt;CODEGROUP&gt; set code group name     -zpw warning when padding a struct
-hc codeview debug format              -zq operate quietly
-hd dwarf debug format                 -zs check syntax only
-hw watcom debug format                -zt&lt;N&gt; set data threshold
-j  change char default to signed      -zu SS != DGROUP
-m{f,s,m,c,l}  memory model            -zv (C++) enable virt. fun. removal opt
-nc=&lt;NAME&gt;  set CODE class name        -zw  generate code for MS Windows
-nd=&lt;NAME&gt;  set data segment name      -zz remove @size from __stdcall func.

                             [ Debugging options ]

-d0 no debugging information           -d2t (C++) d2 but without type names
-d1{+} line number debugging info.     -d3 debug info with unref'd type names
-d2 full symbolic debugging info.      -d3i (C++) d3 + inlines as COMDATs
-d2i (C++) d2 + inlines as COMDATs     -d3s (C++) d3 + inlines as statics
-d2s (C++) d2 + inlines as statics

                           [ Optimization options ]

-oa relax alias checking               -ol+ ol with loop unrolling
-ob branch prediction                  -om generate inline math functions
-oc disable call/ret optimization      -on numerically unstable floating-point
-od disable optimizations              -oo continue compile when low on memory
-oe[=num] expand functions inline      -op improve floating-point consistency
-of[+] generate traceable stack frames -or re-order instructions to avoid stalls
-oh enable repeated optimizations      -os optimize for space
-oi inline intrinsic functions         -ot optimize for time
-oi+ (C++) oi with max inlining depth  -ou ensure unique addresses for functions
-ok control flow entry/exit seq.       -ox maximum optimization (-obmiler -s)
-ol perform loop optimizations

                      [ C++ exception handling options ]

-xd  no exception handling             -xs  exception handling: balanced
-xds no exception handling: space      -xss exception handling: space
-xdt no exception handling             -xst exception handling: time

                           [ Preprocessor options ]

-d&lt;NAME&gt;[=text] define a macro         -u&lt;NAME&gt;  undefine macro name
-d+ extend syntax of -d option         -pil ignore #line directives
-fo=&lt;FILENAME&gt; set object file name    -p{c,l,w=&lt;N&gt;} preprocess source file
-i=&lt;DIRECTORY&gt;  include directory         c     -&amp;gt; preserve comments
-t=&lt;N&gt; (C++) # of spaces in tab stop      l     -&amp;gt; insert #line directives
-tp=&lt;NAME&gt; (C) set #pragma on( &lt;NAME&gt;     w=&lt;N&gt; -&amp;gt; wrap output at column n

                              [ Linker options ]

-bd  build Dynamic link library        -fm[=&lt;MAP_FILE&gt;]  generate map file
-bm  build Multi-thread application    -k&lt;STACK_SIZE&gt; set stack size
-br  build with dll run-time library   -l=&lt;OS&gt; link for the specified OS
-bw  build default Windowing app.      -x  make names case sensitive
-bcl=&lt;OS&gt; compile and link for OS.     @&lt;FILE&gt; additional directive file
-fd[=&lt;FILE&gt;[.lnk]] write directives    -"&lt;LINKER directives=""&gt;"
-fe=&lt;EXECUTABLE&gt; name executable file&lt;/EXECUTABLE&gt;&lt;/LINKER&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/OS&gt;&lt;/OS&gt;&lt;/STACK_SIZE&gt;&lt;/MAP_FILE&gt;&lt;/N&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/DIRECTORY&gt;&lt;/N&gt;&lt;/FILENAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/CODEGROUP&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/CODEPAGE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/NAME&gt;&lt;/OS&gt;&lt;/MODULE_NAME&gt;&lt;/OS&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:34:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102805#M69362</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:34:26Z</dc:date>
    </item>
    <item>
      <title>Open Watcom v2.0.0 32-bit</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102806#M69363</link>
      <description>&lt;STRONG&gt;Open Watcom v2.0.0 32-bit Options&lt;/STRONG&gt;

Open Watcom C/C++ x86 32-bit Compile and Link Utility
Version 2.0 beta Apr  2 2015 11:06:50 (32-bit)
Copyright (c) 2002-2015 The Open Watcom Contributors. All Rights Reserved.
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See &lt;A href="http://www.openwatcom.org/" target="_blank"&gt;http://www.openwatcom.org/&lt;/A&gt; for details.

Usage:  wcl386 [options] file(s)

Options:  ( /option is also accepted )
-c    compile only, no link
-cc   treat source files as C code
-cc++ treat source files as C++ code
-y    ignore the WCL386 environment variable

                             [ Processor options ]

-3r 386 register calling conventions  -5r Pentium register calling conv.
-3s 386 stack calling conventions     -5s Pentium stack calling conventions
-4r 486 register calling conventions  -6r Pentium Pro register call conven.
-4s 486 stack calling conventions     -6s Pentium Pro stack call conven.

                     [ Floating-point processor options ]

-fpc calls to floating-point library  -fp2 generate 287 floating-point code
-fpd enable Pentium FDIV check        -fp3 generate 387 floating-point code
-fpi   inline 80x87 with emulation    -fp5 optimize f-p for Pentium
-fpi87 inline 80x87                   -fp6 optimize f-p for Pentium Pro
-fpr use old floating-point conventions

                             [ Compiler options ]

-bcl=&lt;OS&gt; compile and link for OS.    -nt=&lt;NAME&gt;  set text segment name
-bt=&lt;OS&gt; compile for target OS.       -q  operate quietly
-db generate browsing information     -r  save/restore segregs across calls
-e=&lt;N&gt; set error limit number         -ri promote function args/rets to int
-ecc set calling conv. to __cdecl     -s  remove stack overflow checks
-ecd set calling conv. to __stdcall   -sg generate calls to grow the stack
-ecf set calling conv. to __fastcall  -st touch stack through SS first
-ecp set calling conv. to __pascal    -v  output func declarations to .def
-ecr set calling conv. to __fortran   -vcap VC++ compat: alloca in arg lists
-ecs set calling conv. to __syscall   -w=&lt;N&gt;  set warning level number
-ecw set calling conv. to __watcall   -wcd=&lt;N&gt; disable warning message &lt;N&gt;
-ee call epilogue hook routine        -wce=&lt;N&gt; enable warning message &lt;N&gt;
-ef full paths in messages            -we treat all warnings as errors
-ei force enums to be type int        -wx set warning level to max
-em minimum base type for enum is int -x  preprocessor ignores env.variables
-en emit routine names in the code    -xr (C++) enable RTTI
-ep[=&lt;N&gt;] call prologue hook routine  -z{a,e} disable/enable extensions
-eq do not display error messages     -zc place strings in CODE segment
-et P5 profiling                      -zd{f,p} DS floats vs DS pegged to DGROUP
-ez generate PharLap EZ-OMF object    -zdl load DS directly from DGROUP
-fh=&lt;FILE&gt; pre-compiled headers       -zf{f,p} FS floats vs FS pegged to seg
-fhq[=&lt;FILE&gt;] fh without warnings     -zg{f,p} GS floats vs GS pegged to seg
-fhr  (C++) only read PCH             -zg function prototype using base type
-fhw  (C++) only write PCH            -zk{0,0u,1,2,3,l} double-byte support
-fhwe (C++) don't count PCH warnings  -zku=&lt;CODEPAGE&gt; UNICODE support
-fi=&lt;FILE&gt; force include of file      -zl  remove default library information
-fo=&lt;FILE&gt; set object file name       -zld remove file dependency information
-fr=&lt;FILE&gt; set error file name        -zm  place functions in separate segments
-ft (C++) check for 8.3 file names    -zmf (C++) zm with near calls allowed
-fx (C++) no check for 8.3 file names -zp{1,2,4,8,16} struct packing align.
-g=&lt;CODEGROUP&gt; set code group name    -zpw warning when padding a struct
-hc codeview debug format             -zq operate quietly
-hd dwarf debug format                -zs check syntax only
-hw watcom debug format               -zt&lt;N&gt; set data threshold
-j  change char default to signed     -zu SS != DGROUP
-m{f,s,m,c,l}  memory model           -zv (C++) enable virt. fun. removal opt
-nc=&lt;NAME&gt;  set CODE class name       -zw  generate code for MS Windows
-nd=&lt;NAME&gt;  set data segment name     -zz remove @size from __stdcall func.
-nm=&lt;MODULE_NAME&gt; set module name

                             [ Debugging options ]

-d0 no debugging information          -d2t (C++) d2 but without type names
-d1{+} line number debugging info.    -d3 debug info with unref'd type names
-d2 full symbolic debugging info.     -d3i (C++) d3 + inlines as COMDATs
-d2i (C++) d2 + inlines as COMDATs    -d3s (C++) d3 + inlines as statics
-d2s (C++) d2 + inlines as statics

                           [ Optimization options ]

-oa relax alias checking              -ol+ ol with loop unrolling
-ob branch prediction                 -om generate inline math functions
-oc disable call/ret optimization     -on numerically unstable floating-point
-od disable optimizations             -oo continue compile when low on memory
-oe[=num] expand functions inline     -op improve floating-point consistency
-of[+] generate traceable stack frames-or re-order instructions to avoid stalls
-oh enable repeated optimizations     -os optimize for space
-oi inline intrinsic functions        -ot optimize for time
-oi+ (C++) oi with max inlining depth -ou ensure unique addresses for functions
-ok control flow entry/exit seq.      -ox maximum optimization (-obmiler -s)
-ol perform loop optimizations

                      [ C++ exception handling options ]

-xd  no exception handling            -xs  exception handling: balanced
-xds no exception handling: space     -xss exception handling: space
-xdt no exception handling            -xst exception handling: time

                           [ Preprocessor options ]

-d&lt;NAME&gt;[=text] define a macro        -u&lt;NAME&gt;  undefine macro name
-d+ extend syntax of -d option        -pil ignore #line directives
-fo=&lt;FILENAME&gt; set object file name   -p{c,l,w=&lt;N&gt;} preprocess source file
-i=&lt;DIRECTORY&gt;  include directory        c     -&amp;gt; preserve comments
-t=&lt;N&gt; (C++) # of spaces in tab stop     l     -&amp;gt; insert #line directives
-tp=&lt;NAME&gt; (C) set #pragma on( &lt;NAME&gt;    w=&lt;N&gt; -&amp;gt; wrap output at column n

                              [ Linker options ]

-bd  build Dynamic link library       -fe=&lt;EXECUTABLE&gt; name executable file
-bm  build Multi-thread application   -fm[=&lt;MAP_FILE&gt;]  generate map file
-br  build with dll run-time library  -k&lt;STACK_SIZE&gt; set stack size
-bw  build default Windowing app.     -l=&lt;OS&gt; link for the specified OS
-bcl=&lt;OS&gt; compile and link for OS.    @&lt;FILE&gt; additional directive file
-fd[=&lt;FILE&gt;[.lnk]] write directives   -"&lt;LINKER directives=""&gt;"&lt;/LINKER&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/OS&gt;&lt;/OS&gt;&lt;/STACK_SIZE&gt;&lt;/MAP_FILE&gt;&lt;/EXECUTABLE&gt;&lt;/N&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/DIRECTORY&gt;&lt;/N&gt;&lt;/FILENAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/MODULE_NAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/CODEGROUP&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/CODEPAGE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/OS&gt;&lt;/NAME&gt;&lt;/OS&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:35:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102806#M69363</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:35:31Z</dc:date>
    </item>
    <item>
      <title>Open Watcom v2.0.0 64-bit</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102807#M69364</link>
      <description>&lt;STRONG&gt;Open Watcom v2.0.0 64-bit Options&lt;/STRONG&gt;

Open Watcom C/C++ x86 32-bit Compile and Link Utility
Version 2.0 beta Apr  2 2015 10:17:07 (64-bit)
Copyright (c) 2002-2015 The Open Watcom Contributors. All Rights Reserved.
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See &lt;A href="http://www.openwatcom.org/" target="_blank"&gt;http://www.openwatcom.org/&lt;/A&gt; for details.

Usage:  wcl386 [options] file(s)

Options:  ( /option is also accepted )
-c    compile only, no link
-cc   treat source files as C code
-cc++ treat source files as C++ code
-y    ignore the WCL386 environment variable

                             [ Processor options ]

-3r 386 register calling conventions   -5r Pentium register calling conv.
-3s 386 stack calling conventions      -5s Pentium stack calling conventions
-4r 486 register calling conventions   -6r Pentium Pro register call conven.
-4s 486 stack calling conventions      -6s Pentium Pro stack call conven.

                     [ Floating-point processor options ]

-fpc calls to floating-point library   -fp2 generate 287 floating-point code
-fpd enable Pentium FDIV check         -fp3 generate 387 floating-point code
-fpi   inline 80x87 with emulation     -fp5 optimize f-p for Pentium
-fpi87 inline 80x87                    -fp6 optimize f-p for Pentium Pro
-fpr use old floating-point conventions

                             [ Compiler options ]

-bcl=&lt;OS&gt; compile and link for OS.     -nt=&lt;NAME&gt;  set text segment name
-bt=&lt;OS&gt; compile for target OS.        -q  operate quietly
-db generate browsing information      -r  save/restore segregs across calls
-e=&lt;N&gt; set error limit number          -ri promote function args/rets to int
-ecc set calling conv. to __cdecl      -s  remove stack overflow checks
-ecd set calling conv. to __stdcall    -sg generate calls to grow the stack
-ecf set calling conv. to __fastcall   -st touch stack through SS first
-ecp set calling conv. to __pascal     -v  output func declarations to .def
-ecr set calling conv. to __fortran    -vcap VC++ compat: alloca in arg lists
-ecs set calling conv. to __syscall    -w=&lt;N&gt;  set warning level number
-ecw set calling conv. to __watcall    -wcd=&lt;N&gt; disable warning message &lt;N&gt;
-ee call epilogue hook routine         -wce=&lt;N&gt; enable warning message &lt;N&gt;
-ef full paths in messages             -we treat all warnings as errors
-ei force enums to be type int         -wx set warning level to max
-em minimum base type for enum is int  -x  preprocessor ignores env.variables
-en emit routine names in the code     -xr (C++) enable RTTI
-ep[=&lt;N&gt;] call prologue hook routine   -z{a,e} disable/enable extensions
-eq do not display error messages      -zc place strings in CODE segment
-et P5 profiling                       -zd{f,p} DS floats vs DS pegged to DGROUP
-ez generate PharLap EZ-OMF object     -zdl load DS directly from DGROUP
-fh=&lt;FILE&gt; pre-compiled headers        -zf{f,p} FS floats vs FS pegged to seg
-fhq[=&lt;FILE&gt;] fh without warnings      -zg{f,p} GS floats vs GS pegged to seg
-fhr  (C++) only read PCH              -zg function prototype using base type
-fhw  (C++) only write PCH             -zk{0,0u,1,2,3,l} double-byte support
-fhwe (C++) don't count PCH warnings   -zku=&lt;CODEPAGE&gt; UNICODE support
-fi=&lt;FILE&gt; force include of file       -zl  remove default library information
-fo=&lt;FILE&gt; set object file name        -zld remove file dependency information
-fr=&lt;FILE&gt; set error file name         -zm  place functions in separate segments
-ft (C++) check for 8.3 file names     -zmf (C++) zm with near calls allowed
-fx (C++) no check for 8.3 file names  -zp{1,2,4,8,16} struct packing align.
-g=&lt;CODEGROUP&gt; set code group name     -zpw warning when padding a struct
-hc codeview debug format              -zq operate quietly
-hd dwarf debug format                 -zs check syntax only
-hw watcom debug format                -zt&lt;N&gt; set data threshold
-j  change char default to signed      -zu SS != DGROUP
-m{f,s,m,c,l}  memory model            -zv (C++) enable virt. fun. removal opt
-nc=&lt;NAME&gt;  set CODE class name        -zw  generate code for MS Windows
-nd=&lt;NAME&gt;  set data segment name      -zz remove @size from __stdcall func.
-nm=&lt;MODULE_NAME&gt; set module name

                             [ Debugging options ]

-d0 no debugging information           -d2t (C++) d2 but without type names
-d1{+} line number debugging info.     -d3 debug info with unref'd type names
-d2 full symbolic debugging info.      -d3i (C++) d3 + inlines as COMDATs
-d2i (C++) d2 + inlines as COMDATs     -d3s (C++) d3 + inlines as statics
-d2s (C++) d2 + inlines as statics

                           [ Optimization options ]

-oa relax alias checking               -ol+ ol with loop unrolling
-ob branch prediction                  -om generate inline math functions
-oc disable call/ret optimization      -on numerically unstable floating-point
-od disable optimizations              -oo continue compile when low on memory
-oe[=num] expand functions inline      -op improve floating-point consistency
-of[+] generate traceable stack frames -or re-order instructions to avoid stalls
-oh enable repeated optimizations      -os optimize for space
-oi inline intrinsic functions         -ot optimize for time
-oi+ (C++) oi with max inlining depth  -ou ensure unique addresses for functions
-ok control flow entry/exit seq.       -ox maximum optimization (-obmiler -s)
-ol perform loop optimizations

                      [ C++ exception handling options ]

-xd  no exception handling             -xs  exception handling: balanced
-xds no exception handling: space      -xss exception handling: space
-xdt no exception handling             -xst exception handling: time

                           [ Preprocessor options ]

-d&lt;NAME&gt;[=text] define a macro         -u&lt;NAME&gt;  undefine macro name
-d+ extend syntax of -d option         -pil ignore #line directives
-fo=&lt;FILENAME&gt; set object file name    -p{c,l,w=&lt;N&gt;} preprocess source file
-i=&lt;DIRECTORY&gt;  include directory         c     -&amp;gt; preserve comments
-t=&lt;N&gt; (C++) # of spaces in tab stop      l     -&amp;gt; insert #line directives
-tp=&lt;NAME&gt; (C) set #pragma on( &lt;NAME&gt;     w=&lt;N&gt; -&amp;gt; wrap output at column n

                              [ Linker options ]

-bd  build Dynamic link library        -fe=&lt;EXECUTABLE&gt; name executable file
-bm  build Multi-thread application    -fm[=&lt;MAP_FILE&gt;]  generate map file
-br  build with dll run-time library   -k&lt;STACK_SIZE&gt; set stack size
-bw  build default Windowing app.      -l=&lt;OS&gt; link for the specified OS
-bcl=&lt;OS&gt; compile and link for OS.     @&lt;FILE&gt; additional directive file
-fd[=&lt;FILE&gt;[.lnk]] write directives    -"&lt;LINKER directives=""&gt;"&lt;/LINKER&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/OS&gt;&lt;/OS&gt;&lt;/STACK_SIZE&gt;&lt;/MAP_FILE&gt;&lt;/EXECUTABLE&gt;&lt;/N&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/DIRECTORY&gt;&lt;/N&gt;&lt;/FILENAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/MODULE_NAME&gt;&lt;/NAME&gt;&lt;/NAME&gt;&lt;/N&gt;&lt;/CODEGROUP&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/CODEPAGE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/OS&gt;&lt;/NAME&gt;&lt;/OS&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:36:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102807#M69364</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:36:37Z</dc:date>
    </item>
    <item>
      <title>VS1998PE 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102808#M69365</link>
      <description>&lt;STRONG&gt;VS1998PE 32-bit Options&lt;/STRONG&gt;

                          C/C++ COMPILER OPTIONS

                              -OPTIMIZATION-

/O1 minimize space                       /Op[-] improve floating-pt consistency
/O2 maximize speed                       /Os favor code space
/Oa assume no aliasing                   /Ot favor code speed
/Ob&lt;N&gt; inline expansion (default n=0)    /Ow assume cross-function aliasing
/Od disable optimizations (default)      /Ox maximum opts. (/Ogityb1 /Gs)
/Og enable global optimization           /Oy[-] enable frame pointer omission
/Oi enable intrinsic functions

                             -CODE GENERATION-

/G3 optimize for 80386                   /Gy separate functions for linker
/G4 optimize for 80486                   /Ge force stack checking for all funcs
/G5 optimize for Pentium                 /Gs[num] disable stack checking calls
/G6 optimize for Pentium Pro             /Gh enable hook function call
/GB optimize for blended model (default) /GR[-] enable C++ RTTI
/Gd __cdecl calling convention           /GX[-] enable C++ EH (same as /EHsc)
/Gr __fastcall calling convention        /Gi[-] enable incremental compilation
/Gz __stdcall calling convention         /Gm[-] enable minimal rebuild
/GA optimize for Windows Application     /EHs enable synchronous C++ EH
/GD optimize for Windows DLL             /EHa enable asynchronous C++ EH
/Gf enable string pooling                /EHc extern "C" defaults to nothrow
/GF enable read-only string pooling      /QIfdiv[-] enable Pentium FDIV fix 
/GZ enable runtime debug checks          /QI0f[-] enable Pentium 0x0f fix

                              -OUTPUT FILES-

/Fa[file] name assembly listing file     /Fo&lt;FILE&gt; name object file
/FA[sc] configure assembly listing       /Fp&lt;FILE&gt; name precompiled header file
/Fd[file] name .PDB file                 /Fr[file] name source browser file
/Fe&lt;FILE&gt; name executable file           /FR[file] name extended .SBR file
/Fm[file] name map file

                              -PREPROCESSOR-

/C don't strip comments                  /FI&lt;FILE&gt; name forced include file
/D&lt;NAME&gt;{=|#}&lt;TEXT&gt; define macro         /U&lt;NAME&gt; remove predefined macro
/E preprocess to stdout                  /u remove all predefined macros
/EP preprocess to stdout, no #line       /I&lt;DIR&gt; add to include search path
/P preprocess to file                    /X ignore "standard places"

                                -LANGUAGE-

/Zi enable debugging information         /Zl omit default library name in .OBJ
/ZI enable Edit and Continue debug info  /Zg generate function prototypes
/Z7 enable old-style debug info          /Zs syntax check only
/Zd line number debugging info only      /vd{0|1} disable/enable vtordisp
/Zp&lt;N&gt; pack structs on n-byte boundary   /vm&lt;X&gt; type of pointers to members
/Za disable extensions (implies /Op)     /noBool disable "bool" keyword
/Ze enable extensions (default)

                              -MISCELLANEOUS-

/?, /help print this help message        /V&lt;STRING&gt; set version string
/c compile only, no link                 /w disable all warnings
/H&lt;NUM&gt; max external name length         /W&lt;N&gt; set warning level (default n=1)
/J default char type is unsigned         /WX treat warnings as errors
/nologo suppress copyright message       /Yc[file] create .PCH file
/Tc&lt;SOURCE file=""&gt; compile file as .c      /Yd put debug info in every .OBJ
/Tp&lt;SOURCE file=""&gt; compile file as .cpp    /Yu[file] use .PCH file
/TC compile all files as .c              /YX[file] automatic .PCH
/TP compile all files as .cpp            /Zm&lt;N&gt; max memory alloc (% of default)

                                 -LINKING-

/MD link with MSVCRT.LIB                 /MDd link with MSVCRTD.LIB debug lib
/ML link with LIBC.LIB                   /MLd link with LIBCD.LIB debug lib
/MT link with LIBCMT.LIB                 /MTd link with LIBCMTD.LIB debug lib
/LD Create .DLL                          /F&lt;NUM&gt; set stack size
/LDd Create .DLL debug libary            /link [linker options and libraries]&lt;/NUM&gt;&lt;/N&gt;&lt;/SOURCE&gt;&lt;/SOURCE&gt;&lt;/N&gt;&lt;/NUM&gt;&lt;/STRING&gt;&lt;/X&gt;&lt;/N&gt;&lt;/DIR&gt;&lt;/NAME&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:38:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102808#M69365</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:38:29Z</dc:date>
    </item>
    <item>
      <title>PE stands for Professional</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102809#M69366</link>
      <description>&lt;STRONG&gt;PE&lt;/STRONG&gt; stands for &lt;STRONG&gt;Professional Edition&lt;/STRONG&gt;
&lt;STRONG&gt;EE&lt;/STRONG&gt; stands for &lt;STRONG&gt;Express Edition&lt;/STRONG&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:39:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102809#M69366</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:39:45Z</dc:date>
    </item>
    <item>
      <title>VS2005PE 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102810#M69367</link>
      <description>&lt;STRONG&gt;VS2005PE 32-bit Options&lt;/STRONG&gt;

                         C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 minimize space                      /O2 maximize speed
/Ob&lt;N&gt; inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               /Oy[-] enable frame pointer omission 

                             -CODE GENERATION-

/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/fp:&lt;EXCEPT&gt; choose floating-point model:
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs  /Gs[num] control stack checking calls
/Gh enable _penter function call        /GH enable _pexit function call
/GT generate fiber-safe TLS accesses    /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks    /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks  
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
/Gd __cdecl calling convention          /Gr __fastcall calling convention
/Gz __stdcall calling convention        /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()   
/hotpatch ensure function padding for hotpatchable images
/arch:&lt;SSE&gt; minimum CPU architecture requirements, one of:
    SSE - enable use of instructions available with SSE enabled CPUs
    SSE2 - enable use of instructions available with SSE2 enabled CPUs

                              -OUTPUT FILES-

/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe&lt;FILE&gt; name executable file
/Fm[file] name map file                 /Fo&lt;FILE&gt; name object file
/Fp&lt;FILE&gt; name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       
/doc[file] process XML documentation comments and optionally name the .xdc file

                              -PREPROCESSOR-

/AI&lt;DIR&gt; add to assembly search path    /FU&lt;FILE&gt; forced using assembly/module 
/C don't strip comments                 /D&lt;NAME&gt;{=|#}&lt;TEXT&gt; define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI&lt;FILE&gt; name forced include file      /U&lt;NAME&gt; remove predefined macro
/u remove all predefined macros         /I&lt;DIR&gt; add to include search path
/X ignore "standard places"             

                                -LANGUAGE-

/Zi enable debugging information        /Z7 enable old-style debug info
/Zp&lt;N&gt; pack structs on n-byte boundary  /Za disable extensions
/Ze enable extensions (default)         /Zl omit default library name in .OBJ
/Zg generate function prototypes        /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp      /vm&lt;X&gt; type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
    forScope[-] - enforce Standard C++ for scoping rules
    wchar_t[-] - wchar_t is the native type, not a typedef
/ZI enable Edit and Continue debug info 
/openmp enable OpenMP 2.0 language extensions

                              -MISCELLANEOUS-

@&lt;FILE&gt; options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
    none - do not send report                
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H&lt;NUM&gt; max external name length
/J default char type is unsigned        /nologo suppress copyright message
/showIncludes show include file names   /Tc&lt;SOURCE file=""&gt; compile file as .c
/Tp&lt;SOURCE file=""&gt; compile file as .cpp   /TC compile all files as .c
/TP compile all files as .cpp           /V&lt;STRING&gt; set version string
/w disable all warnings                 /wd&lt;N&gt; disable warning n
/we&lt;N&gt; treat warning n as an error      /wo&lt;N&gt; issue warning n once
/w&lt;L&gt;&lt;N&gt; set warning level 1-4 for n    /W&lt;N&gt; set warning level (default n=1)
/Wall enable all warnings               /WL enable one line diagnostics
/WX treat warnings as errors            /Yc[file] create .PCH file
/Yd put debug info in every .OBJ        /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file                 /Y- disable all PCH options
/Zm&lt;N&gt; max memory alloc (% of default)  /Wp64 enable 64 bit porting warnings

                                -LINKING-

/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F&lt;NUM&gt; set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib&lt;/NUM&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/L&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/STRING&gt;&lt;/SOURCE&gt;&lt;/SOURCE&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/X&gt;&lt;/N&gt;&lt;/DIR&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/SSE&gt;&lt;/EXCEPT&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:40:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102810#M69367</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:40:39Z</dc:date>
    </item>
    <item>
      <title>VS2005PE 64-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102811#M69368</link>
      <description>&lt;STRONG&gt;VS2005PE 64-bit Options&lt;/STRONG&gt;

                         C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 minimize space                      /O2 maximize speed
/Ob&lt;N&gt; inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               
/favor:&lt;BLEND&gt; select processor to optimize for, one of:
    blend - a combination of optimizations for several different x64 processors
    AMD64 - 64-bit AMD processors                                 
    EM64T - Intel Pentium processors supporting EM64T             

                             -CODE GENERATION-

/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/fp:&lt;EXCEPT&gt; choose floating-point model:
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs  /Gs[num] control stack checking calls
/Gh enable _penter function call        /GH enable _pexit function call
/GT generate fiber-safe TLS accesses    /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks    /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks  
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
/homeparams Force parameters passed in registers to be written to the stack
/GZ Enable stack checks (/RTCs)         

                              -OUTPUT FILES-

/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe&lt;FILE&gt; name executable file
/Fm[file] name map file                 /Fo&lt;FILE&gt; name object file
/Fp&lt;FILE&gt; name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       
/doc[file] process XML documentation comments and optionally name the .xdc file

                              -PREPROCESSOR-

/AI&lt;DIR&gt; add to assembly search path    /FU&lt;FILE&gt; forced using assembly/module 
/C don't strip comments                 /D&lt;NAME&gt;{=|#}&lt;TEXT&gt; define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI&lt;FILE&gt; name forced include file      /U&lt;NAME&gt; remove predefined macro
/u remove all predefined macros         /I&lt;DIR&gt; add to include search path
/X ignore "standard places"             

                                -LANGUAGE-

/Zi enable debugging information        /Z7 enable old-style debug info
/Zp&lt;N&gt; pack structs on n-byte boundary  /Za disable extensions
/Ze enable extensions (default)         /Zl omit default library name in .OBJ
/Zg generate function prototypes        /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp      /vm&lt;X&gt; type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
    forScope[-] - enforce Standard C++ for scoping rules
    wchar_t[-] - wchar_t is the native type, not a typedef
/openmp enable OpenMP 2.0 language extensions

                              -MISCELLANEOUS-

@&lt;FILE&gt; options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
    none - do not send report                
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H&lt;NUM&gt; max external name length
/J default char type is unsigned        /nologo suppress copyright message
/showIncludes show include file names   /Tc&lt;SOURCE file=""&gt; compile file as .c
/Tp&lt;SOURCE file=""&gt; compile file as .cpp   /TC compile all files as .c
/TP compile all files as .cpp           /V&lt;STRING&gt; set version string
/w disable all warnings                 /wd&lt;N&gt; disable warning n
/we&lt;N&gt; treat warning n as an error      /wo&lt;N&gt; issue warning n once
/w&lt;L&gt;&lt;N&gt; set warning level 1-4 for n    /W&lt;N&gt; set warning level (default n=1)
/Wall enable all warnings               /WL enable one line diagnostics
/WX treat warnings as errors            /Yc[file] create .PCH file
/Yd put debug info in every .OBJ        /Yl[sym] inject .PCH ref for debug lib
/Yu[file] use .PCH file                 /Y- disable all PCH options
/Zm&lt;N&gt; max memory alloc (% of default)  /Wp64 enable 64 bit porting warnings

                                -LINKING-

/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F&lt;NUM&gt; set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib&lt;/NUM&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/L&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/STRING&gt;&lt;/SOURCE&gt;&lt;/SOURCE&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/X&gt;&lt;/N&gt;&lt;/DIR&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/EXCEPT&gt;&lt;/BLEND&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:41:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102811#M69368</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:41:42Z</dc:date>
    </item>
    <item>
      <title>VS2008EE 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102812#M69369</link>
      <description>&lt;STRONG&gt;VS2008EE 32-bit Options&lt;/STRONG&gt;

                         C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 minimize space                      /O2 maximize speed
/Ob&lt;N&gt; inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               /Oy[-] enable frame pointer omission 

                             -CODE GENERATION-

/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/fp:&lt;EXCEPT&gt; choose floating-point model:
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs  /Gs[num] control stack checking calls
/Gh enable _penter function call        /GH enable _pexit function call
/GT generate fiber-safe TLS accesses    /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks    /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks  
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
/Gd __cdecl calling convention          /Gr __fastcall calling convention
/Gz __stdcall calling convention        /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()   
/hotpatch ensure function padding for hotpatchable images
/arch:&lt;SSE&gt; minimum CPU architecture requirements, one of:
    SSE - enable use of instructions available with SSE enabled CPUs
    SSE2 - enable use of instructions available with SSE2 enabled CPUs
/Qimprecise_fwaits generate FWAITs only on "try" boundaries, not inside "try"

                              -OUTPUT FILES-

/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe&lt;FILE&gt; name executable file
/Fm[file] name map file                 /Fo&lt;FILE&gt; name object file
/Fp&lt;FILE&gt; name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       
/doc[file] process XML documentation comments and optionally name the .xdc file

                              -PREPROCESSOR-

/AI&lt;DIR&gt; add to assembly search path    /FU&lt;FILE&gt; forced using assembly/module 
/C don't strip comments                 /D&lt;NAME&gt;{=|#}&lt;TEXT&gt; define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI&lt;FILE&gt; name forced include file      /U&lt;NAME&gt; remove predefined macro
/u remove all predefined macros         /I&lt;DIR&gt; add to include search path
/X ignore "standard places"             

                                -LANGUAGE-

/Zi enable debugging information        /Z7 enable old-style debug info
/Zp&lt;N&gt; pack structs on n-byte boundary  /Za disable extensions
/Ze enable extensions (default)         /Zl omit default library name in .OBJ
/Zg generate function prototypes        /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp      /vm&lt;X&gt; type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
    forScope[-] - enforce Standard C++ for scoping rules
    wchar_t[-] - wchar_t is the native type, not a typedef
/ZI enable Edit and Continue debug info 
/openmp enable OpenMP 2.0 language extensions

                              -MISCELLANEOUS-

@&lt;FILE&gt; options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
    none - do not send report                
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H&lt;NUM&gt; max external name length
/J default char type is unsigned        
/MP&lt;N&gt; use up to 'n' processes for compilation
/nologo suppress copyright message      /showIncludes show include file names
/Tc&lt;SOURCE file=""&gt; compile file as .c     /Tp&lt;SOURCE file=""&gt; compile file as .cpp
/TC compile all files as .c             /TP compile all files as .cpp
/V&lt;STRING&gt; set version string           /w disable all warnings
/wd&lt;N&gt; disable warning n                /we&lt;N&gt; treat warning n as an error
/wo&lt;N&gt; issue warning n once             /w&lt;L&gt;&lt;N&gt; set warning level 1-4 for n
/W&lt;N&gt; set warning level (default n=1)   /Wall enable all warnings
/WL enable one line diagnostics         /WX treat warnings as errors
/Yc[file] create .PCH file              /Yd put debug info in every .OBJ
/Yl[sym] inject .PCH ref for debug lib  /Yu[file] use .PCH file
/Y- disable all PCH options             /Zm&lt;N&gt; max memory alloc (% of default)
/Wp64 enable 64 bit porting warnings    

                                -LINKING-

/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F&lt;NUM&gt; set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib&lt;/NUM&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/L&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/STRING&gt;&lt;/SOURCE&gt;&lt;/SOURCE&gt;&lt;/N&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/X&gt;&lt;/N&gt;&lt;/DIR&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/SSE&gt;&lt;/EXCEPT&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:42:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102812#M69369</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:42:40Z</dc:date>
    </item>
    <item>
      <title>VS2008EE 64-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102813#M69370</link>
      <description>&lt;STRONG&gt;VS2008EE 64-bit Options&lt;/STRONG&gt;

Note: Microsoft did Not released a 64-bit version of VS 2008 Express Edition.</description>
      <pubDate>Mon, 08 Aug 2016 17:44:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102813#M69370</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:44:26Z</dc:date>
    </item>
    <item>
      <title>VS2008PE 32-bit Options</title>
      <link>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102814#M69371</link>
      <description>&lt;STRONG&gt;VS2008PE 32-bit Options&lt;/STRONG&gt;

                         C/C++ COMPILER OPTIONS


                              -OPTIMIZATION-

/O1 minimize space                      /O2 maximize speed
/Ob&lt;N&gt; inline expansion (default n=0)   /Od disable optimizations (default)
/Og enable global optimization          /Oi[-] enable intrinsic functions
/Os favor code space                    /Ot favor code speed
/Ox maximum optimizations               /Oy[-] enable frame pointer omission 

                             -CODE GENERATION-

/GF enable read-only string pooling     /Gm[-] enable minimal rebuild
/Gy[-] separate functions for linker    /GS[-] enable security checks
/GR[-] enable C++ RTTI                  /GX[-] enable C++ EH (same as /EHsc)
/EHs enable C++ EH (no SEH exceptions)  /EHa enable C++ EH (w/ SEH exceptions)
/EHc extern "C" defaults to nothrow     
/fp:&lt;EXCEPT&gt; choose floating-point model:
    except[-] - consider floating-point exceptions when generating code
    fast - "fast" floating-point model; results are less predictable
    precise - "precise" floating-point model; results are predictable
    strict - "strict" floating-point model (implies /fp:except)
/Qfast_transcendentals generate inline FP intrinsics even with /fp:except
/GL[-] enable link-time code generation /GA optimize for Windows Application
/Ge force stack checking for all funcs  /Gs[num] control stack checking calls
/Gh enable _penter function call        /GH enable _pexit function call
/GT generate fiber-safe TLS accesses    /RTC1 Enable fast checks (/RTCsu)
/RTCc Convert to smaller type checks    /RTCs Stack Frame runtime checking
/RTCu Uninitialized local usage checks  
/clr[:option] compile for common language runtime, where option is:
    pure - produce IL-only output file (no native executable code)
    safe - produce IL-only verifiable output file
    oldSyntax - accept the Managed Extensions syntax from Visual C++ 2002/2003
    initialAppDomain - enable initial AppDomain behavior of Visual C++ 2002
    noAssembly - do not produce an assembly
/Gd __cdecl calling convention          /Gr __fastcall calling convention
/Gz __stdcall calling convention        /GZ Enable stack checks (/RTCs)
/QIfist[-] use FIST instead of ftol()   
/hotpatch ensure function padding for hotpatchable images
/arch:&lt;SSE&gt; minimum CPU architecture requirements, one of:
    SSE - enable use of instructions available with SSE enabled CPUs
    SSE2 - enable use of instructions available with SSE2 enabled CPUs
/Qimprecise_fwaits generate FWAITs only on "try" boundaries, not inside "try"

                              -OUTPUT FILES-

/Fa[file] name assembly listing file    /FA[scu] configure assembly listing
/Fd[file] name .PDB file                /Fe&lt;FILE&gt; name executable file
/Fm[file] name map file                 /Fo&lt;FILE&gt; name object file
/Fp&lt;FILE&gt; name precompiled header file  /Fr[file] name source browser file
/FR[file] name extended .SBR file       
/doc[file] process XML documentation comments and optionally name the .xdc file

                              -PREPROCESSOR-

/AI&lt;DIR&gt; add to assembly search path    /FU&lt;FILE&gt; forced using assembly/module 
/C don't strip comments                 /D&lt;NAME&gt;{=|#}&lt;TEXT&gt; define macro
/E preprocess to stdout                 /EP preprocess to stdout, no #line
/P preprocess to file                   /Fx merge injected code to file
/FI&lt;FILE&gt; name forced include file      /U&lt;NAME&gt; remove predefined macro
/u remove all predefined macros         /I&lt;DIR&gt; add to include search path
/X ignore "standard places"             

                                -LANGUAGE-

/Zi enable debugging information        /Z7 enable old-style debug info
/Zp&lt;N&gt; pack structs on n-byte boundary  /Za disable extensions
/Ze enable extensions (default)         /Zl omit default library name in .OBJ
/Zg generate function prototypes        /Zs syntax check only
/vd{0|1|2} disable/enable vtordisp      /vm&lt;X&gt; type of pointers to members
/Zc:arg1[,arg2] C++ language conformance, where arguments can be:
    forScope[-] - enforce Standard C++ for scoping rules
    wchar_t[-] - wchar_t is the native type, not a typedef
/ZI enable Edit and Continue debug info 
/openmp enable OpenMP 2.0 language extensions

                              -MISCELLANEOUS-

@&lt;FILE&gt; options response file           /?, /help print this help message
/bigobj generate extended object format /c compile only, no link
/errorReport:option Report internal compiler errors to Microsoft
    none - do not send report                
    prompt - prompt to immediately send report
    queue - at next admin logon, prompt to send report (default)
    send - send report automatically         
/FC use full pathnames in diagnostics   /H&lt;NUM&gt; max external name length
/J default char type is unsigned        
/MP&lt;N&gt; use up to 'n' processes for compilation
/nologo suppress copyright message      /showIncludes show include file names
/Tc&lt;SOURCE file=""&gt; compile file as .c     /Tp&lt;SOURCE file=""&gt; compile file as .cpp
/TC compile all files as .c             /TP compile all files as .cpp
/V&lt;STRING&gt; set version string           /w disable all warnings
/wd&lt;N&gt; disable warning n                /we&lt;N&gt; treat warning n as an error
/wo&lt;N&gt; issue warning n once             /w&lt;L&gt;&lt;N&gt; set warning level 1-4 for n
/W&lt;N&gt; set warning level (default n=1)   /Wall enable all warnings
/WL enable one line diagnostics         /WX treat warnings as errors
/Yc[file] create .PCH file              /Yd put debug info in every .OBJ
/Yl[sym] inject .PCH ref for debug lib  /Yu[file] use .PCH file
/Y- disable all PCH options             /Zm&lt;N&gt; max memory alloc (% of default)
/Wp64 enable 64 bit porting warnings    

                                -LINKING-

/LD Create .DLL                         /LDd Create .DLL debug library
/LN Create a .netmodule                 /F&lt;NUM&gt; set stack size
/link [linker options and libraries]    /MD link with MSVCRT.LIB
/MT link with LIBCMT.LIB                /MDd link with MSVCRTD.LIB debug lib
/MTd link with LIBCMTD.LIB debug lib&lt;/NUM&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/L&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/STRING&gt;&lt;/SOURCE&gt;&lt;/SOURCE&gt;&lt;/N&gt;&lt;/NUM&gt;&lt;/FILE&gt;&lt;/X&gt;&lt;/N&gt;&lt;/DIR&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/TEXT&gt;&lt;/NAME&gt;&lt;/FILE&gt;&lt;/DIR&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/FILE&gt;&lt;/SSE&gt;&lt;/EXCEPT&gt;&lt;/N&gt;</description>
      <pubDate>Mon, 08 Aug 2016 17:45:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Evolution-of-Command-Line-options-of-different-C-compilers/m-p/1102814#M69371</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T17:45:18Z</dc:date>
    </item>
  </channel>
</rss>

