[med-svn] [Git][med-team/simde][debian/experimental] 5 commits: Install the pkg-config simde file in /usr/lib/pkg-config/, not /usr/lib/<triplet>/pkg-config/

Michael R. Crusoe (@crusoe) gitlab at salsa.debian.org
Sat May 20 15:30:13 BST 2023



Michael R. Crusoe pushed to branch debian/experimental at Debian Med / simde


Commits:
eba4b6f6 by Michael R. Crusoe at 2023-05-20T15:43:39+02:00
Install the pkg-config simde file in /usr/lib/pkg-config/, not /usr/lib/<triplet>/pkg-config/

- - - - -
e2afaf5a by Michael R. Crusoe at 2023-05-20T15:43:41+02:00
d/rules: clean all the build directories

- - - - -
846f211b by Michael R. Crusoe at 2023-05-20T15:43:41+02:00
d/rules: save testing time by skipping 'emul' tests

- - - - -
d6411174 by Michael R. Crusoe at 2023-05-20T15:43:41+02:00
Add another patch from upstream to fix ppc64el implementations of WASM SIMD128 functions.

- - - - -
afcbf79a by Michael R. Crusoe at 2023-05-20T15:44:08+02:00
pkg-config: drop "-Wno-psabi", too invasive

- - - - -


9 changed files:

- debian/changelog
- debian/patches/pkgconfig
- + debian/patches/ppc64el_fixes
- debian/patches/series
- debian/patches/wasm_f64x2_pmin_altivec.patch
- debian/rules
- debian/tests/control
- debian/tests/run-unit-test
- debian/tests/standalone


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,19 @@
+simde (0.7.6-0~0exp3) experimental; urgency=medium
+
+  * Install the pkg-config simde file in /usr/share/pkgconfig/,
+    not /usr/lib/<triplet>/pkgconfig/
+  * Autopkgtests: resume skipping some tests:
+     i386: avx512/dbsad
+     ppc64el: all tests pass
+     s390x: all tests pass
+  * d/rules: clean all the build directories
+  * d/rules: save testing time by skipping 'emul' tests
+  * Add another patch from upstream to fix ppc64el implementations of WASM
+    SIMD128 functions.
+  * pkg-config: drop "-Wno-psabi", too invasive
+
+ -- Michael R. Crusoe <crusoe at debian.org>  Sat, 20 May 2023 09:32:48 +0200
+
 simde (0.7.6-0~0exp2) experimental; urgency=medium
 
   * Autopkgtests control: use "@" so we get the same version of the


=====================================
debian/patches/pkgconfig
=====================================
@@ -1,5 +1,6 @@
 Author: Michael R. Crusoe <crusoe at debian.org>
 Description: Add the OpenMP SIMD flags automatically
+Forwarded: not-needed
 
 These are supported by both GCC 4.9+ and Clang 6+
 
@@ -9,7 +10,7 @@ These are supported by both GCC 4.9+ and Clang 6+
      version : meson.project_version(),
      name : 'SIMDe',
      filebase : 'simde',
-+    extra_cflags: ['-DSIMDE_ENABLE_OPENMP', '-fopenmp-simd', '-Wno-psabi'],
++    extra_cflags: ['-DSIMDE_ENABLE_OPENMP', '-fopenmp-simd'],
      description : 'Portable SIMD wrapper library')
  endif
 


