1<html lang="en"> 2<head> 3<title>MMIX Options - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Submodel-Options.html#Submodel-Options" title="Submodel Options"> 9<link rel="prev" href="MIPS-Options.html#MIPS-Options" title="MIPS Options"> 10<link rel="next" href="MN10300-Options.html#MN10300-Options" title="MN10300 Options"> 11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 12<!-- 13Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 141998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 152010 Free Software Foundation, Inc. 16 17Permission is granted to copy, distribute and/or modify this document 18under the terms of the GNU Free Documentation License, Version 1.3 or 19any later version published by the Free Software Foundation; with the 20Invariant Sections being ``Funding Free Software'', the Front-Cover 21Texts being (a) (see below), and with the Back-Cover Texts being (b) 22(see below). A copy of the license is included in the section entitled 23``GNU Free Documentation License''. 24 25(a) The FSF's Front-Cover Text is: 26 27 A GNU Manual 28 29(b) The FSF's Back-Cover Text is: 30 31 You have freedom to copy and modify this GNU Manual, like GNU 32 software. Copies published by the Free Software Foundation raise 33 funds for GNU development.--> 34<meta http-equiv="Content-Style-Type" content="text/css"> 35<style type="text/css"><!-- 36 pre.display { font-family:inherit } 37 pre.format { font-family:inherit } 38 pre.smalldisplay { font-family:inherit; font-size:smaller } 39 pre.smallformat { font-family:inherit; font-size:smaller } 40 pre.smallexample { font-size:smaller } 41 pre.smalllisp { font-size:smaller } 42 span.sc { font-variant:small-caps } 43 span.roman { font-family:serif; font-weight:normal; } 44 span.sansserif { font-family:sans-serif; font-weight:normal; } 45--></style> 46<link rel="stylesheet" type="text/css" href="../cs.css"> 47</head> 48<body> 49<div class="node"> 50<a name="MMIX-Options"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="MN10300-Options.html#MN10300-Options">MN10300 Options</a>, 53Previous: <a rel="previous" accesskey="p" href="MIPS-Options.html#MIPS-Options">MIPS Options</a>, 54Up: <a rel="up" accesskey="u" href="Submodel-Options.html#Submodel-Options">Submodel Options</a> 55<hr> 56</div> 57 58<h4 class="subsection">3.17.28 MMIX Options</h4> 59 60<p><a name="index-MMIX-Options-1737"></a> 61These options are defined for the MMIX: 62 63 <dl> 64<dt><code>-mlibfuncs</code><dt><code>-mno-libfuncs</code><dd><a name="index-mlibfuncs-1738"></a><a name="index-mno_002dlibfuncs-1739"></a>Specify that intrinsic library functions are being compiled, passing all 65values in registers, no matter the size. 66 67 <br><dt><code>-mepsilon</code><dt><code>-mno-epsilon</code><dd><a name="index-mepsilon-1740"></a><a name="index-mno_002depsilon-1741"></a>Generate floating-point comparison instructions that compare with respect 68to the <code>rE</code> epsilon register. 69 70 <br><dt><code>-mabi=mmixware</code><dt><code>-mabi=gnu</code><dd><a name="index-mabi_003dmmixware-1742"></a><a name="index-mabi_003dgnu-1743"></a>Generate code that passes function parameters and return values that (in 71the called function) are seen as registers <code>$0</code> and up, as opposed to 72the GNU ABI which uses global registers <code>$231</code> and up. 73 74 <br><dt><code>-mzero-extend</code><dt><code>-mno-zero-extend</code><dd><a name="index-mzero_002dextend-1744"></a><a name="index-mno_002dzero_002dextend-1745"></a>When reading data from memory in sizes shorter than 64 bits, use (do not 75use) zero-extending load instructions by default, rather than 76sign-extending ones. 77 78 <br><dt><code>-mknuthdiv</code><dt><code>-mno-knuthdiv</code><dd><a name="index-mknuthdiv-1746"></a><a name="index-mno_002dknuthdiv-1747"></a>Make the result of a division yielding a remainder have the same sign as 79the divisor. With the default, <samp><span class="option">-mno-knuthdiv</span></samp>, the sign of the 80remainder follows the sign of the dividend. Both methods are 81arithmetically valid, the latter being almost exclusively used. 82 83 <br><dt><code>-mtoplevel-symbols</code><dt><code>-mno-toplevel-symbols</code><dd><a name="index-mtoplevel_002dsymbols-1748"></a><a name="index-mno_002dtoplevel_002dsymbols-1749"></a>Prepend (do not prepend) a ‘<samp><span class="samp">:</span></samp>’ to all global symbols, so the assembly 84code can be used with the <code>PREFIX</code> assembly directive. 85 86 <br><dt><code>-melf</code><dd><a name="index-melf-1750"></a>Generate an executable in the ELF format, rather than the default 87‘<samp><span class="samp">mmo</span></samp>’ format used by the <samp><span class="command">mmix</span></samp> simulator. 88 89 <br><dt><code>-mbranch-predict</code><dt><code>-mno-branch-predict</code><dd><a name="index-mbranch_002dpredict-1751"></a><a name="index-mno_002dbranch_002dpredict-1752"></a>Use (do not use) the probable-branch instructions, when static branch 90prediction indicates a probable branch. 91 92 <br><dt><code>-mbase-addresses</code><dt><code>-mno-base-addresses</code><dd><a name="index-mbase_002daddresses-1753"></a><a name="index-mno_002dbase_002daddresses-1754"></a>Generate (do not generate) code that uses <em>base addresses</em>. Using a 93base address automatically generates a request (handled by the assembler 94and the linker) for a constant to be set up in a global register. The 95register is used for one or more base address requests within the range 0 96to 255 from the value held in the register. The generally leads to short 97and fast code, but the number of different data items that can be 98addressed is limited. This means that a program that uses lots of static 99data may require <samp><span class="option">-mno-base-addresses</span></samp>. 100 101 <br><dt><code>-msingle-exit</code><dt><code>-mno-single-exit</code><dd><a name="index-msingle_002dexit-1755"></a><a name="index-mno_002dsingle_002dexit-1756"></a>Force (do not force) generated code to have a single exit point in each 102function. 103</dl> 104 105 </body></html> 106 107