Sign-extend input argument so it can be used in pointer arithmetic.
authorRonald S. Bultje <rbultje@google.com>
Mon, 25 Jun 2012 18:23:09 +0000 (11:23 -0700)
committerYaowu Xu <yaowu@google.com>
Mon, 25 Jun 2012 21:16:39 +0000 (14:16 -0700)
Change-Id: I6cbd4de96f9dcc783cef170bfd7652f6cbee36a2

vp8/common/x86/idctllm_mmx.asm
vp8/decoder/x86/dequantize_mmx.asm

index 815ee8e..15e81ad 100644 (file)
@@ -196,7 +196,12 @@ cglobal short_idct4x4llm_1_mmx,3,3,0,inp,out,pit
 
 
 ;void dc_only_idct_add_mmx(short input_dc, unsigned char *pred_ptr, unsigned char *dst_ptr, int pitch, int stride)
-cglobal dc_only_idct_add_mmx, 5,5,0,in_dc,pred,dst,pit,stride
+cglobal dc_only_idct_add_mmx, 4,5,0,in_dc,pred,dst,pit,stride
+%if ARCH_X86_64
+    movsxd         strideq,      dword stridem
+%else
+    mov            strideq,      stridem
+%endif
     pxor                m0,      m0
 
     movh                m5,      in_dcq ; dc
index cc5bd15..23080bf 100644 (file)
@@ -44,7 +44,16 @@ cglobal dequantize_b_impl_mmx, 3,3,0,sq,dq,arg3
 
 
 ;void dequant_idct_add_mmx(short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride)
-cglobal dequant_idct_add_mmx, 6,6,0,inp,dq,pred,dest,pit,stride
+cglobal dequant_idct_add_mmx, 4,6,0,inp,dq,pred,dest,pit,stride
+
+%if ARCH_X86_64
+    movsxd              strideq,  dword stridem
+    movsxd              pitq,     dword pitm
+%else
+    mov                 strideq,  stridem
+    mov                 pitq,     pitm
+%endif
+
     mova                m0,       [inpq+ 0]
     pmullw              m0,       [dqq]
 
@@ -213,7 +222,17 @@ cglobal dequant_idct_add_mmx, 6,6,0,inp,dq,pred,dest,pit,stride
 
 
 ;void dequant_dc_idct_add_mmx(short *input, short *dq, unsigned char *pred, unsigned char *dest, int pitch, int stride, int Dc)
-cglobal dequant_dc_idct_add_mmx, 7,7,0,inp,dq,pred,dest,pit,stride,Dc
+cglobal dequant_dc_idct_add_mmx, 4,7,0,inp,dq,pred,dest,pit,stride,Dc
+
+%if ARCH_X86_64
+    movsxd              strideq,   dword stridem
+    movsxd              pitq,      dword pitm
+%else
+    mov                 strideq,   stridem
+    mov                 pitq,      pitm
+%endif
+
+    mov                 Dcq, Dcm
     mova                m0,       [inpq+ 0]
     pmullw              m0,       [dqq+ 0]