Implementation notes: amd64, h6sandy, crypto_hashblocks/sha512

Computer: h6sandy
Microarchitecture: amd64; Sandy Bridge (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hashblocks
Primitive: sha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
172294772 0 016883 844 896compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
173235076 0 019131 844 896compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
173884388 0 014811 844 896compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
176973782 0 013773 836 896wflipclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
177473398 0 015491 844 896wflipclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
179823398 0 017435 844 896wflipclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
181313563 0 013955 844 896wflipclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
184164385 0 014461 836 896compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1863718307 0 028341 836 896refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1894118493 0 028533 836 896inplaceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1908919076 0 031147 844 896refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1913119076 0 029459 844 896refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1914219076 0 033091 844 896refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2004019386 0 033411 844 896inplaceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2006119386 0 031467 844 896inplaceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2007419386 0 029779 844 896inplaceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
201103691 0 013696 780 928wflipgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
201216256 0 018973 804 960compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
203214900 0 017547 844 896compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
203354454 0 015941 804 960compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2040716145 0 026192 780 928inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2046216135 0 026176 780 928refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
208583394 0 016011 844 896wflipclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2097616973 0 029637 804 960refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2101817065 0 029765 804 960inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
212073720 0 015133 804 960wflipgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
212231642 0 013739 844 896compact4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
213163794 0 016429 804 960wflipgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
213964461 0 014544 780 928compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
214461247 0 011651 844 896compact4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
214513628 0 014684 796 960wflipgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
217011359 0 011413 836 896compact4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2172616280 0 027725 804 960inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
217924576 0 015732 796 960compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2191816455 0 027869 804 960refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
219742017 0 016051 844 896compact4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2217318323 0 030931 844 896refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2277116444 0 027564 796 960inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2287316524 0 027612 796 960refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2302318633 0 031251 844 896inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
235323529 0 016245 804 960compact4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
236461396 0 011472 780 928compact4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
240341529 0 013013 804 960compact4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
242252006 0 014627 844 896compact4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
265451546 0 012692 796 960compact4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
271762255 0 014355 844 896compact2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
272561871 0 012283 844 896compact2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
275973343 0 017379 844 896compact2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
281051520 0 011581 836 896compact2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
287391647 0 013739 844 896compact3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
289181343 0 011747 844 896compact3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
293462022 0 016051 844 896compact3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
299721345 0 011397 836 896compact3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
312793322 0 015955 844 896compact2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
323882013 0 014643 844 896compact3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
347433544 0 016269 804 960compact2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
353951774 0 013261 804 960compact2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
360581752 0 011832 780 928compact2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
362353653 0 016357 804 960compact3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
363461521 0 011584 780 928compact3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
364161698 0 013189 804 960compact3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
377441873 0 013036 796 960compact2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
382171693 0 012836 796 960compact3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

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: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: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: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:105: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: D4 = _mm256_add_epi64(X4,D4);
inner.c: ^
inner.c: inner.c:113: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: X8 = _mm256_shuffle_epi8(X8,bigendian64);
inner.c: ^
inner.c: inner.c:115: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: D8 = _mm256_add_epi64(X8,D8);
inner.c: ^
inner.c: inner.c:126:15: 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: X12 = _mm256_shuffle_epi8(X12,bigendian64);
inner.c: ^
inner.c: inner.c:128:15: 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: D12 = _mm256_add_epi64(X12,D12);
inner.c: ^
inner.c: inner.c:145:11: error: always_inline function '_mm256_srli_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: ...

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 'avx', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx'
inner.c: X0 = _mm256_loadu_si256((void *) (in+0));
inner.c: ^
inner.c: inner.c:94:14: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
inner.c: inner.c:95:37: error: always_inline function '_mm256_set_epi8' requires target feature 'avx', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx'
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:95:37: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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: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:14: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
inner.c: inner.c:96:14: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx'
inner.c: D0 = _mm256_loadu_si256((void *) &constants[0]);
inner.c: ^
inner.c: inner.c:96:14: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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: ...

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: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
inner.c: from inner.c:1:
inner.c: inner.c: In function 'crypto_hashblocks_sha512_avx_constbranchindex_inner':
inner.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:126:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi64': target specific option mismatch
inner.c: 126 | _mm256_add_epi64 (__m256i __A, __m256i __B)
inner.c: | ^~~~~~~~~~~~~~~~
inner.c: inner.c:128:15: note: called from here
inner.c: 128 | D12 = _mm256_add_epi64(X12,D12);
inner.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:588:1: error: inlining failed in call to 'always_inline' '_mm256_shuffle_epi8': target specific option mismatch
inner.c: 588 | _mm256_shuffle_epi8 (__m256i __X, __m256i __Y)
inner.c: | ^~~~~~~~~~~~~~~~~~~
inner.c: inner.c:126:15: note: called from here
inner.c: 126 | X12 = _mm256_shuffle_epi8(X12,bigendian64);
inner.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:126:1: error: inlining failed in call to 'always_inline' '_mm256_add_epi64': target specific option mismatch
inner.c: 126 | _mm256_add_epi64 (__m256i __A, __m256i __B)
inner.c: | ^~~~~~~~~~~~~~~~
inner.c: inner.c:115:14: note: called from here
inner.c: 115 | D8 = _mm256_add_epi64(X8,D8);
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: /usr/bin/ld: 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: /usr/bin/ld: 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: /usr/bin/ld: 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: /usr/bin/ld: 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: /usr/bin/ld: 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: /usr/bin/ld: 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