OLD | NEW |
1 ; | 1 ; |
2 ; Copyright (c) 2015 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2015 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 %include "third_party/x86inc/x86inc.asm" | 11 %include "third_party/x86inc/x86inc.asm" |
11 | 12 |
12 SECTION .text | 13 SECTION .text |
13 | 14 |
14 %macro REORDER_INPUTS 0 | 15 %macro REORDER_INPUTS 0 |
15 ; a c d b to a b c d | 16 ; a c d b to a b c d |
16 SWAP 1, 3, 2 | 17 SWAP 1, 3, 2 |
17 %endmacro | 18 %endmacro |
18 | 19 |
19 %macro TRANSFORM_COLS 0 | 20 %macro TRANSFORM_COLS 0 |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 punpcklwd m0, m1 | 61 punpcklwd m0, m1 |
61 punpckhwd m3, m1 | 62 punpckhwd m3, m1 |
62 mova m2, m0 | 63 mova m2, m0 |
63 punpcklwd m0, m3 | 64 punpcklwd m0, m3 |
64 punpckhwd m2, m3 | 65 punpckhwd m2, m3 |
65 pshufd m1, m0, 0x0e | 66 pshufd m1, m0, 0x0e |
66 pshufd m3, m2, 0x0e | 67 pshufd m3, m2, 0x0e |
67 %endmacro | 68 %endmacro |
68 | 69 |
69 %macro ADD_STORE_4P_2X 5 ; src1, src2, tmp1, tmp2, zero | 70 %macro ADD_STORE_4P_2X 5 ; src1, src2, tmp1, tmp2, zero |
70 movq m%3, [outputq] | 71 movd m%3, [outputq] |
71 movq m%4, [outputq + strideq] | 72 movd m%4, [outputq + strideq] |
72 punpcklbw m%3, m%5 | 73 punpcklbw m%3, m%5 |
73 punpcklbw m%4, m%5 | 74 punpcklbw m%4, m%5 |
74 paddw m%1, m%3 | 75 paddw m%1, m%3 |
75 paddw m%2, m%4 | 76 paddw m%2, m%4 |
76 packuswb m%1, m%5 | 77 packuswb m%1, m%5 |
77 packuswb m%2, m%5 | 78 packuswb m%2, m%5 |
78 movd [outputq], m%1 | 79 movd [outputq], m%1 |
79 movd [outputq + strideq], m%2 | 80 movd [outputq + strideq], m%2 |
80 %endmacro | 81 %endmacro |
81 | 82 |
(...skipping 11 matching lines...) Expand all Loading... |
93 TRANSPOSE_4X4 | 94 TRANSPOSE_4X4 |
94 REORDER_INPUTS | 95 REORDER_INPUTS |
95 TRANSFORM_COLS | 96 TRANSFORM_COLS |
96 | 97 |
97 pxor m4, m4 | 98 pxor m4, m4 |
98 ADD_STORE_4P_2X 0, 1, 5, 6, 4 | 99 ADD_STORE_4P_2X 0, 1, 5, 6, 4 |
99 lea outputq, [outputq + 2 * strideq] | 100 lea outputq, [outputq + 2 * strideq] |
100 ADD_STORE_4P_2X 2, 3, 5, 6, 4 | 101 ADD_STORE_4P_2X 2, 3, 5, 6, 4 |
101 | 102 |
102 RET | 103 RET |
OLD | NEW |