The i386 version of as
has a few machine
dependent options:
--32 | --64
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
--divide
-march=
CPU[+
EXTENSION...]
i8086
,
i186
,
i286
,
i386
,
i486
,
i586
,
i686
,
pentium
,
pentiumpro
,
pentiumii
,
pentiumiii
,
pentium4
,
prescott
,
nocona
,
core
,
core2
,
k6
,
k6_2
,
athlon
,
opteron
,
k8
,
amdfam10
,
generic32
and
generic64
.
In addition to the basic instruction set, the assembler can be told to
accept various extension mnemonics. For example,
-march=i686+sse4+vmx
extends i686 with sse4 and
vmx. The following extensions are currently supported:
mmx
,
sse
,
sse2
,
sse3
,
ssse3
,
sse4.1
,
sse4.2
,
sse4
,
avx
,
vmx
,
smx
,
xsave
,
aes
,
pclmul
,
fma
,
movbe
,
ept
,
3dnow
,
3dnowa
,
sse4a
,
sse5
,
svme
,
abm
and
padlock
.
When the .arch
directive is used with -march, the
.arch
directive will take precedent.
-mtune=
CPUValid CPU values are identical to the processor list of -march=CPU.
-msse2avx
-msse-check=
none-msse-check=
warning-msse-check=
error-mmnemonic=
att-mmnemonic=
intel.att_mnemonic
and .intel_mnemonic
directives will
take precedent.
-msyntax=
att-msyntax=
intel.att_syntax
and .intel_syntax
directives will
take precedent.
-mnaked-reg
.att_syntax
and .intel_syntax
directives will take precedent.