| <html lang="en"> |
| <head> |
| <title>Sparc-Opts - 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="Sparc_002dDependent.html#Sparc_002dDependent" title="Sparc-Dependent"> |
| <link rel="next" href="Sparc_002dAligned_002dData.html#Sparc_002dAligned_002dData" title="Sparc-Aligned-Data"> |
| <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> |
| <!-- |
| This file documents the GNU Assembler "as". |
| |
| Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
| 2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010, 2011 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="Sparc-Opts"></a> |
| <a name="Sparc_002dOpts"></a> |
| <p> |
| Next: <a rel="next" accesskey="n" href="Sparc_002dAligned_002dData.html#Sparc_002dAligned_002dData">Sparc-Aligned-Data</a>, |
| Up: <a rel="up" accesskey="u" href="Sparc_002dDependent.html#Sparc_002dDependent">Sparc-Dependent</a> |
| <hr> |
| </div> |
| |
| <h4 class="subsection">9.39.1 Options</h4> |
| |
| <p><a name="index-options-for-SPARC-1790"></a><a name="index-SPARC-options-1791"></a><a name="index-architectures_002c-SPARC-1792"></a><a name="index-SPARC-architectures-1793"></a>The SPARC chip family includes several successive versions, using the same |
| core instruction set, but including a few additional instructions at |
| each version. There are exceptions to this however. For details on what |
| instructions each variant supports, please see the chip's architecture |
| reference manual. |
| |
| <p>By default, <code>as</code> assumes the core instruction set (SPARC |
| v6), but “bumps” the architecture level as needed: it switches to |
| successively higher architectures as it encounters instructions that |
| only exist in the higher levels. |
| |
| <p>If not configured for SPARC v9 (<code>sparc64-*-*</code>) GAS will not bump |
| past sparclite by default, an option must be passed to enable the |
| v9 instructions. |
| |
| <p>GAS treats sparclite as being compatible with v8, unless an architecture |
| is explicitly requested. SPARC v9 is always incompatible with sparclite. |
| |
| <!-- The order here is the same as the order of enum sparc_opcode_arch_val --> |
| <!-- to give the user a sense of the order of the "bumping". --> |
| |
| <a name="index-g_t_002dAv6-1794"></a> |
| <a name="index-g_t_002dAv7-1795"></a> |
| <a name="index-g_t_002dAv8-1796"></a> |
| <a name="index-g_t_002dAsparclet-1797"></a> |
| <a name="index-g_t_002dAsparclite-1798"></a> |
| <a name="index-g_t_002dAv9-1799"></a> |
| <a name="index-g_t_002dAv9a-1800"></a> |
| <a name="index-g_t_002dAv9b-1801"></a> |
| <a name="index-g_t_002dAv9c-1802"></a> |
| <a name="index-g_t_002dAv9d-1803"></a> |
| <a name="index-g_t_002dAv9v-1804"></a> |
| <a name="index-g_t_002dAsparc-1805"></a> |
| <a name="index-g_t_002dAsparcvis-1806"></a> |
| <a name="index-g_t_002dAsparcvis2-1807"></a> |
| <a name="index-g_t_002dAsparcfmaf-1808"></a> |
| <a name="index-g_t_002dAsparcima-1809"></a> |
| <a name="index-g_t_002dAsparcvis3-1810"></a> |
| <a name="index-g_t_002dAsparcvis3r-1811"></a> |
| <dl><dt><code>-Av6 | -Av7 | -Av8 | -Asparclet | -Asparclite</code><dt><code>-Av8plus | -Av8plusa | -Av8plusb | -Av8plusc | -Av8plusd | -Av8plusv</code><dt><code>-Av9 | -Av9a | -Av9b | -Av9c | -Av9d | -Av9v</code><dt><code>-Asparc | -Asparcvis | -Asparcvis2 | -Asparcfmaf | -Asparcima</code><dt><code>-Asparcvis3 | -Asparcvis3r</code><dd>Use one of the ‘<samp><span class="samp">-A</span></samp>’ options to select one of the SPARC |
| architectures explicitly. If you select an architecture explicitly, |
| <code>as</code> reports a fatal error if it encounters an instruction |
| or feature requiring an incompatible or higher level. |
| |
| <p>‘<samp><span class="samp">-Av8plus</span></samp>’, ‘<samp><span class="samp">-Av8plusa</span></samp>’, ‘<samp><span class="samp">-Av8plusb</span></samp>’, ‘<samp><span class="samp">-Av8plusc</span></samp>’, |
| ‘<samp><span class="samp">-Av8plusd</span></samp>’, and ‘<samp><span class="samp">-Av8plusv</span></samp>’ select a 32 bit environment. |
| |
| <p>‘<samp><span class="samp">-Av9</span></samp>’, ‘<samp><span class="samp">-Av9a</span></samp>’, ‘<samp><span class="samp">-Av9b</span></samp>’, ‘<samp><span class="samp">-Av9c</span></samp>’, ‘<samp><span class="samp">-Av9d</span></samp>’, and |
| ‘<samp><span class="samp">-Av9v</span></samp>’ select a 64 bit environment and are not available unless GAS |
| is explicitly configured with 64 bit environment support. |
| |
| <p>‘<samp><span class="samp">-Av8plusa</span></samp>’ and ‘<samp><span class="samp">-Av9a</span></samp>’ enable the SPARC V9 instruction set with |
| UltraSPARC VIS 1.0 extensions. |
| |
| <p>‘<samp><span class="samp">-Av8plusb</span></samp>’ and ‘<samp><span class="samp">-Av9b</span></samp>’ enable the UltraSPARC VIS 2.0 instructions, |
| as well as the instructions enabled by ‘<samp><span class="samp">-Av8plusa</span></samp>’ and ‘<samp><span class="samp">-Av9a</span></samp>’. |
| |
| <p>‘<samp><span class="samp">-Av8plusc</span></samp>’ and ‘<samp><span class="samp">-Av9c</span></samp>’ enable the UltraSPARC Niagara instructions, |
| as well as the instructions enabled by ‘<samp><span class="samp">-Av8plusb</span></samp>’ and ‘<samp><span class="samp">-Av9b</span></samp>’. |
| |
| <p>‘<samp><span class="samp">-Av8plusd</span></samp>’ and ‘<samp><span class="samp">-Av9d</span></samp>’ enable the floating point fused |
| multiply-add, VIS 3.0, and HPC extension instructions, as well as the |
| instructions enabled by ‘<samp><span class="samp">-Av8plusc</span></samp>’ and ‘<samp><span class="samp">-Av9c</span></samp>’. |
| |
| <p>‘<samp><span class="samp">-Av8plusv</span></samp>’ and ‘<samp><span class="samp">-Av9v</span></samp>’ enable the 'random', transactional |
| memory, floating point unfused multiply-add, integer multiply-add, and |
| cache sparing store instructions, as well as the instructions enabled |
| by ‘<samp><span class="samp">-Av8plusd</span></samp>’ and ‘<samp><span class="samp">-Av9d</span></samp>’. |
| |
| <p>‘<samp><span class="samp">-Asparc</span></samp>’ specifies a v9 environment. It is equivalent to |
| ‘<samp><span class="samp">-Av9</span></samp>’ if the word size is 64-bit, and ‘<samp><span class="samp">-Av8plus</span></samp>’ otherwise. |
| |
| <p>‘<samp><span class="samp">-Asparcvis</span></samp>’ specifies a v9a environment. It is equivalent to |
| ‘<samp><span class="samp">-Av9a</span></samp>’ if the word size is 64-bit, and ‘<samp><span class="samp">-Av8plusa</span></samp>’ otherwise. |
| |
| <p>‘<samp><span class="samp">-Asparcvis2</span></samp>’ specifies a v9b environment. It is equivalent to |
| ‘<samp><span class="samp">-Av9b</span></samp>’ if the word size is 64-bit, and ‘<samp><span class="samp">-Av8plusb</span></samp>’ otherwise. |
| |
| <p>‘<samp><span class="samp">-Asparcfmaf</span></samp>’ specifies a v9b environment with the floating point |
| fused multiply-add instructions enabled. |
| |
| <p>‘<samp><span class="samp">-Asparcima</span></samp>’ specifies a v9b environment with the integer |
| multiply-add instructions enabled. |
| |
| <p>‘<samp><span class="samp">-Asparcvis3</span></samp>’ specifies a v9b environment with the VIS 3.0, |
| HPC , and floating point fused multiply-add instructions enabled. |
| |
| <p>‘<samp><span class="samp">-Asparcvis3r</span></samp>’ specifies a v9b environment with the VIS 3.0, |
| HPC, transactional memory, random, and floating point unfused multiply-add |
| instructions enabled. |
| |
| <br><dt><code>-xarch=v8plus | -xarch=v8plusa | -xarch=v8plusb | -xarch=v8plusc</code><dt><code>-xarch=v8plusd | -xarch=v8plusv | -xarch=v9 | -xarch=v9a</code><dt><code>-xarch=v9b | -xarch=v9c | -xarch=v9d | -xarch=v9v</code><dt><code>-xarch=sparc | -xarch=sparcvis | -xarch=sparcvis2</code><dt><code>-xarch=sparcfmaf | -xarch=sparcima | -xarch=sparcvis3</code><dt><code>-xarch=sparcvis3r</code><dd>For compatibility with the SunOS v9 assembler. These options are |
| equivalent to -Av8plus, -Av8plusa, -Av8plusb, -Av8plusc, -Av8plusd, |
| -Av8plusv, -Av9, -Av9a, -Av9b, -Av9c, -Av9d, -Av9v, -Asparc, -Asparcvis, |
| -Asparcvis2, -Asparcfmaf, -Asparcima, -Asparcvis3, and -Asparcvis3r, |
| respectively. |
| |
| <br><dt><code>-bump</code><dd>Warn whenever it is necessary to switch to another level. |
| If an architecture level is explicitly requested, GAS will not issue |
| warnings until that level is reached, and will then bump the level |
| as required (except between incompatible levels). |
| |
| <br><dt><code>-32 | -64</code><dd>Select the word size, either 32 bits or 64 bits. |
| These options are only available with the ELF object file format, |
| and require that the necessary BFD support has been included. |
| </dl> |
| |
| </body></html> |
| |