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
URL: http://code.google.com/p/libyuv/
Version: 831
Version: 832
License: BSD
License File: LICENSE
......
......@@ -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
......@@ -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"
......
......@@ -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
......
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