Intel(R) Fortran & C++ Compiler 7.0 for Linux
---------------------------------------------

Intel(R) Fortran & C++ compiler options. Used for SGI Altix 3000
submissions. 

Performance


       -O1            Optimize for  maximum  speed,  but  disable
                      some optimizations which increase code size
                      for a small speed benefit. Turns off software
	              pipelining to reduce code size. Enables the
		      same optimizations as -O2 except for loop
                      unrolling. Optimations include global register
                      allocation, instruction scheduling, register
                      variable detection, common subexpression elimination,
                      dead code elimination, variable renaming, copy
                      propagation, constant propagation, strength
                      reduction-induction variable, tail recursion
                      elimination. 	

       -O2            Enable optimizations (DEFAULT) done with -O1 +
                      software pipelining, loop unrolling, inlining of
                      intrinsics.     


       -O3            Enable -O2 plus more  aggressive  optimiza
                      tions including loop transformation, OpenMP,
                      and prefetching.  High-level optimizations use 
                      the properties of source code constructs such 
                      as loops and arrays in applications written in 
                      high-level programming languages. Optimizes for 
                      maximum speed, but may not improve performance 
                      for some programs. Enable -O2 optimizations +
                      prefetching, scalar replacement, loop transformations. 

       -O0            Disable optimizations -O1, -O2 and -O3.

       -O             Same as -O2

       -Ob<n>         Control inline expansion:

                      n=0 -- Disables inlining

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

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

       -falias        Assume aliasing in program (DEFAULT)

       -fno-alias     Assume no aliasing in program

       -ffnalias      Assume aliasing within functions (DEFAULT)

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

       -mp            Maintain floating point precision (disables
                      some optimizations)

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

       -tpp1          Target  optimization to the Itanium processor.

       -tpp2          Target optimization to the Itanium 2 processor.

       -mcpu=<cpu>    Optimize for a specific cpu

                      itanium -- Optimize for Itanium(R)  processor

                      itanium2  -- Optimize for Itanium(R) 2 processor


Advanced Performance

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

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

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

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

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

       Modify the behavior of IP:

       -ip_no_inlining
                      Disable IP 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(DEFAULT) changing variable and array
                      memory layout

       -nopad         Disable changing variable and array  memory
                      layout

       -unroll0       Disable loop unrolling

       -safe_cray_ptr Cray pointers do not alias with other variables

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

       -prof_file <f> Specify  file  name  for  profiling summary
                      file

       -prof_gen      Instrument program for profiling

       -prof_use      Enable use of profiling information  during
                      optimization

       -fnsplit[-]    Enable/disable  function splitting (enabled
                      with -prof_use)

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

       -opt_report    Generate an optimization report to stderr

       -opt_report_file<file>
                      Specify  the  filename  for  the  generated
                      report

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

       -opt_report_phase<name>
                      Specify  the  phase that reports are generated
                      against

       -opt_report_routine<name>
                      Reports on routines  containing  the  given
                      name

       -opt_report_help
                      Display  the  optimization phases available
                      for reporting

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

       -openmp_profile
                      Link  with  instrumented   OpenMP   runtime
                      library to generate OpenMP profiling infor
                      mation for use with the OpenMP component of
                      the VTune(TM) Performance Analyzer

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

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

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

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

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

       -ansi_alias[-] Enable(DEFAULT)[disable] stating ANSI  com
                      pliance  of  the  compiled program and that
                      optimizations can  be  based  on  the  ANSI
                      rules (implies -restrict)

       -ivdep_parallel
                      Make  ivdep directives mean no loop carried
                      dependencies

       -ftz           Flush denormal results to zero

       -IPF_fma[-]    Enable[disable] the combining  of  floating
                      point  multiplies  and  add/subtract opera
                      tions

       -IPF_fltacc[-] Enable[disable] optimizations  that  affect
                      floating point accuracy

       -IPF_flt_eval_method0
                      Floating  point  operands  evaluated to the
                      precision indicated by program

       -IPF_fp_speculation<mode>
                      Enable floation point speculations with the
                      following <mode> conditions:

                      fast - speculate floating point operations

                      safe - speculate only when safe

                      strict - same as off

                      off  -  disables  speculation  of floating-
                      point operations

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

       -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 com
                      ments (DEFAULT)

       -list          Print source listing on sdtout

       -list -show    Include print source listing on stdout with
                      INCLUDE files expanded

       -o<file>       Name output file

       -g             Produce   symbolic   debug  information  in
                      object file

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

Fortran Preprocessor

       -D<name>[=<text>]
                      Define macro

       -E             Preprocess to stdout

       -EP            Preprocess to stdout omitting #line  direc
                      tives

       -P, -F         Preprocess to file

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

                      n=0 disable CVF and #  directives,  equiva
                      lent 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<dir>        Add directory to include file search path

       -U<name>       Remove predefined macro

       -X             Remove  standard  directories  from include
                      file search path


C Preprocessor

       -A<name>[(val)]
                      Create an  assertion  'name'  having  value
                      'val'

       -A-            Remove all predefined macros

       -C             Don't strip comments

       -D<name>[=<text>]
                      Define macro

       -E             Preprocess to stdout

       -EP            Preprocess  to stdout omitting #line direc
                      tives

       -P, -F         Preprocess to file

       -I<dir>        Add directory to include file search path

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

       -U<name>       Remove predefined macro

       -X             Remove  standard  directories  from include
                      file search path

       -H             Print "include"  file  order  and  continue
                      compilation.

       -M             Generate makefile dependency information

       -MD            Preprocess  and  compile.  Generate  output
                      file (.d extension)  containing  dependency
                      information.

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

       -MG            Similar to -M, but  treats  missing  header
                      files as generated files.

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

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

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

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



