Commit 55db4ec2 authored by fbarchard@google.com's avatar fbarchard@google.com

port lea removal for mirror to gcc

BUG=none
TESTED=none
R=harryjin@google.com

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

git-svn-id: http://libyuv.googlecode.com/svn/trunk@1169 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent b9d17e1d
Name: libyuv Name: libyuv
URL: http://code.google.com/p/libyuv/ URL: http://code.google.com/p/libyuv/
Version: 1165 Version: 1169
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 1165 #define LIBYUV_VERSION 1169
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
...@@ -2211,10 +2211,9 @@ void MirrorRow_AVX2(const uint8* src, uint8* dst, int width) { ...@@ -2211,10 +2211,9 @@ void MirrorRow_AVX2(const uint8* src, uint8* dst, int width) {
intptr_t temp_width = (intptr_t)(width); intptr_t temp_width = (intptr_t)(width);
asm volatile ( asm volatile (
"vbroadcastf128 %3,%%ymm5 \n" "vbroadcastf128 %3,%%ymm5 \n"
"lea " MEMLEA(-0x20,0) ",%0 \n"
LABELALIGN LABELALIGN
"1: \n" "1: \n"
MEMOPREG(vmovdqu,0x00,0,2,1,ymm0) // vmovdqu (%0,%2),%%ymm0 MEMOPREG(vmovdqu,-0x20,0,2,1,ymm0) // vmovdqu -0x20(%0,%2),%%ymm0
"vpshufb %%ymm5,%%ymm0,%%ymm0 \n" "vpshufb %%ymm5,%%ymm0,%%ymm0 \n"
"vpermq $0x4e,%%ymm0,%%ymm0 \n" "vpermq $0x4e,%%ymm0,%%ymm0 \n"
"sub $0x20,%2 \n" "sub $0x20,%2 \n"
...@@ -2241,10 +2240,9 @@ void MirrorRow_AVX2(const uint8* src, uint8* dst, int width) { ...@@ -2241,10 +2240,9 @@ void MirrorRow_AVX2(const uint8* src, uint8* dst, int width) {
void MirrorRow_SSE2(const uint8* src, uint8* dst, int width) { void MirrorRow_SSE2(const uint8* src, uint8* dst, int width) {
intptr_t temp_width = (intptr_t)(width); intptr_t temp_width = (intptr_t)(width);
asm volatile ( asm volatile (
"lea " MEMLEA(-0x10,0) ",%0 \n"
LABELALIGN LABELALIGN
"1: \n" "1: \n"
MEMOPREG(movdqu,0x00,0,2,1,xmm0) // movdqu (%0,%2),%%xmm0 MEMOPREG(movdqu,-0x10,0,2,1,xmm0) // movdqu -0x10(%0,%2),%%xmm0
"movdqa %%xmm0,%%xmm1 \n" "movdqa %%xmm0,%%xmm1 \n"
"psllw $0x8,%%xmm0 \n" "psllw $0x8,%%xmm0 \n"
"psrlw $0x8,%%xmm1 \n" "psrlw $0x8,%%xmm1 \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