Commit 41f24bf8 authored by fbarchard@google.com's avatar fbarchard@google.com

Affine function in 64 bit Mac use movd instead of movq for xmm to gpr.

BUG=69
TEST=NONE
Review URL: https://webrtc-codereview.appspot.com/728011

git-svn-id: http://libyuv.googlecode.com/svn/trunk@323 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent f3181b3c
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 322
Version: 323
License: BSD
License File: LICENSE
......
......@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 322
#define LIBYUV_VERSION 323
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
......@@ -3254,6 +3254,9 @@ void ARGBShadeRow_SSE2(const uint8* src_argb, uint8* dst_argb, int width,
// TODO(fbarchard): Find 64 bit way to avoid masking.
// TODO(fbarchard): Investigate why 4 pixels is slower than 2 on Core2.
// Copy ARGB pixels from source image with slope to a row of destination.
// Caveat - in 64 bit, movd is used with 64 bit gpr due to Mac gcc producing
// an error if movq is used. movd %%xmm0,%1
void ARGBAffineRow_SSE2(const uint8* src_argb, int src_argb_stride,
uint8* dst_argb, const float* uv_dudv, int width) {
intptr_t src_argb_stride_temp = src_argb_stride;
......@@ -3286,7 +3289,7 @@ void ARGBAffineRow_SSE2(const uint8* src_argb, int src_argb_stride,
"packssdw %%xmm1,%%xmm0 \n"
"pmaddwd %%xmm5,%%xmm0 \n"
#if defined(__x86_64__)
"movq %%xmm0,%1 \n"
"movd %%xmm0,%1 \n"
"mov %1,%5 \n"
"and $0x0fffffff,%1 \n"
"shr $32,%5 \n"
......@@ -3303,7 +3306,7 @@ void ARGBAffineRow_SSE2(const uint8* src_argb, int src_argb_stride,
"addps %%xmm4,%%xmm2 \n"
"movq %%xmm1,(%2) \n"
#if defined(__x86_64__)
"movq %%xmm0,%1 \n"
"movd %%xmm0,%1 \n"
"mov %1,%5 \n"
"and $0x0fffffff,%1 \n"
"shr $32,%5 \n"
......
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