Programowanie w systemie UNIX/Kompilacja: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
→‎Optymalizacja: gcc -O3 -Q --help=optimizers | grep disabled
Linia 85:
-mtune=native
generuje kod dostrojony do aktualnego procesora (na innym też się uruchomi).
-march=native
wykorzystuje wszystkie instrukcje używanego procesora (jeżeli inny procesor ich nie obsługuje, kod nie będzie działał).
 
Za pomocą instrukcji :
 
gcc -O3 -Q --help=optimizers | grep disabled
 
sprawdzamy wszystkie wyłączone opcje. Przykłądowy wynik :
 
<pre>
-fbranch-probabilities [disabled]
-fbranch-target-load-optimize [disabled]
-fbranch-target-load-optimize2 [disabled]
-fbtr-bb-exclusive [disabled]
-fconserve-stack [disabled]
-fcx-fortran-rules [disabled]
-fcx-limited-range [disabled]
-fdata-sections [disabled]
-fdelayed-branch [disabled]
-fexceptions [disabled]
-ffinite-math-only [disabled]
-ffloat-store [disabled]
-fgcse-las [disabled]
-fgcse-sm [disabled]
-fgraphite-identity [disabled]
-fipa-pta [disabled]
-floop-block [disabled]
-floop-interchange [disabled]
-floop-nest-optimize [disabled]
-floop-parallelize-all [disabled]
-floop-strip-mine [disabled]
-fmerge-all-constants [disabled]
-fmodulo-sched [disabled]
-fnon-call-exceptions [disabled]
-fnothrow-opt [disabled]
-fomit-frame-pointer [disabled]
-fopt-info [disabled]
-fpack-struct [disabled]
-fpeel-loops [disabled]
-freg-struct-return [disabled]
-freorder-blocks-and-partition [disabled]
-freschedule-modulo-scheduled-loops [disabled]
-frounding-math [disabled]
-fsched-pressure [disabled]
-fsched-spec-load [disabled]
-fsched-spec-load-dangerous [disabled]
-fsched-stalled-insns [disabled]
-fsched2-use-superblocks [disabled]
-fschedule-insns [disabled]
-fsection-anchors [disabled]
-fsel-sched-pipelining [disabled]
-fsel-sched-pipelining-outer-loops [disabled]
-fsel-sched-reschedule-pipelined [disabled]
-fselective-scheduling [disabled]
-fselective-scheduling2 [disabled]
-fshort-double [disabled]
-fshort-wchar [disabled]
-fsignaling-nans [disabled]
-fsingle-precision-constant [disabled]
-fstrict-enums [disabled]
-ftrapv [disabled]
-ftree-coalesce-inlined-vars [disabled]
-ftree-loop-distribution [disabled]
-ftree-loop-if-convert-stores [disabled]
-ftree-lrs [disabled]
-funroll-all-loops [disabled]
-funroll-loops [disabled]
-funsafe-loop-optimizations [disabled]
-funsafe-math-optimizations [disabled]
-funwind-tables [disabled]
-fvar-tracking-assignments-toggle [disabled]
-fvar-tracking-uninit [disabled]
-fvariable-expansion-in-unroller [disabled]
-fvpt [disabled]
-fwhole-program [disabled]
-fwrapv [disabled]
</pre>
 
=Testowanie programu =