3.1 Option Summary

Here is a summary of all the options, grouped by type. Explanations are in the following sections.

Overall Options

See Options Controlling the Kind of Output.

-c  -S  -E  -o file
-dumpbase dumpbase  -dumpbase-ext auxdropsuf
-dumpdir dumppfx  -x language
-v  -###  --help[=class[,…]]  --target-help  --version
-pass-exit-codes  -pipe  -specs=file  -wrapper
@file  -ffile-prefix-map=old=new  -fcanon-prefix-map
-fplugin=file  -fplugin-arg-name=arg
-fdump-ada-spec[-slim]  -fada-spec-parent=unit  -fdump-go-spec=file
C Language Options

See Options Controlling C Dialect.

-ansi  -std=standard  -aux-info filename
-fno-asm
-fno-builtin  -fno-builtin-function  -fcond-mismatch
-ffreestanding  -fgimple  -fgnu-tm  -fgnu89-inline  -fhosted
-flax-vector-conversions  -fms-extensions
-foffload=arg  -foffload-options=arg
-fopenacc  -fopenacc-dim=geom
-fopenmp  -fopenmp-simd  -fopenmp-target-simd-clone[=device-type]
-fpermitted-flt-eval-methods=standard
-fplan9-extensions  -fsigned-bitfields  -funsigned-bitfields
-fsigned-char  -funsigned-char  -fstrict-flex-arrays[=n]
-fsso-struct=endianness
C++ Language Options

See Options Controlling C++ Dialect.

-fabi-version=n  -fno-access-control
-faligned-new=n  -fargs-in-order=n  -fchar8_t  -fcheck-new
-fconstexpr-depth=n  -fconstexpr-cache-depth=n
-fconstexpr-loop-limit=n  -fconstexpr-ops-limit=n
-fno-elide-constructors
-fno-enforce-eh-specs
-fno-gnu-keywords
-fno-immediate-escalation
-fno-implicit-templates
-fno-implicit-inline-templates
-fno-implement-inlines
-fmodule-header[=kind] -fmodule-only -fmodules-ts
-fmodule-implicit-inline
-fno-module-lazy
-fmodule-mapper=specification
-fmodule-version-ignore
-fms-extensions
-fnew-inheriting-ctors
-fnew-ttp-matching
-fno-nonansi-builtins  -fnothrow-opt  -fno-operator-names
-fno-optional-diags
-fno-pretty-templates
-fno-rtti  -fsized-deallocation
-ftemplate-backtrace-limit=n
-ftemplate-depth=n
-fno-threadsafe-statics  -fuse-cxa-atexit
-fno-weak  -nostdinc++
-fvisibility-inlines-hidden
-fvisibility-ms-compat
-fext-numeric-literals
-flang-info-include-translate[=header]
-flang-info-include-translate-not
-flang-info-module-cmi[=module]
-stdlib=libstdc++,libc++
-Wabi-tag  -Wcatch-value  -Wcatch-value=n
-Wno-class-conversion  -Wclass-memaccess
-Wcomma-subscript  -Wconditionally-supported
-Wno-conversion-null  -Wctad-maybe-unsupported
-Wctor-dtor-privacy  -Wdangling-reference
-Wno-delete-incomplete
-Wdelete-non-virtual-dtor  -Wno-deprecated-array-compare
-Wdeprecated-copy -Wdeprecated-copy-dtor
-Wno-deprecated-enum-enum-conversion -Wno-deprecated-enum-float-conversion
-Weffc++ -Wno-elaborated-enum-base
-Wno-exceptions -Wextra-semi -Wno-global-module -Wno-inaccessible-base
-Wno-inherited-variadic-ctor  -Wno-init-list-lifetime
-Winvalid-constexpr -Winvalid-imported-macros
-Wno-invalid-offsetof  -Wno-literal-suffix
-Wmismatched-new-delete -Wmismatched-tags
-Wmultiple-inheritance  -Wnamespaces  -Wnarrowing
-Wnoexcept  -Wnoexcept-type  -Wnon-virtual-dtor
-Wpessimizing-move  -Wno-placement-new  -Wplacement-new=n
-Wrange-loop-construct -Wredundant-move -Wredundant-tags
-Wreorder  -Wregister
-Wstrict-null-sentinel  -Wno-subobject-linkage  -Wtemplates
-Wno-non-template-friend  -Wold-style-cast
-Woverloaded-virtual  -Wno-pmf-conversions -Wself-move -Wsign-promo
-Wsized-deallocation  -Wsuggest-final-methods
-Wsuggest-final-types  -Wsuggest-override  -Wno-template-id-cdtor
-Wno-terminate  -Wno-vexing-parse  -Wvirtual-inheritance
-Wno-virtual-move-assign  -Wvolatile  -Wzero-as-null-pointer-constant
Objective-C and Objective-C++ Language Options

See Options Controlling Objective-C and Objective-C++ Dialects.

-fconstant-string-class=class-name
-fgnu-runtime  -fnext-runtime
-fno-nil-receivers
-fobjc-abi-version=n
-fobjc-call-cxx-cdtors
-fobjc-direct-dispatch
-fobjc-exceptions
-fobjc-gc
-fobjc-nilcheck
-fobjc-std=objc1
-fno-local-ivars
-fivar-visibility=[public|protected|private|package]
-freplace-objc-classes
-fzero-link
-gen-decls
-Wassign-intercept  -Wno-property-assign-default
-Wno-protocol -Wobjc-root-class -Wselector
-Wstrict-selector-match
-Wundeclared-selector
Diagnostic Message Formatting Options

See Options to Control Diagnostic Messages Formatting.

-fmessage-length=n
-fdiagnostics-plain-output
-fdiagnostics-show-location=[once|every-line]
-fdiagnostics-color=[auto|never|always]
-fdiagnostics-urls=[auto|never|always]
-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]
-fno-diagnostics-json-formatting
-fno-diagnostics-show-option  -fno-diagnostics-show-caret
-fno-diagnostics-show-event-links
-fno-diagnostics-show-labels  -fno-diagnostics-show-line-numbers
-fno-diagnostics-show-cwe
-fno-diagnostics-show-rules
-fno-diagnostics-show-highlight-colors
-fdiagnostics-minimum-margin-width=width
-fdiagnostics-parseable-fixits  -fdiagnostics-generate-patch
-fdiagnostics-show-template-tree  -fno-elide-type
-fdiagnostics-path-format=[none|separate-events|inline-events]
-fdiagnostics-show-path-depths
-fno-show-column
-fdiagnostics-column-unit=[display|byte]
-fdiagnostics-column-origin=origin
-fdiagnostics-escape-format=[unicode|bytes]
-fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]
Warning Options

See Options to Request or Suppress Warnings.

