Closed lambdadog closed 2 days ago
Ah, seems this may be related to a Zig issue: https://github.com/ziglang/zig/issues/20414
Not for certain, still combing through everything.
What is the command that you are using to build lib/adler32.c
, i.e. which compiler options are you using? You mentioned that you are using clang --- which version of it?
Version:
Alpine clang version 18.1.8
Target: x86_64-alpine-linux-musl
Thread model: posix
InstalledDir: /usr/bin
The actual specific underlying command used is a zig clang
invocation, which zig implements by directly calling into the clang main function, so /usr/bin/zig clang
can just be mentally replaced with clang-18
.
/usr/bin/zig clang /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c --no-default-config -fno-caret-diagnostics -target x86_64-unknown-linux-musl -nostdinc -fno-spell-checking -isystem /usr/lib/zig/include -isystem /usr/include -Xclang -target-cpu -Xclang x86-64 -Xclang -target-feature -Xclang -16bit-mode -Xclang -target-feature -Xclang -32bit-mode -Xclang -target-feature -Xclang -3dnow -Xclang -target-feature -Xclang -3dnowa -Xclang -target-feature -Xclang +64bit -Xclang -target-feature -Xclang -adx -Xclang -target-feature -Xclang -aes -Xclang -target-feature -Xclang -allow-light-256-bit -Xclang -target-feature -Xclang -amx-bf16 -Xclang -target-feature -Xclang -amx-complex -Xclang -target-feature -Xclang -amx-fp16 -Xclang -target-feature -Xclang -amx-int8 -Xclang -target-feature -Xclang -amx-tile -Xclang -target-feature -Xclang -avx -Xclang -target-feature -Xclang -avx10.1-256 -Xclang -target-feature -Xclang -avx10.1-512 -Xclang -target-feature -Xclang -avx2 -Xclang -target-feature -Xclang -avx512bf16 -Xclang -target-feature -Xclang -avx512bitalg -Xclang -target-feature -Xclang -avx512bw -Xclang -target-feature -Xclang -avx512cd -Xclang -target-feature -Xclang -avx512dq -Xclang -target-feature -Xclang -avx512er -Xclang -target-feature -Xclang -avx512f -Xclang -target-feature -Xclang -avx512fp16 -Xclang -target-feature -Xclang -avx512ifma -Xclang -target-feature -Xclang -avx512pf -Xclang -target-feature -Xclang -avx512vbmi -Xclang -target-feature -Xclang -avx512vbmi2 -Xclang -target-feature -Xclang -avx512vl -Xclang -target-feature -Xclang -avx512vnni -Xclang -target-feature -Xclang -avx512vp2intersect -Xclang -target-feature -Xclang -avx512vpopcntdq -Xclang -target-feature -Xclang -avxifma -Xclang -target-feature -Xclang -avxneconvert -Xclang -target-feature -Xclang -avxvnni -Xclang -target-feature -Xclang -avxvnniint16 -Xclang -target-feature -Xclang -avxvnniint8 -Xclang -target-feature -Xclang -bmi -Xclang -target-feature -Xclang -bmi2 -Xclang -target-feature -Xclang -branchfusion -Xclang -target-feature -Xclang -ccmp -Xclang -target-feature -Xclang -cf -Xclang -target-feature -Xclang -cldemote -Xclang -target-feature -Xclang -clflushopt -Xclang -target-feature -Xclang -clwb -Xclang -target-feature -Xclang -clzero -Xclang -target-feature -Xclang +cmov -Xclang -target-feature -Xclang -cmpccxadd -Xclang -target-feature -Xclang -crc32 -Xclang -target-feature -Xclang -cx16 -Xclang -target-feature -Xclang +cx8 -Xclang -target-feature -Xclang -egpr -Xclang -target-feature -Xclang -enqcmd -Xclang -target-feature -Xclang -ermsb -Xclang -target-feature -Xclang -evex512 -Xclang -target-feature -Xclang -f16c -Xclang -target-feature -Xclang -false-deps-getmant -Xclang -target-feature -Xclang -false-deps-lzcnt-tzcnt -Xclang -target-feature -Xclang -false-deps-mulc -Xclang -target-feature -Xclang -false-deps-mullq -Xclang -target-feature -Xclang -false-deps-perm -Xclang -target-feature -Xclang -false-deps-popcnt -Xclang -target-feature -Xclang -false-deps-range -Xclang -target-feature -Xclang -fast-11bytenop -Xclang -target-feature -Xclang -fast-15bytenop -Xclang -target-feature -Xclang -fast-7bytenop -Xclang -target-feature -Xclang -fast-bextr -Xclang -target-feature -Xclang -fast-gather -Xclang -target-feature -Xclang -fast-hops -Xclang -target-feature -Xclang -fast-lzcnt -Xclang -target-feature -Xclang -fast-movbe -Xclang -target-feature -Xclang -fast-scalar-fsqrt -Xclang -target-feature -Xclang -fast-scalar-shift-masks -Xclang -target-feature -Xclang -fast-shld-rotate -Xclang -target-feature -Xclang -fast-variable-crosslane-shuffle -Xclang -target-feature -Xclang -fast-variable-perlane-shuffle -Xclang -target-feature -Xclang -fast-vector-fsqrt -Xclang -target-feature -Xclang -fast-vector-shift-masks -Xclang -target-feature -Xclang -faster-shift-than-shuffle -Xclang -target-feature -Xclang -fma -Xclang -target-feature -Xclang -fma4 -Xclang -target-feature -Xclang -fsgsbase -Xclang -target-feature -Xclang -fsrm -Xclang -target-feature -Xclang +fxsr -Xclang -target-feature -Xclang -gfni -Xclang -target-feature -Xclang -harden-sls-ijmp -Xclang -target-feature -Xclang -harden-sls-ret -Xclang -target-feature -Xclang -hreset -Xclang -target-feature -Xclang -idivl-to-divb -Xclang -target-feature -Xclang +idivq-to-divl -Xclang -target-feature -Xclang -invpcid -Xclang -target-feature -Xclang -kl -Xclang -target-feature -Xclang -lea-sp -Xclang -target-feature -Xclang -lea-uses-ag -Xclang -target-feature -Xclang -lvi-cfi -Xclang -target-feature -Xclang -lvi-load-hardening -Xclang -target-feature -Xclang -lwp -Xclang -target-feature -Xclang -lzcnt -Xclang -target-feature -Xclang +macrofusion -Xclang -target-feature -Xclang +mmx -Xclang -target-feature -Xclang -movbe -Xclang -target-feature -Xclang -movdir64b -Xclang -target-feature -Xclang -movdiri -Xclang -target-feature -Xclang -mwaitx -Xclang -target-feature -Xclang -ndd -Xclang -target-feature -Xclang -no-bypass-delay -Xclang -target-feature -Xclang -no-bypass-delay-blend -Xclang -target-feature -Xclang -no-bypass-delay-mov -Xclang -target-feature -Xclang -no-bypass-delay-shuffle -Xclang -target-feature -Xclang +nopl -Xclang -target-feature -Xclang -pad-short-functions -Xclang -target-feature -Xclang -pclmul -Xclang -target-feature -Xclang -pconfig -Xclang -target-feature -Xclang -pku -Xclang -target-feature -Xclang -popcnt -Xclang -target-feature -Xclang -ppx -Xclang -target-feature -Xclang -prefer-128-bit -Xclang -target-feature -Xclang -prefer-256-bit -Xclang -target-feature -Xclang -prefer-mask-registers -Xclang -target-feature -Xclang -prefer-movmsk-over-vtest -Xclang -target-feature -Xclang -prefer-no-gather -Xclang -target-feature -Xclang -prefer-no-scatter -Xclang -target-feature -Xclang -prefetchi -Xclang -target-feature -Xclang -prefetchwt1 -Xclang -target-feature -Xclang -prfchw -Xclang -target-feature -Xclang -ptwrite -Xclang -target-feature -Xclang -push2pop2 -Xclang -target-feature -Xclang -raoint -Xclang -target-feature -Xclang -rdpid -Xclang -target-feature -Xclang -rdpru -Xclang -target-feature -Xclang -rdrnd -Xclang -target-feature -Xclang -rdseed -Xclang -target-feature -Xclang -retpoline -Xclang -target-feature -Xclang -retpoline-external-thunk -Xclang -target-feature -Xclang -retpoline-indirect-branches -Xclang -target-feature -Xclang -retpoline-indirect-calls -Xclang -target-feature -Xclang -rtm -Xclang -target-feature -Xclang -sahf -Xclang -target-feature -Xclang -sbb-dep-breaking -Xclang -target-feature -Xclang -serialize -Xclang -target-feature -Xclang -seses -Xclang -target-feature -Xclang -sgx -Xclang -target-feature -Xclang -sha -Xclang -target-feature -Xclang -sha512 -Xclang -target-feature -Xclang -shstk -Xclang -target-feature -Xclang +slow-3ops-lea -Xclang -target-feature -Xclang +slow-incdec -Xclang -target-feature -Xclang -slow-lea -Xclang -target-feature -Xclang -slow-pmaddwd -Xclang -target-feature -Xclang -slow-pmulld -Xclang -target-feature -Xclang -slow-shld -Xclang -target-feature -Xclang -slow-two-mem-ops -Xclang -target-feature -Xclang -slow-unaligned-mem-16 -Xclang -target-feature -Xclang -slow-unaligned-mem-32 -Xclang -target-feature -Xclang -sm3 -Xclang -target-feature -Xclang -sm4 -Xclang -target-feature -Xclang -soft-float -Xclang -target-feature -Xclang +sse -Xclang -target-feature -Xclang +sse2 -Xclang -target-feature -Xclang -sse3 -Xclang -target-feature -Xclang -sse4.1 -Xclang -target-feature -Xclang -sse4.2 -Xclang -target-feature -Xclang -sse4a -Xclang -target-feature -Xclang -sse-unaligned-mem -Xclang -target-feature -Xclang -ssse3 -Xclang -target-feature -Xclang -tagged-globals -Xclang -target-feature -Xclang -tbm -Xclang -target-feature -Xclang -tsxldtrk -Xclang -target-feature -Xclang -tuning-fast-imm-vector-shift -Xclang -target-feature -Xclang -uintr -Xclang -target-feature -Xclang -use-glm-div-sqrt-costs -Xclang -target-feature -Xclang -use-slm-arith-costs -Xclang -target-feature -Xclang -usermsr -Xclang -target-feature -Xclang -vaes -Xclang -target-feature -Xclang -vpclmulqdq -Xclang -target-feature -Xclang +vzeroupper -Xclang -target-feature -Xclang -waitpkg -Xclang -target-feature -Xclang -wbnoinvd -Xclang -target-feature -Xclang -widekl -Xclang -target-feature -Xclang +x87 -Xclang -target-feature -Xclang -xop -Xclang -target-feature -Xclang -xsave -Xclang -target-feature -Xclang -xsavec -Xclang -target-feature -Xclang -xsaveopt -Xclang -target-feature -Xclang -xsaves -fsanitize=undefined -fsanitize-trap=undefined -fno-sanitize=function -mred-zone -fno-omit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -D_DEBUG -O0 -funwind-tables -gdwarf-4 -gdwarf32 -MD -MV -MF /home/lambdadog/devel/omen-mc/libdeflate/.zig-cache/tmp/ac7a60d856364858-adler32.o.d -I /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942 -std=c99 -Wall -Wdeclaration-after-statement -Wimplicit-fallthrough -Wmissing-field-initializers -Wmissing-prototypes -Wpedantic -Wshadow -Wstrict-prototypes -Wundef -Wvla -c -o /home/lambdadog/devel/omen-mc/libdeflate/.zig-cache/tmp/ac7a60d856364858-adler32.o --serialize-diagnostics /home/lambdadog/devel/omen-mc/libdeflate/.zig-cache/tmp/ac7a60d856364858-adler32.o.diag
Hmm, looking at the diff between the -Dcpu=baseline
vs -Dcpu=baseline+evex512
invocations and googling around for some supplementary info (https://internals.rust-lang.org/t/evex512-in-rust/21239) it looks like it's possible that Clang has a default equivalent to -target-feature +evex512
, but since Zig explicitly supplies the target features based on its own logic, it's passing -target-feature -evex512
unless evex512 support is specifically specified.
You really should ask the Zig developers to deobfuscate the compiler command lines they use. But yes, -Xclang -target-feature -Xclang -evex512
is causing the problem. That causes the compiler to behave in a non-backwards-compatible way where it can no longer compile code that uses 512-bit vectors. -mno-evex512
would have the same effect and also fail with gcc.
This can be handled in libdeflate by adding evex512
to the target attribute lists for the functions that use 512-bit vectors, but only for clang >= 18 and gcc >= 14 which support that attribute.
It is annoying, but in order to add AVX10/256 support the same compiler versions are going to need no-evex512
in some of the functions that use 256-bit vectors anyway. So I will probably handle that at the same time.
It may be a good idea to ask the Zig developers to stop explicitly disabling evex512
too, though, given that it causes this non-backwards-compatible behavior.
I'm not entirely sure if this is an issue for upstream, but since libdeflate advertises that it's able to be built via just copying the source files into your project, I was hoping you might able to advise/determine whether an upstream fix is needed.
The primary relevant error seems to be
always_inline function '<compiler intrinsic>' requires target feature 'evex512', but would be inlined into function '<function>' that is compiled without support for 'evex512'
(see error log attached below for specific examples) and indeed, if the project is built withzig build -Dcpu=baseline+evex512
it compiles without issue.I'm not an expert when it comes to working with cpu-specific features, but it seems to me that perhaps "evex512" needs to be added to some
_target_attribute
lists (such as here? I'm not exactly sure why building with clang viazig build
would cause this issue to show up when libdeflate (aiui) builds with clang normally without issues, however, which is making me not particularly confident in my answer.Error log
``` /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:197:21: error: always_inline function '_mm512_set1_epi8' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' const vec_t ones = VSET1_8(1); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' # define VSET1_8(a) _mm512_set1_epi8(a) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:197:21: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI const vec_t ones = VSET1_8(1); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:116:23: note: expanded from macro 'VSET1_8' # define VSET1_8(a) _mm512_set1_epi8(a) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:224:23: error: always_inline function '_mm512_setzero_si512' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' const vec_t zeroes = VSETZERO(); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:118:23: note: expanded from macro 'VSETZERO' # define VSETZERO() _mm512_setzero_si512() ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:224:23: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI const vec_t zeroes = VSETZERO(); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:118:23: note: expanded from macro 'VSETZERO' # define VSETZERO() _mm512_setzero_si512() ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:259:17: error: always_inline function '_mm512_load_si512' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' vec_t mults = VLOAD(raw_mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:110:21: note: expanded from macro 'VLOAD' # define VLOAD(p) _mm512_load_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:259:17: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI vec_t mults = VLOAD(raw_mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:110:21: note: expanded from macro 'VLOAD' # define VLOAD(p) _mm512_load_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:280:20: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' vec_t data_a = VLOADU(p + 0*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:280:20: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI vec_t data_a = VLOADU(p + 0*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:281:20: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' vec_t data_b = VLOADU(p + 1*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:281:20: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI vec_t data_b = VLOADU(p + 1*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:282:20: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' vec_t data_c = VLOADU(p + 2*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:282:20: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI vec_t data_c = VLOADU(p + 2*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:283:20: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' vec_t data_d = VLOADU(p + 3*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:283:20: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI vec_t data_d = VLOADU(p + 3*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:111:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:295:14: error: always_inline function '_mm512_dpbusd_epi32' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' v_s2 = VDPBUSD(v_s2, data_a, mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:109:28: note: expanded from macro 'VDPBUSD' # define VDPBUSD(a, b, c) _mm512_dpbusd_epi32((a), (b), (c)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:295:14: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v_s2 = VDPBUSD(v_s2, data_a, mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:109:28: note: expanded from macro 'VDPBUSD' # define VDPBUSD(a, b, c) _mm512_dpbusd_epi32((a), (b), (c)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:296:14: error: always_inline function '_mm512_dpbusd_epi32' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' v_s2_b = VDPBUSD(v_s2_b, data_b, mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:109:28: note: expanded from macro 'VDPBUSD' # define VDPBUSD(a, b, c) _mm512_dpbusd_epi32((a), (b), (c)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:296:14: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v_s2_b = VDPBUSD(v_s2_b, data_b, mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:109:28: note: expanded from macro 'VDPBUSD' # define VDPBUSD(a, b, c) _mm512_dpbusd_epi32((a), (b), (c)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:297:14: error: always_inline function '_mm512_dpbusd_epi32' requires target feature 'evex512', but would be inlined into function 'adler32_x86_avx512_vl512_vnni' that is compiled without support for 'evex512' v_s2_c = VDPBUSD(v_s2_c, data_c, mults); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/adler32.c:128: # include "x86/adler32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_impl.h:102: # include "adler32_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/adler32_template.h:109:28: note: expanded from macro 'VDPBUSD' # define VDPBUSD(a, b, c) _mm512_dpbusd_epi32((a), (b), (c)) ^ :1:1: error: too many errors emitted, stopping now /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:197:25: error: always_inline function '_mm512_set_epi64' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' const vec_t mults_8v = MULTS_8V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:97:21: note: expanded from macro 'MULTS_8V' # define MULTS_8V MULTS(CRC32_X4063_MODG, CRC32_X4127_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:197:25: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI const vec_t mults_8v = MULTS_8V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:97:21: note: expanded from macro 'MULTS_8V' # define MULTS_8V MULTS(CRC32_X4063_MODG, CRC32_X4127_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:198:25: error: always_inline function '_mm512_set_epi64' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' const vec_t mults_4v = MULTS_4V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:98:21: note: expanded from macro 'MULTS_4V' # define MULTS_4V MULTS(CRC32_X2015_MODG, CRC32_X2079_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:198:25: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI const vec_t mults_4v = MULTS_4V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:98:21: note: expanded from macro 'MULTS_4V' # define MULTS_4V MULTS(CRC32_X2015_MODG, CRC32_X2079_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:199:25: error: always_inline function '_mm512_set_epi64' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' const vec_t mults_2v = MULTS_2V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:99:21: note: expanded from macro 'MULTS_2V' # define MULTS_2V MULTS(CRC32_X991_MODG, CRC32_X1055_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:199:25: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI const vec_t mults_2v = MULTS_2V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:99:21: note: expanded from macro 'MULTS_2V' # define MULTS_2V MULTS(CRC32_X991_MODG, CRC32_X1055_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:200:25: error: always_inline function '_mm512_set_epi64' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' const vec_t mults_1v = MULTS_1V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:100:21: note: expanded from macro 'MULTS_1V' # define MULTS_1V MULTS(CRC32_X479_MODG, CRC32_X543_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:200:25: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI const vec_t mults_1v = MULTS_1V; ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:100:21: note: expanded from macro 'MULTS_1V' # define MULTS_1V MULTS(CRC32_X479_MODG, CRC32_X543_MODG) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:96:24: note: expanded from macro 'MULTS' # define MULTS(a, b) _mm512_set_epi64(a, b, a, b, a, b, a, b) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:251:13: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' v0 = VXOR(VLOADU(p), M128I_TO_VEC(x0)); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:251:13: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v0 = VXOR(VLOADU(p), M128I_TO_VEC(x0)); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:251:24: error: always_inline function '_mm512_castsi128_si512' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' v0 = VXOR(VLOADU(p), M128I_TO_VEC(x0)); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:95:27: note: expanded from macro 'M128I_TO_VEC' # define M128I_TO_VEC(a) _mm512_castsi128_si512(a) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:251:24: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v0 = VXOR(VLOADU(p), M128I_TO_VEC(x0)); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:95:27: note: expanded from macro 'M128I_TO_VEC' # define M128I_TO_VEC(a) _mm512_castsi128_si512(a) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:251:8: error: always_inline function '_mm512_xor_si512' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' v0 = VXOR(VLOADU(p), M128I_TO_VEC(x0)); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:94:23: note: expanded from macro 'VXOR' # define VXOR(a, b) _mm512_xor_si512((a), (b)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:251:8: error: AVX vector argument of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v0 = VXOR(VLOADU(p), M128I_TO_VEC(x0)); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:94:23: note: expanded from macro 'VXOR' # define VXOR(a, b) _mm512_xor_si512((a), (b)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:256:8: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' v1 = VLOADU(p + 1*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:256:8: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v1 = VLOADU(p + 1*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:261:8: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' v2 = VLOADU(p + 2*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:261:8: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'evex512' enabled changes the ABI v2 = VLOADU(p + 2*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:262:8: error: always_inline function '_mm512_loadu_si512' requires target feature 'evex512', but would be inlined into function 'crc32_x86_vpclmulqdq_avx512_vl512' that is compiled without support for 'evex512' v3 = VLOADU(p + 3*VL); ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/crc32.c:228: # include "x86/crc32_impl.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126:12: note: in file included from /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_impl.h:126: # include "crc32_pclmul_template.h" ^ /home/lambdadog/.cache/zig/p/12203648ce8079997389a2bd39f847ae9dad666594173d499a061e813234c4c8a942/lib/x86/crc32_pclmul_template.h:93:22: note: expanded from macro 'VLOADU' # define VLOADU(p) _mm512_loadu_si512((const void *)(p)) ```