| Index: silk/fixed/pitch_analysis_core_FIX.c
 | 
| diff --git a/silk/fixed/pitch_analysis_core_FIX.c b/silk/fixed/pitch_analysis_core_FIX.c
 | 
| index b6bc0bbfaa111e0924f856d93c5f1c5d5d5cb1f9..1641a0fbcdad74e10f7ce0c755bdf98feae324eb 100644
 | 
| --- a/silk/fixed/pitch_analysis_core_FIX.c
 | 
| +++ b/silk/fixed/pitch_analysis_core_FIX.c
 | 
| @@ -62,7 +62,8 @@ static void silk_P_Ana_calc_corr_st3(
 | 
|      opus_int          start_lag,                       /* I lag offset to search around */
 | 
|      opus_int          sf_length,                       /* I length of a 5 ms subframe   */
 | 
|      opus_int          nb_subfr,                        /* I number of subframes         */
 | 
| -    opus_int          complexity                       /* I Complexity setting          */
 | 
| +    opus_int          complexity,                      /* I Complexity setting          */
 | 
| +    int               arch                             /* I Run-time architecture       */
 | 
|  );
 | 
|  
 | 
|  static void silk_P_Ana_calc_energy_st3(
 | 
| @@ -88,7 +89,8 @@ opus_int silk_pitch_analysis_core(                  /* O    Voicing estimate: 0
 | 
|      const opus_int              search_thres2_Q13,  /* I    Final threshold for lag candidates 0 - 1                    */
 | 
|      const opus_int              Fs_kHz,             /* I    Sample frequency (kHz)                                      */
 | 
|      const opus_int              complexity,         /* I    Complexity setting, 0-2, where 2 is highest                 */
 | 
| -    const opus_int              nb_subfr            /* I    number of 5 ms subframes                                    */
 | 
| +    const opus_int              nb_subfr,           /* I    number of 5 ms subframes                                    */
 | 
| +    int                         arch                /* I    Run-time architecture                                       */
 | 
|  )
 | 
|  {
 | 
|      VARDECL( opus_int16, frame_8kHz );
 | 
| @@ -189,7 +191,7 @@ opus_int silk_pitch_analysis_core(                  /* O    Voicing estimate: 0
 | 
|          silk_assert( basis_ptr >= frame_4kHz );
 | 
|          silk_assert( basis_ptr + SF_LENGTH_8KHZ <= frame_4kHz + frame_length_4kHz );
 | 
|  
 | 
| -        celt_pitch_xcorr( target_ptr, target_ptr - MAX_LAG_4KHZ, xcorr32, SF_LENGTH_8KHZ, MAX_LAG_4KHZ - MIN_LAG_4KHZ + 1 );
 | 
| +        celt_pitch_xcorr( target_ptr, target_ptr - MAX_LAG_4KHZ, xcorr32, SF_LENGTH_8KHZ, MAX_LAG_4KHZ - MIN_LAG_4KHZ + 1, arch );
 | 
|  
 | 
|          /* Calculate first vector products before loop */
 | 
|          cross_corr = xcorr32[ MAX_LAG_4KHZ - MIN_LAG_4KHZ ];
 | 
| @@ -465,7 +467,7 @@ opus_int silk_pitch_analysis_core(                  /* O    Voicing estimate: 0
 | 
|          /***************************************************************************/
 | 
|          /* find scaling as max scaling for each subframe */
 | 
|          silk_sum_sqr_shift( &energy, &shift, frame, frame_length );
 | 
| -        ALLOC( scratch_mem, shift > 0 ? frame_length : 0, opus_int16 );
 | 
| +        ALLOC( scratch_mem, shift > 0 ? frame_length : ALLOC_NONE, opus_int16 );
 | 
|          if( shift > 0 ) {
 | 
|              /* Move signal to scratch mem because the input signal should be unchanged */
 | 
|              shift = silk_RSHIFT( shift, 1 );
 | 
| @@ -516,7 +518,7 @@ opus_int silk_pitch_analysis_core(                  /* O    Voicing estimate: 0
 | 
|          /* Calculate the correlations and energies needed in stage 3 */
 | 
|          ALLOC( energies_st3, nb_subfr * nb_cbk_search, silk_pe_stage3_vals );
 | 
|          ALLOC( cross_corr_st3, nb_subfr * nb_cbk_search, silk_pe_stage3_vals );
 | 
| -        silk_P_Ana_calc_corr_st3(  cross_corr_st3, input_frame_ptr, start_lag, sf_length, nb_subfr, complexity );
 | 
| +        silk_P_Ana_calc_corr_st3(  cross_corr_st3, input_frame_ptr, start_lag, sf_length, nb_subfr, complexity, arch );
 | 
|          silk_P_Ana_calc_energy_st3( energies_st3, input_frame_ptr, start_lag, sf_length, nb_subfr, complexity );
 | 
|  
 | 
|          lag_counter = 0;
 | 
| @@ -597,7 +599,8 @@ static void silk_P_Ana_calc_corr_st3(
 | 
|      opus_int          start_lag,                       /* I lag offset to search around */
 | 
|      opus_int          sf_length,                       /* I length of a 5 ms subframe   */
 | 
|      opus_int          nb_subfr,                        /* I number of subframes         */
 | 
| -    opus_int          complexity                       /* I Complexity setting          */
 | 
| +    opus_int          complexity,                      /* I Complexity setting          */
 | 
| +    int               arch                             /* I Run-time architecture       */
 | 
|  )
 | 
|  {
 | 
|      const opus_int16 *target_ptr;
 | 
| @@ -634,7 +637,7 @@ static void silk_P_Ana_calc_corr_st3(
 | 
|          lag_low  = matrix_ptr( Lag_range_ptr, k, 0, 2 );
 | 
|          lag_high = matrix_ptr( Lag_range_ptr, k, 1, 2 );
 | 
|          silk_assert(lag_high-lag_low+1 <= SCRATCH_SIZE);
 | 
| -        celt_pitch_xcorr( target_ptr, target_ptr - start_lag - lag_high, xcorr32, sf_length, lag_high - lag_low + 1 );
 | 
| +        celt_pitch_xcorr( target_ptr, target_ptr - start_lag - lag_high, xcorr32, sf_length, lag_high - lag_low + 1, arch );
 | 
|          for( j = lag_low; j <= lag_high; j++ ) {
 | 
|              silk_assert( lag_counter < SCRATCH_SIZE );
 | 
|              scratch_mem[ lag_counter ] = xcorr32[ lag_high - j ];
 | 
| 
 |