Browse Source

Use nested ifs instead of &&, which appears to not work with %ifidn (i.e. this
construct was always enabled, even for <ssse3 versions).

Originally committed as revision 24509 to svn://svn.ffmpeg.org/ffmpeg/trunk

Ronald S. Bultje 14 years ago
parent
commit
bcd4aa6498
1 changed files with 9 additions and 3 deletions
  1. 9 3
      libavcodec/x86/vp8dsp.asm

+ 9 - 3
libavcodec/x86/vp8dsp.asm

@@ -1394,8 +1394,10 @@ cglobal vp8_%2_loop_filter_simple_%1, 3, %3
 %if mmsize == 8 ; mmx/mmxext
     mov            r3, 2
 %endif
-%ifnidn %1, sse2 && mmsize == 16
+%ifnidn %1, sse2
+%if mmsize == 16
     pxor           m0, m0
+%endif
 %endif
     SPLATB_REG     m7, r2, m0       ; splat "flim" into register
 
@@ -1584,9 +1586,11 @@ cglobal vp8_%2_loop_filter16y_inner_%1, 5, %3, %5
 %define stack_reg   hev_thr_reg
 %endif
 
-%ifnidn %1, sse2 && mmsize == 16
+%ifnidn %1, sse2
+%if mmsize == 16
     pxor             m7, m7
 %endif
+%endif
 
 %ifndef m8 ; mmx/mmxext or sse2 on x86-32
     ; splat function arguments
@@ -2181,9 +2185,11 @@ cglobal vp8_%2_loop_filter16y_mbedge_%1, 5, %3, %5
 %define stack_reg   hev_thr_reg
 %endif
 
-%ifnidn %1, sse2 && mmsize == 16
+%ifnidn %1, sse2
+%if mmsize == 16
     pxor             m7, m7
 %endif
+%endif
 
 %ifndef m8 ; mmx/mmxext or sse2 on x86-32
     ; splat function arguments