[Fortran] 인텔 (intel) 포트란 도움말 정보 (ifort --help)

 정보

  • 업무명     : 인텔 (intel) 포트란 도움말 정보 (ifort --help)

  • 작성자     : 이상호

  • 작성일     : 2021-02-24

  • 설   명      :

  • 수정이력 :

 

 내용

[개요]

  • 안녕하세요? 웹 개발 및 연구 개발을 담당하고 있는 해솔입니다.

  • Fortran (포트란)은 수식 (Formular) 변환기 (Translator)의 약자로 과학 계산용으로 주고 사용되는 언어입니다.

  • 복잡한 계산 수행 성능이 뛰어나 공학과 자연과학 등 특정분야에 주로 사용되며 기상 데이터 처리를 위해 널리 사용되고 있습니다.

  • 오늘 포스팅은 인텔 (intel) 포트란 도움말 정보 (ifort --help)를 소개합니다.

 

 

[특징]

  • 기상 데이터 처리를 위해서 포트란 (Fortran)기술이 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 기술서

 

[기능]

  • 도움말

 

[활용 자료]

  • 없음

 

[자료 처리 방안 및 활용 분석 기법]

  • 없음

 

[사용법]

  • 없음

 

[사용 OS]

  • Linux (CentOS v7.8)

 

[사용 언어]

  • ifort v20.0.1

 

 세부 내용

[도움말]

  •  
ifort --help
  •  

 

ifort-help.txt
0.08MB

 

  • 영문

                         Intel(R) Fortran 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 >
  Compiler Options."

  usage: ifort [options] file1 [file2 ...]

     where options represents zero or more compiler options

     fileN is a Fortran source (.f .for .ftn .f90 .fpp .F .FOR .F90 .i .i90),
     assembly (.s .S), object (.o), static library (.a), or other 
     linkable file

     Commonly used options may be placed in the ifort .cfg file.

   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
-O        same as -O2
-Os       enable speed optimizations, but disable some optimizations which
          increase code size for small speed benefit 
-O0       disable optimizations
-Ofast    enable -O3 -no-prec-div -fp-model fast=2 optimizations
-fno-alias
          assume no aliasing in program
-fno-fnalias
          assume no aliasing within functions, but assume aliasing across calls
-nolib-inline
          disable inline expansion of intrinsic functions
-f[no-]optimize-sibling-calls
          Optimize sibling and tail recursive calls. 
          Enabled at levels -O2, -O3, -Os.
-f[no-]protect-parens
          enable/disable(DEFAULT) a reassociation optimization for REAL
          and COMPLEX expression evaluations by not honoring parenthesis
-qsimd-honor-fp-model
          enforces the selected fp-model in SIMD loops.
          Specify -qno-simd-honor-fp-model(DEFAULT) to override
          the fp-model in SIMD loops.
-qsimd-serialize-fp-reduction
          serializes FP reductions for improved floating point consistency in
          SIMD loops while allowing the rest of the loop to be vectorized.
          Default is -qno-simd-serialize-fp-reduction

Code Generation
---------------

-x<code>  generate specialized code to run exclusively on processors
          indicated by <code> 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.
            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.
            ATOM_SSE4.2
                    May generate MOVBE instructions for Intel(R) processors,
                    depending on the setting of option -minstruction.
                    May also generate Intel(R) SSE4.2, SSE3, SSE2, and SSE
                    instructions for Intel processors. Optimizes for Intel(R)
                    Atom(TM) processors that support Intel(R) SSE4.2 and MOVBE
                    instructions.
            ATOM_SSSE3
                    May generate MOVBE instructions for Intel(R) processors,
                    depending on the setting of option -minstruction.
                    May also generate Intel(R) SSSE3, SSE3, SSE2, and SSE
                    instructions for Intel processors. Optimizes for the
                    Intel(R) Atom(TM) processor that support Intel(R) SSE
                    and MOVBE instructions.
            MIC-AVX512
                    May generate Intel(R) Advanced Vector Extensions 512
                    (Intel(R) AVX-512) Foundation instructions, Intel(R)
                    AVX-512 Conflict Detection instructions, Intel(R) AVX-512
                    Exponential and Reciprocal instructions, Intel(R) AVX-512
                    Prefetch instructions for Intel(R) processors, and the
                    instructions enabled with CORE-AVX2. Optimizes for Intel(R)
                    processors that support Intel(R) AVX-512 instructions.
            KNM
                    May generate Quad Fused Multiply Add (QFMA) and Quad
                    Virtual Neural Network Instruction (QVNNI) and the
                    instructions enabled with MIC-AVX512. Optimizes for
                    Intel(R) Xeon Phi(TM) product family processor code named
                    Knights Mill.
            CORE-AVX512 
                    May generate Intel(R) Advanced Vector Extensions 512 
                    (Intel(R) AVX-512) Foundation instructions, Intel(R) 
                    AVX-512 Conflict Detection instructions, Intel(R) AVX-512 
                    Doubleword and Quadword instructions, Intel(R) AVX-512 
                    Byte and Word instructions and Intel(R) AVX-512 Vector 
                    Length Extensions for Intel(R) processors, and the 
                    instructions enabled with CORE-AVX2. Optimizes for Intel(R)
                    processors that support Intel(R) AVX-512 instructions. 
            COMMON-AVX512
               	    May generate Intel(R) Advanced Vector Extensions 512
                    (Intel(R) AVX-512) Foundation instructions, Intel(R)
                    AVX-512 Conflict Detection instructions, as well as the
                    instructions enabled with CORE-AVX2. Optimizes for Intel(R)
                    processors that support Intel(R) AVX-512 instructions.
            BROADWELL
            CANNONLAKE
            HASWELL
            ICELAKE-CLIENT (or ICELAKE)
            ICELAKE-SERVER
            IVYBRIDGE
            KNL
            KNM
            SANDYBRIDGE
            SILVERMONT
            GOLDMONT
            GOLDMONT-PLUS
            TREMONT
            SKYLAKE
            SKYLAKE-AVX512
            CASCADELAKE
            KABYLAKE
            COFFEELAKE
            AMBERLAKE
            WHISKEYLAKE
            TIGERLAKE
            SAPPHIRERAPIDS
                    May generate instructions for processors that support the
                    specified Intel(R) microarchitecture code name. Optimizes
                    for Intel(R) processors that support the specified Intel(R)
                    microarchitecture code name.
                    Keywords KNL and SILVERMONT are only available on Windows*
                    and Linux* systems.
-xHost    generate instructions for the highest instruction set and processor
          available on the compilation host machine
-ax<code1>[,<code2>,...]
          generate code specialized for processors specified by <codes>
          while also generating generic IA-32 instructions.  
          <codes> 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.
            CORE-AVX512 
                    May generate Intel(R) Advanced Vector Extensions 512 
                    (Intel(R) AVX-512) Foundation instructions, Intel(R) 
                    AVX-512 Conflict Detection instructions, Intel(R) AVX-512
                    Doubleword and Quadword instructions, Intel(R) AVX-512 
                    Byte and Word instructions and Intel(R) AVX-512 Vector 
                    Length Extensions for Intel(R) processors, and the 
                    instructions enabled with CORE-AVX2. 
            BROADWELL
            CANNONLAKE
            HASWELL
            ICELAKE-CLIENT (or ICELAKE)
            ICELAKE-SERVER
            IVYBRIDGE
            KNL
            KNM
            SANDYBRIDGE
            SILVERMONT
            GOLDMONT
            GOLDMONT-PLUS
            TREMONT
            SKYLAKE
            SKYLAKE-AVX512
            CASCADELAKE
            KABYLAKE
            COFFEELAKE
            AMBERLAKE
            WHISKEYLAKE
            TIGERLAKE
            SAPPHIRERAPIDS
                    May generate instructions for processors that support the
                    specified Intel(R) microarchitecture code name. Optimizes
                    for Intel(R) processors that support the specified Intel(R)
                    microarchitecture code name.
                    Keywords KNL and SILVERMONT are only available on Windows*
                    and Linux* systems.

            MIC-AVX512
                    May generate Intel(R) Advanced Vector Extensions 512
                    (Intel(R) AVX-512) Foundation instructions, Intel(R)
                    AVX-512 Conflict Detection instructions, Intel(R) AVX-512
                    Exponential and Reciprocal instructions, Intel(R) AVX-512
                    Prefetch instructions for Intel(R) processors, and the
                    instructions enabled with CORE-AVX2.
            KNM
                    May generate Quad Fused Multiply Add (QFMA) and Quad
                    Virtual Neural Network Instruction (QVNNI) and the
                    instructions enabled with MIC-AVX512
-arch <code>
          generate specialized code to optimize for processors indicated by
          <code> as described below
            BROADWELL
            CANNONLAKE
            HASWELL
            ICELAKE-CLIENT (or ICELAKE)
            ICELAKE-SERVER
            IVYBRIDGE
            KNL
            KNM
            SANDYBRIDGE
            SILVERMONT
            GOLDMONT
            GOLDMONT-PLUS
            TREMONT
            SKYLAKE-AVX512
            SKYLAKE
            CASCADELAKE
            KABYLAKE
            COFFEELAKE
            AMBERLAKE
            WHISKEYLAKE
            TIGERLAKE
            SAPPHIRERAPIDS
                       May generate instructions for processors that support
                       the specified Intel(R) microarchitecture code name
            CORE-AVX2  May generate Intel(R) Advanced Vector Extensions 2
                       (Intel(R) AVX2), Intel(R) AVX, SSE4.2, SSE4.1, SSE3,
                       SSE2, SSE, and SSSE3 instructions
            CORE-AVX-I May generate Float-16 conversion instructions and the
                       RDRND instruction, Intel(R) Advanced Vector Extensions
                       (Intel(R) AVX), Intel(R) SSE4.2, SSE4.1, SSE3, SSE2,
                       SSE, and SSSE3 instructions
            AVX        May generate Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,
                       SSE2 and SSE instructions
            SSE4.2     May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2
                       and SSE instructions
            SSE4.1     May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2 and SSE
                       instructions
            SSSE3      May generate Intel(R) SSSE3, SSE3, SSE2 and SSE
                       instructions
            SSE3       May generate Intel(R) SSE3, SSE2 and SSE instructions
            SSE2       May generate Intel(R) SSE2 and SSE instructions
-mcpu=<cpu>
          same as -mtune=<cpu>
-mtune=<cpu>
          optimize for a specific <cpu>
            generic    - Optimizes code for the compiler's default behavior
            broadwell
            haswell 
            ivybridge 
            knl 
            knm
            sandybridge
            silvermont
            cannonlake
            icelake
            skylake-avx512
            skylake    - Optimizes code for processors that support the
                         specified Intel(R) microarchitecture code name.
                         knl and silvermont are only available on Windows* and
                         Linux* systems
            core-avx2  - Optimizes code for processors that support Intel(R)
                         Advanced Vector Extensions 2 (Intel(R) AVX2), Intel(R)
                         AVX, SSE4.2 SSE4.1, SSE3, SSE2, SSE, and SSSE3
                         instructions
            core-avx-i - Optimizes code for processors that support Float-16
                         conversion instructions and the RDRND instruction,
                         Intel(R) Advanced Vector Extensions (Intel(R) AVX),
                         Intel(R) SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3
                         instructions
            corei7-avx - Optimizes code for processors that support Intel(R)
                         Advanced Vector Extensions (Intel(R) AVX), Intel(R)
                         SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3
                         instructions
            corei7     - Optimizes code for processors that support Intel(R)
                         SSE4 Efficient Accelerated String and Text Processing
                         instructions. May also generate code for Intel(R) SSE4
                         Vectorizing Compiler and Media Accelerator, Intel(R)
                         SSE3, SSE2, SSE, and SSSE3 instructions
            atom       - Optimizes code for processors that support MOVBE
                         instructions, depending on the setting of option
                         -minstruction (Linux and macOS*) or /Qinstruction
                         (Windows). May also generate code for SSSE3
                         instructions and Intel(R) SSE3, SSE2, and SSE
                         instructions
            core2      - Optimizes for the Intel(R) Core(TM) 2 processor
                         family, including support for MMX(TM), Intel(R) SSE,
                         SSE2, SSE3, and SSSE3 instruction sets. 
            pentium-mmx - Optimizes for Intel(R) Pentium(R) with MMX technology
            pentiumpro - Optimizes for Intel(R) Pentium(R) Pro, Intel Pentium
                         II, and Intel Pentium III processors
            pentium4m  - Optimizes for Intel(R) Pentium(R) 4 processors with
                         MMX technology
            pentium-m
            pentium4
            pentium3
            pentium    - Optimizes code for Intel(R) Pentium(R) processors.
                         Value pentium3 is only available on Linux systems
-march=<cpu>
          generate code exclusively for a given <cpu>
            broadwell
            cannonlake
            haswell
            icelake
            ivybridge
            knl
            knm
            sandybridge
            silvermont
            skylake-avx512
            skylake    - Generates code for processors that support the
                         specified Intel(R) microarchitecture code name.
                         Keywords knl and silvermont are only available on
                         Linux* systems.
            core-avx2  - Generates code for processors that support Intel(R)
                         Advanced Vector Extensions 2 (Intel(R) AVX2), Intel(R)
                         AVX, SSE4.2 SSE4.1, SSE3, SSE2, SSE, and SSSE3
                         instructions
            core-avx-i - Generates code for processors that support Float-16
                         conversion instructions and the RDRND instruction,
                         Intel(R) Advanced Vector Extensions (Intel(R) AVX),
                         Intel(R) SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3
                         instructions
            corei7-avx - Generates code for processors that support Intel(R)
                         Advanced Vector Extensions (Intel(R) AVX), Intel(R)
                         SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3
                         instructions
            corei7     - Generates code for processors that support Intel(R)
                         SSE4 Efficient Accelerated String and Text Processing
                         instructions. May also generate code for Intel(R) SSE4
                         Vectorizing Compiler and Media Accelerator, Intel(R)
                         SSE3, SSE2, SSE, and SSSE3 instructions
            atom       - Generates code for processors that support MOVBE
                         instructions, depending on the setting of option
                         -minstruction (Linux and macOS*) or /Qinstruction
                         (Windows). May also generate code for SSSE3
                         instructions and Intel(R) SSE3, SSE2, and SSE
                         instructions
            core2      - Generates for the Intel(R) Core(TM) 2 processor
                         family
            pentium4m  - Generates for Intel(R) Pentium(R) 4 processors with
                         MMX technology
            pentium-m
            pentium4
            pentium3
            pentium    - Generates code for Intel(R) Pentium(R) processors.
                         Value pentium3 is only available on Linux systems
-msse3    May generate Intel(R) SSE3, SSE2, and SSE instructions
-mssse3   May generate Intel(R) SSSE3, SSE3, SSE2, and SSE instructions
-msse4    Enable -msse4.2
-msse4.1  May generate Intel(R) SSE4.1, SSSE3, SSE3, SSE2, and SSE instructions
-msse4.2  May generate Intel(R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
          instructions
-mavx     May generate Intel(R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, and SSE
          instructions
-masm=<dialect>
          generate asm instructions specified by <dialect>, which may be
          att (DEFAULT) or intel 
-minstruction=<keyword>
          Refine instruction set output for the selected target processor

            [no]movbe  - Do/do not generate MOVBE instructions with ATOM_SSSE3
                          (requires -xATOM_SSSE3)
           
-f[no-]omit-frame-pointer
          enable(DEFAULT)/disable use of EBP as general purpose register.
          -fno-omit-frame-pointer replaces -fp
-f[no-]fat-lto-objects
          enable/disable generation of true code/data when generating an
          IL object using -ipo -c. Objects generated with -ffat-lto-objects
          or -fno-fat-lto-objects are added unmodified to an archive when
          using xiar. xiar behavior remains unchanged for an IL object
          generated without specifying -f[no-]fat-lto-objects.
-f[no-]exceptions
          enable(DEFAULT)/disable exception handling
-fasynchronous-unwind-tables
          determines whether unwind information is precise at an instruction
          boundary or at a call boundary.  -fno-asynchronous-unwind-tables is
          the default for IA-32 architecture.
-fextend-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.
-m32      generate code for IA-32 architecture
-m64      generate code for Intel(R) 64 architecture
-m[no-]omit-leaf_frame-pointer
          determines wheather the frame pointer is omitted or kept in leaf
          functions
-m80387   Specify whether the compiler can use x87 instructions.
          Use -mno-80387 to disable.
-mx87     Same as -m80387
-mstringop-strategy=<alg>
          Override the internal decision heuristic for the particular algorithm
          to use for inlining string operations. The allowed values for <alg>:
            rep             - Expand using i386 "rep" prefix (DEFAULT for -Os)
            const_size_loop - Expand into an inline loop when size is known at
                              compile time (DEFAULT)
            libcall         - Always use a library call.
-mstringop-inline-threshold=<val>
          inline calls to memcall-like (memcpy, memset) functions when the
          number of bytes the functions handle are known at compile time and
          less than <val>
-fcf-protection[=<arg>]
          Enables Control-flow Enforcement Technology (CET) protection, which
          defends your program from certain attacks that exploit
          vulnerabilities.
            branch - do control-flow instrumentation for indirect branches
            return - do control-flow instrumentation for function returns
            full   - alias to specify both branch and return (same as no <arg>)
            none   - turn off instrumentation
-mauto-arch=<code1>[,<code2>,...]
          generate multiple, feature-specific auto-dispatch code paths for x86
          architecture processors if there is a performance benefit.  The
          accepted arguments match those of option '-ax'

Interprocedural Optimization (IPO)
----------------------------------

-[no-]ip  enable(DEFAULT)/disable single-file IP optimization
          within files
-ipo[n]   enable multi-file IP optimization between files
-ipo-c    generate a multi-file object file (ipo_out.o)
-ipo-S    generate a multi-file assembly file (ipo_out.S)
-ip-no-inlining
          disable full and partial inlining
-ip-no-pinlining
          disable partial inlining
-ipo-separate
          create one object file for every source file (overrides -ipo[n])
-ipo-jobs<n>
          specify the number of jobs to be executed simultaneously during the
          IPO link phase

Advanced Optimizations
----------------------

-unroll[n]
          set maximum number of times to unroll loops.  Omit n to use default
          heuristics.  Use n=0 to disable the loop unroller
-[no-]unroll-aggressive
          enables more aggressive unrolling heuristics
-funroll-loops
          unroll loops based on default heuristics
-[no-]scalar-rep
          enable(DEFAULT)/disable scalar replacement (requires -O3)
-[no]pad  enable/disable(DEFAULT) changing variable and array memory layout
-safe-cray-ptr
          Cray pointers do not alias with other variables
-[no-]ansi-alias
          enable(DEFAULT)/disable use of ANSI aliasing rules optimizations;
          user asserts that the program adheres to these rules
-[no-]complex-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.
-reentrancy <keyword>
          specify whether the threaded, reentrant run-time support should be
          used
          Keywords:  none (same as -noreentrancy), threaded(DEFAULT), async
-noreentrancy
          do not use threaded, reentrant run-time support
-heap-arrays [n]
          temporary arrays of minimum size n (in kilobytes) are allocated in
          heap memory rather than on the stack.  If n is not specified, 
          all temporary arrays are allocated in heap memory.
-no-heap-arrays
          temporary arrays are allocated on the stack (DEFAULT)
-q[no-]opt-multi-version-aggressive
          enables more aggressive multi-versioning to check for pointer
          aliasing and scalar replacement
-qopt-ra-region-strategy[=<keyword>]
          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
-[no-]vec
          enables(DEFAULT)/disables vectorization
-[no-]vec-guard-write
          enables cache/bandwidth optimization for stores under conditionals
          within vector loops
-vec-threshold[n]
          sets a threshold for the vectorization of loops based on the
          probability of profitable execution of the vectorized loop in
          parallel
-vecabi=<arg>
          select vector function ABI
            legacy - use the legacy vector function ABI
            compat - use the compatibility vector function ABI (DEFAULT)
            cmdtarget - generate an extended set of vector functions
            gcc    - use GCC compatible ABI
-qopt-malloc-options={0|1|2|3|4}
          specify malloc configuration parameters.  Specifying a non-zero <n>
          value will cause alternate configuration parameters to be set for
          how malloc allocates and frees memory
-qopt-jump-tables=<arg>
          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)
            <n>     - generate jump tables up to <n> in size
          use -qno-opt-jump-tables to lower switch statements as chains of
          if-then-else constructs
-fno-jump-tables
          do not generate jump tables for switches and if-then-else statements
-qopt-block-factor=<n>
          specify blocking factor for loop blocking
-qopt-streaming-stores=<arg>
          specifies whether streaming stores are generated
            always - enables generation of streaming stores under the
                     assumption that the application is memory bound.  Also,
                     the user is responsible for inserting the right memory
                     fences for synchronization
            auto   - compiler decides when streaming stores are used (DEFAULT)
            never  - disables generation of streaming stores
-mkl[=<arg>]
          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 -mkl 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
-q[no-]opt-subscript-in-range
          assumes no overflows in the intermediate computation of the
          subscripts
-coarray[=<keyword>]
          enable/disable(DEFAULT) coarray syntax for data parallel
          programming, and set the relationship between the coarray
          images.
          keywords: shared      - default if keyword is omitted
                    single      - overrides any other keyword
                    distributed - only valid with the Intel(R) 
                                  Cluster Toolkit
                    coprocessor - Intel(R) 64 Linux only
-coarray-num-images=n
          set default number of coarray images
-q[no-]opt-matmul
          replace matrix multiplication with calls to intrinsics and threading
          libraries for improved performance (DEFAULT at -O3 -parallel)
-[no-]simd
          enables(DEFAULT)/disables vectorization using SIMD directive
-guide-opts=<arg>
          tells the compiler to analyze certain code and generate 
          recommendations that may improve optimizations
-guide-file[=<filename>]
          causes the results of guide to be output to a file
-guide-file-append[=<filename>]
          causes the results of guide to be appended to a file
-guide[=<level>]
          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)
