[med-svn] [Git][med-team/simde][debian/experimental] 7 commits: d/rules: -O1 for arm64; as -O2 causes one of the complexe tests to never finish compiling.

Michael R. Crusoe (@crusoe) gitlab at salsa.debian.org
Sun Jan 22 16:21:18 GMT 2023



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


Commits:
9937f741 by Michael R. Crusoe at 2023-01-21T10:57:11+01:00
d/rules: -O1 for arm64; as -O2 causes one of the complexe tests to never finish compiling.

- - - - -
507bab02 by Michael R. Crusoe at 2023-01-22T10:05:45+01:00
Only run the non-emul tests, for more speed

- - - - -
85fadf1d by Michael R. Crusoe at 2023-01-22T10:05:46+01:00
-O0 for 32-bit x86 due to gcc 12 regression

- - - - -
db372336 by Michael R. Crusoe at 2023-01-22T10:09:57+01:00
Skip dbsad tests on i686, known failure.

- - - - -
a6e84542 by Michael R. Crusoe at 2023-01-22T11:51:56+01:00
armel/armhf tests also needs -O0 due to GCC 12 regression

- - - - -
18ea720f by Michael R. Crusoe at 2023-01-22T15:08:59+01:00
cherry-pick gcc-12 fix from upstream

- - - - -
00abbae0 by Michael R. Crusoe at 2023-01-22T17:19:09+01:00
0.7.3~0git20230118123246.d1e75cd-2 (all)

- - - - -


6 changed files:

- debian/changelog
- debian/control
- + debian/patches/deb_fixes
- debian/patches/series
- debian/rules
- debian/tests/run-unit-test


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,14 @@
+simde (0.7.3~0git20230118123246.d1e75cd-2) experimental; urgency=medium
+
+  * d/rules: -O0 for arm64; as -O2 causes one of the complex tests to
+    never finish compiling.
+  * Only run the non-emul tests, for more speed
+  * -O0 for 32-bit x86 due to gcc 12 regression
+  * Skip dbsad tests on i686, known failure.
+  * armel/armhf tests also needs -O0 due to GCC 12 regression
+
+ -- Michael R. Crusoe <crusoe at debian.org>  Sat, 21 Jan 2023 10:11:19 +0100
+
 simde (0.7.3~0git20230118123246.d1e75cd-1) experimental; urgency=medium
 
   * Test before new release.


=====================================
debian/control
=====================================
@@ -14,7 +14,7 @@ Homepage: https://github.com/simd-everywhere/simde
 Rules-Requires-Root: no
 
 Package: libsimde-dev
-Architecture: any
+Architecture: all
 Multi-Arch: foreign
 Depends: ${misc:Depends}
 Description: Implementations of SIMD instructions for all systems