=====================================
debian/patches/ppc64el_fixes
=====================================
@@ -0,0 +1,44 @@
+Author: Michael R. Crusoe <crusoe at debian.org>
+Description: More WASM fixes for ppc64el
+--- simde.orig/simde/wasm/simd128.h
++++ simde/simde/wasm/simd128.h
+@@ -3865,7 +3865,7 @@
+     #elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
+       r_.neon_u16 = vshlq_u16(a_.neon_u16, vdupq_n_s16(-HEDLEY_STATIC_CAST(int16_t, count & 15)));
+     #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
+-      r_.altivec_i16 = vec_sra(a_.altivec_i16, vec_splats(HEDLEY_STATIC_CAST(unsigned short, count & 15)));
++      r_.altivec_u16 = vec_sr(a_.altivec_u16, vec_splats(HEDLEY_STATIC_CAST(unsigned short, count & 15)));
+     #elif defined(SIMDE_VECTOR_SUBSCRIPT) && defined(SIMDE_VECTOR_SCALAR)
+       r_.u16 = a_.u16 >> (count & 15);
+     #else
+@@ -3897,7 +3897,7 @@
+     #elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
+       r_.neon_u32 = vshlq_u32(a_.neon_u32, vdupq_n_s32(-HEDLEY_STATIC_CAST(int32_t, count & 31)));
+     #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
+-      r_.altivec_i32 = vec_sra(a_.altivec_i32, vec_splats(HEDLEY_STATIC_CAST(unsigned int, count & 31)));
++      r_.altivec_u32 = vec_sr(a_.altivec_u32, vec_splats(HEDLEY_STATIC_CAST(unsigned int, count & 31)));
+     #elif defined(SIMDE_VECTOR_SUBSCRIPT) && defined(SIMDE_VECTOR_SCALAR)
+       r_.u32 = a_.u32 >> (count & 31);
+     #else
+@@ -3932,7 +3932,7 @@
+     #elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
+       r_.neon_u64 = vshlq_u64(a_.neon_u64, vdupq_n_s64(-HEDLEY_STATIC_CAST(int64_t, count & 63)));
+     #elif defined(SIMDE_POWER_ALTIVEC_P8_NATIVE)
+-      r_.altivec_i64 = vec_sra(a_.altivec_i64, vec_splats(HEDLEY_STATIC_CAST(unsigned long long, count & 63)));
++      r_.altivec_u64 = vec_sr(a_.altivec_u64, vec_splats(HEDLEY_STATIC_CAST(unsigned long long, count & 63)));
+     #elif defined(SIMDE_VECTOR_SUBSCRIPT) && defined(SIMDE_VECTOR_SCALAR)
+       r_.u64 = a_.u64 >> (count & 63);
+     #else
+@@ -4318,12 +4318,6 @@
+       r_.sse_m128i = _mm_mullo_epi16(a_.sse_m128i, b_.sse_m128i);
+     #elif defined(SIMDE_ARM_NEON_A32V7_NATIVE)
+       r_.neon_i16 = vmulq_s16(a_.neon_i16, b_.neon_i16);
+-    #elif defined(SIMDE_POWER_ALTIVEC_P6_NATIVE)
+-      r_.altivec_i16 =
+-        vec_pack(
+-          vec_mule(a_.altivec_i16, b_.altivec_i16),
+-          vec_mulo(a_.altivec_i16, b_.altivec_i16)
+-        );
+     #elif defined(SIMDE_VECTOR_SUBSCRIPT)
+       r_.i16 = a_.i16 * b_.i16;
+     #else


=====================================
debian/patches/series
=====================================
@@ -1,3 +1,4 @@
 wasm_f64x2_pmin_altivec.patch
+ppc64el_fixes
 munit
 pkgconfig


=====================================
debian/patches/wasm_f64x2_pmin_altivec.patch
=====================================
@@ -1,10 +1,9 @@
 Author: Michael R. Crusoe <crusoe at debian.org>
 Description: fix PPC64EL implementation of wasm_f64x2_pmin
-diff --git a/simde/wasm/simd128.h b/simde/wasm/simd128.h
-index 98b59629..4a001c24 100644
---- a/simde/wasm/simd128.h
-+++ b/simde/wasm/simd128.h
-@@ -5506,11 +5506,11 @@ simde_wasm_f64x2_pmin (simde_v128_t a, simde_v128_t b) {
+Origin: upstream,https://github.com/simd-everywhere/simde/commit/96d6e5392eb3baa72b8934594925d7c6754a729b
+--- simde.orig/simde/wasm/simd128.h
++++ simde/simde/wasm/simd128.h
+@@ -5506,11 +5506,11 @@
            a_.neon_f64
          );
      #elif defined(SIMDE_POWER_ALTIVEC_P7_NATIVE)


=====================================
debian/rules
=====================================
@@ -22,7 +22,7 @@ endif
 	dh $@ --buildsystem=meson+ninja
 
 override_dh_auto_configure:
-	dh_auto_configure -- -Dtests=false
+	dh_auto_configure -- -Dtests=false --libdir=lib
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
   # ifeq (,$(filter $(DEB_HOST_ARCH),$(CLANG_SKIP)))
 	# CC=clang CXX=clang++ dh_auto_configure --builddirectory=clang_test
@@ -30,13 +30,13 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 # https://github.com/simd-everywhere/simde/issues/867
 ifneq (,$(filter $(DEB_BUILD_ARCH),i386))
 	sed -i "/'dbsad'/d" meson.build
-	rm test/x86/avx512/dbsad.c
+	rm -f test/x86/avx512/dbsad.c
 endif
 # According to https://wiki.debian.org/ArchitectureSpecificsMemo#Architecture_baselines
 # It is odd that gcc doesn't include this automatically, but clang does
 ifneq (,$(filter $(DEB_BUILD_ARCH),ppc64))
-	export DEB_CFLAGS_MAINT_APPEND+=-maltivec
-	export DEB_CXXFLAGS_MAINT_APPEND+=-maltivec
+	export DEB_CFLAGS_MAINT_APPEND=-maltivec
+	export DEB_CXXFLAGS_MAINT_APPEND=-maltivec
 endif
 	CC=gcc CXX=g++ dh_auto_configure --builddirectory=gcc_test
 endif
@@ -51,15 +51,20 @@ endif
 
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	dh_auto_test --builddirectory=gcc_test
+	dh_auto_test --builddirectory=gcc_test -- $(shell meson test -C gcc_test --list | grep -v emul)
 # Skip testing on clang for now owing to bug report #1002223
 #  ifeq (,$(filter $(DEB_HOST_ARCH),$(CLANG_SKIP)))
