Description of compiler flags for Intel C Compiler 4.5 ------------------------------------------------------ /Qax generate code specialized for processor extensions specified 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 /Qx generate specialized code to run exclusively on processors supporting the extensions indicated by as described above. /Qipo enable multi-file IP optimizations (between files) /Qipo_wp compile all object over entire program with multifile ip optimizations /Qprof_dir specify directory for profiling output files (*.dyn and *.dpi) /Qprof_file specify file name for profiling summary file /Qprof_gen[x] instrument program for profiling; with the x qualifier, extra information is gathered for use with the PROFORDER tool /Qprof_use enable use of profiling information during optimization shlW32M.lib: Microquill SmartHeap Library 5.0 Description of compiler flags for Intel FORTRAN Compiler 4.5 ------------------------------------------------------------ /O1 optimize for maximum speed, but disable some optimizations which increase code size for a small speed benefit: /Gs /Ob1gysi- /O2 optimize for maximum speed (same as /Ox) /O3 enable /O2 plus more aggressive optimizations that may not improve performance for all programs /Qax generate code specialized for processor extensions specified 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 /Qx generate specialized code to run exclusively on processors supporting the extensions indicated by as described above. /Qip enable single-file IP optimizations (within files, same as /Ob2) /Qipo_wp compile all object over entire program with multifile ip optimizations /Qpc32 set internal FPU precision to 24 bit significand (default) /Qprefetch[-] enable(DEFAULT)/disable prefetch insertion (requires /O3) /Qprof_dir specify directory for profiling output files (*.dyn and *.dpi) /Qprof_file specify file name for profiling summary file /Qprof_gen[x] instrument program for profiling; with the x qualifier, extra information is gathered for use with the PROFORDER tool /Qprof_use enable use of profiling information during optimization Description of compiler flags for portability --------------------------------------------- -Op Disable native 80-bit floating point arithmetic and restrict floating point precision to IEEE standard. We need this for 176.gcc since the program performs a cast from double to float and back to double and expects there to be a change in the value due to the forced loss of precision. With native 80-bit floating point arithmetic, there is no change in value as the cast down is lossless and hence the program generates the wrong answer. -Fi Tells the compiler that the F90 code is in fixed-format. This is necessary for 178.galgel. /MT This tells the compiler to use the static, multi-threaded version of the C runtime library. This is necessary for 253.perlbm since there is call invloving file handles which is not present in the default, single-threaded library. /Fn This tells the compiler to allocate a stack space of n bytes. Necessary for 176.gcc and 178.galgel as they crash without this switch. -stack n is the same as /Fn Portability flags: ------------------ -DPERLDLL 253.perlbmk originally was intended to be an executible and a dll. SPEC needs to have a monolithic perl executible and this directive is used to zero out the DLLExport/DLLImport diretives. It also defines a Perl internal type called Ext to be DLLExport. Otherwise that gets defined as DLLImport all calls to these functions are indirect calls, following the DLL model, which imposes a performance penalty(10% on a measured system) Other flags: ------------ /Fm Generates a map file. This does not affect the executible in anyway.