-fsyntax-only  -fmax-errors=n  -Wpedantic
-pedantic-errors -fpermissive
-w  -Wextra  -Wall  -Wabi=n
-Waddress  -Wno-address-of-packed-member  -Waggregate-return
-Walloc-size  -Walloc-size-larger-than=byte-size  -Walloc-zero
-Walloca  -Walloca-larger-than=byte-size
-Wno-aggressive-loop-optimizations
-Warith-conversion
-Warray-bounds  -Warray-bounds=n  -Warray-compare
-Warray-parameter  -Warray-parameter=n
-Wno-attributes  -Wattribute-alias=n -Wno-attribute-alias
-Wno-attribute-warning
-Wbidi-chars=[none|unpaired|any|ucn]
-Wbool-compare  -Wbool-operation
-Wno-builtin-declaration-mismatch
-Wno-builtin-macro-redefined  -Wc90-c99-compat  -Wc99-c11-compat
-Wc11-c23-compat  -Wc23-c2y-compat
-Wc++-compat  -Wc++11-compat  -Wc++14-compat  -Wc++17-compat
-Wc++20-compat
-Wno-c++11-extensions  -Wno-c++14-extensions -Wno-c++17-extensions
-Wno-c++20-extensions  -Wno-c++23-extensions
-Wcalloc-transposed-args
-Wcast-align  -Wcast-align=strict  -Wcast-function-type  -Wcast-qual
-Wchar-subscripts
-Wclobbered  -Wcomment
-Wcompare-distinct-pointer-types
-Wno-complain-wrong-lang
-Wconversion  -Wno-coverage-mismatch  -Wno-cpp
-Wdangling-else  -Wdangling-pointer  -Wdangling-pointer=n
-Wdate-time
-Wno-deprecated  -Wno-deprecated-declarations  -Wno-designated-init
-Wdisabled-optimization
-Wno-discarded-array-qualifiers  -Wno-discarded-qualifiers
-Wno-div-by-zero  -Wdouble-promotion
-Wduplicated-branches  -Wduplicated-cond
-Wempty-body  -Wno-endif-labels  -Wenum-compare  -Wenum-conversion
-Wenum-int-mismatch
-Werror  -Werror=*  -Wexpansion-to-defined  -Wfatal-errors
-Wflex-array-member-not-at-end
-Wfloat-conversion  -Wfloat-equal  -Wformat  -Wformat=2
-Wno-format-contains-nul  -Wno-format-extra-args
-Wformat-nonliteral  -Wformat-overflow=n
-Wformat-security  -Wformat-signedness  -Wformat-truncation=n
-Wformat-y2k  -Wframe-address
-Wframe-larger-than=byte-size  -Wno-free-nonheap-object
-Wno-if-not-aligned  -Wno-ignored-attributes
-Wignored-qualifiers  -Wno-incompatible-pointer-types  -Whardened
-Wimplicit  -Wimplicit-fallthrough  -Wimplicit-fallthrough=n
-Wno-implicit-function-declaration  -Wno-implicit-int
-Winfinite-recursion
-Winit-self  -Winline  -Wno-int-conversion  -Wint-in-bool-context
-Wno-int-to-pointer-cast  -Wno-invalid-memory-model
-Winvalid-pch  -Winvalid-utf8  -Wno-unicode  -Wjump-misses-init
-Wlarger-than=byte-size  -Wlogical-not-parentheses  -Wlogical-op
-Wlong-long  -Wno-lto-type-mismatch -Wmain  -Wmaybe-uninitialized
-Wmemset-elt-size  -Wmemset-transposed-args
-Wmisleading-indentation  -Wmissing-attributes  -Wmissing-braces
-Wmissing-field-initializers  -Wmissing-format-attribute
-Wmissing-include-dirs  -Wmissing-noreturn  -Wno-missing-profile
-Wno-multichar  -Wmultistatement-macros  -Wnonnull  -Wnonnull-compare
-Wnormalized=[none|id|nfc|nfkc]
-Wnull-dereference  -Wno-odr
-Wopenacc-parallelism
-Wopenmp -Wopenmp-simd
-Wno-overflow  -Woverlength-strings  -Wno-override-init-side-effects
-Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded
-Wparentheses  -Wno-pedantic-ms-format
-Wpointer-arith  -Wno-pointer-compare  -Wno-pointer-to-int-cast
-Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls
-Wrestrict  -Wno-return-local-addr  -Wreturn-type
-Wno-scalar-storage-order  -Wsequence-point
-Wshadow  -Wshadow=global  -Wshadow=local  -Wshadow=compatible-local
-Wno-shadow-ivar
-Wno-shift-count-negative  -Wno-shift-count-overflow  -Wshift-negative-value
-Wno-shift-overflow  -Wshift-overflow=n
-Wsign-compare  -Wsign-conversion
-Wno-sizeof-array-argument
-Wsizeof-array-div
-Wsizeof-pointer-div  -Wsizeof-pointer-memaccess
-Wstack-protector  -Wstack-usage=byte-size  -Wstrict-aliasing
-Wstrict-aliasing=n  -Wstrict-overflow  -Wstrict-overflow=n
-Wstring-compare
-Wno-stringop-overflow -Wno-stringop-overread
-Wno-stringop-truncation  -Wstrict-flex-arrays
-Wsuggest-attribute=[pure|const|noreturn|format|malloc]
-Wswitch  -Wno-switch-bool  -Wswitch-default  -Wswitch-enum
-Wno-switch-outside-range  -Wno-switch-unreachable  -Wsync-nand
-Wsystem-headers  -Wtautological-compare  -Wtrampolines  -Wtrigraphs
-Wtrivial-auto-var-init  -Wno-tsan  -Wtype-limits  -Wundef
-Wuninitialized  -Wunknown-pragmas
-Wunsuffixed-float-constants
-Wunterminated-string-initialization
-Wunused
-Wunused-but-set-parameter  -Wunused-but-set-variable
-Wunused-const-variable  -Wunused-const-variable=n
-Wunused-function  -Wunused-label  -Wunused-local-typedefs
-Wunused-macros
-Wunused-parameter  -Wno-unused-result
-Wunused-value  -Wunused-variable
-Wuse-after-free  -Wuse-after-free=n  -Wuseless-cast
-Wno-varargs  -Wvariadic-macros
-Wvector-operation-performance
-Wvla  -Wvla-larger-than=byte-size  -Wno-vla-larger-than
-Wvolatile-register-var  -Wwrite-strings
-Wno-xor-used-as-pow
-Wzero-length-bounds
Static Analyzer Options
-fanalyzer
-fanalyzer-call-summaries
-fanalyzer-checker=name
-fno-analyzer-feasibility
-fanalyzer-fine-grained
-fanalyzer-show-events-in-system-headers
-fno-analyzer-state-merge
-fno-analyzer-state-purge
-fno-analyzer-suppress-followups
-fanalyzer-transitivity
-fno-analyzer-undo-inlining
-fanalyzer-verbose-edges
-fanalyzer-verbose-state-changes
-fanalyzer-verbosity=level
-fdump-analyzer
-fdump-analyzer-callgraph
-fdump-analyzer-exploded-graph
-fdump-analyzer-exploded-nodes
-fdump-analyzer-exploded-nodes-2
-fdump-analyzer-exploded-nodes-3
-fdump-analyzer-exploded-paths
-fdump-analyzer-feasibility
-fdump-analyzer-infinite-loop
-fdump-analyzer-json
-fdump-analyzer-state-purge
-fdump-analyzer-stderr
-fdump-analyzer-supergraph
-fdump-analyzer-untracked
-Wno-analyzer-double-fclose
-Wno-analyzer-double-free
-Wno-analyzer-exposure-through-output-file
-Wno-analyzer-exposure-through-uninit-copy
-Wno-analyzer-fd-access-mode-mismatch
-Wno-analyzer-fd-double-close
-Wno-analyzer-fd-leak
-Wno-analyzer-fd-phase-mismatch
-Wno-analyzer-fd-type-mismatch
-Wno-analyzer-fd-use-after-close
-Wno-analyzer-fd-use-without-check
-Wno-analyzer-file-leak
-Wno-analyzer-free-of-non-heap
-Wno-analyzer-imprecise-fp-arithmetic
-Wno-analyzer-infinite-loop
-Wno-analyzer-infinite-recursion
-Wno-analyzer-jump-through-null
-Wno-analyzer-malloc-leak
-Wno-analyzer-mismatching-deallocation
-Wno-analyzer-null-argument
-Wno-analyzer-null-dereference
-Wno-analyzer-out-of-bounds
-Wno-analyzer-overlapping-buffers
-Wno-analyzer-possible-null-argument
-Wno-analyzer-possible-null-dereference
-Wno-analyzer-putenv-of-auto-var
-Wno-analyzer-shift-count-negative
-Wno-analyzer-shift-count-overflow
-Wno-analyzer-stale-setjmp-buffer
-Wno-analyzer-tainted-allocation-size
-Wno-analyzer-tainted-assertion
-Wno-analyzer-tainted-array-index
-Wno-analyzer-tainted-divisor
-Wno-analyzer-tainted-offset
-Wno-analyzer-tainted-size
-Wanalyzer-symbol-too-complex
-Wanalyzer-too-complex
-Wno-analyzer-undefined-behavior-ptrdiff
-Wno-analyzer-undefined-behavior-strtok
-Wno-analyzer-unsafe-call-within-signal-handler
-Wno-analyzer-use-after-free
-Wno-analyzer-use-of-pointer-in-stale-stack-frame
-Wno-analyzer-use-of-uninitialized-value
-Wno-analyzer-va-arg-type-mismatch
-Wno-analyzer-va-list-exhausted
-Wno-analyzer-va-list-leak
-Wno-analyzer-va-list-use-after-va-end
-Wno-analyzer-write-to-const
-Wno-analyzer-write-to-string-literal

C and Objective-C-only Warning Options
-Wbad-function-cast  -Wmissing-declarations
-Wmissing-parameter-type -Wdeclaration-missing-parameter-type
-Wmissing-prototypes -Wmissing-variable-declarations
-Wnested-externs -Wold-style-declaration  -Wold-style-definition
-Wstrict-prototypes  -Wtraditional  -Wtraditional-conversion
-Wdeclaration-after-statement  -Wpointer-sign
Debugging Options

See Options for Debugging Your Program.