-#	dh_auto_test --builddirectory=clang_test
+#	dh_auto_test --builddirectory=clang_test -- $(shell meson test -C clang_test --list | grep -v emul)
 #  endif
 endif
 
 override_dh_auto_clean:
 	dh_auto_clean --builddirectory=gcc_test
-# ifeq (,$(filter $(DEB_HOST_ARCH),$(CLANG_SKIP)))
-# 	dh_auto_clean --builddirectory=clang_test
-# endif
+	dh_auto_clean --builddirectory=clang_test
+	dh_auto_clean
+
+override_dh_auto_install:
+	dh_auto_install
+	mkdir --parents debian/libsimde-dev/usr/share/
+	mv debian/libsimde-dev/usr/lib/pkgconfig debian/libsimde-dev/usr/share/
+	find debian/libsimde-dev -type d -empty -delete


=====================================
debian/tests/control
=====================================
@@ -1,5 +1,5 @@
 Tests: standalone
-Depends: @, gcc, g++, pkgconf
+Depends: @, gcc, g++, pkgconf, dpkg-dev
 
 Tests: run-unit-test
 Depends: @, gcc, g++, meson, ninja-build, dpkg-dev


=====================================
debian/tests/run-unit-test
=====================================
@@ -20,42 +20,18 @@ cp -r /usr/include/simde ./
 cp -r ${SOURCE}/test ./
 cp -r ${SOURCE}/meson* ./
 
-# if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "i386" ] ; then
-#   # https://github.com/simd-everywhere/simde/issues/867
-#   sed -i "/'dbsad'/d" meson.build
-#   rm -f test/x86/avx512/dbsad.c
-# fi
-#
-# if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "s390x" ] ; then
-#   # https://github.com/simd-everywhere/simde/issues/641
-#   sed -i "/'madd'/d" meson.build
-#   sed -i "/'qdmulh'/d" meson.build
-#   sed -i "/'qdmulh_lane'/d" meson.build
-#   sed -i "/'qdmulh_n'/d" meson.build
-#   rm -f test/x86/avx512/madd.c
-#   rm -f test/arm/neon/qdmulh.c
-#   rm -f test/arm/neon/qdmulh_lane.c
-#   rm -f test/arm/neon/qdmulh_n.c
-# fi
-#
-# if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "ppc64el" ] ; then
-#   #https://github.com/simd-everywhere/simde/issues/986
-#   sed -i "/'mul'/d" test/wasm/simd128/meson.build
-#   sed -i "/'shr'/d" test/wasm/simd128/meson.build
-#   sed -i "/'trunc_sat'/d" test/wasm/simd128/meson.build
-#   rm -f test/wasm/simd128/mul.c
-#   rm -f test/wasm/simd128/shr.c
-#   rm -f test/wasm/simd128/trunc_sat.c
-#   export CFLAGS=-O2
-#   export CXXFLAGS=-O2
-# fi
+if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "i386" ] ; then
+  # https://github.com/simd-everywhere/simde/issues/867
+  sed -i "/'dbsad'/d" meson.build
+  rm -f test/x86/avx512/dbsad.c
+fi
 
 mkdir build-gcc build-clang
 
 cd build-gcc
 CC=gcc CXX=g++ meson ..
-meson test --print-errorlogs
+meson test --print-errorlogs $(meson test --list | grep -v emul)
 
 # cd ../build-clang
 # CC=clang CXX=clang++ meson ..
-# ninja -j$(nproc) -v test
+# meson test --print-errorlogs $(meson test --list | grep -v emul)


=====================================
debian/tests/standalone
=====================================
@@ -16,6 +16,10 @@ fi
 
 cd "${AUTOPKGTEST_TMP}"
 
+if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "i386" ] ; then
+  CFLAGS=-Wno-psabi
+fi
+
 cat > test.c <<EOM
       #include <assert.h>
       #include <simde/arm/neon.h>
@@ -31,5 +35,5 @@ cat > test.c <<EOM
       }
 EOM
 
-cc $("${PKG_CONFIG}" simde --cflags) test.c -o test
+cc $("${PKG_CONFIG}" simde --cflags) ${CFLAGS} test.c -o test
 ./test



View it on GitLab: https://salsa.debian.org/med-team/simde/-/compare/94a4431643f50223d498ed2de0fc4bd729c2a9a5...afcbf79a46c11b07ba6ebb5f7c4a17c9ce0e2506

-- 
View it on GitLab: https://salsa.debian.org/med-team/simde/-/compare/94a4431643f50223d498ed2de0fc4bd729c2a9a5...afcbf79a46c11b07ba6ebb5f7c4a17c9ce0e2506
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/20230520/bcdd0def/attachment-0001.htm>


More information about the debian-med-commit mailing list