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 |
11 | 11 |
12 %include "vpx_ports/x86_abi_support.asm" | 12 %include "vpx_ports/x86_abi_support.asm" |
13 | 13 |
14 ;void vp8_short_inv_walsh4x4_mmx(short *input, short *output) | 14 ;void vp8_short_inv_walsh4x4_mmx(short *input, short *output) |
15 global sym(vp8_short_inv_walsh4x4_mmx) PRIVATE | 15 global sym(vp8_short_inv_walsh4x4_mmx) PRIVATE |
16 sym(vp8_short_inv_walsh4x4_mmx): | 16 sym(vp8_short_inv_walsh4x4_mmx): |
17 push rbp | 17 push rbp |
18 mov rbp, rsp | 18 mov rbp, rsp |
19 SHADOW_ARGS_TO_STACK 2 | 19 SHADOW_ARGS_TO_STACK 2 |
20 ; end prolog | 20 ; end prolog |
21 | 21 |
22 mov rdx, arg(0) | 22 mov rdx, arg(0) |
23 mov rax, 30003h | 23 mov rax, 30003h |
24 | 24 |
25 movq mm0, [rdx + 0] ;ip[0] | 25 movq mm0, [rdx + 0] ;ip[0] |
26 movq mm1, [rdx + 8] ;ip[4] | 26 movq mm1, [rdx + 8] ;ip[4] |
27 movd mm7, rax | 27 movq mm7, rax |
28 | 28 |
29 movq mm2, [rdx + 16] ;ip[8] | 29 movq mm2, [rdx + 16] ;ip[8] |
30 movq mm3, [rdx + 24] ;ip[12] | 30 movq mm3, [rdx + 24] ;ip[12] |
31 punpcklwd mm7, mm7 ;0003000300030003h | 31 punpcklwd mm7, mm7 ;0003000300030003h |
32 mov rdx, arg(1) | 32 mov rdx, arg(1) |
33 | 33 |
34 movq mm4, mm0 | 34 movq mm4, mm0 |
35 movq mm5, mm1 | 35 movq mm5, mm1 |
36 | 36 |
37 paddw mm4, mm3 ;ip[0] + ip[12] aka al | 37 paddw mm4, mm3 ;ip[0] + ip[12] aka al |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 shr eax, 16 | 131 shr eax, 16 |
132 shr ecx, 16 | 132 shr ecx, 16 |
133 mov word ptr[rdx+32*14], ax | 133 mov word ptr[rdx+32*14], ax |
134 mov word ptr[rdx+32*15], cx | 134 mov word ptr[rdx+32*15], cx |
135 | 135 |
136 ; begin epilog | 136 ; begin epilog |
137 UNSHADOW_ARGS | 137 UNSHADOW_ARGS |
138 pop rbp | 138 pop rbp |
139 ret | 139 ret |
140 | 140 |
OLD | NEW |