-guide-data-trans[=<level>]
          lets you set a level (1 - 4) of guidance for data transformation
          (DEFAULT is 4 when the option is specified)
-guide-par[=<level>]
          lets you set a level (1 - 4) of guidance for auto-parallelization
          (DEFAULT is 4 when the option is specified)
-guide-vec[=<level>]
          lets you set a level (1 - 4) of guidance for auto-vectorization
          (DEFAULT is 4 when the option is specified)
-qopt-mem-layout-trans[=<level>]
          controls the level of memory layout transformations performed by the
          compiler
           0 - disable memory layout transformations (same as
               -qno-opt-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 5 inclusive.  Default is 2.
-qno-opt-prefetch
          disable(DEFAULT) prefetch insertion.  Equivalent to -qopt-prefetch=0
-qopt-prefetch-distance=n1[,n2]
          specify the prefetch distance (how many iterations ahead, use n1 and
          n2 values such that n1>=n2) to be used for compiler generated
          prefetches inside loops.  n1 indicates distance from memory to L2
          cache and n2 indicates distance from L2 to L1.
-qopt-prefetch-issue-excl-hint
          generates PrefetchW instruction for Intel(R) microarchitecture
          code name Broadwell processors and beyond when -qopt-prefetch
          is also used
-qopt-threads-per-core=n
          specifies the number of threads (1 - 4) per core to be used for an
          application (Intel(R) MIC Architecture specific)
-qopt-streaming-cache-evict=n
          specifies the cache line eviction level (0 - 3) when streaming
          loads/stores are used.  (Intel(R) MIC Architecture specific)
-qopt-gather-scatter-unroll=n
          specify an alternative loop unroll sequence for gather and scatter
          loops (Intel(R) MIC Architecture specific).  Disable with
          -qno-opt-gather-scatter-unroll (equivalent to n=0)
-qopt-dynamic-align
          enable(DEFAULT) dynamic data alignment optimizations.  Specify
          -qno-opt-dynamic-align to disable
-falign-loops[=n]
          specify code alignment of loops to improve performance.
          n is the number of bytes for the minimum alignment boundary.  It must
          be a power of 2 between 1 and 4096.  If n is not present, an 
          alignment of 16 bytes is used.
          Use of -fno-align-loops (DEFAULT) sets alignment to 1.
-qopt-zmm-usage=<keyword>
          Specifies the level of zmm registers usage.  You can specify one of
          the following:
            low  - Tells the compiler that the compiled program is unlikely to
                   benefit from zmm registers usage. It specifies that the
                   compiler should avoid using zmm registers unless it can
                   prove the gain from their usage.
            high - Tells the compiler to generate zmm code without restrictions
-qoverride-limits
          provides a way to override certain internal compiler limits that are
          intended to prevent excessive memory usage or compile times for very
          large, complex compilation units.
-m[no-]branches-within-32B-boundaries
          align branches and fused branches on 32 byte boundaries
-q[no-]opt-multiple-gather-scatter-by-shuffles
          Enables or disables the optimization for multiple adjacent
          gather/scatter type vector memory references.

Profile Guided Optimization (PGO)
---------------------------------

-prof-dir <dir>
          specify directory for profiling output files (*.dyn and *.dpi)
-prof-src-root <dir>
          specify project root directory for application source files to
          enable relative path resolution during profile feedback on sources
          below that directory
-prof-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
-[no-]prof-src-dir
          specify whether directory names of sources should be 
          considered when looking up profile records within the .dpi file
-prof-file <file>
          specify file name for profiling summary file
-[no-]prof-data-order
          enable/disable(DEFAULT) static data ordering with profiling
-[no-]prof-func-order
          enable/disable(DEFAULT) function ordering with profiling
-[no-]prof-func-groups
          enable(DEFAULT with PGO)/disable function grouping
-prof-gen[=keyword[,keyword]]
          instrument program for profiling.  Optional keywords are as follows.
            default    - Produces an instrumented object file. This is the same
                         as specifying the -prof-gen option with no keyword.
            srcpos     - Produces an instrumented object file and information
                         needed for using the code coverage tool.
            globdata   - Produces an instrumented object file that includes
                         information for global data layout.
            threadsafe - Collects PGO data with guards for threaded
                         applications.
-no-prof-gen
          disable profiling instrumentation
-prof-use[=<arg>]
          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
-no-prof-use
          disable use of profiling information during optimization
-fnsplit[=<n>]
          enable function splitting (enabled with /Qprof-use for IA-32 Windows)
            n - positive integer indicating the threshold number.  The blocks
                can be placed into a different code segment if their
                execution probability is less than the specified value of
                range 0 <= n <= 100
          use -no-fnsplit to disable
-p        compile and link for function profiling with UNIX gprof tool
          On IA32 and Intel(r)64, -pg is also valid
-f[no-]instrument-functions
          determine whether function entry and exit points are instrumented
-prof-hotness-threshold=<val>
          set the hotness threshold for function grouping and function ordering
          val indicates percentage of functions to be placed in hot region.
          This option requires -prof-use 
           and -prof-func-groups or -prof-func-order
          
-prof-value-profiling=<arg>[,<arg>,...]
          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
-prof-gen-sampling
          prepares application executables for hardware profiling (sampling)
          and causes the compiler to generate source code mapping information
-prof-use-sampling=file[:file:...]
          enable use of hardware profiling (sampling) information during
          optimization. Argument provides list of one or more profiling data
          files to apply

Optimization Reports
--------------------

-qopt-report[=n]
          generate an optimization report. Default destination is
          <target>.optrpt.  Levels of 0 - 5 are valid.
          Please see documentation for additional details of
          information provided by phase per level.
            0   disable optimization report output
            2   DEFAULT when enabled
-qopt-report-file=[stdout | stderr | <file>]
          specify the filename or output stream for the generated report
-qopt-report-stdout
          specify the generated report should be directed to stdout
-qopt-report-per-object
          specify the generated report should be directed to a .optrpt file
          in the output directory (DEFAULT when another destination for the
          report is not specified)
-qopt-report-phase=<phase>[,<phase>,...]
          specify one or more phases that reports are generated against
-qopt-report-routine=<name>[,<name>,...]
          restrict the report to routines containing the given name
-qopt-report-filter=<string>
          restricts the opt-report to specific files, routines or line
          number ranges. Refer to the documentation for the specific
          syntax of parameter string.
-qopt-report-format=[text|vs]
          specify the output format to be used for the opt-report as either
          plain text or a format for use in the Microsoft* Visual Studio IDE
-q[no-]opt-report-embed
          When enabled, if an assembly file is being generated, special loop
          info annotations will be emitted in the assembly file.  If an object
          file/executable is being generated, these will be emitted into the
          object file/executable for use by the Intel VTune Amplifier
          application. Automatically enabled when symbolic debug information
          is enabled.
-qopt-report-help
          display the optimization phases available for reporting
-qopt-report-names=<keyword>
          Specifies whether mangled or unmangled names should appear in the
          optimization report.
            mangled   - use mangled names
            unmangled - use unmangled names (DEFAULT)
-qopt-report-annotate[=<keyword>]
          Annotate source files with optimization reports in specified format
            html - annotate in HTML format
            text - annotate in text format (DEFAULT)
-qopt-report-annotate-position=<keyword>
          Specify the site where loop related optimization reports appear in
          the annotated source for inlined routines
            caller - annotate at caller site
            callee - annotate at callee site
            both   - annotate at both caller and callee site
-tcheck [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
-tcollect[=<lib>]
          inserts instrumentation probes calling the Intel(R) Trace Collector
          API.  The library -l<lib> is linked in the default being -lVT
          (requires Intel(R) Trace Collector)
-tcollect-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 -fopenmp)
          Use -qno-openmp to disable
-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-lib=<ver>
          choose which OpenMP library version to link with
            compat - use the GNU compatible OpenMP run-time libraries
                     (DEFAULT)
-qopenmp-link=<library>
          choose whether to link with the static or dynamic OpenMP
          libraries.  Default is dynamic.
-qopenmp-threadprivate=<ver>
          choose which threadprivate implementation to use
            compat - use the GNU compatible thread local storage
            legacy - use the Intel compatible implementation
                     (DEFAULT)
-parallel
          enable the auto-parallelizer to generate multi-threaded code for
          loops that can be safely executed in parallel
-par-threshold[n]
          set threshold for the auto-parallelization of loops where n is an
          integer from 0 to 100
-par-runtime-control[n]
          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
-par-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.
-par-schedule-static-balanced[=n]
          Divides iterations into even-sized chunks.  Size n if
          specified, equal sized pieces if not.
-par-schedule-static-steal[=n]
          Divides iterations into even-sized chunks, but allows
          threads to steal parts of chunks from neighboring threads
-par-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.
-par-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.
-par-schedule-guided-analytical[=n]
          Divides iterations by using exponential distribution or 
          dynamic distributions.
-par-schedule-runtime
          Specifies a scheduling algorithm for DO loop iteration.
          Defers the scheduling decision until runtime.
-par-schedule-auto
          Lets the compiler or run-time system determine the 
          scheduling algorithm.
-par-affinity=[<modifier>,...]<type>[,<permute>][,<offset>]
          tune application performance by setting different thread affinity
-par-num-threads=<n>
          tune application performance by setting different number of threads 
-parallel-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 -no-parallel-source-info)
            1 - emit routine name and line information (DEFAULT)
            2 - emit path, file, routine name and line information
-qopenmp-simd
          Enables OpenMP* SIMD compilation.  Enabled by default with
          -qopenmp.  Use -qno-openmp-simd to disable.
-qopenmp-offload[=<kind>]
          Enables OpenMP* offloading compilation for TARGET directives.
          Enabled for Intel(R) MIC Architecture by default with -qopenmp. 
          Use -qno-openmp-offload to disable.
          Specify kind to specify the default device for TARGET directives.
            host - allow target code to run on host system while still doing
                   the outlining for offload
            mic  - specify Intel(R) MIC Architecture (DEFAULT)
-f[no-]mpc_privatize
          Enables privatization of all static data for the MPC
          unified parallel runtime.  This will cause calls to
          extended thread local storage resolution run-time routines
          which are not supported on standard linux distributions.
          This option is only usable in conjunction with the MPC
          unified parallel runtime.  The default is -fno-mpc-privatize.

Floating Point
--------------

-fp-model <name>
          enable <name> floating point model variation
            [no-]except - enable/disable floating point exception semantics
            fast[=1|2]  - enables more aggressive floating point optimizations
            precise     - allows value-safe optimizations
            source      - enables intermediates in source precision
                          sets -assume protect_parens for Fortran
            strict      - enables -fp-model precise -fp-model except, disables
                          contractions and enables pragma stdc fenv_access
            consistent  - enables consistent, reproducible results for
                          different optimization levels or between different
                          processors of the same architecture
-fp-speculation=<mode>
          enable floating point speculations with the following <mode>
          conditions:
            fast   - speculate floating point operations (DEFAULT)
            safe   - speculate only when safe
            strict - same as off
            off    - disables speculation of floating-point operations
-pc32     set internal FPU precision to 24 bit significand
-pc64     set internal FPU precision to 53 bit significand
-pc80     set internal FPU precision to 64 bit significand (DEFAULT)
-mp1      improve floating-point precision
-mieee-fp
          maintain floating point precision (disables some optimizations)
          can be disabled with -mno-ieee-fp
-[no-]prec-sqrt
          determine if certain square root optimizations are enabled
-[no-]prec-div
          improve precision of FP divides (some speed impact)
-[no-]fast-transcendentals
          generate a faster version of the transcendental functions
-[no-]fp-port
          round fp results at assignments and casts (some speed impact)
-fp-stack-check
          enable fp stack checking after every function/procedure call
-rcd      rounding mode to enable fast float-to-int conversions
-rounding-mode chopped
          set internal FPU rounding control to truncate
-[no-]ftz
          enable/disable flush denormal results to zero
-fpe{0|1|3}
          specifies program-wide behavior on floating point exceptions
-fpe-all={0|1|3}
          specifies floating point exception behavior on all functions
          and subroutines.  Also sets -assume ieee_fpe_flags
-[no]fltconsistency
          specify that improved floating-point consistency should be used
-[no-]fma
          enable/disable the combining of floating point multiplies and
          add/subtract operations
-[no]recursive
          compile all procedures for possible recursive execution
-fimf-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
-fimf-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
-fimf-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
-fimf-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
-fimf-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
-fimf-domain-exclusion=classlist[:funclist]
          indicates the input arguments domain on which math functions 
          must provide correct results. 
            classlist - defined as one of the following values:
                          nans, infinities, denormals, zeros
                          all, none, common
            funclist - optional list of one or more math library functions to
                       which the attribute should be applied.
-fimf-force-dynamic-target[=funclist]
          Instructs the compiler to use run-time dispatch in calls to math
          functions
            funclist - optional list of one or more math library functions to
                       which the attribute should be applied.
-fimf-use-svml=value[:funclist]
          Instructs the compiler to implement math library functions using
          the Short Vector Math Library(SVML)
            value    - true or false
            funclist - optional comma separated list of one or more math
                       library functions to which the attribute should be
                       applied
-ffinite-math-only
          Allow optimizations for floating point arithmetic that assume
          arguments and results are not NaNs or Infinities

Inlining
--------

-inline-level=<n>
          control inline expansion:
            n=0  disable inlining 
            n=1  inline functions declared with ATTRIBUTES INLINE or
                   FORCEINLINE
            n=2  inline any function, at the compiler's discretion 
-f[no-]inline-functions
          inline any function at the compiler's discretion
-finline-limit=<n>
          set maximum number of statements a function can have and still be
          considered for inlining
-inline-min-size=<n>
          set size limit for inlining small routines
-no-inline-min-size
          no size limit for inlining small routines
-inline-max-size=<n>
          set size limit for inlining large routines
-no-inline-max-size
          no size limit for inlining large routines
-inline-max-total-size=<n>
          maximum increase in size for inline function expansion
-no-inline-max-total-size
          no size limit for inline function expansion
-inline-max-per-routine=<n>
          maximum number of inline instances in any function
-no-inline-max-per-routine
          no maximum number of inline instances in any function
-inline-max-per-compile=<n>
          maximum number of inline instances in the current compilation
-no-inline-max-per-compile
          no maximum number of inline instances in the current compilation
-inline-factor=<n>
          set inlining upper limits by n percentage
-no-inline-factor
          do not set set inlining upper limits
-inline-forceinline
          treat inline routines as forceinline
-inline-calloc
          directs the compiler to inline calloc() calls as malloc()/memset()
-inline-min_caller-growth=<n>
          set lower limit on caller growth due to inlining a single routine
-no-inline-min-caller-growth
          no lower limit on caller growth due to inlining a single routine

Output, Debug, PCH
------------------

-c        compile to object (.o) only, do not link
-S        compile to assembly (.s) only, do not link
-fsource-asm
          produce assembly file with optional source annotations (requires -S)
-f[no-]verbose-asm
          produce assembly file with compiler comments (DEFAULT) (requires -S)
-fcode-asm
          produce assembly file with optional code annotations (requires -S)
-use-msasm
          support Microsoft* style assembly language insertion using MASM style
          syntax
-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\)
-o <file>
          name output file
-list[=<filename>]
          specify that a listing file should be generated
-list-line-len=#
          overrides the default line length (80) in a listing file
-list-page-len=#
          overrides the default page length (66) in a listing file
-show <keyword>
          controls the contents of the listing file
          keywords: all, none, [no]include, [no]map, [no]options
-g[level]
          Produce symbolic debug information.
          Valid [level] values:
             0  - Disable generation of symbolic debug information.
             1  - Emit minimal debug information for performing stack traces.
             2  - Emit complete debug information. (default for -g)
             3  - Emit extra information which may be useful for some tools.
-gdwarf-<version>
          Enable generation of debug information using the specified DWARF
          version.  These options may require additional tools such as linkers
          and debuggers which support these formats.
          Valid <version> values: 
             2  - DWARF Debug Information Format Version 2.
             3  - DWARF Debug Information Format Version 3. (default for -g)
             4  - DWARF Debug Information Format Version 4.
-gsplit-dwarf
          Generates an additional output file containing most of the debug 
          information.  This reduces the size of objects processed by the 
          linker.  The additional output file will be given a .dwo file 
          extension.  This option may require additional tools which support 
          DWARF object files. 
-debug [keyword]
          Control the emission of debug information.
          Valid [keyword] values:
             none
                 Disables debug generation.

             all, full (default if no keyword was specified)
                 Generates complete debug information.

             minimal
                 Generates line number information.
             extended
                 Generates complete debug information with semantic stepping
                 and variable locations enabled.

             [no]variable-locations
                 Controls additional debug information useful for tracking
                 variable values in optimized code.

             [no]semantic-stepping
                 Controls additional debug information useful for stepping
                 through optimized code.

             [no]pubnames
                 Controls generation of the DWARF .debug_pubnames section.

             [no]emit-column
                 Controls additional line number information with columns.
             [no]inline-debug-info
                 Controls additional debug information for inlined code.
             parallel
                 Emit code instrumentation useful for thread data sharing and
                 reentrant call detection.
