blob: c3e20360973959c5d47d6f13acf4af386c4c2942 [file] [log] [blame]
<html lang="en">
<head>
<title>AArch64 Options - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="AArch64_002dDependent.html#AArch64_002dDependent" title="AArch64-Dependent">
<link rel="next" href="AArch64-Extensions.html#AArch64-Extensions" title="AArch64 Extensions">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991-2019 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 no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.
-->
<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:&nbsp;<a rel="next" accesskey="n" href="AArch64-Extensions.html#AArch64-Extensions">AArch64 Extensions</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="AArch64_002dDependent.html#AArch64_002dDependent">AArch64-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.1.1 Options</h4>
<p><a name="index-AArch64-options-_0028none_0029-539"></a><a name="index-options-for-AArch64-_0028none_0029-540"></a>
<!-- man begin OPTIONS -->
<a name="index-g_t_0040option_007b_002dEB_007d-command_002dline-option_002c-AArch64-541"></a>
<dl><dt><code>-EB</code><dd>This option specifies that the output generated by the assembler should
be marked as being encoded for a big-endian processor.
<p><a name="index-g_t_0040option_007b_002dEL_007d-command_002dline-option_002c-AArch64-542"></a><br><dt><code>-EL</code><dd>This option specifies that the output generated by the assembler should
be marked as being encoded for a little-endian processor.
<p><a name="index-g_t_0040option_007b_002dmabi_003d_007d-command_002dline-option_002c-AArch64-543"></a><br><dt><code>-mabi=</code><var>abi</var><dd>Specify which ABI the source code uses. The recognized arguments
are: <code>ilp32</code> and <code>lp64</code>, which decides the generated object
file in ELF32 and ELF64 format respectively. The default is <code>lp64</code>.
<p><a name="index-g_t_0040option_007b_002dmcpu_003d_007d-command_002dline-option_002c-AArch64-544"></a><br><dt><code>-mcpu=</code><var>processor</var><code>[+</code><var>extension</var><code>...]</code><dd>This option specifies the target processor. The assembler will issue an error
message if an attempt is made to assemble an instruction which will not execute
on the target processor. The following processor names are recognized:
<code>cortex-a34</code>,
<code>cortex-a35</code>,
<code>cortex-a53</code>,
<code>cortex-a55</code>,
<code>cortex-a57</code>,
<code>cortex-a65</code>,
<code>cortex-a65ae</code>,
<code>cortex-a72</code>,
<code>cortex-a73</code>,
<code>cortex-a75</code>,
<code>cortex-a76</code>,
<code>cortex-a76ae</code>,
<code>cortex-a77</code>,
<code>ares</code>,
<code>exynos-m1</code>,
<code>falkor</code>,
<code>neoverse-n1</code>,
<code>neoverse-e1</code>,
<code>qdf24xx</code>,
<code>saphira</code>,
<code>thunderx</code>,
<code>vulcan</code>,
<code>xgene1</code>
and
<code>xgene2</code>.
The special name <code>all</code> may be used to allow the assembler to accept
instructions valid for any supported processor, including all optional
extensions.
<p>In addition to the basic instruction set, the assembler can be told to
accept, or restrict, various extension mnemonics that extend the
processor. See <a href="AArch64-Extensions.html#AArch64-Extensions">AArch64 Extensions</a>.
<p>If some implementations of a particular processor can have an
extension, then then those extensions are automatically enabled.
Consequently, you will not normally have to specify any additional
extensions.
<p><a name="index-g_t_0040option_007b_002dmarch_003d_007d-command_002dline-option_002c-AArch64-545"></a><br><dt><code>-march=</code><var>architecture</var><code>[+</code><var>extension</var><code>...]</code><dd>This option specifies the target architecture. The assembler will
issue an error message if an attempt is made to assemble an
instruction which will not execute on the target architecture. The
following architecture names are recognized: <code>armv8-a</code>,
<code>armv8.1-a</code>, <code>armv8.2-a</code>, <code>armv8.3-a</code>, <code>armv8.4-a</code>
and <code>armv8.5-a</code>.
<p>If both <samp><span class="option">-mcpu</span></samp> and <samp><span class="option">-march</span></samp> are specified, the
assembler will use the setting for <samp><span class="option">-mcpu</span></samp>. If neither are
specified, the assembler will default to <samp><span class="option">-mcpu=all</span></samp>.
<p>The architecture option can be extended with the same instruction set
extension options as the <samp><span class="option">-mcpu</span></samp> option. Unlike
<samp><span class="option">-mcpu</span></samp>, extensions are not always enabled by default,
See <a href="AArch64-Extensions.html#AArch64-Extensions">AArch64 Extensions</a>.
<p><a name="index-g_t_0040code_007b_002dmverbose_002derror_007d-command_002dline-option_002c-AArch64-546"></a><br><dt><code>-mverbose-error</code><dd>This option enables verbose error messages for AArch64 gas. This option
is enabled by default.
<p><a name="index-g_t_0040code_007b_002dmno_002dverbose_002derror_007d-command_002dline-option_002c-AArch64-547"></a><br><dt><code>-mno-verbose-error</code><dd>This option disables verbose error messages in AArch64 gas.
</dl>
<!-- man end -->
</body></html>