OLD | NEW |
1 ; | 1 ; |
2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. |
3 ; | 3 ; |
4 ; Use of this source code is governed by a BSD-style license | 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 | 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 | 6 ; tree. An additional intellectual property rights grant can be found |
7 ; in the file PATENTS. All contributing project authors may | 7 ; in the file PATENTS. All contributing project authors may |
8 ; be found in the AUTHORS file in the root of the source tree. | 8 ; be found in the AUTHORS file in the root of the source tree. |
9 ; | 9 ; |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 ; * | 26 ; * |
27 ; * For the second constant, becuase of the 16bit version is 35468, which | 27 ; * For the second constant, becuase of the 16bit version is 35468, which |
28 ; * is bigger than 32768, in signed 16 bit multiply, it become a negative | 28 ; * is bigger than 32768, in signed 16 bit multiply, it become a negative |
29 ; * number. | 29 ; * number. |
30 ; * (x * (unsigned)35468 >> 16) = x * (signed)35468 >> 16 + x | 30 ; * (x * (unsigned)35468 >> 16) = x * (signed)35468 >> 16 + x |
31 ; * | 31 ; * |
32 ; **************************************************************************/ | 32 ; **************************************************************************/ |
33 | 33 |
34 | 34 |
35 ;void short_idct4x4llm_mmx(short *input, short *output, int pitch) | 35 ;void short_idct4x4llm_mmx(short *input, short *output, int pitch) |
36 global sym(vp8_short_idct4x4llm_mmx) | 36 global sym(vp8_short_idct4x4llm_mmx) PRIVATE |
37 sym(vp8_short_idct4x4llm_mmx): | 37 sym(vp8_short_idct4x4llm_mmx): |
38 push rbp | 38 push rbp |
39 mov rbp, rsp | 39 mov rbp, rsp |
40 SHADOW_ARGS_TO_STACK 3 | 40 SHADOW_ARGS_TO_STACK 3 |
41 GET_GOT rbx | 41 GET_GOT rbx |
42 ; end prolog | 42 ; end prolog |
43 | 43 |
44 mov rax, arg(0) ;input | 44 mov rax, arg(0) ;input |
45 mov rdx, arg(1) ;output | 45 mov rdx, arg(1) ;output |
46 | 46 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 movq [rdx+rax*2], mm5 | 178 movq [rdx+rax*2], mm5 |
179 | 179 |
180 ; begin epilog | 180 ; begin epilog |
181 RESTORE_GOT | 181 RESTORE_GOT |
182 UNSHADOW_ARGS | 182 UNSHADOW_ARGS |
183 pop rbp | 183 pop rbp |
184 ret | 184 ret |
185 | 185 |
186 | 186 |
187 ;void short_idct4x4llm_1_mmx(short *input, short *output, int pitch) | 187 ;void short_idct4x4llm_1_mmx(short *input, short *output, int pitch) |
188 global sym(vp8_short_idct4x4llm_1_mmx) | 188 global sym(vp8_short_idct4x4llm_1_mmx) PRIVATE |
189 sym(vp8_short_idct4x4llm_1_mmx): | 189 sym(vp8_short_idct4x4llm_1_mmx): |
190 push rbp | 190 push rbp |
191 mov rbp, rsp | 191 mov rbp, rsp |
192 SHADOW_ARGS_TO_STACK 3 | 192 SHADOW_ARGS_TO_STACK 3 |
193 GET_GOT rbx | 193 GET_GOT rbx |
194 ; end prolog | 194 ; end prolog |
195 | 195 |
196 mov rax, arg(0) ;input | 196 mov rax, arg(0) ;input |
197 movd mm0, [rax] | 197 movd mm0, [rax] |
198 | 198 |
(...skipping 15 matching lines...) Expand all Loading... |
214 movq [rdx+rax*2], mm0 | 214 movq [rdx+rax*2], mm0 |
215 | 215 |
216 | 216 |
217 ; begin epilog | 217 ; begin epilog |
218 RESTORE_GOT | 218 RESTORE_GOT |
219 UNSHADOW_ARGS | 219 UNSHADOW_ARGS |
220 pop rbp | 220 pop rbp |
221 ret | 221 ret |
222 | 222 |
223 ;void vp8_dc_only_idct_add_mmx(short input_dc, unsigned char *pred_ptr, unsigned
char *dst_ptr, int pitch, int stride) | 223 ;void vp8_dc_only_idct_add_mmx(short input_dc, unsigned char *pred_ptr, unsigned
char *dst_ptr, int pitch, int stride) |
224 global sym(vp8_dc_only_idct_add_mmx) | 224 global sym(vp8_dc_only_idct_add_mmx) PRIVATE |
225 sym(vp8_dc_only_idct_add_mmx): | 225 sym(vp8_dc_only_idct_add_mmx): |
226 push rbp | 226 push rbp |
227 mov rbp, rsp | 227 mov rbp, rsp |
228 SHADOW_ARGS_TO_STACK 5 | 228 SHADOW_ARGS_TO_STACK 5 |
229 GET_GOT rbx | 229 GET_GOT rbx |
230 push rsi | 230 push rsi |
231 push rdi | 231 push rdi |
232 ; end prolog | 232 ; end prolog |
233 | 233 |
234 mov rsi, arg(1) ;s -- prediction | 234 mov rsi, arg(1) ;s -- prediction |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 SECTION_RODATA | 283 SECTION_RODATA |
284 align 16 | 284 align 16 |
285 x_s1sqr2: | 285 x_s1sqr2: |
286 times 4 dw 0x8A8C | 286 times 4 dw 0x8A8C |
287 align 16 | 287 align 16 |
288 x_c1sqr2less1: | 288 x_c1sqr2less1: |
289 times 4 dw 0x4E7B | 289 times 4 dw 0x4E7B |
290 align 16 | 290 align 16 |
291 fours: | 291 fours: |
292 times 4 dw 0x0004 | 292 times 4 dw 0x0004 |
OLD | NEW |