-debug-parameters [keyword]
          Control output of debug information for PARAMETERS.
          Valid [keyword] values:
             none - Disables generation of debug information for PARAMETERs.
             used - Generates debug information for referenced PARAMETERs only.
             all  - Generates debug information for all PARAMETERs.
-nodebug-parameters
          Same as "-debug-parameters none".
-grecord-gcc-switches
          Record command line options in the DW_AT_producer attribute in
          the DWARF debugging information.
-fvar-tracking
          Same as "-debug variable-locations".
-fvar-tracking-assignments
          Same as "-debug semantic-stepping".
-f[no-]dwarf2-cfi-asm
          Control whether the compiler should generate CFI directives which
          the assembler can use to generate unwind information, or if the
          compiler should emit the unwind information directly.
-fno-merge-debug-strings
          Do not merge identical debug strings in different object files.
-fno-merge-constants
          Do not merge identical string constants in different object files.
-[no]d-lines
          compile debug statements (indicated by D in column 1)
-DD       compile debug statements, indicated by D in column 1.  This option
          prevents the definition of a macro named D using the command line
          -Dname option (use -Dname=n syntax instead)
-ftrapuv  trap uninitialized variables
-map-opts
          enable option mapping tool
-print-multi-lib
          print information about libraries being used
-f[no-]eliminate-unused-debug-types
          When disabled, debug information for all types present in the
          sources will be emitted.  Using this option may cause a large
          increase in the size of the debug information.
-qemit-build-options
          Output the options used during the compilation to a corresponding
          .dashboard file.  This file is to be consumed by the dbmerge tool
          and used by the dashboard tool.
-qemit-messages
          Output the diagnostics emitted during the compilation to a
          corresponding .dashboard file.  This file is to be consumed by the
          dbmerge tool and used by the dashboard tool.

Preprocessor
------------

-D<name>[=<text>]
          define macro
-nodefines, -noD
          specifies that any -D macros go to the preprocessor only, and not to
          the compiler
-U<name>  remove predefined macro
-allow nofpp-comments
          If a Fortran end-of-line comment is seen within a #define, treat it
          as part of the definition.  Default is allow:fpp-comments
-E        preprocess to stdout
-EP       preprocess to stdout, omitting #line directives
-P        preprocess to file, omitting #line directives
-preprocess-only
          same as -P
-[no]keep  keep/remove preprocessed file generated by preprocessor as input to
           compiler stage.  Not affected by -save-temps.  Default is -nokeep
-[no]fpp   run Fortran preprocessor on source files prior to compilation

-fpp-name:name
           Name an alternate preprocessor executable.  The name can 
           include the full path. 
-module path
           specify path where mod files should be placed and first location to
           look for mod files
-I<dir>   add directory to include file search path
-idirafter<dir>
          add directory to the second include file search path (after -I)
-isystem<dir>
          add directory to the start of the system include path
-X, -nostdinc
          remove standard directories from include file search path
-B<prefix>
          find libraries, headers and executables in <prefix>
-gen-dep[=filename]
          generate dependency information.  
          If no filename is specified, output is to stdout.
           Similar to -MD or -MMD
          If a filename is specified, output is to filename.
           Similar to -MF filename
-no-gen-dep
          do not generate dependency information (default)
-gen-depshow=keyword
          control what dependency information is output.
          [no]intr_mod   Intrinsic modules.  Default is nointr_mod.
-gen-depformat=keyword
          generate dependency information in the specified format.
          One of:  make, nmake

Component Control
-----------------

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

Language
--------

-[no]altparam
          specify if alternate form of parameter constant declarations
          (without parenthesis) is recognized. Default is to recognize
-assume <keyword>
          specify assumptions made by the optimizer and code generator
          keywords: none, [no]byterecl, [no]buffered_io, 
                    [no]buffered_stdout,
                    [no]bscc (nobscc same as -nbs), 
                    [no]contiguous_assumed_shape, [no]contiguous_pointer,
                    [no]cc_omp, [no]minus0,
                    [no]dummy_aliases (same as -common-args),
                    [no]ieee_fpe_flags, [no]fpe_summary,
                    [no]old_boz, [no]old_complex_align,
                    [no]old_inquire_recl,
                    [no]old_logical_ldio, [no]old_logical_assign,
                    [no]old_ldout_format, [no]old_ldout_zero,
                    [no]old_maxminloc, [no]old_unit_star, [no]old_xor,
                    [no]protect_allocates, 
                    [no]protect_constants, [no]protect_parens, 
                    [no]recursion, [no]realloc_lhs, [no]2underscore, 
                    [no]underscore (same as -us),
                    [no]std_intent_in, [no]std_minus0_rounding,
                    [no]std_mod_proc_name, [no]std_value,
                    [no]source_include,  
                    [no]split_common, [no]writeable_strings
-ccdefault <keyword>
          specify default carriage control for units 6 and *
          keywords:  default, fortran, list or none
-[no]check <keyword>
          check run-time conditions.  Default is -nocheck
          keywords: all (same as  -C), none (same as -nocheck), 
                    [no]arg_temp_created, [no]bounds (same as -CB), 
                    [no]assume, [no]contiguous,
                    [no]format, [no]output_conversion, 
                    [no]pointers (same as -CA),
                    [no]shape, [no]stack,
                    [no]udio_iostat, [no]uninit (same as -CU)
-common-args
          assume "by reference" subprogram arguments may alias one
          another.  Same as -assume dummy_aliases
-e03      issue errors for language elements that are not standard in
          Fortran 2003 (same as -stand f03 -warn stderrors options)
-e95      issue errors for language elements that are not standard in
          Fortran 95 (same as -stand f95 -warn stderrors options)
-e90      issue errors for language elements that are not standard in
          Fortran 90 (same as -stand f90 -warn stderrors options)
-[no]extend-source [<keyword>]
          specify rightmost column for fixed form sources
          keywords: 72 (same as -noextend-source and -72),
                    80 (same as -80),
                   132 (same as -132.  Default if you specify 
                        -extend-source without a keyword.)
          
-fixed    specify source files are in fixed format. Same as -FI 
          -nofixed indicates free format
-free     specify source files are in free format. Same as -FR 
          -nofree indicates fixed format
-[no]mixed-str-len-arg
          indicate whether hidden lengths are passed after their
          character argument or after all arguments.
-names <keyword>
          specify how source code identifiers and external names are
          interpreted.
          keywords:  as_is, lowercase, uppercase
-[no]pad-source
          make compiler acknowledge blanks at the end of a line
-stand [<keyword>]
          specifies level of conformance with ANSI standard to check
          for.  If keyword is not specified, level of conformance is f08
          keywords: f90 (same as -std90), f95 (same as -std95), 
                    f03 (same as -std03), f08 (same as -std08), 
                    f18 (same as -std18), none (same as -nostand)
-standard-semantics
          explicitly sets assume keywords to conform to the semantics 
          of the Fortran standard.  May result in performance loss.

          assume keywords set by -standard-semantics: 
            byterecl, fpe_summary, minus0, noold_inquire_recl,
            noold_ldout_format, noold_ldout_zero, noold_maxminloc,
            noold_unit_star, noold_xor, protect_parens, realloc_lhs,
            std_intent_in, std_minus0_rounding, std_mod_proc_name, std_value

          also sets -fpscomp logicals

          If -fp-model=strict or -fp-model=except is set
            then this also sets assume keyword ieee_fpe_flags
-[no]standard-realloc-lhs
          explicitly sets assume keyword realloc_lhs to conform to the
          standard, or to override the default. Sets -assume [no]realloc_lhs
-syntax-only
          perform syntax and semantic checking only (no object file produced)
-qopt-assume-safe-padding
          assume that variables and dynamically allocated memory are padded
          (Intel(R) MIC Architecture specific)
-[no-]wrap-margin
          controls right margin wrapping in list-directed output. By default, 
          list-directed output is wrapped at 80 characters.

Compiler Diagnostics
--------------------

-w        disable all warnings
-W<n>     disable warnings (n = 0) or show warnings (n = 1 DEFAULT, same as
          -warn general)
-warn <keyword>
          specifies the level of warning messages issued
            keywords: all, none (same as -nowarn)
                      [no]alignments, [no]declarations,
                      [no]errors, [no]externals,
                      [no]general, [no]ignore_loc, [no]interfaces,
                      [no]shape, [no]stderrors, [no]truncated_source,
                      [no]uncalled, [no]unused, [no]usage
-nowarn   suppress all warning messages
-WB       turn a compile-time bounds check into a warning
-Winline  enable inline diagnostics
-[no]traceback
          specify whether the compiler generates PC correlation data used to
          display a symbolic traceback rather than a hexadecimal traceback at
          runtime failure
-[no]gen-interfaces[:[no]source]
          generate interface blocks for all routines in the file.  Can be
          checked using -warn interfaces
          nosource indicates temporary source files should not be saved
-error-limit <size>
          specify the maximum number of error-level or fatal-level compiler
          errors allowed
-noerror-limit
          set no maximum number on error-level or fatal-level error messages
-diag-enable=<v1>[,<v2>,...]
          enable the specified diagnostics or diagnostic groups
-diag-disable=<v1>[,<v2>,...]
          disable the specified diagnostics or diagnostic groups
          where <vN> may be individual diagnostic numbers or group names.
          where group names include:
              openmp     - diagnostics issued by the OpenMP* parallelizer
              warn       - diagnostics that have "warning" severity level
              error      - diagnostics that have "error" severity level
              remark     - diagnostics that are remarks or comments

              vec        - diagnostics issued by the vectorizer
              par        - diagnostics issued by the auto-parallelizer
              cpu-dispatch
                         - specifies the CPU dispatch remarks
-diag-error=<v1>[,<v2>,...]
          output the specified diagnostics or diagnostic groups as errors
-diag-warning=<v1>[,<v2>,...]
          output the specified diagnostics or diagnostic groups as warnings
-diag-remark=<v1>[,<v2>,...]
          output the the specified diagnostics or diagnostic groups as remarks
-diag-dump
          display the currently enabled diagnostic messages to stdout
-diag-file[=<file>]
          <file> where diagnostics are emitted to.  Not specifying this causes
          messages to be output to stderr
-diag-file-append[=<file>]
          <file> where diagnostics are emitted to. When <file> already exists,
          output is appended to the file
-[no-]diag-id-numbers
          enable(DEFAULT)/disable the diagnostic specifiers to be output in
          numeric form
-diag-error-limit=<num>
          specify the maximum number of errors emitted

Miscellaneous
-------------

-[no]logo
          display compiler version information.  -nologo disables the output
-V        display compiler version information
-dumpmachine
          display the target machine only
--version
          display GCC style version information
-sox[=<keyword>[,keyword]]
          enable saving of compiler options, version and additional information
          in the executable.  Use -no-sox to disable(DEFAULT)
            profile - include profiling data
            inline  - include inlining information
-save-temps
          store the intermediate files in current directory and name them
          based on the source file.  Only saves files that are generated by
          default
-dryrun   show driver tool commands but do not execute tools
-v        show driver tool commands and execute tools
-what     display detailed compiler version information
-watch=<keyword>
          tells the driver to output processing information
            keywords: all, none (same as -nowatch), [no]source,
                      [no]cmd (same as -v)
                      [no]mic-cmd
-nowatch  suppress processing information output (DEFAULT)
-Tf<file>
          compile file as Fortran source
-multiple-processes[=<n>]
          create multiple processes that can be used to compile large numbers
          of source files at the same time
-qnextgen
          invokes the Intel Compiler for LLVM*
-qnextgen-diag
          This option causes the Intel Compiler for LLVM* to display a list
          of compiler options that are currently not supported.

Offload
-------

-qoffload=<arg>
          define whether offload is enabled, and if enabled, whether CPU
          fallback is permitted
            keywords:  none, optional, mandatory
-qoffload-attribute-target=<name>
          flags every global routine and global data object in the source
          file with the offload attribute target(<name>)
            name - mic
-qoffload-option,<target>,<tool>,"option list"
          appends additional options for offload compilations given the
          target and tool.  The option list is a space separated quoted list
          of options
            target - mic
            tool   - compiler, ld, as
-qno-offload
          disable any offload usage
-qoffload-arch=<arch>
          specify the target architecture to use when offloading code
            arch - Specifies the target architecture. On Intel(R) 64
                   architecture targeting Intel(R) MIC Architecture, arch can
                   be mic-avx512.

Data
----

-i{2|4|8}
          set default KIND of integer and logical variables to 2, 4, or 8
-integer-size <size>
          specifies the default size of integer and logical variables
            size:  16, 32, 64
-r{8|16}  set default size of real to 8 or 16 bytes
-real-size <size>
          specify the size of REAL and COMPLEX declarations, constants,
          functions, and intrinsics
            size: 32, 64, 128
-autodouble
          same as -real-size 64 or -r8
-double-size <size>
          defines the size of DOUBLE PRECISION and DOUBLE COMPLEX declarations,
          constants, functions, and intrinsics
            size:  64, 128
-[no]fpconstant
          extends the precision of single precision constants assigned to
          double precision variables to double precision
-[no]intconstant
          use Fortran 77 semantics, rather than Fortran 90/95, to determine
          kind of integer constants
-auto     make all local variables AUTOMATIC
-auto-scalar
          make scalar local variables AUTOMATIC (DEFAULT)
-save     save all variables (static allocation) (same as -noauto,
          opposite of -auto)
-[no]zero
          enable/disable(DEFAULT) implicit initialization to zero of local
          scalar variables of intrinsic type INTEGER, REAL, COMPLEX, or
          LOGICAL that are saved and not initialized
-init=<keyword>
          enable/disable(DEFAULT) implicit initialization of local
          variables of intrinsic type INTEGER, REAL, COMPLEX, or
          LOGICAL that are saved and not initialized

          The <keyword> specifies the initial value

            keywords: zero (same as -zero),
                      snan (valid only for floating point variables),
                      infinity, minus_infinity (valid only for floating point)
                      tiny, minus_tiny (valid only for floating point)
                      huge, minus_huge
                      arrays
-dyncom<common1,common2,...>
          make given common blocks dynamically-allocated
-Zp[n]    specify alignment constraint for structures (n=1,2,4,8,16
          -Zp16 DEFAULT)
-[no]align
          analyze and reorder memory layout for variables and arrays
-align <keyword>
          specify how data items are aligned
            keywords: all (same as -align), none (same as -noalign),
                      [no]commons, [no]dcommons, 
                      [no]qcommons, [no]zcommons,
                      rec1byte, rec2byte, rec4byte, 
                      rec8byte, rec16byte, rec32byte,
                      array8byte, array16byte, array32byte,
                      array64byte, array128byte, array256byte,
                      [no]records, [no]sequence
-fminshared
          Compilation is for the main executable. Absolute addressing can be
          used and non-position independent code generated for symbols that
          are at least protected
-fcommon  Enables the compiler to treat common variables as if they were
          defined.  That in turn allows the use of gprel addressing of common
          data variables.  -fno-common disables
-fstack-security-check
          enable overflow security checks.
          -fno-stack-security-check disables (DEFAULT)
-fstack-protector
          enable stack overflow security checks.
          -fno-stack-protector disables (DEFAULT)
-fstack-protector-strong
          enable stack overflow security checks for routines witha any buffer. 
          -fno-stack-protector-strong disables (DEFAULT)
-fstack-protector-all
          enable stack overflow security checks including functions.
          -fno-stack-protector-all disables (DEFAULT)
-fpic, -fPIC
          generate position independent code (-fno-pic/-fno-PIC is DEFAULT)
-fpie, -fPIE
          generate position independent code that will be linked into an
          executable (-fno-pie/-fno-PIE is DEFAULT)
-[no-]global-hoist
          enable(DEFAULT)/disable external globals are load safe
-f[no-]keep-static-consts
          enable/disable(DEFAULT) the ability to preserve allocation of
          variables that are not referenced in the source
-fpack-struct
          pack structure members together
-f[no-]math-errno
          set ERRNO after calling standard math library functions
-no-bss-init
          disable placement of zero-initialized variables in BSS (use DATA)
-f[no-]zero-initialized-in-bss
          put explicitly zero initialized variables into the DATA section
          instead of the BSS section
-mcmodel=<size>
          use a specific memory model to generate code and store data
            small  - Restricts code and  data to the first 2GB of address 
                     space (DEFAULT)
            medium - Restricts code to the first 2GB; it places no memory
                     restriction on data
            large  - Places no memory restriction on code or data
-convert <keyword>
          specify the format of unformatted files containing numeric data
            keywords: big_endian, cray, ibm, little_endian, native, vaxd, vaxg
-falign-functions=<n>
          align the start of functions on a 2 (DEFAULT) or <n> byte boundary
          where <n> is a power of 2
-falign-functions
          align the start of functions to an optimal machine-dependent value.
          -fno-align-functions (DEFAULT) aligns on a 2-byte boundary
-fvisibility=[extern|default|protected|hidden|internal]
          Global symbols (data and functions) will get the visibility 
          attribute given by default. Symbol visibility attributes explicitly
          set in the source code or using the symbol visibility attribute
          file options will override the -fvisibility setting
-fvisibility-extern=<file>
          Space separated symbols listed in the <file> argument will get
          visibility set to extern
-fvisibility-default=<file>
          Space separated symbols listed in the <file> argument will get
          visibility set to default
-fvisibility-protected=<file>
          Space separated symbols listed in the <file> argument will get
          visibility set to protected
-fvisibility-hidden=<file>
          Space separated symbols listed in the <file> argument will get
          visibility set to hidden
-fvisibility-internal=<file>
          Space separated symbols listed in the <file> argument will get
          visibility set to internal
-fvisibility-inlines-hidden
          mark inline member functions as hidden

Compatibility
-------------

-fpscomp <keyword>
          specify the level of compatibility to adhere to with Fortran
          PowerStation
            keywords: all, none (same as -nofpscomp), [no]filesfromcmd,
                      [no]general, [no]ioformat, [no]ldio_spacing,
                      [no]libs, [no]logicals
-nofpscomp
          no specific level of compatibility with Fortran PowerStation
-f66, -66
          allow extensions that enhance FORTRAN-66 compatibility
-f77rtl   specify that the Fortran 77 specific run-time support should be used
          -nof77rtl disables
-vms      enable VMS I/O statement extensions
-gcc-name=<name>
          name and location of gcc if not where expected
-gxx-name=<name>
          name and location of g++ if not where expected
-gnu-prefix=prefix
          specify a prefix that will be added to the names of GNU utilities
          called from the compiler

Linking/Linker
--------------

-L<dir>   instruct linker to search <dir> for libraries
-l<string>
          instruct the linker to link in the -l<string> library
-shared-intel
          link Intel provided libraries dynamically
-static-intel
          link Intel provided libraries statically
-shared-libgcc
          link libgcc dynamically
-static-libgcc
          link libgcc statically
-static-libstdc++
          link libstdc++ statically
-dynamic-linker<file>
          select dynamic linker other than the default
-cxxlib   link using C++ run-time libraries
-no-cxxlib
          do not link in C++ runtime libraries
