]> granicus.if.org Git - libvpx/commitdiff
Revert "Speed up h_predictor_4x4"
authorJames Zern <jzern@google.com>
Sat, 21 Nov 2015 06:24:11 +0000 (22:24 -0800)
committerJames Zern <jzern@google.com>
Sat, 21 Nov 2015 06:25:29 +0000 (22:25 -0800)
This reverts commit d76032ae87e535be5b924d9e88bbd67189380534.

breaks 32-bit builds

Change-Id: If6266ec2a405b5a21d615112f0f37e8a71193858

vpx_dsp/x86/intrapred_ssse3.asm

index 9010c74cbafba95468c3ba575d19629e395fb03a..88df9b2d1c2ad8775679ef2c41a53e67caa92a78 100644 (file)
@@ -33,20 +33,23 @@ sh_b2333: db 2, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 
 SECTION .text
 
-INIT_XMM ssse3
+INIT_MMX ssse3
 cglobal h_predictor_4x4, 2, 4, 3, dst, stride, line, left
-  movd                  m0, [leftq]
-  punpcklbw             m0, m0
-  punpcklbw             m0, m0
-  movd      [dstq        ], m0
-  psrldq                m0, 4
-  movd      [dstq+strideq], m0
+  movifnidn          leftq, leftmp
+  add                leftq, 4
+  mov                lineq, -2
+  pxor                  m0, m0
+.loop:
+  movd                  m1, [leftq+lineq*2  ]
+  movd                  m2, [leftq+lineq*2+1]
+  pshufb                m1, m0
+  pshufb                m2, m0
+  movd      [dstq        ], m1
+  movd      [dstq+strideq], m2
   lea                 dstq, [dstq+strideq*2]
-  psrldq                m0, 4
-  movd      [dstq        ], m0
-  psrldq                m0, 4
-  movd      [dstq+strideq], m0
-  RET
+  inc                lineq
+  jnz .loop
+  REP_RET
 
 INIT_MMX ssse3
 cglobal h_predictor_8x8, 2, 4, 3, dst, stride, line, left