From bcd4aa6498d83f81e18eb70efa52969c110ac7c6 Mon Sep 17 00:00:00 2001
From: "Ronald S. Bultje" <rsbultje@gmail.com>
Date: Mon, 26 Jul 2010 13:56:51 +0000
Subject: [PATCH] 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
---
 libavcodec/x86/vp8dsp.asm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/libavcodec/x86/vp8dsp.asm b/libavcodec/x86/vp8dsp.asm
index 602d974e673..a67c5bcc798 100644
--- a/libavcodec/x86/vp8dsp.asm
+++ b/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
-- 
GitLab