Component Control

       -Qoption,<str>,<opts>
                      Pass options <opts> to  tool  specified  by
                      <str>

       -Qlocation,<str>,<dir>
                      Set <dir> as the location of tool specified
                      by <str>

       -Qinstall <dir>
                      Set <dir> as root of compiler installation

Language

       -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 recogni
                      tion

       -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

       -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

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

       -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[,<file>]  Do not append an underscore  to  subroutine
                      names listed in <file>

       -lowercase     Change   routine  names  to  all  lowercase
                      (DEFAULT)

       -uppercase     Change routine names to all uppercase

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

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

       -y, -syntax    Perform syntax check only

       -[no]restrict  Enable [disable] the 'restrict' keyword for
                      disambiguating pointers

       -Xa            Select extended ANSI C dialect

       -Xc, ansi      Select strict ANSI conformance dialect

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

       -std=c99       Enable c99 support for C programs

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

       -fno-rtti      Disable RTTI support

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

       -syntax        Perform syntax check only

       -fshort-enums  Allocate as many bytes as needed  for  enu
                      merated types

       -fsyntax-only  Same as -syntax

       -funsigned-char
                      Change default char type to unsigned

       -funsigned-bitfields
                      Change default bitfield type to unsigned


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

       -w<n>          Control diagnostics:

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

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

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

       -wn<n>         Print a maximum of n errors

       -wd<L1>[,<L2>,...]
                      Disable diagnostics L1 through LN

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

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

       -wr<L1>[,<L2>,...]
                      Change  severity  of diagnostics L1 through
                      LN to remark

       -Wall          Enable all warnings

       -Werror        Force warnings to be reported as errors


       -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

       -dryrun        Show driver tool commands but do  not  exe
                      cute tools

       -x <type>      All  source  files  found  subsequent to -x
                      <type> will be recognized  as  one  of  the
                      following types:

                      c -- C source file

                      c++ -- C++ source file

                      c-header -- C header file

                      cpp-output -- C pre-processed file

                      assembler -- Assembly file

                      assembler-with-cpp  --  Assembly  file that
                      needs to be preprocessed

                      none -- Disable recognition and  revert  to
                      file extension


       -v             Show driver tool commands and execute tools

       -Tf<file>      Compile file as Fortran source

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

       -Kpic, -KPIC   Generate position independent code

       -fpic, -fPIC   Generate position independent code

       -Knopic, -KNOPIC
                      Do not generate position independent code

       -fr32          Disable  use  of high floating point regis
                      ters

       -size_lp64     Assume 64-bit size  for  long  and  pointer
                      types

Linking/Linker

       -L<dir>        Instruct   linker   to   search  <dir>  for
                      libraries

       -i_dynamic     Link Intel provided libraries dynamically

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

       -mrelax        Pass -relax to the linker

       -mnorelax      Do not pass -relax to the linker

       -no_cpprt      Do not link in C++ runtime libraries

       -nodefaultlibs Do not use standard libraries when linking

       -nostartfiles  Do  not  use  standard  startup  files when
                      linking

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

       -static        Prevents linking with shared libraries

       -shared        Produce a shared object

       -u <symbol>    Pretend the <symbol> is undefined

       -Xlinker <val> Pass  <val> directly to the linker for pro
                      cessing

       -Wl,<o1>[,<o2>,...]
                      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

Copyright Information

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


dplace -  a  tool  for controlling placement of processes
          onto cpus

       -c     Cpu_number(s).  Specified  as a list of cpu ranges:
              Example: "-c1", "-c2-4", "-c1,4-8,3".  Cpu  numbers
              are  NOT physical cpu numbers. They are logical cpu
              number that are relative to the cpus  that  are  in
              the set of allowed cpus as specified by the current
              cpumemset or "runon" command.  Cpu numbers start at
              0. If this option is not specified, all cpus of the
              current cpumemset are available. 

Portability flags:

-Dalloca=__builtin_alloca     Replace occurrences of alloca() with __builtin_alloca.
-DSPEC_CPU2000_LP64           Compile using LP64 programming model. 
-D_LIBC                       Don't nclude GNU C libraries 
-DLINUX_i386                  Linux Intel system, use "long long" as 64bit variable. 
-DHAS_ERRLIST                 Prog env provides specification for "sys_errlist[]". 
-DSPEC_CPU2000_NEED_BOOL      Use SPEC provided definition of the boolean type.
-DSPEC_CPU2000_LINUX_IA64     Compile for an IA64 system running Linux.
-DPSEC_CPU2000_GLIBC22        Compatibility with 2.2 & later versions of glibc
-DSYS_IS_USG                  Specifies that the operating system is USG compliant.
-DSYS_HAS_TIME_PROTO          Do not explicitly declare  time().
-DSYS_HAS_SIGNAL_PROTO        Do not explicitly #include <signal.h>
-DSYS_HAS_IOCTL_PROTO         Do not explicitly declare  ioctl().
-DSYS_HAS_ANSI                System is ANSI compliant.
-DSYS_HAS_CALLOC_PROTO        Do not explicitly declare  calloc().
-FI                           Fixed-format F90 source code.