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.