-g  -glevel  -gdwarf  -gdwarf-version
-gbtf -gctf  -gctflevel
-gprune-btf -gno-prune-btf
-ggdb  -grecord-gcc-switches  -gno-record-gcc-switches
-gstrict-dwarf  -gno-strict-dwarf
-gas-loc-support  -gno-as-loc-support
-gas-locview-support  -gno-as-locview-support
-gcodeview
-gcolumn-info  -gno-column-info  -gdwarf32  -gdwarf64
-gstatement-frontiers  -gno-statement-frontiers
-gvariable-location-views  -gno-variable-location-views
-ginternal-reset-location-views  -gno-internal-reset-location-views
-ginline-points  -gno-inline-points
-gvms -gz[=type]
-gsplit-dwarf  -gdescribe-dies  -gno-describe-dies
-fdebug-prefix-map=old=new  -fdebug-types-section
-fno-eliminate-unused-debug-types
-femit-struct-debug-baseonly  -femit-struct-debug-reduced
-femit-struct-debug-detailed[=spec-list]
-fno-eliminate-unused-debug-symbols  -femit-class-debug-always
-fno-merge-debug-strings  -fno-dwarf2-cfi-asm
-fvar-tracking  -fvar-tracking-assignments
Optimization Options

See Options that Control Optimization.

-faggressive-loop-optimizations
-falign-functions[=n[:m:[n2[:m2]]]]
-falign-jumps[=n[:m:[n2[:m2]]]]
-falign-labels[=n[:m:[n2[:m2]]]]
-falign-loops[=n[:m:[n2[:m2]]]]
-fmin-function-alignment=[n]
-fno-allocation-dce -fallow-store-data-races
-fassociative-math  -fauto-profile  -fauto-profile[=path]
-fauto-inc-dec  -fbranch-probabilities
-fcaller-saves
-fcombine-stack-adjustments  -fconserve-stack
-ffold-mem-offsets
-fcompare-elim  -fcprop-registers  -fcrossjumping
-fcse-follow-jumps  -fcse-skip-blocks  -fcx-fortran-rules
-fcx-limited-range
-fdata-sections  -fdce  -fdelayed-branch
-fdelete-null-pointer-checks  -fdevirtualize  -fdevirtualize-speculatively
-fdevirtualize-at-ltrans  -fdse
-fearly-inlining  -fipa-sra  -fexpensive-optimizations  -ffat-lto-objects
-ffast-math  -ffinite-math-only  -ffloat-store  -fexcess-precision=style
-ffinite-loops
-fforward-propagate  -ffp-contract=style  -ffunction-sections
-fgcse  -fgcse-after-reload  -fgcse-las  -fgcse-lm  -fgraphite-identity
-fgcse-sm  -fhoist-adjacent-loads  -fif-conversion
-fif-conversion2  -findirect-inlining
-finline-stringops[=fn]
-finline-functions  -finline-functions-called-once  -finline-limit=n
-finline-small-functions -fipa-modref -fipa-cp  -fipa-cp-clone
-fipa-bit-cp  -fipa-vrp  -fipa-pta  -fipa-profile  -fipa-pure-const
-fipa-reference  -fipa-reference-addressable
-fipa-stack-alignment  -fipa-icf  -fira-algorithm=algorithm
-flate-combine-instructions  -flive-patching=level
-fira-region=region  -fira-hoist-pressure
-fira-loop-pressure  -fno-ira-share-save-slots
-fno-ira-share-spill-slots
-fisolate-erroneous-paths-dereference  -fisolate-erroneous-paths-attribute
-fivopts  -fkeep-inline-functions  -fkeep-static-functions
-fkeep-static-consts  -flimit-function-alignment  -flive-range-shrinkage
-floop-block  -floop-interchange  -floop-strip-mine
-floop-unroll-and-jam  -floop-nest-optimize
-floop-parallelize-all  -flra-remat  -flto  -flto-compression-level
-flto-partition=alg  -fmerge-all-constants
-fmerge-constants  -fmodulo-sched  -fmodulo-sched-allow-regmoves
-fmove-loop-invariants  -fmove-loop-stores  -fno-branch-count-reg
-fno-defer-pop  -fno-fp-int-builtin-inexact  -fno-function-cse
-fno-guess-branch-probability  -fno-inline  -fno-math-errno  -fno-peephole
-fno-peephole2  -fno-printf-return-value  -fno-sched-interblock
-fno-sched-spec  -fno-signed-zeros
-fno-toplevel-reorder  -fno-trapping-math  -fno-zero-initialized-in-bss
-fomit-frame-pointer  -foptimize-sibling-calls
-fpartial-inlining  -fpeel-loops  -fpredictive-commoning
-fprefetch-loop-arrays
-fprofile-correction
-fprofile-use  -fprofile-use=path -fprofile-partial-training
-fprofile-values -fprofile-reorder-functions
-freciprocal-math  -free  -frename-registers  -freorder-blocks
-freorder-blocks-algorithm=algorithm
-freorder-blocks-and-partition  -freorder-functions
-frerun-cse-after-loop  -freschedule-modulo-scheduled-loops
-frounding-math  -fsave-optimization-record
-fsched2-use-superblocks  -fsched-pressure
-fsched-spec-load  -fsched-spec-load-dangerous
-fsched-stalled-insns-dep[=n]  -fsched-stalled-insns[=n]
-fsched-group-heuristic  -fsched-critical-path-heuristic
-fsched-spec-insn-heuristic  -fsched-rank-heuristic
-fsched-last-insn-heuristic  -fsched-dep-count-heuristic
-fschedule-fusion
-fschedule-insns  -fschedule-insns2  -fsection-anchors
-fselective-scheduling  -fselective-scheduling2
-fsel-sched-pipelining  -fsel-sched-pipelining-outer-loops
-fsemantic-interposition  -fshrink-wrap  -fshrink-wrap-separate
-fsignaling-nans
-fsingle-precision-constant  -fsplit-ivs-in-unroller  -fsplit-loops
-fsplit-paths
-fsplit-wide-types  -fsplit-wide-types-early  -fssa-backprop  -fssa-phiopt
-fstdarg-opt  -fstore-merging  -fstrict-aliasing -fipa-strict-aliasing
-fthread-jumps  -ftracer  -ftree-bit-ccp
-ftree-builtin-call-dce  -ftree-ccp  -ftree-ch
-ftree-coalesce-vars  -ftree-copy-prop  -ftree-dce  -ftree-dominator-opts
-ftree-dse  -ftree-forwprop  -ftree-fre  -fcode-hoisting
-ftree-loop-if-convert  -ftree-loop-im
-ftree-phiprop  -ftree-loop-distribution  -ftree-loop-distribute-patterns
-ftree-loop-ivcanon  -ftree-loop-linear  -ftree-loop-optimize
-ftree-loop-vectorize
-ftree-parallelize-loops=n  -ftree-pre  -ftree-partial-pre  -ftree-pta
-ftree-reassoc  -ftree-scev-cprop  -ftree-sink  -ftree-slsr  -ftree-sra
-ftree-switch-conversion  -ftree-tail-merge
-ftree-ter  -ftree-vectorize  -ftree-vrp  -ftrivial-auto-var-init
-funconstrained-commons -funit-at-a-time  -funroll-all-loops
-funroll-loops -funsafe-math-optimizations  -funswitch-loops
-fipa-ra  -fvariable-expansion-in-unroller  -fvect-cost-model  -fvpt
-fweb  -fwhole-program  -fwpa  -fuse-linker-plugin -fzero-call-used-regs
--param name=value
-O  -O0  -O1  -O2  -O3  -Os  -Ofast  -Og  -Oz
Program Instrumentation Options

See Program Instrumentation Options.

-p  -pg  -fprofile-arcs  --coverage  -ftest-coverage
-fcondition-coverage
-fprofile-abs-path
-fprofile-dir=path  -fprofile-generate  -fprofile-generate=path
-fprofile-info-section  -fprofile-info-section=name
-fprofile-note=path -fprofile-prefix-path=path
-fprofile-update=method -fprofile-filter-files=regex
-fprofile-exclude-files=regex
-fprofile-reproducible=[multithreaded|parallel-runs|serial]
-fsanitize=style  -fsanitize-recover  -fsanitize-recover=style
-fsanitize-trap   -fsanitize-trap=style
-fasan-shadow-offset=number  -fsanitize-sections=s1,s2,...
-fsanitize-undefined-trap-on-error  -fbounds-check
-fcf-protection=[full|branch|return|none|check]
-fharden-compares -fharden-conditional-branches  -fhardened
-fharden-control-flow-redundancy  -fhardcfr-skip-leaf
-fhardcfr-check-exceptions  -fhardcfr-check-returning-calls
-fhardcfr-check-noreturn-calls=[always|no-xthrow|nothrow|never]
-fstack-protector  -fstack-protector-all  -fstack-protector-strong
-fstack-protector-explicit  -fstack-check
-fstack-limit-register=reg  -fstack-limit-symbol=sym
-fno-stack-limit  -fsplit-stack
-fstrub=disable  -fstrub=strict  -fstrub=relaxed
-fstrub=all  -fstrub=at-calls  -fstrub=internal
-fvtable-verify=[std|preinit|none]
-fvtv-counts  -fvtv-debug
-finstrument-functions  -finstrument-functions-once
-finstrument-functions-exclude-function-list=sym,sym,…
-finstrument-functions-exclude-file-list=file,file,…
-fprofile-prefix-map=old=new
-fpatchable-function-entry=N[,M]
Preprocessor Options

