168 lines
		
	
	
	
		
			8.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
	
		
			8.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html lang="en">
 | |
| <head>
 | |
| <title>i386-Options - Using as</title>
 | |
| <meta http-equiv="Content-Type" content="text/html">
 | |
| <meta name="description" content="Using as">
 | |
| <meta name="generator" content="makeinfo 4.7">
 | |
| <link title="Top" rel="start" href="index.html#Top">
 | |
| <link rel="up" href="i386_002dDependent.html#i386_002dDependent" title="i386-Dependent">
 | |
| <link rel="next" href="i386_002dDirectives.html#i386_002dDirectives" title="i386-Directives">
 | |
| <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
 | |
| <!--
 | |
| This file documents the GNU Assembler "as".
 | |
| 
 | |
| Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
 | |
| 2006, 2007 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.1
 | |
| 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''.
 | |
| 
 | |
| man end-->
 | |
| <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; } 
 | |
| --></style>
 | |
| </head>
 | |
| <body>
 | |
| <div class="node">
 | |
| <p>
 | |
| <a name="i386_002dOptions"></a>Next: <a rel="next" accesskey="n" href="i386_002dDirectives.html#i386_002dDirectives">i386-Directives</a>,
 | |
| Up: <a rel="up" accesskey="u" href="i386_002dDependent.html#i386_002dDependent">i386-Dependent</a>
 | |
| <hr><br>
 | |
| </div>
 | |
| 
 | |
| <h4 class="subsection">9.13.1 Options</h4>
 | |
| 
 | |
| <p><a name="index-options-for-i386-817"></a><a name="index-options-for-x86_002d64-818"></a><a name="index-i386-options-819"></a><a name="index-x86_002d64-options-820"></a>
 | |
| The i386 version of <code>as</code> has a few machine
 | |
| dependent options:
 | |
| 
 | |
|      
 | |
| <a name="index-_0040samp_007b_002d_002d32_007d-option_002c-i386-821"></a>
 | |
| <a name="index-_0040samp_007b_002d_002d32_007d-option_002c-x86_002d64-822"></a>
 | |
| <a name="index-_0040samp_007b_002d_002d64_007d-option_002c-i386-823"></a>
 | |
| <a name="index-_0040samp_007b_002d_002d64_007d-option_002c-x86_002d64-824"></a>
 | |
| <dl><dt><code>--32 | --64</code><dd>Select the word size, either 32 bits or 64 bits. Selecting 32-bit
 | |
| implies Intel i386 architecture, while 64-bit implies AMD x86-64
 | |
| architecture.
 | |
| 
 | |
|      <p>These options are only available with the ELF object file format, and
 | |
| require that the necessary BFD support has been included (on a 32-bit
 | |
| platform you have to add –enable-64-bit-bfd to configure enable 64-bit
 | |
| usage and use x86-64 as target platform).
 | |
| 
 | |
|      <br><dt><code>-n</code><dd>By default, x86 GAS replaces multiple nop instructions used for
 | |
| alignment within code sections with multi-byte nop instructions such
 | |
| as leal 0(%esi,1),%esi.  This switch disables the optimization.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002d_002ddivide_007d-option_002c-i386-825"></a><br><dt><code>--divide</code><dd>On SVR4-derived platforms, the character <span class="samp">/</span> is treated as a comment
 | |
| character, which means that it cannot be used in expressions.  The
 | |
| <span class="samp">--divide</span> option turns <span class="samp">/</span> into a normal character.  This does
 | |
| not disable <span class="samp">/</span> at the beginning of a line starting a comment, or
 | |
| affect using <span class="samp">#</span> for starting a comment.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmarch_003d_007d-option_002c-i386-826"></a><a name="index-_0040samp_007b_002dmarch_003d_007d-option_002c-x86_002d64-827"></a><br><dt><code>-march=</code><var>CPU</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>i8086</code>,
 | |
| <code>i186</code>,
 | |
| <code>i286</code>,
 | |
| <code>i386</code>,
 | |
| <code>i486</code>,
 | |
| <code>i586</code>,
 | |
| <code>i686</code>,
 | |
| <code>pentium</code>,
 | |
| <code>pentiumpro</code>,
 | |
| <code>pentiumii</code>,
 | |
| <code>pentiumiii</code>,
 | |
| <code>pentium4</code>,
 | |
| <code>prescott</code>,
 | |
| <code>nocona</code>,
 | |
| <code>core</code>,
 | |
| <code>core2</code>,
 | |
| <code>k6</code>,
 | |
| <code>k6_2</code>,
 | |
| <code>athlon</code>,
 | |
| <code>opteron</code>,
 | |
| <code>k8</code>,
 | |
| <code>amdfam10</code>,
 | |
| <code>generic32</code> and
 | |
| <code>generic64</code>.
 | |
