[med-svn] [Git][med-team/gmap][upstream] New upstream version 2018-09-27

Alexandre Mestiashvili gitlab at salsa.debian.org
Fri Sep 28 14:31:41 BST 2018


Alexandre Mestiashvili pushed to branch upstream at Debian Med / gmap


Commits:
6d10b579 by Alexandre Mestiashvili at 2018-09-28T09:47:41Z
New upstream version 2018-09-27
- - - - -


14 changed files:

- Makefile.in
- VERSION
- acinclude.m4
- + config/simd-intrinsics.m4
- configure
- configure.ac
- src/Makefile.in
- src/config.h.in
- src/extension-search.c
- src/genome128_consec.c
- src/genome128_hr.c
- src/kmer-search.c
- tests/Makefile.in
- util/Makefile.in


Changes:

=====================================
Makefile.in
=====================================
@@ -109,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \
 	$(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \
 	$(top_srcdir)/config/sse2_shift_defect.m4 \
 	$(top_srcdir)/config/builtin-popcount.m4 \
+	$(top_srcdir)/config/simd-intrinsics.m4 \
 	$(top_srcdir)/config/ax_cpuid_intel.m4 \
 	$(top_srcdir)/config/ax_cpuid_non_intel.m4 \
 	$(top_srcdir)/config/ax_check_compile_flag.m4 \


=====================================
VERSION
=====================================
@@ -1 +1 @@
-2018-07-04
\ No newline at end of file
+2018-09-27
\ No newline at end of file


=====================================
acinclude.m4
=====================================
@@ -23,6 +23,7 @@ m4_include([config/asm-bsr.m4])
 m4_include([config/sse2_shift_defect.m4])
 
 m4_include([config/builtin-popcount.m4])
+m4_include([config/simd-intrinsics.m4])
 
 m4_include([config/ax_cpuid_intel.m4])
 m4_include([config/ax_cpuid_non_intel.m4])


=====================================
config/simd-intrinsics.m4
=====================================
@@ -0,0 +1,30 @@
+
+# _mm_extract_epi64 is supposed to be covered by HAVE_SSE4_1, but fails on i386 machines
+
+
+AC_DEFUN([ACX_SIMD_INTRINSICS], [
+AC_LANG_SAVE
+AC_LANG(C)
+
+AC_MSG_CHECKING(for _mm_extract_epi64)
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([[#include <smmintrin.h>]],
+                   [[__m128i a;]],
+                   [[_mm_extract_epi64(a,0);]])],
+  [AC_MSG_RESULT(yes)
+   AC_DEFINE([HAVE_MM_EXTRACT_EPI64],[1],[Define to 1 if _mm_extract_epi64 intrinsic is available.])],
+  [AC_MSG_RESULT(no)])
+
+AC_MSG_CHECKING(for _mm_popcnt_u64)
+AC_COMPILE_IFELSE(
+  [AC_LANG_PROGRAM([[#include <smmintrin.h>]],
+                   [[int a;]],
+                   [[_mm_popcnt_u64(a);]])],
+  [AC_MSG_RESULT(yes)
+   AC_DEFINE([HAVE_MM_POPCNT_U64],[1],[Define to 1 if _mm_popcnt_u64 intrinsic is available.])],
+  [AC_MSG_RESULT(no)])
+
+AC_LANG_RESTORE
+])
+
+


=====================================
configure
=====================================
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gmap 2018-07-04.
+# Generated by GNU Autoconf 2.69 for gmap 2018-09-27.
 #
 # Report bugs to <Thomas Wu <twu at gene.com>>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gmap'
 PACKAGE_TARNAME='gmap'
-PACKAGE_VERSION='2018-07-04'
-PACKAGE_STRING='gmap 2018-07-04'
+PACKAGE_VERSION='2018-09-27'
+PACKAGE_STRING='gmap 2018-09-27'
 PACKAGE_BUGREPORT='Thomas Wu <twu at gene.com>'
 PACKAGE_URL=''
 
@@ -1373,7 +1373,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gmap 2018-07-04 to adapt to many kinds of systems.
+\`configure' configures gmap 2018-09-27 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1444,7 +1444,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gmap 2018-07-04:";;
+     short | recursive ) echo "Configuration of gmap 2018-09-27:";;
    esac
   cat <<\_ACEOF
 
@@ -1585,7 +1585,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gmap configure 2018-07-04
+gmap configure 2018-09-27
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2191,7 +2191,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gmap $as_me 2018-07-04, which was
+It was created by gmap $as_me 2018-09-27, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2541,8 +2541,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking package version" >&5
 $as_echo_n "checking package version... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2018-07-04" >&5
-$as_echo "2018-07-04" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2018-09-27" >&5
+$as_echo "2018-09-27" >&6; }
 
 
 ### Read defaults
@@ -4409,7 +4409,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gmap'
- VERSION='2018-07-04'
+ VERSION='2018-09-27'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -16869,6 +16869,72 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mm_extract_epi64" >&5
+$as_echo_n "checking for _mm_extract_epi64... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <smmintrin.h>
+int
+main ()
+{
+__m128i a;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_MM_EXTRACT_EPI64 1" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mm_popcnt_u64" >&5
+$as_echo_n "checking for _mm_popcnt_u64... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <smmintrin.h>
+int
+main ()
+{
+int a;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_MM_POPCNT_U64 1" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for whether simd is enabled" >&5
 $as_echo_n "checking for whether simd is enabled... " >&6; }
 # Check whether --enable-simd was given.
@@ -19871,7 +19937,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gmap $as_me 2018-07-04, which was
+This file was extended by gmap $as_me 2018-09-27, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19937,7 +20003,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gmap config.status 2018-07-04
+gmap config.status 2018-09-27
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 


=====================================
configure.ac
=====================================
@@ -358,6 +358,7 @@ ACX_ASM_BSR
 
 
 ACX_SSE2_SHIFT_DEFECT
+ACX_SIMD_INTRINSICS
 
 AC_MSG_CHECKING(for whether simd is enabled)
 AC_ARG_ENABLE([simd],


=====================================
src/Makefile.in
=====================================
@@ -137,6 +137,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \
 	$(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \
 	$(top_srcdir)/config/sse2_shift_defect.m4 \
 	$(top_srcdir)/config/builtin-popcount.m4 \
+	$(top_srcdir)/config/simd-intrinsics.m4 \
 	$(top_srcdir)/config/ax_cpuid_intel.m4 \
 	$(top_srcdir)/config/ax_cpuid_non_intel.m4 \
 	$(top_srcdir)/config/ax_check_compile_flag.m4 \


=====================================
src/config.h.in
=====================================
@@ -125,10 +125,16 @@
 /* Define to 1 if MAP_VARIABLE available for mmap. */
 #undef HAVE_MMAP_MAP_VARIABLE
 
+/* Define to 1 if _mm_extract_epi64 intrinsic is available. */
+#undef HAVE_MM_EXTRACT_EPI64
+
 /* Define to 1 if you support Intel intrinsic _mm_popcnt_u32/64 instructions
    */
 #undef HAVE_MM_POPCNT
 
+/* Define to 1 if _mm_popcnt_u64 intrinsic is available. */
+#undef HAVE_MM_POPCNT_U64
+
 /* Define to 1 if you have the `munmap' function. */
 #undef HAVE_MUNMAP
 


=====================================
src/extension-search.c
=====================================
@@ -340,13 +340,6 @@ oligo_nt (UINT4 oligo, int oligosize) {
 
 #endif
 
-static void
-print_vector_dec (__m128i x) {
-  printf("%d %d %d %d\n",
-	 _mm_extract_epi32(x,0),_mm_extract_epi32(x,1),_mm_extract_epi32(x,2),_mm_extract_epi32(x,3));
-  return;
-}
-
 
 #if !defined(HAVE_SSE4_2)
 #define count_leading_zeroes_32(diff) ((diff >> 16) ? clz_table[diff >> 16] : 16 + clz_table[diff])


=====================================
src/genome128_consec.c
=====================================
@@ -3092,7 +3092,7 @@ set_end_128 (__m128i _diff, int enddiscard) {
 }
 
 
-#if !defined(HAVE_SSE4_2)
+#if !defined(HAVE_SSE4_2) || !defined(HAVE_MM_EXTRACT_EPI64)
 
 #if 0
 /* Naive method for pre-SSE4.2.  Requires four popcount operations. */
@@ -3135,7 +3135,7 @@ popcount_ones_128 (__m128i _diff) {
 
 #elif defined(HAVE_POPCNT)
 #define popcount_ones_128(_diff) (_popcnt64(_mm_extract_epi64(_diff,0)) + _popcnt64(_mm_extract_epi64(_diff,1)))
-#elif defined(HAVE_MM_POPCNT)
+#elif defined(HAVE_MM_POPCNT) && defined(HAVE_MM_POPCNT_U64)
 #define popcount_ones_128(_diff) (_mm_popcnt_u64(_mm_extract_epi64(_diff,0)) + _mm_popcnt_u64(_mm_extract_epi64(_diff,1)))
 #else
 #define popcount_ones_128(_diff) (__builtin_popcountll(_mm_extract_epi64(_diff,0)) + __builtin_popcountll(_mm_extract_epi64(_diff,1)))
@@ -3147,7 +3147,7 @@ count_leading_zeroes_128 (__m128i _diff) {
   debug4(printf("Entered count_leading_zeroes_128 with "));
   debug4(print_vector_hex(_diff));
 
-#if defined(HAVE_SSE4_2) && defined(HAVE_LZCNT)
+#if defined(HAVE_SSE4_2) && defined(HAVE_LZCNT) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,1)) != 0) {
@@ -3156,7 +3156,7 @@ count_leading_zeroes_128 (__m128i _diff) {
     return 64 + (int) _lzcnt_u64(_mm_extract_epi64(_diff,0));
   }
 
-#elif defined(HAVE_SSE4_1)
+#elif defined(HAVE_SSE4_1) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,1)) != 0) {
@@ -3190,7 +3190,7 @@ count_trailing_zeroes_128 (__m128i _diff) {
   debug4(printf("Entered count_trailing_zeroes_128 with "));
   debug4(print_vector_hex(_diff));
 
-#if defined(HAVE_SSE4_2) && defined(HAVE_TZCNT)
+#if defined(HAVE_SSE4_2) && defined(HAVE_TZCNT) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,0)) != 0) {
@@ -3199,7 +3199,7 @@ count_trailing_zeroes_128 (__m128i _diff) {
     return 64 + (int) _tzcnt_u64(_mm_extract_epi64(_diff,1));
   }
 
-#elif defined(HAVE_SSE4_1)
+#elif defined(HAVE_SSE4_1) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,0)) != 0) {


=====================================
src/genome128_hr.c
=====================================
@@ -20403,7 +20403,7 @@ Genome_hr_setup (Genomecomp_T *ref_blocks_in, Genomecomp_T *snp_blocks_in,
 
 #if defined(HAVE_POPCNT)
 #define popcount_ones_256(_diff) (_popcnt64(_mm256_extract_epi64(_diff,0)) + _popcnt64(_mm256_extract_epi64(_diff,1)) + popcnt64(_mm256_extract_epi64(_diff,2)) + _popcnt64(_mm256_extract_epi64(_diff,3)))
-#elif defined(HAVE_MM_POPCNT)
+#elif defined(HAVE_MM_POPCNT) && defined(HAVE_MM_POPCNT_U64)
 #define popcount_ones_256(_diff) (_mm_popcnt_u64(_mm256_extract_epi64(_diff,0)) + _mm_popcnt_u64(_mm256_extract_epi64(_diff,1)) + _mm_popcnt_u64(_mm256_extract_epi64(_diff,2)) + _mm_popcnt_u64(_mm256_extract_epi64(_diff,3)))
 #else
 #define popcount_ones_256(_diff) (__builtin_popcountll(_mm256_extract_epi64(_diff,0)) + __builtin_popcountll(_mm256_extract_epi64(_diff,1)) + __builtin_popcountll(_mm256_extract_epi64(_diff,2)) + __builtin_popcountll(_mm256_extract_epi64(_diff,3)))
@@ -20634,7 +20634,7 @@ set_end_128 (__m128i _diff, int enddiscard) {
 }
 
 
-#if !defined(HAVE_SSE4_2)
+#if !defined(HAVE_SSE4_2) || !defined(HAVE_MM_EXTRACT_EPI64)
 
 #if 0
 /* Naive method for pre-SSE4.2.  Requires four popcount operations. */
@@ -20689,7 +20689,7 @@ count_leading_zeroes_128 (__m128i _diff) {
   debug4(printf("Entered count_leading_zeroes_128 with "));
   debug4(print_vector_hex(_diff));
 
-#if defined(HAVE_SSE4_2) && defined(HAVE_LZCNT)
+#if defined(HAVE_SSE4_2) && defined(HAVE_LZCNT) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,1)) != 0) {
@@ -20698,7 +20698,7 @@ count_leading_zeroes_128 (__m128i _diff) {
     return 64 + (int) _lzcnt_u64(_mm_extract_epi64(_diff,0));
   }
 
-#elif defined(HAVE_SSE4_1)
+#elif defined(HAVE_SSE4_1) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,1)) != 0) {
@@ -20732,7 +20732,7 @@ count_trailing_zeroes_128 (__m128i _diff) {
   debug4(printf("Entered count_trailing_zeroes_128 with "));
   debug4(print_vector_hex(_diff));
 
-#if defined(HAVE_SSE4_2) && defined(HAVE_TZCNT)
+#if defined(HAVE_SSE4_2) && defined(HAVE_TZCNT) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,0)) != 0) {
@@ -20741,7 +20741,7 @@ count_trailing_zeroes_128 (__m128i _diff) {
     return 64 + (int) _tzcnt_u64(_mm_extract_epi64(_diff,1));
   }
 
-#elif defined(HAVE_SSE4_1)
+#elif defined(HAVE_SSE4_1) && defined(HAVE_MM_EXTRACT_EPI64)
   UINT8 x;
 
   if ((x = _mm_extract_epi64(_diff,0)) != 0) {


=====================================
src/kmer-search.c
=====================================
@@ -215,7 +215,8 @@ static Oligospace_T oligobase_mask;
 /* Algorithm 2: Stage3end_complete_path_run_gmap: complete_path -> hits */
 
 
-#ifdef HAVE_SSE2
+#ifdef DEBUG8
+#ifdef HAVE_SSE4_1
 static void
 print_vector_dec (__m128i x) {
   printf("%d %d %d %d\n",
@@ -223,6 +224,7 @@ print_vector_dec (__m128i x) {
   return;
 }
 #endif
+#endif
 
 
 #if !defined(HAVE_SSE4_2)


=====================================
tests/Makefile.in
=====================================
@@ -109,6 +109,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \
 	$(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \
 	$(top_srcdir)/config/sse2_shift_defect.m4 \
 	$(top_srcdir)/config/builtin-popcount.m4 \
+	$(top_srcdir)/config/simd-intrinsics.m4 \
 	$(top_srcdir)/config/ax_cpuid_intel.m4 \
 	$(top_srcdir)/config/ax_cpuid_non_intel.m4 \
 	$(top_srcdir)/config/ax_check_compile_flag.m4 \


=====================================
util/Makefile.in
=====================================
@@ -110,6 +110,7 @@ am__aclocal_m4_deps = $(top_srcdir)/config/libtool.m4 \
 	$(top_srcdir)/config/fopen.m4 $(top_srcdir)/config/asm-bsr.m4 \
 	$(top_srcdir)/config/sse2_shift_defect.m4 \
 	$(top_srcdir)/config/builtin-popcount.m4 \
+	$(top_srcdir)/config/simd-intrinsics.m4 \
 	$(top_srcdir)/config/ax_cpuid_intel.m4 \
 	$(top_srcdir)/config/ax_cpuid_non_intel.m4 \
 	$(top_srcdir)/config/ax_check_compile_flag.m4 \



View it on GitLab: https://salsa.debian.org/med-team/gmap/commit/6d10b5797d8021a56a8137b24470aa860dd87e09

-- 
View it on GitLab: https://salsa.debian.org/med-team/gmap/commit/6d10b5797d8021a56a8137b24470aa860dd87e09
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20180928/56f67100/attachment-0001.html>


More information about the debian-med-commit mailing list