View previous topic :: View next topic |
Author |
Message |
kolkowski_damian Tux's lil' helper
Joined: 18 Mar 2004 Posts: 88 Location: Nysa, Poland
|
Posted: Thu Apr 01, 2004 3:18 pm Post subject: Zabawa na wieczór... |
|
|
Witam Was moje maniaki
Ja odnośnie flag znowu, flag kompilacji...
Może teraz bazując na tym:
Code: |
.~/today/2004/04/01. $ v
razem 5
drwxr-xr-x 2 deimos deimos 72 kwi 1 17:14 .
drwxr-xr-x 3 deimos deimos 72 kwi 1 16:59 ..
-rw-r--r-- 1 deimos deimos 14 kwi 1 17:14 1.c
.~/today/2004/04/01. $ gcc -Q -v -march=athlon-xp -Os -pipe -fomit-frame-pointer 1.c
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/specs
Configured with: /var/tmp/portage/gcc-3.3.3/work/gcc-3.3.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,f77,objc --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --disable-multilib
Thread model: posix
gcc version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7)
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/cc1 -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3 1.c -dumpbase 1.c -march=athlon-xp -auxbase 1 -Os -version -fomit-frame-pointer -o - |
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/as -V -Qy -o /tmp/ccTUkClU.o -
GNU C version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7) (i686-pc-linux-gnu)
compiled by GNU C version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7).
GGC heuristics: --param ggc-min-expand=47 --param ggc-min-heapsize=32095
options passed: -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=3
-march=athlon-xp -auxbase -Os -fomit-frame-pointer
options enabled: -fdefer-pop -fomit-frame-pointer -foptimize-sibling-calls
-fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations
-fthread-jumps -fstrength-reduce -fpeephole -fforce-mem -ffunction-cse
-fkeep-static-consts -fcaller-saves -fpcc-struct-return -fgcse -fgcse-lm
-fgcse-sm -floop-optimize -fcrossjumping -fif-conversion -fif-conversion2
-frerun-cse-after-loop -frerun-loop-opt -fdelete-null-pointer-checks
-fschedule-insns2 -fsched-interblock -fsched-spec -fbranch-count-reg
-freorder-functions -fcprop-registers -fcommon -fgnu-linker -fregmove
-foptimize-register-move -fargument-alias -fstrict-aliasing
-fmerge-constants -fzero-initialized-in-bss -fident -fpeephole2
-fguess-branch-probability -fmath-errno -ftrapping-math -m80387
-mhard-float -mno-soft-float -mieee-fp -mfp-ret-in-387 -mmmx -m3dnow -msse
-mcpu=athlon-xp -march=athlon-xp
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include
/usr/include
End of search list.
main
Execution times (seconds)
TOTAL : 0.00 0.01 0.01
GNU assembler version 2.14.90.0.8 (i686-pc-linux-gnu) using BFD version 2.14.90.0.8 20040114
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/crtbegin.o -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../.. /tmp/ccTUkClU.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../crtn.o
.~/today/2004/04/01. $
|
Code: |
.~/today/2004/04/01. $ cat 1.c
int main() {}
.~/today/2004/04/01. $
|
wymaścimy razem świetne flagi dla naszych procesorów?
Widać, że jedne flagi implikują inne, nie wiem czy to zależy od kodu - pewnie tak, ale możecie sami popróbować z Waszym -march=XYZ dla C i C++ - sami się przekonacie, że optymalizacja 3 linijkowa jest zbędna ;-D
Pozdrówka, idę na rower ;-D |
|
Back to top |
|
|
fallow Bodhisattva
Joined: 08 Jan 2004 Posts: 2208 Location: Poland
|
Posted: Thu Apr 01, 2004 3:53 pm Post subject: |
|
|
implikacji jest mnostwo , najbardziej znane chyba kazdy zna :
Code: |
O1 :
-fdefer-pop
-fmerge-constants
-fthread-jumps
-floop-optimize
-fcrossjumping
-fif-conversion
-fif-conversion2
-fdelayed-branch
-fguess-branch-probability
-fcprop-registers
O2=O1+
-fforce-mem
-foptimize-sibling-calls
-fstrength-reduce
-fcse-follow-jumps -fcse-skip-blocks
-frerun-cse-after-loop -frerun-loop-opt
-fgcse -fgcse-lm -fgcse-sm
-fdelete-null-pointer-checks
-fexpensive-optimizations
-fregmove
-fschedule-insns -fschedule-insns2
-fsched-interblock -fsched-spec
-fcaller-saves
-fpeephole2
-freorder-blocks -freorder-functions
-fstrict-aliasing
-falign-functions -falign-jumps
-falign-loops -falign-labels
O3=O2+
-finline-functions and -frename-registers
|
ale jak by tak rozpatrywac wszystko , to chyba trudno sie polapac ,
no i of course przydalo by sie inaczej optymalizowac C a inaczej C++ i fajnie by bylo zeby oprocz ufed`a byl tez cfed
btw, czy GCC optymizuje tez wstawki w asmie ?
pozdro:) |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|