MMIX-Options.html 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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-2017 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 5.2, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <title>Using the GNU Compiler Collection (GCC): MMIX Options</title>
  20. <meta name="description" content="Using the GNU Compiler Collection (GCC): MMIX Options">
  21. <meta name="keywords" content="Using the GNU Compiler Collection (GCC): MMIX Options">
  22. <meta name="resource-type" content="document">
  23. <meta name="distribution" content="global">
  24. <meta name="Generator" content="makeinfo">
  25. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  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="MN10300-Options.html#MN10300-Options" rel="next" title="MN10300 Options">
  31. <link href="MIPS-Options.html#MIPS-Options" rel="prev" title="MIPS Options">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.smallquotation {font-size: smaller}
  36. div.display {margin-left: 3.2em}
  37. div.example {margin-left: 3.2em}
  38. div.indentedblock {margin-left: 3.2em}
  39. div.lisp {margin-left: 3.2em}
  40. div.smalldisplay {margin-left: 3.2em}
  41. div.smallexample {margin-left: 3.2em}
  42. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  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.nocodebreak {white-space:nowrap}
  54. span.nolinebreak {white-space:nowrap}
  55. span.roman {font-family:serif; font-weight:normal}
  56. span.sansserif {font-family:sans-serif; font-weight:normal}
  57. ul.no-bullet {list-style: none}
  58. -->
  59. </style>
  60. </head>
  61. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  62. <a name="MMIX-Options"></a>
  63. <div class="header">
  64. <p>
  65. Next: <a href="MN10300-Options.html#MN10300-Options" accesskey="n" rel="next">MN10300 Options</a>, Previous: <a href="MIPS-Options.html#MIPS-Options" accesskey="p" rel="prev">MIPS 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>
  66. </div>
  67. <hr>
  68. <a name="MMIX-Options-1"></a>
  69. <h4 class="subsection">3.18.27 MMIX Options</h4>
  70. <a name="index-MMIX-Options"></a>
  71. <p>These options are defined for the MMIX:
  72. </p>
  73. <dl compact="compact">
  74. <dt><code>-mlibfuncs</code></dt>
  75. <dt><code>-mno-libfuncs</code></dt>
  76. <dd><a name="index-mlibfuncs"></a>
  77. <a name="index-mno_002dlibfuncs"></a>
  78. <p>Specify that intrinsic library functions are being compiled, passing all
  79. values in registers, no matter the size.
  80. </p>
  81. </dd>
  82. <dt><code>-mepsilon</code></dt>
  83. <dt><code>-mno-epsilon</code></dt>
  84. <dd><a name="index-mepsilon"></a>
  85. <a name="index-mno_002depsilon"></a>
  86. <p>Generate floating-point comparison instructions that compare with respect
  87. to the <code>rE</code> epsilon register.
  88. </p>
  89. </dd>
  90. <dt><code>-mabi=mmixware</code></dt>
  91. <dt><code>-mabi=gnu</code></dt>
  92. <dd><a name="index-mabi_003dmmixware"></a>
  93. <a name="index-mabi_003dgnu"></a>
  94. <p>Generate code that passes function parameters and return values that (in
  95. the called function) are seen as registers <code>$0</code> and up, as opposed to
  96. the GNU ABI which uses global registers <code>$231</code> and up.
  97. </p>
  98. </dd>
  99. <dt><code>-mzero-extend</code></dt>
  100. <dt><code>-mno-zero-extend</code></dt>
  101. <dd><a name="index-mzero_002dextend"></a>
  102. <a name="index-mno_002dzero_002dextend"></a>
  103. <p>When reading data from memory in sizes shorter than 64 bits, use (do not
  104. use) zero-extending load instructions by default, rather than
  105. sign-extending ones.
  106. </p>
  107. </dd>
  108. <dt><code>-mknuthdiv</code></dt>
  109. <dt><code>-mno-knuthdiv</code></dt>
  110. <dd><a name="index-mknuthdiv"></a>
  111. <a name="index-mno_002dknuthdiv"></a>
  112. <p>Make the result of a division yielding a remainder have the same sign as
  113. the divisor. With the default, <samp>-mno-knuthdiv</samp>, the sign of the
  114. remainder follows the sign of the dividend. Both methods are
  115. arithmetically valid, the latter being almost exclusively used.
  116. </p>
  117. </dd>
  118. <dt><code>-mtoplevel-symbols</code></dt>
  119. <dt><code>-mno-toplevel-symbols</code></dt>
  120. <dd><a name="index-mtoplevel_002dsymbols"></a>
  121. <a name="index-mno_002dtoplevel_002dsymbols"></a>
  122. <p>Prepend (do not prepend) a &lsquo;<samp>:</samp>&rsquo; to all global symbols, so the assembly
  123. code can be used with the <code>PREFIX</code> assembly directive.
  124. </p>
  125. </dd>
  126. <dt><code>-melf</code></dt>
  127. <dd><a name="index-melf-1"></a>
  128. <p>Generate an executable in the ELF format, rather than the default
  129. &lsquo;<samp>mmo</samp>&rsquo; format used by the <code>mmix</code> simulator.
  130. </p>
  131. </dd>
  132. <dt><code>-mbranch-predict</code></dt>
  133. <dt><code>-mno-branch-predict</code></dt>
  134. <dd><a name="index-mbranch_002dpredict"></a>
  135. <a name="index-mno_002dbranch_002dpredict"></a>
  136. <p>Use (do not use) the probable-branch instructions, when static branch
  137. prediction indicates a probable branch.
  138. </p>
  139. </dd>
  140. <dt><code>-mbase-addresses</code></dt>
  141. <dt><code>-mno-base-addresses</code></dt>
  142. <dd><a name="index-mbase_002daddresses"></a>
  143. <a name="index-mno_002dbase_002daddresses"></a>
  144. <p>Generate (do not generate) code that uses <em>base addresses</em>. Using a
  145. base address automatically generates a request (handled by the assembler
  146. and the linker) for a constant to be set up in a global register. The
  147. register is used for one or more base address requests within the range 0
  148. to 255 from the value held in the register. The generally leads to short
  149. and fast code, but the number of different data items that can be
  150. addressed is limited. This means that a program that uses lots of static
  151. data may require <samp>-mno-base-addresses</samp>.
  152. </p>
  153. </dd>
  154. <dt><code>-msingle-exit</code></dt>
  155. <dt><code>-mno-single-exit</code></dt>
  156. <dd><a name="index-msingle_002dexit"></a>
  157. <a name="index-mno_002dsingle_002dexit"></a>
  158. <p>Force (do not force) generated code to have a single exit point in each
  159. function.
  160. </p></dd>
  161. </dl>
  162. <hr>
  163. <div class="header">
  164. <p>
  165. Next: <a href="MN10300-Options.html#MN10300-Options" accesskey="n" rel="next">MN10300 Options</a>, Previous: <a href="MIPS-Options.html#MIPS-Options" accesskey="p" rel="prev">MIPS 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>
  166. </div>
  167. </body>
  168. </html>