<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-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 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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: AArch64 Options</title>

<meta name="description" content="Using as: AArch64 Options">
<meta name="keywords" content="Using as: AArch64 Options">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="AArch64_002dDependent.html#AArch64_002dDependent" rel="up" title="AArch64-Dependent">
<link href="AArch64-Extensions.html#AArch64-Extensions" rel="next" title="AArch64 Extensions">
<link href="AArch64_002dDependent.html#AArch64_002dDependent" rel="prev" title="AArch64-Dependent">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="AArch64-Options"></a>
<div class="header">
<p>
Next: <a href="AArch64-Extensions.html#AArch64-Extensions" accesskey="n" rel="next">AArch64 Extensions</a>, Up: <a href="AArch64_002dDependent.html#AArch64_002dDependent" accesskey="u" rel="up">AArch64-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Options"></a>
<h4 class="subsection">9.1.1 Options</h4>
<a name="index-AArch64-options-_0028none_0029"></a>
<a name="index-options-for-AArch64-_0028none_0029"></a>

<dl compact="compact">
<dd>
<a name="index-_002dEB-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-EB</code></dt>
<dd><p>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-_002dEL-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-EL</code></dt>
<dd><p>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-_002dmabi_003d-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-mabi=<var>abi</var></code></dt>
<dd><p>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-_002dmcpu_003d-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-mcpu=<var>processor</var>[+<var>extension</var>&hellip;]</code></dt>
<dd><p>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-a53</code>,
<code>cortex-a57</code>,
<code>thunderx</code>,
and
<code>xgene-1</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>
<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>
<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-_002dmarch_003d-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-march=<var>architecture</var>[+<var>extension</var>&hellip;]</code></dt>
<dd><p>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
only value for <var>architecture</var> is <code>armv8-a</code>.
</p>
<p>If both <samp>-mcpu</samp> and <samp>-march</samp> are specified, the
assembler will use the setting for <samp>-mcpu</samp>.  If neither are
specified, the assembler will default to <samp>-mcpu=all</samp>.
</p>
<p>The architecture option can be extended with the same instruction set
extension options as the <samp>-mcpu</samp> option.  Unlike
<samp>-mcpu</samp>, extensions are not always enabled by default,
See <a href="AArch64-Extensions.html#AArch64-Extensions">AArch64 Extensions</a>.
</p>
</dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="AArch64-Extensions.html#AArch64-Extensions" accesskey="n" rel="next">AArch64 Extensions</a>, Up: <a href="AArch64_002dDependent.html#AArch64_002dDependent" accesskey="u" rel="up">AArch64-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
