[med-svn] [iqtree] 01/01: Update sse3 removel patch
Gert Wollny
gert-guest at moszumanska.debian.org
Thu Mar 10 15:33:54 UTC 2016
This is an automated email from the git hooks/post-receive script.
gert-guest pushed a commit to branch master
in repository iqtree.
commit 5abbd977ca3d2f17e71e337db934fba11bdca58a
Author: Gert Wollny <gw.fossdev at gmail.com>
Date: Thu Mar 10 14:59:34 2016 +0000
Update sse3 removel patch
---
debian/patches/sse.patch | 57 ++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 55 insertions(+), 2 deletions(-)
diff --git a/debian/patches/sse.patch b/debian/patches/sse.patch
index 8a3527a..b21eeed 100644
--- a/debian/patches/sse.patch
+++ b/debian/patches/sse.patch
@@ -5,7 +5,7 @@ Last-Update: Tue, 02 Feb 2016 08:41:45 +0100
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -172,7 +172,7 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 4 OR IQTREE
+@@ -172,7 +172,7 @@
endif()
SET(EXE_SUFFIX "${EXE_SUFFIX}32")
if (GCC OR CLANG)
@@ -14,7 +14,7 @@ Last-Update: Tue, 02 Feb 2016 08:41:45 +0100
endif()
add_definitions(-DBINARY32)
else()
-@@ -237,7 +237,7 @@ SET(SSE_FLAGS "")
+@@ -237,7 +237,7 @@
if (VCC)
set(SSE_FLAGS "/arch:SSE2 -D__SSE3__")
elseif (GCC OR CLANG)
@@ -23,3 +23,56 @@ Last-Update: Tue, 02 Feb 2016 08:41:45 +0100
elseif (ICC)
if (WIN32)
set(SSE_FLAGS "/arch:SSE3")
+@@ -246,39 +246,6 @@
+ endif()
+ endif()
+
+-if (IQTREE_FLAGS MATCHES "fma") # AVX+FMA instruction set
+- message("Vectorization : AVX+FMA")
+- add_definitions(-D__SSE3 -D__AVX) # define both SSE3 and AVX directive
+- if (VCC)
+- # Visual C++ has no /mfma flag!, FMA is only included in AVX2
+- set(COMBINED_FLAGS "${COMBINED_FLAGS} /arch:AVX2")
+- elseif (CLANG)
+- set(COMBINED_FLAGS "${COMBINED_FLAGS} -mavx -mfma")
+- elseif (GCC)
+- set(COMBINED_FLAGS "${COMBINED_FLAGS} -mavx -fabi-version=0 -mfma")
+- elseif (ICC)
+- if (WIN32)
+- set(COMBINED_FLAGS "${COMBINED_FLAGS} /arch:AVX /Qfma")
+- else()
+- set(COMBINED_FLAGS "${COMBINED_FLAGS} -mavx -mfma")
+- endif()
+- endif()
+-
+- SET(EXE_SUFFIX "${EXE_SUFFIX}-fma")
+-
+-elseif (IQTREE_FLAGS MATCHES "avx") # AVX instruction set
+- message("Vectorization : AVX")
+- add_definitions(-D__SSE3 -D__AVX) # define both SSE3 and AVX directive
+- set(COMBINED_FLAGS "${COMBINED_FLAGS} ${AVX_FLAGS}")
+-
+- SET(EXE_SUFFIX "${EXE_SUFFIX}-avx")
+-else() #SSE intruction set
+- message("Vectorization : SSE3")
+- add_definitions(-D__SSE3)
+-
+-endif()
+-
+-
+ ##################################################################
+ # Setup compiler flags
+ ##################################################################
+--- a/phylokernel.h
++++ b/phylokernel.h
+@@ -16,7 +16,9 @@
+ #if INSTRSET >= 3 // SSE3
+ return _mm_hadd_pd(x[0],x[1]);
+ #else
+-#error "You must compile with SSE3 enabled!"
++ Vec2d help0 = _mm_shuffle_pd(x[0], x[1], _MM_SHUFFLE2(0,0));
++ Vec2d help1 = _mm_shuffle_pd(x[0], x[1], _MM_SHUFFLE2(1,1));
++ return _mm_add_pd(help0, help1);
+ #endif
+ }
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/iqtree.git
More information about the debian-med-commit
mailing list