See Options Controlling the Preprocessor.

-Aquestion=answer
-A-question[=answer]
-C  -CC  -Dmacro[=defn]
-dD  -dI  -dM  -dN  -dU
-fdebug-cpp  -fdirectives-only  -fdollars-in-identifiers
-fexec-charset=charset  -fextended-identifiers
-finput-charset=charset  -flarge-source-files
-fmacro-prefix-map=old=new -fmax-include-depth=depth
-fno-canonical-system-headers  -fpch-deps  -fpch-preprocess
-fpreprocessed  -ftabstop=width  -ftrack-macro-expansion
-fwide-exec-charset=charset  -fworking-directory
-H  -imacros file  -include file
-M  -MD  -MF  -MG  -MM  -MMD  -MP  -MQ  -MT -Mno-modules
-no-integrated-cpp  -P  -pthread  -remap
-traditional  -traditional-cpp  -trigraphs
-Umacro  -undef
-Wp,option  -Xpreprocessor option
Assembler Options

See Passing Options to the Assembler.

-Wa,option  -Xassembler option
Linker Options

See Options for Linking.

object-file-name  -fuse-ld=linker  -llibrary
-nostartfiles  -nodefaultlibs  -nolibc  -nostdlib  -nostdlib++
-e entry  --entry=entry
-pie  -pthread  -r  -rdynamic
-s  -static  -static-pie  -static-libgcc  -static-libstdc++
-static-libasan  -static-libtsan  -static-liblsan  -static-libubsan
-shared  -shared-libgcc  -symbolic
-T script  -Wl,option  -Xlinker option
-u symbol  -z keyword
Directory Options

See Options for Directory Search.

-Bprefix  -Idir  -I-
-idirafter dir
-imacros file  -imultilib dir
-iplugindir=dir  -iprefix file
-iquote dir  -isysroot dir  -isystem dir
-iwithprefix dir  -iwithprefixbefore dir
-Ldir  -no-canonical-prefixes  --no-sysroot-suffix
-nostdinc  -nostdinc++  --sysroot=dir
Code Generation Options

See Options for Code Generation Conventions.

-fcall-saved-reg  -fcall-used-reg
-ffixed-reg  -fexceptions
-fnon-call-exceptions  -fdelete-dead-exceptions  -funwind-tables
-fasynchronous-unwind-tables
-fno-gnu-unique
-finhibit-size-directive  -fcommon  -fno-ident
-fpcc-struct-return  -fpic  -fPIC  -fpie  -fPIE  -fno-plt
-fno-jump-tables -fno-bit-tests
-frecord-gcc-switches
-freg-struct-return  -fshort-enums  -fshort-wchar
-fverbose-asm  -fpack-struct[=n]
-fleading-underscore  -ftls-model=model
-fstack-reuse=reuse_level
-ftrampolines -ftrampoline-impl=[stack|heap]
-ftrapv  -fwrapv
-fvisibility=[default|internal|hidden|protected]
-fstrict-volatile-bitfields  -fsync-libcalls
Developer Options

See GCC Developer Options.

-dletters  -dumpspecs  -dumpmachine  -dumpversion
-dumpfullversion  -fcallgraph-info[=su,da]
-fchecking  -fchecking=n
-fdbg-cnt-list  -fdbg-cnt=counter-value-list
-fdisable-ipa-pass_name
-fdisable-rtl-pass_name
-fdisable-rtl-pass-name=range-list
-fdisable-tree-pass_name
-fdisable-tree-pass-name=range-list
-fdump-debug  -fdump-earlydebug
-fdump-noaddr  -fdump-unnumbered  -fdump-unnumbered-links
-fdump-final-insns[=file]
-fdump-ipa-all  -fdump-ipa-cgraph  -fdump-ipa-inline
-fdump-lang-all
-fdump-lang-switch
-fdump-lang-switch-options
-fdump-lang-switch-options=filename
-fdump-passes
-fdump-rtl-pass  -fdump-rtl-pass=filename
-fdump-statistics
-fdump-tree-all
-fdump-tree-switch
-fdump-tree-switch-options
-fdump-tree-switch-options=filename
-fcompare-debug[=opts]  -fcompare-debug-second
-fenable-kind-pass
-fenable-kind-pass=range-list
-fira-verbose=n
-flto-report  -flto-report-wpa  -fmem-report-wpa
-fmem-report  -fpre-ipa-mem-report  -fpost-ipa-mem-report
-fopt-info  -fopt-info-options[=file]
-fmultiflags  -fprofile-report
-frandom-seed=string  -fsched-verbose=n
-fsel-sched-verbose  -fsel-sched-dump-cfg  -fsel-sched-pipelining-verbose
-fstats  -fstack-usage  -ftime-report  -ftime-report-details
-fvar-tracking-assignments-toggle  -gtoggle
-print-file-name=library  -print-libgcc-file-name
-print-multi-directory  -print-multi-lib  -print-multi-os-directory
-print-prog-name=program  -print-search-dirs  -Q
-print-sysroot  -print-sysroot-headers-suffix
-save-temps  -save-temps=cwd  -save-temps=obj  -time[=file]
Machine-Dependent Options

See Machine-Dependent Options.

AArch64 Options

-mabi=name  -mbig-endian  -mlittle-endian
-mgeneral-regs-only
-mcmodel=tiny  -mcmodel=small  -mcmodel=large
-mstrict-align  -mno-strict-align
-momit-leaf-frame-pointer
-mtls-dialect=desc  -mtls-dialect=traditional
-mtls-size=size
-mfix-cortex-a53-835769  -mfix-cortex-a53-843419
-mlow-precision-recip-sqrt  -mlow-precision-sqrt  -mlow-precision-div
-mpc-relative-literal-loads
-msign-return-address=scope
-mbranch-protection=none|standard|pac-ret[+leaf
+b-key]|bti
-mharden-sls=opts
-march=name  -mcpu=name  -mtune=name
-moverride=string  -mverbose-cost-dump
-mstack-protector-guard=guard -mstack-protector-guard-reg=sysreg
-mstack-protector-guard-offset=offset -mtrack-speculation
-moutline-atomics -mearly-ldp-fusion -mlate-ldp-fusion

Adapteva Epiphany Options

-mhalf-reg-file  -mprefer-short-insn-regs
-mbranch-cost=num  -mcmove  -mnops=num  -msoft-cmpsf
-msplit-lohi  -mpost-inc  -mpost-modify  -mstack-offset=num
-mround-nearest  -mlong-calls  -mshort-calls  -msmall16
-mfp-mode=mode  -mvect-double  -max-vect-align=num
-msplit-vecmove-early  -m1reg-reg

AMD GCN Options

-march=gpu -mtune=gpu -mstack-size=bytes

ARC Options

-mbarrel-shifter  -mjli-always
-mcpu=cpu  -mA6  -mARC600  -mA7  -mARC700
-mdpfp  -mdpfp-compact  -mdpfp-fast  -mno-dpfp-lrsr
-mea  -mno-mpy  -mmul32x16  -mmul64  -matomic
-mnorm  -mspfp  -mspfp-compact  -mspfp-fast  -msimd  -msoft-float  -mswap
-mcrc  -mdsp-packa  -mdvbf  -mlock  -mmac-d16  -mmac-24  -mrtsc  -mswape
-mtelephony  -mxy  -misize  -mannotate-align  -marclinux  -marclinux_prof
-mlong-calls  -mmedium-calls  -msdata  -mirq-ctrl-saved
-mrgf-banked-regs  -mlpc-width=width  -G num
-mvolatile-cache  -mtp-regno=regno
-malign-call  -mauto-modify-reg  -mbbit-peephole  -mno-brcc
-mcase-vector-pcrel  -mcompact-casesi  -mno-cond-exec  -mearly-cbranchsi
-mexpand-adddi  -mindexed-loads  -mlra  -mlra-priority-none
-mlra-priority-compact -mlra-priority-noncompact  -mmillicode
-mmixed-code  -mq-class  -mRcq  -mRcw  -msize-level=level
-mtune=cpu  -mmultcost=num  -mcode-density-frame
-munalign-prob-threshold=probability  -mmpy-option=multo
-mdiv-rem  -mcode-density  -mll64  -mfpu=fpu  -mrf16  -mbranch-index

