Next: i386-Directives, Up: i386-Dependent
The i386 version of as has a few machine
dependent options:
--32 | --x32 | --64These 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,
corei7,
l1om,
k1om,
iamcu,
k6,
k6_2,
athlon,
opteron,
k8,
amdfam10,
bdver1,
bdver2,
bdver3,
bdver4,
znver1,
btver1,
btver2,
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:
8087,
287,
387,
no87,
mmx,
nommx,
sse,
sse2,
sse3,
ssse3,
sse4.1,
sse4.2,
sse4,
nosse,
avx,
avx2,
adx,
rdseed,
prfchw,
smap,
mpx,
sha,
prefetchwt1,
clflushopt,
se1,
clwb,
pcommit,
avx512f,
avx512cd,
avx512er,
avx512pf,
avx512vl,
avx512bw,
avx512dq,
avx512ifma,
avx512vbmi,
noavx,
vmx,
vmfunc,
smx,
xsave,
xsaveopt,
xsavec,
xsaves,
aes,
pclmul,
fsgsbase,
rdrnd,
f16c,
bmi2,
fma,
movbe,
ept,
lzcnt,
hle,
rtm,
invpcid,
clflush,
mwaitx,
clzero,
lwp,
fma4,
xop,
cx16,
syscall,
rdtscp,
3dnow,
3dnowa,
sse4a,
sse5,
svme,
abm and
padlock.
Note that rather than extending a basic instruction set, the extension
mnemonics starting with no revoke the respective functionality.
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-mavxscalar=128-mavxscalar=256-mevexlig=128-mevexlig=256-mevexlig=512-mevexwig=0-mevexwig=1-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.
-madd-bnd-prefix-mno-shared-mbig-obj-momit-lock-prefix=no-momit-lock-prefix=yes-mrelax-relocations=no-mrelax-relocations=yes-mevexrcig=rne-mevexrcig=rd-mevexrcig=ru-mevexrcig=rz-mamd64-mintel64