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
This commit is contained in:
fbarchard@google.com 2013-10-29 08:43:13 +00:00
parent ca8f826ba3
commit 21796c94aa
4 changed files with 9 additions and 6 deletions

View File

@ -1,6 +1,6 @@
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 831
Version: 832
License: BSD
License File: LICENSE

View File

@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 831
#define LIBYUV_VERSION 832
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT

View File

@ -6370,7 +6370,9 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb,
uintptr_t pixel_temp = 0u;
uintptr_t table_temp = 0u;
asm volatile (
"movdqa %6,%%xmm3 \n"
"mov $0x264b0f,%%edx \n"
"movd %%edx,%%xmm3 \n"
"pshufd $0x0,%%xmm3,%%xmm3 \n"
"pcmpeqb %%xmm4,%%xmm4 \n"
"psllw $0x8,%%xmm4 \n"
"pxor %%xmm5,%%xmm5 \n"
@ -6454,8 +6456,7 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb,
"+r"(src_argb), // %2
"+r"(dst_argb), // %3
"+rm"(width) // %4
: "r"(luma), // %5
"m"(kARGBToYJ) // %6
: "r"(luma) // %5
: "memory", "cc"
#if defined(__SSE2__)
, "xmm0", "xmm3", "xmm4", "xmm5"

View File

@ -7153,7 +7153,9 @@ void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb,
movd xmm2, dword ptr [esp + 8 + 12] /* table_argb */
pshufd xmm2, xmm2, 0
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
psllw xmm4, 8
pxor xmm5, xmm5