<?xml version="1.0"?>
<!DOCTYPE flagsdescription SYSTEM
       "http://www.spec.org/dtd/cpuflags2.dtd">

<!-- This file defines flags for use with the PGI 2013 Linux Compilers -->
<flagsdescription>
<filename>gcc_flags</filename>
<title>GCC Flags used for SPEC ACCELocl submussion by TU Dresden</title>

<!-- Style -->

<style>
<![CDATA[
body {
  margin:  1em;
  border:  0;
  padding: 0;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: 100% 0;
  color:      black;
  font-family: "Times Roman", times, serif;
}

div.flagDesc {
  clear: both;
  color: black;
  background-color: #d6e7f7;
  border: 1px solid #blue;
  margin: 0 auto;
  width: 90%;
}

ul.flagTOC {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul.flagTOC > li {
  border: 1px solid #d6e7f7;
  background: #d6e7f7;
}

ul.flagTOC > li > a:link {
   color: blue;
}

ul.SubMenu li {
  border: 1px solid #d6e7f7; /* rgb(211, 211, 211); */
}

ul.SubMenu {
  border: 1px solid blue;
  background-color: #d6e7f7;
}
]]>
</style>

<!-- Header -->

<header>
<![CDATA[
<div id='banner'>
<h2><b>Compilers: GCC used for OpenCL</b></h2>
<h2><b>Operating systems: Linux</b></h2>
</div>
]]>
</header>

<!-- Compilers -->

<flag name='gcc_l' class='compiler' regexp="gcc" >
<![CDATA[
 <p>The GCC C compiler for Linux.</p>
 ]]>
<example>gcc</example>
</flag>

<flag name='gpp_l' class='compiler' regexp="g\+\+">
<![CDATA[
 <p>The GCC C++ compiler for Linux.</p>
 ]]>
<example>g++</example>
</flag>
  
<flag name='gfortran_l' class='compiler' regexp="gfortran" >
<![CDATA[
 <p>The GCC Fortran compiler for Linux.</p>
 ]]>
<example>pgf95</example>
</flag>


<!-- Portability, Other Flags. -->

<flag name="w" class="other"
 compilers="gcc_l, gpp_l, gfortran_l" regexp="-w\b">
<![CDATA[
 <p>Disable warning messages.</p>
]]>
<example>-w</example>
</flag>

<flag name="m64" 
 class="optimization" 
 compilers="gcc_l, gpp_l, gfortran_l" 
 regexp="-m64\b">
<![CDATA[
<p>Specify the type of the target processor as 64-bit mode.</p>
]]>
<example>-m64</example>
</flag>

<flag name="m32" 
 class="optimization" 
 compilers="gcc_l, gpp_l, gfortran_l" 
 regexp="-m32\b">
<![CDATA[
<p>Specify the type of the target processor as 32-bit mode.</p>
]]>
<example>-m32</example>
</flag>

<flag name="F-O2"
      class="optimization">
<example>-O2</example>
<![CDATA[
<p>
-O2
Optimize even more. GCC performs nearly all supported optimizations that do
not involve a space-speed tradeoff. The compiler does not perform loop
unrolling or function inlining when you specify -O2. As compared to -O, this
option increases both compilation time and the performance of the generated
code.
]]>
</flag>


<flag name="opencl" class="optimization"
 compilers="gcc_l, gpp_l, gfortran_l"
 regexp="-lOpenCL\b">
<![CDATA[
 <p>Link with the OpenCL library</p>
]]>
<example>-lOpenCL</example>
</flag>


<flag name="inopencl" class="optimization"
 compilers="gcc_l, gpp_l, gfortran_l"
 regexp="-I/opt/cuda/5.0.35/include\b">
<![CDATA[
 <p>Include path to NVIDIA OpenCL library header</p>
]]>
<example>-I/opt/cuda/5.0.35/include</example>
</flag>

<flag name="iiopencl" class="optimization"
 compilers="gcc_l, gpp_l, gfortran_l"
 regexp="-I/opt/intel-ocl/2013-3\.2\.1-16712/intel/opencl-1\.2-3\.[12]\.1\.16712/include\b">
<![CDATA[
 <p>Include path to Intel OpenCL library header</p>
]]>
<example>-I/opt/intel-ocl/2013-3.2.1-16712/intel/opencl-1.2-3.2.1.16712/include</example>
</flag>

</flagsdescription>
