@
@ Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
@
@ Use of this source code is governed by a BSD-style license
@ that can be found in the LICENSE file in the root of the source
@ tree. An additional intellectual property rights grant can be found
@ in the file PATENTS.  All contributing project authors may
@ be found in the AUTHORS file in the root of the source tree.
@

@ Contains a function for the core loop in the normalized lattice AR
@ filter routine for iSAC codec, optimized for ARMv7 platforms.
@
@ Output is bit-exact with the reference C code in lattic_c.c
@
@ Register usage:
@
@ r0:  &ar_g_Q0
@ r1:  &ar_f_Q0
@ r2:  &cth_Q15
@ r3:  &sth_Q15
@ r4:  out loop counter
@ r5:  tmpAR
@ r9:  inner loop counter
@ r12: constant #16384
@ r6, r7, r8, r10, r11: scratch

#include "webrtc/system_wrappers/interface/asm_defines.h"
#include "settings.h"

GLOBAL_FUNCTION WebRtcIsacfix_FilterArLoop
.align  2
DEFINE_FUNCTION WebRtcIsacfix_FilterArLoop
  push    {r4-r11}

  add     r1, #2                 @ &ar_f_Q0[1]
  mov     r12, #16384
  mov     r4, #HALF_SUBFRAMELEN
  sub     r4, #1                 @ Outer loop counter = HALF_SUBFRAMELEN - 1

HALF_SUBFRAME_LOOP:  @ for(n = 0; n < HALF_SUBFRAMELEN - 1; n++)

  ldr     r9, [sp, #32]          @ Restore the inner loop counter to order_coef
  ldrh    r5, [r1]               @ tmpAR = ar_f_Q0[n+1]
  add     r0, r9, asl #1         @ Restore r0 to &ar_g_Q0[order_coef]
  add     r2, r9, asl #1         @ Restore r2 to &cth_Q15[order_coef]
  add     r3, r9, asl #1         @ Restore r3 to &sth_Q15[order_coef]

ORDER_COEF_LOOP:  @ for(k = order_coef - 1 ; k >= 0; k--)

  ldrh    r7, [r3, #-2]!         @ sth_Q15[k]
  ldrh    r6, [r2, #-2]!         @ cth_Q15[k]

  ldrh    r8, [r0, #-2]          @ ar_g_Q0[k]
  smlabb  r11, r7, r5, r12       @ sth_Q15[k] * tmpAR + 16384
  smlabb  r10, r6, r5, r12       @ cth_Q15[k] * tmpAR + 16384
  smulbb  r7, r7, r8             @ sth_Q15[k] * ar_g_Q0[k]
  smlabb  r11, r6, r8, r11       @ cth_Q15[k]*ar_g_Q0[k]+(sth_Q15[k]*tmpAR+16384)

  sub     r10, r10, r7           @ cth_Q15[k]*tmpAR+16384-(sth_Q15[k]*ar_g_Q0[k])
  ssat    r11, #16, r11, asr #15
  ssat    r5, #16, r10, asr #15
  strh    r11, [r0], #-2         @ Output: ar_g_Q0[k+1]

  subs    r9, #1
  bgt     ORDER_COEF_LOOP

  strh    r5, [r0]               @ Output: ar_g_Q0[0] = tmpAR;
  strh    r5, [r1], #2           @ Output: ar_f_Q0[n+1] = tmpAR;

  subs    r4, #1
  bne     HALF_SUBFRAME_LOOP

  pop     {r4-r11}
  bx      lr
