ref: 25818b0fc217e273ead203c86b36e3c5af81d909
parent: 22bec095072d00e53df92eec7c51362ff594572d
parent: a4e71d6662bf806e6fc55ff5d4b2ec6743dae1e3
author: zhilwang <[email protected]>
date: Thu Mar 24 13:07:42 EDT 2016
Merge pull request #2428 from mstorsjo/sign-extension Add missing sign extension for x86_64 in mb_copy.asm
--- a/codec/common/x86/mb_copy.asm
+++ b/codec/common/x86/mb_copy.asm
@@ -68,6 +68,8 @@
%assign push_num 2
LOAD_4_PARA
PUSH_XMM 8
+ SIGN_EXTENSION r1, r1d
+ SIGN_EXTENSION r3, r3d
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
@@ -132,6 +134,8 @@
%assign push_num 2
LOAD_4_PARA
PUSH_XMM 8
+ SIGN_EXTENSION r1, r1d
+ SIGN_EXTENSION r3, r3d
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
@@ -196,6 +200,8 @@
%assign push_num 2
LOAD_4_PARA
PUSH_XMM 8
+ SIGN_EXTENSION r1, r1d
+ SIGN_EXTENSION r3, r3d
lea r4, [r1+2*r1] ;ebx, [eax+2*eax] ; x3
lea r5, [r3+2*r3] ;edx, [ecx+2*ecx] ; x3
@@ -235,6 +241,8 @@
WELS_EXTERN WelsCopy8x16_mmx
%assign push_num 0
LOAD_4_PARA
+ SIGN_EXTENSION r1, r1d
+ SIGN_EXTENSION r3, r3d
movq mm0, [r2]
movq mm1, [r2+r3]
@@ -300,6 +308,8 @@
push r4
%assign push_num 1
LOAD_4_PARA
+ SIGN_EXTENSION r1, r1d
+ SIGN_EXTENSION r3, r3d
lea r4, [r3+2*r3] ;edx, [ebx+2*ebx]
; to prefetch next loop