~siretart/libav/merge.raring.libav-0.8.6

« back to all changes in this revision

Viewing changes to libavcodec/arm/dsputil_armv6.S

  • Committer: Package Import Robot
  • Author(s): Reinhard Tartler
  • Date: 2012-01-12 22:30:00 UTC
  • mfrom: (1.4.1)
  • mto: (1.3.11 sid) (26.1.1 quantal-security)
  • mto: This revision was merged to the branch mainline in revision 15.
  • Revision ID: package-import@ubuntu.com-20120112223000-s1reiy1e28hnix42
Tags: upstream-0.8~beta2
ImportĀ upstreamĀ versionĀ 0.8~beta2

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
        preserve8
24
24
 
25
 
        .text
26
 
 
27
25
.macro  call_2x_pixels  type, subp
28
26
function ff_\type\()_pixels16\subp\()_armv6, export=1
29
27
        push            {r0-r3, lr}
47
45
        ldr             r5,  [r1, #4]
48
46
        ldr             r6,  [r1, #8]
49
47
        ldr             r7,  [r1, #12]
50
 
        ldr             r4,  [r1], r2
 
48
        ldr_post        r4,  r1,  r2
51
49
        strd            r6,  r7,  [r0, #8]
52
50
        ldr             r9,  [r1, #4]
53
 
        strd            r4,  r5,  [r0],  r2
 
51
        strd_post       r4,  r5,  r0,  r2
54
52
        ldr             r10, [r1, #8]
55
53
        ldr             r11, [r1, #12]
56
 
        ldr             r8,  [r1], r2
 
54
        ldr_post        r8,  r1,  r2
57
55
        strd            r10, r11, [r0, #8]
58
56
        subs            r3,  r3,  #2
59
 
        strd            r8,  r9,  [r0],  r2
 
57
        strd_post       r8,  r9,  r0,  r2
60
58
        bne             1b
61
59
 
62
60
        pop             {r4-r11}
67
65
        push            {r4-r7}
68
66
1:
69
67
        ldr             r5,  [r1, #4]
70
 
        ldr             r4,  [r1], r2
 
68
        ldr_post        r4,  r1,  r2
71
69
        ldr             r7,  [r1, #4]
72
 
        strd            r4,  r5,  [r0],  r2
73
 
        ldr             r6,  [r1], r2
 
70
        strd_post       r4,  r5,  r0,  r2
 
71
        ldr_post        r6,  r1,  r2
74
72
        subs            r3,  r3,  #2
75
 
        strd            r6,  r7,  [r0],  r2
 
73
        strd_post       r6,  r7,  r0,  r2
76
74
        bne             1b
77
75
 
78
76
        pop             {r4-r7}
90
88
        ldr             r5,  [r1, #4]
91
89
        ldr             r7,  [r1, #5]
92
90
        lsr             r6,  r4,  #8
93
 
        ldr             r8,  [r1, r2]!
 
91
        ldr_pre         r8,  r1,  r2
94
92
        orr             r6,  r6,  r5,  lsl #24
95
93
        ldr             r9,  [r1, #4]
96
94
        ldr             r11, [r1, #5]
112
110
        uhadd8          r9,  r9,  r11
113
111
        and             r6,  r6,  r12
114
112
        uadd8           r8,  r8,  r14
115
 
        strd            r4,  r5,  [r0],  r2
 
113
        strd_post       r4,  r5,  r0,  r2
116
114
        uadd8           r9,  r9,  r6
117
 
        strd            r8,  r9,  [r0],  r2
 
115
        strd_post       r8,  r9,  r0,  r2
118
116
        bne             1b
119
117
 
120
118
        pop             {r4-r11, pc}
127
125
        orr             r12, r12, r12, lsl #16
128
126
        ldr             r4,  [r1]
129
127
        ldr             r5,  [r1, #4]
130
 
        ldr             r6,  [r1, r2]!
 
128
        ldr_pre         r6,  r1,  r2
131
129
        ldr             r7,  [r1, #4]
132
130
1:
133
131
        subs            r3,  r3,  #2
136
134
        uhadd8          r9,  r5,  r7
137
135
        eor             r11, r5,  r7
138
136
        and             r10, r10, r12
139
 
        ldr             r4,  [r1, r2]!
 
137
        ldr_pre         r4,  r1,  r2
140
138
        uadd8           r8,  r8,  r10
141
139
        and             r11, r11, r12
142
140
        uadd8           r9,  r9,  r11
148
146
        eor             r7,  r5,  r7
149
147
        uadd8           r10, r10, r6
150
148
        and             r7,  r7,  r12
151
 
        ldr             r6,  [r1, r2]!
 
149
        ldr_pre         r6,  r1,  r2
152
150
        uadd8           r11, r11, r7
153
 
        strd            r8,  r9,  [r0],  r2
 
151
        strd_post       r8,  r9,  r0,  r2
154
152
        ldr             r7,  [r1, #4]
155
 
        strd            r10, r11, [r0],  r2
 
153
        strd_post       r10, r11, r0,  r2
156
154
        bne             1b
157
155
 
158
156
        pop             {r4-r11}
166
164
        ldr             r4,  [r1]
167
165
        ldr             r5,  [r1, #4]
168
166
        ldr             r7,  [r1, #5]
169
 
        ldr             r8,  [r1, r2]!
 
167
        ldr_pre         r8,  r1,  r2
170
168
        ldr             r9,  [r1, #4]
171
169
        ldr             r14, [r1, #5]
172
170
        add             r1,  r1,  r2
191
189
        push            {r4-r9, lr}
192
190
        ldr             r4,  [r1]
193
191
        ldr             r5,  [r1, #4]
194
 
        ldr             r6,  [r1, r2]!
 
192
        ldr_pre         r6,  r1,  r2
195
193
        ldr             r7,  [r1, #4]
196
194
1:
197
195
        subs            r3,  r3,  #2
198
196
        uhadd8          r8,  r4,  r6
199
 
        ldr             r4,  [r1, r2]!
 
197
        ldr_pre         r4,  r1,  r2
200
198
        uhadd8          r9,  r5,  r7
201
199
        ldr             r5,  [r1, #4]
202
200
        uhadd8          r12, r4,  r6
203
 
        ldr             r6,  [r1, r2]!
 
201
        ldr_pre         r6,  r1,  r2
204
202
        uhadd8          r14, r5,  r7
205
203
        ldr             r7,  [r1, #4]
206
204
        stm             r0,  {r8,r9}
220
218
        orr             lr,  lr,  lr,  lsl #16
221
219
        ldrd            r4,  r5,  [r0]
222
220
        ldr             r10, [r1, #4]
223
 
        ldr             r9,  [r1], r2
 
221
        ldr_post        r9,  r1,  r2
224
222
        subs            r3,  r3,  #2
225
223
1:
226
224
        pld             [r1, r2]
227
225
        eor             r8,  r4,  r9
228
226
        uhadd8          r4,  r4,  r9
229
227
        eor             r12, r5,  r10
230
 
        ldrd            r6,  r7,  [r0, r2]
 
228
        ldrd_reg        r6,  r7,  r0,  r2
231
229
        uhadd8          r5,  r5,  r10
232
230
        and             r8,  r8,  lr
233
231
        ldr             r10, [r1, #4]
234
232
        and             r12, r12, lr
235
233
        uadd8           r4,  r4,  r8
236
 
        ldr             r9,  [r1], r2
 
234
        ldr_post        r9,  r1,  r2
237
235
        eor             r8,  r6,  r9
238
236
        uadd8           r5,  r5,  r12
239
237
        pld             [r1, r2,  lsl #1]
240
238
        eor             r12, r7,  r10
241
239
        uhadd8          r6,  r6,  r9
242
 
        strd            r4,  r5,  [r0], r2
 
240
        strd_post       r4,  r5,  r0,  r2
243
241
        uhadd8          r7,  r7,  r10
244
242
        beq             2f
245
243
        and             r8,  r8,  lr
246
 
        ldrd            r4,  r5,  [r0, r2]
 
244
        ldrd_reg        r4,  r5,  r0,  r2
247
245
        uadd8           r6,  r6,  r8
248
246
        ldr             r10, [r1, #4]
249
247
        and             r12, r12, lr
250
248
        subs            r3,  r3,  #2
251
249
        uadd8           r7,  r7,  r12
252
 
        ldr             r9,  [r1], r2
253
 
        strd            r6,  r7,  [r0], r2
 
250
        ldr_post        r9,  r1,  r2
 
251
        strd_post       r6,  r7,  r0,  r2
254
252
        b               1b
255
253
2:
256
254
        and             r8,  r8,  lr
257
255
        and             r12, r12, lr
258
256
        uadd8           r6,  r6,  r8
259
257
        uadd8           r7,  r7,  r12
260
 
        strd            r6,  r7,  [r0], r2
 
258
        strd_post       r6,  r7,  r0,  r2
261
259
 
262
260
        pop             {r4-r10, pc}
263
261
endfunc
284
282
        orr             r6,  r8,  r5,  lsl #8
285
283
        orr             r7,  r4,  lr,  lsl #8
286
284
        subs            r3,  r3,  #1
287
 
        strd            r6,  r7,  [r1],  r2
 
285
        strd_post       r6,  r7,  r1,  r2
288
286
        bgt             1b
289
287
        pop             {r4-r8,pc}
290
288
endfunc
294
292
        push            {r4-r8, lr}
295
293
        mov             lr,  #8
296
294
1:
297
 
        ldrd            r4,  r5,  [r1],  r2
 
295
        ldrd_post       r4,  r5,  r1,  r2
298
296
        subs            lr,  lr,  #1
299
297
        uxtb16          r6,  r4
300
298
        uxtb16          r4,  r4,  ror #8
317
315
        push            {r4-r9, lr}
318
316
        mov             lr,  #8
319
317
1:
320
 
        ldrd            r4,  r5,  [r1],  r3
321
 
        ldrd            r6,  r7,  [r2],  r3
 
318
        ldrd_post       r4,  r5,  r1,  r3
 
319
        ldrd_post       r6,  r7,  r2,  r3
322
320
        uxtb16          r8,  r4
323
321
        uxtb16          r4,  r4,  ror #8
324
322
        uxtb16          r9,  r6
492
490
        push            {r4-r9, lr}
493
491
        mov             r0,  #0
494
492
        mov             lr,  #0
495
 
        ldrd            r4,  r5,  [r1], r3
 
493
        ldrd_post       r4,  r5,  r1,  r3
496
494
1:
497
495
        subs            r12, r12, #2
498
496
        ldr             r7,  [r2, #4]
499
 
        ldr             r6,  [r2], r3
500
 
        ldrd            r8,  r9,  [r1], r3
 
497
        ldr_post        r6,  r2,  r3
 
498
        ldrd_post       r8,  r9,  r1,  r3
501
499
        usada8          r0,  r4,  r6,  r0
502
500
        pld             [r2, r3]
503
501
        usada8          lr,  r5,  r7,  lr
504
502
        ldr             r7,  [r2, #4]
505
 
        ldr             r6,  [r2], r3
 
503
        ldr_post        r6,  r2,  r3
506
504
        beq             2f
507
 
        ldrd            r4,  r5,  [r1], r3
 
505
        ldrd_post       r4,  r5,  r1,  r3
508
506
        usada8          r0,  r8,  r6,  r0
509
507
        pld             [r2, r3]
510
508
        usada8          lr,  r9,  r7,  lr
613
611
        ldr             r7,  [r0, #12]
614
612
        usada8          r2,  r6,  lr,  r2
615
613
        beq             2f
616
 
        ldr             r4,  [r0, r1]!
 
614
        ldr_pre         r4,  r0,  r1
617
615
        usada8          r3,  r7,  lr,  r3
618
616
        bgt             1b
619
617
2: