toolame: ARCH = -march= ? für Celeron
Wenn man toolame kompiliert, muß man das Makefile anpassen. Was muß man bei "ARCH = -march= " für einen Coppermine- bzw. Tualatin-Celeron angeben? Gibt es sonst noch Anpassungen, die in der Regel Sinn machne? Albert
Am Sonntag, 16. Februar 2003 10:59 schrieb Al Bogner:
Wenn man toolame kompiliert, muß man das Makefile anpassen. Was muß man bei "ARCH = -march= " für einen Coppermine- bzw. Tualatin-Celeron angeben? Gibt es sonst noch Anpassungen, die in der Regel Sinn machne?
Also ein '-mcpu=pentium3 -march=pentium3 -mfpmath=sse,387 -mmx -msse -fschedule-insns2 -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations' ist sicher nicht verkehrt, wenn Du den Prozessor ausreizen willst. Die Weitergabemöglichkeiten für ein derart compiliertes Programm beschränkt sich dann natürlich auf PentiumIII/PentiumIV (sowie davon abgeleitete Celerons) und Athlon XP. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
On Sonntag, 16. Februar 2003 17:52 Manfred Tremmel wrote:
Also ein '-mcpu=pentium3 -march=pentium3 -mfpmath=sse,387 -mmx -msse -fschedule-insns2 -fomit-frame-pointer -frerun-cse-after-loop -frerun-loop-opt -fexpensive-optimizations' ist sicher nicht verkehrt, wenn Du den Prozessor ausreizen willst.
-march=pentium3 ist klar. Aber wo setze ich den Rest ein? __________ CC = gcc c_sources = \ common.c \ encode.c \ formatBitstream.c \ ieeefloat.c \ toolame.c \ portableio.c \ psycho_I.c \ psycho_II.c \ fft.c \ subband.c \ audio_read.c \ bitstream.c \ mem.c \ crc.c \ tables.c \ availbits.c OBJ = $(c_sources:.c=.o) #Uncomment this if you want to do some profiling #PG = -pg # Optimize flag. 3 is about as high as you can sanely go with GCC3.2. OPTIM = -O3 # These flags are pretty much mandatory REQUIRED = -DNDEBUG -DINLINE=inline -DFIXLSF #pick your architecture ARCH = -march=pentium3 #ARCH = -march=athlon #TWEAK the hell out of the compile. TWEAKS = -finline-functions -fexpensive-optimizations -ffast-math -malign-double \ -mfancy-math-387 -funroll-loops -funroll-all-loops -pipe \ -fschedule-insns2 -fno-strength-reduce #Set a stack of warnings to overcome my atrocious coding style . MFC. WARNINGS = -Wall -Wstrict-prototypes -Wmissing-prototypes WARNINGS2 = -Wstrict-prototypes -Wmissing-prototypes -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wredundant-decls #New optimizations for 02j #Note: sincos is a gcc hack. If you don't have gcc, you can't use it afaik. NEW_02J_FIXES = -DSAMI_SB -DSAMI_P1 -DSINCOS -D_GNU_SOURCE CC_SWITCHES = $(OPTIM) $(REQUIRED) $(ARCH) $(PG) $(TWEAKS) $(WARNINGS) $(NEW_02J_FIXES) PGM = toolame LIBS = -lm #nick burch's OS/2 fix gagravarr@SoftHome.net UNAME = $(shell uname) ifeq ($(UNAME),OS/2) SHELL=sh PGM = toolame.exe PG = -Zcrtdll -Zexe LIBS = endif %.o: %.c Makefile $(CC) $(CC_SWITCHES) -c $< -o $@ $(PGM): $(OBJ) Makefile $(CC) $(PG) -o $(PGM) $(OBJ) $(LIBS) clean: -rm $(OBJ) $(DEP) megaclean: -rm $(OBJ) $(DEP) $(PGM) \#*\# *~ distclean: -rm $(OBJ) $(DEP) $(PGM) \#* *~ gmon.out gprof* core *shit* *.wav *.mp2 *.c.* *.mp2.* *.da *.h.* *.d *.mp3 *.pcm *.wav logfile tags: TAGS TAGS: ${c_sources} etags -T ${c_sources} __________ Albert
Am Sonntag, 16. Februar 2003 18:22 schrieb Al Bogner:
-march=pentium3 ist klar. Aber wo setze ich den Rest ein?
Also das '-mfpmath=sse,387 -mmmx -msse' würd ich einfach dazusetzen, (-mcpu kann man sich eigentlich schenken, ist in -march enthalten), der Rest scheint in TWEAKS gesetzt zu sein. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Am Sonntag, 16. Februar 2003 17:52 schrieb Manfred Tremmel:
Also ein '-mcpu=pentium3 -march=pentium3 -mfpmath=sse,387 -mmx -msse ^^^^ Sorry, muß natürlich -mmmx und nicht -mmx heissen.
-- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
participants (2)
-
Al Bogner
-
Manfred Tremmel