Mercurial > libavcodec.hg
annotate alpha/motion_est_mvi_asm.S @ 10345:294c444866f7 libavcodec
Make avcodec_open set codec_id and codec_type if they haven't been set.
This fixes the API breakage introduced by the check that avctx codec id and type
match the opened codec and should make (almost?) all applications work again.
author | reimar |
---|---|
date | Thu, 01 Oct 2009 15:54:55 +0000 |
parents | 6f1b210e58d1 |
children | 58c2da0a371b |
rev | line source |
---|---|
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
1 /* |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
2 * Alpha optimized DSP utils |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
3 * Copyright (c) 2002 Falk Hueffner <falk@debian.org> |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
4 * |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3130
diff
changeset
|
5 * This file is part of FFmpeg. |
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3130
diff
changeset
|
6 * |
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3130
diff
changeset
|
7 * FFmpeg is free software; you can redistribute it and/or |
3130 | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3130
diff
changeset
|
10 * version 2.1 of the License, or (at your option) any later version. |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
11 * |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3130
diff
changeset
|
12 * FFmpeg is distributed in the hope that it will be useful, |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3130 | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Lesser General Public License for more details. | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
16 * |
3130 | 17 * You should have received a copy of the GNU Lesser General Public |
3947
c8c591fe26f8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents:
3130
diff
changeset
|
18 * License along with FFmpeg; if not, write to the Free Software |
3130 | 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
20 */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
21 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
22 #include "regdef.h" |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
23 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
24 /* Some nicer register names. */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
25 #define ta t10 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
26 #define tb t11 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
27 #define tc t12 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
28 #define td AT |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
29 /* Danger: these overlap with the argument list and the return value */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
30 #define te a5 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
31 #define tf a4 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
32 #define tg a3 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
33 #define th v0 |
2967 | 34 |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
35 .set noat |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
36 .set noreorder |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
37 .arch pca56 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
38 .text |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
39 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
40 /***************************************************************************** |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
41 * int pix_abs16x16_mvi_asm(uint8_t *pix1, uint8_t *pix2, int line_size) |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
42 * |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
43 * This code is written with a pca56 in mind. For ev6, one should |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
44 * really take the increased latency of 3 cycles for MVI instructions |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
45 * into account. |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
46 * |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
47 * It is important to keep the loading and first use of a register as |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
48 * far apart as possible, because if a register is accessed before it |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
49 * has been fetched from memory, the CPU will stall. |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
50 */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
51 .align 4 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
52 .globl pix_abs16x16_mvi_asm |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
53 .ent pix_abs16x16_mvi_asm |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
54 pix_abs16x16_mvi_asm: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
55 .frame sp, 0, ra, 0 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
56 .prologue 0 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
57 |
8590 | 58 #if CONFIG_GPROF |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
59 lda AT, _mcount |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
60 jsr AT, (AT), _mcount |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
61 #endif |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
62 |
8625 | 63 and a2, 7, t0 |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
64 clr v0 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
65 beq t0, $aligned |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
66 .align 4 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
67 $unaligned: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
68 /* Registers: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
69 line 0: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
70 t0: left_u -> left lo -> left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
71 t1: mid |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
72 t2: right_u -> right hi -> right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
73 t3: ref left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
74 t4: ref right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
75 line 1: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
76 t5: left_u -> left lo -> left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
77 t6: mid |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
78 t7: right_u -> right hi -> right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
79 t8: ref left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
80 t9: ref right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
81 temp: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
82 ta: left hi |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
83 tb: right lo |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
84 tc: error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
85 td: error right */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
86 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
87 /* load line 0 */ |
8625 | 88 ldq_u t0, 0(a2) # left_u |
89 ldq_u t1, 8(a2) # mid | |
90 ldq_u t2, 16(a2) # right_u | |
91 ldq t3, 0(a1) # ref left | |
92 ldq t4, 8(a1) # ref right | |
93 addq a1, a3, a1 # pix1 | |
94 addq a2, a3, a2 # pix2 | |
2967 | 95 /* load line 1 */ |
8625 | 96 ldq_u t5, 0(a2) # left_u |
97 ldq_u t6, 8(a2) # mid | |
98 ldq_u t7, 16(a2) # right_u | |
99 ldq t8, 0(a1) # ref left | |
100 ldq t9, 8(a1) # ref right | |
101 addq a1, a3, a1 # pix1 | |
102 addq a2, a3, a2 # pix2 | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
103 /* calc line 0 */ |
8625 | 104 extql t0, a2, t0 # left lo |
105 extqh t1, a2, ta # left hi | |
106 extql t1, a2, tb # right lo | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
107 or t0, ta, t0 # left |
8625 | 108 extqh t2, a2, t2 # right hi |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
109 perr t3, t0, tc # error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
110 or t2, tb, t2 # right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
111 perr t4, t2, td # error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
112 addq v0, tc, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
113 addq v0, td, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
114 /* calc line 1 */ |
8625 | 115 extql t5, a2, t5 # left lo |
116 extqh t6, a2, ta # left hi | |
117 extql t6, a2, tb # right lo | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
118 or t5, ta, t5 # left |
8625 | 119 extqh t7, a2, t7 # right hi |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
120 perr t8, t5, tc # error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
121 or t7, tb, t7 # right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
122 perr t9, t7, td # error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
123 addq v0, tc, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
124 addq v0, td, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
125 /* loop */ |
8625 | 126 subq a4, 2, a4 # h -= 2 |
127 bne a4, $unaligned | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
128 ret |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
129 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
130 .align 4 |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
131 $aligned: |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
132 /* load line 0 */ |
8625 | 133 ldq t0, 0(a2) # left |
134 ldq t1, 8(a2) # right | |
135 addq a2, a3, a2 # pix2 | |
136 ldq t2, 0(a1) # ref left | |
137 ldq t3, 8(a1) # ref right | |
138 addq a1, a3, a1 # pix1 | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
139 /* load line 1 */ |
8625 | 140 ldq t4, 0(a2) # left |
141 ldq t5, 8(a2) # right | |
142 addq a2, a3, a2 # pix2 | |
143 ldq t6, 0(a1) # ref left | |
144 ldq t7, 8(a1) # ref right | |
145 addq a1, a3, a1 # pix1 | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
146 /* load line 2 */ |
8625 | 147 ldq t8, 0(a2) # left |
148 ldq t9, 8(a2) # right | |
149 addq a2, a3, a2 # pix2 | |
150 ldq ta, 0(a1) # ref left | |
151 ldq tb, 8(a1) # ref right | |
152 addq a1, a3, a1 # pix1 | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
153 /* load line 3 */ |
8625 | 154 ldq tc, 0(a2) # left |
155 ldq td, 8(a2) # right | |
156 addq a2, a3, a2 # pix2 | |
157 ldq te, 0(a1) # ref left | |
158 ldq a0, 8(a1) # ref right | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
159 /* calc line 0 */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
160 perr t0, t2, t0 # error left |
8625 | 161 addq a1, a3, a1 # pix1 |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
162 perr t1, t3, t1 # error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
163 addq v0, t0, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
164 /* calc line 1 */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
165 perr t4, t6, t0 # error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
166 addq v0, t1, v0 # add error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
167 perr t5, t7, t1 # error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
168 addq v0, t0, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
169 /* calc line 2 */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
170 perr t8, ta, t0 # error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
171 addq v0, t1, v0 # add error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
172 perr t9, tb, t1 # error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
173 addq v0, t0, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
174 /* calc line 3 */ |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
175 perr tc, te, t0 # error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
176 addq v0, t1, v0 # add error right |
8625 | 177 perr td, a0, t1 # error right |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
178 addq v0, t0, v0 # add error left |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
179 addq v0, t1, v0 # add error right |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
180 /* loop */ |
8625 | 181 subq a4, 4, a4 # h -= 4 |
182 bne a4, $aligned | |
705
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
183 ret |
107a56aa74f5
Add Alpha assembly for pix_abs16x16. Optimized for pca56, no large win
mellum
parents:
diff
changeset
|
184 .end pix_abs16x16_mvi_asm |