From d3e6f5a348289c2ea81069ec3ac748a3c858260e Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Thu, 5 Feb 2009 13:19:18 +0000 Subject: [PATCH] better workaround for optimizer bug in GCC >= 4.3 (stable backport) git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@2006 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 17 +++++++++++++++++ plugins/ladspa_effect/caps/dsp/Eq.h | 9 ++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 82d4502cd..628d2868c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ 2009-02-05 Tobias Doerffel + * plugins/ladspa_effect/caps/dsp/Eq.h: + better workaround for optimizer bug in GCC >= 4.3 + + * plugins/sid/sid_instrument.cpp: + * plugins/flp_import/unrtf.cpp: + * src/core/track.cpp: + added missing header for compilation with GCC 4.4 + + * include/pattern.h: + * src/tracks/pattern.cpp: + cleanups + + * src/core/envelope_and_lfo_parameters.cpp: + - simplified formulas for calculating envelope array resulting in about + 3x performance with traditional FPU code + - loops now can be vectorized by GCC 4.4 + * include/atomic_int.h: * include/audio_port.h: * include/mixer.h: diff --git a/plugins/ladspa_effect/caps/dsp/Eq.h b/plugins/ladspa_effect/caps/dsp/Eq.h index 4b6fb767b..92639e8a1 100644 --- a/plugins/ladspa_effect/caps/dsp/Eq.h +++ b/plugins/ladspa_effect/caps/dsp/Eq.h @@ -84,14 +84,9 @@ class Eq { for (int z = 0; z < 2; ++z) { - // work-around for buggy optimizer in GCC 4.3 - for (int i = 0; i < Bands-1; ++i) - y[z][i] = 0; - y[z][Bands-1] = 0; + memset( y[z], 0, Bands*sizeof( eq_sample ) ); + x[z] = 0; } - - for (int i = 0; i < 2; ++i) - x[i] = 0; } void init (double fs, double Q)