Commit da334225 authored by Fabian Bauer's avatar Fabian Bauer Committed by Manuel Jander
Browse files

Activate all SPEEDUP macros available and change division 1/x a bit

parent 59e98d42
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1080,12 +1080,16 @@ Word32 BASOP_Util_Divide3232_Scale_cadence_1( Word32 x, Word32 y, Word16 *s )
    sign = 0;
    move16();

    IF( y < 0 )
    if( y < 0 )
    {
        y = L_negate( y );
        sign = L_xor( sign, 1 );
    }

    if ( y < 0 )
    {
        y = L_negate( y );
    }

    sy = norm_l( y );
    y = L_shl( y, sy );
    move16();
+18 −17
Original line number Diff line number Diff line
@@ -46,23 +46,24 @@
#include "wmc_auto.h"

// MHZ NUMBERS:
// NULL: 179.292


//#define FIX_1326_SPEEDUP_01 // optimize matrixT1mul->eig2x2_fx  //  .4 WMOPS                      --> USE
//#define FIX_1326_SPEEDUP_02 // speedup eig2x2_fx                //  .3 WMOPS                      --> USE
//#define FIX_1326_SPEEDUP_03 // speedup eig2x2_fx                //  .1 WMOPS                      --> USE
//#define FIX_1326_SPEEDUP_04 // speedup eig2x2_fx                //  .2 WMOPS                      --> USE
//#define FIX_1326_SPEEDUP_08 // "-"                              // 3.0 WMOPS //small diffs        --> USE
//#define FIX_1326_SPEEDUP_09 // tiny speedup                     //  .1 WMOPS   pipe 48851 fails   --> DONTUSEYET
//#define FIX_1326_SPEEDUP_10 // tiny speedup                     //  .1 WMOPS   pipe 48851 fails   --> DONTUSEYET
//#define FIX_1326_SPEEDUP_11 // tiny speedup                     //  .1 WMOPS   pipe 48851 fails   --> DONTUSEYET
//#define FIX_1326_SPEEDUP_13 // replace div/sqrt->isqrt          // 2.9 WMOPS                      --> USE

//#define FIX_1326_SPEEDUP_15 // replace Ladd(Mpy) -> Madd        //  .1 WMOPS                      --> USE
//#define FIX_1326_SPEEDUP_16 // tiny speedup like 04             //  .2 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_17 // use 1/x                            //  1  WMOPS                      --> USE?
#define FIX_1326_SPEEDUP_18 // structural speedup                   // 1 WMOPS                      --> USE?
// NULL: 178.407
// ALL: 169.499


#define FIX_1326_SPEEDUP_01 // optimize matrixT1mul->eig2x2_fx  //  .4 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_02 // speedup eig2x2_fx                //  .3 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_03 // speedup eig2x2_fx                //  .1 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_04 // speedup eig2x2_fx                //  .2 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_08 // "-"                              // 3.0 WMOPS //small diffs        --> USE
#define FIX_1326_SPEEDUP_09 // tiny speedup                     //  .1 WMOPS   pipe 48851 fails   --> DONTUSEYET
#define FIX_1326_SPEEDUP_10 // tiny speedup                     //  .1 WMOPS   pipe 48851 fails   --> DONTUSEYET
#define FIX_1326_SPEEDUP_11 // tiny speedup                     //  .1 WMOPS   pipe 48851 fails   --> DONTUSEYET
#define FIX_1326_SPEEDUP_13 // replace div/sqrt->isqrt          // 2.9 WMOPS                      --> USE

#define FIX_1326_SPEEDUP_15 // replace Ladd(Mpy) -> Madd        //  .1 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_16 // tiny speedup like 04             //  .2 WMOPS                      --> USE
#define FIX_1326_SPEEDUP_17 // use 1/x                          // 1.25WMOPS                      --> USE
#define FIX_1326_SPEEDUP_18 // structural speedup               // 1   WMOPS                      --> USE

Word16 slot_fx[4] = { 32767, 16384, 10922, 8192 };