| Index: source/libvpx/third_party/libyuv/source/compare_posix.cc
|
| diff --git a/source/libvpx/third_party/libyuv/source/compare_posix.cc b/source/libvpx/third_party/libyuv/source/compare_posix.cc
|
| index ac361190e8867da6deea1c3c0d991138ca754af6..247cb33bbaab6f0b6b6eab7bb1eb8e3f554ce353 100644
|
| --- a/source/libvpx/third_party/libyuv/source/compare_posix.cc
|
| +++ b/source/libvpx/third_party/libyuv/source/compare_posix.cc
|
| @@ -25,11 +25,10 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
|
| "pxor %%xmm5,%%xmm5 \n"
|
| LABELALIGN
|
| "1: \n"
|
| - "movdqa " MEMACCESS(0) ",%%xmm1 \n"
|
| + "movdqu " MEMACCESS(0) ",%%xmm1 \n"
|
| "lea " MEMLEA(0x10, 0) ",%0 \n"
|
| - "movdqa " MEMACCESS(1) ",%%xmm2 \n"
|
| + "movdqu " MEMACCESS(1) ",%%xmm2 \n"
|
| "lea " MEMLEA(0x10, 1) ",%1 \n"
|
| - "sub $0x10,%2 \n"
|
| "movdqa %%xmm1,%%xmm3 \n"
|
| "psubusb %%xmm2,%%xmm1 \n"
|
| "psubusb %%xmm3,%%xmm2 \n"
|
| @@ -41,6 +40,7 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
|
| "pmaddwd %%xmm2,%%xmm2 \n"
|
| "paddd %%xmm1,%%xmm0 \n"
|
| "paddd %%xmm2,%%xmm0 \n"
|
| + "sub $0x10,%2 \n"
|
| "jg 1b \n"
|
|
|
| "pshufd $0xee,%%xmm0,%%xmm1 \n"
|
| @@ -53,11 +53,7 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
|
| "+r"(src_b), // %1
|
| "+r"(count), // %2
|
| "=g"(sse) // %3
|
| - :
|
| - : "memory", "cc"
|
| -#if defined(__SSE2__)
|
| - , "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
|
| -#endif
|
| + :: "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
|
| ); // NOLINT
|
| return sse;
|
| }
|
| @@ -124,13 +120,13 @@ uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed) {
|
| "pmulld %%xmm5,%%xmm1 \n"
|
| "paddd %%xmm4,%%xmm3 \n"
|
| "paddd %%xmm2,%%xmm1 \n"
|
| - "sub $0x10,%1 \n"
|
| "paddd %%xmm3,%%xmm1 \n"
|
| "pshufd $0xe,%%xmm1,%%xmm2 \n"
|
| "paddd %%xmm2,%%xmm1 \n"
|
| "pshufd $0x1,%%xmm1,%%xmm2 \n"
|
| "paddd %%xmm2,%%xmm1 \n"
|
| "paddd %%xmm1,%%xmm0 \n"
|
| + "sub $0x10,%1 \n"
|
| "jg 1b \n"
|
| "movd %%xmm0,%3 \n"
|
| : "+r"(src), // %0
|
| @@ -143,9 +139,7 @@ uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed) {
|
| "m"(kHashMul2), // %7
|
| "m"(kHashMul3) // %8
|
| : "memory", "cc"
|
| -#if defined(__SSE2__)
|
| , "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
|
| -#endif
|
| ); // NOLINT
|
| return hash;
|
| }
|
|
|