Code Generation Options
- arch
Tells the compiler which features it may target, including which instruction sets it may generate.
- ax, Qax
Tells the compiler to generate multiple, feature-specific auto-dispatch code paths for Intel® processors if there is a performance benefit.
- fasynchronous-unwind-tables
Determines whether unwind information is precise at an instruction boundary or at a call boundary.
- fexceptions
Enables exception handling table generation.
- fomit-frame-pointer, Oy
Determines whether EBP is used as a general-purpose register in optimizations.
- guard
Enables the control flow protection mechanism.
- hotpatch
Tells the compiler to prepare a routine for hotpatching.
- m
Tells the compiler which features it may target, including which instruction sets it may generate.
- m32, m64, Qm32, Qm64
Tells the compiler to generate code for a specific architecture.
- m80387
Specifies whether the compiler can use x87 instructions.
- march
Tells the compiler to generate code for processors that support certain features.
- masm
Tells the compiler to generate the assembler output file using a selected dialect.
- mconditional-branch, Qconditional-branch
Lets you identify and fix code that may be vulnerable to speculative execution side-channel attacks, which can leak your secure data as a result of bad speculation of a conditional branch direction.
- minstruction, Qinstruction
Determines whether MOVBE instructions are generated for certain Intel processors.
- momit-leaf-frame-pointer
Determines whether the frame pointer is omitted or kept in leaf functions.
- mstringop-inline-threshold, Qstringop-inline-threshold
Tells the compiler to not inline calls to buffer manipulation functions such as memcpy and memset when the number of bytes the functions handle are known at compile time and greater than the specified value.
- mstringop-strategy, Qstringop-strategy
Lets you override the internal decision heuristic for the particular algorithm used when implementing buffer manipulation functions such as memcpy and memset.
- mtune, tune
Performs optimizations for specific processors but does not cause extended instruction sets to be used (unlike -march).
- qcf-protection, Qcf-protection
Enables Control-flow Enforcement Technology (CET) protection, which defends your program from certain attacks that exploit vulnerabilities. This option offers preliminary support for CET.
- Qpatchable-addresses
Tells the compiler to generate code such that references to statically assigned addresses can be patched.
- x, Qx
Tells the compiler which processor features it may target, including which instruction sets and optimizations it may generate.
- xHost, QxHost
Tells the compiler to generate instructions for the highest instruction set available on the compilation host processor.