[x265] [PATCH 12 of 20] x86inc: Disable vpbroadcastq workaround in newer yasm versions

vignesh at multicorewareinc.com vignesh at multicorewareinc.com
Mon Jun 12 07:37:54 CEST 2017


# HG changeset patch
# User Vignesh Vijayakumar
# Date 1496748943 -19800
#      Tue Jun 06 17:05:43 2017 +0530
# Node ID 7ea075ef4b3659d7e26965dd2682fe342667af15
# Parent  3b09abdfe88576a963e07da3ddb83f7ef7c62c83
x86inc: Disable vpbroadcastq workaround in newer yasm versions

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

diff -r 3b09abdfe885 -r 7ea075ef4b36 source/common/x86/x86inc.asm
--- a/source/common/x86/x86inc.asm	Tue Jun 06 17:03:15 2017 +0530
+++ b/source/common/x86/x86inc.asm	Tue Jun 06 17:05:43 2017 +0530
@@ -1476,13 +1476,13 @@
 FMA4_INSTR fnmadd,   pd, ps, sd, ss
 FMA4_INSTR fnmsub,   pd, ps, sd, ss
 
-; 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
+; 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
-%endmacro
-%endif


More information about the x265-devel mailing list