> 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.




Reply via email to