]> granicus.if.org Git - libvpx/commitdiff
Use psadbw to get the sum of bytes in a line.
authorRonald S. Bultje <rbultje@google.com>
Wed, 27 Apr 2011 20:49:21 +0000 (13:49 -0700)
committerRonald S. Bultje <rbultje@google.com>
Wed, 27 Apr 2011 20:49:21 +0000 (13:49 -0700)
Thanks Jason for pointing that out on #vp8. ;-).

Change-Id: I5330a753e752a8704b78a409597472628e0b26a5

vp8/common/x86/recon_sse2.asm

index a1cc2b1fef3c18b25e092d3528dd7ff4d1b2efb1..97dc4f6866583e89a67efcacbdaaeb4113291d5d 100644 (file)
@@ -251,15 +251,8 @@ sym(vp8_intra_pred_uv_dc_mmx2):
     movsxd      rax,        dword ptr arg(3) ;src_stride;
     sub         rsi,        rax
     pxor        mm0,        mm0
-    movd        mm1,        [rsi]
-    movd        mm2,        [rsi+4]
-    punpcklbw   mm1,        mm0
-    punpcklbw   mm2,        mm0
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x0e
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x01
-    paddw       mm1,        mm2
+    movq        mm1,        [rsi]
+    psadbw      mm1,        mm0
 
     ; from left
     dec         rsi
@@ -331,15 +324,8 @@ sym(vp8_intra_pred_uv_dctop_mmx2):
     movsxd      rax,        dword ptr arg(3) ;src_stride;
     sub         rsi,        rax
     pxor        mm0,        mm0
-    movd        mm1,        [rsi]
-    movd        mm2,        [rsi+4]
-    punpcklbw   mm1,        mm0
-    punpcklbw   mm2,        mm0
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x0e
-    paddw       mm1,        mm2
-    pshufw      mm2,        mm1, 0x01
-    paddw       mm1,        mm2
+    movq        mm1,        [rsi]
+    psadbw      mm1,        mm0
 
     ; add up
     paddw       mm1,        [GLOBAL(dc_4)]