Commit 1663996c authored by fbarchard@google.com's avatar fbarchard@google.com

Remove ifdef __SSE2__ and native client ifdef for r14 in register usage declarations.

BUG=395
TESTED=gcc build with nacl
R=harryjin@google.com

Review URL: https://webrtc-codereview.appspot.com/34149004

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1264 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent 3cb48553
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 1262 Version: 1264
License: BSD License: BSD
License File: LICENSE License File: LICENSE
......
...@@ -417,6 +417,8 @@ typedef uint8 ulvec8[32]; ...@@ -417,6 +417,8 @@ typedef uint8 ulvec8[32];
#define LABELALIGN #define LABELALIGN
#endif #endif
#if defined(__native_client__) && defined(__x86_64__) #if defined(__native_client__) && defined(__x86_64__)
// r14 is used for MEMOP macros.
#define NACL_R14 "r14",
#define BUNDLELOCK ".bundle_lock\n" #define BUNDLELOCK ".bundle_lock\n"
#define BUNDLEUNLOCK ".bundle_unlock\n" #define BUNDLEUNLOCK ".bundle_unlock\n"
#define MEMACCESS(base) "%%nacl:(%%r15,%q" #base ")" #define MEMACCESS(base) "%%nacl:(%%r15,%q" #base ")"
...@@ -454,6 +456,7 @@ typedef uint8 ulvec8[32]; ...@@ -454,6 +456,7 @@ typedef uint8 ulvec8[32];
#op " $" #sel ",%%" #reg ",(%%r15,%%r14)\n" \ #op " $" #sel ",%%" #reg ",(%%r15,%%r14)\n" \
BUNDLEUNLOCK BUNDLEUNLOCK
#else // defined(__native_client__) && defined(__x86_64__) #else // defined(__native_client__) && defined(__x86_64__)
#define NACL_R14
#define BUNDLEALIGN #define BUNDLEALIGN
#define MEMACCESS(base) "(%" #base ")" #define MEMACCESS(base) "(%" #base ")"
#define MEMACCESS2(offset, base) #offset "(%" #base ")" #define MEMACCESS2(offset, base) #offset "(%" #base ")"
......
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1262 #define LIBYUV_VERSION 1264
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -53,11 +53,7 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) { ...@@ -53,11 +53,7 @@ uint32 SumSquareError_SSE2(const uint8* src_a, const uint8* src_b, int count) {
"+r"(src_b), // %1 "+r"(src_b), // %1
"+r"(count), // %2 "+r"(count), // %2
"=g"(sse) // %3 "=g"(sse) // %3
: :: "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
#endif
); // NOLINT ); // NOLINT
return sse; return sse;
} }
...@@ -143,9 +139,7 @@ uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed) { ...@@ -143,9 +139,7 @@ uint32 HashDjb2_SSE41(const uint8* src, int count, uint32 seed) {
"m"(kHashMul2), // %7 "m"(kHashMul2), // %7
"m"(kHashMul3) // %8 "m"(kHashMul3) // %8
: "memory", "cc" : "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7" , "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
#endif
); // NOLINT ); // NOLINT
return hash; return hash;
} }
......
...@@ -376,10 +376,8 @@ static void TransposeWx8_SSSE3(const uint8* src, int src_stride, ...@@ -376,10 +376,8 @@ static void TransposeWx8_SSSE3(const uint8* src, int src_stride,
"+r"(width) // %2 "+r"(width) // %2
: "r"((intptr_t)(src_stride)), // %3 : "r"((intptr_t)(src_stride)), // %3
"r"((intptr_t)(dst_stride)) // %4 "r"((intptr_t)(dst_stride)) // %4
: "memory", "cc" : "memory", "cc",
#if defined(__SSE2__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
#endif
); );
} }
......
This diff is collapsed.
...@@ -114,11 +114,7 @@ void ScaleRowDown2_SSE2(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -114,11 +114,7 @@ void ScaleRowDown2_SSE2(const uint8* src_ptr, ptrdiff_t src_stride,
: "+r"(src_ptr), // %0 : "+r"(src_ptr), // %0
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1"
#endif
); );
} }
...@@ -149,11 +145,7 @@ void ScaleRowDown2Linear_SSE2(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -149,11 +145,7 @@ void ScaleRowDown2Linear_SSE2(const uint8* src_ptr, ptrdiff_t src_stride,
: "+r"(src_ptr), // %0 : "+r"(src_ptr), // %0
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1", "xmm5"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm5"
#endif
); );
} }
...@@ -189,13 +181,8 @@ void ScaleRowDown2Box_SSE2(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -189,13 +181,8 @@ void ScaleRowDown2Box_SSE2(const uint8* src_ptr, ptrdiff_t src_stride,
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "r"((intptr_t)(src_stride)) // %3 : "r"((intptr_t)(src_stride)) // %3
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm5"
#endif
); );
} }
...@@ -223,11 +210,7 @@ void ScaleRowDown4_SSE2(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -223,11 +210,7 @@ void ScaleRowDown4_SSE2(const uint8* src_ptr, ptrdiff_t src_stride,
: "+r"(src_ptr), // %0 : "+r"(src_ptr), // %0
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1", "xmm5"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm5"
#endif
); );
} }
...@@ -279,13 +262,8 @@ void ScaleRowDown4Box_SSE2(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -279,13 +262,8 @@ void ScaleRowDown4Box_SSE2(const uint8* src_ptr, ptrdiff_t src_stride,
"+r"(dst_width), // %2 "+r"(dst_width), // %2
"+r"(stridex3) // %3 "+r"(stridex3) // %3
: "r"((intptr_t)(src_stride)) // %4 : "r"((intptr_t)(src_stride)) // %4
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm7"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm7"
#endif
); );
} }
...@@ -320,11 +298,7 @@ void ScaleRowDown34_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -320,11 +298,7 @@ void ScaleRowDown34_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride,
: "+r"(src_ptr), // %0 : "+r"(src_ptr), // %0
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5"
#endif
); );
} }
...@@ -388,13 +362,8 @@ void ScaleRowDown34_1_Box_SSSE3(const uint8* src_ptr, ...@@ -388,13 +362,8 @@ void ScaleRowDown34_1_Box_SSSE3(const uint8* src_ptr,
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "r"((intptr_t)(src_stride)), // %3 : "r"((intptr_t)(src_stride)), // %3
"m"(kMadd21) // %4 "m"(kMadd21) // %4
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
#endif
); );
} }
...@@ -462,13 +431,8 @@ void ScaleRowDown34_0_Box_SSSE3(const uint8* src_ptr, ...@@ -462,13 +431,8 @@ void ScaleRowDown34_0_Box_SSSE3(const uint8* src_ptr,
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "r"((intptr_t)(src_stride)), // %3 : "r"((intptr_t)(src_stride)), // %3
"m"(kMadd21) // %4 "m"(kMadd21) // %4
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
#endif
); );
} }
...@@ -497,10 +461,7 @@ void ScaleRowDown38_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -497,10 +461,7 @@ void ScaleRowDown38_SSSE3(const uint8* src_ptr, ptrdiff_t src_stride,
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "m"(kShuf38a), // %3 : "m"(kShuf38a), // %3
"m"(kShuf38b) // %4 "m"(kShuf38b) // %4
: "memory", "cc" : "memory", "cc", "xmm0", "xmm1", "xmm4", "xmm5"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm4", "xmm5"
#endif
); );
} }
...@@ -544,13 +505,8 @@ void ScaleRowDown38_2_Box_SSSE3(const uint8* src_ptr, ...@@ -544,13 +505,8 @@ void ScaleRowDown38_2_Box_SSSE3(const uint8* src_ptr,
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "r"((intptr_t)(src_stride)) // %3 : "r"((intptr_t)(src_stride)) // %3
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
#endif
); );
} }
...@@ -612,13 +568,8 @@ void ScaleRowDown38_3_Box_SSSE3(const uint8* src_ptr, ...@@ -612,13 +568,8 @@ void ScaleRowDown38_3_Box_SSSE3(const uint8* src_ptr,
"+r"(dst_ptr), // %1 "+r"(dst_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "r"((intptr_t)(src_stride)) // %3 : "r"((intptr_t)(src_stride)) // %3
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7"
#endif
); );
} }
...@@ -669,10 +620,7 @@ void ScaleAddRows_SSE2(const uint8* src_ptr, ptrdiff_t src_stride, ...@@ -669,10 +620,7 @@ void ScaleAddRows_SSE2(const uint8* src_ptr, ptrdiff_t src_stride,
"+r"(src_width), // %4 "+r"(src_width), // %4
"+rm"(src_height) // %5 "+rm"(src_height) // %5
: "rm"((intptr_t)(src_stride)) // %6 : "rm"((intptr_t)(src_stride)) // %6
: "memory", "cc" : "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4"
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4"
#endif
); );
} }
...@@ -743,13 +691,8 @@ void ScaleFilterCols_SSSE3(uint8* dst_ptr, const uint8* src_ptr, ...@@ -743,13 +691,8 @@ void ScaleFilterCols_SSSE3(uint8* dst_ptr, const uint8* src_ptr,
"+rm"(dst_width) // %5 "+rm"(dst_width) // %5
: "rm"(x), // %6 : "rm"(x), // %6
"rm"(dx) // %7 "rm"(dx) // %7
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
#endif
); );
} }
...@@ -774,11 +717,7 @@ void ScaleColsUp2_SSE2(uint8* dst_ptr, const uint8* src_ptr, ...@@ -774,11 +717,7 @@ void ScaleColsUp2_SSE2(uint8* dst_ptr, const uint8* src_ptr,
: "+r"(dst_ptr), // %0 : "+r"(dst_ptr), // %0
"+r"(src_ptr), // %1 "+r"(src_ptr), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1"
#endif
); );
} }
...@@ -799,11 +738,7 @@ void ScaleARGBRowDown2_SSE2(const uint8* src_argb, ...@@ -799,11 +738,7 @@ void ScaleARGBRowDown2_SSE2(const uint8* src_argb,
: "+r"(src_argb), // %0 : "+r"(src_argb), // %0
"+r"(dst_argb), // %1 "+r"(dst_argb), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1"
#endif
); );
} }
...@@ -827,11 +762,7 @@ void ScaleARGBRowDown2Linear_SSE2(const uint8* src_argb, ...@@ -827,11 +762,7 @@ void ScaleARGBRowDown2Linear_SSE2(const uint8* src_argb,
: "+r"(src_argb), // %0 : "+r"(src_argb), // %0
"+r"(dst_argb), // %1 "+r"(dst_argb), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", "xmm0", "xmm1"
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm1"
#endif
); );
} }
...@@ -860,13 +791,8 @@ void ScaleARGBRowDown2Box_SSE2(const uint8* src_argb, ...@@ -860,13 +791,8 @@ void ScaleARGBRowDown2Box_SSE2(const uint8* src_argb,
"+r"(dst_argb), // %1 "+r"(dst_argb), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: "r"((intptr_t)(src_stride)) // %3 : "r"((intptr_t)(src_stride)) // %3
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3"
#endif
); );
} }
...@@ -899,14 +825,8 @@ void ScaleARGBRowDownEven_SSE2(const uint8* src_argb, ptrdiff_t src_stride, ...@@ -899,14 +825,8 @@ void ScaleARGBRowDownEven_SSE2(const uint8* src_argb, ptrdiff_t src_stride,
"+r"(dst_argb), // %2 "+r"(dst_argb), // %2
"+r"(dst_width), // %3 "+r"(dst_width), // %3
"+r"(src_stepx_x12) // %4 "+r"(src_stepx_x12) // %4
: :: "memory", "cc", NACL_R14
: "memory", "cc" "xmm0", "xmm1", "xmm2", "xmm3"
#if defined(__native_client__) && defined(__x86_64__)
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3"
#endif
); );
} }
...@@ -951,14 +871,8 @@ void ScaleARGBRowDownEvenBox_SSE2(const uint8* src_argb, ...@@ -951,14 +871,8 @@ void ScaleARGBRowDownEvenBox_SSE2(const uint8* src_argb,
"+rm"(dst_width), // %3 "+rm"(dst_width), // %3
"+r"(src_stepx_x12), // %4 "+r"(src_stepx_x12), // %4
"+r"(row1) // %5 "+r"(row1) // %5
: :: "memory", "cc", NACL_R14
: "memory", "cc" "xmm0", "xmm1", "xmm2", "xmm3"
#if defined(__native_client__) && defined(__x86_64__)
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3"
#endif
); );
} }
...@@ -1024,13 +938,8 @@ void ScaleARGBCols_SSE2(uint8* dst_argb, const uint8* src_argb, ...@@ -1024,13 +938,8 @@ void ScaleARGBCols_SSE2(uint8* dst_argb, const uint8* src_argb,
"+r"(dst_width) // %4 "+r"(dst_width) // %4
: "rm"(x), // %5 : "rm"(x), // %5
"rm"(dx) // %6 "rm"(dx) // %6
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4"
#endif
); );
} }
...@@ -1055,14 +964,8 @@ void ScaleARGBColsUp2_SSE2(uint8* dst_argb, const uint8* src_argb, ...@@ -1055,14 +964,8 @@ void ScaleARGBColsUp2_SSE2(uint8* dst_argb, const uint8* src_argb,
: "+r"(dst_argb), // %0 : "+r"(dst_argb), // %0
"+r"(src_argb), // %1 "+r"(src_argb), // %1
"+r"(dst_width) // %2 "+r"(dst_width) // %2
: :: "memory", "cc", NACL_R14
: "memory", "cc" "xmm0", "xmm1"
#if defined(__native_client__) && defined(__x86_64__)
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1"
#endif
); );
} }
...@@ -1147,13 +1050,8 @@ void ScaleARGBFilterCols_SSSE3(uint8* dst_argb, const uint8* src_argb, ...@@ -1147,13 +1050,8 @@ void ScaleARGBFilterCols_SSSE3(uint8* dst_argb, const uint8* src_argb,
"+r"(x1) // %4 "+r"(x1) // %4
: "rm"(x), // %5 : "rm"(x), // %5
"rm"(dx) // %6 "rm"(dx) // %6
: "memory", "cc" : "memory", "cc", NACL_R14
#if defined(__native_client__) && defined(__x86_64__) "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
, "r14"
#endif
#if defined(__SSE2__)
, "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6"
#endif
); );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment