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=CPU
Valid 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.