From 0aa2fcb3b66b7281dc1dedd954d98b005bd4f1b5 Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Thu, 18 Aug 2011 21:01:08 +0000 Subject: 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 --- apps/codecs/codecs.make | 25 ++++++++++++++----------- apps/codecs/libgme/EMU2413SOURCES | 4 ++++ apps/codecs/libgme/KSSSOURCES | 2 -- apps/codecs/libgme/NSFSOURCES | 1 - apps/codecs/libgme/SGCSOURCES | 4 ---- apps/codecs/libgme/VGMSOURCES | 3 --- apps/codecs/libgme/libemu2413.make | 10 ++++++++++ 7 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 apps/codecs/libgme/EMU2413SOURCES create mode 100644 apps/codecs/libgme/libemu2413.make 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 include $(APPSDIR)/codecs/libgme/libsgc.make include $(APPSDIR)/codecs/libgme/libvgm.make include $(APPSDIR)/codecs/libgme/libkss.make +include $(APPSDIR)/codecs/libgme/libemu2413.make # compile flags for codecs CODECFLAGS = $(CFLAGS) -fstrict-aliasing -I$(APPSDIR)/codecs \ @@ -80,6 +81,7 @@ $(SPCLIB) : CODECFLAGS += -fno-strict-aliasing -O1 $(TREMORLIB) : CODECFLAGS += -O2 $(TTALIB) : CODECFLAGS += -O2 $(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O2 +$(EMU2413LIB) : CODECFLAGS += -fno-strict-aliasing -O3 $(WAVPACKLIB) : CODECFLAGS += -O1 $(WMALIB) : CODECFLAGS += -O2 $(WMAPROLIB) : CODECFLAGS += -O1 @@ -89,13 +91,14 @@ $(WMAVOICELIB) : CODECFLAGS += -O1 ifeq ($(CPU),arm) # redo per arm generation $(ALACLIB) : CODECFLAGS += -O2 - $(AYLIB) : CODECFLAGS += -fno-strict-aliasing -O3 - $(GBSLIB) : CODECFLAGS += -fno-strict-aliasing -O3 - $(HESLIB) : CODECFLAGS += -fno-strict-aliasing -O3 - $(KSSLIB) : CODECFLAGS += -fno-strict-aliasing -O3 - $(NSFLIB) : CODECFLAGS += -fno-strict-aliasing -O3 - $(SGCLIB) : CODECFLAGS += -fno-strict-aliasing -O3 - $(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O3 + $(AYLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(GBSLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(HESLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(KSSLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(NSFLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(SGCLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(VGMLIB) : CODECFLAGS += -fno-strict-aliasing -O1 + $(EMU2413LIB) : CODECFLAGS += -fno-strict-aliasing -O3 $(WAVPACKLIB) : CODECFLAGS += -O3 else ifeq ($(CPU),coldfire) $(A52LIB) : CODECFLAGS += -O2 @@ -161,10 +164,10 @@ $(CODECDIR)/tta.codec : $(CODECDIR)/libtta.a $(CODECDIR)/ay.codec : $(CODECDIR)/libay.a $(CODECDIR)/gbs.codec : $(CODECDIR)/libgbs.a $(CODECDIR)/hes.codec : $(CODECDIR)/libhes.a -$(CODECDIR)/nsf.codec : $(CODECDIR)/libnsf.a -$(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a -$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a -$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a +$(CODECDIR)/nsf.codec : $(CODECDIR)/libnsf.a $(CODECDIR)/libemu2413.a +$(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a $(CODECDIR)/libemu2413.a +$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a +$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a $(CODECS): $(CODECLIB) # this must be last in codec dependency list 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 @@ +sms_apu.c +sms_fm_apu.c +emu2413.c +ym2413_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 kss_emu.c kss_scc_apu.c opl_apu.c -sms_apu.c z80_cpu.c blip_buffer.c multi_buffer.c rom_data.c -emu2413.c emu8950.c emuadpcm.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 blip_buffer.c multi_buffer.c rom_data.c -emu2413.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 @@ sgc_cpu.c sgc_emu.c -sms_apu.c -sms_fm_apu.c -ym2413_emu.c z80_cpu.c blip_buffer.c multi_buffer.c rom_data.c -emu2413.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 @@ blip_buffer.c multi_buffer.c resampler.c -sms_apu.c vgm_emu.c -emu2413.c -ym2413_emu.c ym2612_emu.c inflate/bbfuncs.c inflate/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 @@ + +# libemu2413 +EMU2413LIB := $(CODECDIR)/libemu2413.a +EMU2413LIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libgme/EMU2413SOURCES) +EMU2413LIB_OBJ := $(call c2obj, $(EMU2413LIB_SRC)) +OTHER_SRC += $(EMU2413LIB_SRC) + +$(EMU2413LIB): $(EMU2413LIB_OBJ) + $(SILENT)$(shell rm -f $@) + $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null -- cgit v1.2.3