| 
 | |
|      <p>In addition to the basic instruction set, the assembler can be told to
 | |
| accept various extension mnemonics.  For example,
 | |
| <code>-march=i686+sse4+vmx</code> extends <var>i686</var> with <var>sse4</var> and
 | |
| <var>vmx</var>.  The following extensions are currently supported:
 | |
| <code>mmx</code>,
 | |
| <code>sse</code>,
 | |
| <code>sse2</code>,
 | |
| <code>sse3</code>,
 | |
| <code>ssse3</code>,
 | |
| <code>sse4.1</code>,
 | |
| <code>sse4.2</code>,
 | |
| <code>sse4</code>,
 | |
| <code>avx</code>,
 | |
| <code>vmx</code>,
 | |
| <code>smx</code>,
 | |
| <code>xsave</code>,
 | |
| <code>aes</code>,
 | |
| <code>pclmul</code>,
 | |
| <code>fma</code>,
 | |
| <code>movbe</code>,
 | |
| <code>ept</code>,
 | |
| <code>3dnow</code>,
 | |
| <code>3dnowa</code>,
 | |
| <code>sse4a</code>,
 | |
| <code>sse5</code>,
 | |
| <code>svme</code>,
 | |
| <code>abm</code> and
 | |
| <code>padlock</code>.
 | |
| 
 | |
|      <p>When the <code>.arch</code> directive is used with <span class="option">-march</span>, the
 | |
| <code>.arch</code> directive will take precedent.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmtune_003d_007d-option_002c-i386-828"></a><a name="index-_0040samp_007b_002dmtune_003d_007d-option_002c-x86_002d64-829"></a><br><dt><code>-mtune=</code><var>CPU</var><dd>This option specifies a processor to optimize for. When used in
 | |
| conjunction with the <span class="option">-march</span> option, only instructions
 | |
| of the processor specified by the <span class="option">-march</span> option will be
 | |
| generated.
 | |
| 
 | |
|      <p>Valid <var>CPU</var> values are identical to the processor list of
 | |
| <span class="option">-march=</span><var>CPU</var>.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmsse2avx_007d-option_002c-i386-830"></a><a name="index-_0040samp_007b_002dmsse2avx_007d-option_002c-x86_002d64-831"></a><br><dt><code>-msse2avx</code><dd>This option specifies that the assembler should encode SSE instructions
 | |
| with VEX prefix.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmsse_002dcheck_003d_007d-option_002c-i386-832"></a><a name="index-_0040samp_007b_002dmsse_002dcheck_003d_007d-option_002c-x86_002d64-833"></a><br><dt><code>-msse-check=</code><var>none</var><br><dt><code>-msse-check=</code><var>warning</var><br><dt><code>-msse-check=</code><var>error</var><dd>These options control if the assembler should check SSE intructions. 
 | |
| <span class="option">-msse-check=</span><var>none</var> will make the assembler not to check SSE
 | |
| instructions,  which is the default.  <span class="option">-msse-check=</span><var>warning</var>
 | |
| will make the assembler issue a warning for any SSE intruction. 
 | |
| <span class="option">-msse-check=</span><var>error</var> will make the assembler issue an error
 | |
| for any SSE intruction.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmmnemonic_003d_007d-option_002c-i386-834"></a><a name="index-_0040samp_007b_002dmmnemonic_003d_007d-option_002c-x86_002d64-835"></a><br><dt><code>-mmnemonic=</code><var>att</var><br><dt><code>-mmnemonic=</code><var>intel</var><dd>This option specifies instruction mnemonic for matching instructions. 
 | |
| The <code>.att_mnemonic</code> and <code>.intel_mnemonic</code> directives will
 | |
| take precedent.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmsyntax_003d_007d-option_002c-i386-836"></a><a name="index-_0040samp_007b_002dmsyntax_003d_007d-option_002c-x86_002d64-837"></a><br><dt><code>-msyntax=</code><var>att</var><br><dt><code>-msyntax=</code><var>intel</var><dd>This option specifies instruction syntax when processing instructions. 
 | |
| The <code>.att_syntax</code> and <code>.intel_syntax</code> directives will
 | |
| take precedent.
 | |
| 
 | |
|      <p><a name="index-_0040samp_007b_002dmnaked_002dreg_007d-option_002c-i386-838"></a><a name="index-_0040samp_007b_002dmnaked_002dreg_007d-option_002c-x86_002d64-839"></a><br><dt><code>-mnaked-reg</code><dd>This opetion specifies that registers don't require a <span class="samp">%</span> prefix. 
 | |
| The <code>.att_syntax</code> and <code>.intel_syntax</code> directives will take precedent.
 | |
| 
 | |
|    </dl>
 | |
| 
 | |
|    </body></html>
 | |
| 
 |