diff options
| author | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
| commit | 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch) | |
| tree | f1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/gcc~13/c-sky-options.html | |
new repository
Diffstat (limited to 'devdocs/gcc~13/c-sky-options.html')
| -rw-r--r-- | devdocs/gcc~13/c-sky-options.html | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/devdocs/gcc~13/c-sky-options.html b/devdocs/gcc~13/c-sky-options.html new file mode 100644 index 00000000..9f7767da --- /dev/null +++ b/devdocs/gcc~13/c-sky-options.html @@ -0,0 +1,88 @@ +<div class="subsection-level-extent" id="C-SKY-Options"> <div class="nav-panel"> <p> Next: <a href="darwin-options" accesskey="n" rel="next">Darwin Options</a>, Previous: <a href="cris-options" accesskey="p" rel="prev">CRIS 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="C-SKY-Options-1"><span>3.19.10 C-SKY Options<a class="copiable-link" href="#C-SKY-Options-1"> ¶</a></span></h1> <p>GCC supports these options when compiling for C-SKY V2 processors. </p> <dl class="table"> <dt> +<span><code class="code">-march=<var class="var">arch</var></code><a class="copiable-link" href="#index-march_003d"> ¶</a></span> +</dt> <dd> +<p>Specify the C-SKY target architecture. Valid values for <var class="var">arch</var> are: ‘<samp class="samp">ck801</samp>’, ‘<samp class="samp">ck802</samp>’, ‘<samp class="samp">ck803</samp>’, ‘<samp class="samp">ck807</samp>’, and ‘<samp class="samp">ck810</samp>’. The default is ‘<samp class="samp">ck810</samp>’. </p> </dd> <dt> +<span><code class="code">-mcpu=<var class="var">cpu</var></code><a class="copiable-link" href="#index-mcpu_003d-1"> ¶</a></span> +</dt> <dd> +<p>Specify the C-SKY target processor. Valid values for <var class="var">cpu</var> are: ‘<samp class="samp">ck801</samp>’, ‘<samp class="samp">ck801t</samp>’, ‘<samp class="samp">ck802</samp>’, ‘<samp class="samp">ck802t</samp>’, ‘<samp class="samp">ck802j</samp>’, ‘<samp class="samp">ck803</samp>’, ‘<samp class="samp">ck803h</samp>’, ‘<samp class="samp">ck803t</samp>’, ‘<samp class="samp">ck803ht</samp>’, ‘<samp class="samp">ck803f</samp>’, ‘<samp class="samp">ck803fh</samp>’, ‘<samp class="samp">ck803e</samp>’, ‘<samp class="samp">ck803eh</samp>’, ‘<samp class="samp">ck803et</samp>’, ‘<samp class="samp">ck803eht</samp>’, ‘<samp class="samp">ck803ef</samp>’, ‘<samp class="samp">ck803efh</samp>’, ‘<samp class="samp">ck803ft</samp>’, ‘<samp class="samp">ck803eft</samp>’, ‘<samp class="samp">ck803efht</samp>’, ‘<samp class="samp">ck803r1</samp>’, ‘<samp class="samp">ck803hr1</samp>’, ‘<samp class="samp">ck803tr1</samp>’, ‘<samp class="samp">ck803htr1</samp>’, ‘<samp class="samp">ck803fr1</samp>’, ‘<samp class="samp">ck803fhr1</samp>’, ‘<samp class="samp">ck803er1</samp>’, ‘<samp class="samp">ck803ehr1</samp>’, ‘<samp class="samp">ck803etr1</samp>’, ‘<samp class="samp">ck803ehtr1</samp>’, ‘<samp class="samp">ck803efr1</samp>’, ‘<samp class="samp">ck803efhr1</samp>’, ‘<samp class="samp">ck803ftr1</samp>’, ‘<samp class="samp">ck803eftr1</samp>’, ‘<samp class="samp">ck803efhtr1</samp>’, ‘<samp class="samp">ck803s</samp>’, ‘<samp class="samp">ck803st</samp>’, ‘<samp class="samp">ck803se</samp>’, ‘<samp class="samp">ck803sf</samp>’, ‘<samp class="samp">ck803sef</samp>’, ‘<samp class="samp">ck803seft</samp>’, ‘<samp class="samp">ck807e</samp>’, ‘<samp class="samp">ck807ef</samp>’, ‘<samp class="samp">ck807</samp>’, ‘<samp class="samp">ck807f</samp>’, ‘<samp class="samp">ck810e</samp>’, ‘<samp class="samp">ck810et</samp>’, ‘<samp class="samp">ck810ef</samp>’, ‘<samp class="samp">ck810eft</samp>’, ‘<samp class="samp">ck810</samp>’, ‘<samp class="samp">ck810v</samp>’, ‘<samp class="samp">ck810f</samp>’, ‘<samp class="samp">ck810t</samp>’, ‘<samp class="samp">ck810fv</samp>’, ‘<samp class="samp">ck810tv</samp>’, ‘<samp class="samp">ck810ft</samp>’, and ‘<samp class="samp">ck810ftv</samp>’. </p> </dd> <dt> + <span><code class="code">-mbig-endian</code><a class="copiable-link" href="#index-mbig-endian-4"> ¶</a></span> +</dt> <dt><code class="code">-EB</code></dt> <dt><code class="code">-mlittle-endian</code></dt> <dt><code class="code">-EL</code></dt> <dd> <p>Select big- or little-endian code. The default is little-endian. </p> </dd> <dt> +<span><code class="code">-mfloat-abi=<var class="var">name</var></code><a class="copiable-link" href="#index-mfloat-abi-1"> ¶</a></span> +</dt> <dd> +<p>Specifies which floating-point ABI to use. Permissible values are: ‘<samp class="samp">soft</samp>’, ‘<samp class="samp">softfp</samp>’ and ‘<samp class="samp">hard</samp>’. </p> <p>Specifying ‘<samp class="samp">soft</samp>’ causes GCC to generate output containing library calls for floating-point operations. ‘<samp class="samp">softfp</samp>’ allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions. ‘<samp class="samp">hard</samp>’ allows generation of floating-point instructions and uses FPU-specific calling conventions. </p> <p>The default depends on the specific target configuration. Note that the hard-float and soft-float ABIs are not link-compatible; you must compile your entire program with the same ABI, and link with a compatible set of libraries. </p> </dd> <dt> + <span><code class="code">-mhard-float</code><a class="copiable-link" href="#index-mhard-float"> ¶</a></span> +</dt> <dt><code class="code">-msoft-float</code></dt> <dd> <p>Select hardware or software floating-point implementations. The default is soft float. </p> </dd> <dt> +<span><code class="code">-mdouble-float</code><a class="copiable-link" href="#index-mdouble-float"> ¶</a></span> +</dt> <dt><code class="code">-mno-double-float</code></dt> <dd> +<p>When <samp class="option">-mhard-float</samp> is in effect, enable generation of double-precision float instructions. This is the default except when compiling for CK803. </p> </dd> <dt> +<span><code class="code">-mfdivdu</code><a class="copiable-link" href="#index-mfdivdu"> ¶</a></span> +</dt> <dt><code class="code">-mno-fdivdu</code></dt> <dd> +<p>When <samp class="option">-mhard-float</samp> is in effect, enable generation of <code class="code">frecipd</code>, <code class="code">fsqrtd</code>, and <code class="code">fdivd</code> instructions. This is the default except when compiling for CK803. </p> </dd> <dt> +<span><code class="code">-mfpu=<var class="var">fpu</var></code><a class="copiable-link" href="#index-mfpu_003d"> ¶</a></span> +</dt> <dd> +<p>Select the floating-point processor. This option can only be used with <samp class="option">-mhard-float</samp>. Values for <var class="var">fpu</var> are ‘<samp class="samp">fpv2_sf</samp>’ (equivalent to ‘<samp class="samp">-mno-double-float -mno-fdivdu</samp>’), ‘<samp class="samp">fpv2</samp>’ (‘<samp class="samp">-mdouble-float -mno-divdu</samp>’), and ‘<samp class="samp">fpv2_divd</samp>’ (‘<samp class="samp">-mdouble-float -mdivdu</samp>’). </p> </dd> <dt> +<span><code class="code">-melrw</code><a class="copiable-link" href="#index-melrw"> ¶</a></span> +</dt> <dt><code class="code">-mno-elrw</code></dt> <dd> +<p>Enable the extended <code class="code">lrw</code> instruction. This option defaults to on for CK801 and off otherwise. </p> </dd> <dt> +<span><code class="code">-mistack</code><a class="copiable-link" href="#index-mistack"> ¶</a></span> +</dt> <dt><code class="code">-mno-istack</code></dt> <dd> +<p>Enable interrupt stack instructions; the default is off. </p> <p>The <samp class="option">-mistack</samp> option is required to handle the <code class="code">interrupt</code> and <code class="code">isr</code> function attributes (see <a class="pxref" href="c-sky-function-attributes">C-SKY Function Attributes</a>). </p> </dd> <dt> +<span><code class="code">-mmp</code><a class="copiable-link" href="#index-mmp"> ¶</a></span> +</dt> <dd> +<p>Enable multiprocessor instructions; the default is off. </p> </dd> <dt> +<span><code class="code">-mcp</code><a class="copiable-link" href="#index-mcp"> ¶</a></span> +</dt> <dd> +<p>Enable coprocessor instructions; the default is off. </p> </dd> <dt> +<span><code class="code">-mcache</code><a class="copiable-link" href="#index-mcache"> ¶</a></span> +</dt> <dd> +<p>Enable coprocessor instructions; the default is off. </p> </dd> <dt> +<span><code class="code">-msecurity</code><a class="copiable-link" href="#index-msecurity"> ¶</a></span> +</dt> <dd> +<p>Enable C-SKY security instructions; the default is off. </p> </dd> <dt> +<span><code class="code">-mtrust</code><a class="copiable-link" href="#index-mtrust"> ¶</a></span> +</dt> <dd> +<p>Enable C-SKY trust instructions; the default is off. </p> </dd> <dt> + <span><code class="code">-mdsp</code><a class="copiable-link" href="#index-mdsp"> ¶</a></span> +</dt> <dt><code class="code">-medsp</code></dt> <dt><code class="code">-mvdsp</code></dt> <dd> +<p>Enable C-SKY DSP, Enhanced DSP, or Vector DSP instructions, respectively. All of these options default to off. </p> </dd> <dt> +<span><code class="code">-mdiv</code><a class="copiable-link" href="#index-mdiv"> ¶</a></span> +</dt> <dt><code class="code">-mno-div</code></dt> <dd> +<p>Generate divide instructions. Default is off. </p> </dd> <dt> +<span><code class="code">-msmart</code><a class="copiable-link" href="#index-msmart"> ¶</a></span> +</dt> <dt><code class="code">-mno-smart</code></dt> <dd> +<p>Generate code for Smart Mode, using only registers numbered 0-7 to allow use of 16-bit instructions. This option is ignored for CK801 where this is the required behavior, and it defaults to on for CK802. For other targets, the default is off. </p> </dd> <dt> +<span><code class="code">-mhigh-registers</code><a class="copiable-link" href="#index-mhigh-registers"> ¶</a></span> +</dt> <dt><code class="code">-mno-high-registers</code></dt> <dd> +<p>Generate code using the high registers numbered 16-31. This option is not supported on CK801, CK802, or CK803, and is enabled by default for other processors. </p> </dd> <dt> +<span><code class="code">-manchor</code><a class="copiable-link" href="#index-manchor"> ¶</a></span> +</dt> <dt><code class="code">-mno-anchor</code></dt> <dd> +<p>Generate code using global anchor symbol addresses. </p> </dd> <dt> +<span><code class="code">-mpushpop</code><a class="copiable-link" href="#index-mpushpop"> ¶</a></span> +</dt> <dt><code class="code">-mno-pushpop</code></dt> <dd> +<p>Generate code using <code class="code">push</code> and <code class="code">pop</code> instructions. This option defaults to on. </p> </dd> <dt> +<span><code class="code">-mmultiple-stld</code><a class="copiable-link" href="#index-mmultiple-stld"> ¶</a></span> +</dt> <dt><code class="code">-mstm</code></dt> <dt><code class="code">-mno-multiple-stld</code></dt> <dt><code class="code">-mno-stm</code></dt> <dd> +<p>Generate code using <code class="code">stm</code> and <code class="code">ldm</code> instructions. This option isn’t supported on CK801 but is enabled by default on other processors. </p> </dd> <dt> +<span><code class="code">-mconstpool</code><a class="copiable-link" href="#index-mconstpool"> ¶</a></span> +</dt> <dt><code class="code">-mno-constpool</code></dt> <dd> +<p>Create constant pools in the compiler instead of deferring it to the assembler. This option is the default and required for correct code generation on CK801 and CK802, and is optional on other processors. </p> </dd> <dt> +<span><code class="code">-mstack-size</code><a class="copiable-link" href="#index-mstack-size-1"> ¶</a></span> +</dt> <dt><code class="code">-mno-stack-size</code></dt> <dd> +<p>Emit <code class="code">.stack_size</code> directives for each function in the assembly output. This option defaults to off. </p> </dd> <dt> +<span><code class="code">-mccrt</code><a class="copiable-link" href="#index-mccrt"> ¶</a></span> +</dt> <dt><code class="code">-mno-ccrt</code></dt> <dd> +<p>Generate code for the C-SKY compiler runtime instead of libgcc. This option defaults to off. </p> </dd> <dt> +<span><code class="code">-mbranch-cost=<var class="var">n</var></code><a class="copiable-link" href="#index-mbranch-cost_003d"> ¶</a></span> +</dt> <dd> +<p>Set the branch costs to roughly <code class="code">n</code> instructions. The default is 1. </p> </dd> <dt> +<span><code class="code">-msched-prolog</code><a class="copiable-link" href="#index-msched-prolog-1"> ¶</a></span> +</dt> <dt><code class="code">-mno-sched-prolog</code></dt> <dd> +<p>Permit scheduling of function prologue and epilogue sequences. Using this option can result in code that is not compliant with the C-SKY V2 ABI prologue requirements and that cannot be debugged or backtraced. It is disabled by default. </p> </dd> <dt> +<span><code class="code">-msim</code><a class="copiable-link" href="#index-msim-2"> ¶</a></span> +</dt> <dd> +<p>Links the library libsemi.a which is in compatible with simulator. Applicable to ELF compiler only. </p> </dd> </dl> </div> <div class="nav-panel"> <p> Next: <a href="darwin-options">Darwin Options</a>, Previous: <a href="cris-options">CRIS 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/C-SKY-Options.html" class="_attribution-link">https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/C-SKY-Options.html</a> + </p> +</div> |
