1<html lang="en"> 2<head> 3<title>FRV 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="FR30-Options.html#FR30-Options" title="FR30 Options"> 10<link rel="next" href="GNU_002fLinux-Options.html#GNU_002fLinux-Options" title="GNU/Linux 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="FRV-Options"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="GNU_002fLinux-Options.html#GNU_002fLinux-Options">GNU/Linux Options</a>, 53Previous: <a rel="previous" accesskey="p" href="FR30-Options.html#FR30-Options">FR30 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.11 FRV Options</h4> 59 60<p><a name="index-FRV-Options-1245"></a> 61 <dl> 62<dt><code>-mgpr-32</code><dd><a name="index-mgpr_002d32-1246"></a> 63Only use the first 32 general purpose registers. 64 65 <br><dt><code>-mgpr-64</code><dd><a name="index-mgpr_002d64-1247"></a> 66Use all 64 general purpose registers. 67 68 <br><dt><code>-mfpr-32</code><dd><a name="index-mfpr_002d32-1248"></a> 69Use only the first 32 floating point registers. 70 71 <br><dt><code>-mfpr-64</code><dd><a name="index-mfpr_002d64-1249"></a> 72Use all 64 floating point registers 73 74 <br><dt><code>-mhard-float</code><dd><a name="index-mhard_002dfloat-1250"></a> 75Use hardware instructions for floating point operations. 76 77 <br><dt><code>-msoft-float</code><dd><a name="index-msoft_002dfloat-1251"></a> 78Use library routines for floating point operations. 79 80 <br><dt><code>-malloc-cc</code><dd><a name="index-malloc_002dcc-1252"></a> 81Dynamically allocate condition code registers. 82 83 <br><dt><code>-mfixed-cc</code><dd><a name="index-mfixed_002dcc-1253"></a> 84Do not try to dynamically allocate condition code registers, only 85use <code>icc0</code> and <code>fcc0</code>. 86 87 <br><dt><code>-mdword</code><dd><a name="index-mdword-1254"></a> 88Change ABI to use double word insns. 89 90 <br><dt><code>-mno-dword</code><dd><a name="index-mno_002ddword-1255"></a> 91Do not use double word instructions. 92 93 <br><dt><code>-mdouble</code><dd><a name="index-mdouble-1256"></a> 94Use floating point double instructions. 95 96 <br><dt><code>-mno-double</code><dd><a name="index-mno_002ddouble-1257"></a> 97Do not use floating point double instructions. 98 99 <br><dt><code>-mmedia</code><dd><a name="index-mmedia-1258"></a> 100Use media instructions. 101 102 <br><dt><code>-mno-media</code><dd><a name="index-mno_002dmedia-1259"></a> 103Do not use media instructions. 104 105 <br><dt><code>-mmuladd</code><dd><a name="index-mmuladd-1260"></a> 106Use multiply and add/subtract instructions. 107 108 <br><dt><code>-mno-muladd</code><dd><a name="index-mno_002dmuladd-1261"></a> 109Do not use multiply and add/subtract instructions. 110 111 <br><dt><code>-mfdpic</code><dd><a name="index-mfdpic-1262"></a> 112Select the FDPIC ABI, that uses function descriptors to represent 113pointers to functions. Without any PIC/PIE-related options, it 114implies <samp><span class="option">-fPIE</span></samp>. With <samp><span class="option">-fpic</span></samp> or <samp><span class="option">-fpie</span></samp>, it 115assumes GOT entries and small data are within a 12-bit range from the 116GOT base address; with <samp><span class="option">-fPIC</span></samp> or <samp><span class="option">-fPIE</span></samp>, GOT offsets 117are computed with 32 bits. 118With a ‘<samp><span class="samp">bfin-elf</span></samp>’ target, this option implies <samp><span class="option">-msim</span></samp>. 119 120 <br><dt><code>-minline-plt</code><dd><a name="index-minline_002dplt-1263"></a> 121Enable inlining of PLT entries in function calls to functions that are 122not known to bind locally. It has no effect without <samp><span class="option">-mfdpic</span></samp>. 123It's enabled by default if optimizing for speed and compiling for 124shared libraries (i.e., <samp><span class="option">-fPIC</span></samp> or <samp><span class="option">-fpic</span></samp>), or when an 125optimization option such as <samp><span class="option">-O3</span></samp> or above is present in the 126command line. 127 128 <br><dt><code>-mTLS</code><dd><a name="index-mTLS-1264"></a> 129Assume a large TLS segment when generating thread-local code. 130 131 <br><dt><code>-mtls</code><dd><a name="index-mtls-1265"></a> 132Do not assume a large TLS segment when generating thread-local code. 133 134 <br><dt><code>-mgprel-ro</code><dd><a name="index-mgprel_002dro-1266"></a> 135Enable the use of <code>GPREL</code> relocations in the FDPIC ABI for data 136that is known to be in read-only sections. It's enabled by default, 137except for <samp><span class="option">-fpic</span></samp> or <samp><span class="option">-fpie</span></samp>: even though it may help 138make the global offset table smaller, it trades 1 instruction for 4. 139With <samp><span class="option">-fPIC</span></samp> or <samp><span class="option">-fPIE</span></samp>, it trades 3 instructions for 4, 140one of which may be shared by multiple symbols, and it avoids the need 141for a GOT entry for the referenced symbol, so it's more likely to be a 142win. If it is not, <samp><span class="option">-mno-gprel-ro</span></samp> can be used to disable it. 143 144 <br><dt><code>-multilib-library-pic</code><dd><a name="index-multilib_002dlibrary_002dpic-1267"></a> 145Link with the (library, not FD) pic libraries. It's implied by 146<samp><span class="option">-mlibrary-pic</span></samp>, as well as by <samp><span class="option">-fPIC</span></samp> and 147<samp><span class="option">-fpic</span></samp> without <samp><span class="option">-mfdpic</span></samp>. You should never have to use 148it explicitly. 149 150 <br><dt><code>-mlinked-fp</code><dd><a name="index-mlinked_002dfp-1268"></a> 151Follow the EABI requirement of always creating a frame pointer whenever 152a stack frame is allocated. This option is enabled by default and can 153be disabled with <samp><span class="option">-mno-linked-fp</span></samp>. 154 155 <br><dt><code>-mlong-calls</code><dd><a name="index-mlong_002dcalls-1269"></a> 156Use indirect addressing to call functions outside the current 157compilation unit. This allows the functions to be placed anywhere 158within the 32-bit address space. 159 160 <br><dt><code>-malign-labels</code><dd><a name="index-malign_002dlabels-1270"></a> 161Try to align labels to an 8-byte boundary by inserting nops into the 162previous packet. This option only has an effect when VLIW packing 163is enabled. It doesn't create new packets; it merely adds nops to 164existing ones. 165 166 <br><dt><code>-mlibrary-pic</code><dd><a name="index-mlibrary_002dpic-1271"></a> 167Generate position-independent EABI code. 168 169 <br><dt><code>-macc-4</code><dd><a name="index-macc_002d4-1272"></a> 170Use only the first four media accumulator registers. 171 172 <br><dt><code>-macc-8</code><dd><a name="index-macc_002d8-1273"></a> 173Use all eight media accumulator registers. 174 175 <br><dt><code>-mpack</code><dd><a name="index-mpack-1274"></a> 176Pack VLIW instructions. 177 178 <br><dt><code>-mno-pack</code><dd><a name="index-mno_002dpack-1275"></a> 179Do not pack VLIW instructions. 180 181 <br><dt><code>-mno-eflags</code><dd><a name="index-mno_002deflags-1276"></a> 182Do not mark ABI switches in e_flags. 183 184 <br><dt><code>-mcond-move</code><dd><a name="index-mcond_002dmove-1277"></a> 185Enable the use of conditional-move instructions (default). 186 187 <p>This switch is mainly for debugging the compiler and will likely be removed 188in a future version. 189 190 <br><dt><code>-mno-cond-move</code><dd><a name="index-mno_002dcond_002dmove-1278"></a> 191Disable the use of conditional-move instructions. 192 193 <p>This switch is mainly for debugging the compiler and will likely be removed 194in a future version. 195 196 <br><dt><code>-mscc</code><dd><a name="index-mscc-1279"></a> 197Enable the use of conditional set instructions (default). 198 199 <p>This switch is mainly for debugging the compiler and will likely be removed 200in a future version. 201 202 <br><dt><code>-mno-scc</code><dd><a name="index-mno_002dscc-1280"></a> 203Disable the use of conditional set instructions. 204 205 <p>This switch is mainly for debugging the compiler and will likely be removed 206in a future version. 207 208 <br><dt><code>-mcond-exec</code><dd><a name="index-mcond_002dexec-1281"></a> 209Enable the use of conditional execution (default). 210 211 <p>This switch is mainly for debugging the compiler and will likely be removed 212in a future version. 213 214 <br><dt><code>-mno-cond-exec</code><dd><a name="index-mno_002dcond_002dexec-1282"></a> 215Disable the use of conditional execution. 216 217 <p>This switch is mainly for debugging the compiler and will likely be removed 218in a future version. 219 220 <br><dt><code>-mvliw-branch</code><dd><a name="index-mvliw_002dbranch-1283"></a> 221Run a pass to pack branches into VLIW instructions (default). 222 223 <p>This switch is mainly for debugging the compiler and will likely be removed 224in a future version. 225 226 <br><dt><code>-mno-vliw-branch</code><dd><a name="index-mno_002dvliw_002dbranch-1284"></a> 227Do not run a pass to pack branches into VLIW instructions. 228 229 <p>This switch is mainly for debugging the compiler and will likely be removed 230in a future version. 231 232 <br><dt><code>-mmulti-cond-exec</code><dd><a name="index-mmulti_002dcond_002dexec-1285"></a> 233Enable optimization of <code>&&</code> and <code>||</code> in conditional execution 234(default). 235 236 <p>This switch is mainly for debugging the compiler and will likely be removed 237in a future version. 238 239 <br><dt><code>-mno-multi-cond-exec</code><dd><a name="index-mno_002dmulti_002dcond_002dexec-1286"></a> 240Disable optimization of <code>&&</code> and <code>||</code> in conditional execution. 241 242 <p>This switch is mainly for debugging the compiler and will likely be removed 243in a future version. 244 245 <br><dt><code>-mnested-cond-exec</code><dd><a name="index-mnested_002dcond_002dexec-1287"></a> 246Enable nested conditional execution optimizations (default). 247 248 <p>This switch is mainly for debugging the compiler and will likely be removed 249in a future version. 250 251 <br><dt><code>-mno-nested-cond-exec</code><dd><a name="index-mno_002dnested_002dcond_002dexec-1288"></a> 252Disable nested conditional execution optimizations. 253 254 <p>This switch is mainly for debugging the compiler and will likely be removed 255in a future version. 256 257 <br><dt><code>-moptimize-membar</code><dd><a name="index-moptimize_002dmembar-1289"></a> 258This switch removes redundant <code>membar</code> instructions from the 259compiler generated code. It is enabled by default. 260 261 <br><dt><code>-mno-optimize-membar</code><dd><a name="index-mno_002doptimize_002dmembar-1290"></a> 262This switch disables the automatic removal of redundant <code>membar</code> 263instructions from the generated code. 264 265 <br><dt><code>-mtomcat-stats</code><dd><a name="index-mtomcat_002dstats-1291"></a> 266Cause gas to print out tomcat statistics. 267 268 <br><dt><code>-mcpu=</code><var>cpu</var><dd><a name="index-mcpu-1292"></a> 269Select the processor type for which to generate code. Possible values are 270‘<samp><span class="samp">frv</span></samp>’, ‘<samp><span class="samp">fr550</span></samp>’, ‘<samp><span class="samp">tomcat</span></samp>’, ‘<samp><span class="samp">fr500</span></samp>’, ‘<samp><span class="samp">fr450</span></samp>’, 271‘<samp><span class="samp">fr405</span></samp>’, ‘<samp><span class="samp">fr400</span></samp>’, ‘<samp><span class="samp">fr300</span></samp>’ and ‘<samp><span class="samp">simple</span></samp>’. 272 273 </dl> 274 275 </body></html> 276 277