Implementation notes: amd64, margaux, crypto_hashblocks/sha512

Computer: margaux
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20210604
Operation: crypto_hashblocks
Primitive: sha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
184775405 0 018665 804 952compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
187063637 0 014512 796 952wflipgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021053020210529
1878216466 0 026388 780 920inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
1886816408 0 026324 780 920refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
191753446 0 016649 804 952wflipgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021053020210529
193304438 0 014396 780 920compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
193853328 0 016220 804 888wflipclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
193853328 0 014876 804 888wflipclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
193893237 0 012858 796 888wflipclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
193903328 0 014876 804 888wflipclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
193974541 0 015488 796 952compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
195453581 0 016284 804 888wflipclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021053020210529
1978716974 0 030225 804 952inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
198123588 0 014384 796 952wflipgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021053020210529
1986517084 0 030305 804 952refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
1993917146 0 026786 796 888refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1998517246 0 026882 796 888inplaceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
201444574 0 015456 796 952compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
2037617313 0 028208 796 952inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
203903672 0 013588 780 920wflipgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021053020210529
2040017268 0 028128 796 952refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
205544986 0 016556 804 888compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
209605114 0 018028 804 888compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
211262020 0 014924 804 888compact4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2113116763 0 027600 796 952inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
211392020 0 014732 804 888compact4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
212244986 0 016556 804 888compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
212845108 0 017836 804 888compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2147116840 0 027648 796 952refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
216474455 0 014106 796 888compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2201018697 0 030252 804 888inplaceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2201018697 0 031596 804 888inplaceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2201018697 0 030252 804 888inplaceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2201218697 0 031404 804 888inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2201318692 0 031404 804 888refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2202518692 0 030252 804 888refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2203218692 0 030252 804 888refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
2206018692 0 031596 804 888refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
222141937 0 013500 804 888compact4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
222381937 0 013500 804 888compact4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
233941365 0 011010 796 888compact4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
237391514 0 012440 796 952compact4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
238911406 0 011348 780 920compact4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
260061493 0 012344 796 952compact4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
260282626 0 015873 804 952compact4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
315122478 0 014044 804 888compact2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
315282478 0 014044 804 888compact2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
316202622 0 015532 804 888compact2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
316532623 0 015340 804 888compact2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
325831595 0 011250 796 888compact2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
326292992 0 016249 804 952compact2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
327351914 0 013468 804 888compact3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
327591914 0 013468 804 888compact3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
330602055 0 014764 804 888compact3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
331542053 0 014956 804 888compact3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
333281733 0 012680 796 952compact2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
335451629 0 011588 780 920compact2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
337091421 0 011058 796 888compact3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
351271774 0 012648 796 952compact2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
357782676 0 015921 804 952compact3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
359471500 0 011444 780 920compact3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
365141700 0 012632 796 952compact3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
384481657 0 012520 796 952compact3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423

Test failure

Implementation: avx2
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner.c: inner.c:94:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: X0 = _mm256_loadu_si256((void *) (in+0));
inner.c: ^
inner.c: inner.c:95:14: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: X0 = _mm256_shuffle_epi8(X0,bigendian64);
inner.c: ^
inner.c: inner.c:95:37: error: always_inline function '_mm256_set_epi8' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: X0 = _mm256_shuffle_epi8(X0,bigendian64);
inner.c: ^
inner.c: inner.c:32:21: note: expanded from macro 'bigendian64'
inner.c: #define bigendian64 _mm256_set_epi8(8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7)
inner.c: ^
inner.c: inner.c:96:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: D0 = _mm256_loadu_si256((void *) &constants[0]);
inner.c: ^
inner.c: inner.c:97:14: error: always_inline function '_mm256_add_epi64' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: D0 = _mm256_add_epi64(X0,D0);
inner.c: ^
inner.c: inner.c:102:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: X4 = _mm256_loadu_si256((void *) (in+32));
inner.c: ^
inner.c: inner.c:103:14: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: X4 = _mm256_shuffle_epi8(X4,bigendian64);
inner.c: ^
inner.c: inner.c:103:37: error: always_inline function '_mm256_set_epi8' requires target feature 'xsave', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'xsave'
inner.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
inner.c: inner.c:94:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'sse4.2'
inner.c: X0 = _mm256_loadu_si256((void *) (in+0));
inner.c: ^
inner.c: inner.c:95:14: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx2'
inner.c: X0 = _mm256_shuffle_epi8(X0,bigendian64);
inner.c: ^
inner.c: inner.c:95:37: error: always_inline function '_mm256_set_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'sse4.2'
inner.c: X0 = _mm256_shuffle_epi8(X0,bigendian64);
inner.c: ^
inner.c: inner.c:32:21: note: expanded from macro 'bigendian64'
inner.c: #define bigendian64 _mm256_set_epi8(8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7)
inner.c: ^
inner.c: inner.c:96:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'sse4.2'
inner.c: D0 = _mm256_loadu_si256((void *) &constants[0]);
inner.c: ^
inner.c: inner.c:97:14: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx2'
inner.c: D0 = _mm256_add_epi64(X0,D0);
inner.c: ^
inner.c: inner.c:102:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'sse4.2'
inner.c: X4 = _mm256_loadu_si256((void *) (in+32));
inner.c: ^
inner.c: inner.c:103:14: error: always_inline function '_mm256_shuffle_epi8' requires target feature 'avx2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx2'
inner.c: X4 = _mm256_shuffle_epi8(X4,bigendian64);
inner.c: ^
inner.c: inner.c:103:37: error: always_inline function '_mm256_set_epi8' requires target feature 'sse4.2', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'sse4.2'
inner.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx

