GCC 4.1.0 の最適化レベル(-Ox)による違い


229,612

Yesterday: 11 Today: 5

connected: via IPv4

GCC 4.1.0 の最適化レベル(-Ox)による違い


Pentium4

意図的に付加する必要があるオプション

-march=pentium4 -O0

-march=pentium4 -O1

-march=pentium4 -O2

-march=pentium4 -O3

# GNU C++ version 4.1.0 (i686-pc-linux-gnu)
#	compiled by GNU C version 4.1.0.
# GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64482

Pentium3

-O0

# options passed:  -v -D_GNU_SOURCE -march=pentium3 -auxbase-strip -O0
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcommon -fearly-inlining -feliminate-unused-debug-types -fexceptions
# -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno
# -fpcc-struct-return -fpeephole -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
# -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
# -ftree-vect-loop-version -funit-at-a-time -fverbose-asm
# -fzero-initialized-in-bss -m32 -m80387 -m96bit-long-double
# -maccumulate-outgoing-args -malign-stringops -mfancy-math-387
# -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone -mpush-args -msse
# -mtls-direct-seg-refs

-O1

# options passed:  -v -D_GNU_SOURCE -march=pentium3 -auxbase-strip -O1
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcommon -fcprop-registers -fdefer-pop -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -ffunction-cse -fgcse-lm
# -fguess-branch-probability -fident -fif-conversion -fif-conversion2
# -finline-functions-called-once -fipa-pure-const -fipa-reference -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -fpcc-struct-return
# -fpeephole -fsched-interblock -fsched-spec -fsched-stalled-insns-dep
# -fshow-column -fsplit-ivs-in-unroller -ftrapping-math -ftree-ccp
# -ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-dce
# -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
# -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-salias
# -ftree-sink -ftree-sra -ftree-ter -ftree-vect-loop-version
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
# -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -mtls-direct-seg-refs

-O2

# options passed:  -v -D_GNU_SOURCE -march=pentium3 -auxbase-strip -O2
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
# -ffunction-cse -fgcse -fgcse-lm -fguess-branch-probability -fident
# -fif-conversion -fif-conversion2 -finline-functions-called-once
# -fipa-pure-const -fipa-reference -fipa-type-escape -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -foptimize-register-move
# -foptimize-sibling-calls -fpcc-struct-return -fpeephole -fpeephole2
# -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
# -frerun-loop-opt -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fschedule-insns2 -fshow-column
# -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
# -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
# -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
# -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
# -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
# -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
# -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -mtls-direct-seg-refs

-O3

# options passed:  -v -D_GNU_SOURCE -march=pentium3 -auxbase-strip -O3
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
# -ffunction-cse -fgcse -fgcse-after-reload -fgcse-lm
# -fguess-branch-probability -fident -fif-conversion -fif-conversion2
# -finline-functions -finline-functions-called-once -fipa-pure-const
# -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
# -fleading-underscore -floop-optimize -floop-optimize2 -fmath-errno
# -fmerge-constants -foptimize-register-move -foptimize-sibling-calls
# -fpcc-struct-return -fpeephole -fpeephole2 -fregmove -freorder-blocks
# -freorder-functions -frerun-cse-after-loop -frerun-loop-opt
# -fsched-interblock -fsched-spec -fsched-stalled-insns-dep
# -fschedule-insns2 -fshow-column -fsplit-ivs-in-unroller -fstrength-reduce
# -fstrict-aliasing -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch
# -ftree-copy-prop -ftree-copyrename -ftree-dce -ftree-dominator-opts
# -ftree-dse -ftree-fre -ftree-loop-im -ftree-loop-ivcanon
# -ftree-loop-optimize -ftree-lrs -ftree-pre -ftree-salias -ftree-sink
# -ftree-sra -ftree-store-ccp -ftree-store-copy-prop -ftree-ter
# -ftree-vect-loop-version -ftree-vrp -funit-at-a-time -funswitch-loops
# -fverbose-asm -fzero-initialized-in-bss -m32 -m80387 -m96bit-long-double
# -maccumulate-outgoing-args -malign-stringops -mfancy-math-387
# -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone -mpush-args -msse
# -mtls-direct-seg-refs

