@/*
@ ** Copyright 2003-2010, VisualOn, Inc.
@ **
@ ** Licensed under the Apache License, Version 2.0 (the "License");
@ ** you may not use this file except in compliance with the License.
@ ** You may obtain a copy of the License at
@ **
@ **     http://www.apache.org/licenses/LICENSE-2.0
@ **
@ ** Unless required by applicable law or agreed to in writing, software
@ ** distributed under the License is distributed on an "AS IS" BASIS,
@ ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@ ** See the License for the specific language governing permissions and
@ ** limitations under the License.
@ */

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@	File:		AutoCorrelation_v5.s
@
@	Content:	AutoCorrelation function armv5 assemble
@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


	.section .text	
	.global	AutoCorrelation

AutoCorrelation:
	stmdb     sp!, {r4 - r11, lr}

  sub     r13, r13, #20                     

  mov     r5, r0                            
  mov     r7, r1                            
  mov     r9, r3                            
  mov     r2, r2, lsl #16                      
  mov     r0, #0          
  mov     r4, r2, asr #16                   
  mov     r8, #0                            
  cmp     r4, #0                            
  ble     L136        
	
	cmp     r4, #8 
	mov		  r2, #0 
  blt     L133   

	sub     r12, r4, #8                
L132:  
  ldr     r6, [r5, r2]  
	add		  r2, r2, #4
	smulbb  r3, r6, r6
	ldr     r1, [r5, r2] 
	smultt	r10, r6, r6
	mov		  r3, r3, asr #9
	smulbb	r6, r1, r1
	mov		  r10, r10, asr #9
	qadd	  r0, r0, r3
	smultt	r11, r1, r1
	add     r2, r2, #4
	qadd	  r0, r0, r10
	mov		  r6, r6, asr #9
	mov		  r11, r11, asr #9
	ldr		  r1, [r5, r2]
	qadd	  r0, r0, r6
	smulbb	r10, r1, r1
	smultt	r6, r1, r1
	qadd	  r0, r0, r11
	mov		  r10, r10, asr #9
	mov		  r6, r6, asr #9
	qadd	  r0, r0, r10
	add     r2, r2, #4
	add     r8, r8, #6

	qadd	  r0, r0, r6
	cmp     r8, r12                            
  blt     L132	                  
L133:                         
  ldrsh   r6, [r5, r2]                      
  mul     r10, r6, r6   
	add     r2, r2, #2                     
  mov     r1, r10, asr #9                    
  qadd    r0, r0, r1
L134:                         
  add     r8, r8, #1                        
  cmp     r8, r4                            
  blt     L133                            
L135:                        
L136:                         
  str     r0, [r7, #0]                      
  cmp     r0, #0                            
  beq     L1320                           
L137:                         
  mov     r2, r9, lsl #16                   
	mov     r8, #1                                
  mov     r2, r2, asr #16                   
  cmp     r2, #1                            
  ble     L1319                           
L138:                        
L139:                         
  sub     r4, r4, #1                        
  mov     r14, #0                           
  mov     r3, #0                            
  cmp     r4, #0                            
  ble     L1317                           
L1310:                       
  cmp     r4, #6                            
  addlt   r6, r5, r8, lsl #1                
  blt     L1314                           
L1311:                        
  add     r6, r5, r8, lsl #1                
  sub     r12, r4, #6                       
  str     r8, [r13, #8]                     
  str     r7, [r13, #4]                     
L1312:                        
  mov     r1, r3, lsl #1                    
  ldrsh   r7, [r6, r1]                      
  ldrsh   r10, [r5, r1]  
  add     r8, r1, r6 
	add     r9, r5, r1                       
	mul     r7, r10, r7
  ldrsh   r1, [r8, #2] 
	ldrsh   r10, [r8, #4]   
  add     r7, r14, r7, asr #9  	                                             
  ldrsh   r0, [r9, #2]                          
  ldrsh   r11, [r9, #4]                   
  mul     r1, r0, r1                        
  ldrsh   r14, [r8, #6]                     
  mul     r10, r11, r10          
	add     r7, r7, r1, asr #9            
  ldrsh   r8, [r8, #8] 
	add     r3, r3, #5
	ldrsh   r11, [r9, #6]                  
  ldrsh   r1, [r9, #8]                      
  mul     r14, r11, r14                     
  add     r7, r7, r10, asr #9       
  mul     r1, r1, r8                             
  add     r14, r7, r14, asr #9              
	cmp     r3, r12 
  add     r14, r14, r1, asr #9              
  ble     L1312                           
L1313:                        
  ldr     r8, [r13, #8]                     
  ldr     r7, [r13, #4]                     
L1314:                        
L1315:                        
  mov     r12, r3, lsl #1                   
  ldrsh   r9, [r6, r12]                     
  ldrsh   r12, [r5, r12]                    
  add     r3, r3, #1                        
  cmp     r3, r4                            
  mul     r12, r12, r9                      
  add     r14, r14, r12, asr #9             
  blt     L1315                           
L1316:                        
L1317:                        
  str     r14, [r7, +r8, lsl #2]            
  add     r8, r8, #1                        
  cmp     r8, r2                            
  blt     L139   
	                         
L1319:
L1320:
	add     r13, r13, #20                    
	ldmia   sp!, {r4 - r11, pc}

	@ENDP  @ |AutoCorrelation|
	.end
