<?xml version="1.0"?>
<!DOCTYPE flagsdescription
   SYSTEM "http://www.spec.org/dtd/cpuflags1.dtd"
>
<flagsdescription>
<filename>ic91_fp.xml</filename>
<title>SPEC CPU2006 Flags Description for the Intel(R) Compiler v9.1</title>
<header><![CDATA[
<p>HITACHI Flags Description.</p>
]]></header>

<flag name="F-icl"
      class="compiler"
      regexp="(?:/\S+/)?icl\b">
<example>icl</example>
      <![CDATA[
      <p>Invoke the Intel C++ compiler for EM64T</p>
      ]]>
</flag>

<flag name="F-ifort"
      class="compiler"
      regexp="(?:/\S+/)?ifort\b">
<example>ifort</example>
      <![CDATA[
      <p>Invoke the Intel Fortran compiler for EM64T</p>
      ]]>
</flag>

<flag name="F-Qvc8"
      class="compiler">
<example>-Qvc8</example>
      <![CDATA[
      <p>Invoke the Intel C++ compiler in Visual Studio 2005 compatibility mode
      </p>
      ]]>
</flag>

<flag name="F-Qc99"
      class="compiler">
<example>-Qc99</example>
      <![CDATA[
      <p>Invoke the Intel C++ compiler in C99 mode</p>
      ]]>
</flag>

<flag name="F-D_Complex"
      class="portability" regexp="-D_Complex=">
<example>-D_Complex=</example>
      <![CDATA[
      <p>unset a buggy Macro in the current version of Microsoft Visual Studio 2005</p>
      ]]>
</flag>

<flag name="link_force_multiple1" class="optimization" regexp="\b\-Fe\$\@\-link\b">
<![CDATA[ 
      <p>enable SmartHeap library usage by forcing the linker to ignore multiple definitions</p> 
  ]]> 
</flag>
<flag name="link_force_multiple2" class="optimization" regexp=".*FORCE.*MULTIPLE\b">
<![CDATA[ 
      <p>enable SmartHeap library usage by forcing the linker to ignore multiple definitions</p>
  ]]> 
</flag>

<flag name="F-F950000000"
      class="optimization" regexp="(?:/\S+/)?/F\d*">
      <![CDATA[
      <p>set the stack reserve amount specified to the linker</p>
      ]]>
</flag>

<flag name="F-shlW32M.lib"
      class="optimization" regexp="shlW32M.lib\b">
<example>shlW32M.lib</example>
      <![CDATA[
      <p>MicroQuill SmartHeap library 8.0 for Windows</p>
      ]]>
</flag>

<flag name="F-fast"
      class="optimization">
<example>-fast</example>
      <![CDATA[
      <p>enable /QxP /O3 /Qipo /Qprec-div-
      </p>
      ]]>
<include flag="F-QxP" />
<include flag="F-O3" />
<include flag="F-Qipo" />
<include flag="F-Qprec-div-" />
</flag>

<flag name="F-Qprof_gen"
      class="optimization">
<example>-Qprof_gen</example>
      <![CDATA[
      <p>instrument program for profiling; with the x qualifier, extra information is gathered 
      </p>
      ]]>
</flag>

<flag name="F-Qcxx-features"
      class="optimization">
<example>-Qcxx-features</example>
      <![CDATA[
      <p>enable standard C++ features (-GX -GR)</p>
      ]]>
<include flag="F-GX" />
<include flag="F-GR" />
</flag>

<flag name="F-Qprof_use"
      class="optimization">
<example>-Qprof_use</example>
      <![CDATA[
      <p>enable use of profiling information during optimization
      </p>
      ]]>
</flag>

<flag name="F-Qparallel"
      class="optimization">
<example>-Qparallel</example>
      <![CDATA[
      <p>enable the auto-parallelizer to generate multi-threaded code for loops that can be safely executed in parallel</p>
      ]]>
</flag>

<flag name="F-QxP"
      class="optimization">
<example>/QxP</example>
      <![CDATA[
      <p>generate specialized code to run exclusively on processors indicated by Intel Core(TM) Duo processors, 
Intel Core(TM) Solo processors, 
Intel Pentium 4 and compatible Intel processors 
with Streaming SIMD Extensions 3 (SSE3) instruction support</p>
      ]]>
</flag>

<flag name="F-O3"
      class="optimization">
<example>/O3</example>
      <![CDATA[
      <p>optimize for maximum speed and enable high-level optimizations 
      </p>
      ]]>
</flag>

<flag name="F-Qipo"
      class="optimization">
<example>/Qipo</example>
      <![CDATA[
      <p>enable multi-file Interprocedural Optimizations (between files) 
      </p>
      ]]>
</flag>

<flag name="F-Qprec-div-"
      class="optimization">
<example>/Qprec-div-</example>
      <![CDATA[
      <p>improve speed of floating-point divides and disable improved precision of floating-point divides</p>
      ]]>
</flag>

<flag name="F-Qlowercase"
      class="portability">
<example>-Qlowercase</example>
      <![CDATA[
      <p>change routine names to all lowercase</p>
      ]]>
</flag>

<flag name="F-TP"
      class="portability" regexp="(?:/\S+/)?\/TP\b">
<example>/TP</example>
      <![CDATA[
      <p>compile all source or unrecognized file types as C++ source files</p>
      ]]>
</flag>

<flag name="F-assume:underscore"
      class="portability"  regexp="(?:/\S+/)?\/assume\:underscore\b">
<example>/assume:underscore</example>
      <![CDATA[
      <p>specify assumption made by the optimizer and code generator, in this case assumption is that
 routine names end with an underscore</p>
      ]]>
</flag>

<flag name="F-GX"
      class="optimization">
<example>-GX</example>
      <![CDATA[
      <p>enables C++ exception handling</p>
      ]]>
</flag>

<flag name="F-GR"
      class="optimization">
<example>-GR</example>
      <![CDATA[
      <p>enable C++ Run Time Type Information</p>
      ]]>
</flag>

</flagsdescription>

