|
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
-
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3 or
- any later version published by the Free Software Foundation; with the
- Invariant Sections being "Funding Free Software", the Front-Cover
- Texts being (a) (see below), and with the Back-Cover Texts being (b)
- (see below). A copy of the license is included in the section entitled
- "GNU Free Documentation License".
-
- (a) The FSF's Front-Cover Text is:
-
- A GNU Manual
-
- (b) The FSF's Back-Cover Text is:
-
- You have freedom to copy and modify this GNU Manual, like GNU
- software. Copies published by the Free Software Foundation raise
- funds for GNU development. -->
- <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>C-SKY Options (Using the GNU Compiler Collection (GCC))</title>
-
- <meta name="description" content="C-SKY Options (Using the GNU Compiler Collection (GCC))">
- <meta name="keywords" content="C-SKY Options (Using the GNU Compiler Collection (GCC))">
- <meta name="resource-type" content="document">
- <meta name="distribution" content="global">
- <meta name="Generator" content="makeinfo">
- <link href="index.html#Top" rel="start" title="Top">
- <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
- <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
- <link href="Submodel-Options.html#Submodel-Options" rel="up" title="Submodel Options">
- <link href="Darwin-Options.html#Darwin-Options" rel="next" title="Darwin Options">
- <link href="CR16-Options.html#CR16-Options" rel="prev" title="CR16 Options">
- <style type="text/css">
- <!--
- a.summary-letter {text-decoration: none}
- blockquote.indentedblock {margin-right: 0em}
- blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
- blockquote.smallquotation {font-size: smaller}
- div.display {margin-left: 3.2em}
- div.example {margin-left: 3.2em}
- div.lisp {margin-left: 3.2em}
- div.smalldisplay {margin-left: 3.2em}
- div.smallexample {margin-left: 3.2em}
- div.smalllisp {margin-left: 3.2em}
- kbd {font-style: oblique}
- pre.display {font-family: inherit}
- pre.format {font-family: inherit}
- pre.menu-comment {font-family: serif}
- pre.menu-preformatted {font-family: serif}
- pre.smalldisplay {font-family: inherit; font-size: smaller}
- pre.smallexample {font-size: smaller}
- pre.smallformat {font-family: inherit; font-size: smaller}
- pre.smalllisp {font-size: smaller}
- span.nolinebreak {white-space: nowrap}
- span.roman {font-family: initial; font-weight: normal}
- span.sansserif {font-family: sans-serif; font-weight: normal}
- ul.no-bullet {list-style: none}
- -->
- </style>
-
-
- </head>
-
- <body lang="en">
- <a name="C_002dSKY-Options"></a>
- <div class="header">
- <p>
- Next: <a href="Darwin-Options.html#Darwin-Options" accesskey="n" rel="next">Darwin Options</a>, Previous: <a href="CR16-Options.html#CR16-Options" accesskey="p" rel="prev">CR16 Options</a>, Up: <a href="Submodel-Options.html#Submodel-Options" accesskey="u" rel="up">Submodel Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
- </div>
- <hr>
- <a name="C_002dSKY-Options-1"></a>
- <h4 class="subsection">3.19.11 C-SKY Options</h4>
- <a name="index-C_002dSKY-Options"></a>
-
- <p>GCC supports these options when compiling for C-SKY V2 processors.
- </p>
- <dl compact="compact">
- <dt><code>-march=<var>arch</var></code></dt>
- <dd><a name="index-march_003d"></a>
- <p>Specify the C-SKY target architecture. Valid values for <var>arch</var> are:
- ‘<samp>ck801</samp>’, ‘<samp>ck802</samp>’, ‘<samp>ck803</samp>’, ‘<samp>ck807</samp>’, and ‘<samp>ck810</samp>’.
- The default is ‘<samp>ck810</samp>’.
- </p>
- </dd>
- <dt><code>-mcpu=<var>cpu</var></code></dt>
- <dd><a name="index-mcpu_003d-1"></a>
- <p>Specify the C-SKY target processor. Valid values for <var>cpu</var> are:
- ‘<samp>ck801</samp>’, ‘<samp>ck801t</samp>’,
- ‘<samp>ck802</samp>’, ‘<samp>ck802t</samp>’, ‘<samp>ck802j</samp>’,
- ‘<samp>ck803</samp>’, ‘<samp>ck803h</samp>’, ‘<samp>ck803t</samp>’, ‘<samp>ck803ht</samp>’,
- ‘<samp>ck803f</samp>’, ‘<samp>ck803fh</samp>’, ‘<samp>ck803e</samp>’, ‘<samp>ck803eh</samp>’,
- ‘<samp>ck803et</samp>’, ‘<samp>ck803eht</samp>’, ‘<samp>ck803ef</samp>’, ‘<samp>ck803efh</samp>’,
- ‘<samp>ck803ft</samp>’, ‘<samp>ck803eft</samp>’, ‘<samp>ck803efht</samp>’, ‘<samp>ck803r1</samp>’,
- ‘<samp>ck803hr1</samp>’, ‘<samp>ck803tr1</samp>’, ‘<samp>ck803htr1</samp>’, ‘<samp>ck803fr1</samp>’,
- ‘<samp>ck803fhr1</samp>’, ‘<samp>ck803er1</samp>’, ‘<samp>ck803ehr1</samp>’, ‘<samp>ck803etr1</samp>’,
- ‘<samp>ck803ehtr1</samp>’, ‘<samp>ck803efr1</samp>’, ‘<samp>ck803efhr1</samp>’, ‘<samp>ck803ftr1</samp>’,
- ‘<samp>ck803eftr1</samp>’, ‘<samp>ck803efhtr1</samp>’,
- ‘<samp>ck803s</samp>’, ‘<samp>ck803st</samp>’, ‘<samp>ck803se</samp>’, ‘<samp>ck803sf</samp>’,
- ‘<samp>ck803sef</samp>’, ‘<samp>ck803seft</samp>’,
- ‘<samp>ck807e</samp>’, ‘<samp>ck807ef</samp>’, ‘<samp>ck807</samp>’, ‘<samp>ck807f</samp>’,
- ‘<samp>ck810e</samp>’, ‘<samp>ck810et</samp>’, ‘<samp>ck810ef</samp>’, ‘<samp>ck810eft</samp>’,
- ‘<samp>ck810</samp>’, ‘<samp>ck810v</samp>’, ‘<samp>ck810f</samp>’, ‘<samp>ck810t</samp>’, ‘<samp>ck810fv</samp>’,
- ‘<samp>ck810tv</samp>’, ‘<samp>ck810ft</samp>’, and ‘<samp>ck810ftv</samp>’.
- </p>
- </dd>
- <dt><code>-mbig-endian</code></dt>
- <dd><a name="index-mbig_002dendian-4"></a>
- </dd>
- <dt><code>-EB</code></dt>
- <dd><a name="index-EB-1"></a>
- </dd>
- <dt><code>-mlittle-endian</code></dt>
- <dd><a name="index-mlittle_002dendian-4"></a>
- </dd>
- <dt><code>-EL</code></dt>
- <dd><a name="index-EL-1"></a>
-
- <p>Select big- or little-endian code. The default is little-endian.
- </p>
- </dd>
- <dt><code>-mhard-float</code></dt>
- <dd><a name="index-mhard_002dfloat"></a>
- </dd>
- <dt><code>-msoft-float</code></dt>
- <dd><a name="index-msoft_002dfloat-1"></a>
-
- <p>Select hardware or software floating-point implementations.
- The default is soft float.
- </p>
- </dd>
- <dt><code>-mdouble-float</code></dt>
- <dt><code>-mno-double-float</code></dt>
- <dd><a name="index-mdouble_002dfloat"></a>
- <p>When <samp>-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><code>-mfdivdu</code></dt>
- <dt><code>-mno-fdivdu</code></dt>
- <dd><a name="index-mfdivdu"></a>
- <p>When <samp>-mhard-float</samp> is in effect, enable generation of
- <code>frecipd</code>, <code>fsqrtd</code>, and <code>fdivd</code> instructions.
- This is the default except when compiling for CK803.
- </p>
- </dd>
- <dt><code>-mfpu=<var>fpu</var></code></dt>
- <dd><a name="index-mfpu_003d"></a>
- <p>Select the floating-point processor. This option can only be used with
- <samp>-mhard-float</samp>.
- Values for <var>fpu</var> are
- ‘<samp>fpv2_sf</samp>’ (equivalent to ‘<samp>-mno-double-float -mno-fdivdu</samp>’),
- ‘<samp>fpv2</samp>’ (‘<samp>-mdouble-float -mno-divdu</samp>’), and
- ‘<samp>fpv2_divd</samp>’ (‘<samp>-mdouble-float -mdivdu</samp>’).
- </p>
- </dd>
- <dt><code>-melrw</code></dt>
- <dt><code>-mno-elrw</code></dt>
- <dd><a name="index-melrw"></a>
- <p>Enable the extended <code>lrw</code> instruction. This option defaults to on
- for CK801 and off otherwise.
- </p>
- </dd>
- <dt><code>-mistack</code></dt>
- <dt><code>-mno-istack</code></dt>
- <dd><a name="index-mistack"></a>
- <p>Enable interrupt stack instructions; the default is off.
- </p>
- <p>The <samp>-mistack</samp> option is required to handle the
- <code>interrupt</code> and <code>isr</code> function attributes
- (see <a href="C_002dSKY-Function-Attributes.html#C_002dSKY-Function-Attributes">C-SKY Function Attributes</a>).
- </p>
- </dd>
- <dt><code>-mmp</code></dt>
- <dd><a name="index-mmp"></a>
- <p>Enable multiprocessor instructions; the default is off.
- </p>
- </dd>
- <dt><code>-mcp</code></dt>
- <dd><a name="index-mcp"></a>
- <p>Enable coprocessor instructions; the default is off.
- </p>
- </dd>
- <dt><code>-mcache</code></dt>
- <dd><a name="index-mcache"></a>
- <p>Enable coprocessor instructions; the default is off.
- </p>
- </dd>
- <dt><code>-msecurity</code></dt>
- <dd><a name="index-msecurity"></a>
- <p>Enable C-SKY security instructions; the default is off.
- </p>
- </dd>
- <dt><code>-mtrust</code></dt>
- <dd><a name="index-mtrust"></a>
- <p>Enable C-SKY trust instructions; the default is off.
- </p>
- </dd>
- <dt><code>-mdsp</code></dt>
- <dd><a name="index-mdsp"></a>
- </dd>
- <dt><code>-medsp</code></dt>
- <dd><a name="index-medsp"></a>
- </dd>
- <dt><code>-mvdsp</code></dt>
- <dd><a name="index-mvdsp"></a>
- <p>Enable C-SKY DSP, Enhanced DSP, or Vector DSP instructions, respectively.
- All of these options default to off.
- </p>
- </dd>
- <dt><code>-mdiv</code></dt>
- <dt><code>-mno-div</code></dt>
- <dd><a name="index-mdiv"></a>
- <p>Generate divide instructions. Default is off.
- </p>
- </dd>
- <dt><code>-msmart</code></dt>
- <dt><code>-mno-smart</code></dt>
- <dd><a name="index-msmart"></a>
- <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><code>-mhigh-registers</code></dt>
- <dt><code>-mno-high-registers</code></dt>
- <dd><a name="index-mhigh_002dregisters"></a>
- <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><code>-manchor</code></dt>
- <dt><code>-mno-anchor</code></dt>
- <dd><a name="index-manchor"></a>
- <p>Generate code using global anchor symbol addresses.
- </p>
- </dd>
- <dt><code>-mpushpop</code></dt>
- <dt><code>-mno-pushpop</code></dt>
- <dd><a name="index-mpushpop"></a>
- <p>Generate code using <code>push</code> and <code>pop</code> instructions. This option
- defaults to on.
- </p>
- </dd>
- <dt><code>-mmultiple-stld</code></dt>
- <dt><code>-mstm</code></dt>
- <dt><code>-mno-multiple-stld</code></dt>
- <dt><code>-mno-stm</code></dt>
- <dd><a name="index-mmultiple_002dstld"></a>
- <p>Generate code using <code>stm</code> and <code>ldm</code> instructions. This option
- isn’t supported on CK801 but is enabled by default on other processors.
- </p>
- </dd>
- <dt><code>-mconstpool</code></dt>
- <dt><code>-mno-constpool</code></dt>
- <dd><a name="index-mconstpool"></a>
- <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><code>-mstack-size</code></dt>
- <dt><code>-mno-stack-size</code></dt>
- <dd><a name="index-mstack_002dsize-1"></a>
- <p>Emit <code>.stack_size</code> directives for each function in the assembly
- output. This option defaults to off.
- </p>
- </dd>
- <dt><code>-mccrt</code></dt>
- <dt><code>-mno-ccrt</code></dt>
- <dd><a name="index-mccrt"></a>
- <p>Generate code for the C-SKY compiler runtime instead of libgcc. This
- option defaults to off.
- </p>
- </dd>
- <dt><code>-mbranch-cost=<var>n</var></code></dt>
- <dd><a name="index-mbranch_002dcost_003d"></a>
- <p>Set the branch costs to roughly <code>n</code> instructions. The default is 1.
- </p>
- </dd>
- <dt><code>-msched-prolog</code></dt>
- <dt><code>-mno-sched-prolog</code></dt>
- <dd><a name="index-msched_002dprolog-1"></a>
- <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>
- </dl>
-
- <hr>
- <div class="header">
- <p>
- Next: <a href="Darwin-Options.html#Darwin-Options" accesskey="n" rel="next">Darwin Options</a>, Previous: <a href="CR16-Options.html#CR16-Options" accesskey="p" rel="prev">CR16 Options</a>, Up: <a href="Submodel-Options.html#Submodel-Options" accesskey="u" rel="up">Submodel Options</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
- </div>
-
-
-
- </body>
- </html>
|