Commit 21796c94 authored by fbarchard@google.com's avatar fbarchard@google.com

Move constant to its own asm block to save 3 GPR registers for main loop

BUG=267
TESTED=32 bit mac build

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@832 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent ca8f826b
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 831 Version: 832
License: BSD License: BSD
License File: LICENSE License File: LICENSE
......
...@@ -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 831 #define LIBYUV_VERSION 832
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -6370,7 +6370,9 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, ...@@ -6370,7 +6370,9 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb,
uintptr_t pixel_temp = 0u; uintptr_t pixel_temp = 0u;
uintptr_t table_temp = 0u; uintptr_t table_temp = 0u;
asm volatile ( asm volatile (
"movdqa %6,%%xmm3 \n" "mov $0x264b0f,%%edx \n"
"movd %%edx,%%xmm3 \n"
"pshufd $0x0,%%xmm3,%%xmm3 \n"
"pcmpeqb %%xmm4,%%xmm4 \n" "pcmpeqb %%xmm4,%%xmm4 \n"
"psllw $0x8,%%xmm4 \n" "psllw $0x8,%%xmm4 \n"
"pxor %%xmm5,%%xmm5 \n" "pxor %%xmm5,%%xmm5 \n"
...@@ -6454,8 +6456,7 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, ...@@ -6454,8 +6456,7 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb,
"+r"(src_argb), // %2 "+r"(src_argb), // %2
"+r"(dst_argb), // %3 "+r"(dst_argb), // %3
"+rm"(width) // %4 "+rm"(width) // %4
: "r"(luma), // %5 : "r"(luma) // %5
"m"(kARGBToYJ) // %6
: "memory", "cc" : "memory", "cc"
#if defined(__SSE2__) #if defined(__SSE2__)
, "xmm0", "xmm3", "xmm4", "xmm5" , "xmm0", "xmm3", "xmm4", "xmm5"
......
...@@ -7153,7 +7153,9 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, ...@@ -7153,7 +7153,9 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb,
movd xmm2, dword ptr [esp + 8 + 12] /* table_argb */ movd xmm2, dword ptr [esp + 8 + 12] /* table_argb */
pshufd xmm2, xmm2, 0 pshufd xmm2, xmm2, 0
mov ecx, [esp + 8 + 16] /* width */ mov ecx, [esp + 8 + 16] /* width */
movdqa xmm3, kARGBToYJ mov edx, 0x00264b0f // kARGBToYJ
movd xmm3, edx
pshufd xmm3, xmm3, 0
pcmpeqb xmm4, xmm4 // generate mask 0xff00ff00 pcmpeqb xmm4, xmm4 // generate mask 0xff00ff00
psllw xmm4, 8 psllw xmm4, 8
pxor xmm5, xmm5 pxor xmm5, xmm5
......
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