Here is a summary of all the options, grouped by type. Explanations are in the following sections.
Overall OptionsOptions Controlling the Kind of Output.
-c -S -E -o file -no-canonical-prefixes -pipe -pass-exit-codes -x language -v -### --help`[=``class``[,...]] :option:–target-help` --version -wrapper file -fplugin=```file` -fplugin-arg-```name``=``arg` -fdump-ada-spec`[:option:-slim`] -fada-spec-parent=```unit` -fdump-go-spec=```file`
C Dialect OptionsOptions Controlling C Dialect.
-ansi -std=```standard` -fgnu89-inline -aux-info filename -fallow-parameterless-variadic-functions -fno-asm -fno-builtin -fno-builtin-```function` -fhosted -ffreestanding -fopenacc -fopenmp -fopenmp-simd -fms-extensions -fplan9-extensions -trigraphs -traditional -traditional-cpp -fallow-single-precision -fcond-mismatch -flax-vector-conversions -fsigned-bitfields -fsigned-char -funsigned-bitfields -funsigned-char
C++ Dialect OptionsOptions Controlling C++ Dialect.
-fabi-version=```n` -fno-access-control -fcheck-new -fconstexpr-depth=```n` -ffriend-injection -fno-elide-constructors -fno-enforce-eh-specs -ffor-scope -fno-for-scope -fno-gnu-keywords -fno-implicit-templates -fno-implicit-inline-templates -fno-implement-inlines -fms-extensions -fno-nonansi-builtins -fnothrow-opt -fno-operator-names -fno-optional-diags -fpermissive -fno-pretty-templates -frepo -fno-rtti -fsized-deallocation -fstats -ftemplate-backtrace-limit=```n` -ftemplate-depth=```n` -fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ -fvisibility-inlines-hidden -fvtable-verify=`[std|preinit|none] :option:-fvtv-counts` -fvtv-debug -fvisibility-ms-compat -fext-numeric-literals -Wabi=```n` -Wabi-tag -Wconversion-null -Wctor-dtor-privacy -Wdelete-non-virtual-dtor -Wliteral-suffix -Wnarrowing -Wnoexcept -Wnon-virtual-dtor -Wreorder -Weffc++ -Wstrict-null-sentinel -Wno-non-template-friend -Wold-style-cast -Woverloaded-virtual -Wno-pmf-conversions -Wsign-promo
Objective-C and Objective-C++ Dialect OptionsOptions Controlling Objective-C and Objective-C++ Dialects.
-fconstant-string-class=```class:option:-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] :option:-freplace-objc-classes` -fzero-link -gen-decls -Wassign-intercept -Wno-protocol -Wselector -Wstrict-selector-match -Wundeclared-selector
Language Independent OptionsOptions to Control Diagnostic Messages Formatting.
-fmessage-length=```n` -fdiagnostics-show-location=`[once|every:option:-line`] -fdiagnostics-color=`[auto|never|always] :option:-fno-diagnostics-show-option` -fno-diagnostics-show-caret
Warning OptionsOptions to Request or Suppress Warnings.
-fsyntax-only -fmax-errors=```n` -Wpedantic -pedantic-errors -w -Wextra -Wall -Waddress -Waggregate-return -Waggressive-loop-optimizations -Warray-bounds -Warray-bounds=```n` -Wbool-compare -Wno-attributes -Wno-builtin-macro-redefined -Wc90-c99-compat -Wc99-c11-compat -Wc++-compat -Wc++11-compat -Wc++14-compat -Wcast-align -Wcast-qual -Wchar-subscripts -Wclobbered -Wcomment -Wconditionally-supported -Wconversion -Wcoverage-mismatch -Wdate-time -Wdelete-incomplete -Wno-cpp -Wno-deprecated -Wno-deprecated-declarations -Wno-designated-init -Wdisabled-optimization -Wno-discarded-qualifiers -Wno-discarded-array-qualifiers -Wno-div-by-zero -Wdouble-promotion -Wempty-body -Wenum-compare -Wno-endif-labels -Werror -Werror=* -Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral -Wformat-security -Wformat-signedness -Wformat-y2k -Wframe-larger-than=```len` -Wno-free-nonheap-object -Wjump-misses-init -Wignored-qualifiers -Wincompatible-pointer-types -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wno-int-conversion -Wno-int-to-pointer-cast -Wno-invalid-offsetof -Winvalid-pch -Wlarger-than=```len` -Wunsafe-loop-optimizations -Wlogical-op -Wlogical-not-parentheses -Wlong-long -Wmain -Wmaybe-uninitialized -Wmemset-transposed-args -Wmissing-braces -Wmissing-field-initializers -Wmissing-include-dirs -Wno-multichar -Wnonnull -Wnormalized=`[none|id|nfc|nfkc] :option:-Wodr` -Wno-overflow -Wopenmp-simd -Woverride-init-side-effects -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format -Wpointer-arith -Wno-pointer-to-int-cast -Wredundant-decls -Wno-return-local-addr -Wreturn-type -Wsequence-point -Wshadow -Wno-shadow-ivar -Wshift-count-negative -Wshift-count-overflow -Wshift-negative-value -Wsign-compare -Wsign-conversion -Wfloat-conversion -Wsizeof-pointer-memaccess -Wsizeof-array-argument -Wstack-protector -Wstack-usage=```len` -Wstrict-aliasing -Wstrict-aliasing=n -Wstrict-overflow -Wstrict-overflow=```n` -Wsuggest-attribute=`[pure|const|noreturn|format] :option:-Wsuggest-final-types` -Wsuggest-final-methods -Wsuggest-override -Wmissing-format-attribute -Wswitch -Wswitch-default -Wswitch-enum -Wswitch-bool -Wsync-nand -Wsystem-headers -Wtrampolines -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wno-pragmas -Wunsuffixed-float-constants -Wunused -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wno-unused-result -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -Wuseless-cast -Wvariadic-macros -Wvector-operation-performance -Wvla -Wvolatile-register-var -Wwrite-strings -Wzero-as-null-pointer-constant
C and Objective-C-only Warning Options
Debugging OptionsOptions for Debugging Your Program or GCC.
-d```letters` -dumpspecs -dumpmachine -dumpversion -fsanitize=```style` -fsanitize-recover -fsanitize-recover=```style` -fasan-shadow-offset=```number` -fsanitize-sections=```s1,s2,...` -fsanitize-undefined-trap-on-error -fcheck-pointer-bounds -fchkp-check-incomplete-type -fchkp-first-field-has-own-bounds -fchkp-narrow-bounds -fchkp-narrow-to-innermost-array -fchkp-optimize -fchkp-use-fast-string-functions -fchkp-use-nochk-string-functions -fchkp-use-static-bounds -fchkp-use-static-const-bounds -fchkp-treat-zero-dynamic-size-as-infinite -fchkp-check-read -fchkp-check-read -fchkp-check-write -fchkp-store-bounds -fchkp-instrument-calls -fchkp-instrument-marked-only -fchkp-use-wrappers -fdbg-cnt-list -fdbg-cnt=```counter:option:-value-list``` -fdisable-ipa-```pass_name` -fdisable-rtl-```pass_name` -fdisable-rtl-```pass:option:-name```=``range:option:-list`` -fdisable-tree-```pass_name` -fdisable-tree-```pass:option:-name```=``range:option:-list`` -fdump-noaddr -fdump-unnumbered -fdump-unnumbered-links -fdump-translation-unit`[-``n`] -fdump-class-hierarchy`[-``n`] -fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline -fdump-passes -fdump-statistics -fdump-tree-all -fdump-tree-original`[-``n`] -fdump-tree-optimized`[-``n`] -fdump-tree-cfg -fdump-tree-alias -fdump-tree-ch -fdump-tree-ssa`[-``n`] -fdump-tree-pre`[-``n`] -fdump-tree-ccp`[-``n`] -fdump-tree-dce`[-``n`] -fdump-tree-gimple`[:option:-raw`] -fdump-tree-dom`[-``n`] -fdump-tree-dse`[-``n`] -fdump-tree-phiprop`[-``n`] -fdump-tree-phiopt`[-``n`] -fdump-tree-forwprop`[-``n`] -fdump-tree-copyrename`[-``n`] -fdump-tree-nrv -fdump-tree-vect -fdump-tree-sink -fdump-tree-sra`[-``n`] -fdump-tree-forwprop`[-``n`] -fdump-tree-fre`[-``n`] -fdump-tree-vtable-verify -fdump-tree-vrp`[-``n`] -fdump-tree-storeccp`[-``n`] -fdump-final-insns=```file` -fcompare-debug`[=``opts`] -fcompare-debug-second -feliminate-dwarf2-dups -fno-eliminate-unused-debug-types -feliminate-unused-debug-symbols -femit-class-debug-always -fenable-```kind`-pass -fenable-```kind`-pass``=``range:option:`-list` -fdebug-types-section -fmem-report-wpa -fmem-report -fpre-ipa-mem-report -fpost-ipa-mem-report -fprofile-arcs -fopt-info -fopt-info-```options``[=``file`] -frandom-seed=```number` -fsched-verbose=```n` -fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose -fstack-usage -ftest-coverage -ftime-report -fvar-tracking -fvar-tracking-assignments -fvar-tracking-assignments-toggle -g -g```level` -gtoggle -gcoff -gdwarf-```version` -ggdb -grecord-gcc-switches -gno-record-gcc-switches -gstabs -gstabs+ -gstrict-dwarf -gno-strict-dwarf -gvms -gxcoff -gxcoff+ -gz`[=``type`] -fno-merge-debug-strings -fno-dwarf2-cfi-asm -fdebug-prefix-map=```old``=``new` -femit-struct-debug-baseonly -femit-struct-debug-reduced -femit-struct-debug-detailed`[=``spec:option:-list```] -p -pg -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`]
Optimize OptionsOptions that Control Optimization.
-faggressive-loop-optimizations -falign-functions[=```n`] -falign-jumps[=```n`] -falign-labels[=```n`] -falign-loops[=```n`] -fassociative-math -fauto-profile -fauto-profile[=```path`] -fauto-inc-dec -fbranch-probabilities -fbranch-target-load-optimize -fbranch-target-load-optimize2 -fbtr-bb-exclusive -fcaller-saves -fcheck-data-deps -fcombine-stack-adjustments -fconserve-stack -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` -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-functions -finline-functions-called-once -finline-limit=```n` -finline-small-functions -fipa-cp -fipa-cp-clone -fipa-cp-alignment -fipa-pta -fipa-profile -fipa-pure-const -fipa-reference -fipa-icf -fira-algorithm=```algorithm` -fira-region=```region` -fira-hoist-pressure -fira-loop-pressure -fno-ira-share-save-slots -fno-ira-share-spill-slots -fira-verbose=```n` -fisolate-erroneous-paths-dereference -fisolate-erroneous-paths-attribute -fivopts -fkeep-inline-functions -fkeep-static-consts -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` -flto-report -flto-report-wpa -fmerge-all-constants -fmerge-constants -fmodulo-sched -fmodulo-sched-allow-regmoves -fmove-loop-invariants -fno-branch-count-reg -fno-defer-pop -fno-function-cse -fno-guess-branch-probability -fno-inline -fno-math-errno -fno-peephole -fno-peephole2 -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-report -fprofile-correction -fprofile-dir=```path` -fprofile-generate -fprofile-generate=```path` -fprofile-use -fprofile-use=```path` -fprofile-values -fprofile-reorder-functions -freciprocal-math -free -frename-registers -freorder-blocks -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -freschedule-modulo-scheduled-loops -frounding-math -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 -fsignaling-nans -fsingle-precision-constant -fsplit-ivs-in-unroller -fsplit-wide-types -fssa-phiopt -fstack-protector -fstack-protector-all -fstack-protector-strong -fstack-protector-explicit -fstdarg-opt -fstrict-aliasing -fstrict-overflow -fthread-jumps -ftracer -ftree-bit-ccp -ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-coalesce-inline-vars -ftree-coalesce-vars -ftree-copy-prop -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-loop-if-convert -ftree-loop-if-convert-stores -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-sink -ftree-slsr -ftree-sra -ftree-switch-conversion -ftree-tail-merge -ftree-ter -ftree-vectorize -ftree-vrp -funit-at-a-time -funroll-all-loops -funroll-loops -funsafe-loop-optimizations -funsafe-math-optimizations -funswitch-loops -fipa-ra -fvariable-expansion-in-unroller -fvect-cost-model -fvpt -fweb -fwhole-program -fwpa -fuse-linker-plugin --param name``=``value -O -O0 -O1 -O2 -O3 -Os -Ofast -Og
Preprocessor OptionsOptions Controlling the Preprocessor.
-A```question``=``answer` -A-```question``[=``answer`] -C -dD -dI -dM -dN -D```macro``[=``defn`] -E -H -idirafter dir -include file -imacros file -iprefix file -iwithprefix dir -iwithprefixbefore dir -isystem dir -imultilib dir -isysroot dir -M -MM -MF -MG -MP -MQ -MT -nostdinc -P -fdebug-cpp -ftrack-macro-expansion -fworking-directory -remap -trigraphs -undef -U```macro` -Wp,```option` -Xpreprocessor option -no-integrated-cpp
Assembler OptionsPassing Options to the Assembler.
-Wa,```option` -Xassembler option
Link OptionsOptions for Linking.
``object-file-name`` -fuse-ld=``linker`` -l``library``
-nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic
-s -static -static-libgcc -static-libstdc++
-static-libasan -static-libtsan -static-liblsan -static-libubsan
-static-libmpx -static-libmpxwrappers
-shared -shared-libgcc -symbolic
-T ``script`` -Wl,``option`` -Xlinker ``option``
-u ``symbol`` -z ``keyword``
Directory OptionsOptions for Directory Search.
-B```prefix` -I```dir` -iplugindir=```dir` -iquote```dir` -L```dir` -specs=```file` -I- --sysroot=```dir` --no-sysroot-suffix
Submodel OptionsHardware Models and Configurations.
AArch64 Options
-mabi=```name` -mbig-endian -mlittle-endian -mgeneral-regs-only -mcmodel=tiny -mcmodel=small -mcmodel=large -mstrict-align -momit-leaf-frame-pointer -mno-omit-leaf-frame-pointer -mtls-dialect=desc -mtls-dialect=traditional -mfix-cortex-a53-835769 -mno-fix-cortex-a53-835769 -mfix-cortex-a53-843419 -mno-fix-cortex-a53-843419 -march=```name` -mcpu=```name` -mtune=```name`
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`
ARC Options
-mbarrel-shifter -mcpu=```cpu` -mA6 -mARC600 -mA7 -mARC700 -mdpfp -mdpfp-compact -mdpfp-fast -mno-dpfp-lrsr -mea -mno-mpy -mmul32x16 -mmul64 -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 -mepilogue-cfi -mlong-calls -mmedium-calls -msdata -mucb-mcount -mvolatile-cache -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:option:-priority-noncompact -mno-millicode -mmixed-code -mq-class -mRcq -mRcw -msize-level=```level` -mtune=```cpu` -mmultcost=```num` -munalign-prob-threshold=```probability`
ARM Options
-mapcs-frame -mno-apcs-frame -mabi=```name` -mapcs-stack-check -mno-apcs-stack-check -mapcs-float -mno-apcs-float -mapcs-reentrant -mno-apcs-reentrant -msched-prolog -mno-sched-prolog -mlittle-endian -mbig-endian -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 -mtpcs-frame -mtpcs-leaf-frame -mcaller-super-interworking -mcallee-super-interworking -mtp=```name` -mtls-dialect=```dialect` -mword-relocations -mfix-cortex-m3-ldrd -munaligned-access -mneon-for-64bits -mslow-flash-data -masm-syntax-unified -mrestrict-it
AVR Options
-mmcu=```mcu` -maccumulate-args -mbranch-cost=```cost` -mcall-prologues -mint8 -mn_flash=```size` -mno-interrupts -mrelax -mrmw -mstrict-X -mtiny-stack -nodevicelib -Waddr-space-convert
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:option:-type```
CRIS Options
-mcpu=```cpu` -march=```cpu` -mtune=```cpu` -mmax-stack-frame=```n` -melinux-stacksize=```n` -metrax4 -metrax100 -mpdebug -mcc-init -mno-side-effects -mstack-align -mdata-align -mconst-align -m32-bit -m16-bit -m8-bit -mno-prologue-epilogue -mno-gotplt -melf -maout -melinux -mlinux -sim -sim2 -mmul-bug-workaround -mno-mul-bug-workaround
CR16 Options
-mmac -mcr16cplus -mcr16c -msim -mint32 -mbit-ops -mdata-model=```model`
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 -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:option:-type``` -mtune=```cpu:option:-type``` -mbwx -mmax -mfix -mcix -mfloat-vax -mfloat-ieee -mexplicit-relocs -msmall-data -mlarge-data -msmall-text -mlarge-text -mmemory-latency=```time`
FR30 Options
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:option:-type``` -mdisable-fpregs -mdisable-indexing -mfast-indirect-calls -mgas -mgnu-ld -mhp-ld -mfixed-range=```register:option:-range``` -mjump-in-delay -mlinker-opt -mlong-calls -mlong-load-store -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:option:-type``` -mspace-regs -msio -mwsio -munix=```unix:option:-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:option:-range``` -mtls-size=```tls:option:-size``` -mtune=```cpu:option:-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:option:-insns```
LM32 Options
-mbarrel-shift-enabled -mdivide-enabled -mmultiply-enabled -msign-extend-enabled -muser-enabled
M32R/D Options
-m32r2 -m32rx -m32r -mdebug -malign-loops -mno-align-loops -missue-rate=```number` -mbranch-cost=```number` -mmodel=```code:option:-size-model-type``` -msdata=```sdata:option:-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
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
MeP Options
-mabsdiff -mall-opts -maverage -mbased=```n` -mbitops -mc=```n` -mclip -mconfig=```name` -mcop -mcop32 -mcop64 -mivc2 -mdc -mdiv -meb -mel -mio-volatile -ml -mleadz -mm -mminmax -mmult -mno-opts -mrepeat -ms -msatur -msdram -msim -msimnovec -mtf -mtiny=```n`
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:option:-model```
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 -mmicromips -mno-micromips -mfpu=```fpu:option:-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 -G```num` -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 -mcheck-zero-division -mno-check-zero-division -mdivide-traps -mdivide-breaks -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-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 -mfp-exceptions -mno-fp-exceptions -mvr4130-align -mno-vr4130-align -msynci -mno-synci -mrelax-pic-calls -mno-relax-pic-calls -mmcount-ra-address
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:option:-type``` -mreturn-pointer-on-d0 -mno-crt0 -mrelax -mliw -msetlb
Moxie Options
MSP430 Options
-msim -masm-hex -mmcu= -mcpu= -mlarge -msmall -mrelax -mcode-region= -mdata-region= -mhwmult= -minrt
NDS32 Options
-mbig-endian -mlittle-endian -mreduced-regs -mfull-regs -mcmov -mno-cmov -mperf-ext -mno-perf-ext -mv3push -mno-v3push -m16bit -mno-16bit -misr-vector-size=```num` -mcache-block-size=```num` -march=```arch` -mcmodel=```code:option:-model``` -mctor-dtor -mrelax
Nios II Options
-G num -mgpopt=```option` -mgpopt -mno-gpopt -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`
Nvidia PTX Options
PDP-11 Options
-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 -mbcopy -mbcopy-builtin -mint32 -mno-int16 -mint16 -mno-int32 -mfloat32 -mno-float64 -mfloat64 -mno-float32 -mabshi -mno-abshi -mbranch-expensive -mbranch-cheap -munix-asm -mdec-asm
picoChip Options
-mae=```ae_type` -mvliw-lookahead=```N` -msymbol-as-address -mno-inefficient-warnings
PowerPC Options See RS/6000 and PowerPC Options.
RL78 Options
-msim -mmul=none -mmul=g13 -mmul=g14 -mallregs -mcpu=g10 -mcpu=g13 -mcpu=g14 -mg10 -mg13 -mg14 -m64bit-doubles -m32bit-doubles
RS/6000 and PowerPC Options
-mcpu=```cpu:option:-type``` -mtune=```cpu:option:-type``` -mcmodel=```code:option:-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 -mmfpgpr -mno-mfpgpr -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 -msingle-float -mdouble-float -msimple-fpu -mstring -mno-string -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 -maltivec -mswdiv -msingle-pic-base -mprioritize-restricted-insns=```priority` -msched-costly-dep=```dependence_type` -minsert-sched-nops=```scheme` -mcall-sysv -mcall-netbsd -maix-struct-return -msvr4-struct-return -mabi=```abi:option:-type``` -msecure-plt -mbss-plt -mblock-move-inline-limit=```num` -misel -mno-isel -misel=yes -misel=no -mspe -mno-spe -mspe=yes -mspe=no -mpaired -mgen-cell-microcode -mwarn-cell-microcode -mvrsave -mno-vrsave -mmulhw -mno-mulhw -mdlmzb -mno-dlmzb -mfloat-gprs=yes -mfloat-gprs=no -mfloat-gprs=single -mfloat-gprs=double -mprototype -mno-prototype -msim -mmvme -mads -myellowknife -memb -msdata -msdata=```opt` -mvxworks -G num -pthread -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 -mpower8-vector -mno-power8-vector -mcrypto -mno-crypto -mdirect-move -mno-direct-move -mquad-memory -mno-quad-memory -mquad-memory-atomic -mno-quad-memory-atomic -mcompat-align-parm -mno-compat-align-parm -mupper-regs-df -mno-upper-regs-df -mupper-regs-sf -mno-upper-regs-sf -mupper-regs -mno-upper-regs
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 -mno-warn-multiple-fast-interrupts -msave-acc-in-interrupts
S/390 and zSeries Options
-mtune=```cpu:option:-type``` -march=```cpu:option:-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 -mtpf-trace -mno-tpf-trace -mfused-madd -mno-fused-madd -mwarn-framesize -mwarn-dynamicstack -mstack-size -mstack-guard -mhotpatch=```halfwords`,``halfwords``
Score Options
-meb -mel -mnhwloop -muls -mmac -mscore5 -mscore5u -mscore7 -mscore7d
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 -m5-64media -m5-64media-nofpu -m5-32media -m5-32media-nofpu -m5-compact -m5-compact-nofpu -mb -ml -mdalign -mrelax -mbigtable -mfmovd -mhitachi -mrenesas -mno-renesas -mnomacsave -mieee -mno-ieee -mbitops -misize -minline-ic_invalidate -mpadstruct -mspace -mprefergot -musermode -multcost=```number` -mdiv=```strategy` -mdivsi3_libfunc=```name` -mfixed-range=```register:option:-range``` -mindexed-addressing -mgettrcost=```number` -mpt-fixed -maccumulate-outgoing-args -minvalid-symbols -matomic-model=```atomic:option:-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 -pthread
SPARC Options
-mcpu=```cpu:option:-type``` -mtune=```cpu:option:-type``` -mcmodel=```code:option:-model``` -mmemory-model=```mem:option:-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 -munaligned-doubles -mno-unaligned-doubles -muser-mode -mno-user-mode -mv8plus -mno-v8plus -mvis -mno-vis -mvis2 -mno-vis2 -mvis3 -mno-vis3 -mcbcond -mno-cbcond -mfmaf -mno-fmaf -mpopc -mno-popc -mfix-at697f -mfix-ut699
SPU Options
-mwarn-reloc -merror-reloc -msafe-dma -munsafe-dma -mbranch-hints -msmall-mem -mlarge-mem -mstdmain -mfixed-range=```register:option:-range``` -mea32 -mea64 -maddress-space-conversion -mno-address-space-conversion -mcache-size=```cache:option:-size``` -matomic-updates -mno-atomic-updates
System V Options
-Qy -Qn -YP,```paths` -Ym,```dir`
TILE-Gx Options
-mcpu=CPU -m32 -m64 -mbig-endian -mlittle-endian -mcmodel=```code:option:-model```
TILEPro Options
-mcpu=```cpu` -m32
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
Visium Options
-mdebug -msim -mfpu -mno-fpu -mhard-float -msoft-float -mcpu=```cpu:option:-type``` -mtune=```cpu:option:-type``` -msv-mode -muser-mode
VMS Options
-mvms-return-codes -mdebug-main=```prefix` -mmalloc64 -mpointer-size=```size`
VxWorks Options
-mrtp -non-static -Bstatic -Bdynamic -Xbind-lazy -Xbind-now
x86 Options
-mtune=```cpu:option:-type``` -march=```cpu:option:-type``` -mtune-ctrl=```feature:option:-list``` -mdump-tune-features -mno-default -mfpmath=```unit` -masm=```dialect` -mno-fancy-math-387 -mno-fp-ret-in-387 -msoft-float -mno-wide-multiply -mrtd -malign-double -mpreferred-stack-boundary=```num` -mincoming-stack-boundary=```num` -mcld -mcx16 -msahf -mmovbe -mcrc32 -mrecip -mrecip=```opt` -mvzeroupper -mprefer-avx128 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx -mavx2 -mavx512f -mavx512pf -mavx512er -mavx512cd -msha -maes -mpclmul -mfsgsbase -mrdrnd -mf16c -mfma -mprefetchwt1 -mclflushopt -mxsavec -mxsaves -msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt -mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -mmpx -mthreads -mno-align-stringops -minline-all-stringops -minline-stringops-dynamically -mstringop-strategy=```alg` -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 -mstackrealign -momit-leaf-frame-pointer -mno-red-zone -mno-tls-direct-seg-refs -mcmodel=```code:option:-model``` -mabi=```name` -maddress-mode=```mode` -m32 -m64 -mx32 -m16 -mlarge-data-threshold=```num` -msse2avx -mfentry -mrecord-mcount -mnop-mcount -m8bit-idiv -mavx256-split-unaligned-load -mavx256-split-unaligned-store -malign-data=```type` -mstack-protector-guard=```guard`
x86 Windows Options
-mconsole -mcygwin -mno-cygwin -mdll -mnop-fun-dllimport -mthread -municode -mwin32 -mwindows -fno-set-stack-executable
Xstormy16 Options
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 -mtarget-align -mno-target-align -mlongcalls -mno-longcalls
zSeries Options See S/390 and zSeries Options.
Code Gen OptionsOptions 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 -finstrument-functions -finstrument-functions-exclude-function-list=```sym`,``sym``,... -finstrument-functions-exclude-file-list=```file`,``file``,... -fno-common -fno-ident -fpcc-struct-return -fpic -fPIC -fpie -fPIE -fno-plt -fno-jump-tables -frecord-gcc-switches -freg-struct-return -fshort-enums -fshort-double -fshort-wchar -fverbose-asm -fpack-struct[=```n`] -fstack-check -fstack-limit-register=```reg` -fstack-limit-symbol=```sym` -fno-stack-limit -fsplit-stack -fleading-underscore -ftls-model=```model` -fstack-reuse=```reuse_level` -ftrapv -fwrapv -fbounds-check -fvisibility=`[default|internal|hidden|protected] :option:-fstrict-volatile-bitfields` -fsync-libcalls