1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<div class="subsection-level-extent" id="M32R_002fD-Options"> <div class="nav-panel"> <p> Next: <a href="m680x0-options" accesskey="n" rel="next">M680x0 Options</a>, Previous: <a href="m32c-options" accesskey="p" rel="prev">M32C Options</a>, Up: <a href="submodel-options" accesskey="u" rel="up">Machine-Dependent Options</a> [<a href="index#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="indices" title="Index" rel="index">Index</a>]</p> </div> <h1 class="subsection" id="M32R_002fD-Options-1"><span>3.19.24 M32R/D Options<a class="copiable-link" href="#M32R_002fD-Options-1"> ¶</a></span></h1> <p>These <samp class="option">-m</samp> options are defined for Renesas M32R/D architectures: </p> <dl class="table"> <dt>
<span><code class="code">-m32r2</code><a class="copiable-link" href="#index-m32r2"> ¶</a></span>
</dt> <dd>
<p>Generate code for the M32R/2. </p> </dd> <dt>
<span><code class="code">-m32rx</code><a class="copiable-link" href="#index-m32rx"> ¶</a></span>
</dt> <dd>
<p>Generate code for the M32R/X. </p> </dd> <dt>
<span><code class="code">-m32r</code><a class="copiable-link" href="#index-m32r"> ¶</a></span>
</dt> <dd>
<p>Generate code for the M32R. This is the default. </p> </dd> <dt>
<span><code class="code">-mmodel=small</code><a class="copiable-link" href="#index-mmodel_003dsmall"> ¶</a></span>
</dt> <dd>
<p>Assume all objects live in the lower 16MB of memory (so that their addresses can be loaded with the <code class="code">ld24</code> instruction), and assume all subroutines are reachable with the <code class="code">bl</code> instruction. This is the default. </p> <p>The addressability of a particular object can be set with the <code class="code">model</code> attribute. </p> </dd> <dt>
<span><code class="code">-mmodel=medium</code><a class="copiable-link" href="#index-mmodel_003dmedium"> ¶</a></span>
</dt> <dd>
<p>Assume objects may be anywhere in the 32-bit address space (the compiler generates <code class="code">seth/add3</code> instructions to load their addresses), and assume all subroutines are reachable with the <code class="code">bl</code> instruction. </p> </dd> <dt>
<span><code class="code">-mmodel=large</code><a class="copiable-link" href="#index-mmodel_003dlarge"> ¶</a></span>
</dt> <dd>
<p>Assume objects may be anywhere in the 32-bit address space (the compiler generates <code class="code">seth/add3</code> instructions to load their addresses), and assume subroutines may not be reachable with the <code class="code">bl</code> instruction (the compiler generates the much slower <code class="code">seth/add3/jl</code> instruction sequence). </p> </dd> <dt>
<span><code class="code">-msdata=none</code><a class="copiable-link" href="#index-msdata_003dnone-1"> ¶</a></span>
</dt> <dd>
<p>Disable use of the small data area. Variables are put into one of <code class="code">.data</code>, <code class="code">.bss</code>, or <code class="code">.rodata</code> (unless the <code class="code">section</code> attribute has been specified). This is the default. </p> <p>The small data area consists of sections <code class="code">.sdata</code> and <code class="code">.sbss</code>. Objects may be explicitly put in the small data area with the <code class="code">section</code> attribute using one of these sections. </p> </dd> <dt>
<span><code class="code">-msdata=sdata</code><a class="copiable-link" href="#index-msdata_003dsdata"> ¶</a></span>
</dt> <dd>
<p>Put small global and static data in the small data area, but do not generate special code to reference them. </p> </dd> <dt>
<span><code class="code">-msdata=use</code><a class="copiable-link" href="#index-msdata_003duse"> ¶</a></span>
</dt> <dd>
<p>Put small global and static data in the small data area, and generate special instructions to reference them. </p> </dd> <dt>
<span><code class="code">-G <var class="var">num</var></code><a class="copiable-link" href="#index-G-1"> ¶</a></span>
</dt> <dd>
<p>Put global and static objects less than or equal to <var class="var">num</var> bytes into the small data or BSS sections instead of the normal data or BSS sections. The default value of <var class="var">num</var> is 8. The <samp class="option">-msdata</samp> option must be set to one of ‘<samp class="samp">sdata</samp>’ or ‘<samp class="samp">use</samp>’ for this option to have any effect. </p> <p>All modules should be compiled with the same <samp class="option">-G <var class="var">num</var></samp> value. Compiling with different values of <var class="var">num</var> may or may not work; if it doesn’t the linker gives an error message—incorrect code is not generated. </p> </dd> <dt>
<span><code class="code">-mdebug</code><a class="copiable-link" href="#index-mdebug"> ¶</a></span>
</dt> <dd>
<p>Makes the M32R-specific code in the compiler display some statistics that might help in debugging programs. </p> </dd> <dt>
<span><code class="code">-malign-loops</code><a class="copiable-link" href="#index-malign-loops"> ¶</a></span>
</dt> <dd>
<p>Align all loops to a 32-byte boundary. </p> </dd> <dt>
<span><code class="code">-mno-align-loops</code><a class="copiable-link" href="#index-mno-align-loops"> ¶</a></span>
</dt> <dd>
<p>Do not enforce a 32-byte alignment for loops. This is the default. </p> </dd> <dt>
<span><code class="code">-missue-rate=<var class="var">number</var></code><a class="copiable-link" href="#index-missue-rate_003dnumber"> ¶</a></span>
</dt> <dd>
<p>Issue <var class="var">number</var> instructions per cycle. <var class="var">number</var> can only be 1 or 2. </p> </dd> <dt>
<span><code class="code">-mbranch-cost=<var class="var">number</var></code><a class="copiable-link" href="#index-mbranch-cost_003dnumber"> ¶</a></span>
</dt> <dd>
<p><var class="var">number</var> can only be 1 or 2. If it is 1 then branches are preferred over conditional code, if it is 2, then the opposite applies. </p> </dd> <dt>
<span><code class="code">-mflush-trap=<var class="var">number</var></code><a class="copiable-link" href="#index-mflush-trap_003dnumber"> ¶</a></span>
</dt> <dd>
<p>Specifies the trap number to use to flush the cache. The default is 12. Valid numbers are between 0 and 15 inclusive. </p> </dd> <dt>
<span><code class="code">-mno-flush-trap</code><a class="copiable-link" href="#index-mno-flush-trap"> ¶</a></span>
</dt> <dd>
<p>Specifies that the cache cannot be flushed by using a trap. </p> </dd> <dt>
<span><code class="code">-mflush-func=<var class="var">name</var></code><a class="copiable-link" href="#index-mflush-func_003dname"> ¶</a></span>
</dt> <dd>
<p>Specifies the name of the operating system function to call to flush the cache. The default is ‘<samp class="samp">_flush_cache</samp>’, but a function call is only used if a trap is not available. </p> </dd> <dt>
<span><code class="code">-mno-flush-func</code><a class="copiable-link" href="#index-mno-flush-func"> ¶</a></span>
</dt> <dd>
<p>Indicates that there is no OS function for flushing the cache. </p> </dd> </dl> </div> <div class="nav-panel"> <p> Next: <a href="m680x0-options">M680x0 Options</a>, Previous: <a href="m32c-options">M32C Options</a>, Up: <a href="submodel-options">Machine-Dependent Options</a> [<a href="index#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="indices" title="Index" rel="index">Index</a>]</p> </div><div class="_attribution">
<p class="_attribution-p">
© Free Software Foundation<br>Licensed under the GNU Free Documentation License, Version 1.3.<br>
<a href="https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/M32R_002fD-Options.html" class="_attribution-link">https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/M32R_002fD-Options.html</a>
</p>
</div>
|