This flag disclosure applies to the Intel 5.0 Compilers with support for
Itanium(R) processor based systems running 64-bit Windows OS.

Description of compiler flags for Intel C Compiler 5.0
------------------------------------------------------
/O1        optimize for speed, but disable some optimizations which increase 
           code size for a small speed benefit. Includes inline expansion 
           except for intrinsic functions, global optimizations, string 
           pooling optimizations.  

/O2        Optimizes for speed. The -O2 option includes O1 optimizations and 
           in addition enables inlining of intrinsics and more speed 
           optimizations.

/O3:       Builds on -01 and -02 optimizations by enabling high-level 
           optimization. This level does not guarantee higher performance.
           This may result in longer compilation times. 

/Qip       enable single-file IP optimizations 
           (within files, same as /Ob2)

/Qipo       multi-file ip optimizations that includes:
              - inline function expansion
              - interprocedural constant propogation
              - dead code elimination
              - propagation of function characteristics
              - passing arguments in registers
              - loop-invariant code motion

/Qprof_gen  instrument program for profiling for the first phase of 
            two-phase profile guided otimization

/Qprof_use  Instructs the compiler to produce a profile-optimized 
            executable and merges available dynamic information (.dyn) 
            files into a pgopti.dpi file. If you perform multiple 
            executions of the instrumented program, -Qprof_use merges 
            the dynamic information files again and overwrites the 
            previous pgopti.dpi file.
            Without any other options, the current directory is 
            searched for .dyn files

/GX         Enables the full C++ Exception Handling unwind semantics. 


/GR         Enables C++ Runtime Type Information (RTTI). 


Description of compiler flags for Intel FORTRAN Compiler 5.0
------------------------------------------------------------
/O1:       optimize for speed, but disable some optimizations which increase 
           code size for a small speed benefit. Includes inline expansion 
           except for intrinsic functions, global optimizations, string 
           pooling optimizations.  

/O2:       Optimizes for speed. The -O2 option includes O1 optimizations and 
           in addition enables inlining of intrinsics and more speed 
           optimizations.

/O3:       Builds on -01 and -02 optimizations by enabling high-level 
           optimization. This level does not guarantee higher performance.
           This may result in longer compilation times. 

/Qftz:     Enable flush-to-zero mode, where gradual underflows are 
           flushed to zero.


/Qip:      enable single-file IP optimizations (within files, same as /Ob2)

/Qipo:     multi-file ip optimizations that includes:
              - inline function expansion
              - interprocedural constant propogation
              - dead code elimination
              - propagation of function characteristics
              - passing arguments in registers
              - loop-invariant code motion

/Qprof_gen: instrument program for profiling for the first phase of 
            two-phase profile guided otimization

/Qprof_use: Instructs the compiler to produce a profile-optimized 
            executable and merges available dynamic information (.dyn) 
            files into a pgopti.dpi file. If you perform multiple 
            executions of the instrumented program, -Qprof_use merges 
            the dynamic information files again and overwrites the 
            previous pgopti.dpi file.
            Without any other options, the current directory is 
            searched for .dyn files


Other Notes: 
------------
"/" and "-" are both allowable starting tokens for flags passed to the 
compiler i.e. -Qipo and /Qipo are identical switches. 


Portability options for CPU2000:
-------------------------------
175.vpr:
--------
-DSPEC_CPU2000_P64: Necessary to enable the P64 porting changes

176.gcc:     
--------
-Dalloca=_alloca :  Use the built-in optimized alloca
/Fn              :  176.gcc uses alloca and this options tells
                    the linker to pre-allocate n bytes of stack. 
                    The default amount of stack allocated is not 
                    enough and  176.gcc crashes with a run-time 
                    error

178.galgel: 
-----------
-FI               :  Fixed-format F90 source code. 

181.mcf:
--------
-DSPEC_CPU2000_P64:  Necessary to enable the P64 porting changes

186.crafty: 
-----------
-DNT_i386         :  Specifies that it is a Windows NT Intel 
                     processor-based system which makes the compiler 
                     use "long long" as the 64-bit variable that 
                     186.crafty needs.        

252.eon:  
--------
-DSPEC_CPU2000_P64:  Necessary to enable the P64 porting changes


253.perlbmk: 
------------
-DSPEC_CPU2000_NTOS: This enables the code changes for porting to 
                     Windows get included 
-DPERLDLL          : On Windows, we need a perl.exe instead of a 
                     perl.exe and perl.dll. This pre-define ensures 
                     that the changes necessary to get a single, 
                     UNIX-style executible without getting the 
                     indirect calls that can cause a 10% performance 
                     degradation. This allows the Windows-based 
                     executible to be as close as possible to 
                     the Unix-based one. 
-DSPEC_CPU2000_P64:  Necessary to enable the P64 porting changes

254.gap:
--------
-DSPEC_CPU2000    :
-DSPEC_CPU2000_P64:  Necessary to enable the P64 porting changes  

255.vortex:
-----------
-DSPEC_CPU2000_P64:  Necessary to enable the P64 porting changes