You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

C_002dSKY-Options.html 13KB

3 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>C-SKY Options (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="C-SKY Options (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="C-SKY Options (Using the GNU Compiler Collection (GCC))">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Submodel-Options.html#Submodel-Options" rel="up" title="Submodel Options">
  30. <link href="Darwin-Options.html#Darwin-Options" rel="next" title="Darwin Options">
  31. <link href="CR16-Options.html#CR16-Options" rel="prev" title="CR16 Options">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="C_002dSKY-Options"></a>
  62. <div class="header">
  63. <p>
  64. 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> &nbsp; [<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>
  65. </div>
  66. <hr>
  67. <a name="C_002dSKY-Options-1"></a>
  68. <h4 class="subsection">3.19.11 C-SKY Options</h4>
  69. <a name="index-C_002dSKY-Options"></a>
  70. <p>GCC supports these options when compiling for C-SKY V2 processors.
  71. </p>
  72. <dl compact="compact">
  73. <dt><code>-march=<var>arch</var></code></dt>
  74. <dd><a name="index-march_003d"></a>
  75. <p>Specify the C-SKY target architecture. Valid values for <var>arch</var> are:
  76. &lsquo;<samp>ck801</samp>&rsquo;, &lsquo;<samp>ck802</samp>&rsquo;, &lsquo;<samp>ck803</samp>&rsquo;, &lsquo;<samp>ck807</samp>&rsquo;, and &lsquo;<samp>ck810</samp>&rsquo;.
  77. The default is &lsquo;<samp>ck810</samp>&rsquo;.
  78. </p>
  79. </dd>
  80. <dt><code>-mcpu=<var>cpu</var></code></dt>
  81. <dd><a name="index-mcpu_003d-1"></a>
  82. <p>Specify the C-SKY target processor. Valid values for <var>cpu</var> are:
  83. &lsquo;<samp>ck801</samp>&rsquo;, &lsquo;<samp>ck801t</samp>&rsquo;,
  84. &lsquo;<samp>ck802</samp>&rsquo;, &lsquo;<samp>ck802t</samp>&rsquo;, &lsquo;<samp>ck802j</samp>&rsquo;,
  85. &lsquo;<samp>ck803</samp>&rsquo;, &lsquo;<samp>ck803h</samp>&rsquo;, &lsquo;<samp>ck803t</samp>&rsquo;, &lsquo;<samp>ck803ht</samp>&rsquo;,
  86. &lsquo;<samp>ck803f</samp>&rsquo;, &lsquo;<samp>ck803fh</samp>&rsquo;, &lsquo;<samp>ck803e</samp>&rsquo;, &lsquo;<samp>ck803eh</samp>&rsquo;,
  87. &lsquo;<samp>ck803et</samp>&rsquo;, &lsquo;<samp>ck803eht</samp>&rsquo;, &lsquo;<samp>ck803ef</samp>&rsquo;, &lsquo;<samp>ck803efh</samp>&rsquo;,
  88. &lsquo;<samp>ck803ft</samp>&rsquo;, &lsquo;<samp>ck803eft</samp>&rsquo;, &lsquo;<samp>ck803efht</samp>&rsquo;, &lsquo;<samp>ck803r1</samp>&rsquo;,
  89. &lsquo;<samp>ck803hr1</samp>&rsquo;, &lsquo;<samp>ck803tr1</samp>&rsquo;, &lsquo;<samp>ck803htr1</samp>&rsquo;, &lsquo;<samp>ck803fr1</samp>&rsquo;,
  90. &lsquo;<samp>ck803fhr1</samp>&rsquo;, &lsquo;<samp>ck803er1</samp>&rsquo;, &lsquo;<samp>ck803ehr1</samp>&rsquo;, &lsquo;<samp>ck803etr1</samp>&rsquo;,
  91. &lsquo;<samp>ck803ehtr1</samp>&rsquo;, &lsquo;<samp>ck803efr1</samp>&rsquo;, &lsquo;<samp>ck803efhr1</samp>&rsquo;, &lsquo;<samp>ck803ftr1</samp>&rsquo;,
  92. &lsquo;<samp>ck803eftr1</samp>&rsquo;, &lsquo;<samp>ck803efhtr1</samp>&rsquo;,
  93. &lsquo;<samp>ck803s</samp>&rsquo;, &lsquo;<samp>ck803st</samp>&rsquo;, &lsquo;<samp>ck803se</samp>&rsquo;, &lsquo;<samp>ck803sf</samp>&rsquo;,
  94. &lsquo;<samp>ck803sef</samp>&rsquo;, &lsquo;<samp>ck803seft</samp>&rsquo;,
  95. &lsquo;<samp>ck807e</samp>&rsquo;, &lsquo;<samp>ck807ef</samp>&rsquo;, &lsquo;<samp>ck807</samp>&rsquo;, &lsquo;<samp>ck807f</samp>&rsquo;,
  96. &lsquo;<samp>ck810e</samp>&rsquo;, &lsquo;<samp>ck810et</samp>&rsquo;, &lsquo;<samp>ck810ef</samp>&rsquo;, &lsquo;<samp>ck810eft</samp>&rsquo;,
  97. &lsquo;<samp>ck810</samp>&rsquo;, &lsquo;<samp>ck810v</samp>&rsquo;, &lsquo;<samp>ck810f</samp>&rsquo;, &lsquo;<samp>ck810t</samp>&rsquo;, &lsquo;<samp>ck810fv</samp>&rsquo;,
  98. &lsquo;<samp>ck810tv</samp>&rsquo;, &lsquo;<samp>ck810ft</samp>&rsquo;, and &lsquo;<samp>ck810ftv</samp>&rsquo;.
  99. </p>
  100. </dd>
  101. <dt><code>-mbig-endian</code></dt>
  102. <dd><a name="index-mbig_002dendian-4"></a>
  103. </dd>
  104. <dt><code>-EB</code></dt>
  105. <dd><a name="index-EB-1"></a>
  106. </dd>
  107. <dt><code>-mlittle-endian</code></dt>
  108. <dd><a name="index-mlittle_002dendian-4"></a>
  109. </dd>
  110. <dt><code>-EL</code></dt>
  111. <dd><a name="index-EL-1"></a>
  112. <p>Select big- or little-endian code. The default is little-endian.
  113. </p>
  114. </dd>
  115. <dt><code>-mhard-float</code></dt>
  116. <dd><a name="index-mhard_002dfloat"></a>
  117. </dd>
  118. <dt><code>-msoft-float</code></dt>
  119. <dd><a name="index-msoft_002dfloat-1"></a>
  120. <p>Select hardware or software floating-point implementations.
  121. The default is soft float.
  122. </p>
  123. </dd>
  124. <dt><code>-mdouble-float</code></dt>
  125. <dt><code>-mno-double-float</code></dt>
  126. <dd><a name="index-mdouble_002dfloat"></a>
  127. <p>When <samp>-mhard-float</samp> is in effect, enable generation of
  128. double-precision float instructions. This is the default except
  129. when compiling for CK803.
  130. </p>
  131. </dd>
  132. <dt><code>-mfdivdu</code></dt>
  133. <dt><code>-mno-fdivdu</code></dt>
  134. <dd><a name="index-mfdivdu"></a>
  135. <p>When <samp>-mhard-float</samp> is in effect, enable generation of
  136. <code>frecipd</code>, <code>fsqrtd</code>, and <code>fdivd</code> instructions.
  137. This is the default except when compiling for CK803.
  138. </p>
  139. </dd>
  140. <dt><code>-mfpu=<var>fpu</var></code></dt>
  141. <dd><a name="index-mfpu_003d"></a>
  142. <p>Select the floating-point processor. This option can only be used with
  143. <samp>-mhard-float</samp>.
  144. Values for <var>fpu</var> are
  145. &lsquo;<samp>fpv2_sf</samp>&rsquo; (equivalent to &lsquo;<samp>-mno-double-float -mno-fdivdu</samp>&rsquo;),
  146. &lsquo;<samp>fpv2</samp>&rsquo; (&lsquo;<samp>-mdouble-float -mno-divdu</samp>&rsquo;), and
  147. &lsquo;<samp>fpv2_divd</samp>&rsquo; (&lsquo;<samp>-mdouble-float -mdivdu</samp>&rsquo;).
  148. </p>
  149. </dd>
  150. <dt><code>-melrw</code></dt>
  151. <dt><code>-mno-elrw</code></dt>
  152. <dd><a name="index-melrw"></a>
  153. <p>Enable the extended <code>lrw</code> instruction. This option defaults to on
  154. for CK801 and off otherwise.
  155. </p>
  156. </dd>
  157. <dt><code>-mistack</code></dt>
  158. <dt><code>-mno-istack</code></dt>
  159. <dd><a name="index-mistack"></a>
  160. <p>Enable interrupt stack instructions; the default is off.
  161. </p>
  162. <p>The <samp>-mistack</samp> option is required to handle the
  163. <code>interrupt</code> and <code>isr</code> function attributes
  164. (see <a href="C_002dSKY-Function-Attributes.html#C_002dSKY-Function-Attributes">C-SKY Function Attributes</a>).
  165. </p>
  166. </dd>
  167. <dt><code>-mmp</code></dt>
  168. <dd><a name="index-mmp"></a>
  169. <p>Enable multiprocessor instructions; the default is off.
  170. </p>
  171. </dd>
  172. <dt><code>-mcp</code></dt>
  173. <dd><a name="index-mcp"></a>
  174. <p>Enable coprocessor instructions; the default is off.
  175. </p>
  176. </dd>
  177. <dt><code>-mcache</code></dt>
  178. <dd><a name="index-mcache"></a>
  179. <p>Enable coprocessor instructions; the default is off.
  180. </p>
  181. </dd>
  182. <dt><code>-msecurity</code></dt>
  183. <dd><a name="index-msecurity"></a>
  184. <p>Enable C-SKY security instructions; the default is off.
  185. </p>
  186. </dd>
  187. <dt><code>-mtrust</code></dt>
  188. <dd><a name="index-mtrust"></a>
  189. <p>Enable C-SKY trust instructions; the default is off.
  190. </p>
  191. </dd>
  192. <dt><code>-mdsp</code></dt>
  193. <dd><a name="index-mdsp"></a>
  194. </dd>
  195. <dt><code>-medsp</code></dt>
  196. <dd><a name="index-medsp"></a>
  197. </dd>
  198. <dt><code>-mvdsp</code></dt>
  199. <dd><a name="index-mvdsp"></a>
  200. <p>Enable C-SKY DSP, Enhanced DSP, or Vector DSP instructions, respectively.
  201. All of these options default to off.
  202. </p>
  203. </dd>
  204. <dt><code>-mdiv</code></dt>
  205. <dt><code>-mno-div</code></dt>
  206. <dd><a name="index-mdiv"></a>
  207. <p>Generate divide instructions. Default is off.
  208. </p>
  209. </dd>
  210. <dt><code>-msmart</code></dt>
  211. <dt><code>-mno-smart</code></dt>
  212. <dd><a name="index-msmart"></a>
  213. <p>Generate code for Smart Mode, using only registers numbered 0-7 to allow
  214. use of 16-bit instructions. This option is ignored for CK801 where this
  215. is the required behavior, and it defaults to on for CK802.
  216. For other targets, the default is off.
  217. </p>
  218. </dd>
  219. <dt><code>-mhigh-registers</code></dt>
  220. <dt><code>-mno-high-registers</code></dt>
  221. <dd><a name="index-mhigh_002dregisters"></a>
  222. <p>Generate code using the high registers numbered 16-31. This option
  223. is not supported on CK801, CK802, or CK803, and is enabled by default
  224. for other processors.
  225. </p>
  226. </dd>
  227. <dt><code>-manchor</code></dt>
  228. <dt><code>-mno-anchor</code></dt>
  229. <dd><a name="index-manchor"></a>
  230. <p>Generate code using global anchor symbol addresses.
  231. </p>
  232. </dd>
  233. <dt><code>-mpushpop</code></dt>
  234. <dt><code>-mno-pushpop</code></dt>
  235. <dd><a name="index-mpushpop"></a>
  236. <p>Generate code using <code>push</code> and <code>pop</code> instructions. This option
  237. defaults to on.
  238. </p>
  239. </dd>
  240. <dt><code>-mmultiple-stld</code></dt>
  241. <dt><code>-mstm</code></dt>
  242. <dt><code>-mno-multiple-stld</code></dt>
  243. <dt><code>-mno-stm</code></dt>
  244. <dd><a name="index-mmultiple_002dstld"></a>
  245. <p>Generate code using <code>stm</code> and <code>ldm</code> instructions. This option
  246. isn&rsquo;t supported on CK801 but is enabled by default on other processors.
  247. </p>
  248. </dd>
  249. <dt><code>-mconstpool</code></dt>
  250. <dt><code>-mno-constpool</code></dt>
  251. <dd><a name="index-mconstpool"></a>
  252. <p>Create constant pools in the compiler instead of deferring it to the
  253. assembler. This option is the default and required for correct code
  254. generation on CK801 and CK802, and is optional on other processors.
  255. </p>
  256. </dd>
  257. <dt><code>-mstack-size</code></dt>
  258. <dt><code>-mno-stack-size</code></dt>
  259. <dd><a name="index-mstack_002dsize-1"></a>
  260. <p>Emit <code>.stack_size</code> directives for each function in the assembly
  261. output. This option defaults to off.
  262. </p>
  263. </dd>
  264. <dt><code>-mccrt</code></dt>
  265. <dt><code>-mno-ccrt</code></dt>
  266. <dd><a name="index-mccrt"></a>
  267. <p>Generate code for the C-SKY compiler runtime instead of libgcc. This
  268. option defaults to off.
  269. </p>
  270. </dd>
  271. <dt><code>-mbranch-cost=<var>n</var></code></dt>
  272. <dd><a name="index-mbranch_002dcost_003d"></a>
  273. <p>Set the branch costs to roughly <code>n</code> instructions. The default is 1.
  274. </p>
  275. </dd>
  276. <dt><code>-msched-prolog</code></dt>
  277. <dt><code>-mno-sched-prolog</code></dt>
  278. <dd><a name="index-msched_002dprolog-1"></a>
  279. <p>Permit scheduling of function prologue and epilogue sequences. Using
  280. this option can result in code that is not compliant with the C-SKY V2 ABI
  281. prologue requirements and that cannot be debugged or backtraced.
  282. It is disabled by default.
  283. </p>
  284. </dd>
  285. </dl>
  286. <hr>
  287. <div class="header">
  288. <p>
  289. 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> &nbsp; [<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>
  290. </div>
  291. </body>
  292. </html>