===> build-message [libdeflate-1.20 openexr-3.2.4 gegl-0.4.48nb3 gimp-2.10.38nb1 xsane-0.99.9nb32] ===> Building for libdeflate-1.20
[ 6%] Building C object CMakeFiles/libdeflate_static.dir/lib/adler32.c.o
[ 6%] Building C object CMakeFiles/libdeflate_shared.dir/lib/adler32.c.o
/tmp//ccnndw0K.s: Assembler messages:
/tmp//ccnndw0K.s:1377: Error: unsupported instruction `vpdpbusd'
/tmp//ccnndw0K.s:1379: Error: unsupported instruction `vpdpbusd'
/tmp//ccnndw0K.s:1381: Error: unsupported instruction `vpdpbusd'
...
etc more of the same
I had seen something like this in Firefox before and there I brutally disabled
-#ifdef __AVXVNNI__
+#ifdef __AVXVNNI__NOT
For this case I had to add patches/patch-lib_x86_adler32__impl.h:
--- lib/x86/adler32_impl.h.orig 2024-06-29 19:20:24.559825229 +0000
+++ lib/x86/adler32_impl.h
@@ -53,7 +53,7 @@
* AVX-VNNI implementation. This is used on CPUs that have AVX2 and AVX-VNNI
* but don't have AVX-512, for example Intel Alder Lake.
*/
-#if GCC_PREREQ(11, 1) || CLANG_PREREQ(12, 0, 13000000) || MSVC_PREREQ(1930)
+#if 0 /* GCC_PREREQ(11, 1) || CLANG_PREREQ(12, 0, 13000000) || MSVC_PREREQ(1930) */
# define adler32_x86_avx2_vnni adler32_x86_avx2_vnni
# define SUFFIX _avx2_vnni
# define ATTRIBUTES _target_attribute("avx2,avxvnni")
So it seems in our assembler these instructions are missing but gcc 12
generates them anyway?
I presume there would be a better version of this hack?
-Olaf.
--
___ Olaf 'Rhialto' Seibert <rhialto/at/falu.nl>
\X/ There is no AI. There is just someone else's work. --I. Rose
Attachment:
signature.asc
Description: PGP signature