-cxxlib[=dir]
          link using C++ run-time libraries provided with gcc dir is an
          optional top-level location for the gcc binaries and libraries
-nodefaultlibs
          do not use standard libraries when linking
-nostartfiles
          do not use standard startup files when linking
-nostdlib
          do not use standard libraries and startup files when linking
-nofor-main
          do not link against Fortran main object.  Used when linking Fortran
          objects with C main program
-static   prevents linking with shared libraries
-shared   produce a shared object
-Bstatic  specify following libraries are linked statically
-Bdynamic
          specify following libraries are linked dynamically
-pthread  use POSIX* thread library for multithreading support
          Same as -threads
-cxxlib-<mode>
          tell the compiler which C++ run-time libraries to use
            nostd - do not link in standard C++ library
-T <file>
          direct linker to read link commands from <file>
-Xassembler <val>
          pass <val> directly to the assembler for processing
-Xlinker <val>
          pass <val> directly to the linker for processing
-Wa,<o1>[,<o2>,...]
          pass options o1, o2, etc. to the assembler
-Wl,<o1>[,<o2>,...]
          pass options o1, o2, etc. to the linker for processing
-Wp,<o1>[,<o2>,...]
          pass options o1, o2, etc. to the preprocessor
-threads  specify that multi-threaded libraries should be linked against
          -nothreads disables multi-threaded libraries
-pie,-no_pie
          generate position independent code that will be linked into an
          executable (-pie is DEFAULT for macOS* 10.7 and later)
          -no-pie/-no_pie disables position independent code
-fuse-ld=<arg>
          Use different linker instead of default linker (ld)
            bfd - use bfd linker
            gold - use gold linker

Linker Specific Options
-----------------------

These options are specific to the linker.  Details can be found in the linker
documentation and man page
-L<dir>
-T<arg>
-h<arg>
-u<arg>
-z<arg>
-i
-r
-s
-N
-Bsymbolic
-Bdynamic
-Bstatic

Deprecated Options
------------------

-use-asm                 No replacement
-qopt-report [n]         use -qopt-report[=n]
-cilk-serialize          No replacement
-qcf-protection=shadow_stack    use -fcf-protection=return
-qcf-protection=branch_tracking use -fcf-protection=branch
-qcf-protection=[full|none]     use -fcf-protection=[full|none]
-march=icelake           use -march=icelake-client
-mtune=icelake           use -mtune=icelake-client
-mcpu=icelake            use -mcpu=icelake-client
-xICELAKE                use -xICELAKE-CLIENT
-axICELAKE               use -axICELAKE-CLIENT
-stand f15               use -stand f18
-std15                   use -std18

-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-2020, Intel Corporation.  All rights reserved.
* Other names and brands may be claimed as the property of others.

 

  • 국문

인텔 (R) 포트란 컴파일러 도움말

                         =============================

 

  인텔 (R) 컴파일러에는 명령을 최적화하는 컴파일러 옵션이 포함되어 있습니다.

  인텔 (R) 및 비 인텔 마이크로 프로세서 모두에서 사용할 수 있지만

  인텔 마이크로 프로세서에 대한 추가 최적화를 수행 할 수 있습니다.

  비 인텔 마이크로 프로세서. 또한 특정 컴파일러 옵션은

  인텔 (R) 컴파일러는 인텔 마이크로 프로세서 용으로 예약되어 있습니다. 자세한 내용은

  명령어를 포함하여 이러한 컴파일러 옵션에 대한 설명

  "인텔 (R) 컴파일러 사용자 및 참조 안내서>

  컴파일러 옵션. "

 

  사용법 : ifort [options] file1 [file2 ...]

 

     여기서 options는 0 개 이상의 컴파일러 옵션을 나타냅니다.

 

     fileN은 Fortran 소스입니다 (.f .for .ftn .f90 .fpp .F .FOR .F90 .i .i90),

     어셈블리 (.s .S), 개체 (.o), 정적 라이브러리 (.a) 또는 기타

     링크 가능한 파일

 

     일반적으로 사용되는 옵션은 ifort .cfg 파일에 위치 할 수 있습니다.

 

   나열된 일부 옵션은 특정 시스템에서만 사용할 수 있습니다.

   i32는 IA-32 기반 시스템에서 기능을 사용할 수 있음을 나타냅니다.

          건축물

   i64em은 Intel (R) 64를 사용하는 시스템에서 기능을 사용할 수 있음을 나타냅니다.

          건축물

 

                             컴파일러 옵션 목록

                             --------------------

 

최적화

------------

 

-O1은 최대 속도를 최적화하지만 일부 최적화는 비활성화합니다.

          작은 속도 이점을 위해 코드 크기 늘리기

-O2는 최대 속도 최적화 (DEFAULT)

-O3는 최대 속도를 최적화하고보다 적극적인 최적화를 가능하게합니다.

          일부 프로그램에서 성능이 향상되지 않을 수 있습니다.

-O -O2와 동일

-Os는 속도 최적화를 활성화하지만 일부 최적화는 비활성화합니다.

          작은 속도 이점을 위해 코드 크기 증가

-O0 최적화 비활성화

-Ofast 활성화 -O3 -no-prec-div -fp-model fast = 2 최적화

-fno- 별칭

          프로그램에 앨리어싱이 없다고 가정

-fno-fnalias

          함수 내에서 앨리어싱이 없다고 가정하지만 호출간에 앨리어싱을 가정합니다.

-nolib- 인라인

          내장 함수의 인라인 확장 비활성화

-f [no-] 형제 호출 최적화

          형제 및 꼬리 재귀 호출을 최적화합니다.

          -O2, -O3, -Os 수준에서 활성화됩니다.

-f [no-] 보호 괄호

          REAL에 대한 재 연결 최적화 활성화 / 비활성화 (DEFAULT)

          괄호를 준수하지 않음으로써 COMPLEX 표현식 평가

-qsimd-honor-fp-model

          SIMD 루프에서 선택한 fp 모델을 적용합니다.

          재정의 할 -qno-simd-honor-fp-model (DEFAULT) 지정

          SIMD 루프의 fp 모델.

-qsimd- 직렬화 -fp- 감소

          향상된 부동 소수점 일관성을 위해 FP 감소를 직렬화합니다.

          SIMD 루프는 나머지 루프를 벡터화 할 수 있도록합니다.

          기본값은 -qno-simd-serialize-fp-reduction입니다.

 

코드 생성

---------------

 

