Mercurial > libavcodec.hg
comparison x86/x86util.asm @ 12498:c997f09d1e10 libavcodec
Move hadamard_diff{,16}_{mmx,mmx2,sse2,ssse3}() from inline asm to yasm,
which will hopefully solve the Win64/FATE failures caused by these functions.
author | rbultje |
---|---|
date | Fri, 17 Sep 2010 01:56:06 +0000 |
parents | 846779f6b164 |
children |
comparison
equal
deleted
inserted
replaced
12497:c5ffa8b81f9c | 12498:c997f09d1e10 |
---|---|
146 %macro PSIGNW_SSSE3 2 | 146 %macro PSIGNW_SSSE3 2 |
147 psignw %1, %2 | 147 psignw %1, %2 |
148 %endmacro | 148 %endmacro |
149 | 149 |
150 %macro ABS1_MMX 2 ; a, tmp | 150 %macro ABS1_MMX 2 ; a, tmp |
151 pxor %2, %2 | |
152 pcmpgtw %2, %1 | |
153 pxor %1, %2 | |
154 psubw %1, %2 | |
155 %endmacro | |
156 | |
157 %macro ABS2_MMX 4 ; a, b, tmp0, tmp1 | |
158 pxor %3, %3 | |
159 pxor %4, %4 | |
160 pcmpgtw %3, %1 | |
161 pcmpgtw %4, %2 | |
162 pxor %1, %3 | |
163 pxor %2, %4 | |
164 psubw %1, %3 | |
165 psubw %2, %4 | |
166 %endmacro | |
167 | |
168 %macro ABS1_MMX2 2 ; a, tmp | |
151 pxor %2, %2 | 169 pxor %2, %2 |
152 psubw %2, %1 | 170 psubw %2, %1 |
153 pmaxsw %1, %2 | 171 pmaxsw %1, %2 |
154 %endmacro | 172 %endmacro |
155 | 173 |
156 %macro ABS2_MMX 4 ; a, b, tmp0, tmp1 | 174 %macro ABS2_MMX2 4 ; a, b, tmp0, tmp1 |
157 pxor %3, %3 | 175 pxor %3, %3 |
158 pxor %4, %4 | 176 pxor %4, %4 |
159 psubw %3, %1 | 177 psubw %3, %1 |
160 psubw %4, %2 | 178 psubw %4, %2 |
161 pmaxsw %1, %3 | 179 pmaxsw %1, %3 |