<!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: Options-i860</title>

<meta name="description" content="Using as: Options-i860">
<meta name="keywords" content="Using as: Options-i860">
<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="i860_002dDependent.html#i860_002dDependent" rel="up" title="i860-Dependent">
<link href="Directives_002di860.html#Directives_002di860" rel="next" title="Directives-i860">
<link href="Notes_002di860.html#Notes_002di860" rel="prev" title="Notes-i860">
<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="Options_002di860"></a>
<div class="header">
<p>
Next: <a href="Directives_002di860.html#Directives_002di860" accesskey="n" rel="next">Directives-i860</a>, Previous: <a href="Notes_002di860.html#Notes_002di860" accesskey="p" rel="prev">Notes-i860</a>, Up: <a href="i860_002dDependent.html#i860_002dDependent" accesskey="u" rel="up">i860-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="i860-Command_002dline-Options"></a>
<h4 class="subsection">9.16.2 i860 Command-line Options</h4>
<a name="SVR4-compatibility-options"></a>
<h4 class="subsubsection">9.16.2.1 SVR4 compatibility options</h4>
<dl compact="compact">
<dt><code>-V</code></dt>
<dd><p>Print assembler version.
</p></dd>
<dt><code>-Qy</code></dt>
<dd><p>Ignored.
</p></dd>
<dt><code>-Qn</code></dt>
<dd><p>Ignored.
</p></dd>
</dl>
<a name="Other-options"></a>
<h4 class="subsubsection">9.16.2.2 Other options</h4>
<dl compact="compact">
<dt><code>-EL</code></dt>
<dd><p>Select little endian output (this is the default).
</p></dd>
<dt><code>-EB</code></dt>
<dd><p>Select big endian output. Note that the i860 always reads instructions
as little endian data, so this option only effects data and not
instructions.
</p></dd>
<dt><code>-mwarn-expand</code></dt>
<dd><p>Emit a warning message if any pseudo-instruction expansions occurred.
For example, a <code>or</code> instruction with an immediate larger than 16-bits
will be expanded into two instructions. This is a very undesirable feature to
rely on, so this flag can help detect any code where it happens. One
use of it, for instance, has been to find and eliminate any place
where <code>gcc</code> may emit these pseudo-instructions.
</p></dd>
<dt><code>-mxp</code></dt>
<dd><p>Enable support for the i860XP instructions and control registers.  By default,
this option is disabled so that only the base instruction set (i.e., i860XR)
is supported.
</p></dd>
<dt><code>-mintel-syntax</code></dt>
<dd><p>The i860 assembler defaults to AT&amp;T/SVR4 syntax.  This option enables the
Intel syntax.
</p></dd>
</dl>




</body>
</html>