-x <code> 프로세서에서만 실행되는 특수 코드 생성

          아래 설명과 같이 <code>로 표시

            SSE2는 Intel (R) SSE2 및 SSE 명령을 생성 할 수 있습니다.

                    프로세서. Intel NetBurst (R)에 최적화

                    마이크로 아키텍처.

            SSE3는 다음에 대한 Intel (R) SSE3, SSE2 및 SSE 명령을 생성 할 수 있습니다.

                    인텔 프로세서. 향상된 Pentium (R) M에 최적화

                    프로세서 마이크로 아키텍처 및 Intel NetBurst (R)

                    마이크로 아키텍처.

            SSSE3는 Intel (R) SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

                    인텔 프로세서에 대한 지침. 최적화

                    인텔 (R) 코어 (TM) 마이크로 아키텍처.

            SSE4.1은 인텔 (R) SSE4 벡터화 컴파일러 및 미디어를 생성 할 수 있습니다.

                    인텔 프로세서 용 가속기 지침. 할 수있다

                    Intel (R) SSSE3, SSE3, SSE2 및 SSE 명령어 생성

                    인텔 (R) 45nm Hi-k 차세대에 최적화 될 수 있습니다.

                    Intel Core (TM) 마이크로 아키텍처.

            SSE4.2가 Intel (R) SSE4 Efficient Accelerated String을 생성 할 수 있음

                    및 Intel (R)에서 지원하는 텍스트 처리 지침

                    Core (TM) i7 프로세서. Intel (R) SSE4 생성 가능

                    벡터화 컴파일러 및 미디어 가속기, 인텔 (R) SSSE3,

                    SSE3, SSE2 및 SSE 명령어이며

                    인텔 (R) 코어 (TM) 프로세서 제품군.

            AVX는 Intel (R) Advanced Vector Extensions (Intel (R)

                    AVX), Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3,

                    인텔 (R) 프로세서에 대한 SSE2 및 SSE 지침.

            CORE-AVX2

                    Intel (R) Advanced Vector Extensions 2를 생성 할 수 있습니다.

                    (인텔 (R) AVX2), 인텔 (R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,

                    인텔 (R) 프로세서에 대한 SSE2 및 SSE 지침.

            CORE-AVX-I

                    Intel (R) Advanced Vector Extensions (Intel (R)

                    AVX), Intel (R) Core 2 (TM) 지침 포함

                    32nm보다 작은 공정 기술의 프로세서,

                    Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 및 SSE

                    인텔 (R) 프로세서에 대한 지침.

            ATOM_SSE4.2

                    인텔 (R) 프로세서에 대한 MOVBE 명령을 생성 할 수 있습니다.

                    옵션 -minstruction의 설정에 따라.

                    Intel (R) SSE4.2, SSE3, SSE2 및 SSE 생성 가능

                    인텔 프로세서에 대한 지침. Intel (R)에 최적화

                    Intel (R) SSE4.2 및 MOVBE를 지원하는 Atom (TM) 프로세서

                    명령.

            ATOM_SSSE3

                    인텔 (R) 프로세서에 대한 MOVBE 명령을 생성 할 수 있습니다.

                    옵션 -minstruction의 설정에 따라.

                    Intel (R) SSSE3, SSE3, SSE2 및 SSE 생성 가능

                    인텔 프로세서에 대한 지침. 최적화

                    Intel (R) SSE를 지원하는 Intel (R) Atom (TM) 프로세서

                    및 MOVBE 지침.

            MIC-AVX512

                    Intel (R) Advanced Vector Extensions 512 생성 가능

                    (Intel (R) AVX-512) Foundation 지침, Intel (R)

                    AVX-512 충돌 감지 지침, Intel (R) AVX-512

                    지수 및 역수 명령어, Intel (R) AVX-512

                    인텔 (R) 프로세서에 대한 프리 페치 지침 및

                    CORE-AVX2로 활성화 된 지침. Intel (R)에 최적화

                    Intel (R) AVX-512 명령을 지원하는 프로세서.

            KNM

                    QFMA (Quad Fused Multiply Add) 및 쿼드 생성 가능

                    가상 신경망 명령 (QVNNI) 및

                    MIC-AVX512로 활성화 된 명령어. 최적화

                    Intel (R) Xeon Phi (TM) 제품군 프로세서 코드 이름

                    나이츠 밀.

            CORE-AVX512

                    Intel (R) Advanced Vector Extensions 512 생성 가능

                    (Intel (R) AVX-512) Foundation 지침, Intel (R)

                    AVX-512 충돌 감지 지침, Intel (R) AVX-512

                    더블 워드 및 쿼드 워드 명령어, Intel (R) AVX-512

                    바이트 및 워드 명령어와 Intel (R) AVX-512 Vector

                    Intel (R) 프로세서 용 길이 확장 및

                    CORE-AVX2로 활성화 된 지침. Intel (R)에 최적화

                    Intel (R) AVX-512 명령을 지원하는 프로세서.

            공통 -AVX512

                                 Intel (R) Advanced Vector Extensions 512 생성 가능

                    (Intel (R) AVX-512) Foundation 지침, Intel (R)

                    AVX-512 충돌 감지 지침 및

                    CORE-AVX2로 활성화 된 지침. Intel (R)에 최적화

                    Intel (R) AVX-512 명령을 지원하는 프로세서.

            브로드 웰

            캐논 케이크

            HASWELL

            ICELAKE-CLIENT (또는 ICELAKE)

            ICELAKE 서버

            아이비 브리지

            KNL

            KNM

            샌디 브리지

            실버 몬트

            골드 몬트

            골드 몬트 플러스

            트레 몬트

            스카이 레이크

            스카이 레이크 -AVX512

            CASCADELAKE

            카빌 레이크

            커피

            앰버 레이크

            위스키 레이크

            타이거 레이크

            SAPPHIRERAPIDS

                    지원하는 프로세서에 대한 지침을 생성 할 수 있습니다.

                    지정된 인텔 (R) 마이크로 아키텍처 코드 이름. 최적화

                    지정된 인텔 (R)을 지원하는 인텔 (R) 프로세서 용

                    마이크로 아키텍처 코드 이름.

                    키워드 KNL 및 SILVERMONT는 Windows *에서만 사용할 수 있습니다.

                    및 Linux * 시스템.

-xHost는 가장 높은 명령어 세트 및 프로세서에 대한 명령어를 생성합니다.

          컴파일 호스트 시스템에서 사용 가능

-ax <코드 1> [, <코드 2>, ...]

          <codes>로 지정된 프로세서에 특화된 코드 생성

          일반 IA-32 명령어도 생성합니다. 

          <codes>에는 다음 중 하나 이상이 포함됩니다.

            SSE2는 Intel (R) SSE2 및 SSE 명령을 생성 할 수 있습니다.

                    프로세서.

            SSE3는 다음에 대한 Intel (R) SSE3, SSE2 및 SSE 명령을 생성 할 수 있습니다.

                    인텔 프로세서.

            SSSE3는 Intel (R) SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

                    인텔 프로세서에 대한 지침.

            SSE4.1은 Intel (R) SSE4.1, SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

                   인텔 프로세서에 대한 지침.

            SSE4.2는 Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2,

                    Intel 프로세서에 대한 SSE 지침.

            AVX는 Intel (R) Advanced Vector Extensions (Intel (R)

                    AVX), Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3,

                    인텔 (R) 프로세서에 대한 SSE2 및 SSE 지침.

            CORE-AVX2

                    Intel (R) Advanced Vector Extensions 2를 생성 할 수 있습니다.

                    (인텔 (R) AVX2), 인텔 (R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,

                    인텔 (R) 프로세서에 대한 SSE2 및 SSE 지침.

            CORE-AVX-I

                    Intel (R) Advanced Vector Extensions (Intel (R)

                    AVX), Intel (R) Core 2 (TM) 지침 포함

                    32nm보다 작은 공정 기술의 프로세서,

                    Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 및 SSE

                    인텔 (R) 프로세서에 대한 지침.

            CORE-AVX512

                    Intel (R) Advanced Vector Extensions 512 생성 가능

                    (Intel (R) AVX-512) Foundation 지침, Intel (R)

                    AVX-512 충돌 감지 지침, Intel (R) AVX-512

                    더블 워드 및 쿼드 워드 명령어, Intel (R) AVX-512

                    바이트 및 워드 명령어와 Intel (R) AVX-512 Vector

                    Intel (R) 프로세서 용 길이 확장 및

                    CORE-AVX2로 활성화 된 지침.

            브로드 웰

            캐논 케이크

            HASWELL

            ICELAKE-CLIENT (또는 ICELAKE)

            ICELAKE 서버

            아이비 브리지

            KNL

            KNM

            샌디 브리지

            실버 몬트

            골드 몬트

            골드 몬트 플러스

            트레 몬트

            스카이 레이크

            스카이 레이크 -AVX512

            CASCADELAKE

            카빌 레이크

            커피

            앰버 레이크

            위스키 레이크

            타이거 레이크

            SAPPHIRERAPIDS

                    지원하는 프로세서에 대한 지침을 생성 할 수 있습니다.

                    지정된 인텔 (R) 마이크로 아키텍처 코드 이름. 최적화

                    지정된 인텔 (R)을 지원하는 인텔 (R) 프로세서 용

                    마이크로 아키텍처 코드 이름.

                    키워드 KNL 및 SILVERMONT는 Windows *에서만 사용할 수 있습니다.

                    및 Linux * 시스템.

 

            MIC-AVX512

                    Intel (R) Advanced Vector Extensions 512 생성 가능

                    (Intel (R) AVX-512) Foundation 지침, Intel (R)

                    AVX-512 충돌 감지 지침, Intel (R) AVX-512

                    지수 및 역수 명령어, Intel (R) AVX-512

                    인텔 (R) 프로세서에 대한 프리 페치 지침 및

                    CORE-AVX2로 활성화 된 지침.

            KNM

                    QFMA (Quad Fused Multiply Add) 및 쿼드 생성 가능

                    가상 신경망 명령 (QVNNI) 및

                    MIC-AVX512로 활성화 된 명령어

-arch <코드>

          표시되는 프로세서를 최적화하기위한 특수 코드 생성

          아래 설명 된 <code>

            브로드 웰

            캐논 케이크

            HASWELL

            ICELAKE-CLIENT (또는 ICELAKE)

            ICELAKE 서버

            아이비 브리지

            KNL

            KNM

            샌디 브리지

            실버 몬트

            골드 몬트

            골드 몬트 플러스

            트레 몬트

            스카이 레이크 -AVX512

            스카이 레이크

            CASCADELAKE

            카빌 레이크

            커피

            앰버 레이크

            위스키 레이크

            타이거 레이크

            SAPPHIRERAPIDS

                       지원하는 프로세서에 대한 지침을 생성 할 수 있습니다.

                       지정된 인텔 (R) 마이크로 아키텍처 코드 이름

            CORE-AVX2는 Intel (R) Advanced Vector Extensions 2를 생성 할 수 있습니다.

                       (인텔 (R) AVX2), 인텔 (R) AVX, SSE4.2, SSE4.1, SSE3,

                       SSE2, SSE 및 SSSE3 명령어

            CORE-AVX-I Float-16 변환 명령을 생성하고

                       RDRND 명령어, Intel (R) 고급 벡터 확장

                       (인텔 (R) AVX), 인텔 (R) SSE4.2, SSE4.1, SSE3, SSE2,

                       SSE 및 SSSE3 지침

            AVX는 Intel (R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3,

                       SSE2 및 SSE 지침

            SSE4.2는 Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2를 생성 할 수 있습니다.

                       및 SSE 지침

            SSE4.1은 Intel (R) SSE4.1, SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

                       명령

            SSSE3는 Intel (R) SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

                       명령

            SSE3는 Intel (R) SSE3, SSE2 및 SSE 명령을 생성 할 수 있습니다.

            SSE2는 Intel (R) SSE2 및 SSE 명령을 생성 할 수 있습니다.

-mcpu = <cpu>

          -mtune = <cpu>와 동일

-mtune = <cpu>

          특정 <cpu>에 최적화

            generic-컴파일러의 기본 동작에 맞게 코드를 최적화합니다.

            Broadwell

            Haswell

            Ivybridge

            knl

            knm

            Sandybridge

            Silvermont

            Cannonlake

            Icelake

            스카이 레이크 -avx512

            skylake-지원하는 프로세서에 대한 코드를 최적화합니다.

                         지정된 인텔 (R) 마이크로 아키텍처 코드 이름.

                         knl 및 silvermont는 Windows * 및

                         Linux * 시스템

            core-avx2-Intel (R)을 지원하는 프로세서에 대한 코드 최적화

                         고급 벡터 확장 2 (Intel (R) AVX2), Intel (R)

                         AVX, SSE4.2 SSE4.1, SSE3, SSE2, SSE 및 SSSE3

                         명령

            core-avx-i-Float-16을 지원하는 프로세서를위한 코드 최적화

                         변환 명령 및 RDRND 명령,

                         Intel (R) Advanced Vector Extensions (Intel (R) AVX),

                         Intel (R) SSE4.2, SSE4.1, SSE3, SSE2, SSE 및 SSSE3

                         명령

            corei7-avx-Intel (R)을 지원하는 프로세서를위한 코드 최적화

                         고급 벡터 확장 (Intel (R) AVX), Intel (R)

                         SSE4.2, SSE4.1, SSE3, SSE2, SSE 및 SSSE3

                         명령

            corei7-Intel (R)을 지원하는 프로세서를위한 코드 최적화

                         SSE4 효율적인 가속 문자열 및 텍스트 처리

                         명령. Intel (R) SSE4 용 코드를 생성 할 수도 있습니다.

                         벡터화 컴파일러 및 미디어 가속기, 인텔 (R)

                         SSE3, SSE2, SSE 및 SSSE3 명령어

            atom-MOVBE를 지원하는 프로세서의 코드를 최적화합니다.

                         옵션 설정에 따라 지침

                         -minstruction (Linux 및 macOS *) 또는 / Qinstruction

                         (Windows). SSSE3에 대한 코드를 생성 할 수도 있습니다.

                         지침 및 Intel (R) SSE3, SSE2 및 SSE

                         명령

            core2-Intel (R) Core (TM) 2 프로세서에 최적화

                         MMX (TM), Intel (R) SSE에 대한 지원을 포함한 제품군

                         SSE2, SSE3 및 SSSE3 명령어 세트.

            pentium-mmx-MMX 기술을 사용하여 Intel (R) Pentium (R)에 최적화

            pentiumpro-Intel (R) Pentium (R) Pro, Intel Pentium에 최적화

                         II 및 Intel Pentium III 프로세서

            pentium4m-Intel (R) Pentium (R) 4 프로세서에 최적화

                         MMX 기술

            펜티엄 -m

            펜티엄 4

            펜티엄 3

            펜티엄-인텔 (R) 펜티엄 (R) 프로세서 용 코드를 최적화합니다.

                         Value pentium3은 Linux 시스템에서만 사용할 수 있습니다.

-march = <cpu>

          주어진 <cpu> 전용 코드 생성

            Broadwell

            Cannonlake

            Haswell

            Icelake

            Ivybridge

            knl

            knm

            Sandybridge

            Silvermont

            스카이 레이크 -avx512

            skylake-지원하는 프로세서에 대한 코드를 생성합니다.

                         지정된 인텔 (R) 마이크로 아키텍처 코드 이름.

                         키워드 knl 및 silvermont는 다음에서만 사용할 수 있습니다.

                         Linux * 시스템.

            core-avx2-Intel (R)을 지원하는 프로세서 용 코드를 생성합니다.

                         고급 벡터 확장 2 (Intel (R) AVX2), Intel (R)

                         AVX, SSE4.2 SSE4.1, SSE3, SSE2, SSE 및 SSSE3

                         명령

            core-avx-i-Float-16을 지원하는 프로세서 용 코드를 생성합니다.

                         변환 명령 및 RDRND 명령,

                         Intel (R) Advanced Vector Extensions (Intel (R) AVX),

                         Intel (R) SSE4.2, SSE4.1, SSE3, SSE2, SSE 및 SSSE3

                         명령

            corei7-avx-Intel (R)을 지원하는 프로세서 용 코드를 생성합니다.

                         고급 벡터 확장 (Intel (R) AVX), Intel (R)

                         SSE4.2, SSE4.1, SSE3, SSE2, SSE 및 SSSE3

                         명령

            corei7-Intel (R)을 지원하는 프로세서 용 코드 생성

                         SSE4 효율적인 가속 문자열 및 텍스트 처리

                         명령. Intel (R) SSE4 용 코드를 생성 할 수도 있습니다.

                         벡터화 컴파일러 및 미디어 가속기, 인텔 (R)

                         SSE3, SSE2, SSE 및 SSSE3 명령어

            atom-MOVBE를 지원하는 프로세서에 대한 코드를 생성합니다.

                         옵션 설정에 따라 지침

                         -minstruction (Linux 및 macOS *) 또는 / Qinstruction

                         (Windows). SSSE3에 대한 코드를 생성 할 수도 있습니다.

                         지침 및 Intel (R) SSE3, SSE2 및 SSE

                         명령

            core2-Intel (R) Core (TM) 2 프로세서 용으로 생성

                         가족

            pentium4m-Intel (R) Pentium (R) 4 프로세서 용

                         MMX 기술

            펜티엄 -m

            펜티엄 4

            펜티엄 3

            펜티엄-인텔 (R) 펜티엄 (R) 프로세서 용 코드를 생성합니다.

                         Value pentium3은 Linux 시스템에서만 사용할 수 있습니다.

-msse3 Intel (R) SSE3, SSE2 및 SSE 명령을 생성 할 수 있음

-mssse3 Intel (R) SSSE3, SSE3, SSE2 및 SSE 명령어를 생성 할 수 있음

-msse4 활성화 -msse4.2

-msse4.1은 Intel (R) SSE4.1, SSSE3, SSE3, SSE2 및 SSE 명령어를 생성 할 수 있습니다.

-msse4.2는 Intel (R) SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

          명령

-mavx는 Intel (R) AVX, SSE4.2, SSE4.1, SSSE3, SSE3, SSE2 및 SSE를 생성 할 수 있습니다.

          명령

-masm = <dialect>

          <dialect>로 지정된 asm 명령어를 생성합니다.

          att (DEFAULT) 또는 intel

-minstruction = <키워드>

          선택한 대상 프로세서에 대한 명령 세트 출력을 구체화합니다.

 

            [no] movbe-ATOM_SSSE3을 사용하여 MOVBE 명령어를 생성하거나 생성하지 않습니다.

                          (-xATOM_SSSE3 필요)

 

-f [아니요] 생략 프레임 포인터

          범용 레지스터로 EBP 사용을 활성화 (DEFAULT) / 비활성화합니다.

          -fno-omit-frame-pointer는 -fp를 대체합니다.

-f [no-] fat-lto-objects

          생성시 실제 코드 / 데이터 생성 활성화 / 비활성화

          -ipo -c를 사용하는 IL 개체. -ffat-lto-objects로 생성 된 객체

          또는 -fno-fat-lto-objects는 다음과 같은 경우 수정되지 않은 상태로 아카이브에 추가됩니다.

          xiar 사용. xiar 동작은 IL 객체에 대해 변경되지 않습니다.

          -f [no-] fat-lto-objects를 지정하지 않고 생성됩니다.

-f [no-] 예외

          예외 처리 활성화 (DEFAULT) / 비활성화

-fasynchronous-unwind-tables

          해제 정보가 명령에서 정확한지 여부를 결정합니다.

          경계 또는 호출 경계에서. -fno-asynchronous-unwind-tables는

          IA-32 아키텍처의 기본값입니다.

-fextend-arguments = [32 | 64]

          기본적으로 프로토 타입이 지정되지 않은 스칼라 정수 인수가 전달됩니다.

          32 비트 (필요한 경우 부호 확장).

          Intel (R) 64에서 프로토 타입 화되지 않은 스칼라 정수 인수는

          64 비트로 확장되었습니다.

-m32 IA-32 아키텍처 용 코드 생성

-m64 Intel (R) 64 아키텍처 용 코드 생성

-m [no-] 생략 리프 프레임 포인터

          프레임 포인터가 생략되거나 리프에 유지되는지 여부를 결정합니다.

          기능

-m80387 컴파일러가 x87 명령어를 사용할 수 있는지 여부를 지정합니다.

          비활성화하려면 -mno-80387을 사용하십시오.

-mx87 -m80387과 동일

-mstringop-strategy = <alg>

          특정 알고리즘에 대한 내부 결정 휴리스틱을 재정의합니다.

          인라인 문자열 작업에 사용합니다. <alg>에 허용되는 값 :

            rep-i386 "rep"접두사를 사용하여 확장 (-Os의 경우 DEFAULT)

            const_size_loop-크기가 알려진 경우 인라인 루프로 확장

                              컴파일 시간 (DEFAULT)

            libcall-항상 라이브러리 호출을 사용합니다.

-mstringop-inline-threshold = <val>

          memcall과 유사한 (memcpy, memset) 함수에 대한 인라인 호출은

          함수가 처리하는 바이트 수는 컴파일 타임에 알려지고

          <val> 미만

-fcf-protection [= <arg>]

          CET (Control-flow Enforcement Technology) 보호를 활성화합니다.

          악용하는 특정 공격으로부터 프로그램을 보호합니다.

          취약점.

            분기-간접 분기에 대한 제어 흐름 계측 수행

            return-함수 반환을위한 제어 흐름 계측 수행

            full-분기와 반환을 모두 지정하는 별칭 (<arg> 없음과 동일)

            없음-계측 해제

-mauto-arch = <코드 1> [, <코드 2>, ...]

          x86에 대한 여러 기능별 자동 배포 코드 경로 생성

          성능 이점이있는 경우 아키텍처 프로세서. 그만큼

          허용되는 인수는 '-ax'옵션의 인수와 일치합니다.

 

절차 간 최적화 (IPO)

----------------------------------

 

-[no-] ip enable (DEFAULT) / 단일 파일 IP 최적화 비활성화

          파일 내

-ipo [n] 파일 간 다중 파일 IP 최적화를 활성화합니다.

-ipo-c 다중 파일 개체 파일 (ipo_out.o) 생성

-ipo-S는 다중 파일 어셈블리 파일 (ipo_out.S)을 생성합니다.

-ip-no-inlining

          전체 및 부분 인라인 비활성화

-ip-no-pinlining

          부분 인라인 비활성화

-ipo- 분리

          모든 소스 파일에 대해 하나의 개체 파일 만들기 (-ipo [n] 재정의)

-ipo- 잡스 <n>

          작업 중에 동시에 실행할 작업 수를 지정합니다.

          IPO 링크 단계

 

고급 최적화

----------------------

 

-언롤 [n]

          루프를 풀 수있는 최대 횟수를 설정합니다. 기본값을 사용하려면 n을 생략하십시오.

          휴리스틱 스. n = 0을 사용하여 루프 언 롤러를 비활성화합니다.

-[아니요-] 공격적 풀기

          보다 공격적인 언 롤링 휴리스틱

-funroll 루프

          기본 휴리스틱을 기반으로 루프 풀기

-[no-] 스칼라 반복

          enable (DEFAULT) / disable 스칼라 교체 (-O3 필요)

-[no] 패드 활성화 / 비활성화 (DEFAULT) 변수 및 배열 메모리 레이아웃 변경

-안전 크레이 -ptr

          크레이 포인터는 다른 변수와 별칭을 사용하지 않습니다.

-[no-] ansi-alias

          ANSI 앨리어싱 규칙 최적화를 활성화 (DEFAULT) / 비활성화합니다.

          사용자는 프로그램이 이러한 규칙을 준수한다고 주장합니다.

-[no-] 복잡한 제한 범위

          기본 대수 확장의 사용을 활성화 / 비활성화 (DEFAULT)합니다.

          복잡한 산술 연산. 이것은 일부를 허용 할 수 있습니다

          복잡한 프로그램을 많이 사용하는 프로그램의 성능 향상

          일부 지수 범위의 손실에 대한 산술.

-reentrancy <키워드>

          스레드 된 재진입 런타임 지원이

          익숙한

          키워드 : none (-noreentrancy와 동일), threaded (DEFAULT), async

-noreentrancy

          스레드 된 재진입 런타임 지원을 사용하지 마십시오.

-힙 배열 [n]

          최소 크기 n (KB 단위)의 임시 배열이 할당됩니다.

          스택보다는 힙 메모리. n이 지정되지 않은 경우

          모든 임시 배열은 힙 메모리에 할당됩니다.

-힙 어레이 없음

          스택에 임시 배열이 할당 됨 (DEFAULT)

-q [no-] opt-multi-version-aggressive

          포인터를 확인하기 위해보다 적극적인 다중 버전 관리 가능

          앨리어싱 및 스칼라 교체

-qopt-ra-region-strategy [= <키워드>]

          레지스터 할당자가 각각을 분할하는 데 사용하는 방법을 선택하십시오.

          지역으로 루틴

            루틴-루틴 당 하나의 영역

            블록-블록 당 하나의 영역

            trace-추적 당 하나의 영역

            루프-루프 당 하나의 영역

            기본값-컴파일러가 최상의 옵션을 선택합니다.

-[no-] vec

          벡터화 활성화 (DEFAULT) / 비활성화

-[no-] vec-guard-write

          조건부 상점에 대한 캐시 / 대역폭 최적화를 활성화합니다.

          벡터 루프 내

-vec- 임계 값 [n]

          다음을 기반으로 루프 벡터화에 대한 임계 값을 설정합니다.

          벡터화 된 루프의 수익성있는 실행 가능성

          평행

-vecabi = <인수>

          벡터 함수 ABI 선택

            레거시-레거시 벡터 함수 ABI 사용

            compat-호환성 벡터 함수 ABI (DEFAULT) 사용

            cmdtarget-확장 된 벡터 함수 세트 생성

            gcc-GCC 호환 ABI 사용

-qopt-malloc-options = {0 | 1 | 2 | 3 | 4}

          malloc 구성 매개 변수를 지정하십시오. 0이 아닌 <n> 지정

          값은 대체 구성 매개 변수가 설정되도록합니다.

          malloc이 메모리를 할당하고 해제하는 방법

-qopt-jump-tables = <인수>

          점프 테이블 생성 제어

            기본값-컴파일러가 점프 테이블, 일련의

                      if-then-else 구문 또는 조합이 생성됨

            large-미리 정의 된 특정 크기까지 점프 테이블 생성

                      (64K 항목)

            <n>-최대 <n> 크기의 점프 테이블 생성

          -qno-opt-jump-tables를 사용하여 switch 문을

          if-then-else 구문

-fno 점프 테이블

          스위치 및 if-then-else 문에 대한 점프 테이블을 생성하지 마십시오.

-qopt-block-factor = <n>

          루프 차단을위한 차단 인자 지정

-qopt-streaming-stores = <인수>

          스트리밍 저장소 생성 여부를 지정합니다.

            항상-아래에서 스트리밍 저장소 생성을 활성화합니다.

                     애플리케이션이 메모리 바운드라고 가정합니다. 또한,

                     사용자는 올바른 메모리를 삽입해야합니다.

                     동기화를위한 울타리

            auto-컴파일러는 스트리밍 저장소가 사용되는시기를 결정합니다 (DEFAULT).

            never-스트리밍 저장소 생성을 비활성화합니다.

-mkl [= <인수>]

          인텔 (R) 수학 커널 라이브러리 (인텔 (R) MKL) 링크 및

          관련 헤더에서

            병렬-스레드 된 인텔 (R) MKL 라이브러리를 사용하는 링크. 이

                         -mkl이 지정된 경우 기본값입니다.

            순차-스레드되지 않은 인텔 (R) MKL 라이브러리를 사용하는 링크

            클러스터-인텔 (R) MKL 클러스터 라이브러리 플러스를 사용하는 링크

                         순차 인텔 (R) MKL 라이브러리

-q [no-] opt-subscript-in-range

          중간 계산에서 오버플로가 없다고 가정합니다.

          아래 첨자

-coarray [= <키워드>]

          데이터 병렬을위한 활성화 / 비활성화 (DEFAULT) coarray 구문

          프로그래밍하고 coarray 사이의 관계를 설정

          이미지.

          키워드 : 공유-키워드가 생략 된 경우 기본값

                    single-다른 키워드보다 우선합니다.

                    배포 됨-Intel (R)에서만 유효합니다.

                                  클러스터 툴킷

                    보조 프로세서-Intel (R) 64 Linux 전용

-coarray-num-images = n

          기본 거친 이미지 수 설정

-q [no-] opt-matmul

          행렬 곱셈을 내장 함수 및 스레딩 호출로 대체

          성능 향상을위한 라이브러리 (DEFAULT at -O3 -parallel)

-[no-] simd

          SIMD 지시문을 사용하여 벡터화를 활성화 (DEFAULT) / 비활성화합니다.

-guide-opts = <인수>

          컴파일러에게 특정 코드를 분석하고

          최적화를 개선 할 수있는 권장 사항

-guide-file [= <파일 이름>]

          가이드의 결과를 파일로 출력합니다.

-guide-file-append [= <파일 이름>]

          가이드의 결과가 파일에 추가되도록합니다.

-guide [= <레벨>]

          자동 벡터화에 대한 지침 수준 (1-4)을 설정할 수 있습니다.

          자동 병렬화 및 데이터 변환 (DEFAULT는

          옵션이 지정됨)

-guide-data-trans [= <레벨>]

          데이터 변환에 대한 지침 수준 (1-4)을 설정할 수 있습니다.

          (옵션이 지정된 경우 DEFAULT는 4입니다.)

-guide-par [= <레벨>]

          자동 병렬화에 대한 지침 수준 (1-4)을 설정할 수 있습니다.

          (옵션이 지정된 경우 DEFAULT는 4입니다.)

-guide-vec [= <레벨>]

          자동 벡터화에 대한 지침 수준 (1-4)을 설정할 수 있습니다.

          (옵션이 지정된 경우 DEFAULT는 4입니다.)

-qopt-mem-layout-trans [= <레벨>]

          에서 수행하는 메모리 레이아웃 변환 수준을 제어합니다.

          컴파일러

           0-메모리 레이아웃 변환 비활성화 (다음과 동일)

               -qno-opt-mem-layout-trans)

           1-기본 메모리 레이아웃 변환 활성화

           2-더 많은 메모리 레이아웃 변환 활성화 (DEFAULT

               옵션이 지정됨)

           3-적극적인 메모리 레이아웃 변환 활성화

-qopt- 프리 페치 [= n]

          프리 페치 삽입 수준을 활성화합니다. 여기서 0은 비활성화합니다.

          n은 0에서 5까지입니다. 기본값은 2입니다.

-qno-opt- 프리 페치

          disable (DEFAULT) 프리 페치 삽입. -qopt-prefetch = 0과 동일

-qopt- 프리 페치-거리 = n1 [, n2]

          프리 페치 거리를 지정합니다 (앞으로 반복 횟수, n1 및

          n1> = n2)가 생성되는 컴파일러에 사용될 n2 값

          루프 내부를 미리 가져옵니다. n1은 메모리에서 L2까지의 거리를 나타냅니다.

          cache 및 n2는 L2에서 L1까지의 거리를 나타냅니다.

-qopt-prefetch-issue-excl-hint

          인텔 (R) 마이크로 아키텍처에 대한 PrefetchW 명령 생성

          코드 이름 Broadwell 프로세서 이상 -qopt-prefetch

          또한 사용됩니다

-qopt-threads-per-core = n

          코어 당 스레드 수 (1-4)를 지정합니다.

          응용 프로그램 (Intel (R) MIC 아키텍처 관련)

-qopt-streaming-cache-evict = n

          스트리밍시 캐시 라인 제거 수준 (0-3)을 지정합니다.

          로드 / 스토어가 사용됩니다. (Intel (R) MIC 아키텍처 관련)

-qopt-gather-scatter-unroll = n

          수집 및 분산에 대한 대체 루프 언롤 시퀀스 지정

          루프 (Intel (R) MIC 아키텍처 관련). 사용 안함

          -qno-opt-gather-scatter-unroll (n = 0과 동일)

-qopt-dynamic-align

          활성화 (DEFAULT) 동적 데이터 정렬 최적화. 지정

          비활성화하려면 -qno-opt-dynamic-align

-falign-loops [= n]

          성능 향상을 위해 루프의 코드 정렬을 지정합니다.

          n은 최소 정렬 경계의 바이트 수입니다. 반드시

          1과 4096 사이의 2의 거듭 제곱이어야합니다. n이 없으면

          16 바이트 정렬이 사용됩니다.

          -fno-align-loops (DEFAULT)를 사용하면 정렬이 1로 설정됩니다.

-qopt-zmm-usage = <키워드>

          zmm 레지스터 사용 수준을 지정합니다. 다음 중 하나를 지정할 수 있습니다.

          다음과 같은:

            low-컴파일러에게 컴파일 된 프로그램이

                   zmm 레지스터 사용의 이점. 그것은

                   컴파일러는 zmm 레지스터 사용을 피해야합니다.

                   그들의 사용에서 얻는 이득을 증명하십시오.

            high-제한없이 zmm 코드를 생성하도록 컴파일러에 지시합니다.

-qoverride-limits

          특정 내부 컴파일러 제한을 재정의하는 방법을 제공합니다.

          과도한 메모리 사용 또는 컴파일 시간을 방지하기위한

          크고 복잡한 컴파일 단위.

-m [no-] 브랜치 -32B- 경계 내

          32 바이트 경계에서 분기 및 융합 분기 정렬

-q [no-] opt-multiple-gather-scatter-by-shuffles

          여러 인접 항목에 대한 최적화를 활성화하거나 비활성화합니다.

          수집 / 분산 형 벡터 메모리 참조.

 

프로필 기반 최적화 (PGO)

---------------------------------

 

-prof-dir <디렉터리>

          프로파일 링 출력 파일을위한 디렉토리 지정 (* .dyn 및 * .dpi)

-prof-src-root <디렉터리>

          애플리케이션 소스 파일의 프로젝트 루트 디렉토리를 지정

          소스에 대한 프로필 피드백 중 상대 경로 확인 활성화

          그 디렉토리 아래

-prof-src-root-cwd

          현재 디렉토리를 프로젝트 루트 디렉토리로 지정하십시오.

          응용 프로그램 소스 파일을 사용하여 상대 경로 확인

          해당 디렉토리 아래의 소스에 대한 프로필 피드백

-[no-] prof-src-dir

          소스의 디렉토리 이름이

          .dpi 파일 내에서 프로필 레코드를 조회 할 때 고려

-prof-file <파일>

          프로파일 링 요약 파일에 대한 파일 이름 지정

-[no-] prof-data-order

          프로파일 링을 통한 정적 데이터 정렬 활성화 / 비활성화 (DEFAULT)

-[no-] prof-func-order

          프로파일 링을 통한 활성화 / 비활성화 (DEFAULT) 함수 순서

-[no-] prof-func-groups

          enable (DEFAULT with PGO) / 비활성화 기능 그룹

-prof-gen [= 키워드 [, 키워드]]

          프로파일 링을위한 기기 프로그램. 선택적 키워드는 다음과 같습니다.

            default-인스트루먼트 된 오브젝트 파일을 생성합니다. 이건 똑같아

                         키워드없이 -prof-gen 옵션을 지정하는 것과 같습니다.

            srcpos-인스트루먼트 된 오브젝트 파일 및 정보를 생성합니다.

                         코드 커버리지 도구를 사용하는 데 필요합니다.

            globdata-다음을 포함하는 계측 된 개체 파일을 생성합니다.

                         글로벌 데이터 레이아웃에 대한 정보.

            threadsafe-스레드에 대한 가드와 함께 PGO 데이터를 수집합니다.

                         응용 프로그램.

-전문가 없음

          프로파일 링 계측 비활성화

-prof-use [= <인수>]

          최적화 중에 프로파일 링 정보 사용 가능

            weighted-데이터를 확장하기 위해 -weighted 옵션을 사용하여 profmerge를 호출합니다.

                        실행 기간에 따라

            [no] merge-profmerge 호출 활성화 (기본값) / 비활성화

                        수단

-전문가 없음

          최적화 중 프로파일 링 정보 사용 비활성화

-fnsplit [= <n>]

          기능 분할 활성화 (IA-32 Windows 용 / Qprof-use로 활성화 됨)

            n-임계 값을 나타내는 양의 정수. 블록

                다른 코드 세그먼트에 배치 할 수 있습니다.

                실행 확률이 지정된 값보다 작습니다.

                범위 0 <= n <= 100

          -no-fnsplit을 사용하여 비활성화

-p UNIX gprof 도구로 함수 프로파일 링을위한 컴파일 및 링크

          IA32 및 Intel (r) 64에서는 -pg도 유효합니다.

-f [no-] 악기 기능

          함수 시작 및 종료 지점이 계측되었는지 여부를 결정합니다.

-prof-hotness-threshold = <val>

          기능 그룹화 및 기능 순서 지정을위한 핫 니스 임계 값 설정

          val은 핫 영역에 배치 할 기능의 백분율을 나타냅니다.

          이 옵션에는 -prof-use가 필요합니다.

           및 -prof-func-groups 또는 -prof-func-order

 

-prof-value-profiling = <인수> [, <인수>, ...]

          한계 값 프로파일 링

            none-모든 유형의 가치 프로파일 링 금지

            nodivide-컴파일되지 않은 시간 상수의 값 프로파일 링 금지

                        나눗셈 또는 나머지 연산에 사용

            noindcall-함수 주소의 값 프로파일 링을 금지합니다.

                        간접 호출 사이트

-prof-gen-sampling

          하드웨어 프로파일 링 (샘플링)을 위해 애플리케이션 실행 파일을 준비합니다.

          컴파일러가 소스 코드 매핑 정보를 생성하도록합니다.

-prof-use-sampling = 파일 [: 파일 : ...]

          하드웨어 프로파일 링 (샘플링) 정보 사용

          최적화. 인수는 하나 이상의 프로파일 링 데이터 목록을 제공합니다.

          적용 할 파일

 

최적화 보고서

--------------------

 

-qopt-report [= n]

          최적화 보고서를 생성합니다. 기본 목적지는

          <대상> .optrpt. 0-5 레벨이 유효합니다.

          자세한 내용은 설명서를 참조하십시오.

          단계별 정보 제공.

            0 최적화 보고서 출력 비활성화

            활성화 된 경우 2 DEFAULT

-qopt-report-file = [stdout | stderr | <파일>]

          생성 된 보고서에 대한 파일 이름 또는 출력 스트림 지정

-qopt- 보고서 -stdout

          생성 된 보고서를 stdout으로 지정해야 함을 지정하십시오.

-qopt- 개체 별 보고서

          생성 된 보고서가 .optrpt 파일로 전달되도록 지정

          출력 디렉토리에 있습니다 (다른 대상의 경우 DEFAULT

          보고서가 지정되지 않음)

-qopt-report-phase = <단계> [, <단계>, ...]

          보고서가 생성되는 하나 이상의 단계 지정

-qopt-report-routine = <이름> [, <이름>, ...]

          보고서를 주어진 이름을 포함하는 루틴으로 제한

-qopt-report-filter = <문자열>

          opt-report를 특정 파일, 루틴 또는 행으로 제한합니다.

          숫자 범위. 특정 문서를 참조하십시오.

          매개 변수 문자열의 구문.

-qopt-report-format = [텍스트 | vs]

          opt-report에 사용할 출력 형식을 다음 중 하나로 지정하십시오.

          Microsoft * Visual Studio IDE에서 사용하기위한 일반 텍스트 또는 형식

-q [no-] opt-report-embed

          활성화되면 어셈블리 파일이 생성되는 경우 특수 루프

          정보 주석은 어셈블리 파일에서 내보내집니다. 개체가

          파일 / 실행 파일이 생성되고 있습니다.

          인텔 VTune 증폭기에서 사용하기위한 개체 파일 / 실행 파일

          신청. 기호 디버그 정보가있을 때 자동으로 활성화 됨

          사용 가능.

-qopt- 보고서-도움말

          보고에 사용할 수있는 최적화 단계 표시

-qopt-report-names = <키워드>

          엉키거나 엉키지 않은 이름이

          최적화 보고서.

            망글-망글 이름 사용

            unmangled-unmangled 이름 사용 (DEFAULT)

-qopt-report-annotate [= <키워드>]

          지정된 형식의 최적화 보고서로 소스 파일에 주석 달기

            html-HTML 형식으로 주석 달기

            text-텍스트 형식으로 주석 달기 (DEFAULT)

-qopt-report-annotate-position = <키워드>

          루프 관련 최적화 보고서가 나타나는 사이트를 지정하십시오.

          인라인 루틴의 주석이 달린 소스

            발신자-발신자 사이트에 주석 달기

            수신자-수신자 사이트에 주석 달기

            둘 다-발신자와 수신자 사이트 모두에 주석 달기

-tcheck [모드]

          스레드 응용 프로그램의 분석 활성화 (인텔 (R) 스레드 필요)

          체커; 컴파일러 단독으로는 사용할 수 없음)

            tci-스레드 카운트 독립적 인 수행을위한 프로그램 계측

                  분석

            tcd-스레드 수에 따라 수행하는 프로그램을 계측합니다.

                  분석 (모드가 사용되지 않는 경우 DEFAULT)

            api-api-imports 수준에서 프로그램을 계측합니다.

-tcollect [= <lib>]

          인텔 (R) 추적 수집기를 호출하는 계측 프로브를 삽입합니다.

          API. 라이브러리 -l <lib>는 기본값 인 -lVT로 연결됩니다.

          (인텔 (R) 추적 수집기 필요)

-tcollect-filter 파일

          지정된 기능의 계측을 활성화 또는 비활성화합니다.

          (인텔 (R) 추적 수집기 필요)

 

OpenMP * 및 병렬 처리

------------------------------

 

-qopenmp를 사용하면 컴파일러가 다음을 기반으로 다중 스레드 코드를 생성 할 수 있습니다.

          OpenMP * 지시문 (-fopenmp와 동일)

          비활성화하려면 -qno-openmp를 사용하십시오.

-qopenmp- 스텁

          사용자가 순차 모드에서 OpenMP 프로그램을 컴파일 할 수 있습니다. 그만큼

          OpenMP 지시문이 무시되고 스텁 OpenMP 라이브러리가 링크 됨

          (잇달아 일어나는)

-qopenmp-lib = <버전>

          연결할 OpenMP 라이브러리 버전 선택

            compat-GNU 호환 OpenMP 런타임 라이브러리 사용

                     (기본)

-qopenmp-link = <라이브러리>

          정적 또는 동적 OpenMP와 연결할지 선택

          도서관. 기본값은 동적입니다.

-qopenmp-threadprivate = <버전>

          사용할 threadprivate 구현 선택

            compat-GNU 호환 스레드 로컬 저장소 사용

            레거시-인텔 호환 구현 사용

                     (기본)

-평행

          자동 병렬 처리기를 사용하여 다중 스레드 코드를 생성합니다.

          병렬로 안전하게 실행할 수있는 루프

-par-threshold [n]

          n이 인 루프의 자동 병렬화에 대한 임계 값 설정

          0에서 100 사이의 정수

-par-runtime-control [n]

          병렬 처리기를 제어하여 효과적인 런타임 검사 코드 생성

          자동 병렬화.

            n = 0 자동 병렬화 기반 런타임 검사 없음

            n = 1 보수 모드에서 런타임 검사 코드 생성

                   (활성화 된 경우 기본값)

            n = 2 휴리스틱 모드에서 런타임 검사 코드 생성

            n = 3 공격 모드에서 런타임 검사 코드 생성

-par-schedule-static [= n]

          DO 루프 반복을위한 스케줄링 알고리즘을 지정합니다.

          반복을 연속적인 조각으로 나눕니다. 크기 n if

          지정되지 않은 경우 동일한 크기의 조각.

-par-schedule-static-balanced [= n]

          반복을 균등 한 크기의 청크로 나눕니다. 크기 n if

          지정되지 않은 경우 동일한 크기의 조각.

-par-schedule-static-steal [= n]

          반복을 균등 한 크기의 청크로 나눕니다.

          인접한 스레드에서 청크의 일부를 훔치는 스레드

-par-schedule-dynamic [= n]

          DO 루프 반복을위한 스케줄링 알고리즘을 지정합니다.

          청크의 스레드에 반복을 동적으로 할당합니다.

          청크 크기는 지정된 경우 n 반복이고, 그렇지 않으면 1입니다.

-par-schedule-guided [= n]

          DO 루프 반복을위한 스케줄링 알고리즘을 지정합니다.

          최소 반복 횟수를 나타냅니다. 지정된 경우

          n은 최소값이고 그렇지 않으면 1입니다.

-par-schedule-guided-analytical [= n]

          지수 분포를 사용하여 반복을 나눕니다.

          동적 분포.

-par-schedule-runtime

          DO 루프 반복을위한 스케줄링 알고리즘을 지정합니다.

          런타임까지 스케줄링 결정을 연기합니다.

-par-schedule-auto

          컴파일러 또는 런타임 시스템이

          스케줄링 알고리즘.

-par-affinity = [<modifier>, ...] <type> [, <permute>] [, <offset>]

          다른 스레드 선호도를 설정하여 애플리케이션 성능 조정

-par-num-threads = <n>

          서로 다른 스레드 수를 설정하여 애플리케이션 성능 조정

-parallel-source-info [= n]

          소스 위치 정보 방출 활성화 (DEFAULT) / 비활성화

          OpenMP 및 자동 병렬화를 사용한 병렬 코드 생성 용

            0-비활성화 (-no-parallel-source-info와 동일)

            1-루틴 이름 및 라인 정보 방출 (DEFAULT)

            2-경로, 파일, 루틴 이름 및 라인 정보 방출

-qopenmp-simd

          OpenMP * SIMD 컴파일을 활성화합니다. 기본적으로 활성화 됨

          -qopenmp. 비활성화하려면 -qno-openmp-simd를 사용하십시오.

-qopenmp-offload [= <종류>]

          TARGET 지시문에 대해 OpenMP * 오프 로딩 컴파일을 활성화합니다.

          기본적으로 -qopenmp를 사용하여 Intel (R) MIC 아키텍처에 대해 활성화됩니다.

          비활성화하려면 -qno-openmp-offload를 사용하십시오.

          TARGET 지시문의 기본 장치를 지정하려면 kind를 지정하십시오.

            host-계속하는 동안 대상 코드가 호스트 시스템에서 실행되도록 허용

                   오프로드에 대한 개요

            mic-Intel (R) MIC Architecture (DEFAULT) 지정

-f [아니요-] mpc_privatize

          MPC에 대한 모든 정적 데이터의 민영화 가능

          통합 병렬 런타임. 이로 인해

          확장 된 스레드 로컬 스토리지 분석 런타임 루틴

          표준 Linux 배포판에서는 지원되지 않습니다.

          이 옵션은 MPC와 함께 만 사용할 수 있습니다.

          통합 병렬 런타임. 기본값은 -fno-mpc-privatize입니다.

 

부동 소수점

--------------

 

-fp-model <이름>

          <name> 부동 소수점 모델 변형 활성화

            [no-] except-부동 소수점 예외 의미를 활성화 / 비활성화합니다.

            fast [= 1 | 2]-보다 적극적인 부동 소수점 최적화를 가능하게합니다.

            정확함-가치 안전 최적화 가능

            소스-소스 정밀도에서 중간체 활성화

                          Fortran에 대한 -assume protect_parens 설정

            strict--fp-model을 활성화합니다.

                          수축 및 pragma stdc fenv_access 활성화

            일관성-일관되고 재현 가능한 결과를 제공합니다.

                          서로 다른 최적화 수준 또는 서로 다른

                          동일한 아키텍처의 프로세서

-fp-speculation = <모드>

          다음 <mode>를 사용하여 부동 소수점 추측을 활성화합니다.

          정황:

            fast-부동 소수점 연산 추측 (DEFAULT)

            안전-안전 할 때만 추측

            엄격-꺼짐과 동일

            off-부동 소수점 연산의 추측을 비활성화합니다.

-pc32는 내부 FPU 정밀도를 24 비트로 설정합니다.

-pc64는 내부 FPU 정밀도를 53 비트로 설정합니다.

-pc80은 내부 FPU 정밀도를 64 비트 유효 값 (DEFAULT)으로 설정합니다.

-mp1 부동 소수점 정밀도 향상

-mieee-fp

          부동 소수점 정밀도 유지 (일부 최적화 비활성화)

          -mno-ieee-fp로 비활성화 가능

-[아니요-] prec-sqrt

          특정 제곱근 최적화가 활성화되었는지 확인

-[아니요-] prec-div

          FP 분할의 정밀도 향상 (일부 속도 영향)

-[아니-] 빠른 초월

          초월 적 기능의 더 빠른 버전 생성

-[아니요] fp- 포트

          할당 및 캐스트에서 라운드 fp 결과 (일부 속도 영향)

-fp-stack-check

          모든 함수 / 프로 시저 호출 후 fp 스택 검사 활성화

-rcd 반올림 모드를 사용하여 빠른 float에서 정수로 변환 가능

-반올림 모드 다진

          내부 FPU 반올림 제어를 자르도록 설정

-[아니요-] ftz

          비정상 결과 플러시를 0으로 활성화 / 비활성화

-fpe {0 | 1 | 3}

          부동 소수점 예외에 대한 프로그램 전체 동작을 지정합니다.

-fpe-all = {0 | 1 | 3}

          모든 함수에서 부동 소수점 예외 동작을 지정합니다.

          및 서브 루틴. 또한 -assume ieee_fpe_flags를 설정합니다.

-[no] fltconsistency

          향상된 부동 소수점 일관성을 사용해야 함을 지정합니다.

-[아니요-] fma

          부동 소수점 곱셈과 결합을 활성화 / 비활성화합니다.

          더하기 / 빼기 연산

-[no] 재귀

          가능한 재귀 실행을 위해 모든 프로 시저를 컴파일하십시오.

-fimf-absolute-error = 값 [: 기능 목록]

          수학 라이브러리에 대한 최대 허용 절대 오차 정의

          기능 결과

            value-다음을 준수하는 양의 부동 소수점 숫자

                       형식 [숫자] [. 숫자] [{e | E} [기호] 숫자]

            funclist-하나 이상의 수학의 선택적 쉼표로 구분 된 목록

                       속성이 있어야하는 라이브러리 함수

                       적용된

-fimf-accuracy-bits = bits [: funclist]

          정확한 비트 수로 측정되는 상대 오류를 정의합니다.

          수학 라이브러리 함수 결과

            bits-양의 부동 소수점 숫자

            funclist-하나 이상의 수학의 선택적 쉼표로 구분 된 목록

                       속성이 있어야하는 라이브러리 함수

                       적용된

-fimf-arch-consistency = 값 [: 기능 목록]

          수학 라이브러리 함수가 일관된 결과를 생성하도록합니다.

          동일한 아키텍처의 다른 구현에 걸쳐

            값-참 또는 거짓

            funclist-하나 이상의 수학의 선택적 쉼표로 구분 된 목록

                       속성이 있어야하는 라이브러리 함수

                       적용된

-fimf-max-error = ulps [: funclist]

          ulps 단위로 측정 된 최대 허용 상대 오차를 정의합니다.

          수학 라이브러리 함수 결과

            ulps-다음을 준수하는 양의 부동 소수점 숫자

                       형식 [숫자] [. 숫자] [{e | E} [기호] 숫자]

            funclist-하나 이상의 수학의 선택적 쉼표로 구분 된 목록

                       속성이 있어야하는 라이브러리 함수

                       적용된

-fimf-precision = value [: 기능 목록]

          수학 라이브러리 함수의 정확도 (정밀도)를 정의합니다.

            값-다음 값 중 하나로 정의

                       높음-최대 오류 = 0.6에 해당

                       보통-max-error = 4 (DEFAULT)와 동일

                       낮음-정확도 비트 = 11 (단일

                                정도); 정확도 비트 = 26 (더블

                                정도)

            funclist-하나 이상의 수학의 선택적 쉼표로 구분 된 목록

                       속성이 있어야하는 라이브러리 함수

                       적용된

-fimf-domain-exclusion = classlist [: funclist]

          수학 함수가있는 입력 인수 도메인을 나타냅니다.

          정확한 결과를 제공해야합니다.

            classlist-다음 값 중 하나로 정의됩니다.

                          nans, 무한대, 비정규, 0

                          모두, 없음, 공통

            funclist-하나 이상의 수학 라이브러리 함수의 선택적 목록

                       속성을 적용해야합니다.

-fimf-force-dynamic-target [= funclist]

          수학 호출에서 런타임 디스패치를 ​​사용하도록 컴파일러에 지시합니다.

          기능

            funclist-하나 이상의 수학 라이브러리 함수의 선택적 목록

                       속성을 적용해야합니다.

-fimf-use-svml = 값 [: 기능 목록]

          컴파일러에게 다음을 사용하여 수학 라이브러리 함수를 구현하도록 지시합니다.

          SVML (Short Vector Math Library)

            값-참 또는 거짓

            funclist-하나 이상의 수학의 선택적 쉼표로 구분 된 목록

                       속성이 있어야하는 라이브러리 함수

                       적용된

-ffinite-math-only

          다음을 가정하는 부동 소수점 산술에 대한 최적화 허용

          인수 및 결과가 NaN 또는 무한이 아닙니다.

 

인라이닝

--------

 

-인라인 수준 = <n>

          인라인 확장 제어 :

            n = 0 인라인 비활성화

            n = 1 인라인 함수 ATTRIBUTES INLINE 또는

                   힘

            n = 2는 컴파일러의 재량에 따라 모든 함수를 인라인합니다.

-f [no-] 인라인 함수

          컴파일러의 재량에 따라 모든 함수를 인라인

-finline-limit = <n>

          함수가 가질 수있는 최대 문 수를 설정합니다.

          인라인 고려

-inline-min-size = <n>

          작은 루틴을 인라인하기위한 크기 제한 설정

-인라인 없음 최소 크기

          작은 루틴을 인라인하기위한 크기 제한 없음

-인라인-최대-크기 = <n>

          큰 루틴을 인라인하기위한 크기 제한 설정

-인라인 없음 최대 크기

          큰 루틴을 인라인하기위한 크기 제한 없음

-inline-max-total-size = <n>

          인라인 함수 확장을위한 최대 크기 증가

-인라인 없음-최대 총 크기

          인라인 함수 확장을위한 크기 제한 없음

-inline-max-per-routine = <n>

          모든 함수의 최대 인라인 인스턴스 수

-no-inline-max-per-routine

          모든 함수에 최대 인라인 인스턴스 수가 없습니다.

-inline-max-per-compile = <n>

          현재 컴파일의 최대 인라인 인스턴스 수

-no-inline-max-per-compile

          현재 컴파일에 최대 인라인 인스턴스 수가 없습니다.

-인라인 요인 = <n>

          인라인 상한을 n %로 설정

-인라인 요소 없음

          설정된 인라인 상한을 설정하지 마십시오.

-인라인-포스 인라인

          인라인 루틴을 forceinline으로 처리

-인라인 -calloc

          컴파일러가 calloc () 호출을 malloc () / memset ()으로 인라인하도록 지시합니다.

-inline-min_caller-growth = <n>

          단일 루틴 인라인으로 인해 발신자 증가에 대한 하한 설정

-인라인 최소 호출자 성장 없음

          단일 루틴 인라인으로 인해 발신자 증가에 대한 하한 없음

 

출력, 디버그, PCH

------------------

 

-c 객체 (.o)로만 컴파일하고 링크하지 않음

-S 어셈블리 (.s)로만 컴파일, 링크하지 않음

-fsource-asm

          선택적 소스 주석이있는 어셈블리 파일 생성 (-S 필요)

-f [no-] verbose-asm

          컴파일러 주석 (DEFAULT)이있는 어셈블리 파일 생성 (-S 필요)

-fcode-asm

          선택적 코드 주석이있는 어셈블리 파일 생성 (-S 필요)

-msasm 사용

          MASM 스타일을 사용하여 Microsoft * 스타일 어셈블리 언어 삽입 지원

          통사론

-Fa [파일]

          이름 어셈블리 파일 (또는 여러 파일의 디렉토리, 즉 / FaMYDIR \)

-Fo [파일]

          이름 개체 파일 (또는 여러 파일의 디렉터리, 즉 / FoMYDIR \)

-o <파일>

          이름 출력 파일

-list [= <파일 이름>]

          목록 파일을 생성하도록 지정

-목록-라인 -len = #

          목록 파일에서 기본 줄 길이 (80)를 재정의합니다.

-list-page-len = #

          목록 파일에서 기본 페이지 길이 (66)를 대체합니다.

-show <키워드>

          목록 파일의 내용을 제어합니다.

          키워드 : 모두, 없음, [아니요] 포함, [아니요] 맵, [아니요] 옵션

-g [레벨]

          심볼릭 디버그 정보를 생성합니다.

          유효한 [수준] 값 :

             0-기호 디버그 정보 생성을 비활성화합니다.

             1-스택 추적을 수행하기위한 최소 디버그 정보를 내 보냅니다.

             2-완전한 디버그 정보를 내 보냅니다. (-g의 기본값)

             3-일부 도구에 유용 할 수있는 추가 정보를 내 보냅니다.

-gdwarf- <버전>

          지정된 DWARF를 사용하여 디버그 정보 생성 활성화

          버전. 이러한 옵션에는 링커와 같은 추가 도구가 필요할 수 있습니다.

          및 이러한 형식을 지원하는 디버거.

          유효한 <version> 값 :

             2-DWARF 디버그 정보 형식 버전 2.

             3-DWARF 디버그 정보 형식 버전 3. (-g의 기본값)

             4-DWARF 디버그 정보 형식 버전 4.

-gsplit-dwarf

          대부분의 디버그를 포함하는 추가 출력 파일을 생성합니다.

          정보. 이렇게하면 처리되는 개체의 크기가 줄어 듭니다.

          링커. 추가 출력 파일에는 .dwo 파일이 제공됩니다.

          신장. 이 옵션을 지원하는 추가 도구가 필요할 수 있습니다.

          DWARF 개체 파일.

-debug [키워드]

          디버그 정보의 방출을 제어합니다.

          유효한 [keyword] 값 :

             없음

                 디버그 생성을 비활성화합니다.

 

             all, full (키워드가 지정되지 않은 경우 기본값)

                 완전한 디버그 정보를 생성합니다.

 

             최소한의

                 라인 번호 정보를 생성합니다.

             펼친

                 시맨틱 스테핑으로 완전한 디버그 정보 생성

                 및 가변 위치 활성화.

 

             [no] 변수 위치

                 추적에 유용한 추가 디버그 정보를 제어합니다.

                 최적화 된 코드의 변수 값.

 

             [아니오] 의미 적 스테핑

                 스테핑에 유용한 추가 디버그 정보를 제어합니다.

                 최적화 된 코드를 통해

 

             [no] pubnames

                 DWARF .debug_pubnames 섹션의 생성을 제어합니다.

 

             [아니오] 방출 열

                 열이있는 추가 행 번호 정보를 제어합니다.

             [아니오] 인라인 디버그 정보

                 인라인 코드에 대한 추가 디버그 정보를 제어합니다.

             평행

                 스레드 데이터 공유에 유용한 코드 계측을 내보내고

                 재진입 호출 감지.

-debug-parameters [키워드]

          PARAMETERS에 대한 디버그 정보의 출력을 제어합니다.

          유효한 [keyword] 값 :

             none-PARAMETER에 대한 디버그 정보 생성을 비활성화합니다.

             used-참조 된 PARAMETER에 대해서만 디버그 정보를 생성합니다.

             all-모든 PARAMETER에 대한 디버그 정보를 생성합니다.

-nodebug- 매개 변수

          "-debug-parameters none"과 동일합니다.

-grecord-gcc- 스위치

          DW_AT_producer 속성에 명령 줄 옵션을 기록합니다.

          DWARF 디버깅 정보.

-fvar- 추적

          "-debug variable-locations"와 동일합니다.

-fvar- 추적 할당

          "-debug semantic-stepping"과 동일합니다.

-f [no-] dwarf2-cfi-asm

          컴파일러가 CFI 지시문을 생성해야하는지 여부를 제어합니다.

          어셈블러는 해제 정보를 생성하는 데 사용할 수 있습니다.

          컴파일러는 해제 정보를 직접 내 보내야합니다.

-fno- 병합-디버그-문자열

          다른 개체 파일에서 동일한 디버그 문자열을 병합하지 마십시오.

-fno- 병합 상수

          다른 개체 파일에서 동일한 문자열 상수를 병합하지 마십시오.

-[아니오] d- 라인

          디버그 문 컴파일 (1 열에서 D로 표시)

-DD는 컬럼 1에 D로 표시된 디버그 명령문을 컴파일합니다.이 옵션

          명령 줄을 사용하여 D라는 매크로의 정의를 방지합니다.

          -Dname 옵션 (대신 -Dname = n 구문 사용)

-ftrapuv 초기화되지 않은 변수 트랩

-map-opts

          옵션 매핑 도구 활성화

-인쇄 다중 라이브러리

          사용중인 라이브러리에 대한 정보 인쇄

-f [no-] 사용하지 않는 디버그 유형 제거

          비활성화되면 모든 유형에 대한 디버그 정보가

          소스가 방출됩니다. 이 옵션을 사용하면

          디버그 정보의 크기가 증가합니다.

-qemit-build-options

          컴파일 중에 사용 된 옵션을 해당

          .dashboard 파일. 이 파일은 dbmerge 도구에서 사용됩니다.

          대시 보드 도구에서 사용됩니다.

-qemit- 메시지

          컴파일하는 동안 내 보낸 진단을

          해당 .dashboard 파일. 이 파일은

          dbmerge 도구이며 대시 보드 도구에서 사용됩니다.

 

전 처리기

------------

 

-D <이름> [= <텍스트>]

          매크로 정의

-nodefines, -noD

          모든 -D 매크로가 전처리기로 만 이동하도록 지정합니다.

          컴파일러

-U <name> 미리 정의 된 매크로 제거

-nofpp-comments 허용

          Fortran 줄 끝 주석이 #define 내에 표시되면 처리하십시오.

          정의의 일부로. 기본값은 allow : fpp-comments입니다.

-E stdout으로 전처리

-EP 전처리를 stdout으로, #line 지시문 생략

-P 파일 전처리, #line 지시문 생략

-전처리 전용

          -P와 동일

-[no] 전처리기에 의해 생성 된 전처리 파일을 유지 / 제거합니다.

           컴파일러 단계. -save-temps의 영향을받지 않습니다. 기본값은 -nokeep입니다.

-[no] fpp 컴파일 전에 소스 파일에서 Fortran 전처리기를 실행합니다.

 

-fpp- 이름 : 이름

           대체 전 처리기 실행 파일의 이름을 지정합니다. 이름은

           전체 경로를 포함하십시오.

-모듈 경로

           모드 파일을 배치 할 경로와 첫 번째 위치를 지정합니다.

           모드 파일 찾기

-I <dir> 파일 검색 경로를 포함 할 디렉토리 추가

-idirafter <디렉터리>

          두 번째 포함 파일 검색 경로에 디렉토리 추가 (-I 뒤)

-isystem <디렉터리>

          시스템 포함 경로의 시작에 디렉토리 추가

-X, -nostdinc

          포함 파일 검색 경로에서 표준 디렉토리 제거

-B <접두사>

          <prefix>에서 라이브러리, 헤더 및 실행 파일 찾기

-gen-dep [= 파일 이름]

          종속성 정보를 생성합니다. 

          파일 이름이 지정되지 않은 경우 출력은 stdout입니다.

           -MD 또는 -MMD와 유사

          파일 이름이 지정된 경우 출력은 파일 이름입니다.

           -MF 파일 이름과 유사

-no-gen-dep

          종속성 정보를 생성하지 않음 (기본값)

-gen-depshow = 키워드

          출력되는 종속성 정보를 제어합니다.

          [no] intr_mod 내장 모듈. 기본값은 nointr_mod입니다.

-gen-depformat = 키워드

          지정된 형식으로 종속성 정보를 생성합니다.

          다음 중 하나 : make, nmake

 

구성 요소 제어

-----------------

 

-Qoption, <도구>, <opts>

          <tool>에 지정된 도구에 <opts> 옵션 전달

-Qlocation, <도구>, <디렉터리>

          <tool>에서 지정한 도구의 위치로 <dir>을 설정합니다.

-Qinstall <디렉터리>

          <dir>을 컴파일러 설치의 루트로 설정하십시오.

 

언어

--------

 

-[no] altparam

          매개 변수 상수 선언의 대체 형식 지정

          (괄호 없음)이 인식됩니다. 기본값은 인식하는 것입니다.

-<키워드> 가정

          옵티 마이저 및 코드 생성기의 가정을 지정합니다.

          키워드 : 없음, [no] byterecl, [no] buffered_io,

                    [no] buffered_stdout,

                    [no] bscc (-nbs와 동일한 nobscc),

                    [no] contiguous_assumed_shape, [no] contiguous_pointer,

                    [no] cc_omp, [no] minus0,

                    [no] dummy_aliases (-common-args와 동일),

                    [no] ieee_fpe_flags, [no] fpe_summary,

                    [no] old_boz, [no] old_complex_align,

                    [no] old_inquire_recl,

                    [no] old_logical_ldio, [no] old_logical_assign,

                    [no] old_ldout_format, [no] old_ldout_zero,

                    [no] old_maxminloc, [no] old_unit_star, [no] old_xor,

                    [no] protect_allocates,

                    [no] protect_constants, [no] protect_parens,

                    [no] 재귀, [no] realloc_lhs, [no] 2underscore,

                    [no] 밑줄 (-us와 동일),

                    [no] std_intent_in, [no] std_minus0_rounding,

                    [no] std_mod_proc_name, [no] std_value,

                    [no] source_include, 

                    [no] split_common, [no] writeable_strings

-ccdefault <키워드>

          단위 6 및 *에 대한 기본 캐리지 제어 지정

          키워드 : 기본값, 포트란, 목록 또는 없음

-[no] <키워드> 확인

          런타임 조건을 확인하십시오. 기본값은 -nocheck입니다.

          키워드 : 모두 (-C와 동일), 없음 (-nocheck와 동일),

                    [no] arg_temp_created, [no] bounds (-CB와 동일),

                    [아니], [아니] 연속,

                    [no] 형식, [no] 출력 _ 변환,

                    [no] 포인터 (-CA와 동일),

                    [no] 모양, [no] 스택,

                    [no] udio_iostat, [no] uninit (-CU와 동일)

-common-args

          "참조에 의한"서브 프로그램 인수가 하나의 별명을 지정할 수 있다고 가정

          다른. -assume dummy_aliases와 동일

-e03은 표준이 아닌 언어 요소에 대한 오류를 발행합니다.

          Fortran 2003 (-stand f03 -warn stderrors 옵션과 동일)

-e95는 표준이 아닌 언어 요소에 대한 오류를 발행합니다.

          Fortran 95 (-stand f95 -warn stderrors 옵션과 동일)

-e90은 표준이 아닌 언어 요소에 대한 오류를 발행합니다.

          Fortran 90 (-stand f90 -warn stderrors 옵션과 동일)

-[no] 확장 소스 [<키워드>]

          고정 양식 소스에 대해 맨 오른쪽 열 지정

          키워드 : 72 (-noextend-source 및 -72와 동일),

                    80 (-80과 동일),

                   132 (-132와 동일. 지정하는 경우 기본값

                        -키워드없이 소스 확장.)

 

-fixed 소스 파일이 고정 된 형식으로 지정됩니다. -FI와 동일

          -nofixed는 자유 형식을 나타냅니다.

-free 지정 소스 파일이 자유 형식입니다. -FR과 동일

          -nofree는 고정 형식을 나타냅니다.

-[no] mixed-str-len-arg

          숨겨진 길이가 그 뒤에 전달되는지 여부를 나타냅니다.

          문자 인수 또는 모든 인수 뒤에.

-names <키워드>

          소스 코드 식별자 및 외부 이름이 어떻게 지정되는지 지정

          해석.

          키워드 : as_is, 소문자, 대문자

-[아니오] 패드 소스

          컴파일러가 줄 끝에서 공백을 인식하도록합니다.

-stand [<키워드>]

          확인할 ANSI 표준 준수 수준을 지정합니다.

          에 대한. 키워드가 지정되지 않은 경우 적합성 레벨은 f08입니다.

          키워드 : f90 (-std90과 동일), f95 (-std95와 동일),

                    f03 (-std03과 동일), f08 (-std08과 동일),

                    f18 (-std18과 동일), 없음 (-nostand와 동일)

-표준 의미론

          의미를 준수하기 위해 가정 키워드를 명시 적으로 설정합니다.

          Fortran 표준의. 성능이 저하 될 수 있습니다.

 

          -standard-semantics에 의해 설정된 키워드 가정 :

            byterecl, fpe_summary, minus0, noold_inquire_recl,

            noold_ldout_format, noold_ldout_zero, noold_maxminloc,

            noold_unit_star, noold_xor, protect_parens, realloc_lhs,

            std_intent_in, std_minus0_rounding, std_mod_proc_name, std_value

 

          -fpscomp 논리도 설정합니다.

 

          -fp-model = strict 또는 -fp-model = except가 설정된 경우

            그러면 이것은 또한 키워드 ieee_fpe_flags를 가정합니다.

-[아니요] 표준 realloc-lhs

          명시 적으로 키워드 realloc_lhs를 가정하여

          표준 또는 기본값을 재정의합니다. set -assume [no] realloc_lhs

-구문 전용

          구문 및 의미 검사 만 수행 (생성 된 개체 파일 없음)

-qopt-assume-safe-padding

          변수와 동적으로 할당 된 메모리가 채워져 있다고 가정합니다.

          (Intel (R) MIC 아키텍처 관련)

-[no-] wrap-margin

          목록 지향 출력에서 ​​오른쪽 여백 배치를 제어합니다. 기본적으로,

          목록 지향 출력은 80 자로 랩핑됩니다.

 

컴파일러 진단

--------------------

 

-w 모든 경고를 비활성화합니다.

-W <n> 경고 비활성화 (n = 0) 또는 경고 표시 (n = 1 DEFAULT,

          -일반 경고)

-warn <키워드>

          발행 된 경고 메시지의 레벨을 지정합니다.

            키워드 : 모두, 없음 (-nowarn과 동일)

                      [no] 정렬, [no] 선언,

                      [no] 오류, [no] 외부,

                      [no] 일반, [no] ignore_loc, [no] 인터페이스,

                      [no] 모양, [no] stderrors, [no] truncated_source,

                      [no] 전화하지 않음, [no] 미사용, [no] 사용

-nowarn 모든 경고 메시지 억제

-WB 컴파일 시간 경계 검사를 경고로 바꿉니다.

-Winline은 인라인 진단을 가능하게합니다.

-[no] 트레이스 백

          컴파일러가 PC 상관 관계 데이터를 생성하는지 여부를 지정합니다.

          16 진수 트레이스 백이 아닌 기호 트레이스 백을 표시합니다.

          런타임 실패

-[no] gen-interfaces [: [no] source]

          파일의 모든 루틴에 대한 인터페이스 블록을 생성합니다. 될 수 있습니다

          -warn 인터페이스를 사용하여 확인

          nosource는 임시 소스 파일을 저장하지 않아야 함을 나타냅니다.

-error-limit <크기>

          오류 레벨 또는 치명적 레벨 컴파일러의 최대 수를 지정하십시오.

          허용되는 오류

-오류 제한 없음

          오류 수준 또는 치명적인 수준의 오류 메시지에 최대 수를 설정하지 않음

-diag-enable = <v1> [, <v2>, ...]

          지정된 진단 또는 진단 그룹 활성화

-diag-disable = <v1> [, <v2>, ...]

          지정된 진단 또는 진단 그룹 비활성화

          여기서 <vN>은 개별 진단 번호 또는 그룹 이름 일 수 있습니다.

          그룹 이름에는 다음이 포함됩니다.

              openmp-OpenMP * 병렬 처리기가 발행 한 진단

              warn- "경고"심각도 수준이있는 진단

              error- "오류"심각도 수준이있는 진단

              비고-비고 또는 주석 인 진단

 

              vec-벡터 라이저가 발행 한 진단

              par-자동 병렬 처리기가 발행 한 진단

              CPU 디스패치

                         -CPU 디스패치 설명을 지정합니다.

-diag-error = <v1> [, <v2>, ...]

          지정된 진단 또는 진단 그룹을 오류로 출력

-diag-warning = <v1> [, <v2>, ...]

          지정된 진단 또는 진단 그룹을 경고로 출력

-diag-remark = <v1> [, <v2>, ...]

          지정된 진단 또는 진단 그룹을 비고로 출력

-diag-dump

          현재 활성화 된 진단 메시지를 stdout에 표시

-diag-file [= <파일>]

          진단이 생성되는 <file>입니다. 이 원인을 지정하지 않음

          stderr로 출력 할 메시지

-diag-file-append [= <파일>]

          진단이 생성되는 <file>입니다. <파일>이 이미 존재하는 경우

          출력이 파일에 추가됩니다.

-[no-] diag-id-numbers

          출력 될 진단 지정자를 활성화 (DEFAULT) / 비활성화합니다.

          숫자 형식

-diag-error-limit = <번호>

          발생하는 최대 오류 수 지정

 

여러 가지 잡다한

-------------

 

-[아니요] 로고

          컴파일러 버전 정보를 표시합니다. -nologo는 출력을 비활성화합니다.

-V 컴파일러 버전 정보 표시

-덤프 머신

          대상 머신 만 표시

--버전

          GCC 스타일 버전 정보 표시

-sox [= <키워드> [, 키워드]]

          컴파일러 옵션, 버전 및 추가 정보 저장 가능

          실행 파일에서. -no-sox를 사용하여 비활성화 (DEFAULT)

            profile-프로파일 링 데이터 포함

            인라인-인라인 정보 포함

-save-temps

          현재 디렉토리에 중간 파일을 저장하고 이름을 지정합니다.

          소스 파일을 기반으로합니다. 생성 된 파일 만 저장합니다.

          기본

-dryrun은 드라이버 도구 명령을 표시하지만 도구는 실행하지 않습니다.

-v 드라이버 도구 명령 표시 및 도구 실행

-상세한 컴파일러 버전 정보를 표시하는 것

-watch = <키워드>

          드라이버에게 처리 정보를 출력하도록 지시합니다.

            키워드 : 모두, 없음 (-nowatch와 동일), [no] source,

                      [no] cmd (-v와 동일)

                      [no] mic-cmd

-nowatch 처리 정보 출력 억제 (DEFAULT)

-Tf <파일>

          Fortran 소스로 파일 컴파일

-다중 프로세스 [= <n>]

          많은 수를 컴파일하는 데 사용할 수있는 여러 프로세스 생성

          동시에 소스 파일의

-qnextgen

          LLVM * 용 인텔 컴파일러를 호출합니다.

-qnextgen-diag

          이 옵션을 사용하면 LLVM * 용 인텔 컴파일러가 목록을 표시합니다.

          현재 지원되지 않는 컴파일러 옵션

 

짐을 내리다

-------

 

-qoffload = <인수>

          오프로드 활성화 여부 및 활성화 된 경우 CPU

          대체가 허용됩니다.

            키워드 : 없음, 선택, 필수

-qoffload-attribute-target = <이름>

          소스의 모든 글로벌 루틴 및 글로벌 데이터 오브젝트에 플래그 지정

          오프로드 속성 target (<name>)이있는 파일

            이름-마이크

-qoffload-option, <대상>, <도구>, "옵션 목록"

          주어진 오프로드 컴파일에 대한 추가 옵션을 추가합니다.

          목표와 도구. 옵션 목록은 공백으로 구분 된 인용 목록입니다.

          옵션

            타겟-마이크

            도구-컴파일러, ld, as

-qno-offload

          오프로드 사용 비활성화

-qoffload-arch = <아치>

          코드 오프로드시 사용할 대상 아키텍처 지정

            arch-대상 아키텍처를 지정합니다. Intel (R) 64에서

                   Intel (R) MIC 아키텍처를 대상으로하는 아키텍처, arch can

                   mic-avx512이어야합니다.

 

데이터

----

 

-i {2 | 4 | 8}

          정수 및 논리 변수의 기본 KIND를 2, 4 또는 8로 설정

-integer-size <크기>

          정수 및 논리 변수의 기본 크기를 지정합니다.

            크기 : 16, 32, 64

-r {8 | 16} 실수의 기본 크기를 8 또는 16 바이트로 설정합니다.

-실제 크기 <크기>

          REAL 및 COMPLEX 선언, 상수의 크기를 지정합니다.

          함수 및 내장 함수

            크기 : 32, 64, 128

-autodouble

          -real-size 64 또는 -r8과 동일

-double-size <크기>

          DOUBLE PRECISION 및 DOUBLE COMPLEX 선언의 크기를 정의합니다.

          상수, 함수 및 내장 함수

            크기 : 64, 128

-[아니요] fpconstant

          할당 된 단 정밀도 상수의 정밀도를 확장합니다.

          배정 밀도 변수를 배정 밀도로

-[no] intconstant

          Fortran 90/95 대신 Fortran 77 의미 체계를 사용하여

          정수 상수의 종류

-auto 모든 지역 변수를 자동으로 만듭니다.

-오토 스칼라

          스칼라 지역 변수를 자동으로 만들기 (DEFAULT)

-save 모든 변수 저장 (정적 할당) (-noauto와 동일,

          -auto의 반대)

-[아니요] 0

          활성화 / 비활성화 (DEFAULT) 암시 적 로컬 초기화

          내장 유형 INTEGER, REAL, COMPLEX 또는

          저장되고 초기화되지 않은 LOGICAL

-init = <키워드>

          활성화 / 비활성화 (DEFAULT) 암시 적 로컬 초기화

          내장 유형 INTEGER, REAL, COMPLEX 또는

          저장되고 초기화되지 않은 LOGICAL

 

          <keyword>는 초기 값을 지정합니다.

 

            키워드 : 0 (-zero와 동일),

                      snan (부동 소수점 변수에만 유효),

                      infinity, minus_infinity (부동 소수점에만 유효)

                      tiny, minus_tiny (부동 소수점에만 유효)

                      거대, 마이너스 거대

                      배열

-dyncom <공통 1, 공통 2, ...>

          주어진 공통 블록을 동적으로 할당

-Zp [n] 구조에 대한 정렬 제약을 지정합니다 (n = 1,2,4,8,16

          -Zp16 기본값)

-[아니오] 정렬

          변수 및 배열에 대한 메모리 레이아웃 분석 및 재정렬

-align <키워드>

          데이터 항목 정렬 방법 지정

            키워드 : all (-align과 동일), none (-noalign과 동일),

                      [no] commons, [no] dcommons,

                      [no] qcommons, [no] zcommons,

                      rec1byte, rec2byte, rec4byte,

                      rec8byte, rec16byte, rec32byte,

                      어레이 8 바이트, 어레이 16 바이트, 어레이 32 바이트,

                      어레이 64 바이트, 어레이 128 바이트, 어레이 256 바이트,

                      [no] 레코드, [no] 시퀀스

-fminshared

          컴파일은 기본 실행 파일입니다. 절대 주소 지정은

          기호에 대해 생성 된 사용 및 비 위치 독립 코드

          최소한 보호 받는다

-fcommon 컴파일러가 공통 변수를 마치

          한정된. 그러면 공통의 gprel 주소 지정을 사용할 수 있습니다.

          데이터 변수. -fno-common 비활성화

-fstack- 보안 검사

          오버플로 보안 검사를 활성화합니다.

          -fno-stack-security-check 비활성화 (DEFAULT)

-fstack 보호기

          스택 오버플로 보안 검사를 활성화합니다.

          -fno-stack-protector 비활성화 (DEFAULT)

-fstack-protector-strong

          버퍼가있는 루틴에 대한 스택 오버플로 보안 검사를 활성화합니다.

          -fno-stack-protector-strong 비활성화 (DEFAULT)

-fstack-protector-all

          기능을 포함한 스택 오버플로 보안 검사를 활성화합니다.

          -fno-stack-protector-all 비활성화 (DEFAULT)

-fpic, -fPIC

          위치 독립적 코드 생성 (-fno-pic / -fno-PIC은 DEFAULT 임)

-fpie, -fPIE

          연결될 위치 독립적 인 코드를 생성하십시오

          실행 가능 (-fno-pie / -fno-PIE는 DEFAULT 임)

-[아니-] 글로벌 호이스트

          enable (DEFAULT) / disable external globals are load safe

-f [no-] 정적 상수 유지

          할당을 보존하는 기능을 활성화 / 비활성화 (DEFAULT)합니다.

          소스에서 참조되지 않는 변수

-fpack- 구조체

          구조 멤버를 함께 포장

-f [no-] math-errno

          표준 수학 라이브러리 함수를 호출 한 후 ERRNO 설정

-bss-init 없음

          BSS에서 0으로 초기화 된 변수 배치 비활성화 (DATA 사용)

-f [no-] bss에서 0으로 초기화 됨

          명시 적으로 초기화 된 변수를 DATA 섹션에 넣습니다.

          BSS 섹션 대신

-mcmodel = <크기>

          특정 메모리 모델을 사용하여 코드 생성 및 데이터 저장

            small-코드와 데이터를 처음 2GB 주소로 제한합니다.

                     공백 (DEFAULT)

            중간-코드를 처음 2GB로 제한합니다. 그것은 기억을 두지 않는다

                     데이터 제한

            large-코드 또는 데이터에 메모리 제한을 두지 않습니다.

-convert <키워드>

          숫자 데이터를 포함하는 형식화되지 않은 파일의 형식 지정

            키워드 : big_endian, cray, ibm, little_endian, native, vaxd, vaxg

-falign- 기능 = <n>

          2 (DEFAULT) 또는 <n> 바이트 경계에 함수 시작 정렬

          여기서 <n>은 2의 거듭 제곱입니다.

-falign- 기능

          기능 시작을 최적의 기계 종속 값에 맞 춥니 다.

          -fno-align-functions (DEFAULT)는 2 바이트 경계에 정렬합니다.

-fvisibility = [extern | default | protected | hidden | internal]

          전역 기호 (데이터 및 함수)가 가시성을 얻습니다.

          기본적으로 제공되는 속성입니다. 명시 적으로 기호 가시성 속성

          소스 코드에서 설정하거나 기호 가시성 속성을 사용하여

          파일 옵션은 -fvisibility 설정을 재정의합니다.

-fvisibility-extern = <파일>

          <file> 인수에 나열된 공백으로 구분 된 기호는

          가시성이 extern으로 설정 됨

-fvisibility-default = <파일>

          <file> 인수에 나열된 공백으로 구분 된 기호는

          가시성을 기본값으로 설정

-fvisibility-protected = <파일>

          <file> 인수에 나열된 공백으로 구분 된 기호는

          가시성이 보호 됨으로 설정 됨

-fvisibility-hidden = <파일>

          <file> 인수에 나열된 공백으로 구분 된 기호는

          숨김으로 설정된 가시성

-fvisibility-internal = <파일>

          <file> 인수에 나열된 공백으로 구분 된 기호는

          가시성이 내부로 설정 됨

-fvisibility-inlines-hidden

          인라인 멤버 함수를 숨김으로 표시

 

적합성

-------------

 

-fpscomp <키워드>

          Fortran과의 호환성 수준 지정

          발전소

            키워드 : all, none (-nofpscomp와 동일), [no] filesfromcmd,

                      [no] 일반, [no] ioformat, [no] ldio_spacing,

                      [no] libs, [no] 논리

-nofpscomp

          Fortran PowerStation과 특정 수준의 호환성 없음

-f66, -66

          FORTRAN-66 호환성을 향상시키는 확장 허용

-f77rtl은 Fortran 77 특정 런타임 지원을 사용해야 함을 지정합니다.

          -nof77rtl 비활성화

-vms는 VMS I / O 문 확장을 활성화합니다.

-gcc-name = <이름>

          예상되지 않은 경우 gcc의 이름 및 위치

-gxx-name = <이름>

          예상되지 않은 경우 g ++의 이름 및 위치

-gnu-prefix = 접두사

          GNU 유틸리티의 이름에 추가 될 접두사를 지정합니다.

          컴파일러에서 호출

 

연결 / 링커

--------------

 

-L <dir> 링커에게 <dir>에서 라이브러리를 검색하도록 지시합니다.

-l <문자열>

          -l <string> 라이브러리에서 링크하도록 링커에 지시

-공유 인텔

          인텔 제공 라이브러리를 동적으로 연결

-정적 정보

          인텔 제공 라이브러리를 정적으로 연결

-공유 libgcc

          libgcc를 동적으로 연결

-정적 libgcc

          libgcc를 정적으로 링크

-정적 libstdc ++

          libstdc ++를 정적으로 연결

-dynamic-linker <파일>

          기본값 이외의 동적 링커 선택

C ++ 런타임 라이브러리를 사용하는 -cxxlib 링크

-no-cxxlib

          C ++ 런타임 라이브러리에서 링크하지 마십시오.

-cxxlib [= 디렉터리]

          gcc dir과 함께 제공되는 C ++ 런타임 라이브러리를 사용하는 링크는

          gcc 바이너리 및 라이브러리에 대한 선택적 최상위 위치

-nodefaultlibs

          링크 할 때 표준 라이브러리를 사용하지 마십시오.

-nostartfiles

          링크 할 때 표준 시작 파일을 사용하지 마십시오.

-nostdlib

          링크 할 때 표준 라이브러리 및 시작 파일을 사용하지 마십시오.

-nofor-main

          Fortran 기본 개체에 연결하지 마십시오. Fortran을 연결할 때 사용

          C 메인 프로그램이있는 객체

-static은 공유 라이브러리와의 연결을 방지합니다.

-shared는 공유 객체를 생성합니다.

-Bstatic은 다음 라이브러리가 정적으로 연결되도록 지정합니다.

-Bdynamic

          다음 라이브러리가 동적으로 연결되도록 지정

-pthread는 멀티 스레딩 지원을 위해 POSIX * 스레드 라이브러리를 사용합니다.

          -threads와 동일

-cxxlib- <모드>

          사용할 C ++ 런타임 라이브러리를 컴파일러에 알립니다.

            nostd-표준 C ++ 라이브러리에서 링크하지 마십시오.

-T <파일>

          직접 링커가 <파일>에서 링크 명령을 읽습니다.

-Xassembler <val>

          처리를 위해 어셈블러에 직접 <val> 전달

-Xlinker <발>

          처리를 위해 링커에 직접 <val> 전달

-와, <o1> [, <o2>, ...]

          옵션 o1, o2 등을 어셈블러에 전달

-Wl, <o1> [, <o2>, ...]

          처리를 위해 옵션 o1, o2 등을 링커에 전달

-Wp, <o1> [, <o2>, ...]

          옵션 o1, o2 등을 전처리기에 전달

-threads는 다중 스레드 라이브러리가 링크되어야 함을 지정합니다.

          -nothreads는 다중 스레드 라이브러리를 비활성화합니다.

-pie, -no_pie

          연결될 위치 독립적 인 코드를 생성하십시오

          실행 가능 (-pie는 macOS * 10.7 이상에서 DEFAULT 임)

          -no-pie / -no_pie는 위치 독립적 코드를 비활성화합니다.

-fuse-ld = <인수>

          기본 링커 (ld) 대신 다른 링커 사용

            bfd-bfd 링커 사용

            gold-골드 링커 사용

 

링커 별 옵션

-----------------------

 

이러한 옵션은 링커에 따라 다릅니다. 링커에서 자세한 내용을 찾을 수 있습니다.

설명서 및 매뉴얼 페이지

-L <디렉터리>

-T <인수>

-h <인수>

-u <인수>

-z <인수>

-나는

-아르 자형

-에스

-엔

-Bsymbolic

-Bdynamic

-Bstatic

 

사용되지 않는 옵션

------------------

 

-use-asm 대체 없음

-qopt-report [n] -qopt-report [= n] 사용

-cilk-serialize 대체 없음

-qcf-protection = shadow_stack 사용 -fcf-protection = return

-qcf-protection = branch_tracking 사용 -fcf-protection = branch

-qcf-protection = [full | none] -fcf-protection = [full | none] 사용

-march = icelake 사용 -march = icelake-client

-mtune = icelake 사용 -mtune = icelake-client

-mcpu = icelake 사용 -mcpu = icelake-client

-xICELAKE 사용 -xICELAKE-CLIENT

-axICELAKE 사용 -axICELAKE-CLIENT

-스탠드 f15 사용-스탠드 f18

-std15 사용 -std18

 

-help [category] 전체 또는 범주 도움말 메시지 인쇄

 

유효한 카테고리는 다음과 같습니다.

       고급-고급 최적화

       codegen-코드 생성

       호환성-호환성

       component-구성 요소 제어

       data-데이터

       deprecated-Deprecated 옵션

       진단-컴파일러 진단

       float-부동 소수점

       help-도움말

       인라인-인라인

       ipo-프로 시저 간 최적화 (IPO)

       언어-언어

       link-연결 / 링커

       기타-기타

       opt-최적화

       출력-출력

       pgo-프로파일 기반 최적화 (PGO)

       preproc-전 처리기

       보고서-최적화 보고서

       openmp-OpenMP 및 병렬 처리

 

Copyright (C) 1985-2020, Intel Corporation. 판권 소유.

* 다른 이름과 브랜드는 해당 소유주의 자산 일 수 있습니다.

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

[기상학/프로그래밍 언어]

  • sangho.lee.1990@gmail.com

[해양학/천문학/빅데이터]

  • saimang0804@gmail.com