Pentium4

-O0

# options passed:  -v -D_GNU_SOURCE -march=pentium4 -auxbase-strip -O0
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcommon -fearly-inlining -feliminate-unused-debug-types -fexceptions
# -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno
# -fpcc-struct-return -fpeephole -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
# -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
# -ftree-vect-loop-version -funit-at-a-time -fverbose-asm
# -fzero-initialized-in-bss -m32 -m80387 -m96bit-long-double
# -maccumulate-outgoing-args -malign-stringops -mfancy-math-387
# -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone -mpush-args -msse -msse2
# -mtls-direct-seg-refs

-O1

# options passed:  -v -D_GNU_SOURCE -march=pentium4 -auxbase-strip -O1
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcommon -fcprop-registers -fdefer-pop -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -ffunction-cse -fgcse-lm
# -fguess-branch-probability -fident -fif-conversion -fif-conversion2
# -finline-functions-called-once -fipa-pure-const -fipa-reference -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -fpcc-struct-return
# -fpeephole -fsched-interblock -fsched-spec -fsched-stalled-insns-dep
# -fshow-column -fsplit-ivs-in-unroller -ftrapping-math -ftree-ccp
# -ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-dce
# -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
# -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-salias
# -ftree-sink -ftree-sra -ftree-ter -ftree-vect-loop-version
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
# -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -msse2 -mtls-direct-seg-refs

-O2

# options passed:  -v -D_GNU_SOURCE -march=pentium4 -auxbase-strip -O2
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
# -ffunction-cse -fgcse -fgcse-lm -fguess-branch-probability -fident
# -fif-conversion -fif-conversion2 -finline-functions-called-once
# -fipa-pure-const -fipa-reference -fipa-type-escape -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -foptimize-register-move
# -foptimize-sibling-calls -fpcc-struct-return -fpeephole -fpeephole2
# -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
# -frerun-loop-opt -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
# -fstrength-reduce -fstrict-aliasing -fthread-jumps -ftrapping-math
# -ftree-ccp -ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-dce
# -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
# -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-pre
# -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
# -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m80387
# -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -msse2 -mtls-direct-seg-refs

-O3

# options passed:  -v -D_GNU_SOURCE -march=pentium4 -auxbase-strip -O3
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
# -ffunction-cse -fgcse -fgcse-after-reload -fgcse-lm
# -fguess-branch-probability -fident -fif-conversion -fif-conversion2
# -finline-functions -finline-functions-called-once -fipa-pure-const
# -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
# -fleading-underscore -floop-optimize -floop-optimize2 -fmath-errno
# -fmerge-constants -foptimize-register-move -foptimize-sibling-calls
# -fpcc-struct-return -fpeephole -fpeephole2 -fregmove -freorder-blocks
# -freorder-functions -frerun-cse-after-loop -frerun-loop-opt
# -fsched-interblock -fsched-spec -fsched-stalled-insns-dep -fshow-column
# -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
# -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
# -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
# -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
# -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
# -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
# -funit-at-a-time -funswitch-loops -fverbose-asm -fzero-initialized-in-bss
# -m32 -m80387 -m96bit-long-double -maccumulate-outgoing-args
# -malign-stringops -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx
# -mno-red-zone -mpush-args -msse -msse2 -mtls-direct-seg-refs

Athlon64

-O0

