Implementation notes: amd64, hedera, crypto_hashblocks/sha512

Computer: hedera
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20210326
Operation: crypto_hashblocks
Primitive: sha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
138913032 0 012960 804 888wflipclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
139833120 0 018298 812 920wflipclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
139953120 0 016602 812 920wflipclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
140043120 0 016602 812 920wflipclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
145244884 0 017103 828 920compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
147155943 0 021146 812 920compactclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
149055623 0 019130 812 920compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
149945623 0 019130 812 920compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
152053536 0 016658 812 888wflipclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
154363501 0 015663 828 920wflipgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
154483425 0 014062 820 920wflipgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
154525140 0 018290 812 888compactclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
155034273 0 014248 804 888compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1560016341 0 025802 804 920refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1580416399 0 025850 804 920inplacegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
158243386 0 013822 820 920wflipgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
158764406 0 013906 804 920compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
159094492 0 015190 820 920compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
160473359 0 012818 804 920wflipgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1630916313 0 028487 828 920refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1639118074 0 028032 804 888inplaceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1649618161 0 028112 804 888refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1657218729 0 032226 812 920inplaceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1658218729 0 033922 812 920inplaceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1659018729 0 032226 812 920inplaceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1662218724 0 033906 812 920refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
166234541 0 015046 820 920compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1662718724 0 032210 812 920refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1665118724 0 032210 812 920refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1684516514 0 028711 828 920inplacegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1704416703 0 027358 820 920inplacegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1724116735 0 027358 820 920refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
1732917971 0 031098 812 888refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1737317976 0 031098 812 888inplaceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1787716949 0 027422 820 920inplacegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
179002691 0 016178 812 920compact4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
1799716943 0 027374 820 920refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
179982032 0 015162 812 888compact4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
180511969 0 014167 828 920compact4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
181682691 0 016178 812 920compact4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
185211466 0 012158 820 920compact4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
185853009 0 018194 812 920compact4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
189191452 0 011408 804 888compact4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
191191313 0 010794 804 920compact4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
219011455 0 011950 820 920compact4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
248552650 0 015794 812 888compact2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
248803328 0 016826 812 920compact2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
249033328 0 016826 812 920compact2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
249043664 0 018858 812 920compact2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
256681607 0 011576 804 888compact2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
259732072 0 015194 812 888compact3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
263353023 0 018210 812 920compact3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
266992694 0 016178 812 920compact3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
267092694 0 016178 812 920compact3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
268471422 0 011376 804 888compact3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021012620210114
269652164 0 014383 828 920compact2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
278121684 0 011186 804 920compact2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
281551772 0 012470 820 920compact2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
286561990 0 014183 828 920compact3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
289191469 0 010954 804 920compact3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
290231660 0 012350 820 920compact3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
293551817 0 012326 820 920compact2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114
300391606 0 012094 820 920compact3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021012620210114

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

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: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 '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: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: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 'avx', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx'
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 'avx', but would be inlined into function 'crypto_hashblocks_sha512_avx_constbranchindex_inner' that is compiled without support for 'avx'
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/8/include/immintrin.h:43,
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/8/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:15: 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/8/include/immintrin.h:43,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/8/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: inner.c:126:15: note: called from here
inner.c: X12 = _mm256_shuffle_epi8(X12,bigendian64);
inner.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
inner.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/8/include/immintrin.h:43,
inner.c: from inner.c:1:
inner.c: /usr/lib/gcc/x86_64-linux-gnu/8/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:115:14: note: called from here
inner.c: 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: crypto_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: crypto_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: crypto_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: crypto_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: crypto_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: crypto_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