| <html lang="en"> |
| <head> |
| <title>AArch64 Options - Using the GNU Compiler Collection (GCC)</title> |
| <meta http-equiv="Content-Type" content="text/html"> |
| <meta name="description" content="Using the GNU Compiler Collection (GCC)"> |
| <meta name="generator" content="makeinfo 4.13"> |
| <link title="Top" rel="start" href="index.html#Top"> |
| <link rel="up" href="Submodel-Options.html#Submodel-Options" title="Submodel Options"> |
| <link rel="next" href="Adapteva-Epiphany-Options.html#Adapteva-Epiphany-Options" title="Adapteva Epiphany Options"> |
| <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> |
| <!-- |
| Copyright (C) 1988-2013 Free Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.3 or |
| any later version published by the Free Software Foundation; with the |
| Invariant Sections being ``Funding Free Software'', the Front-Cover |
| Texts being (a) (see below), and with the Back-Cover Texts being (b) |
| (see below). A copy of the license is included in the section entitled |
| ``GNU Free Documentation License''. |
| |
| (a) The FSF's Front-Cover Text is: |
| |
| A GNU Manual |
| |
| (b) The FSF's Back-Cover Text is: |
| |
| You have freedom to copy and modify this GNU Manual, like GNU |
| software. Copies published by the Free Software Foundation raise |
| funds for GNU development.--> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| <style type="text/css"><!-- |
| pre.display { font-family:inherit } |
| pre.format { font-family:inherit } |
| pre.smalldisplay { font-family:inherit; font-size:smaller } |
| pre.smallformat { font-family:inherit; font-size:smaller } |
| pre.smallexample { font-size:smaller } |
| pre.smalllisp { font-size:smaller } |
| span.sc { font-variant:small-caps } |
| span.roman { font-family:serif; font-weight:normal; } |
| span.sansserif { font-family:sans-serif; font-weight:normal; } |
| --></style> |
| </head> |
| <body> |
| <div class="node"> |
| <a name="AArch64-Options"></a> |
| <p> |
| Next: <a rel="next" accesskey="n" href="Adapteva-Epiphany-Options.html#Adapteva-Epiphany-Options">Adapteva Epiphany Options</a>, |
| Up: <a rel="up" accesskey="u" href="Submodel-Options.html#Submodel-Options">Submodel Options</a> |
| <hr> |
| </div> |
| |
| <h4 class="subsection">3.17.1 AArch64 Options</h4> |
| |
| <p><a name="index-AArch64-Options-1079"></a> |
| These options are defined for AArch64 implementations: |
| |
| <dl> |
| <dt><code>-mbig-endian</code><dd><a name="index-mbig_002dendian-1080"></a>Generate big-endian code. This is the default when GCC is configured for an |
| ‘<samp><span class="samp">aarch64_be-*-*</span></samp>’ target. |
| |
| <br><dt><code>-mgeneral-regs-only</code><dd><a name="index-mgeneral_002dregs_002donly-1081"></a>Generate code which uses only the general registers. |
| |
| <br><dt><code>-mlittle-endian</code><dd><a name="index-mlittle_002dendian-1082"></a>Generate little-endian code. This is the default when GCC is configured for an |
| ‘<samp><span class="samp">aarch64-*-*</span></samp>’ but not an ‘<samp><span class="samp">aarch64_be-*-*</span></samp>’ target. |
| |
| <br><dt><code>-mcmodel=tiny</code><dd><a name="index-mcmodel_003dtiny-1083"></a>Generate code for the tiny code model. The program and its statically defined |
| symbols must be within 1GB of each other. Pointers are 64 bits. Programs can |
| be statically or dynamically linked. This model is not fully implemented and |
| mostly treated as ‘<samp><span class="samp">small</span></samp>’. |
| |
| <br><dt><code>-mcmodel=small</code><dd><a name="index-mcmodel_003dsmall-1084"></a>Generate code for the small code model. The program and its statically defined |
| symbols must be within 4GB of each other. Pointers are 64 bits. Programs can |
| be statically or dynamically linked. This is the default code model. |
| |
| <br><dt><code>-mcmodel=large</code><dd><a name="index-mcmodel_003dlarge-1085"></a>Generate code for the large code model. This makes no assumptions about |
| addresses and sizes of sections. Pointers are 64 bits. Programs can be |
| statically linked only. |
| |
| <br><dt><code>-mstrict-align</code><dd><a name="index-mstrict_002dalign-1086"></a>Do not assume that unaligned memory references will be handled by the system. |
| |
| <br><dt><code>-momit-leaf-frame-pointer</code><dt><code>-mno-omit-leaf-frame-pointer</code><dd><a name="index-momit_002dleaf_002dframe_002dpointer-1087"></a><a name="index-mno_002domit_002dleaf_002dframe_002dpointer-1088"></a>Omit or keep the frame pointer in leaf functions. The former behaviour is the |
| default. |
| |
| <br><dt><code>-mtls-dialect=desc</code><dd><a name="index-mtls_002ddialect_003ddesc-1089"></a>Use TLS descriptors as the thread-local storage mechanism for dynamic accesses |
| of TLS variables. This is the default. |
| |
| <br><dt><code>-mtls-dialect=traditional</code><dd><a name="index-mtls_002ddialect_003dtraditional-1090"></a>Use traditional TLS as the thread-local storage mechanism for dynamic accesses |
| of TLS variables. |
| |
| <br><dt><code>-march=</code><var>name</var><dd><a name="index-march-1091"></a>Specify the name of the target architecture, optionally suffixed by one or |
| more feature modifiers. This option has the form |
| <samp><span class="option">-march=</span><var>arch</var><span class="option">{+[no]</span><var>feature</var><span class="option">}*</span></samp>, where the |
| only value for <var>arch</var> is ‘<samp><span class="samp">armv8-a</span></samp>’. The possible values for |
| <var>feature</var> are documented in the sub-section below. |
| |
| <p>Where conflicting feature modifiers are specified, the right-most feature is |
| used. |
| |
| <p>GCC uses this name to determine what kind of instructions it can emit when |
| generating assembly code. This option can be used in conjunction with or |
| instead of the <samp><span class="option">-mcpu=</span></samp> option. |
| |
| <br><dt><code>-mcpu=</code><var>name</var><dd><a name="index-mcpu-1092"></a>Specify the name of the target processor, optionally suffixed by one or more |
| feature modifiers. This option has the form |
| <samp><span class="option">-mcpu=</span><var>cpu</var><span class="option">{+[no]</span><var>feature</var><span class="option">}*</span></samp>, where the |
| possible values for <var>cpu</var> are ‘<samp><span class="samp">generic</span></samp>’, ‘<samp><span class="samp">large</span></samp>’. The |
| possible values for <var>feature</var> are documented in the sub-section |
| below. |
| |
| <p>Where conflicting feature modifiers are specified, the right-most feature is |
| used. |
| |
| <p>GCC uses this name to determine what kind of instructions it can emit when |
| generating assembly code. |
| |
| <br><dt><code>-mtune=</code><var>name</var><dd><a name="index-mtune-1093"></a>Specify the name of the processor to tune the performance for. The code will |
| be tuned as if the target processor were of the type specified in this option, |
| but still using instructions compatible with the target processor specified |
| by a <samp><span class="option">-mcpu=</span></samp> option. This option cannot be suffixed by feature |
| modifiers. |
| |
| </dl> |
| |
| <h5 class="subsubsection">3.17.1.1 <samp><span class="option">-march</span></samp> and <samp><span class="option">-mcpu</span></samp> feature modifiers</h5> |
| |
| <p><a name="index-g_t_0040option_007b_002dmarch_007d-feature-modifiers-1094"></a><a name="index-g_t_0040option_007b_002dmcpu_007d-feature-modifiers-1095"></a>Feature modifiers used with <samp><span class="option">-march</span></samp> and <samp><span class="option">-mcpu</span></samp> can be one |
| the following: |
| |
| <dl> |
| <dt>‘<samp><span class="samp">crc</span></samp>’<dd>Enable CRC extension. |
| <br><dt>‘<samp><span class="samp">crypto</span></samp>’<dd>Enable Crypto extension. This implies Advanced SIMD is enabled. |
| <br><dt>‘<samp><span class="samp">fp</span></samp>’<dd>Enable floating-point instructions. |
| <br><dt>‘<samp><span class="samp">simd</span></samp>’<dd>Enable Advanced SIMD instructions. This implies floating-point instructions |
| are enabled. This is the default for all current possible values for options |
| <samp><span class="option">-march</span></samp> and <samp><span class="option">-mcpu=</span></samp>. |
| </dl> |
| |
| </body></html> |
| |