# options passed:  -v -D_GNU_SOURCE -march=athlon64 -auxbase-strip -O0
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcommon -fearly-inlining -feliminate-unused-debug-types -fexceptions
# -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno
# -fpcc-struct-return -fpeephole -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
# -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
# -ftree-vect-loop-version -funit-at-a-time -fverbose-asm
# -fzero-initialized-in-bss -m32 -m3dnow -m80387 -m96bit-long-double
# -maccumulate-outgoing-args -malign-stringops -mfancy-math-387
# -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone -mpush-args -msse -msse2
# -mtls-direct-seg-refs

-O1

# options passed:  -v -D_GNU_SOURCE -march=athlon64 -auxbase-strip -O1
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcommon -fcprop-registers -fdefer-pop -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -ffunction-cse -fgcse-lm
# -fguess-branch-probability -fident -fif-conversion -fif-conversion2
# -finline-functions-called-once -fipa-pure-const -fipa-reference -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -fpcc-struct-return
# -fpeephole -fsched-interblock -fsched-spec -fsched-stalled-insns-dep
# -fshow-column -fsplit-ivs-in-unroller -ftrapping-math -ftree-ccp
# -ftree-ch -ftree-copy-prop -ftree-copyrename -ftree-dce
# -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
# -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-salias
# -ftree-sink -ftree-sra -ftree-ter -ftree-vect-loop-version
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m3dnow
# -m80387 -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -msse2 -mtls-direct-seg-refs

-O2

# options passed:  -v -D_GNU_SOURCE -march=athlon64 -auxbase-strip -O2
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
# -ffunction-cse -fgcse -fgcse-lm -fguess-branch-probability -fident
# -fif-conversion -fif-conversion2 -finline-functions-called-once
# -fipa-pure-const -fipa-reference -fipa-type-escape -fivopts
# -fkeep-static-consts -fleading-underscore -floop-optimize
# -floop-optimize2 -fmath-errno -fmerge-constants -foptimize-register-move
# -foptimize-sibling-calls -fpcc-struct-return -fpeephole -fpeephole2
# -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
# -frerun-loop-opt -fsched-interblock -fsched-spec
# -fsched-stalled-insns-dep -fschedule-insns2 -fshow-column
# -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
# -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
# -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
# -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
# -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
# -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
# -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m32 -m3dnow
# -m80387 -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -msse2 -mtls-direct-seg-refs

-O3

