Home | History | Annotate | Download | only in armv6
      1 ;
      2 ;  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
      3 ;
      4 ;  Use of this source code is governed by a BSD-style license
      5 ;  that can be found in the LICENSE file in the root of the source
      6 ;  tree. An additional intellectual property rights grant can be found
      7 ;  in the file PATENTS.  All contributing project authors may
      8 ;  be found in the AUTHORS file in the root of the source tree.
      9 ;
     10 
     11 
     12     EXPORT  |vp8_dequantize_b_loop_v6|
     13 
     14     AREA    |.text|, CODE, READONLY  ; name this block of code
     15 ;-------------------------------
     16 ;void   vp8_dequantize_b_loop_v6(short *Q, short *DQC, short *DQ);
     17 ; r0    short *Q,
     18 ; r1    short *DQC
     19 ; r2    short *DQ
     20 |vp8_dequantize_b_loop_v6| PROC
     21     stmdb   sp!, {r4-r9, lr}
     22 
     23     ldr     r3, [r0]                ;load Q
     24     ldr     r4, [r1]                ;load DQC
     25     ldr     r5, [r0, #4]
     26     ldr     r6, [r1, #4]
     27 
     28     mov     r12, #2                 ;loop counter
     29 
     30 dequant_loop
     31     smulbb  r7, r3, r4              ;multiply
     32     smultt  r8, r3, r4
     33     smulbb  r9, r5, r6
     34     smultt  lr, r5, r6
     35 
     36     ldr     r3, [r0, #8]
     37     ldr     r4, [r1, #8]
     38     ldr     r5, [r0, #12]
     39     ldr     r6, [r1, #12]
     40 
     41     strh    r7, [r2], #2            ;store result
     42     smulbb  r7, r3, r4              ;multiply
     43     strh    r8, [r2], #2
     44     smultt  r8, r3, r4
     45     strh    r9, [r2], #2
     46     smulbb  r9, r5, r6
     47     strh    lr, [r2], #2
     48     smultt  lr, r5, r6
     49 
     50     subs    r12, r12, #1
     51 
     52     add     r0, r0, #16
     53     add     r1, r1, #16
     54 
     55     ldrne       r3, [r0]
     56     strh    r7, [r2], #2            ;store result
     57     ldrne       r4, [r1]
     58     strh    r8, [r2], #2
     59     ldrne       r5, [r0, #4]
     60     strh    r9, [r2], #2
     61     ldrne       r6, [r1, #4]
     62     strh    lr, [r2], #2
     63 
     64     bne     dequant_loop
     65 
     66     ldmia   sp!, {r4-r9, pc}
     67     ENDP    ;|vp8_dequantize_b_loop_v6|
     68 
     69     END
     70