Developer Guide and Reference

Contents

m

Tells the compiler which features it may target, including which instruction sets it may generate.

Syntax

Linux and macOS:
-m
code
Windows:
None
Arguments
code
Indicates to the compiler a feature set that it may target, including which instruction sets it may generate. Many of the following descriptions refer to Intel® Streaming SIMD Extensions (Intel® SSE) and Supplemental Streaming SIMD Extensions (SSSE). Possible values are:
avx
May generate Intel® Advanced Vector Extensions (Intel® AVX), SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.
sse4.2
May generate Intel® SSE4.2, SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.
sse4.1
May generate Intel® SSE4.1, SSE3, SSE2, SSE, and SSSE3 instructions.
ssse3
May generate SSSE3 instructions and Intel® SSE3, SSE2, and SSE instructions.
sse3
May generate Intel® SSE3, SSE2, and SSE instructions.
sse2
May generate Intel® SSE2 and SSE instructions. This value is only available on Linux systems.
sse
This option has been deprecated; it is now the same as specifying
ia32
.
ia32
Generates x86/x87 generic code that is compatible with IA-32 architecture. Disables any default extended instruction settings, and any previously set extended instruction settings. It also disables all feature-specific optimizations and instructions. This value is only available on Linux* systems using IA-32 architecture.
This compiler option also supports many of the
-m
option settings available with gcc. For more information on gcc
-m
settings, see the gcc documentation.