Compiler output

Implementation: avx
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
inner.c: inner.c: In function 'crypto_hashblocks_sha512_avx_constbranchindex_inner':
inner.c: inner.c:94:12: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
inner.c: X0 = _mm256_loadu_si256((void *) (in+0));
inner.c: ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:126:1: error: inlining failed in call to always_inline '_mm256_add_epi64': target specific option mismatch
inner.c: _mm256_add_epi64 (__m256i __A, __m256i __B)
inner.c: ^~~~~~~~~~~~~~~~
inner.c: inner.c:128:13: note: called from here
inner.c: D12 = _mm256_add_epi64(X12,D12);
inner.c: ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:920:1: error: inlining failed in call to always_inline '_mm256_loadu_si256': target specific option mismatch
inner.c: _mm256_loadu_si256 (__m256i_u const *__P)
inner.c: ^~~~~~~~~~~~~~~~~~
inner.c: inner.c:127:13: note: called from here
inner.c: D12 = _mm256_loadu_si256((void *) &constants[12]);
inner.c: ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:588:1: error: inlining failed in call to always_inline '_mm256_shuffle_epi8': target specific option mismatch
inner.c: _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
inner.c: ^~~~~~~~~~~~~~~~~~~
inner.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx

Compiler output

Implementation: dolbeau/intelavx2rorxasm
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: libcrypto_hashblocks_sha512.a(blocks.o): In function `crypto_hashblocks_sha512_dolbeau_intelavx2rorxasm_constbranchindex':
try.c: blocks.c:(.text+0x...): undefined reference to `sha512_rorx'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavx2rorxasm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavx2rorxasm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavx2rorxasm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavx2rorxasm
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavx2rorxasm

Compiler output

Implementation: dolbeau/intelavx2rorxasm
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: libcrypto_hashblocks_sha512.a(blocks.o): In function `crypto_hashblocks_sha512_dolbeau_intelavx2rorxasm_constbranchindex':
try.c: blocks.c:(.text+0x...): undefined reference to `sha512_rorx'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavx2rorxasm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavx2rorxasm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavx2rorxasm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavx2rorxasm

Compiler output

Implementation: dolbeau/intelavxasm
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: libcrypto_hashblocks_sha512.a(blocks.o): In function `crypto_hashblocks_sha512_dolbeau_intelavxasm_constbranchindex':
try.c: blocks.c:(.text+0x...): undefined reference to `sha512_avx'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavxasm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavxasm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavxasm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavxasm
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelavxasm

Compiler output

Implementation: dolbeau/intelavxasm
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: libcrypto_hashblocks_sha512.a(blocks.o): In function `crypto_hashblocks_sha512_dolbeau_intelavxasm_constbranchindex':
try.c: blocks.c:(.text+0x...): undefined reference to `sha512_avx'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavxasm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavxasm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavxasm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelavxasm

Compiler output

Implementation: dolbeau/intelsse4asm
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: libcrypto_hashblocks_sha512.a(blocks.o): In function `crypto_hashblocks_sha512_dolbeau_intelsse4asm_constbranchindex':
try.c: blocks.c:(.text+0x...): undefined reference to `sha512_sse4'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelsse4asm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelsse4asm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelsse4asm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelsse4asm
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/intelsse4asm

Compiler output

Implementation: dolbeau/intelsse4asm
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: libcrypto_hashblocks_sha512.a(blocks.o): In function `crypto_hashblocks_sha512_dolbeau_intelsse4asm_constbranchindex':
try.c: blocks.c:(.text+0x...): undefined reference to `sha512_sse4'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelsse4asm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelsse4asm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelsse4asm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE dolbeau/intelsse4asm