[x264-devel] x86inc: Disable vpbroadcastq workaround in newer yasm versions

Henrik Gramner git at videolan.org
Sun Jul 26 22:26:31 CEST 2015


x264 | branch: master | Henrik Gramner <henrik at gramner.com> | Sat May 23 13:38:05 2015 +0200| [b615f82e45c88b7915c5571ad09fa65a0b6130d7] | committer: Henrik Gramner

x86inc: Disable vpbroadcastq workaround in newer yasm versions

The bug was fixed in 1.3.0, so only perform the workaround in earlier versions.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=b615f82e45c88b7915c5571ad09fa65a0b6130d7
---

 common/x86/x86inc.asm |   18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/common/x86/x86inc.asm b/common/x86/x86inc.asm
index d897fa4..668902e 100644
--- a/common/x86/x86inc.asm
+++ b/common/x86/x86inc.asm
@@ -1470,13 +1470,13 @@ FMA4_INSTR fnmsubps, fnmsub132ps, fnmsub213ps, fnmsub231ps
 FMA4_INSTR fnmsubsd, fnmsub132sd, fnmsub213sd, fnmsub231sd
 FMA4_INSTR fnmsubss, fnmsub132ss, fnmsub213ss, fnmsub231ss
 
-; workaround: vpbroadcastq is broken in x86_32 due to a yasm bug
-%if ARCH_X86_64 == 0
-%macro vpbroadcastq 2
-%if sizeof%1 == 16
-    movddup %1, %2
-%else
-    vbroadcastsd %1, %2
-%endif
-%endmacro
+; workaround: vpbroadcastq is broken in x86_32 due to a yasm bug (fixed in 1.3.0)
+%if __YASM_VERSION_ID__ < 0x01030000 && ARCH_X86_64 == 0
+    %macro vpbroadcastq 2
+        %if sizeof%1 == 16
+            movddup %1, %2
+        %else
+            vbroadcastsd %1, %2
+        %endif
+    %endmacro
 %endif



More information about the x264-devel mailing list