1<html lang="en"> 2<head> 3<title>V850 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="System-V-Options.html#System-V-Options" title="System V Options"> 10<link rel="next" href="VAX-Options.html#VAX-Options" title="VAX 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="V850-Options"></a> 51<p> 52Next: <a rel="next" accesskey="n" href="VAX-Options.html#VAX-Options">VAX Options</a>, 53Previous: <a rel="previous" accesskey="p" href="System-V-Options.html#System-V-Options">System V 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.42 V850 Options</h4> 59 60<p><a name="index-V850-Options-2114"></a> 61These ‘<samp><span class="samp">-m</span></samp>’ options are defined for V850 implementations: 62 63 <dl> 64<dt><code>-mlong-calls</code><dt><code>-mno-long-calls</code><dd><a name="index-mlong_002dcalls-2115"></a><a name="index-mno_002dlong_002dcalls-2116"></a>Treat all calls as being far away (near). If calls are assumed to be 65far away, the compiler will always load the functions address up into a 66register, and call indirect through the pointer. 67 68 <br><dt><code>-mno-ep</code><dt><code>-mep</code><dd><a name="index-mno_002dep-2117"></a><a name="index-mep-2118"></a>Do not optimize (do optimize) basic blocks that use the same index 69pointer 4 or more times to copy pointer into the <code>ep</code> register, and 70use the shorter <code>sld</code> and <code>sst</code> instructions. The <samp><span class="option">-mep</span></samp> 71option is on by default if you optimize. 72 73 <br><dt><code>-mno-prolog-function</code><dt><code>-mprolog-function</code><dd><a name="index-mno_002dprolog_002dfunction-2119"></a><a name="index-mprolog_002dfunction-2120"></a>Do not use (do use) external functions to save and restore registers 74at the prologue and epilogue of a function. The external functions 75are slower, but use less code space if more than one function saves 76the same number of registers. The <samp><span class="option">-mprolog-function</span></samp> option 77is on by default if you optimize. 78 79 <br><dt><code>-mspace</code><dd><a name="index-mspace-2121"></a>Try to make the code as small as possible. At present, this just turns 80on the <samp><span class="option">-mep</span></samp> and <samp><span class="option">-mprolog-function</span></samp> options. 81 82 <br><dt><code>-mtda=</code><var>n</var><dd><a name="index-mtda-2122"></a>Put static or global variables whose size is <var>n</var> bytes or less into 83the tiny data area that register <code>ep</code> points to. The tiny data 84area can hold up to 256 bytes in total (128 bytes for byte references). 85 86 <br><dt><code>-msda=</code><var>n</var><dd><a name="index-msda-2123"></a>Put static or global variables whose size is <var>n</var> bytes or less into 87the small data area that register <code>gp</code> points to. The small data 88area can hold up to 64 kilobytes. 89 90 <br><dt><code>-mzda=</code><var>n</var><dd><a name="index-mzda-2124"></a>Put static or global variables whose size is <var>n</var> bytes or less into 91the first 32 kilobytes of memory. 92 93 <br><dt><code>-mv850</code><dd><a name="index-mv850-2125"></a>Specify that the target processor is the V850. 94 95 <br><dt><code>-mbig-switch</code><dd><a name="index-mbig_002dswitch-2126"></a>Generate code suitable for big switch tables. Use this option only if 96the assembler/linker complain about out of range branches within a switch 97table. 98 99 <br><dt><code>-mapp-regs</code><dd><a name="index-mapp_002dregs-2127"></a>This option will cause r2 and r5 to be used in the code generated by 100the compiler. This setting is the default. 101 102 <br><dt><code>-mno-app-regs</code><dd><a name="index-mno_002dapp_002dregs-2128"></a>This option will cause r2 and r5 to be treated as fixed registers. 103 104 <br><dt><code>-mv850e2v3</code><dd><a name="index-mv850e2v3-2129"></a>Specify that the target processor is the V850E2V3. The preprocessor 105constants ‘<samp><span class="samp">__v850e2v3__</span></samp>’ will be defined if 106this option is used. 107 108 <br><dt><code>-mv850e2</code><dd><a name="index-mv850e2-2130"></a>Specify that the target processor is the V850E2. The preprocessor 109constants ‘<samp><span class="samp">__v850e2__</span></samp>’ will be defined if 110 111 <br><dt><code>-mv850e1</code><dd><a name="index-mv850e1-2131"></a>Specify that the target processor is the V850E1. The preprocessor 112constants ‘<samp><span class="samp">__v850e1__</span></samp>’ and ‘<samp><span class="samp">__v850e__</span></samp>’ will be defined if 113 114 <br><dt><code>-mv850es</code><dd><a name="index-mv850es-2132"></a>Specify that the target processor is the V850ES. This is an alias for 115the <samp><span class="option">-mv850e1</span></samp> option. 116 117 <br><dt><code>-mv850e</code><dd><a name="index-mv850e-2133"></a>Specify that the target processor is the V850E. The preprocessor 118constant ‘<samp><span class="samp">__v850e__</span></samp>’ will be defined if this option is used. 119 120 <p>If neither <samp><span class="option">-mv850</span></samp> nor <samp><span class="option">-mv850e</span></samp> nor <samp><span class="option">-mv850e1</span></samp> 121nor <samp><span class="option">-mv850e2</span></samp> nor <samp><span class="option">-mv850e2v3</span></samp> 122are defined then a default target processor will be chosen and the 123relevant ‘<samp><span class="samp">__v850*__</span></samp>’ preprocessor constant will be defined. 124 125 <p>The preprocessor constants ‘<samp><span class="samp">__v850</span></samp>’ and ‘<samp><span class="samp">__v851__</span></samp>’ are always 126defined, regardless of which processor variant is the target. 127 128 <br><dt><code>-mdisable-callt</code><dd><a name="index-mdisable_002dcallt-2134"></a>This option will suppress generation of the CALLT instruction for the 129v850e, v850e1, v850e2 and v850e2v3 flavors of the v850 architecture. The default is 130<samp><span class="option">-mno-disable-callt</span></samp> which allows the CALLT instruction to be used. 131 132 </dl> 133 134 </body></html> 135 136