ARM Options

-mapcs-frame  -mno-apcs-frame
-mabi=name
-mapcs-stack-check  -mno-apcs-stack-check
-mapcs-reentrant  -mno-apcs-reentrant
-mgeneral-regs-only
-msched-prolog  -mno-sched-prolog
-mlittle-endian  -mbig-endian
-mbe8  -mbe32
-mfloat-abi=name
-mfp16-format=name
-mthumb-interwork  -mno-thumb-interwork
-mcpu=name  -march=name  -mfpu=name
-mtune=name  -mprint-tune-info
-mstructure-size-boundary=n
-mabort-on-noreturn
-mlong-calls  -mno-long-calls
-msingle-pic-base  -mno-single-pic-base
-mpic-register=reg
-mnop-fun-dllimport
-mpoke-function-name
-mthumb  -marm  -mflip-thumb
-mtpcs-frame  -mtpcs-leaf-frame
-mcaller-super-interworking  -mcallee-super-interworking
-mtp=name  -mtls-dialect=dialect
-mword-relocations
-mfix-cortex-m3-ldrd
-mfix-cortex-a57-aes-1742098
-mfix-cortex-a72-aes-1655431
-munaligned-access
-mneon-for-64bits
-mslow-flash-data
-masm-syntax-unified
-mrestrict-it
-mverbose-cost-dump
-mpure-code
-mcmse
-mfix-cmse-cve-2021-35465
-mstack-protector-guard=guard -mstack-protector-guard-offset=offset
-mfdpic
-mbranch-protection=none|standard|pac-ret[+leaf]
[+bti]|bti[+pac-ret[+leaf]]

AVR Options

-mmcu=mcu  -mabsdata  -maccumulate-args
-mbranch-cost=cost  -mfuse-add=level
-mcall-prologues  -mgas-isr-prologues  -mint8  -mflmap
-mdouble=bits  -mlong-double=bits
-mn_flash=size  -mno-interrupts
-mmain-is-OS_task  -mrelax  -mrmw  -mstrict-X  -mtiny-stack
-mrodata-in-ram  -mfract-convert-truncate
-mshort-calls  -mskip-bug  -nodevicelib  -nodevicespecs
-Waddr-space-convert  -Wmisspelled-isr

Blackfin Options

-mcpu=cpu[-sirevision]
-msim  -momit-leaf-frame-pointer  -mno-omit-leaf-frame-pointer
-mspecld-anomaly  -mno-specld-anomaly  -mcsync-anomaly  -mno-csync-anomaly
-mlow-64k  -mno-low64k  -mstack-check-l1  -mid-shared-library
-mno-id-shared-library  -mshared-library-id=n
-mleaf-id-shared-library  -mno-leaf-id-shared-library
-msep-data  -mno-sep-data  -mlong-calls  -mno-long-calls
-mfast-fp  -minline-plt  -mmulticore  -mcorea  -mcoreb  -msdram
-micplb

C6X Options

-mbig-endian  -mlittle-endian  -march=cpu
-msim  -msdata=sdata-type

CRIS Options

-mcpu=cpu  -march=cpu
-mtune=cpu -mmax-stack-frame=n
-metrax4  -metrax100  -mpdebug  -mcc-init  -mno-side-effects
-mstack-align  -mdata-align  -mconst-align
-m32-bit  -m16-bit  -m8-bit  -mno-prologue-epilogue
-melf  -maout  -sim  -sim2
-mmul-bug-workaround  -mno-mul-bug-workaround

C-SKY Options

-march=arch  -mcpu=cpu
-mbig-endian  -EB  -mlittle-endian  -EL
-mhard-float  -msoft-float  -mfpu=fpu  -mdouble-float  -mfdivdu
-mfloat-abi=name
-melrw  -mistack  -mmp  -mcp  -mcache  -msecurity  -mtrust
-mdsp  -medsp  -mvdsp
-mdiv  -msmart  -mhigh-registers  -manchor
-mpushpop  -mmultiple-stld  -mconstpool  -mstack-size  -mccrt
-mbranch-cost=n  -mcse-cc  -msched-prolog -msim

Darwin Options

-all_load  -allowable_client  -arch  -arch_errors_fatal
-arch_only  -bind_at_load  -bundle  -bundle_loader
-client_name  -compatibility_version  -current_version
-dead_strip
-dependency-file  -dylib_file  -dylinker_install_name
-dynamic  -dynamiclib  -exported_symbols_list
-filelist  -flat_namespace  -force_cpusubtype_ALL
-force_flat_namespace  -headerpad_max_install_names
-iframework
-image_base  -init  -install_name  -keep_private_externs
-multi_module  -multiply_defined  -multiply_defined_unused
-noall_load   -no_dead_strip_inits_and_terms -nodefaultrpaths
-nofixprebinding  -nomultidefs  -noprebind  -noseglinkedit
-pagezero_size  -prebind  -prebind_all_twolevel_modules
-private_bundle  -read_only_relocs  -sectalign
-sectobjectsymbols  -whyload  -seg1addr
-sectcreate  -sectobjectsymbols  -sectorder
-segaddr  -segs_read_only_addr  -segs_read_write_addr
-seg_addr_table  -seg_addr_table_filename  -seglinkedit
-segprot  -segs_read_only_addr  -segs_read_write_addr
-single_module  -static  -sub_library  -sub_umbrella
-twolevel_namespace  -umbrella  -undefined
-unexported_symbols_list  -weak_reference_mismatches
-whatsloaded  -F  -gused  -gfull  -mmacosx-version-min=version
-mkernel  -mone-byte-bool

DEC Alpha Options

-mno-fp-regs  -msoft-float
-mieee  -mieee-with-inexact  -mieee-conformant
-mfp-trap-mode=mode  -mfp-rounding-mode=mode
-mtrap-precision=mode  -mbuild-constants
-mcpu=cpu-type  -mtune=cpu-type
-mbwx  -mmax  -mfix  -mcix
-mfloat-vax  -mfloat-ieee
-mexplicit-relocs  -msmall-data  -mlarge-data
-msmall-text  -mlarge-text
-mmemory-latency=time

eBPF Options

-mbig-endian -mlittle-endian
-mframe-limit=bytes -mxbpf -mco-re -mno-co-re -mjmpext
-mjmp32 -malu32 -mv3-atomics -mbswap -msdiv -msmov -mcpu=version
-masm=dialect -minline-memops-threshold=bytes

FR30 Options

-msmall-model  -mno-lsim

FT32 Options

-msim  -mlra  -mnodiv  -mft32b  -mcompress  -mnopm

FRV Options

-mgpr-32  -mgpr-64  -mfpr-32  -mfpr-64
-mhard-float  -msoft-float
-malloc-cc  -mfixed-cc  -mdword  -mno-dword
-mdouble  -mno-double
-mmedia  -mno-media  -mmuladd  -mno-muladd
-mfdpic  -minline-plt  -mgprel-ro  -multilib-library-pic
-mlinked-fp  -mlong-calls  -malign-labels
-mlibrary-pic  -macc-4  -macc-8
-mpack  -mno-pack  -mno-eflags  -mcond-move  -mno-cond-move
-moptimize-membar  -mno-optimize-membar
-mscc  -mno-scc  -mcond-exec  -mno-cond-exec
-mvliw-branch  -mno-vliw-branch
-mmulti-cond-exec  -mno-multi-cond-exec  -mnested-cond-exec
-mno-nested-cond-exec  -mtomcat-stats
-mTLS  -mtls
-mcpu=cpu

GNU/Linux Options

-mglibc  -muclibc  -mmusl  -mbionic  -mandroid
-tno-android-cc  -tno-android-ld

H8/300 Options

-mrelax  -mh  -ms  -mn  -mexr  -mno-exr  -mint32  -malign-300

HPPA Options

-march=architecture-type
-matomic-libcalls  -mbig-switch
-mcaller-copies  -mdisable-fpregs  -mdisable-indexing
-mordered  -mfast-indirect-calls  -mgas  -mgnu-ld   -mhp-ld
-mfixed-range=register-range
-mcoherent-ldcw -mjump-in-delay  -mlinker-opt  -mlong-calls
-mlong-load-store  -mno-atomic-libcalls  -mno-disable-fpregs
-mno-disable-indexing  -mno-fast-indirect-calls  -mno-gas
-mno-jump-in-delay  -mno-long-load-store
-mno-portable-runtime  -mno-soft-float
-mno-space-regs  -msoft-float  -mpa-risc-1-0
-mpa-risc-1-1  -mpa-risc-2-0  -mportable-runtime
-mschedule=cpu-type  -mspace-regs  -msoft-mult  -msio  -mwsio
-munix=unix-std  -nolibdld  -static  -threads

