summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-08-18 21:01:08 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-08-18 21:01:08 +0000
commit0aa2fcb3b66b7281dc1dedd954d98b005bd4f1b5 (patch)
treefc856d3f3fd29503efdb948bd659c0a84b376fa5
parentb086458e4e1908878161ab5b84f287d5d726497b (diff)
downloadrockbox-0aa2fcb3b66b7281dc1dedd954d98b005bd4f1b5.tar.gz
rockbox-0aa2fcb3b66b7281dc1dedd954d98b005bd4f1b5.zip
Optimized compiler settings for libgme. ARM now uses -O1 except for the 2413 emulator. The speed on PP5022 increases by 0-5% (NSF, YM2413-VGM), 5-10% (GBS, VGM) and 10-15% (SGC, KSS, AY).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30331 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/codecs.make25
-rw-r--r--apps/codecs/libgme/EMU2413SOURCES4
-rw-r--r--apps/codecs/libgme/KSSSOURCES2
-rw-r--r--apps/codecs/libgme/NSFSOURCES1
-rw-r--r--apps/codecs/libgme/SGCSOURCES4
-rw-r--r--apps/codecs/libgme/VGMSOURCES3
-rw-r--r--apps/codecs/libgme/libemu2413.make10
7 files changed, 28 insertions, 21 deletions
diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make
index 1644ff0e91..5706075067 100644
--- a/apps/codecs/codecs.make
+++ b/apps/codecs/codecs.make
@@ -50,6 +50,7 @@ include $(APPSDIR)/codecs/libgme/libnsf.make
50include $(APPSDIR)/codecs/libgme/libsgc.make 50include $(APPSDIR)/codecs/libgme/libsgc.make
51include $(APPSDIR)/codecs/libgme/libvgm.make 51include $(APPSDIR)/codecs/libgme/libvgm.make
52include $(APPSDIR)/codecs/libgme/libkss.make 52include $(APPSDIR)/codecs/libgme/libkss.make
53include $(APPSDIR)/codecs/libgme/libemu2413.make
53 54
54# compile flags for codecs 55# compile flags for codecs
55CODECFLAGS = $(CFLAGS) -fstrict-aliasing -I$(APPSDIR)/codecs \ 56CODECFLAGS = $(CFLAGS) -fstrict-aliasing -I$(APPSDIR)/codecs \
@@ -80,6 +81,7 @@ $(SPCLIB) : CODECFLAGS += -fno-strict-aliasing -O1
80$(TREMORLIB) : CODECFLAGS += -O2 81$(TREMORLIB) : CODECFLAGS += -O2
81$(TTALIB) : CODECFLAGS += -O2 82$(TTALIB) : CODECFLAGS += -O2
82$(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O2 83$(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O2
84$(EMU2413LIB) : CODECFLAGS += -fno-strict-aliasing -O3
83$(WAVPACKLIB) : CODECFLAGS += -O1 85$(WAVPACKLIB) : CODECFLAGS += -O1
84$(WMALIB) : CODECFLAGS += -O2 86$(WMALIB) : CODECFLAGS += -O2
85$(WMAPROLIB) : CODECFLAGS += -O1 87$(WMAPROLIB) : CODECFLAGS += -O1
@@ -89,13 +91,14 @@ $(WMAVOICELIB) : CODECFLAGS += -O1
89ifeq ($(CPU),arm) 91ifeq ($(CPU),arm)
90 # redo per arm generation 92 # redo per arm generation
91 $(ALACLIB) : CODECFLAGS += -O2 93 $(ALACLIB) : CODECFLAGS += -O2
92 $(AYLIB) : CODECFLAGS += -fno-strict-aliasing -O3 94 $(AYLIB) : CODECFLAGS += -fno-strict-aliasing -O1
93 $(GBSLIB) : CODECFLAGS += -fno-strict-aliasing -O3 95 $(GBSLIB) : CODECFLAGS += -fno-strict-aliasing -O1
94 $(HESLIB) : CODECFLAGS += -fno-strict-aliasing -O3 96 $(HESLIB) : CODECFLAGS += -fno-strict-aliasing -O1
95 $(KSSLIB) : CODECFLAGS += -fno-strict-aliasing -O3 97 $(KSSLIB) : CODECFLAGS += -fno-strict-aliasing -O1
96 $(NSFLIB) : CODECFLAGS += -fno-strict-aliasing -O3 98 $(NSFLIB) : CODECFLAGS += -fno-strict-aliasing -O1
97 $(SGCLIB) : CODECFLAGS += -fno-strict-aliasing -O3 99 $(SGCLIB) : CODECFLAGS += -fno-strict-aliasing -O1
98 $(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O3 100 $(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O1
101 $(EMU2413LIB) : CODECFLAGS += -fno-strict-aliasing -O3
99 $(WAVPACKLIB) : CODECFLAGS += -O3 102 $(WAVPACKLIB) : CODECFLAGS += -O3
100else ifeq ($(CPU),coldfire) 103else ifeq ($(CPU),coldfire)
101 $(A52LIB) : CODECFLAGS += -O2 104 $(A52LIB) : CODECFLAGS += -O2
@@ -161,10 +164,10 @@ $(CODECDIR)/tta.codec : $(CODECDIR)/libtta.a
161$(CODECDIR)/ay.codec : $(CODECDIR)/libay.a 164$(CODECDIR)/ay.codec : $(CODECDIR)/libay.a
162$(CODECDIR)/gbs.codec : $(CODECDIR)/libgbs.a 165$(CODECDIR)/gbs.codec : $(CODECDIR)/libgbs.a
163$(CODECDIR)/hes.codec : $(CODECDIR)/libhes.a 166$(CODECDIR)/hes.codec : $(CODECDIR)/libhes.a
164$(CODECDIR)/nsf.codec : $(CODECDIR)/libnsf.a 167$(CODECDIR)/nsf.codec : $(CODECDIR)/libnsf.a $(CODECDIR)/libemu2413.a
165$(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a 168$(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a $(CODECDIR)/libemu2413.a
166$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a 169$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a
167$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a 170$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a
168 171
169$(CODECS): $(CODECLIB) # this must be last in codec dependency list 172$(CODECS): $(CODECLIB) # this must be last in codec dependency list
170 173
diff --git a/apps/codecs/libgme/EMU2413SOURCES b/apps/codecs/libgme/EMU2413SOURCES
new file mode 100644
index 0000000000..901c49eccf
--- /dev/null
+++ b/apps/codecs/libgme/EMU2413SOURCES
@@ -0,0 +1,4 @@
1sms_apu.c
2sms_fm_apu.c
3emu2413.c
4ym2413_emu.c
diff --git a/apps/codecs/libgme/KSSSOURCES b/apps/codecs/libgme/KSSSOURCES
index 8e9c6601bb..2607c7364c 100644
--- a/apps/codecs/libgme/KSSSOURCES
+++ b/apps/codecs/libgme/KSSSOURCES
@@ -3,11 +3,9 @@ kss_cpu.c
3kss_emu.c 3kss_emu.c
4kss_scc_apu.c 4kss_scc_apu.c
5opl_apu.c 5opl_apu.c
6sms_apu.c
7z80_cpu.c 6z80_cpu.c
8blip_buffer.c 7blip_buffer.c
9multi_buffer.c 8multi_buffer.c
10rom_data.c 9rom_data.c
11emu2413.c
12emu8950.c 10emu8950.c
13emuadpcm.c 11emuadpcm.c
diff --git a/apps/codecs/libgme/NSFSOURCES b/apps/codecs/libgme/NSFSOURCES
index d96e1d3f32..54b4f82f60 100644
--- a/apps/codecs/libgme/NSFSOURCES
+++ b/apps/codecs/libgme/NSFSOURCES
@@ -12,4 +12,3 @@ nsfe_info.c
12blip_buffer.c 12blip_buffer.c
13multi_buffer.c 13multi_buffer.c
14rom_data.c 14rom_data.c
15emu2413.c
diff --git a/apps/codecs/libgme/SGCSOURCES b/apps/codecs/libgme/SGCSOURCES
index 72b06efef9..d91c0e1731 100644
--- a/apps/codecs/libgme/SGCSOURCES
+++ b/apps/codecs/libgme/SGCSOURCES
@@ -1,10 +1,6 @@
1sgc_cpu.c 1sgc_cpu.c
2sgc_emu.c 2sgc_emu.c
3sms_apu.c
4sms_fm_apu.c
5ym2413_emu.c
6z80_cpu.c 3z80_cpu.c
7blip_buffer.c 4blip_buffer.c
8multi_buffer.c 5multi_buffer.c
9rom_data.c 6rom_data.c
10emu2413.c
diff --git a/apps/codecs/libgme/VGMSOURCES b/apps/codecs/libgme/VGMSOURCES
index ed32baca0d..637f87e8b0 100644
--- a/apps/codecs/libgme/VGMSOURCES
+++ b/apps/codecs/libgme/VGMSOURCES
@@ -1,10 +1,7 @@
1blip_buffer.c 1blip_buffer.c
2multi_buffer.c 2multi_buffer.c
3resampler.c 3resampler.c
4sms_apu.c
5vgm_emu.c 4vgm_emu.c
6emu2413.c
7ym2413_emu.c
8ym2612_emu.c 5ym2612_emu.c
9inflate/bbfuncs.c 6inflate/bbfuncs.c
10inflate/inflate.c 7inflate/inflate.c
diff --git a/apps/codecs/libgme/libemu2413.make b/apps/codecs/libgme/libemu2413.make
new file mode 100644
index 0000000000..2f489ced46
--- /dev/null
+++ b/apps/codecs/libgme/libemu2413.make
@@ -0,0 +1,10 @@
1
2# libemu2413
3EMU2413LIB := $(CODECDIR)/libemu2413.a
4EMU2413LIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/EMU2413SOURCES)
5EMU2413LIB_OBJ := $(call c2obj, $(EMU2413LIB_SRC))
6OTHER_SRC += $(EMU2413LIB_SRC)
7
8$(EMU2413LIB): $(EMU2413LIB_OBJ)
9 $(SILENT)$(shell rm -f $@)
10 $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null