# options passed:  -v -D_GNU_SOURCE -march=athlon64 -auxbase-strip -O3
# -fverbose-asm
# options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
# -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
# -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop
# -fdelete-null-pointer-checks -fearly-inlining
# -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
# -ffunction-cse -fgcse -fgcse-after-reload -fgcse-lm
# -fguess-branch-probability -fident -fif-conversion -fif-conversion2
# -finline-functions -finline-functions-called-once -fipa-pure-const
# -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
# -fleading-underscore -floop-optimize -floop-optimize2 -fmath-errno
# -fmerge-constants -foptimize-register-move -foptimize-sibling-calls
# -fpcc-struct-return -fpeephole -fpeephole2 -fregmove -freorder-blocks
# -freorder-functions -frerun-cse-after-loop -frerun-loop-opt
# -fsched-interblock -fsched-spec -fsched-stalled-insns-dep
# -fschedule-insns2 -fshow-column -fsplit-ivs-in-unroller -fstrength-reduce
# -fstrict-aliasing -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch
# -ftree-copy-prop -ftree-copyrename -ftree-dce -ftree-dominator-opts
# -ftree-dse -ftree-fre -ftree-loop-im -ftree-loop-ivcanon
# -ftree-loop-optimize -ftree-lrs -ftree-pre -ftree-salias -ftree-sink
# -ftree-sra -ftree-store-ccp -ftree-store-copy-prop -ftree-ter
# -ftree-vect-loop-version -ftree-vrp -funit-at-a-time -funswitch-loops
# -fverbose-asm -fzero-initialized-in-bss -m32 -m3dnow -m80387
# -m96bit-long-double -maccumulate-outgoing-args -malign-stringops
# -mfancy-math-387 -mfp-ret-in-387 -mieee-fp -mmmx -mno-red-zone
# -mpush-args -msse -msse2 -mtls-direct-seg-refs



  -m128bit-long-double        sizeof(long double) is 16
  -m32                        Generate 32bit i386 code
  -m3dnow                     Support 3DNow! built-in functions
  -m64                        Generate 64bit x86-64 code
  -m80387                     Use hardware fp
  -m96bit-long-double         sizeof(long double) is 12
  -maccumulate-outgoing-args  Reserve space for outgoing arguments in the
                              function prologue
  -malign-double              Align some doubles on dword boundary
  -malign-functions=          Function starts are aligned to this power of 2
  -malign-jumps=              Jump targets are aligned to this power of 2
  -malign-loops=              Loop code aligned to this power of 2
  -malign-stringops           Align destination of the string operations
  -march=                     Generate code for given CPU
  -masm=                      Use given assembler dialect
  -mbranch-cost=              Branches are this expensive (1-5, arbitrary units)
  -mcmodel=                   Use given x86-64 code model
  -mfancy-math-387            Generate sin, cos, sqrt for FPU
  -mfp-ret-in-387             Return values of functions in FPU registers
  -mfpmath=                   Generate floating point mathematics using given
                              instruction set
  -mhard-float                Use hardware fp
  -mieee-fp                   Use IEEE math for fp comparisons
  -minline-all-stringops      Inline all known string operations
  -mlarge-data-threshold=     Data greater than given threshold will go into
                              .ldata section in x86-64 medium model
  -mmmx                       Support MMX built-in functions
  -mms-bitfields              Use native (MS) bitfield layout
  -momit-leaf-frame-pointer   Omit the frame pointer in leaf functions
  -mpreferred-stack-boundary= Attempt to keep stack aligned to this power of 2
  -mpush-args                 Use push instructions to save outgoing arguments
  -mred-zone                  Use red-zone in the x86-64 code
  -mregparm=                  Number of registers used to pass integer arguments
  -mrtd                       Alternate calling convention
  -msoft-float                Do not use hardware fp
  -msse                       Support MMX and SSE built-in functions and code
                              generation
  -msse2                      Support MMX, SSE and SSE2 built-in functions and
                              code generation
  -msse3                      Support MMX, SSE, SSE2 and SSE3 built-in
                              functions and code generation
  -msseregparm                Use SSE register passing conventions for SF and
                              DF mode
  -mstack-arg-probe           Enable stack probing
  -msvr3-shlib                Uninitialized locals in .bss
  -mtls-dialect=              Use given thread-local storage dialect
  -mtls-direct-seg-refs       Use direct references against %gs when accessing
                              tls data
  -mtune=                     Schedule code for given CPU


SPARC v9(-m64)

-m64 -mcpu=v9 -O0

-m64 -mcpu=v9 -O1

-m64 -mcpu=v9 -O2

-m64 -mcpu=v9 -O3

! GNU C++ version 4.1.0 (sparc-sun-solaris2.10)
!	compiled by GNU C version 3.4.3 (csl-sol210-3_4-branch+sol_rpath).
! GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=65536

sparc v8(-m64)

-O0

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v8 -auxbase-strip -O0 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcommon -fearly-inlining -feliminate-unused-debug-types -fexceptions
! -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts
! -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno
! -fpeephole -freg-struct-return -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
! -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
! -ftree-vect-loop-version -funit-at-a-time -fverbose-asm
! -fzero-initialized-in-bss -m64 -mapp-regs -mfpu -mptr64 -msoft-quad-float
! -mstack-bias

