Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Zabawa na wieczór...
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish)
View previous topic :: View next topic  
Author Message
kolkowski_damian
Tux's lil' helper
Tux's lil' helper


Joined: 18 Mar 2004
Posts: 88
Location: Nysa, Poland

PostPosted: Thu Apr 01, 2004 3:18 pm    Post subject: Zabawa na wieczór... Reply with quote

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? :-D

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
View user's profile Send private message
fallow
Bodhisattva
Bodhisattva


Joined: 08 Jan 2004
Posts: 2208
Location: Poland

PostPosted: Thu Apr 01, 2004 3:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) All times are GMT
Page 1 of 1

 
Jump to:  
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