IA-64 Options

-mbig-endian  -mlittle-endian  -mgnu-as  -mgnu-ld  -mno-pic
-mvolatile-asm-stop  -mregister-names  -msdata  -mno-sdata
-mconstant-gp  -mauto-pic  -mfused-madd
-minline-float-divide-min-latency
-minline-float-divide-max-throughput
-mno-inline-float-divide
-minline-int-divide-min-latency
-minline-int-divide-max-throughput
-mno-inline-int-divide
-minline-sqrt-min-latency  -minline-sqrt-max-throughput
-mno-inline-sqrt
-mdwarf2-asm  -mearly-stop-bits
-mfixed-range=register-range  -mtls-size=tls-size
-mtune=cpu-type  -milp32  -mlp64
-msched-br-data-spec  -msched-ar-data-spec  -msched-control-spec
-msched-br-in-data-spec  -msched-ar-in-data-spec  -msched-in-control-spec
-msched-spec-ldc  -msched-spec-control-ldc
-msched-prefer-non-data-spec-insns  -msched-prefer-non-control-spec-insns
-msched-stop-bits-after-every-cycle  -msched-count-spec-in-critical-path
-msel-sched-dont-check-control-spec  -msched-fp-mem-deps-zero-cost
-msched-max-memory-insns-hard-limit  -msched-max-memory-insns=max-insns

LM32 Options

-mbarrel-shift-enabled  -mdivide-enabled  -mmultiply-enabled
-msign-extend-enabled  -muser-enabled

LoongArch Options

-march=arch-type  -mtune=tune-type -mabi=base-abi-type
-mfpu=fpu-type -msimd=simd-type
-msoft-float -msingle-float -mdouble-float -mlsx -mno-lsx -mlasx -mno-lasx
-mbranch-cost=n  -mcheck-zero-division -mno-check-zero-division
-mcond-move-int  -mno-cond-move-int
-mcond-move-float  -mno-cond-move-float
-memcpy  -mno-memcpy -mstrict-align -mno-strict-align
-mmax-inline-memcpy-size=n
-mexplicit-relocs=style -mexplicit-relocs -mno-explicit-relocs
-mdirect-extern-access -mno-direct-extern-access
-mcmodel=code-model -mrelax -mpass-mrelax-to-as
-mrecip  -mrecip=opt -mfrecipe -mno-frecipe -mdiv32 -mno-div32
-mlam-bh -mno-lam-bh -mlamcas -mno-lamcas -mld-seq-sa -mno-ld-seq-sa
-mtls-dialect=opt

M32R/D Options

-m32r2  -m32rx  -m32r
-mdebug
-malign-loops  -mno-align-loops
-missue-rate=number
-mbranch-cost=number
-mmodel=code-size-model-type
-msdata=sdata-type
-mno-flush-func  -mflush-func=name
-mno-flush-trap  -mflush-trap=number
-G num

M32C Options

-mcpu=cpu  -msim  -memregs=number

M680x0 Options

-march=arch  -mcpu=cpu  -mtune=tune
-m68000  -m68020  -m68020-40  -m68020-60  -m68030  -m68040
-m68060  -mcpu32  -m5200  -m5206e  -m528x  -m5307  -m5407
-mcfv4e  -mbitfield  -mno-bitfield  -mc68000  -mc68020
-mnobitfield  -mrtd  -mno-rtd  -mdiv  -mno-div  -mshort
-mno-short  -mhard-float  -m68881  -msoft-float  -mpcrel
-malign-int  -mstrict-align  -msep-data  -mno-sep-data
-mshared-library-id=n  -mid-shared-library  -mno-id-shared-library
-mxgot  -mno-xgot  -mlong-jump-table-offsets

MCore Options

-mhardlit  -mno-hardlit  -mdiv  -mno-div  -mrelax-immediates
-mno-relax-immediates  -mwide-bitfields  -mno-wide-bitfields
-m4byte-functions  -mno-4byte-functions  -mcallgraph-data
-mno-callgraph-data  -mslow-bytes  -mno-slow-bytes  -mno-lsim
-mlittle-endian  -mbig-endian  -m210  -m340  -mstack-increment

MicroBlaze Options

-msoft-float  -mhard-float  -msmall-divides  -mcpu=cpu
-mmemcpy  -mxl-soft-mul  -mxl-soft-div  -mxl-barrel-shift
-mxl-pattern-compare  -mxl-stack-check  -mxl-gp-opt  -mno-clearbss
-mxl-multiply-high  -mxl-float-convert  -mxl-float-sqrt
-mbig-endian  -mlittle-endian  -mxl-reorder  -mxl-mode-app-model
-mpic-data-is-text-relative

MIPS Options

-EL  -EB  -march=arch  -mtune=arch
-mips1  -mips2  -mips3  -mips4  -mips32  -mips32r2  -mips32r3  -mips32r5
-mips32r6  -mips64  -mips64r2  -mips64r3  -mips64r5  -mips64r6
-mips16  -mno-mips16  -mflip-mips16
-minterlink-compressed  -mno-interlink-compressed
-minterlink-mips16  -mno-interlink-mips16
-mabi=abi  -mabicalls  -mno-abicalls
-mshared  -mno-shared  -mplt  -mno-plt  -mxgot  -mno-xgot
-mgp32  -mgp64  -mfp32  -mfpxx  -mfp64  -mhard-float  -msoft-float
-mno-float  -msingle-float  -mdouble-float
-modd-spreg  -mno-odd-spreg
-mabs=mode  -mnan=encoding
-mdsp  -mno-dsp  -mdspr2  -mno-dspr2
-mmcu  -mmno-mcu
-meva  -mno-eva
-mvirt  -mno-virt
-mxpa  -mno-xpa
-mcrc  -mno-crc
-mginv  -mno-ginv
-mmicromips  -mno-micromips
-mmsa  -mno-msa
-mloongson-mmi  -mno-loongson-mmi
-mloongson-ext  -mno-loongson-ext
-mloongson-ext2  -mno-loongson-ext2
-mfpu=fpu-type
-msmartmips  -mno-smartmips
-mpaired-single  -mno-paired-single  -mdmx  -mno-mdmx
-mips3d  -mno-mips3d  -mmt  -mno-mt  -mllsc  -mno-llsc
-mlong64  -mlong32  -msym32  -mno-sym32
-Gnum  -mlocal-sdata  -mno-local-sdata
-mextern-sdata  -mno-extern-sdata  -mgpopt  -mno-gopt
-membedded-data  -mno-embedded-data
-muninit-const-in-rodata  -mno-uninit-const-in-rodata
-mcode-readable=setting
-msplit-addresses  -mno-split-addresses
-mexplicit-relocs  -mno-explicit-relocs
-mexplicit-relocs=release
-mcheck-zero-division  -mno-check-zero-division
-mdivide-traps  -mdivide-breaks
-mload-store-pairs  -mno-load-store-pairs
-mstrict-align  -mno-strict-align
-mno-unaligned-access  -munaligned-access
-mmemcpy  -mno-memcpy  -mlong-calls  -mno-long-calls
-mmad  -mno-mad  -mimadd  -mno-imadd  -mfused-madd  -mno-fused-madd  -nocpp
-mfix-24k  -mno-fix-24k
-mfix-r4000  -mno-fix-r4000  -mfix-r4400  -mno-fix-r4400
-mfix-r5900  -mno-fix-r5900
-mfix-r10000  -mno-fix-r10000  -mfix-rm7000  -mno-fix-rm7000
-mfix-vr4120  -mno-fix-vr4120
-mfix-vr4130  -mno-fix-vr4130  -mfix-sb1  -mno-fix-sb1
-mflush-func=func  -mno-flush-func
-mbranch-cost=num  -mbranch-likely  -mno-branch-likely
-mcompact-branches=policy
-mfp-exceptions  -mno-fp-exceptions
-mvr4130-align  -mno-vr4130-align  -msynci  -mno-synci
-mlxc1-sxc1  -mno-lxc1-sxc1  -mmadd4  -mno-madd4
-mrelax-pic-calls  -mno-relax-pic-calls  -mmcount-ra-address
-mframe-header-opt  -mno-frame-header-opt

MMIX Options

-mlibfuncs  -mno-libfuncs  -mepsilon  -mno-epsilon  -mabi=gnu
-mabi=mmixware  -mzero-extend  -mknuthdiv  -mtoplevel-symbols
-melf  -mbranch-predict  -mno-branch-predict  -mbase-addresses
-mno-base-addresses  -msingle-exit  -mno-single-exit

