shithub: openh264

Download patch

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