> Am 24.05.2025 um 01:37 schrieb Pádraig Brady <p...@draigbrady.com>: > > I suspect the following will avoid the issue:
It does not: /usr/bin/clang -I. -I./lib -Ilib -I./lib -Isrc -I./src -I/opt/local/include -mavx -mpclmul -Wno-format-extra-args -Wno-tautological-constant-out-of-range-compare -pipe -Os -arch x86_64 -MT src/libcksum_pclmul_a-cksum_pclmul.o -MD -MP -MF src/.deps/libcksum_pclmul_a-cksum_pclmul.Tpo -c -o src/libcksum_pclmul_a-cksum_pclmul.o `test -f 'src/cksum_pclmul.c' || echo './'`src/cksum_pclmul.c src/cksum.c:190:30: error: invalid cpu feature string for builtin bool avx512_enabled = (0 < __builtin_cpu_supports ("vpclmulqdq") ^ ~~~~~~~~~~~~ 1 error generated. make[2]: *** [src/cksum-cksum.o] Error 1 I then set GCC 14 as compiler to build (instead of Clang 17.0.6). The result is: mv -f src/.deps/libcksum_avx2_a-cksum_avx2.Tpo src/.deps/libcksum_avx2_a-cksum_avx2.Po depbase=`echo src/ls-dir.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ /opt/local/bin/gcc-mp-14 -I. -I./lib -Ilib -I./lib -Isrc -I./src -I/opt/local/include -pipe -Os -arch x86_64 -MT src/ls-dir.o -MD -MP -MF $depbase.Tpo -c -o src/ls-dir.o src/ls-dir.c &&\ mv -f $depbase.Tpo $depbase.Po <stdin>:59:2: error: instruction requires: AVX-512 ISA vmovdqa64 lC0(%rip), %zmm0 ^ <stdin>:62:2: error: instruction requires: AVX-512 ISA vmovdqa64 lC2(%rip), %zmm7 ^ <stdin>:63:2: error: instruction requires: AVX-512 ISA vmovdqa64 lC1(%rip), %zmm2 ^ <stdin>:78:2: error: instruction requires: AVX-512 ISA vmovdqa64 64(%rsp), %zmm3 ^ <stdin>:82:2: error: instruction requires: AVX-512 ISA vmovdqa64 128(%rsp), %zmm10 ^ <stdin>:85:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm3, %zmm3 ^ <stdin>:86:2: error: instruction requires: AVX-512 ISA vmovdqa64 192(%rsp), %zmm9 ^ <stdin>:87:2: error: instruction requires: AVX-512 ISA vpxord %zmm3, %zmm1, %zmm1 ^ <stdin>:88:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm10, %zmm10 ^ <stdin>:89:2: error: instruction requires: AVX-512 ISA vmovdqa64 256(%rsp), %zmm8 ^ <stdin>:90:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm9, %zmm9 ^ <stdin>:91:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm8, %zmm8 ^ <stdin>:93:2: error: instruction requires: AVX-512 ISA vpclmulqdq $0, %zmm2, %zmm1, %zmm5 ^ <stdin>:95:2: error: instruction requires: AVX-512 ISA vmovdqa64 256(%rdi), %zmm6 ^ <stdin>:97:2: error: instruction requires: AVX-512 ISA vpclmulqdq $17, %zmm2, %zmm1, %zmm1 ^ <stdin>:99:2: error: instruction requires: AVX-512 ISA vpclmulqdq $0, %zmm2, %zmm10, %zmm4 ^ <stdin>:100:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm6, %zmm6 ^ <stdin>:101:2: error: instruction requires: AVX-512 ISA vpclmulqdq $17, %zmm2, %zmm10, %zmm10 ^ <stdin>:102:2: error: instruction requires: AVX-512 ISA vpclmulqdq $0, %zmm2, %zmm9, %zmm3 ^ <stdin>:103:2: error: instruction requires: AVX-512 ISA vpclmulqdq $17, %zmm2, %zmm9, %zmm9 ^ <stdin>:104:2: error: instruction requires: AVX-512 ISA vpclmulqdq $0, %zmm2, %zmm8, %zmm11 ^ <stdin>:105:2: error: instruction requires: AVX-512 ISA vpternlogd $150, %zmm1, %zmm5, %zmm6 ^ <stdin>:106:2: error: instruction requires: AVX-512 ISA vpclmulqdq $17, %zmm2, %zmm8, %zmm8 ^ <stdin>:107:2: error: instruction requires: AVX-512 ISA vmovdqa64 64(%rdi), %zmm5 ^ <stdin>:108:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm6, %zmm1 ^ <stdin>:109:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm5, %zmm5 ^ <stdin>:110:2: error: instruction requires: AVX-512 ISA vpternlogd $150, %zmm10, %zmm4, %zmm5 ^ <stdin>:111:2: error: instruction requires: AVX-512 ISA vmovdqa64 128(%rdi), %zmm4 ^ <stdin>:112:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm5, %zmm10 ^ <stdin>:113:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm4, %zmm4 ^ <stdin>:114:2: error: instruction requires: AVX-512 ISA vpternlogd $150, %zmm9, %zmm3, %zmm4 ^ <stdin>:115:2: error: instruction requires: AVX-512 ISA vmovdqa64 192(%rdi), %zmm3 ^ <stdin>:116:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm4, %zmm9 ^ <stdin>:117:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm3, %zmm3 ^ <stdin>:118:2: error: instruction requires: AVX-512 ISA vpternlogd $150, %zmm11, %zmm8, %zmm3 ^ <stdin>:119:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm3, %zmm8 ^ <stdin>:122:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm6, %zmm6 ^ <stdin>:124:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm5, %zmm5 ^ <stdin>:126:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm4, %zmm4 ^ <stdin>:127:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm3, %zmm3 ^ <stdin>:132:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm6, (%rax) ^ <stdin>:133:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm5, 64(%rax) ^ <stdin>:134:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm4, 128(%rax) ^ <stdin>:135:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm3, 192(%rax) ^ <stdin>:137:2: error: instruction requires: AVX-512 ISA vmovdqa64 (%rax), %zmm3 ^ <stdin>:143:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm3, %zmm3 ^ <stdin>:144:2: error: instruction requires: AVX-512 ISA vpxord %zmm3, %zmm1, %zmm1 ^ <stdin>:146:2: error: instruction requires: AVX-512 ISA vpclmulqdq $0, %zmm7, %zmm1, %zmm4 ^ <stdin>:147:2: error: instruction requires: AVX-512 ISA vmovdqa64 64(%rax,%rsi), %zmm3 ^ <stdin>:150:2: error: instruction requires: AVX-512 ISA vpclmulqdq $17, %zmm7, %zmm1, %zmm1 ^ <stdin>:153:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm3, %zmm3 ^ <stdin>:154:2: error: instruction requires: AVX-512 ISA vpternlogd $150, %zmm1, %zmm4, %zmm3 ^ <stdin>:155:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm3, %zmm1 ^ <stdin>:159:2: error: instruction requires: AVX-512 BW ISA vpshufb %zmm0, %zmm3, %zmm3 ^ <stdin>:166:2: error: instruction requires: AVX-512 ISA vmovdqa64 %zmm3, (%rax) ^ make[2]: *** [src/libcksum_avx512_a-cksum_avx512.o] Error 1 Is this more of an assembler problem? Installed are: /usr/bin/as Apple LLVM version 10.0.0 (clang-1000.11.45.5) /opt/local/bin/nasm NASM version 2.16.03 compiled on May 17 2024 /opt/local/bin/yasm yasm 1.3.0 no gas To determine which assembler is used I added "-Wa,-v" to CFLAGS and got: Apple LLVM version 10.0.0 (clang-1000.10.44.4) Target: x86_64-apple-darwin17.7.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin -- Greetings Pete The human brain operates at only 10% of its capacity. The rest is overhead for the operating system.