MN10300 Options

-mmult-bug  -mno-mult-bug
-mno-am33  -mam33  -mam33-2  -mam34
-mtune=cpu-type
-mreturn-pointer-on-d0
-mno-crt0  -mrelax  -mliw  -msetlb

Moxie Options

-meb  -mel  -mmul.x  -mno-crt0

MSP430 Options

-msim  -masm-hex  -mmcu=  -mcpu=  -mlarge  -msmall  -mrelax
-mwarn-mcu
-mcode-region=  -mdata-region=
-msilicon-errata=  -msilicon-errata-warn=
-mhwmult=  -minrt  -mtiny-printf  -mmax-inline-shift=

NDS32 Options

-mbig-endian  -mlittle-endian
-mreduced-regs  -mfull-regs
-mcmov  -mno-cmov
-mext-perf  -mno-ext-perf
-mext-perf2  -mno-ext-perf2
-mext-string  -mno-ext-string
-mv3push  -mno-v3push
-m16bit  -mno-16bit
-misr-vector-size=num
-mcache-block-size=num
-march=arch
-mcmodel=code-model
-mctor-dtor  -mrelax

Nios II Options

-G num  -mgpopt=option  -mgpopt  -mno-gpopt
-mgprel-sec=regexp  -mr0rel-sec=regexp
-mel  -meb
-mno-bypass-cache  -mbypass-cache
-mno-cache-volatile  -mcache-volatile
-mno-fast-sw-div  -mfast-sw-div
-mhw-mul  -mno-hw-mul  -mhw-mulx  -mno-hw-mulx  -mno-hw-div  -mhw-div
-mcustom-insn=N  -mno-custom-insn
-mcustom-fpu-cfg=name
-mhal  -msmallc  -msys-crt0=name  -msys-lib=name
-march=arch  -mbmx  -mno-bmx  -mcdx  -mno-cdx

Nvidia PTX Options

-m64  -mmainkernel  -moptimize

OpenRISC Options

-mboard=name  -mnewlib  -mhard-mul  -mhard-div
-msoft-mul  -msoft-div
-msoft-float  -mhard-float  -mdouble-float -munordered-float
-mcmov  -mror  -mrori  -msext  -msfimm  -mshftimm
-mcmodel=code-model

PDP-11 Options

-mfpu  -msoft-float  -mac0  -mno-ac0  -m40  -m45  -m10
-mint32  -mno-int16  -mint16  -mno-int32
-msplit  -munix-asm  -mdec-asm  -mgnu-asm  -mlra

PowerPC Options See RS/6000 and PowerPC Options.

PRU Options

-mmcu=mcu  -minrt  -mno-relax  -mloop
-mabi=variant

RISC-V Options

-mbranch-cost=N-instruction
-mplt  -mno-plt
-mabi=ABI-string
-mfdiv  -mno-fdiv
-mfence-tso  -mno-fence-tso
-mdiv  -mno-div
-misa-spec=ISA-spec-string
-march=ISA-string
-mtune=processor-string
-mpreferred-stack-boundary=num
-msmall-data-limit=N-bytes
-msave-restore  -mno-save-restore
-mshorten-memrefs  -mno-shorten-memrefs
-mstrict-align  -mno-strict-align
-mcmodel=medlow  -mcmodel=medany -mcmodel=large
-mexplicit-relocs  -mno-explicit-relocs
-mrelax  -mno-relax
-mriscv-attribute  -mno-riscv-attribute
-malign-data=type
-mbig-endian  -mlittle-endian
-mstack-protector-guard=guard  -mstack-protector-guard-reg=reg
-mstack-protector-guard-offset=offset
-mcsr-check -mno-csr-check
-mmovcc  -mno-movcc
-minline-atomics  -mno-inline-atomics
-minline-strlen  -mno-inline-strlen
-minline-strcmp  -mno-inline-strcmp
-minline-strncmp  -mno-inline-strncmp
-mtls-dialect=desc  -mtls-dialect=trad

RL78 Options

-msim  -mmul=none  -mmul=g13  -mmul=g14  -mallregs
-mcpu=g10  -mcpu=g13  -mcpu=g14  -mg10  -mg13  -mg14
-m64bit-doubles  -m32bit-doubles  -msave-mduc-in-interrupts

RS/6000 and PowerPC Options

-mcpu=cpu-type
-mtune=cpu-type
-mcmodel=code-model
-mpowerpc64
-maltivec  -mno-altivec
-mpowerpc-gpopt  -mno-powerpc-gpopt
-mpowerpc-gfxopt  -mno-powerpc-gfxopt
-mmfcrf  -mno-mfcrf  -mpopcntb  -mno-popcntb  -mpopcntd  -mno-popcntd
-mfprnd  -mno-fprnd
-mcmpb  -mno-cmpb  -mhard-dfp  -mno-hard-dfp
-mfull-toc   -mminimal-toc  -mno-fp-in-toc  -mno-sum-in-toc
-m64  -m32  -mxl-compat  -mno-xl-compat  -mpe
-malign-power  -malign-natural
-msoft-float  -mhard-float  -mmultiple  -mno-multiple
-mupdate  -mno-update
-mavoid-indexed-addresses  -mno-avoid-indexed-addresses
-mfused-madd  -mno-fused-madd  -mbit-align  -mno-bit-align
-mstrict-align  -mno-strict-align  -mrelocatable
-mno-relocatable  -mrelocatable-lib  -mno-relocatable-lib
-mtoc  -mno-toc  -mlittle  -mlittle-endian  -mbig  -mbig-endian
-mdynamic-no-pic  -mswdiv  -msingle-pic-base
-mprioritize-restricted-insns=priority
-msched-costly-dep=dependence_type
-minsert-sched-nops=scheme
-mcall-aixdesc  -mcall-eabi  -mcall-freebsd
-mcall-linux  -mcall-netbsd  -mcall-openbsd
-mcall-sysv  -mcall-sysv-eabi  -mcall-sysv-noeabi
-mtraceback=traceback_type
-maix-struct-return  -msvr4-struct-return
-mabi=abi-type  -msecure-plt  -mbss-plt
-mlongcall  -mno-longcall  -mpltseq  -mno-pltseq
-mblock-move-inline-limit=num
-mblock-compare-inline-limit=num
-mblock-compare-inline-loop-limit=num
-mno-block-ops-unaligned-vsx
-mstring-compare-inline-limit=num
-misel  -mno-isel
-mvrsave  -mno-vrsave
-mmulhw  -mno-mulhw
-mdlmzb  -mno-dlmzb
-mprototype  -mno-prototype
-msim  -mmvme  -mads  -myellowknife  -memb  -msdata
-msdata=opt  -mreadonly-in-sdata  -mvxworks  -G num
-mrecip  -mrecip=opt  -mno-recip  -mrecip-precision
-mno-recip-precision
-mveclibabi=type  -mfriz  -mno-friz
-mpointers-to-nested-functions  -mno-pointers-to-nested-functions
-msave-toc-indirect  -mno-save-toc-indirect
-mpower8-fusion  -mno-mpower8-fusion
-mcrypto  -mno-crypto  -mhtm  -mno-htm
-mquad-memory  -mno-quad-memory
-mquad-memory-atomic  -mno-quad-memory-atomic
-mcompat-align-parm  -mno-compat-align-parm
-mfloat128  -mno-float128  -mfloat128-hardware  -mno-float128-hardware
-mgnu-attribute  -mno-gnu-attribute
-mstack-protector-guard=guard -mstack-protector-guard-reg=reg
-mstack-protector-guard-offset=offset -mprefixed -mno-prefixed
-mpcrel -mno-pcrel -mmma -mno-mmma -mrop-protect -mno-rop-protect
-mprivileged -mno-privileged

RX Options

-m64bit-doubles  -m32bit-doubles  -fpu  -nofpu
-mcpu=
-mbig-endian-data  -mlittle-endian-data
-msmall-data
-msim  -mno-sim
-mas100-syntax  -mno-as100-syntax
-mrelax
-mmax-constant-size=
-mint-register=
-mpid
-mallow-string-insns  -mno-allow-string-insns
-mjsr
-mno-warn-multiple-fast-interrupts
-msave-acc-in-interrupts

S/390 and zSeries Options

