• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/gcc/
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:&nbsp;<a rel="next" accesskey="n" href="MicroBlaze-Options.html#MicroBlaze-Options">MicroBlaze Options</a>,
53Previous:&nbsp;<a rel="previous" accesskey="p" href="MCore-Options.html#MCore-Options">MCore Options</a>,
54Up:&nbsp;<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