=====================================
debian/patches/deb_fixes
=====================================
@@ -0,0 +1,157 @@
+commit 18d850ea5eb0994c606cdc90a3ab2cb8204cfbb4
+Author: Michael R. Crusoe <michael.crusoe at gmail.com>
+Date:   Fri Jan 20 18:10:35 2023 +0100
+
+    fix gcc 12 compilation
+
+diff --git a/simde/arm/neon/ld2.h b/simde/arm/neon/ld2.h
+index 7b1f88e5..ed8ce1a0 100644
+--- a/simde/arm/neon/ld2.h
++++ b/simde/arm/neon/ld2.h
+@@ -97,6 +97,10 @@ simde_vld2_s16(int16_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+     simde_memcpy(&r, &a_, sizeof(r));
+     return r;
+   #else
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_PUSH
++      SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++    #endif
+     simde_int16x4_private r_[2];
+
+     for (size_t i = 0 ; i < (sizeof(r_) / sizeof(r_[0])) ; i++) {
+@@ -104,6 +108,9 @@ simde_vld2_s16(int16_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         r_[i].values[j] = ptr[i + (j * (sizeof(r_) / sizeof(r_[0])))];
+       }
+     }
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_POP
++    #endif
+
+     simde_int16x4x2_t r = { {
+       simde_int16x4_from_private(r_[0]),
+@@ -240,6 +247,10 @@ simde_vld2_u16(uint16_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+     simde_memcpy(&r, &a_, sizeof(r));
+     return r;
+   #else
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_PUSH
++      SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++    #endif
+     simde_uint16x4_private r_[2];
+
+     for (size_t i = 0 ; i < (sizeof(r_) / sizeof(r_[0])) ; i++) {
+@@ -247,6 +258,9 @@ simde_vld2_u16(uint16_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         r_[i].values[j] = ptr[i + (j * (sizeof(r_) / sizeof(r_[0])))];
+       }
+     }
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_POP
++    #endif
+
+     simde_uint16x4x2_t r = { {
+       simde_uint16x4_from_private(r_[0]),
+@@ -438,6 +452,10 @@ simde_vld2q_s32(int32_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         simde_vld1q_s32(&(ptr[4]))
+       );
+   #else
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_PUSH
++      SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++    #endif
+     simde_int32x4_private r_[2];
+
+     for (size_t i = 0 ; i < (sizeof(r_) / sizeof(r_[0])) ; i++) {
+@@ -445,6 +463,9 @@ simde_vld2q_s32(int32_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         r_[i].values[j] = ptr[i + (j * (sizeof(r_) / sizeof(r_[0])))];
+       }
+     }
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_POP
++    #endif
+
+     simde_int32x4x2_t r = { {
+       simde_int32x4_from_private(r_[0]),
+@@ -597,6 +618,10 @@ simde_vld2q_u32(uint32_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         simde_vld1q_u32(&(ptr[4]))
+       );
+   #else
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_PUSH
++      SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++    #endif
+     simde_uint32x4_private r_[2];
+
+     for (size_t i = 0 ; i < (sizeof(r_) / sizeof(r_[0])) ; i++) {
+@@ -604,6 +629,9 @@ simde_vld2q_u32(uint32_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         r_[i].values[j] = ptr[i + (j * (sizeof(r_) / sizeof(r_[0])))];
+       }
+     }
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_POP
++    #endif
+
+     simde_uint32x4x2_t r = { {
+       simde_uint32x4_from_private(r_[0]),
+@@ -657,6 +685,10 @@ simde_vld2q_f32(simde_float32_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         simde_vld1q_f32(&(ptr[4]))
+       );
+   #else
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_PUSH
++      SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++    #endif
+     simde_float32x4_private r_[2];
+
+     for (size_t i = 0 ; i < (sizeof(r_) / sizeof(r_[0])); i++) {
+@@ -664,6 +696,9 @@ simde_vld2q_f32(simde_float32_t const ptr[HEDLEY_ARRAY_PARAM(8)]) {
+         r_[i].values[j] = ptr[i + (j * (sizeof(r_) / sizeof(r_[0])))];
+       }
+     }
++    #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++      HEDLEY_DIAGNOSTIC_POP
++    #endif
+
+     simde_float32x4x2_t r = { {
+       simde_float32x4_from_private(r_[0]),
+diff --git a/test/x86/avx2.c b/test/x86/avx2.c
+index 7beff5b4..5632db9e 100644
+--- a/test/x86/avx2.c
++++ b/test/x86/avx2.c
+@@ -7155,11 +7155,18 @@ test_simde_mm_i32gather_pd (SIMDE_MUNIT_TEST_ARGS) {
+   };
+   for (size_t i = 0 ; i < (sizeof(f64gather_buffer) / sizeof(f64gather_buffer[0])) ; i++) { f64gather_buffer[i] = HEDLEY_STATIC_CAST(simde_float64, i); }
+
++  #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++    HEDLEY_DIAGNOSTIC_PUSH
++    SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++  #endif
+   for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
+     simde__m128i vindex = simde_x_mm_loadu_epi32(test_vec[i].vindex);
+     simde__m128d r = simde_mm_i32gather_pd(f64gather_buffer, vindex, 8);
+     simde_test_x86_assert_equal_f64x2(r, simde_mm_loadu_pd(test_vec[i].r), 1);
+   }
++  #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++    HEDLEY_DIAGNOSTIC_POP
++  #endif
+
+   return 0;
+ }
+@@ -7243,11 +7250,18 @@ test_simde_mm256_i32gather_pd (SIMDE_MUNIT_TEST_ARGS) {
+   };
+   for (size_t i = 0 ; i < (sizeof(f64gather_buffer) / sizeof(f64gather_buffer[0])) ; i++) { f64gather_buffer[i] = HEDLEY_STATIC_CAST(simde_float64, i); }
+
++  #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++    HEDLEY_DIAGNOSTIC_PUSH
++    SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_
++  #endif
+   for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
+     simde__m128i vindex = simde_x_mm_loadu_epi32(test_vec[i].vindex);
+     simde__m256d r = simde_mm256_i32gather_pd(f64gather_buffer, vindex, 8);
+     simde_test_x86_assert_equal_f64x4(r, simde_mm256_loadu_pd(test_vec[i].r), 1);
+   }
++  #if defined(SIMDE_DIAGNOSTIC_DISABLE_UNINITIALIZED_) && HEDLEY_GCC_VERSION_CHECK(12,0,0)
++    HEDLEY_DIAGNOSTIC_POP
++  #endif
+
+   return 0;
+ }


=====================================
debian/patches/series
=====================================
@@ -1 +1,2 @@
 munit
+deb_fixes


=====================================
debian/rules
=====================================
@@ -10,8 +10,29 @@ CLANG_SKIP=i386 alpha hppa ia64 m68k sh4 x32
 include /usr/share/dpkg/default.mk
 export DEB_BUILD_MAINT_OPTIONS=hardening=+all
 
+# https://github.com/simd-everywhere/simde/issues/982
 ifneq (,$(filter $(DEB_BUILD_ARCH),armel))
   export DEB_LDFLAGS_MAINT_APPEND=-latomic
+  export DEB_CFLAGS_MAINT_APPEND=-O0
+  export DEB_CPPFLAGS_MAINT_APPEND=-O0
+endif
+ifneq (,$(filter $(DEB_BUILD_ARCH),armhf))
+  export DEB_CFLAGS_MAINT_APPEND=-O0
+  export DEB_CPPFLAGS_MAINT_APPEND=-O0
+endif
+
+# on arm64, -O2 (dpkg-buildflag's default) causes test/arm/neon/st4.cpp to not compile
+#  in a reasonable time
+ifneq (,$(filter $(DEB_BUILD_ARCH),arm64))
+  export DEB_CFLAGS_MAINT_APPEND=-O0
+  export DEB_CPPFLAGS_MAINT_APPEND=-O0
+endif
+
+#  https://github.com/simd-everywhere/simde/issues/981
+# -O2 (dpkg-buildflag's default) triggers gcc-12 regressions
+ifneq (,$(filter $(DEB_BUILD_ARCH),i386))
+  export DEB_CFLAGS_MAINT_APPEND=-O0
+  export DEB_CPPFLAGS_MAINT_APPEND=-O0
 endif
 
 %:
@@ -24,6 +45,12 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 # 	CC=clang CXX=clang++ dh_auto_configure --builddirectory=clang_test
 #   endif
 
+# 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
+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))
@@ -34,17 +61,11 @@ endif
 endif
 
 override_dh_auto_build:
-ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	dh_auto_build --builddirectory=gcc_test
-# Skip testing on clang for now owing to bug report #1002223
-#   ifeq (,$(filter $(DEB_HOST_ARCH),$(CLANG_SKIP)))
-# 	dh_auto_build --builddirectory=clang_test
-#   endif
-endif
+	echo skipping dh_auto_build in favor of dh_auto_test
 
 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


=====================================
debian/tests/run-unit-test
=====================================
@@ -26,11 +26,17 @@ if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "s390x" ] ; then
   rm test/x86/avx512/madd.c
 fi
 
+if [ "$(dpkg-architecture -qDEB_HOST_ARCH)" = "i386" ] ; then
+  # https://github.com/simd-everywhere/simde/issues/867
+  sed -i "/'dbsad'/d" meson.build
+  rm test/x86/avx512/dbsad.c
+fi
+
 mkdir build-gcc build-clang
 
 cd build-gcc
 CC=gcc CXX=g++ meson ..
-ninja -j$(nproc) -v test
+meson test -v --print-errorlogs $(meson test --list | grep -v emul)
 
 # cd ../build-clang
 # CC=clang CXX=clang++ meson ..



View it on GitLab: https://salsa.debian.org/med-team/simde/-/compare/8d02b046572570e7a0b1a92ee55e9dbe9a69249d...00abbae0042f3d6b41da3f3a4a21a8c2c3a87d4d

-- 
View it on GitLab: https://salsa.debian.org/med-team/simde/-/compare/8d02b046572570e7a0b1a92ee55e9dbe9a69249d...00abbae0042f3d6b41da3f3a4a21a8c2c3a87d4d
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/20230122/6c95325a/attachment-0001.htm>


More information about the debian-med-commit mailing list