1<html lang="en"> 2<head> 3<title>MeP Options - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Submodel-Options.html#Submodel-Options" title="Submodel Options"> 9<link rel="prev" href="MCore-Options.html#MCore-Options" title="MCore Options"> 10<link rel="next" href="MicroBlaze-Options.html#MicroBlaze-Options" title="MicroBlaze Options"> 11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 12<!-- 13Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 141998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 152010 Free Software Foundation, Inc. 16 17Permission is granted to copy, distribute and/or modify this document 18under the terms of the GNU Free Documentation License, Version 1.3 or 19any later version published by the Free Software Foundation; with the 20Invariant Sections being ``Funding Free Software'', the Front-Cover 21Texts being (a) (see below), and with the Back-Cover Texts being (b) 22(see below). A copy of the license is included in the section entitled 23``GNU Free Documentation License''. 24 25(a) The FSF's Front-Cover Text is: 26 27 A GNU Manual 28 29(b) The FSF's Back-Cover Text is: 30 31 You have freedom to copy and modify this GNU Manual, like GNU 32 software. Copies published by the Free Software Foundation raise 33 funds for GNU development.--> 34<meta http-equiv="Content-Style-Type" content="text/css"> 35<style type="text/css"><!-- 36 pre.display { font-family:inherit } 37 pre.format { font-family:inherit } 38 pre.smalldisplay { font-family:inherit; font-size:smaller } 39 pre.smallformat { font-family:inherit; font-size:smaller } 40 pre.smallexample { font-size:smaller } 41 pre.smalllisp { font-size:smaller } 42 span.sc { font-variant:small-caps } 43 span.roman { font-family:serif; font-weight:normal; } 44 span.sansserif { font-family:sans-serif; font-weight:normal; } 45--></style> 46<link rel="stylesheet" type="text/css" href="../cs.css"> 47</head> 48<body> 49<div class="node"> 50<a name="MeP-Options"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="MicroBlaze-Options.html#MicroBlaze-Options">MicroBlaze Options</a>, 53Previous: <a rel="previous" accesskey="p" href="MCore-Options.html#MCore-Options">MCore Options</a>, 54Up: <a rel="up" accesskey="u" href="Submodel-Options.html#Submodel-Options">Submodel Options</a> 55<hr> 56</div> 57 58<h4 class="subsection">3.17.25 MeP Options</h4> 59 60<p><a name="index-MeP-options-1579"></a> 61 <dl> 62<dt><code>-mabsdiff</code><dd><a name="index-mabsdiff-1580"></a>Enables the <code>abs</code> instruction, which is the absolute difference 63between two registers. 64 65 <br><dt><code>-mall-opts</code><dd><a name="index-mall_002dopts-1581"></a>Enables all the optional instructions - average, multiply, divide, bit 66operations, leading zero, absolute difference, min/max, clip, and 67saturation. 68 69 <br><dt><code>-maverage</code><dd><a name="index-maverage-1582"></a>Enables the <code>ave</code> instruction, which computes the average of two 70registers. 71 72 <br><dt><code>-mbased=</code><var>n</var><dd><a name="index-mbased_003d-1583"></a>Variables of size <var>n</var> bytes or smaller will be placed in the 73<code>.based</code> section by default. Based variables use the <code>$tp</code> 74register as a base register, and there is a 128 byte limit to the 75<code>.based</code> section. 76 77 <br><dt><code>-mbitops</code><dd><a name="index-mbitops-1584"></a>Enables the bit operation instructions - bit test (<code>btstm</code>), set 78(<code>bsetm</code>), clear (<code>bclrm</code>), invert (<code>bnotm</code>), and 79test-and-set (<code>tas</code>). 80 81 <br><dt><code>-mc=</code><var>name</var><dd><a name="index-mc_003d-1585"></a>Selects which section constant data will be placed in. <var>name</var> may 82be <code>tiny</code>, <code>near</code>, or <code>far</code>. 83 84 <br><dt><code>-mclip</code><dd><a name="index-mclip-1586"></a>Enables the <code>clip</code> instruction. Note that <code>-mclip</code> is not 85useful unless you also provide <code>-mminmax</code>. 86 87 <br><dt><code>-mconfig=</code><var>name</var><dd><a name="index-mconfig_003d-1587"></a>Selects one of the build-in core configurations. Each MeP chip has 88one or more modules in it; each module has a core CPU and a variety of 89coprocessors, optional instructions, and peripherals. The 90<code>MeP-Integrator</code> tool, not part of GCC, provides these 91configurations through this option; using this option is the same as 92using all the corresponding command line options. The default 93configuration is <code>default</code>. 94 95 <br><dt><code>-mcop</code><dd><a name="index-mcop-1588"></a>Enables the coprocessor instructions. By default, this is a 32-bit 96coprocessor. Note that the coprocessor is normally enabled via the 97<code>-mconfig=</code> option. 98 99 <br><dt><code>-mcop32</code><dd><a name="index-mcop32-1589"></a>Enables the 32-bit coprocessor's instructions. 100 101 <br><dt><code>-mcop64</code><dd><a name="index-mcop64-1590"></a>Enables the 64-bit coprocessor's instructions. 102 103 <br><dt><code>-mivc2</code><dd><a name="index-mivc2-1591"></a>Enables IVC2 scheduling. IVC2 is a 64-bit VLIW coprocessor. 104 105 <br><dt><code>-mdc</code><dd><a name="index-mdc-1592"></a>Causes constant variables to be placed in the <code>.near</code> section. 106 107 <br><dt><code>-mdiv</code><dd><a name="index-mdiv-1593"></a>Enables the <code>div</code> and <code>divu</code> instructions. 108 109 <br><dt><code>-meb</code><dd><a name="index-meb-1594"></a>Generate big-endian code. 110 111 <br><dt><code>-mel</code><dd><a name="index-mel-1595"></a>Generate little-endian code. 112 113 <br><dt><code>-mio-volatile</code><dd><a name="index-mio_002dvolatile-1596"></a>Tells the compiler that any variable marked with the <code>io</code> 114attribute is to be considered volatile. 115 116 <br><dt><code>-ml</code><dd><a name="index-ml-1597"></a>Causes variables to be assigned to the <code>.far</code> section by default. 117 118 <br><dt><code>-mleadz</code><dd><a name="index-mleadz-1598"></a>Enables the <code>leadz</code> (leading zero) instruction. 119 120 <br><dt><code>-mm</code><dd><a name="index-mm-1599"></a>Causes variables to be assigned to the <code>.near</code> section by default. 121 122 <br><dt><code>-mminmax</code><dd><a name="index-mminmax-1600"></a>Enables the <code>min</code> and <code>max</code> instructions. 123 124 <br><dt><code>-mmult</code><dd><a name="index-mmult-1601"></a>Enables the multiplication and multiply-accumulate instructions. 125 126 <br><dt><code>-mno-opts</code><dd><a name="index-mno_002dopts-1602"></a>Disables all the optional instructions enabled by <code>-mall-opts</code>. 127 128 <br><dt><code>-mrepeat</code><dd><a name="index-mrepeat-1603"></a>Enables the <code>repeat</code> and <code>erepeat</code> instructions, used for 129low-overhead looping. 130 131 <br><dt><code>-ms</code><dd><a name="index-ms-1604"></a>Causes all variables to default to the <code>.tiny</code> section. Note 132that there is a 65536 byte limit to this section. Accesses to these 133variables use the <code>%gp</code> base register. 134 135 <br><dt><code>-msatur</code><dd><a name="index-msatur-1605"></a>Enables the saturation instructions. Note that the compiler does not 136currently generate these itself, but this option is included for 137compatibility with other tools, like <code>as</code>. 138 139 <br><dt><code>-msdram</code><dd><a name="index-msdram-1606"></a>Link the SDRAM-based runtime instead of the default ROM-based runtime. 140 141 <br><dt><code>-msim</code><dd><a name="index-msim-1607"></a>Link the simulator runtime libraries. 142 143 <br><dt><code>-msimnovec</code><dd><a name="index-msimnovec-1608"></a>Link the simulator runtime libraries, excluding built-in support 144for reset and exception vectors and tables. 145 146 <br><dt><code>-mtf</code><dd><a name="index-mtf-1609"></a>Causes all functions to default to the <code>.far</code> section. Without 147this option, functions default to the <code>.near</code> section. 148 149 <br><dt><code>-mtiny=</code><var>n</var><dd><a name="index-mtiny_003d-1610"></a>Variables that are <var>n</var> bytes or smaller will be allocated to the 150<code>.tiny</code> section. These variables use the <code>$gp</code> base 151register. The default for this option is 4, but note that there's a 15265536 byte limit to the <code>.tiny</code> section. 153 154 </dl> 155 156 </body></html> 157 158