Next: i386-Syntax, Up: i386-Dependent

#### 8.13.1 Options

The i386 version of `as` has a few machine dependent options:

`--32 | --64`
  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.

  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).

`-n`
  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.

`--divide`
  On SVR4-derived platforms, the character ``/`' is treated as a comment character, which means that it cannot be used in expressions. The ``--divide`' option turns ``/`' into a normal character. This does not disable ``/`' at the beginning of a line starting a comment, or affect using ``#`' for starting a comment.

`-march=`CPU
  This option specifies an instruction set architecture for generating instructions. The following architectures are recognized: `i8086`, `i186`, `i286`, `i386`, `i486`, `i586`, `i686`, `pentium`, `pentiumpro`, `pentiumii`, `pentiumiii`, `pentium4`, `prescott`, `nocona`, `core`, `core2`, `k6`, `k6_2`, `athlon`, `sledgehammer`, `opteron`, `k8`, `generic32` and `generic64`.

  This option only affects instructions generated by the assembler. The `.arch` directive will take precedent.

`-mtune=`CPU
  This option specifies a processor to optimize for. When used in conjunction with the `-march` option, only instructions of the processor specified by the `-march` option will be generated.

  Valid CPU values are identical to `-march=CPU`.