-O1

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v8 -auxbase-strip -O1 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcommon -fcprop-registers -fdefer-pop -fdelayed-branch -fearly-inlining
! -feliminate-unused-debug-types -fexceptions -ffunction-cse -fgcse-lm
! -fguess-branch-probability -fident -fif-conversion -fif-conversion2
! -finline-functions-called-once -fipa-pure-const -fipa-reference -fivopts
! -fkeep-static-consts -fleading-underscore -floop-optimize
! -floop-optimize2 -fmath-errno -fmerge-constants -fomit-frame-pointer
! -fpeephole -freg-struct-return -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
! -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop -ftree-copyrename
! -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
! -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-salias
! -ftree-sink -ftree-sra -ftree-ter -ftree-vect-loop-version
! -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m64 -mapp-regs
! -mfpu -mptr64 -msoft-quad-float -mstack-bias

-O2

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v8 -auxbase-strip -O2 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
! -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop -fdelayed-branch
! -fdelete-null-pointer-checks -fearly-inlining
! -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
! -ffunction-cse -fgcse -fgcse-lm -fguess-branch-probability -fident
! -fif-conversion -fif-conversion2 -finline-functions-called-once
! -fipa-pure-const -fipa-reference -fipa-type-escape -fivopts
! -fkeep-static-consts -fleading-underscore -floop-optimize
! -floop-optimize2 -fmath-errno -fmerge-constants -fomit-frame-pointer
! -foptimize-register-move -foptimize-sibling-calls -fpeephole -fpeephole2
! -freg-struct-return -fregmove -freorder-blocks -freorder-functions
! -frerun-cse-after-loop -frerun-loop-opt -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2
! -fshow-column -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
! -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
! -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
! -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
! -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
! -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
! -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m64 -mapp-regs
! -mfpu -mptr64 -msoft-quad-float -mstack-bias

-O3

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v8 -auxbase-strip -O3 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
! -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop -fdelayed-branch
! -fdelete-null-pointer-checks -fearly-inlining
! -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
! -ffunction-cse -fgcse -fgcse-after-reload -fgcse-lm
! -fguess-branch-probability -fident -fif-conversion -fif-conversion2
! -finline-functions -finline-functions-called-once -fipa-pure-const
! -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
! -fleading-underscore -floop-optimize -floop-optimize2 -fmath-errno
! -fmerge-constants -fomit-frame-pointer -foptimize-register-move
! -foptimize-sibling-calls -fpeephole -fpeephole2 -freg-struct-return
! -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
! -frerun-loop-opt -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2
! -fshow-column -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
! -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
! -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
! -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
! -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
! -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
! -funit-at-a-time -funswitch-loops -fverbose-asm -fzero-initialized-in-bss
! -m64 -mapp-regs -mfpu -mptr64 -msoft-quad-float -mstack-bias


sparc v9(-m64)

-O0

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v9 -auxbase-strip -O0 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcommon -fearly-inlining -feliminate-unused-debug-types -fexceptions
! -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts
! -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno
! -fpeephole -freg-struct-return -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
! -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize
! -ftree-vect-loop-version -funit-at-a-time -fverbose-asm
! -fzero-initialized-in-bss -m64 -mapp-regs -mfpu -mptr64 -msoft-quad-float
! -mstack-bias

-O1

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v9 -auxbase-strip -O1 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcommon -fcprop-registers -fdefer-pop -fdelayed-branch -fearly-inlining
! -feliminate-unused-debug-types -fexceptions -ffunction-cse -fgcse-lm
! -fguess-branch-probability -fident -fif-conversion -fif-conversion2
! -finline-functions-called-once -fipa-pure-const -fipa-reference -fivopts
! -fkeep-static-consts -fleading-underscore -floop-optimize
! -floop-optimize2 -fmath-errno -fmerge-constants -fomit-frame-pointer
! -fpeephole -freg-struct-return -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller
! -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop -ftree-copyrename
! -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
! -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs -ftree-salias
! -ftree-sink -ftree-sra -ftree-ter -ftree-vect-loop-version
! -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m64 -mapp-regs
! -mfpu -mptr64 -msoft-quad-float -mstack-bias

