ref: 3c9dd6c3ef2ead74641ceb56366b5d034e69c7fd
parent: c5c5dcd0be6fdaf5b4e354af82bafdce39e24365
parent: b2aa4017760c9bf9d267470ac235650e24b8adc5
author: Yunqing Wang <yunqingwang@google.com>
date: Fri Mar 11 00:56:02 EST 2011
Merge "Align SAD output array to be 16-byte aligned"
--- a/vp8/encoder/mcomp.c
+++ b/vp8/encoder/mcomp.c
@@ -1415,7 +1415,7 @@
int col_min = ref_col - distance;
int col_max = ref_col + distance;
- unsigned short sad_array8[8];
+ DECLARE_ALIGNED_ARRAY(16, unsigned short, sad_array8, 8);
unsigned int sad_array[3];
// Work out the mid point for the search
--- a/vp8/encoder/x86/sad_sse4.asm
+++ b/vp8/encoder/x86/sad_sse4.asm
@@ -186,7 +186,7 @@
PROCESS_16X2X8 0
mov rdi, arg(4) ;Results
- movdqu XMMWORD PTR [rdi], xmm1
+ movdqa XMMWORD PTR [rdi], xmm1
; begin epilog
pop rdi
@@ -224,7 +224,7 @@
PROCESS_16X2X8 0
mov rdi, arg(4) ;Results
- movdqu XMMWORD PTR [rdi], xmm1
+ movdqa XMMWORD PTR [rdi], xmm1
; begin epilog
pop rdi
@@ -262,7 +262,7 @@
PROCESS_8X2X8 0
mov rdi, arg(4) ;Results
- movdqu XMMWORD PTR [rdi], xmm1
+ movdqa XMMWORD PTR [rdi], xmm1
; begin epilog
pop rdi
@@ -303,7 +303,7 @@
PROCESS_8X2X8 0
PROCESS_8X2X8 0
mov rdi, arg(4) ;Results
- movdqu XMMWORD PTR [rdi], xmm1
+ movdqa XMMWORD PTR [rdi], xmm1
; begin epilog
pop rdi
@@ -339,7 +339,7 @@
PROCESS_4X2X8 0
mov rdi, arg(4) ;Results
- movdqu XMMWORD PTR [rdi], xmm1
+ movdqa XMMWORD PTR [rdi], xmm1
; begin epilog
pop rdi
--
⑨