summaryrefslogtreecommitdiff
path: root/third_party/libyuv/source/compare_gcc.cc
diff options
context:
space:
mode:
authorJames Bankoski <jimbankoski@google.com>2016-07-01 19:08:04 +0000
committerJames Bankoski <jimbankoski@google.com>2016-07-01 19:14:28 +0000
commitc5372cf077394856eb1aa10e72bcc8e25bb9b3ec (patch)
tree7cfaf2e17b6c1374a3c3d10026dd74c1ed9992c0 /third_party/libyuv/source/compare_gcc.cc
parentaa81375d73ee33d382e7f717c519db6159e497ee (diff)
downloadlibvpx-c5372cf077394856eb1aa10e72bcc8e25bb9b3ec.tar
libvpx-c5372cf077394856eb1aa10e72bcc8e25bb9b3ec.tar.gz
libvpx-c5372cf077394856eb1aa10e72bcc8e25bb9b3ec.tar.bz2
libvpx-c5372cf077394856eb1aa10e72bcc8e25bb9b3ec.zip
Revert "libyuv: update to 2f101fdb"
Compile failures on linux platform. BUG=webm:1253 This reverts commit aa81375d73ee33d382e7f717c519db6159e497ee. Change-Id: Ibab2c4827bc21518dc03c6e9716b5015cff56fc7
Diffstat (limited to 'third_party/libyuv/source/compare_gcc.cc')
-rw-r--r--third_party/libyuv/source/compare_gcc.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/third_party/libyuv/source/compare_gcc.cc b/third_party/libyuv/source/compare_gcc.cc
index 1b83edb16..247cb33bb 100644
--- a/third_party/libyuv/source/compare_gcc.cc
+++ b/third_party/libyuv/source/compare_gcc.cc
@@ -9,8 +9,6 @@
*/
#include "libyuv/basic_types.h"
-
-#include "libyuv/compare_row.h"
#include "libyuv/row.h"
#ifdef __cplusplus
@@ -18,13 +16,11 @@ namespace libyuv {
extern "C" {
#endif
-// This module is for GCC x86 and x64.
-#if !defined(LIBYUV_DISABLE_X86) && \
- (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER)))
+#if !defined(LIBYUV_DISABLE_X86) && (defined(__x86_64__) || defined(__i386__))
uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
uint32 sse;
- asm volatile (
+ asm volatile ( // NOLINT
"pxor %%xmm0,%%xmm0 \n"
"pxor %%xmm5,%%xmm5 \n"
LABELALIGN
@@ -58,10 +54,15 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
"+r"(count), // %2
"=g"(sse) // %3
:: "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
- );
+ ); // NOLINT
return sse;
}
+#endif // defined(__x86_64__) || defined(__i386__)
+
+#if !defined(LIBYUV_DISABLE_X86) && \
+ (defined(__x86_64__) || (defined(__i386__) && !defined(__pic__)))
+#define HAS_HASHDJB2_SSE41
static uvec32 kHash16x33 = { 0x92d9e201, 0, 0, 0 }; // 33 ^ 16
static uvec32 kHashMul0 = {
0x0c3525e1, // 33 ^ 15
@@ -90,7 +91,7 @@ static uvec32 kHashMul3 = {
uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed) {
uint32 hash;
- asm volatile (
+ asm volatile ( // NOLINT
"movd %2,%%xmm0 \n"
"pxor %%xmm7,%%xmm7 \n"
"movdqa %4,%%xmm6 \n"
@@ -139,7 +140,7 @@ uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed) {
"m"(kHashMul3) // %8
: "memory", "cc"
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
- );
+ ); // NOLINT
return hash;
}
#endif // defined(__x86_64__) || (defined(__i386__) && !defined(__pic__)))