-O2

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v9 -auxbase-strip -O2 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
! -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop -fdelayed-branch
! -fdelete-null-pointer-checks -fearly-inlining
! -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
! -ffunction-cse -fgcse -fgcse-lm -fguess-branch-probability -fident
! -fif-conversion -fif-conversion2 -finline-functions-called-once
! -fipa-pure-const -fipa-reference -fipa-type-escape -fivopts
! -fkeep-static-consts -fleading-underscore -floop-optimize
! -floop-optimize2 -fmath-errno -fmerge-constants -fomit-frame-pointer
! -foptimize-register-move -foptimize-sibling-calls -fpeephole -fpeephole2
! -freg-struct-return -fregmove -freorder-blocks -freorder-functions
! -frerun-cse-after-loop -frerun-loop-opt -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2
! -fshow-column -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
! -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
! -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
! -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
! -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
! -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
! -funit-at-a-time -fverbose-asm -fzero-initialized-in-bss -m64 -mapp-regs
! -mfpu -mptr64 -msoft-quad-float -mstack-bias

-O3

! options passed:  -D__arch64__ -D__sparcv9 -mptr64 -mstack-bias
! -mno-v8plus -m64 -mcpu=v9 -auxbase-strip -O3 -Wall -fverbose-asm
! options enabled:  -falign-loops -fargument-alias -fbranch-count-reg
! -fcaller-saves -fcommon -fcprop-registers -fcrossjumping
! -fcse-follow-jumps -fcse-skip-blocks -fdefer-pop -fdelayed-branch
! -fdelete-null-pointer-checks -fearly-inlining
! -feliminate-unused-debug-types -fexceptions -fexpensive-optimizations
! -ffunction-cse -fgcse -fgcse-after-reload -fgcse-lm
! -fguess-branch-probability -fident -fif-conversion -fif-conversion2
! -finline-functions -finline-functions-called-once -fipa-pure-const
! -fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
! -fleading-underscore -floop-optimize -floop-optimize2 -fmath-errno
! -fmerge-constants -fomit-frame-pointer -foptimize-register-move
! -foptimize-sibling-calls -fpeephole -fpeephole2 -freg-struct-return
! -fregmove -freorder-blocks -freorder-functions -frerun-cse-after-loop
! -frerun-loop-opt -fsched-interblock -fsched-spec
! -fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2
! -fshow-column -fsplit-ivs-in-unroller -fstrength-reduce -fstrict-aliasing
! -fthread-jumps -ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop
! -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre
! -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-lrs
! -ftree-pre -ftree-salias -ftree-sink -ftree-sra -ftree-store-ccp
! -ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
! -funit-at-a-time -funswitch-loops -fverbose-asm -fzero-initialized-in-bss
! -m64 -mapp-regs -mfpu -mptr64 -msoft-quad-float -mstack-bias

  -m32                        Use 32-bit ABI
  -m64                        Use 64-bit ABI
  -mapp-regs                  Use ABI reserved registers
  -mcmodel=                   Use given SPARC-V9 code model
  -mcpu=                      Use features of and schedule code for given CPU
  -mfaster-structs            Use structs on stronger alignment for double-word
                              copies
  -mfpu                       Use hardware FP
  -mhard-float                Use hardware FP
  -mhard-quad-float           Use hardware quad FP instructions
  -mimpure-text               Pass -assert pure-text to linker
  -mptr32                     Pointers are 32-bit
  -mptr64                     Pointers are 64-bit
  -mrelax                     Optimize tail call instructions in assembler and
                              linker
  -msoft-float                Do not use hardware FP
  -msoft-quad-float           Do not use hardware quad fp instructions
  -mstack-bias                Use stack bias
  -mtune=                     Schedule code for given CPU
  -munaligned-doubles         Assume possible double misalignment
  -mv8plus                    Compile for V8+ ABI
  -mvis                       Use UltraSPARC Visual Instruction Set extensions


last update at 2010/11/09 19:17:06