W3cubDocs

/GCC 4

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  -no-canonical-prefixes  
-pipe  -pass-exit-codes  
-x language  -v  -###  --help[=class[,...]]  --target-help  
--version -wrapper @file -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  -fgnu89-inline 
-aux-info filename -fallow-parameterless-variadic-functions 
-fno-asm  -fno-builtin  -fno-builtin-function 
-fhosted  -ffreestanding -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++ Language Options
See Options 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  -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 
-fvtv-counts -fvtv-debug 
-fvisibility-ms-compat 
-fext-numeric-literals 
-Wabi  -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++ 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 
-freplace-objc-classes 
-fzero-link 
-gen-decls 
-Wassign-intercept 
-Wno-protocol  -Wselector 
-Wstrict-selector-match 
-Wundeclared-selector
Language Independent Options
See Options to Control Diagnostic Messages Formatting.
-fmessage-length=n  
-fdiagnostics-show-location=[once|every-line]  
-fdiagnostics-color=[auto|never|always]  
-fno-diagnostics-show-option -fno-diagnostics-show-caret
Warning Options
See Options to Request or Suppress Warnings.
-fsyntax-only  -fmax-errors=n  -Wpedantic 
-pedantic-errors 
-w  -Wextra  -Wall  -Waddress  -Waggregate-return  
-Waggressive-loop-optimizations -Warray-bounds 
-Wno-attributes -Wno-builtin-macro-redefined 
-Wc++-compat -Wc++11-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 -Wdisabled-optimization  
-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-y2k 
-Wframe-larger-than=len -Wno-free-nonheap-object -Wjump-misses-init 
-Wignored-qualifiers 
-Wimplicit  -Wimplicit-function-declaration  -Wimplicit-int 
-Winit-self  -Winline -Wmaybe-uninitialized 
-Wno-int-to-pointer-cast -Wno-invalid-offsetof 
-Winvalid-pch -Wlarger-than=len  -Wunsafe-loop-optimizations 
-Wlogical-op -Wlong-long 
-Wmain -Wmaybe-uninitialized -Wmissing-braces  -Wmissing-field-initializers 
-Wmissing-include-dirs 
-Wno-multichar  -Wnonnull  -Wno-overflow -Wopenmp-simd 
-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 
-Wsign-compare  -Wsign-conversion -Wfloat-conversion 
-Wsizeof-pointer-memaccess 
-Wstack-protector -Wstack-usage=len -Wstrict-aliasing 
-Wstrict-aliasing=n  -Wstrict-overflow -Wstrict-overflow=n 
-Wsuggest-attribute=[pure|const|noreturn|format] 
-Wmissing-format-attribute 
-Wswitch  -Wswitch-default  -Wswitch-enum -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
-Wbad-function-cast  -Wmissing-declarations 
-Wmissing-parameter-type  -Wmissing-prototypes  -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 or GCC.
-dletters  -dumpspecs  -dumpmachine  -dumpversion 
-fsanitize=style 
-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-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[-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-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=string -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  -glevel  -gtoggle  -gcoff  -gdwarf-version 
-ggdb  -grecord-gcc-switches  -gno-record-gcc-switches 
-gstabs  -gstabs+  -gstrict-dwarf  -gno-strict-dwarf 
-gvms  -gxcoff  -gxcoff+ 
-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-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]
Optimization Options
See Options that Control Optimization.
-faggressive-loop-optimizations -falign-functions[=n] 
-falign-jumps[=n] 
-falign-labels[=n] -falign-loops[=n] 
-fassociative-math -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 -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-pta -fipa-profile -fipa-pure-const -fipa-reference 
-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-nest-optimize 
-floop-parallelize-all -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-insns -fschedule-insns2 -fsection-anchors 
-fselective-scheduling -fselective-scheduling2 
-fsel-sched-pipelining -fsel-sched-pipelining-outer-loops 
-fshrink-wrap -fsignaling-nans -fsingle-precision-constant 
-fsplit-ivs-in-unroller -fsplit-wide-types -fstack-protector 
-fstack-protector-all -fstack-protector-strong -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 
-fvariable-expansion-in-unroller -fvect-cost-model -fvpt -fweb 
-fwhole-program -fwpa -fuse-ld=linker -fuse-linker-plugin 
--param name=value
-O  -O0  -O1  -O2  -O3  -Os -Ofast -Og
Preprocessor Options
See Options Controlling the Preprocessor.
-Aquestion=answer 
-A-question[=answer] 
-C  -dD  -dI  -dM  -dN 
-Dmacro[=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  -Umacro  
-Wp,option -Xpreprocessor option -no-integrated-cpp
Assembler Option
See Passing Options to the Assembler.
-Wa,option  -Xassembler option
Linker Options
See Options for Linking.
object-file-name  -llibrary 
-nostartfiles  -nodefaultlibs  -nostdlib -pie -rdynamic 
-s  -static -static-libgcc -static-libstdc++ 
-static-libasan -static-libtsan -static-liblsan -static-libubsan 
-shared -shared-libgcc  -symbolic 
-T script  -Wl,option  -Xlinker option 
-u symbol
Directory Options
See Options for Directory Search.
-Bprefix -Idir -iplugindir=dir 
-iquotedir -Ldir -specs=file -I- 
--sysroot=dir --no-sysroot-suffix
Machine Dependent Options
See Hardware 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-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  -mwords-little-endian 
-mfloat-abi=name 
-mfp16-format=name
-mthumb-interwork  -mno-thumb-interwork 
-mcpu=name  -march=name  -mfpu=name  
-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 
-mrestrict-it

AVR Options

-mmcu=mcu -maccumulate-args -mbranch-cost=cost 
-mcall-prologues -mint8 -mno-interrupts -mrelax 
-mstrict-X -mtiny-stack -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-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-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

FR30 Options

-msmall-model -mno-lsim

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 -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 
-mdisable-fpregs  -mdisable-indexing 
-mfast-indirect-calls  -mgas  -mgnu-ld   -mhp-ld 
-mfixed-range=register-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-type  -mspace-regs  -msio  -mwsio 
-munix=unix-std  -nolibdld  -static  -threads

i386 and x86-64 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  -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 
-msse4a -m3dnow -mpopcnt -mabm -mbmi -mtbm -mfma4 -mxop -mlzcnt 
-mbmi2 -mfxsr -mxsave -mxsaveopt -mrtm -mlwp -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-model -mabi=name -maddress-mode=mode 
-m32 -m64 -mx32 -m16 -mlarge-data-threshold=num 
-msse2avx -mfentry -m8bit-idiv 
-mavx256-split-unaligned-load -mavx256-split-unaligned-store 
-mstack-protector-guard=guard

i386 and x86-64 Windows Options

-mconsole -mcygwin -mno-cygwin -mdll 
-mnop-fun-dllimport -mthread 
-municode -mwin32 -mwindows -fno-set-stack-executable

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

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

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-model

MIPS Options

-EL  -EB  -march=arch  -mtune=arch 
-mips1  -mips2  -mips3  -mips4  -mips32  -mips32r2 
-mips64  -mips64r2 
-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  -mfp64  -mhard-float  -msoft-float 
-mno-float  -msingle-float  -mdouble-float 
-mabs=mode  -mnan=encoding 
-mdsp  -mno-dsp  -mdspr2  -mno-dspr2 
-mmcu -mmno-mcu 
-meva -mno-eva 
-mvirt -mno-virt 
-mmicromips -mno-micromips 
-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 
-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-type 
-mreturn-pointer-on-d0 
-mno-crt0  -mrelax -mliw -msetlb

Moxie Options

-meb -mel -mno-crt0

MSP430 Options

-msim -masm-hex -mmcu= -mcpu= -mlarge -msmall -mrelax 
-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 
-mgp-direct -mno-gp-direct 
-misr-vector-size=num 
-mcache-block-size=num 
-march=arch 
-mforce-fp-as-gp -mforbid-fp-as-gp 
-mex9 -mctor-dtor -mrelax

Nios II Options

-G num -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

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=rl78

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 -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-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

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
-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 
-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-range 
-mindexed-addressing -mgettrcost=number -mpt-fixed 
-maccumulate-outgoing-args -minvalid-symbols 
-matomic-model=atomic-model 
-mbranch-cost=num -mzdcbranch -mno-zdcbranch 
-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-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 
-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-range 
-mea32 -mea64 
-maddress-space-conversion -mno-address-space-conversion 
-mcache-size=cache-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-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

-mg  -mgnu  -munix

VMS Options

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

VxWorks Options

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

x86-64 Options See i386 and x86-64 Options.

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 
-mtarget-align  -mno-target-align 
-mlongcalls  -mno-longcalls

zSeries Options See S/390 and zSeries Options.

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  -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-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 -fstrict-volatile-bitfields -fsync-libcalls

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Option-Summary.html