man pages for ifc

NAME
       Intel(R) Fortran Compiler

SYNOPSIS
       ifc [options] file1 [file2 ...]
       
       where fileN is a Fortran source (.f .for .ftn .f90 .fpp), assembly (.s),
       object (.o), static library (.a), or other linkable file

       NOTE:  Commonly used options may be placed in the ifc.cfg file.

DESCRIPTION
       Intel(R) Fortran Compiler Options. This compiler is designed to prepro-
       cess, compile, assemble, and link Fortran programs on IA-32 systems.

Compiler Option List
   Performance
       -O1            Enable optimizations (DEFAULT)

       -O2            Same as -O1

       -O3            Enable -O2 plus more aggressive optimizations  that  may
                      not improve performance for all programs

       -O0            Disable optimizations

       -O             Same as -O1

       -falias        Assume aliasing in program (DEFAULT)

       -Ob         Control inline expansion:

                      n=0 -- Disables inlining

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

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

       -fno-alias     Assume no aliasing in program

       -ffnalias      Assume aliasing within functions (DEFAULT)

       -fno-fnalias   Assume no aliasing within functions, but assume aliasing
                      across calls

       -fp            Disable using EBP as general purpose register

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

       -mp1           Improve  floating-point  precision (speed impact is less
                      than -mp)

       -prec_div      Improve precision of floating-point divides (some  speed
                      impact)

       -fp_port       Round  fp  results  at  assignments  & casts (some speed
                      impact)

       -pc32          Set internal FPU precision to 24 bit significand

       -pc64          Set  internal  FPU  precision  to  53  bit   significand
                      (DEFAULT)

       -pc80          Set internal FPU precision to 64 bit significand

       -rcd           Enable fast float-to-int conversions

       -tpp5          Optimize for Pentium(R) processor

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

       -tpp7          Optimize for Pentium(R) 4 processor

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

                      i -- Pentium Pro and Pentium II processor instructions

                      M -- MMX(TM) instructions

                      K -- streaming SIMD extensions

                      W -- Pentium(R) 4 New Instructions

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

   Advanced Performance
       Enable and specify the scope of Interprocedural (IP) Optimizations:

       -ip            Enable single-file IP optimizations (within files)

       -ipo           Enable multi-file IP optimizations (between files)

       -ipo_c         Generate a multi-file object file (ipo_out.o)

       -ipo_S         Generate a multi-file assembly file (ipo_out.s)

       Modify the behavior of IP:

       -ip_no_inlining
                      Disable full and partial inlining (requires -ip or -ipo)

       -ip_no_pinlining
                      Disable partial inlining (requires -ip or -ipo)

       -ipo_obj       Force generation of real object files (requires -ipo)

       Other Advanced Performance Options:

       -nolib_inline  Disable inline expansion of intrinsic functions

       -pad           Enable changing variable and array memory layout

       -nopad         Disable(DEFAULT) changing variable and array memory lay-
                      out

       -unroll[n]     Set  maximum  number of times to unroll loops. Omit n to
                      use  default  heuristics.  Use  n=0  to   disable   loop
                      unroller.

       -prof_dir   Specify  directory for profiling output files (*.dyn and
                      *.dpi)

       -prof_file  Specify file name for profiling summary file

       -prof_gen      Instrument program for profiling

       -prof_use      Enable use of profiling information during optimization

       -qp, -p        Compile and link for function profiling with  UNIX  prof
                      tool

       -vec           Enable(DEFAULT) the vectorizer

       -vec_report[n] Control amount of vectorizer diagnostic information:

                      n=0 no diagnostic information

                      n=1 indicate vectorized loops (DEFAULT)

                      n=2 indicate vectorized/non-vectorized loops

                      n=3  indicate  vectorized/non-vectorized  loops and pro-
                      hibiting data dependence information

                      n=4 indicate non-vectorized loops

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

       -opt_report    Generate an optimization report to stderr

       -opt_report_file
                      Specify the filename for the generated report

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

       -opt_report_phase
                      Specify the phase that reports are generated against

       -opt_report_routine
                      Reports on routines containing the given name

       -opt_report_help
                      Display the optimization phases available for reporting

       -openmp        Enable  the  compiler  to  generate  multi-threaded code
                      based on the OpenMP directives

       -openmp_stubs  Enables the user to compile OpenMP programs  in  sequen-
                      tial  mode. The openmp directives are ignored and a stub
                      OpenMP library is linked (sequential)

       -openmp_report{0|1|2}
                      Control the OpenMP parallelizer diagnostic level

       -parallel      Enable the auto-parallelizer to generate  multi-threaded
                      code for loops that can be safely executed in parallel

       -par_report{0|1|2|3}
                      Control the auto-parallelizer diagnostic level

       -par_threshold[n]
                      Set  threshold  for  the  auto-parallelization  of loops
                      where n is an integer from 0 to 100

       -ansi_ansi[-]  Enable(DEFAULT)[disable] stating ANSI compliance of  the
                      compiled  program and that optimizations can be based on
                      the ANSI rules

       -prefetch[-]   Enable(DEFAULT)[disable]  prefetch  insertion  (requires
                      -O3)

       -scalar_rep[-] Enable(DEFAULT)[disable]  scalar  replacement  (requires
                      -O3)

   Output, Debug
       -c             Compile to object (.o) only, do not link

       -S             Compile to assembly (.s) only, do not link (*I)

       -use_asm       Produce objects through assembler

       -use_msasm     Support  Microsoft  style  assembly  language  insertion
                      using MASM style syntax and, if requested, output assem-
                      bly in MASM format

       -fcode-asm     Produce assembly file with optional code annotations

       -fsource-asm   Produce assembly file with optional code annotations

       -f[no]verbose-asm
                      Produce assembly file with compiler comments (DEFAULT)

       -G0            Print source listing on stdout

       -G1            Print source listing on  stdout  without  INCLUDE  files
                      expanded

       -o       Name output file

       -g             Produce symbolic debug information in object file

       -inline_debug_info
                      Preserve  the source position of inlined code instead of
                      assigning the call-site source position to inlined code

   Fortran Preprocessor
       -A-            Remove all predefined macros (incompatible with -openmp)

       -D[=]
                      Define macro

       -E             Preprocess to stdout

       -EP            Preprocess to stdout omitting #line directives

       -P, -F         Preprocess to file

       -fpp[n]        Run Fortran preprocessor on source files prior to compi-
                      lation

                      n=0 disable CVF and # directives, equivalent to no fpp

                      n=1 enable CVF conditional compilation and #  directives
                      (DEFAULT)

                      n=2 enable only # directives

                      n=3 enable only CVF conditional compilation directives

       -cpp[n]        Same as -fpp[n]

       -I        Add directory to include file search path

       -U       Remove predefined macro

       -X             Remove  standard  directories  from  include file search
                      path

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

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

       -Qinstall 
              Set  as root of compiler installation

   Language
       -i2            Set default KIND of integer variables is 2

       -i4            Set default KIND of integer variables is 4

       -i8            Set default KIND of integer variables is 8

       -r8            Set default size of REAL to 8 bytes

       -r16           Set default size of REAL to 16 bytes

       -autodouble    Same as -r8

       -doubletemps   All intermediate results of floating-points  values  are
                      at least double precision.

       -DD            Compile debug statements (indicated by D in column 1)

       -DX            Compile statements that have X in column 1

       -DY            Compile statements that have Y in column 1

       -FR            Specifies source files are in free format

       -FI            Specifies source files are in fixed format

       -72            Specify 72 column lines for fixed form sources

       -80            Specify 80 column lines for fixed form sources

       -132           Specify 132 column lines for fixed form sources

       -extend_source Same as -132

       -pad_source    Make compiler acknowledge blanks at the end of a line

       -dps           Enable DEC* PARAMETER statement recognition (DEFAULT)

       -nodps         Disable DEC* PARAMETER statement recognition

       -1, -onetrip   Execute any DO loop at least once

       -auto          Make all local variables AUTOMATIC

       -auto_scalar   Make scalar local variables AUTOMATIC (DEFAULT)

       -save          Save  all  variables  (static  allocation);  opposite of
                      -auto

       -u, -implicitnone
                      Set IMPLICIT NONE by default

       -Qansi[-]      Enable(DEFAULT)[disable] stating ANSI compliance of  the
                      compiled  program and that optimizations can be based on
                      the ANSI rules

       -common_args   Assume "by reference" subprogram arguments may alias one
                      another

       -vms           Enable VMS and DEC statement extensions

       -zero          Implicitly initialize all data to zero

       -C             Enable  extensive runtime error checking (-CA, -CB, -CS,
                      -CU, -CV)

       -CA            Runtime checks for nil pointer/allocatable array refs

       -CB            Runtime checks for  out-of-bounds  array  subscript/sub-
                      string refs

       -CS            Runtime  checks for consistent shape of intrinsic proce-
                      dure array args

       -CU            Runtime checks for uninitialized variables

       -CV            Runtime checks for  formal/actual  parameter  correspon-
                      dence

       -d          Set level of diagnostics

       -Qdyncom"blk1,blk2,..."
                      Make given common blocks dynamically-allocated

       -Qloccom"blk1,blk2,..."
                      Make given common blocks locally-allocated

       -nbs           Treat  backslash  as  a  normal character, not an escape
                      character

       -nus           Do not append an underscore to external subroutine names

       -nus[,]  Do  not  append an underscore to subroutine names listed
                      in 

       -lowercase     Change routine names to all lowercase (DEFAULT)

       -uppercase     Change routine names to all uppercase

       -[no]align     Analyze and reorder  memory  layout  for  variables  and
                      arrays

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

       -y, -syntax    Perform syntax check only

   Compiler Diagnostics
       -cerrs[-]      Enable[disable](DEFAULT)  terse  format  for  diagnostic
                      messages

       -cm            Suppress all comment messages

       -q             Suppress printing errors to stderr

       -w             Disable all warnings

       -Wn            Disable warnings (n=0) or show warnings (n=1, DEFAULT)

       -WB            Issue  a  warning  instead of an error for out-of-bounds
                      array references

       -w90, -w95     Suppress messages about use of non-standard Fortran

       -e90, -e95     Issue errors for non-standard Fortran

   Miscellaneous
       -help          Prints list of compiler options

       -V             Display compiler version information

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

       -dryrun        Show driver tool commands but do not execute tools

       -v             Show driver tool commands and execute tools

       -Tf      Compile file as Fortran source

       -nobss_init    Disable  placement  of zero-initialized variables in BSS
                      (use DATA)

       -Kpic, -KPIC   Generate position independent code

       -fpic, -fPIC   Generate position independent code

       -0f_check      Enable the patch for the Pentium 0f erratum

       -convert{ little endian | big endian | native }
                      Specifies the format  of  unformatted  files  containing
                      numeric data

       -module[path], -nomodule
                      Specifies  the  directory  where the module files (.mod)
                      are placed. Omitting this option, or specifying  -nomod-
                      ule,  results  in placing the module files in the direc-
                      tory where the source files are compiled.

       -show[-]       Enables [disables] printing a source listing  to  stdout
                      with contents of INCLUDE files.

   Linking/Linker
       -L        Instruct linker to search  for libraries

       -i_dynamic     Link Intel provided libraries dynamically

       -no_cpprt      Do not link in C++ runtime libraries

       -nodefaultlibs Do not use standard libraries when linking

       -nostartfiles  Do not use standard startup files when linking

       -nostdlib      Do  not  use  standard  libraries and startup files when
                      linking

       -static        Prevents linking with shared libraries

       -shared        Produce a shared object

       -Xlinker  Pass  directly to the linker for processing

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

       -C90           Link with alternate I/O library for mixed output with C

       -posixlib      Link with POSIX library

       -Vaxlib        Link with portability library

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