-mtune=cpu-type  -march=cpu-type
-mhard-float  -msoft-float  -mhard-dfp  -mno-hard-dfp
-mlong-double-64  -mlong-double-128
-mbackchain  -mno-backchain  -mpacked-stack  -mno-packed-stack
-msmall-exec  -mno-small-exec  -mmvcle  -mno-mvcle
-m64  -m31  -mdebug  -mno-debug  -mesa  -mzarch
-mhtm  -mvx  -mzvector
-mtpf-trace  -mno-tpf-trace  -mtpf-trace-skip  -mno-tpf-trace-skip
-mfused-madd  -mno-fused-madd
-mwarn-framesize  -mwarn-dynamicstack  -mstack-size  -mstack-guard
-mhotpatch=halfwords,halfwords

SH Options

-m1  -m2  -m2e
-m2a-nofpu  -m2a-single-only  -m2a-single  -m2a
-m3  -m3e
-m4-nofpu  -m4-single-only  -m4-single  -m4
-m4a-nofpu  -m4a-single-only  -m4a-single  -m4a  -m4al
-mb  -ml  -mdalign  -mrelax
-mbigtable  -mfmovd  -mrenesas  -mno-renesas  -mnomacsave
-mieee  -mno-ieee  -mbitops  -misize  -minline-ic_invalidate  -mpadstruct
-mprefergot  -musermode  -multcost=number  -mdiv=strategy
-mdivsi3_libfunc=name  -mfixed-range=register-range
-maccumulate-outgoing-args
-matomic-model=atomic-model
-mbranch-cost=num  -mzdcbranch  -mno-zdcbranch
-mcbranch-force-delay-slot
-mfused-madd  -mno-fused-madd  -mfsca  -mno-fsca  -mfsrra  -mno-fsrra
-mpretend-cmove  -mtas

Solaris 2 Options

-mclear-hwcap  -mno-clear-hwcap  -mimpure-text  -mno-impure-text
-pthreads

SPARC Options

-mcpu=cpu-type
-mtune=cpu-type
-mcmodel=code-model
-mmemory-model=mem-model
-m32  -m64  -mapp-regs  -mno-app-regs
-mfaster-structs  -mno-faster-structs  -mflat  -mno-flat
-mfpu  -mno-fpu  -mhard-float  -msoft-float
-mhard-quad-float  -msoft-quad-float
-mstack-bias  -mno-stack-bias
-mstd-struct-return  -mno-std-struct-return
-munaligned-doubles  -mno-unaligned-doubles
-muser-mode  -mno-user-mode
-mv8plus  -mno-v8plus  -mvis  -mno-vis
-mvis2  -mno-vis2  -mvis3  -mno-vis3
-mvis4  -mno-vis4  -mvis4b  -mno-vis4b
-mcbcond  -mno-cbcond  -mfmaf  -mno-fmaf  -mfsmuld  -mno-fsmuld
-mpopc  -mno-popc  -msubxc  -mno-subxc
-mfix-at697f  -mfix-ut699  -mfix-ut700  -mfix-gr712rc
-mlra  -mno-lra

System V Options

-Qy  -Qn  -YP,paths  -Ym,dir

V850 Options

-mlong-calls  -mno-long-calls  -mep  -mno-ep
-mprolog-function  -mno-prolog-function  -mspace
-mtda=n  -msda=n  -mzda=n
-mapp-regs  -mno-app-regs
-mdisable-callt  -mno-disable-callt
-mv850e2v3  -mv850e2  -mv850e1  -mv850es
-mv850e  -mv850  -mv850e3v5
-mloop
-mrelax
-mlong-jumps
-msoft-float
-mhard-float
-mgcc-abi
-mrh850-abi
-mbig-switch

VAX Options

-munix  -mgnu  -md  -md-float  -mg  -mg-float  -mlra

Visium Options

-mdebug  -msim  -mfpu  -mno-fpu  -mhard-float  -msoft-float
-mcpu=cpu-type  -mtune=cpu-type  -msv-mode  -muser-mode

VMS Options

-mvms-return-codes  -mdebug-main=prefix  -mmalloc64
-mpointer-size=size

VxWorks Options

-mrtp  -msmp  -non-static  -Bstatic  -Bdynamic
-Xbind-lazy  -Xbind-now

x86 Options

-mtune=cpu-type  -march=cpu-type
-mtune-ctrl=feature-list  -mdump-tune-features  -mno-default
-mfpmath=unit
-masm=dialect  -mno-fancy-math-387
-mno-fp-ret-in-387  -m80387  -mhard-float  -msoft-float
-mno-wide-multiply  -mrtd  -malign-double
-mpreferred-stack-boundary=num
-mincoming-stack-boundary=num
-mcld  -mcx16  -msahf  -mmovbe  -mcrc32 -mmwait
-mrecip  -mrecip=opt
-mvzeroupper  -mprefer-avx128  -mprefer-vector-width=opt
-mpartial-vector-fp-math
-mmove-max=bits -mstore-max=bits
-mnoreturn-no-callee-saved-registers
-mmmx  -msse  -msse2  -msse3  -mssse3  -msse4.1  -msse4.2  -msse4  -mavx
-mavx2  -mavx512f  -mavx512cd  -mavx512vl
-mavx512bw  -mavx512dq  -mavx512ifma  -mavx512vbmi  -msha  -maes
-mpclmul  -mfsgsbase  -mrdrnd  -mf16c  -mfma  -mpconfig  -mwbnoinvd
-mptwrite  -mclflushopt  -mclwb  -mxsavec  -mxsaves
-msse4a  -m3dnow  -m3dnowa  -mpopcnt  -mabm  -mbmi  -mtbm  -mfma4  -mxop
-madx  -mlzcnt  -mbmi2  -mfxsr  -mxsave  -mxsaveopt  -mrtm  -mhle  -mlwp
-mmwaitx  -mclzero  -mpku  -mthreads  -mgfni  -mvaes  -mwaitpkg
-mshstk -mmanual-endbr -mcet-switch -mforce-indirect-call
-mavx512vbmi2 -mavx512bf16 -menqcmd
-mvpclmulqdq  -mavx512bitalg  -mmovdiri  -mmovdir64b  -mavx512vpopcntdq
-mavx512vnni  -mprfchw  -mrdpid
-mrdseed  -msgx -mavx512vp2intersect -mserialize -mtsxldtrk
-mamx-tile  -mamx-int8  -mamx-bf16 -muintr -mhreset -mavxvnni
-mavx512fp16 -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16
-mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4 -mapxf
-musermsr -mavx10.1 -mavx10.1-256 -mavx10.1-512 -mevex512
-mcldemote  -mms-bitfields  -mno-align-stringops  -minline-all-stringops
-minline-stringops-dynamically  -mstringop-strategy=alg
-mkl -mwidekl
-mmemcpy-strategy=strategy  -mmemset-strategy=strategy
-mpush-args  -maccumulate-outgoing-args  -m128bit-long-double
-m96bit-long-double  -mlong-double-64  -mlong-double-80  -mlong-double-128
-mregparm=num  -msseregparm
-mveclibabi=type  -mvect8-ret-in-mem
-mpc32  -mpc64  -mpc80  -mdaz-ftz -mstackrealign
-momit-leaf-frame-pointer  -mno-red-zone  -mno-tls-direct-seg-refs
-mcmodel=code-model  -mabi=name  -maddress-mode=mode
-m32  -m64  -mx32  -m16  -miamcu  -mlarge-data-threshold=num
-msse2avx  -mfentry  -mrecord-mcount  -mnop-mcount  -m8bit-idiv
-minstrument-return=type -mfentry-name=name -mfentry-section=name
-mavx256-split-unaligned-load  -mavx256-split-unaligned-store
-malign-data=type  -mstack-protector-guard=guard
-mstack-protector-guard-reg=reg
-mstack-protector-guard-offset=offset
-mstack-protector-guard-symbol=symbol
-mgeneral-regs-only  -mcall-ms2sysv-xlogues -mrelax-cmpxchg-loop
-mindirect-branch=choice  -mfunction-return=choice
-mindirect-branch-register -mharden-sls=choice
-mindirect-branch-cs-prefix -mneeded -mno-direct-extern-access
-munroll-only-small-loops -mlam=choice

x86 Windows Options

Cygwin and MinGW Options

-mconsole  -mcrtdll=library  -mdll
-mnop-fun-dllimport  -mthread
-municode  -mwin32  -mwindows  -fno-set-stack-executable

Xstormy16 Options

-msim

Xtensa Options

-mconst16  -mno-const16
-mfused-madd  -mno-fused-madd
-mforce-no-pic
-mserialize-volatile  -mno-serialize-volatile
-mtext-section-literals  -mno-text-section-literals
-mauto-litpools  -mno-auto-litpools
-mtarget-align  -mno-target-align
-mlongcalls  -mno-longcalls
-mabi=abi-type
-mextra-l32r-costs=cycles
-mstrict-align  -mno-strict-align

zSeries Options See S/390 and zSeries Options.